w-start.w 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671
  1. &ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2
  2. &ANALYZE-RESUME
  3. &Scoped-define WINDOW-NAME wStart
  4. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS wStart
  5. /*------------------------------------------------------------------------
  6. File:
  7. Description: from cntnrwin.w - ADM SmartWindow Template
  8. Input Parameters:
  9. <none>
  10. Output Parameters:
  11. <none>
  12. History: New V9 Version - January 15, 1998
  13. ------------------------------------------------------------------------*/
  14. /* This .W file was created with the Progress AB. */
  15. /*----------------------------------------------------------------------*/
  16. /* Create an unnamed pool to store all the widgets created
  17. by this procedure. This is a good default which assures
  18. that this procedure's triggers and internal procedures
  19. will execute in this procedure's storage, and that proper
  20. cleanup will occur on deletion of the procedure. */
  21. CREATE WIDGET-POOL.
  22. /* *************************** Definitions ************************** */
  23. /* Parameters Definitions --- */
  24. DEF OUTPUT PARAMETER retflag AS LOG NO-UNDO.
  25. /* Local Variable Definitions --- */
  26. DEF VAR Ja AS LOG NO-UNDO.
  27. DEF VAR FCancel AS LOG NO-UNDO.
  28. DEF VAR Mandant AS CHAR NO-UNDO.
  29. DEF VAR Kennwort AS CHAR NO-UNDO.
  30. DEF VAR lBatch AS LOG INIT FALSE NO-UNDO.
  31. DEF VAR cPasswort AS CHAR NO-UNDO.
  32. DEF VAR cMandant AS CHAR NO-UNDO.
  33. DEF VAR XUser AS CHAR NO-UNDO.
  34. DEF VAR Progname AS CHAR NO-UNDO.
  35. DEF VAR cBenutzerDaten AS CHAR NO-UNDO.
  36. DEF VAR cBenutzer AS CHAR NO-UNDO.
  37. DEF VAR cInstallation AS CHAR NO-UNDO.
  38. DEF VAR iBenuSprcd AS INT NO-UNDO.
  39. /* _UIB-CODE-BLOCK-END */
  40. &ANALYZE-RESUME
  41. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  42. /* ******************** Preprocessor Definitions ******************** */
  43. &Scoped-define PROCEDURE-TYPE SmartWindow
  44. &Scoped-define DB-AWARE no
  45. &Scoped-define ADM-CONTAINER WINDOW
  46. &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Data-Source,Page-Target,Update-Source,Update-Target,Filter-target,Filter-Source
  47. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  48. &Scoped-define FRAME-NAME fMain
  49. /* Standard List Definitions */
  50. &Scoped-Define ENABLED-OBJECTS F_Benutzer F_Kennwort CB_Mandant Btn_OK ~
  51. Btn_Cancel IMAGE-2
  52. &Scoped-Define DISPLAYED-OBJECTS F_Benutzer F_Kennwort CB_Mandant
  53. /* Custom List Definitions */
  54. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  55. /* _UIB-PREPROCESSOR-BLOCK-END */
  56. &ANALYZE-RESUME
  57. /* *********************** Control Definitions ********************** */
  58. /* Define the widget handle for the window */
  59. DEFINE VAR wStart AS WIDGET-HANDLE NO-UNDO.
  60. /* Definitions of the field level widgets */
  61. DEFINE BUTTON Btn_Cancel
  62. LABEL "&Abbrechen"
  63. SIZE 12 BY 1.
  64. DEFINE BUTTON Btn_OK AUTO-GO
  65. LABEL "&OK"
  66. SIZE 12 BY 1.
  67. DEFINE VARIABLE CB_Mandant AS CHARACTER FORMAT "X(256)":U
  68. LABEL "Mandant"
  69. VIEW-AS COMBO-BOX INNER-LINES 5
  70. LIST-ITEM-PAIRS "Item 1","Item 1"
  71. DROP-DOWN-LIST
  72. SIZE 40 BY 1 NO-UNDO.
  73. DEFINE VARIABLE F_Benutzer AS CHARACTER FORMAT "X(256)":U
  74. LABEL "Benutzer"
  75. VIEW-AS FILL-IN NATIVE
  76. SIZE 40 BY 1 NO-UNDO.
  77. DEFINE VARIABLE F_Kennwort AS CHARACTER FORMAT "x(20)":U
  78. LABEL "Kennwort"
  79. VIEW-AS FILL-IN NATIVE
  80. SIZE 40 BY 1 NO-UNDO.
  81. DEFINE IMAGE IMAGE-2
  82. FILENAME "grafik/backgrnd.gif":U
  83. STRETCH-TO-FIT
  84. SIZE 60.8 BY 8.86.
  85. /* ************************ Frame Definitions *********************** */
  86. DEFINE FRAME fMain
  87. F_Benutzer AT ROW 3 COL 14 COLON-ALIGNED
  88. F_Kennwort AT ROW 4 COL 14 COLON-ALIGNED BLANK PASSWORD-FIELD
  89. CB_Mandant AT ROW 5 COL 14 COLON-ALIGNED
  90. Btn_OK AT ROW 7.71 COL 16
  91. Btn_Cancel AT ROW 7.71 COL 42
  92. IMAGE-2 AT ROW 1 COL 1
  93. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY
  94. SIDE-LABELS NO-UNDERLINE THREE-D
  95. AT COL 1 ROW 1
  96. SIZE 61 BY 8.91
  97. DEFAULT-BUTTON Btn_OK CANCEL-BUTTON Btn_Cancel.
  98. /* *********************** Procedure Settings ************************ */
  99. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  100. /* Settings for THIS-PROCEDURE
  101. Type: SmartWindow
  102. Allow: Basic,Browse,DB-Fields,Query,Smart,Window
  103. Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target,Filter-target,Filter-Source
  104. Other Settings: COMPILE
  105. */
  106. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  107. /* ************************* Create Window ************************** */
  108. &ANALYZE-SUSPEND _CREATE-WINDOW
  109. IF SESSION:DISPLAY-TYPE = "GUI":U THEN
  110. CREATE WINDOW wStart ASSIGN
  111. HIDDEN = YES
  112. TITLE = "Anmeldung"
  113. HEIGHT = 8.95
  114. WIDTH = 61.6
  115. MAX-HEIGHT = 46.52
  116. MAX-WIDTH = 256
  117. VIRTUAL-HEIGHT = 46.52
  118. VIRTUAL-WIDTH = 256
  119. RESIZE = NO
  120. SCROLL-BARS = NO
  121. STATUS-AREA = NO
  122. BGCOLOR = ?
  123. FGCOLOR = ?
  124. THREE-D = YES
  125. MESSAGE-AREA = NO
  126. SENSITIVE = YES.
  127. ELSE {&WINDOW-NAME} = CURRENT-WINDOW.
  128. &IF '{&WINDOW-SYSTEM}' NE 'TTY' &THEN
  129. IF NOT wStart:LOAD-ICON("grafik/appl.ico":U) THEN
  130. MESSAGE "Unable to load icon: grafik/appl.ico"
  131. VIEW-AS ALERT-BOX WARNING BUTTONS OK.
  132. &ENDIF
  133. /* END WINDOW DEFINITION */
  134. &ANALYZE-RESUME
  135. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB wStart
  136. /* ************************* Included-Libraries *********************** */
  137. {src/adm2/containr.i}
  138. /* _UIB-CODE-BLOCK-END */
  139. &ANALYZE-RESUME
  140. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  141. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  142. /* SETTINGS FOR WINDOW wStart
  143. VISIBLE,,RUN-PERSISTENT */
  144. /* SETTINGS FOR FRAME fMain
  145. FRAME-NAME Custom */
  146. IF SESSION:DISPLAY-TYPE = "GUI":U AND VALID-HANDLE(wStart)
  147. THEN wStart:HIDDEN = YES.
  148. /* _RUN-TIME-ATTRIBUTES-END */
  149. &ANALYZE-RESUME
  150. /* ************************ Control Triggers ************************ */
  151. &Scoped-define SELF-NAME wStart
  152. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL wStart wStart
  153. ON END-ERROR OF wStart /* Anmeldung */
  154. OR ENDKEY OF {&WINDOW-NAME} ANYWHERE DO:
  155. IF THIS-PROCEDURE:PERSISTENT THEN RETURN NO-APPLY.
  156. FCancel = TRUE.
  157. RUN ENDE.
  158. RETURN NO-APPLY.
  159. END.
  160. /* _UIB-CODE-BLOCK-END */
  161. &ANALYZE-RESUME
  162. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL wStart wStart
  163. ON WINDOW-CLOSE OF wStart /* Anmeldung */
  164. DO:
  165. FCancel = TRUE.
  166. RUN ENDE.
  167. RETURN NO-APPLY.
  168. END.
  169. /* _UIB-CODE-BLOCK-END */
  170. &ANALYZE-RESUME
  171. &Scoped-define SELF-NAME Btn_Cancel
  172. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Cancel wStart
  173. ON CHOOSE OF Btn_Cancel IN FRAME fMain /* Abbrechen */
  174. DO:
  175. FCancel = TRUE.
  176. RUN ENDE.
  177. RETURN NO-APPLY.
  178. END.
  179. /* _UIB-CODE-BLOCK-END */
  180. &ANALYZE-RESUME
  181. &Scoped-define SELF-NAME Btn_OK
  182. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_OK wStart
  183. ON CHOOSE OF Btn_OK IN FRAME fMain /* OK */
  184. DO:
  185. DEF VAR XString AS CHAR NO-UNDO.
  186. DEF VAR cRet AS CHAR NO-UNDO.
  187. DO WITH FRAME {&FRAME-NAME}:
  188. BENUTZER00:
  189. DO WHILE TRUE:
  190. RUN INPUT-TEST ( CB_Mandant:HANDLE ).
  191. cRet = RETURN-VALUE.
  192. IF RETURN-VALUE <> '' THEN LEAVE.
  193. RUN INPUT-TEST ( F_Benutzer:HANDLE ).
  194. cRet = RETURN-VALUE.
  195. IF RETURN-VALUE <> '' THEN LEAVE.
  196. RUN INPUT-TEST ( F_Kennwort:HANDLE ).
  197. cRet = RETURN-VALUE.
  198. IF RETURN-VALUE <> '' THEN LEAVE.
  199. FIND Benutzer NO-LOCK USE-INDEX Benutzer-k1
  200. WHERE Benutzer.Benutzer = cBenutzer NO-ERROR.
  201. IF NOT Benutzer.Admin AND
  202. Benutzer.Firma <> CB_Mandant:SCREEN-VALUE THEN DO:
  203. cRet = '1993'.
  204. LEAVE.
  205. END.
  206. FIND Steuer WHERE Steuer.Firma = CB_Mandant:SCREEN-VALUE NO-LOCK.
  207. DO WHILE TRUE:
  208. IF xUser <> 'Remote' THEN LEAVE.
  209. IF Steuer.Fwc10 = 'LaTorre' AND
  210. F_Benutzer <> 'analytikdata' THEN DO:
  211. cRet = '1993'.
  212. LEAVE BENUTZER00.
  213. END.
  214. IF Steuer.Fwc10 <> 'LaTorre' THEN LEAVE.
  215. IF F_Benutzer <> 'sg' THEN DO:
  216. F_Benutzer = 'sg'.
  217. DISPLAY F_Benutzer.
  218. CB_Mandant:SCREEN-VALUE = Benutzer.Firma NO-ERROR.
  219. NEXT BENUTZER00.
  220. END.
  221. LEAVE.
  222. END.
  223. Ja = TRUE.
  224. RUN ENDE.
  225. RETURN NO-APPLY.
  226. END.
  227. RUN FEHLER ( INPUT INTEGER(cRet) ).
  228. RUN applyEntry ( INPUT 'F_Benutzer' ).
  229. RETURN NO-APPLY.
  230. END.
  231. END.
  232. /* _UIB-CODE-BLOCK-END */
  233. &ANALYZE-RESUME
  234. &Scoped-define SELF-NAME CB_Mandant
  235. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Mandant wStart
  236. ON RETURN OF CB_Mandant IN FRAME fMain /* Mandant */
  237. DO:
  238. APPLY 'TAB' TO SELF.
  239. RETURN NO-APPLY.
  240. END.
  241. /* _UIB-CODE-BLOCK-END */
  242. &ANALYZE-RESUME
  243. &Scoped-define SELF-NAME F_Benutzer
  244. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Benutzer wStart
  245. ON LEAVE OF F_Benutzer IN FRAME fMain /* Benutzer */
  246. DO:
  247. RUN INPUT-TEST ( INPUT SELF:HANDLE ).
  248. IF RETURN-VALUE = '' THEN RETURN.
  249. RUN FEHLER ( INPUT INTEGER(RETURN-VALUE) ).
  250. /*
  251. RETURN NO-APPLY.
  252. */
  253. END.
  254. /* _UIB-CODE-BLOCK-END */
  255. &ANALYZE-RESUME
  256. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Benutzer wStart
  257. ON RETURN OF F_Benutzer IN FRAME fMain /* Benutzer */
  258. DO:
  259. APPLY 'TAB' TO SELF.
  260. RETURN NO-APPLY.
  261. END.
  262. /* _UIB-CODE-BLOCK-END */
  263. &ANALYZE-RESUME
  264. &Scoped-define SELF-NAME F_Kennwort
  265. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Kennwort wStart
  266. ON RETURN OF F_Kennwort IN FRAME fMain /* Kennwort */
  267. DO:
  268. APPLY 'TAB' TO SELF.
  269. RETURN NO-APPLY.
  270. END.
  271. /* _UIB-CODE-BLOCK-END */
  272. &ANALYZE-RESUME
  273. &UNDEFINE SELF-NAME
  274. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK wStart
  275. /* *************************** Main Block *************************** */
  276. Ja = FALSE.
  277. FCancel = FALSE.
  278. ProgName = ENTRY(1, THIS-PROCEDURE:FILE-NAME, '.').
  279. SESSION:DATA-ENTRY-RETURN = TRUE.
  280. SUBSCRIBE TO 'ENDE' ANYWHERE.
  281. /* Include custom Main Block code for SmartWindows. */
  282. DEF VAR XMandant AS CHAR NO-UNDO.
  283. DEF VAR iof AS LOG NO-UNDO.
  284. DEF VAR RetValue AS CHAR NO-UNDO.
  285. XUser = DYNAMIC-FUNCTION('getDBUser':U) NO-ERROR.
  286. IF xUser = '' OR
  287. xUser = ? THEN xUser = DYNAMIC-FUNCTION('getSysUser':U) NO-ERROR.
  288. RUN COMBO_MANDANT ( INPUT CB_Mandant:HANDLE ).
  289. DO WHILE SESSION:PARAMETER <> '':
  290. IF ENTRY(1, SESSION:PARAMETER, ';') <> 'batch' THEN LEAVE.
  291. lBatch = TRUE.
  292. cBenutzer = ENTRY(2, SESSION:PARAMETER, ';') NO-ERROR.
  293. cPasswort = ENTRY(3, SESSION:PARAMETER, ';') NO-ERROR.
  294. cMandant = ENTRY(4, SESSION:PARAMETER, ';') NO-ERROR.
  295. LEAVE.
  296. END.
  297. IF lBatch THEN DO:
  298. F_Benutzer:SCREEN-VALUE = cBenutzer.
  299. F_Kennwort:SCREEN-VALUE = cPasswort.
  300. CB_Mandant:SCREEN-VALUE = cMandant.
  301. DYNAMIC-FUNCTION('setBatch':U, TRUE ) NO-ERROR.
  302. APPLY 'CHOOSE' TO Btn_OK.
  303. RETURN.
  304. END.
  305. ELSE DO:
  306. GET-KEY-VALUE SECTION XUser KEY 'Mandant' VALUE RetValue.
  307. IF RetValue = ? THEN RetValue = '9999'.
  308. XMandant = RetValue.
  309. GET-KEY-VALUE SECTION XUser KEY 'Benutzer' VALUE RetValue.
  310. IF RetValue = ? THEN RetValue = ''.
  311. F_Benutzer = RetValue.
  312. CB_Mandant:SCREEN-VALUE IN FRAME {&FRAME-NAME} = XMandant NO-ERROR.
  313. END.
  314. ON "CTRL-ALT-F1":U OF FRAME fMain ANYWHERE
  315. DO:
  316. RUN MASTERPASSWORT.
  317. RETURN NO-APPLY.
  318. END.
  319. PROCEDURE GetSystemMetrics EXTERNAL "USER32.DLL":
  320. DEFINE INPUT PARAMETER nIndex AS LONG.
  321. DEFINE RETURN PARAMETER nRet AS LONG.
  322. END PROCEDURE.
  323. {src/adm2/windowmn.i}
  324. /* _UIB-CODE-BLOCK-END */
  325. &ANALYZE-RESUME
  326. /* ********************** Internal Procedures *********************** */
  327. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects wStart _ADM-CREATE-OBJECTS
  328. PROCEDURE adm-create-objects :
  329. /*------------------------------------------------------------------------------
  330. Purpose: Create handles for all SmartObjects used in this procedure.
  331. After SmartObjects are initialized, then SmartLinks are added.
  332. Parameters: <none>
  333. ------------------------------------------------------------------------------*/
  334. END PROCEDURE.
  335. /* _UIB-CODE-BLOCK-END */
  336. &ANALYZE-RESUME
  337. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI wStart _DEFAULT-DISABLE
  338. PROCEDURE disable_UI :
  339. /*------------------------------------------------------------------------------
  340. Purpose: DISABLE the User Interface
  341. Parameters: <none>
  342. Notes: Here we clean-up the user-interface by deleting
  343. dynamic widgets we have created and/or hide
  344. frames. This procedure is usually called when
  345. we are ready to "clean-up" after running.
  346. ------------------------------------------------------------------------------*/
  347. /* Delete the WINDOW we created */
  348. IF SESSION:DISPLAY-TYPE = "GUI":U AND VALID-HANDLE(wStart)
  349. THEN DELETE WIDGET wStart.
  350. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  351. END PROCEDURE.
  352. /* _UIB-CODE-BLOCK-END */
  353. &ANALYZE-RESUME
  354. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject wStart
  355. PROCEDURE enableObject :
  356. /*------------------------------------------------------------------------------
  357. Purpose: Super Override
  358. Parameters:
  359. Notes:
  360. ------------------------------------------------------------------------------*/
  361. { incl/winenableobject.i }
  362. RUN SUPER.
  363. RUN selectPage ( 1 ).
  364. END PROCEDURE.
  365. /* _UIB-CODE-BLOCK-END */
  366. &ANALYZE-RESUME
  367. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI wStart _DEFAULT-ENABLE
  368. PROCEDURE enable_UI :
  369. /*------------------------------------------------------------------------------
  370. Purpose: ENABLE the User Interface
  371. Parameters: <none>
  372. Notes: Here we display/view/enable the widgets in the
  373. user-interface. In addition, OPEN all queries
  374. associated with each FRAME and BROWSE.
  375. These statements here are based on the "Other
  376. Settings" section of the widget Property Sheets.
  377. ------------------------------------------------------------------------------*/
  378. DISPLAY F_Benutzer F_Kennwort CB_Mandant
  379. WITH FRAME fMain IN WINDOW wStart.
  380. ENABLE F_Benutzer F_Kennwort CB_Mandant Btn_OK Btn_Cancel IMAGE-2
  381. WITH FRAME fMain IN WINDOW wStart.
  382. {&OPEN-BROWSERS-IN-QUERY-fMain}
  383. VIEW wStart.
  384. END PROCEDURE.
  385. /* _UIB-CODE-BLOCK-END */
  386. &ANALYZE-RESUME
  387. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE wStart
  388. PROCEDURE ENDE :
  389. /*------------------------------------------------------------------------------
  390. Purpose:
  391. Parameters: <none>
  392. Notes:
  393. ------------------------------------------------------------------------------*/
  394. DEF VAR wx AS INT NO-UNDO.
  395. DEF VAR wy AS INT NO-UNDO.
  396. DEF VAR xString AS CHAR NO-UNDO.
  397. IF Ja THEN DO:
  398. XString = cBenutzer + CHR(01) + Kennwort + CHR(01) + Mandant.
  399. PUT-KEY-VALUE SECTION xUser KEY 'Benutzer' VALUE cBenutzer.
  400. RUN ANMELDUNG ( INPUT XString ).
  401. retFlag = TRUE.
  402. END.
  403. IF fCancel OR
  404. NOT Ja THEN retFlag = FALSE.
  405. wx = {&WINDOW-NAME}:X NO-ERROR.
  406. wy = {&WINDOW-NAME}:Y NO-ERROR.
  407. DYNAMIC-FUNCTION('setFensterposition':U, INPUT 'Fensterposition',
  408. INPUT Progname,
  409. INPUT wx,
  410. INPUT wy) NO-ERROR.
  411. APPLY "CLOSE":U TO THIS-PROCEDURE.
  412. RETURN NO-APPLY.
  413. END PROCEDURE.
  414. /* _UIB-CODE-BLOCK-END */
  415. &ANALYZE-RESUME
  416. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE exitObject wStart
  417. PROCEDURE exitObject :
  418. /*------------------------------------------------------------------------------
  419. Purpose: Window-specific override of this procedure which destroys
  420. its contents and itself.
  421. Notes:
  422. ------------------------------------------------------------------------------*/
  423. APPLY "CLOSE":U TO THIS-PROCEDURE.
  424. RETURN.
  425. END PROCEDURE.
  426. /* _UIB-CODE-BLOCK-END */
  427. &ANALYZE-RESUME
  428. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE INPUT-TEST wStart
  429. PROCEDURE INPUT-TEST :
  430. /*------------------------------------------------------------------------------
  431. Purpose:
  432. Parameters: <none>
  433. Notes:
  434. ------------------------------------------------------------------------------*/
  435. DEF INPUT PARAMETER IHandle AS HANDLE NO-UNDO.
  436. DEF VAR VInhalt AS CHAR NO-UNDO.
  437. IF FCancel THEN RETURN ''.
  438. IF NOT VALID-HANDLE(IHandle) THEN RETURN '1999'.
  439. VInhalt = IHandle:SCREEN-VALUE.
  440. CASE IHandle:NAME:
  441. WHEN 'F_Benutzer' THEN DO:
  442. FIND Benutzer NO-LOCK USE-INDEX Benutzer-k1
  443. WHERE Benutzer.Benutzer = VInhalt NO-ERROR.
  444. IF NOT AVAILABLE Benutzer THEN RETURN '1990'.
  445. cBenutzer = VInhalt.
  446. END.
  447. WHEN 'F_Kennwort' THEN DO:
  448. FIND Benutzer NO-LOCK USE-INDEX Benutzer-k1
  449. WHERE Benutzer.Benutzer = cBenutzer NO-ERROR.
  450. IF NOT AVAILABLE Benutzer THEN RETURN '1991'.
  451. IF Benutzer.Kennwort <> VInhalt THEN RETURN '1992'.
  452. Kennwort = VInhalt.
  453. END.
  454. WHEN 'CB_Mandant' THEN DO:
  455. FIND Mandant NO-LOCK USE-INDEX Mandant-k1
  456. WHERE Mandant.Firma = VInhalt NO-ERROR.
  457. IF NOT AVAILABLE Mandant THEN RETURN '1993'.
  458. Mandant = VInhalt.
  459. END.
  460. END CASE.
  461. RELEASE Benutzer.
  462. RELEASE Mandant.
  463. RETURN ''.
  464. END PROCEDURE.
  465. /* _UIB-CODE-BLOCK-END */
  466. &ANALYZE-RESUME
  467. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE MASTERPASSWORT wStart
  468. PROCEDURE MASTERPASSWORT :
  469. /*------------------------------------------------------------------------------
  470. Purpose:
  471. Parameters: <none>
  472. Notes:
  473. ------------------------------------------------------------------------------*/
  474. DEF VAR XString AS CHAR NO-UNDO.
  475. DEF VAR i AS INT NO-UNDO.
  476. DEF VAR ix AS INT NO-UNDO.
  477. DEF VAR XMaster AS CHAR NO-UNDO.
  478. MESSAGE 'Eingabe Masterpasswort : '
  479. UPDATE XString.
  480. XMaster = ''.
  481. i = LENGTH(XString).
  482. DO ix = 1 TO i:
  483. XMaster = XMaster + STRING((ASC(SUBSTRING(XString,ix,01)) + i) * i).
  484. IF ix <> i THEN XMaster = XMaster + ';'.
  485. END.
  486. PUT-KEY-VALUE SECTION 'Grundeinstellungen' KEY 'WHO' VALUE XMaster.
  487. REPEAT TRANSACTION:
  488. FIND Benutzer USE-INDEX Benutzer-k1
  489. WHERE Benutzer.Benutzer = 'Admin' NO-ERROR.
  490. IF NOT AVAILABLE Benutzer THEN DO:
  491. CREATE Benutzer.
  492. ASSIGN Benutzer.Benutzer = 'Admin'
  493. Benutzer.Admin = TRUE.
  494. END.
  495. Benutzer.Kennwort = XString.
  496. RELEASE Benutzer.
  497. LEAVE.
  498. END.
  499. END PROCEDURE.
  500. /* _UIB-CODE-BLOCK-END */
  501. &ANALYZE-RESUME
  502. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE viewObject wStart
  503. PROCEDURE viewObject :
  504. /*------------------------------------------------------------------------------
  505. Purpose: Super Override
  506. Parameters:
  507. Notes:
  508. ------------------------------------------------------------------------------*/
  509. RUN SUPER.
  510. RUN applyEntry ( INPUT ? ).
  511. END PROCEDURE.
  512. /* _UIB-CODE-BLOCK-END */
  513. &ANALYZE-RESUME