w-benutzer.w 28 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777
  1. &ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2
  2. &ANALYZE-RESUME
  3. &Scoped-define WINDOW-NAME wBenutzer
  4. {adecomm/appserv.i}
  5. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS wBenutzer
  6. /*------------------------------------------------------------------------
  7. File:
  8. Description: from cntnrwin.w - ADM SmartWindow Template
  9. Input Parameters:
  10. <none>
  11. Output Parameters:
  12. <none>
  13. History: New V9 Version - January 15, 1998
  14. ------------------------------------------------------------------------*/
  15. /* This .W file was created with the Progress AB. */
  16. /*----------------------------------------------------------------------*/
  17. /* Create an unnamed pool to store all the widgets created
  18. by this procedure. This is a good default which assures
  19. that this procedure's triggers and internal procedures
  20. will execute in this procedure's storage, and that proper
  21. cleanup will occur on deletion of the procedure. */
  22. CREATE WIDGET-POOL.
  23. /* *************************** Definitions ************************** */
  24. /* Parameters Definitions --- */
  25. /* Local Variable Definitions --- */
  26. { incl/windefinition.i }
  27. {src/adm2/widgetprto.i}
  28. /* _UIB-CODE-BLOCK-END */
  29. &ANALYZE-RESUME
  30. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  31. /* ******************** Preprocessor Definitions ******************** */
  32. &Scoped-define PROCEDURE-TYPE SmartWindow
  33. &Scoped-define DB-AWARE no
  34. &Scoped-define ADM-CONTAINER WINDOW
  35. &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Data-Source,Page-Target,Update-Source,Update-Target,Filter-target,Filter-Source
  36. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  37. &Scoped-define FRAME-NAME fMain
  38. /* Standard List Definitions */
  39. &Scoped-Define ENABLED-OBJECTS Btn_Suchen
  40. /* Custom List Definitions */
  41. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  42. /* _UIB-PREPROCESSOR-BLOCK-END */
  43. &ANALYZE-RESUME
  44. /* ************************ Function Prototypes ********************** */
  45. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD getProgname wBenutzer
  46. FUNCTION getProgname RETURNS CHARACTER
  47. ( /* parameter-definitions */ ) FORWARD.
  48. /* _UIB-CODE-BLOCK-END */
  49. &ANALYZE-RESUME
  50. /* *********************** Control Definitions ********************** */
  51. /* Define the widget handle for the window */
  52. DEFINE VAR wBenutzer AS WIDGET-HANDLE NO-UNDO.
  53. /* Definitions of handles for SmartObjects */
  54. DEFINE VARIABLE h_b-benutzer AS HANDLE NO-UNDO.
  55. DEFINE VARIABLE h_b-berecht AS HANDLE NO-UNDO.
  56. DEFINE VARIABLE h_b-feldberecht AS HANDLE NO-UNDO.
  57. DEFINE VARIABLE h_d-benutzer AS HANDLE NO-UNDO.
  58. DEFINE VARIABLE h_d-berecht AS HANDLE NO-UNDO.
  59. DEFINE VARIABLE h_d-feldberecht AS HANDLE NO-UNDO.
  60. DEFINE VARIABLE h_dyntoolbar AS HANDLE NO-UNDO.
  61. DEFINE VARIABLE h_folder AS HANDLE NO-UNDO.
  62. DEFINE VARIABLE h_v-benutzer AS HANDLE NO-UNDO.
  63. DEFINE VARIABLE h_v-berecht AS HANDLE NO-UNDO.
  64. /* Definitions of the field level widgets */
  65. DEFINE BUTTON Btn_Suchen
  66. IMAGE-UP FILE "grafik/select.bmp":U
  67. IMAGE-DOWN FILE "grafik/select.bmp":U
  68. LABEL "Suchen"
  69. SIZE 4 BY .95.
  70. /* ************************ Frame Definitions *********************** */
  71. DEFINE FRAME fMain
  72. Btn_Suchen AT ROW 1.19 COL 69.4 WIDGET-ID 2
  73. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY
  74. SIDE-LABELS NO-UNDERLINE THREE-D
  75. AT COL 1 ROW 1
  76. SIZE 99.2 BY 21.91 WIDGET-ID 100.
  77. /* *********************** Procedure Settings ************************ */
  78. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  79. /* Settings for THIS-PROCEDURE
  80. Type: SmartWindow
  81. Allow: Basic,Browse,DB-Fields,Query,Smart,Window
  82. Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target,Filter-target,Filter-Source
  83. Design Page: 1
  84. Other Settings: COMPILE APPSERVER
  85. */
  86. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  87. /* ************************* Create Window ************************** */
  88. &ANALYZE-SUSPEND _CREATE-WINDOW
  89. IF SESSION:DISPLAY-TYPE = "GUI":U THEN
  90. CREATE WINDOW wBenutzer ASSIGN
  91. HIDDEN = YES
  92. TITLE = "Benutzerverwaltung"
  93. HEIGHT = 21.91
  94. WIDTH = 99.2
  95. MAX-HEIGHT = 30.48
  96. MAX-WIDTH = 160
  97. VIRTUAL-HEIGHT = 30.48
  98. VIRTUAL-WIDTH = 160
  99. RESIZE = no
  100. SCROLL-BARS = no
  101. STATUS-AREA = no
  102. BGCOLOR = ?
  103. FGCOLOR = ?
  104. THREE-D = yes
  105. MESSAGE-AREA = no
  106. SENSITIVE = yes.
  107. ELSE {&WINDOW-NAME} = CURRENT-WINDOW.
  108. &IF '{&WINDOW-SYSTEM}' NE 'TTY' &THEN
  109. IF NOT wBenutzer:LOAD-ICON("grafik/appl.ico":U) THEN
  110. MESSAGE "Unable to load icon: grafik/appl.ico"
  111. VIEW-AS ALERT-BOX WARNING BUTTONS OK.
  112. &ENDIF
  113. /* END WINDOW DEFINITION */
  114. &ANALYZE-RESUME
  115. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB wBenutzer
  116. /* ************************* Included-Libraries *********************** */
  117. {src/adm2/containr.i}
  118. /* _UIB-CODE-BLOCK-END */
  119. &ANALYZE-RESUME
  120. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  121. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  122. /* SETTINGS FOR WINDOW wBenutzer
  123. VISIBLE,,RUN-PERSISTENT */
  124. /* SETTINGS FOR FRAME fMain
  125. FRAME-NAME */
  126. ASSIGN
  127. Btn_Suchen:AUTO-RESIZE IN FRAME fMain = TRUE.
  128. IF SESSION:DISPLAY-TYPE = "GUI":U AND VALID-HANDLE(wBenutzer)
  129. THEN wBenutzer:HIDDEN = yes.
  130. /* _RUN-TIME-ATTRIBUTES-END */
  131. &ANALYZE-RESUME
  132. /* ************************ Control Triggers ************************ */
  133. &Scoped-define SELF-NAME wBenutzer
  134. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL wBenutzer wBenutzer
  135. ON END-ERROR OF wBenutzer /* Benutzerverwaltung */
  136. OR ENDKEY OF {&WINDOW-NAME} ANYWHERE DO:
  137. /* This case occurs when the user presses the "Esc" key.
  138. In a persistently run window, just ignore this. If we did not, the
  139. application would exit. */
  140. IF THIS-PROCEDURE:PERSISTENT THEN RETURN NO-APPLY.
  141. /* ****************************** */
  142. RUN ENDE.
  143. RETURN NO-APPLY.
  144. /* ****************************** */
  145. END.
  146. /* _UIB-CODE-BLOCK-END */
  147. &ANALYZE-RESUME
  148. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL wBenutzer wBenutzer
  149. ON WINDOW-CLOSE OF wBenutzer /* Benutzerverwaltung */
  150. DO:
  151. /* This ADM code must be left here in order for the SmartWindow
  152. and its descendents to terminate properly on exit. */
  153. RUN ENDE.
  154. RETURN NO-APPLY.
  155. END.
  156. /* _UIB-CODE-BLOCK-END */
  157. &ANALYZE-RESUME
  158. &Scoped-define SELF-NAME Btn_Suchen
  159. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Suchen wBenutzer
  160. ON CHOOSE OF Btn_Suchen IN FRAME fMain /* Suchen */
  161. DO:
  162. RUN FINDEN NO-ERROR.
  163. RETURN NO-APPLY.
  164. END.
  165. /* _UIB-CODE-BLOCK-END */
  166. &ANALYZE-RESUME
  167. &UNDEFINE SELF-NAME
  168. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK wBenutzer
  169. /* *************************** Main Block *************************** */
  170. { incl/winmainblock.i }
  171. MaxSeite = 3.
  172. {src/adm2/windowmn.i}
  173. ON 'ALT-F':U, 'CTRL-F':U OF {&WINDOW-NAME} ANYWHERE
  174. DO:
  175. RUN FINDEN NO-ERROR.
  176. RETURN NO-APPLY.
  177. END.
  178. /* _UIB-CODE-BLOCK-END */
  179. &ANALYZE-RESUME
  180. /* ********************** Internal Procedures *********************** */
  181. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects wBenutzer _ADM-CREATE-OBJECTS
  182. PROCEDURE adm-create-objects :
  183. /*------------------------------------------------------------------------------
  184. Purpose: Create handles for all SmartObjects used in this procedure.
  185. After SmartObjects are initialized, then SmartLinks are added.
  186. Parameters: <none>
  187. ------------------------------------------------------------------------------*/
  188. DEFINE VARIABLE currentPage AS INTEGER NO-UNDO.
  189. ASSIGN currentPage = getCurrentPage().
  190. CASE currentPage:
  191. WHEN 0 THEN DO:
  192. RUN constructObject (
  193. INPUT 'd-benutzer.wDB-AWARE':U ,
  194. INPUT FRAME fMain:HANDLE ,
  195. INPUT 'AppServiceASInfoASUsePrompt?CacheDuration0CheckCurrentChangedyesDestroyStatelessyesDisconnectAppServernoServerOperatingModeNONEShareDatanoUpdateFromSourcenoForeignFieldsObjectNamed-benutzerOpenOnInityesPromptColumns(NONE)PromptOnDeletenoRowsToBatch200RebuildOnReposyesToggleDataTargetsyes':U ,
  196. OUTPUT h_d-benutzer ).
  197. RUN repositionObject IN h_d-benutzer ( 5.48 , 14.60 ) NO-ERROR.
  198. /* Size in AB: ( 4.00 , 25.60 ) */
  199. RUN constructObject (
  200. INPUT 'd-berecht.wDB-AWARE':U ,
  201. INPUT FRAME fMain:HANDLE ,
  202. INPUT 'AppServiceASInfoASUsePrompt?CacheDuration0CheckCurrentChangedyesDestroyStatelessyesDisconnectAppServernoServerOperatingModeNONEShareDatanoUpdateFromSourcenoForeignFieldsBerecht.Benutzer,BenutzerObjectNamed-berechtOpenOnInityesPromptColumns(NONE)PromptOnDeletenoRowsToBatch200RebuildOnReposyesToggleDataTargetsyes':U ,
  203. OUTPUT h_d-berecht ).
  204. RUN repositionObject IN h_d-berecht ( 5.19 , 55.80 ) NO-ERROR.
  205. /* Size in AB: ( 4.67 , 21.20 ) */
  206. RUN constructObject (
  207. INPUT 'd-feldberecht.wDB-AWARE':U ,
  208. INPUT FRAME fMain:HANDLE ,
  209. INPUT 'AppServiceASInfoASUsePrompt?CacheDuration0CheckCurrentChangedyesDestroyStatelessyesDisconnectAppServernoServerOperatingModeNONEShareDatanoUpdateFromSourcenoForeignFieldsFeldBerecht.Benutzer,Benutzer,FeldBerecht.Programm,Programm,FeldBerecht.Firma,MandantObjectNamed-feldberechtOpenOnInityesPromptColumns(NONE)PromptOnDeleteyesRowsToBatch200RebuildOnReposnoToggleDataTargetsyes':U ,
  210. OUTPUT h_d-feldberecht ).
  211. RUN repositionObject IN h_d-feldberecht ( 10.05 , 55.00 ) NO-ERROR.
  212. /* Size in AB: ( 4.67 , 21.60 ) */
  213. RUN constructObject (
  214. INPUT 'adm2/dyntoolbar.w':U ,
  215. INPUT FRAME fMain:HANDLE ,
  216. INPUT 'EdgePixels2DeactivateTargetOnHideyesDisabledActionsFlatButtonsyesMenunoShowBorderyesToolbaryesActionGroupsTableio,NavigationTableIOTypeUpdateSupportedLinksNavigation-source,Tableio-sourceToolbarBandsToolbarAutoSizenoToolbarDrawDirectionHorizontalLogicalObjectNameDisabledActionsHiddenActionsResetHiddenToolbarBandsHiddenMenuBandsMenuMergeOrder0RemoveMenuOnHidenoCreateSubMenuOnConflictyesNavigationTargetNameHideOnInitnoDisableOnInitnoObjectLayout':U ,
  217. OUTPUT h_dyntoolbar ).
  218. RUN repositionObject IN h_dyntoolbar ( 1.00 , 1.00 ) NO-ERROR.
  219. RUN resizeObject IN h_dyntoolbar ( 1.24 , 67.20 ) NO-ERROR.
  220. RUN constructObject (
  221. INPUT 'adm2/folder.w':U ,
  222. INPUT FRAME fMain:HANDLE ,
  223. INPUT 'FolderLabels':U + 'Benutzer|Berechtigung|Feldberechtigung' + 'FolderTabWidth0FolderFont-1HideOnInitnoDisableOnInitnoObjectLayout':U ,
  224. OUTPUT h_folder ).
  225. RUN repositionObject IN h_folder ( 2.33 , 1.00 ) NO-ERROR.
  226. RUN resizeObject IN h_folder ( 20.57 , 99.20 ) NO-ERROR.
  227. /* Links to SmartDataObject h_d-benutzer. */
  228. RUN addLink ( h_dyntoolbar , 'Navigation':U , h_d-benutzer ).
  229. /* Links to SmartDataObject h_d-berecht. */
  230. RUN addLink ( h_d-benutzer , 'Data':U , h_d-berecht ).
  231. /* Links to SmartDataObject h_d-feldberecht. */
  232. RUN addLink ( h_d-berecht , 'Data':U , h_d-feldberecht ).
  233. /* Links to SmartFolder h_folder. */
  234. RUN addLink ( h_folder , 'Page':U , THIS-PROCEDURE ).
  235. /* Adjust the tab order of the smart objects. */
  236. RUN adjustTabOrder ( h_dyntoolbar ,
  237. Btn_Suchen:HANDLE IN FRAME fMain , 'BEFORE':U ).
  238. RUN adjustTabOrder ( h_folder ,
  239. Btn_Suchen:HANDLE IN FRAME fMain , 'AFTER':U ).
  240. END. /* Page 0 */
  241. WHEN 1 THEN DO:
  242. RUN constructObject (
  243. INPUT 'b-benutzer.w':U ,
  244. INPUT FRAME fMain:HANDLE ,
  245. INPUT 'ScrollRemotenoNumDown0CalcWidthnoMaxWidth80FetchOnReposToEndyesUseSortIndicatoryesSearchFieldDataSourceNames?UpdateTargetNames?LogicalObjectNameHideOnInitnoDisableOnInitnoObjectLayout':U ,
  246. OUTPUT h_b-benutzer ).
  247. RUN repositionObject IN h_b-benutzer ( 4.00 , 3.00 ) NO-ERROR.
  248. RUN resizeObject IN h_b-benutzer ( 7.62 , 95.00 ) NO-ERROR.
  249. RUN constructObject (
  250. INPUT 'v-benutzer.w':U ,
  251. INPUT FRAME fMain:HANDLE ,
  252. INPUT 'EnabledObjFldsToDisable?ModifyFields(All)DataSourceNamesUpdateTargetNamesLogicalObjectNameLogicalObjectNamePhysicalObjectNameDynamicObjectnoRunAttributeHideOnInitnoDisableOnInitnoObjectLayout':U ,
  253. OUTPUT h_v-benutzer ).
  254. RUN repositionObject IN h_v-benutzer ( 12.00 , 3.00 ) NO-ERROR.
  255. /* Size in AB: ( 8.81 , 95.00 ) */
  256. /* Links to SmartDataBrowser h_b-benutzer. */
  257. RUN addLink ( h_d-benutzer , 'Data':U , h_b-benutzer ).
  258. /* Links to SmartDataViewer h_v-benutzer. */
  259. RUN addLink ( h_d-benutzer , 'Data':U , h_v-benutzer ).
  260. RUN addLink ( h_v-benutzer , 'Update':U , h_d-benutzer ).
  261. /* Adjust the tab order of the smart objects. */
  262. RUN adjustTabOrder ( h_b-benutzer ,
  263. h_folder , 'AFTER':U ).
  264. RUN adjustTabOrder ( h_v-benutzer ,
  265. h_d-feldberecht , 'AFTER':U ).
  266. END. /* Page 1 */
  267. WHEN 2 THEN DO:
  268. RUN constructObject (
  269. INPUT 'b-berecht.w':U ,
  270. INPUT FRAME fMain:HANDLE ,
  271. INPUT 'ScrollRemotenoNumDown0CalcWidthnoMaxWidth80FetchOnReposToEndyesUseSortIndicatoryesSearchFieldDataSourceNames?UpdateTargetNames?LogicalObjectNameHideOnInitnoDisableOnInitnoObjectLayout':U ,
  272. OUTPUT h_b-berecht ).
  273. RUN repositionObject IN h_b-berecht ( 4.00 , 3.00 ) NO-ERROR.
  274. RUN resizeObject IN h_b-berecht ( 7.38 , 93.00 ) NO-ERROR.
  275. RUN constructObject (
  276. INPUT 'v-berecht.w':U ,
  277. INPUT FRAME fMain:HANDLE ,
  278. INPUT 'EnabledObjFldsToDisable?ModifyFields(All)DataSourceNamesUpdateTargetNamesLogicalObjectNameLogicalObjectNamePhysicalObjectNameDynamicObjectnoRunAttributeHideOnInitnoDisableOnInitnoObjectLayout':U ,
  279. OUTPUT h_v-berecht ).
  280. RUN repositionObject IN h_v-berecht ( 12.00 , 3.00 ) NO-ERROR.
  281. /* Size in AB: ( 10.24 , 93.00 ) */
  282. /* Links to SmartDataBrowser h_b-berecht. */
  283. RUN addLink ( h_d-berecht , 'Data':U , h_b-berecht ).
  284. /* Links to SmartDataViewer h_v-berecht. */
  285. RUN addLink ( h_d-berecht , 'Data':U , h_v-berecht ).
  286. RUN addLink ( h_v-berecht , 'Update':U , h_d-berecht ).
  287. /* Adjust the tab order of the smart objects. */
  288. RUN adjustTabOrder ( h_b-berecht ,
  289. h_folder , 'AFTER':U ).
  290. RUN adjustTabOrder ( h_v-berecht ,
  291. h_d-feldberecht , 'AFTER':U ).
  292. END. /* Page 2 */
  293. WHEN 3 THEN DO:
  294. RUN constructObject (
  295. INPUT 'b-feldberecht.w':U ,
  296. INPUT FRAME fMain:HANDLE ,
  297. INPUT 'ScrollRemotenoNumDown0CalcWidthnoMaxWidth80FetchOnReposToEndyesUseSortIndicatoryesSearchFieldDataSourceNames?UpdateTargetNames?LogicalObjectNameHideOnInitnoDisableOnInitnoObjectLayout':U ,
  298. OUTPUT h_b-feldberecht ).
  299. RUN repositionObject IN h_b-feldberecht ( 4.91 , 3.00 ) NO-ERROR.
  300. RUN resizeObject IN h_b-feldberecht ( 7.38 , 91.00 ) NO-ERROR.
  301. /* Links to SmartDataBrowser h_b-feldberecht. */
  302. RUN addLink ( h_d-feldberecht , 'Data':U , h_b-feldberecht ).
  303. /* Adjust the tab order of the smart objects. */
  304. RUN adjustTabOrder ( h_b-feldberecht ,
  305. h_folder , 'AFTER':U ).
  306. END. /* Page 3 */
  307. END CASE.
  308. END PROCEDURE.
  309. /* _UIB-CODE-BLOCK-END */
  310. &ANALYZE-RESUME
  311. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE BENUTZER_PROGRAMM wBenutzer
  312. PROCEDURE BENUTZER_PROGRAMM :
  313. /*------------------------------------------------------------------------------
  314. Purpose:
  315. Parameters: <none>
  316. Notes:
  317. ------------------------------------------------------------------------------*/
  318. DEF OUTPUT PARAMETER opcBenutzer AS CHAR NO-UNDO.
  319. DEF OUTPUT PARAMETER opcProgramm AS CHAR NO-UNDO.
  320. DEF VAR iRecid AS RECID NO-UNDO.
  321. iRecid = DYNAMIC-FUNCTION('getCurrentRecid':U IN h_d-berecht ) NO-ERROR.
  322. FIND Berecht NO-LOCK WHERE RECID(Berecht) = iRecid NO-ERROR.
  323. IF NOT AVAILABLE Berecht THEN RETURN.
  324. opcBenutzer = Berecht.Benutzer.
  325. opcProgramm = Berecht.Programm.
  326. END PROCEDURE.
  327. /* _UIB-CODE-BLOCK-END */
  328. &ANALYZE-RESUME
  329. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE changePage wBenutzer
  330. PROCEDURE changePage :
  331. /*------------------------------------------------------------------------------
  332. Purpose: Super Override
  333. Parameters:
  334. Notes:
  335. ------------------------------------------------------------------------------*/
  336. RUN SUPER.
  337. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U) NO-ERROR.
  338. CASE AktSeite:
  339. WHEN 1 THEN DO:
  340. RUN addLink ( hAktionen , 'TableIO':U , h_v-benutzer ).
  341. END.
  342. WHEN 2 THEN DO:
  343. RUN addLink ( hAktionen , 'TableIO':U , h_v-berecht ).
  344. END.
  345. END CASE.
  346. RUN ENTRY_CURSOR.
  347. END PROCEDURE.
  348. /* _UIB-CODE-BLOCK-END */
  349. &ANALYZE-RESUME
  350. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI wBenutzer _DEFAULT-DISABLE
  351. PROCEDURE disable_UI :
  352. /*------------------------------------------------------------------------------
  353. Purpose: DISABLE the User Interface
  354. Parameters: <none>
  355. Notes: Here we clean-up the user-interface by deleting
  356. dynamic widgets we have created and/or hide
  357. frames. This procedure is usually called when
  358. we are ready to "clean-up" after running.
  359. ------------------------------------------------------------------------------*/
  360. /* Delete the WINDOW we created */
  361. IF SESSION:DISPLAY-TYPE = "GUI":U AND VALID-HANDLE(wBenutzer)
  362. THEN DELETE WIDGET wBenutzer.
  363. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  364. END PROCEDURE.
  365. /* _UIB-CODE-BLOCK-END */
  366. &ANALYZE-RESUME
  367. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject wBenutzer
  368. PROCEDURE enableObject :
  369. /*------------------------------------------------------------------------------
  370. Purpose: Super Override
  371. Parameters:
  372. Notes:
  373. ------------------------------------------------------------------------------*/
  374. { incl/winenableobject.i }
  375. RUN SUPER.
  376. END PROCEDURE.
  377. /* _UIB-CODE-BLOCK-END */
  378. &ANALYZE-RESUME
  379. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI wBenutzer _DEFAULT-ENABLE
  380. PROCEDURE enable_UI :
  381. /*------------------------------------------------------------------------------
  382. Purpose: ENABLE the User Interface
  383. Parameters: <none>
  384. Notes: Here we display/view/enable the widgets in the
  385. user-interface. In addition, OPEN all queries
  386. associated with each FRAME and BROWSE.
  387. These statements here are based on the "Other
  388. Settings" section of the widget Property Sheets.
  389. ------------------------------------------------------------------------------*/
  390. ENABLE Btn_Suchen
  391. WITH FRAME fMain IN WINDOW wBenutzer.
  392. {&OPEN-BROWSERS-IN-QUERY-fMain}
  393. VIEW wBenutzer.
  394. END PROCEDURE.
  395. /* _UIB-CODE-BLOCK-END */
  396. &ANALYZE-RESUME
  397. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE wBenutzer
  398. PROCEDURE ENDE :
  399. /*------------------------------------------------------------------------------
  400. Purpose:
  401. Parameters: <none>
  402. Notes:
  403. ------------------------------------------------------------------------------*/
  404. { incl/winende.i }
  405. END PROCEDURE.
  406. /* _UIB-CODE-BLOCK-END */
  407. &ANALYZE-RESUME
  408. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_CURSOR wBenutzer
  409. PROCEDURE ENTRY_CURSOR :
  410. /*------------------------------------------------------------------------------
  411. Purpose:
  412. Parameters: <none>
  413. Notes:
  414. ------------------------------------------------------------------------------*/
  415. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U) NO-ERROR.
  416. FMutFlag = DYNAMIC-FUNCTION('getMutflag':U, INPUT Progname) NO-ERROR.
  417. CASE AktSeite:
  418. WHEN 1 THEN DO:
  419. IF FMutFlag THEN RUN applyEntry IN h_v-benutzer ( INPUT ? ).
  420. ELSE RUN applyEntry IN h_b-benutzer ( INPUT ? ).
  421. END.
  422. WHEN 2 THEN DO:
  423. IF FMutFlag THEN RUN applyEntry IN h_v-berecht ( INPUT ? ).
  424. ELSE RUN applyEntry IN h_b-berecht ( INPUT ? ).
  425. END.
  426. /* WHEN 1 THEN RUN applyEntry IN h_v-adresse ( INPUT ? ). */
  427. /* WHEN 2 THEN RUN applyEntry IN h_f-adrkomm ( INPUT ? ). */
  428. WHEN 3 THEN RUN applyEntry IN h_b-feldberecht ( INPUT ? ).
  429. /* WHEN 4 THEN RUN applyEntry IN h_b-aufdet ( INPUT ? ). */
  430. /* WHEN 5 THEN RUN applyEntry IN h_b-aufstreu ( INPUT ? ). */
  431. /* WHEN 6 THEN RUN applyEntry IN h_b-auffak ( INPUT ? ). */
  432. /* WHEN 7 THEN RUN applyEntry IN h_b-position ( INPUT ? ). */
  433. END CASE.
  434. RETURN NO-APPLY.
  435. END PROCEDURE.
  436. /* _UIB-CODE-BLOCK-END */
  437. &ANALYZE-RESUME
  438. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE exitObject wBenutzer
  439. PROCEDURE exitObject :
  440. /*------------------------------------------------------------------------------
  441. Purpose: Window-specific override of this procedure which destroys
  442. its contents and itself.
  443. Notes:
  444. ------------------------------------------------------------------------------*/
  445. RUN ENDE.
  446. RETURN NO-APPLY.
  447. END PROCEDURE.
  448. /* _UIB-CODE-BLOCK-END */
  449. &ANALYZE-RESUME
  450. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE FINDEN wBenutzer
  451. PROCEDURE FINDEN :
  452. /*------------------------------------------------------------------------------
  453. Purpose:
  454. Parameters: <none>
  455. Notes:
  456. ------------------------------------------------------------------------------*/
  457. DEF VAR cRowId AS CHAR NO-UNDO.
  458. FMutFlag = DYNAMIC-FUNCTION('getMutflag':U, Progname) NO-ERROR.
  459. IF FMutFlag THEN RETURN NO-APPLY.
  460. /* RUN g-xxxxx-suchen.w (OUTPUT cRowid) NO-ERROR. */
  461. /* IF cRowid <> ? AND */
  462. /* cRowid <> '' THEN DYNAMIC-FUNCTION('fetchRowIdent':U IN h_d-meldung, cRowid, ?) NO-ERROR. */
  463. APPLY 'U1'.
  464. RETURN NO-APPLY.
  465. END PROCEDURE.
  466. /* _UIB-CODE-BLOCK-END */
  467. &ANALYZE-RESUME
  468. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE FINDEN_NUMMER wBenutzer
  469. PROCEDURE FINDEN_NUMMER :
  470. /*------------------------------------------------------------------------------
  471. Purpose:
  472. Parameters: <none>
  473. Notes:
  474. ------------------------------------------------------------------------------*/
  475. DEF VAR iNummer AS INT NO-UNDO.
  476. DEF VAR cRowId AS CHAR NO-UNDO.
  477. FMutFlag = DYNAMIC-FUNCTION('getMutflag':U, Progname) NO-ERROR.
  478. IF FMutFlag THEN RETURN NO-APPLY.
  479. RUN g-einlesen-nummer.w (OUTPUT iNummer).
  480. DO WHILE TRUE WITH FRAME {&FRAME-NAME}:
  481. IF iNummer = ? THEN LEAVE.
  482. IF iNummer = 0 THEN LEAVE.
  483. /* FIND Meldung WHERE Meldung.Sprcd = 1 */
  484. /* AND Meldung.MeldNr = iNummer NO-LOCK NO-ERROR. */
  485. /* IF NOT AVAILABLE Meldung THEN LEAVE. */
  486. /* cRowId = STRING(ROWID(Meldung)). */
  487. /* DYNAMIC-FUNCTION('fetchRowIdent':U IN h_d-meldung, cRowid, ?) NO-ERROR. */
  488. LEAVE.
  489. END.
  490. APPLY 'U1'.
  491. RETURN NO-APPLY.
  492. END PROCEDURE.
  493. /* _UIB-CODE-BLOCK-END */
  494. &ANALYZE-RESUME
  495. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE initializeObject wBenutzer
  496. PROCEDURE initializeObject :
  497. /*------------------------------------------------------------------------------
  498. Purpose: Super Override
  499. Parameters:
  500. Notes:
  501. ------------------------------------------------------------------------------*/
  502. /* Code placed here will execute PRIOR to standard behavior. */
  503. RUN SUPER.
  504. { incl/wininitializeobject.i }
  505. END PROCEDURE.
  506. /* _UIB-CODE-BLOCK-END */
  507. &ANALYZE-RESUME
  508. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SEITENWECHSEL wBenutzer
  509. PROCEDURE SEITENWECHSEL :
  510. /*------------------------------------------------------------------------------
  511. Purpose:
  512. Parameters: <none>
  513. Notes:
  514. ------------------------------------------------------------------------------*/
  515. { incl/winseitenwechsel.i }
  516. END PROCEDURE.
  517. /* _UIB-CODE-BLOCK-END */
  518. &ANALYZE-RESUME
  519. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE selectPage wBenutzer
  520. PROCEDURE selectPage :
  521. /*------------------------------------------------------------------------------
  522. Purpose: Super Override
  523. Parameters:
  524. Notes:
  525. ------------------------------------------------------------------------------*/
  526. DEF INPUT PARAMETER piPageNum AS INT NO-UNDO.
  527. DEF VAR FMutFlag AS LOG NO-UNDO.
  528. DEF VAR MutProg AS CHAR NO-UNDO.
  529. FMutFlag = DYNAMIC-FUNCTION ('getMutflag':U, INPUT Progname) NO-ERROR.
  530. IF FMutFlag THEN RETURN NO-APPLY.
  531. CASE piPageNum:
  532. END CASE.
  533. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U) NO-ERROR.
  534. CASE AktSeite:
  535. WHEN 1 THEN DO:
  536. RUN removeLink ( hAktionen , 'TableIO':U , h_v-benutzer ).
  537. END.
  538. WHEN 2 THEN DO:
  539. RUN removeLink ( hAktionen , 'TableIO':U , h_v-berecht ).
  540. END.
  541. END CASE.
  542. RUN SUPER( INPUT piPageNum).
  543. END PROCEDURE.
  544. /* _UIB-CODE-BLOCK-END */
  545. &ANALYZE-RESUME
  546. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE TOOLBAR wBenutzer
  547. PROCEDURE TOOLBAR :
  548. /*------------------------------------------------------------------------------
  549. Purpose:
  550. Parameters: <none>
  551. Notes:
  552. ------------------------------------------------------------------------------*/
  553. { incl/wintoolbar.i }
  554. END PROCEDURE.
  555. /* _UIB-CODE-BLOCK-END */
  556. &ANALYZE-RESUME
  557. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE viewObject wBenutzer
  558. PROCEDURE viewObject :
  559. /*------------------------------------------------------------------------------
  560. Purpose: Super Override
  561. Parameters:
  562. Notes:
  563. ------------------------------------------------------------------------------*/
  564. RUN SUPER.
  565. RUN ENTRY_CURSOR.
  566. END PROCEDURE.
  567. /* _UIB-CODE-BLOCK-END */
  568. &ANALYZE-RESUME
  569. /* ************************ Function Implementations ***************** */
  570. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION getProgname wBenutzer
  571. FUNCTION getProgname RETURNS CHARACTER
  572. ( /* parameter-definitions */ ) :
  573. /*------------------------------------------------------------------------------
  574. Purpose:
  575. Notes:
  576. ------------------------------------------------------------------------------*/
  577. RETURN Progname.
  578. END FUNCTION.
  579. /* _UIB-CODE-BLOCK-END */
  580. &ANALYZE-RESUME