v-benutzer.w 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038
  1. &ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2
  2. &ANALYZE-RESUME
  3. /* Connected Databases
  4. anadat PROGRESS
  5. */
  6. &Scoped-define WINDOW-NAME CURRENT-WINDOW
  7. {adecomm/appserv.i}
  8. /* Temp-Table and Buffer definitions */
  9. DEFINE TEMP-TABLE RowObject NO-UNDO
  10. {"d-benutzer.i"}.
  11. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS vTableWin
  12. /*------------------------------------------------------------------------
  13. File:
  14. Description: from viewer.w - Template for SmartDataViewer objects
  15. Input Parameters:
  16. <none>
  17. Output Parameters:
  18. <none>
  19. ------------------------------------------------------------------------*/
  20. /* This .W file was created with the Progress AppBuilder. */
  21. /*----------------------------------------------------------------------*/
  22. /* Create an unnamed pool to store all the widgets created
  23. by this procedure. This is a good default which assures
  24. that this procedure's triggers and internal procedures
  25. will execute in this procedure's storage, and that proper
  26. cleanup will occur on deletion of the procedure. */
  27. CREATE WIDGET-POOL.
  28. /* *************************** Definitions ************************** */
  29. /* Komma-Trennzeichen */
  30. /* Keyfelder werden beim Mutieren nicht "Enabled" */
  31. &Scoped-define ERSTES_FELD Benutzer
  32. &Scoped-define LETZTES_FELD Admin
  33. &Scoped-define KEY_FELDER Benutzer
  34. &Scoped-define NUR_LESEN
  35. { incl/viwdefinition.i }
  36. DEFINE VARIABLE cOldKennwort AS CHARACTER NO-UNDO.
  37. DEFINE VARIABLE cOldPin AS CHARACTER NO-UNDO.
  38. {src/adm2/widgetprto.i}
  39. /* _UIB-CODE-BLOCK-END */
  40. &ANALYZE-RESUME
  41. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  42. /* ******************** Preprocessor Definitions ******************** */
  43. &Scoped-define PROCEDURE-TYPE SmartDataViewer
  44. &Scoped-define DB-AWARE no
  45. &Scoped-define ADM-CONTAINER FRAME
  46. &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Update-Source,TableIO-Target,GroupAssign-Source,GroupAssign-Target
  47. /* Include file with RowObject temp-table definition */
  48. &Scoped-define DATA-FIELD-DEFS "d-benutzer.i"
  49. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  50. &Scoped-define FRAME-NAME F-Main
  51. /* Standard List Definitions */
  52. &Scoped-Define ENABLED-FIELDS RowObject.Benutzer RowObject.Jahr ~
  53. RowObject.Firma RowObject.Sprcd RowObject.Lager RowObject.Anzeige ~
  54. RowObject.Kurz RowObject.Knr RowObject.Kennwort RowObject.Pin ~
  55. RowObject.Ruester RowObject.Fahrer RowObject.FahrerNummer RowObject.lSpez ~
  56. RowObject.Aussendienst RowObject.Admin
  57. &Scoped-define ENABLED-TABLES RowObject
  58. &Scoped-define FIRST-ENABLED-TABLE RowObject
  59. &Scoped-Define ENABLED-OBJECTS RECT-1 CB_Sprache CB_Mandant CB_Lager
  60. &Scoped-Define DISPLAYED-FIELDS RowObject.Benutzer RowObject.Jahr ~
  61. RowObject.Firma RowObject.Sprcd RowObject.Lager RowObject.Aktiv ~
  62. RowObject.shaPassword RowObject.shaPin RowObject.Anzeige RowObject.Kurz ~
  63. RowObject.Knr RowObject.Kennwort RowObject.Pin RowObject.Ruester ~
  64. RowObject.Fahrer RowObject.FahrerNummer RowObject.lSpez ~
  65. RowObject.Aussendienst RowObject.Admin
  66. &Scoped-define DISPLAYED-TABLES RowObject
  67. &Scoped-define FIRST-DISPLAYED-TABLE RowObject
  68. &Scoped-Define DISPLAYED-OBJECTS CB_Sprache CB_Mandant CB_Lager
  69. /* Custom List Definitions */
  70. /* ADM-ASSIGN-FIELDS,List-2,List-3,List-4,List-5,List-6 */
  71. /* _UIB-PREPROCESSOR-BLOCK-END */
  72. &ANALYZE-RESUME
  73. /* *********************** Control Definitions ********************** */
  74. /* Definitions of the field level widgets */
  75. DEFINE VARIABLE CB_Lager AS CHARACTER FORMAT "X(256)":U
  76. LABEL "Lager"
  77. VIEW-AS COMBO-BOX INNER-LINES 5
  78. LIST-ITEM-PAIRS "Item 1","Item 1"
  79. DROP-DOWN-LIST
  80. SIZE 30.6 BY 1
  81. BGCOLOR 15 NO-UNDO.
  82. DEFINE VARIABLE CB_Mandant AS CHARACTER FORMAT "X(256)":U
  83. LABEL "Mandant"
  84. VIEW-AS COMBO-BOX INNER-LINES 5
  85. LIST-ITEM-PAIRS "Item 1","Item 1"
  86. DROP-DOWN-LIST
  87. SIZE 30.6 BY 1
  88. BGCOLOR 15 NO-UNDO.
  89. DEFINE VARIABLE CB_Sprache AS CHARACTER FORMAT "X(256)":U
  90. LABEL "Sprache"
  91. VIEW-AS COMBO-BOX INNER-LINES 5
  92. LIST-ITEM-PAIRS "Item 1","Item 1"
  93. DROP-DOWN-LIST
  94. SIZE 30.6 BY 1
  95. BGCOLOR 15 NO-UNDO.
  96. DEFINE RECTANGLE RECT-1
  97. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  98. SIZE 94 BY 8.57.
  99. /* ************************ Frame Definitions *********************** */
  100. DEFINE FRAME F-Main
  101. RowObject.Benutzer AT ROW 1.52 COL 16 COLON-ALIGNED WIDGET-ID 8
  102. VIEW-AS FILL-IN NATIVE
  103. SIZE 22 BY 1
  104. BGCOLOR 15
  105. RowObject.Jahr AT ROW 1.52 COL 50 COLON-ALIGNED WIDGET-ID 20
  106. VIEW-AS FILL-IN NATIVE
  107. SIZE 8 BY 1
  108. BGCOLOR 15
  109. RowObject.Firma AT ROW 2 COL 68 COLON-ALIGNED WIDGET-ID 2
  110. VIEW-AS FILL-IN NATIVE
  111. SIZE 4 BY 1
  112. BGCOLOR 15
  113. RowObject.Sprcd AT ROW 2 COL 68 COLON-ALIGNED WIDGET-ID 6 FORMAT "99999999"
  114. VIEW-AS FILL-IN NATIVE
  115. SIZE 4 BY 1
  116. BGCOLOR 15
  117. RowObject.Lager AT ROW 2 COL 68 COLON-ALIGNED WIDGET-ID 4 FORMAT "999999"
  118. VIEW-AS FILL-IN NATIVE
  119. SIZE 4 BY 1
  120. BGCOLOR 15
  121. RowObject.Aktiv AT ROW 2 COL 88 COLON-ALIGNED WIDGET-ID 42
  122. VIEW-AS FILL-IN NATIVE
  123. SIZE 4 BY 1
  124. BGCOLOR 15 NO-TAB-STOP
  125. RowObject.shaPassword AT ROW 2 COL 88 COLON-ALIGNED WIDGET-ID 44
  126. VIEW-AS FILL-IN NATIVE
  127. SIZE 4 BY 1
  128. BGCOLOR 15 NO-TAB-STOP
  129. RowObject.shaPin AT ROW 2 COL 88 COLON-ALIGNED WIDGET-ID 46
  130. VIEW-AS FILL-IN NATIVE
  131. SIZE 4 BY 1
  132. BGCOLOR 15 NO-TAB-STOP
  133. RowObject.Anzeige AT ROW 2.52 COL 16 COLON-ALIGNED WIDGET-ID 16
  134. VIEW-AS FILL-IN NATIVE
  135. SIZE 22 BY 1
  136. BGCOLOR 15
  137. CB_Sprache AT ROW 2.52 COL 50 COLON-ALIGNED WIDGET-ID 34
  138. RowObject.Kurz AT ROW 3.52 COL 16 COLON-ALIGNED WIDGET-ID 26
  139. VIEW-AS FILL-IN NATIVE
  140. SIZE 17.6 BY 1
  141. BGCOLOR 15
  142. CB_Mandant AT ROW 3.52 COL 50 COLON-ALIGNED WIDGET-ID 32
  143. RowObject.Knr AT ROW 4.52 COL 16 COLON-ALIGNED WIDGET-ID 24
  144. LABEL "Nr in Adresse" FORMAT "999999"
  145. VIEW-AS FILL-IN NATIVE
  146. SIZE 11 BY 1
  147. BGCOLOR 15
  148. CB_Lager AT ROW 4.52 COL 50 COLON-ALIGNED WIDGET-ID 30
  149. RowObject.Kennwort AT ROW 5.52 COL 16 COLON-ALIGNED WIDGET-ID 22 BLANK PASSWORD-FIELD
  150. VIEW-AS FILL-IN NATIVE
  151. SIZE 22 BY 1
  152. BGCOLOR 15
  153. RowObject.Pin AT ROW 5.52 COL 50 COLON-ALIGNED WIDGET-ID 40
  154. VIEW-AS FILL-IN NATIVE
  155. SIZE 22 BY 1
  156. BGCOLOR 15
  157. RowObject.Ruester AT ROW 7.52 COL 18 WIDGET-ID 28
  158. LABEL "Ruester"
  159. VIEW-AS TOGGLE-BOX
  160. SIZE 18 BY 1
  161. RowObject.Fahrer AT ROW 7.52 COL 52 WIDGET-ID 18
  162. LABEL "Fahrer"
  163. VIEW-AS TOGGLE-BOX
  164. SIZE 18 BY 1
  165. RowObject.FahrerNummer AT ROW 7.52 COL 84.2 COLON-ALIGNED WIDGET-ID 38
  166. VIEW-AS FILL-IN NATIVE
  167. SIZE 7.6 BY 1
  168. BGCOLOR 15
  169. RowObject.lSpez AT ROW 8.52 COL 18 WIDGET-ID 12
  170. LABEL "Spezial"
  171. VIEW-AS TOGGLE-BOX
  172. SIZE 18.4 BY 1
  173. RowObject.Aussendienst AT ROW 8.52 COL 52 WIDGET-ID 10
  174. LABEL "Aussendienst"
  175. VIEW-AS TOGGLE-BOX
  176. SIZE 18 BY 1
  177. RowObject.Admin AT ROW 8.52 COL 76 WIDGET-ID 14
  178. LABEL "Administrator"
  179. VIEW-AS TOGGLE-BOX
  180. SIZE 18 BY 1
  181. RECT-1 AT ROW 1.24 COL 2 WIDGET-ID 36
  182. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY USE-DICT-EXPS
  183. SIDE-LABELS NO-UNDERLINE THREE-D NO-AUTO-VALIDATE
  184. AT COL 1 ROW 1 SCROLLABLE WIDGET-ID 100.
  185. /* *********************** Procedure Settings ************************ */
  186. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  187. /* Settings for THIS-PROCEDURE
  188. Type: SmartDataViewer
  189. Data Source: "d-benutzer.w"
  190. Allow: Basic,DB-Fields,Smart
  191. Container Links: Data-Target,Update-Source,TableIO-Target,GroupAssign-Source,GroupAssign-Target
  192. Frames: 1
  193. Add Fields to: Neither
  194. Other Settings: PERSISTENT-ONLY COMPILE APPSERVER
  195. Temp-Tables and Buffers:
  196. TABLE: RowObject D "?" NO-UNDO
  197. ADDITIONAL-FIELDS:
  198. {d-benutzer.i}
  199. END-FIELDS.
  200. END-TABLES.
  201. */
  202. /* This procedure should always be RUN PERSISTENT. Report the error, */
  203. /* then cleanup and return. */
  204. IF NOT THIS-PROCEDURE:PERSISTENT THEN
  205. DO:
  206. MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U
  207. VIEW-AS ALERT-BOX ERROR BUTTONS OK.
  208. RETURN.
  209. END.
  210. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  211. /* ************************* Create Window ************************** */
  212. &ANALYZE-SUSPEND _CREATE-WINDOW
  213. /* DESIGN Window definition (used by the UIB)
  214. CREATE WINDOW vTableWin ASSIGN
  215. HEIGHT = 9.05
  216. WIDTH = 96.
  217. /* END WINDOW DEFINITION */
  218. */
  219. &ANALYZE-RESUME
  220. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB vTableWin
  221. /* ************************* Included-Libraries *********************** */
  222. {src/adm2/viewer.i}
  223. /* _UIB-CODE-BLOCK-END */
  224. &ANALYZE-RESUME
  225. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  226. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  227. /* SETTINGS FOR WINDOW vTableWin
  228. VISIBLE,,RUN-PERSISTENT */
  229. /* SETTINGS FOR FRAME F-Main
  230. NOT-VISIBLE FRAME-NAME Size-to-Fit */
  231. ASSIGN
  232. FRAME F-Main:SCROLLABLE = FALSE
  233. FRAME F-Main:HIDDEN = TRUE.
  234. /* SETTINGS FOR TOGGLE-BOX RowObject.Admin IN FRAME F-Main
  235. EXP-LABEL */
  236. /* SETTINGS FOR FILL-IN RowObject.Aktiv IN FRAME F-Main
  237. NO-ENABLE */
  238. ASSIGN
  239. RowObject.Aktiv:HIDDEN IN FRAME F-Main = TRUE
  240. RowObject.Aktiv:READ-ONLY IN FRAME F-Main = TRUE.
  241. /* SETTINGS FOR TOGGLE-BOX RowObject.Aussendienst IN FRAME F-Main
  242. EXP-LABEL */
  243. /* SETTINGS FOR TOGGLE-BOX RowObject.Fahrer IN FRAME F-Main
  244. EXP-LABEL */
  245. ASSIGN
  246. RowObject.Firma:HIDDEN IN FRAME F-Main = TRUE.
  247. /* SETTINGS FOR FILL-IN RowObject.Knr IN FRAME F-Main
  248. EXP-LABEL EXP-FORMAT */
  249. /* SETTINGS FOR FILL-IN RowObject.Lager IN FRAME F-Main
  250. EXP-FORMAT */
  251. ASSIGN
  252. RowObject.Lager:HIDDEN IN FRAME F-Main = TRUE.
  253. /* SETTINGS FOR TOGGLE-BOX RowObject.lSpez IN FRAME F-Main
  254. EXP-LABEL */
  255. /* SETTINGS FOR TOGGLE-BOX RowObject.Ruester IN FRAME F-Main
  256. EXP-LABEL */
  257. /* SETTINGS FOR FILL-IN RowObject.shaPassword IN FRAME F-Main
  258. NO-ENABLE */
  259. ASSIGN
  260. RowObject.shaPassword:HIDDEN IN FRAME F-Main = TRUE
  261. RowObject.shaPassword:READ-ONLY IN FRAME F-Main = TRUE.
  262. /* SETTINGS FOR FILL-IN RowObject.shaPin IN FRAME F-Main
  263. NO-ENABLE */
  264. ASSIGN
  265. RowObject.shaPin:HIDDEN IN FRAME F-Main = TRUE
  266. RowObject.shaPin:READ-ONLY IN FRAME F-Main = TRUE.
  267. /* SETTINGS FOR FILL-IN RowObject.Sprcd IN FRAME F-Main
  268. EXP-FORMAT */
  269. ASSIGN
  270. RowObject.Sprcd:HIDDEN IN FRAME F-Main = TRUE.
  271. /* _RUN-TIME-ATTRIBUTES-END */
  272. &ANALYZE-RESUME
  273. /* Setting information for Queries and Browse Widgets fields */
  274. &ANALYZE-SUSPEND _QUERY-BLOCK FRAME F-Main
  275. /* Query rebuild information for FRAME F-Main
  276. _Options = "NO-LOCK"
  277. _Query is NOT OPENED
  278. */ /* FRAME F-Main */
  279. &ANALYZE-RESUME
  280. /* ************************ Control Triggers ************************ */
  281. &Scoped-define SELF-NAME RowObject.Admin
  282. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL RowObject.Admin vTableWin
  283. ON RETURN OF RowObject.Admin IN FRAME F-Main /* Administrator */
  284. DO:
  285. APPLY 'TAB' TO SELF.
  286. RETURN NO-APPLY.
  287. END.
  288. /* _UIB-CODE-BLOCK-END */
  289. &ANALYZE-RESUME
  290. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL RowObject.Admin vTableWin
  291. ON VALUE-CHANGED OF RowObject.Admin IN FRAME F-Main /* Administrator */
  292. DO:
  293. IF NOT FMut THEN
  294. DO:
  295. IF SELF:SCREEN-VALUE = 'yes' THEN SELF:SCREEN-VALUE = STRING(FALSE).
  296. ELSE SELF:SCREEN-VALUE = STRING(TRUE ).
  297. END.
  298. END.
  299. /* _UIB-CODE-BLOCK-END */
  300. &ANALYZE-RESUME
  301. &Scoped-define SELF-NAME RowObject.Aussendienst
  302. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL RowObject.Aussendienst vTableWin
  303. ON VALUE-CHANGED OF RowObject.Aussendienst IN FRAME F-Main /* Aussendienst */
  304. DO:
  305. IF NOT FMut THEN
  306. DO:
  307. IF SELF:SCREEN-VALUE = 'yes' THEN SELF:SCREEN-VALUE = STRING(FALSE).
  308. ELSE SELF:SCREEN-VALUE = STRING(TRUE ).
  309. END.
  310. END.
  311. /* _UIB-CODE-BLOCK-END */
  312. &ANALYZE-RESUME
  313. &Scoped-define SELF-NAME CB_Lager
  314. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Lager vTableWin
  315. ON RETURN OF CB_Lager IN FRAME F-Main /* Lager */
  316. DO:
  317. APPLY 'TAB' TO SELF.
  318. RETURN NO-APPLY.
  319. END.
  320. /* _UIB-CODE-BLOCK-END */
  321. &ANALYZE-RESUME
  322. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Lager vTableWin
  323. ON VALUE-CHANGED OF CB_Lager IN FRAME F-Main /* Lager */
  324. DO:
  325. IF NOT FMut THEN SELF:SCREEN-VALUE = rowObject.Lager:SCREEN-VALUE.
  326. rowObject.Lager:SCREEN-VALUE = SELF:SCREEN-VALUE.
  327. END.
  328. /* _UIB-CODE-BLOCK-END */
  329. &ANALYZE-RESUME
  330. &Scoped-define SELF-NAME CB_Mandant
  331. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Mandant vTableWin
  332. ON RETURN OF CB_Mandant IN FRAME F-Main /* Mandant */
  333. DO:
  334. APPLY 'TAB' TO SELF.
  335. RETURN NO-APPLY.
  336. END.
  337. /* _UIB-CODE-BLOCK-END */
  338. &ANALYZE-RESUME
  339. &Scoped-define SELF-NAME CB_Sprache
  340. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Sprache vTableWin
  341. ON RETURN OF CB_Sprache IN FRAME F-Main /* Sprache */
  342. DO:
  343. APPLY 'TAB' TO SELF.
  344. RETURN NO-APPLY.
  345. END.
  346. /* _UIB-CODE-BLOCK-END */
  347. &ANALYZE-RESUME
  348. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Sprache vTableWin
  349. ON VALUE-CHANGED OF CB_Sprache IN FRAME F-Main /* Sprache */
  350. DO:
  351. IF FMut THEN RETURN.
  352. DEFINE VARIABLE Sprcd AS INTEGER NO-UNDO.
  353. Sprcd = INTEGER(rowObject.Sprcd:SCREEN-VALUE IN FRAME {&FRAME-NAME}).
  354. SELF:SCREEN-VALUE = STRING(Sprcd,'999999').
  355. END.
  356. /* _UIB-CODE-BLOCK-END */
  357. &ANALYZE-RESUME
  358. &Scoped-define SELF-NAME RowObject.Fahrer
  359. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL RowObject.Fahrer vTableWin
  360. ON VALUE-CHANGED OF RowObject.Fahrer IN FRAME F-Main /* Fahrer */
  361. DO:
  362. IF NOT FMut THEN
  363. DO:
  364. IF SELF:SCREEN-VALUE = 'yes' THEN SELF:SCREEN-VALUE = STRING(FALSE).
  365. ELSE SELF:SCREEN-VALUE = STRING(TRUE ).
  366. END.
  367. END.
  368. /* _UIB-CODE-BLOCK-END */
  369. &ANALYZE-RESUME
  370. &Scoped-define SELF-NAME RowObject.lSpez
  371. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL RowObject.lSpez vTableWin
  372. ON VALUE-CHANGED OF RowObject.lSpez IN FRAME F-Main /* Spezial */
  373. DO:
  374. IF NOT FMut THEN
  375. DO:
  376. IF SELF:SCREEN-VALUE = 'yes' THEN SELF:SCREEN-VALUE = STRING(FALSE).
  377. ELSE SELF:SCREEN-VALUE = STRING(TRUE ).
  378. END.
  379. END.
  380. /* _UIB-CODE-BLOCK-END */
  381. &ANALYZE-RESUME
  382. &Scoped-define SELF-NAME RowObject.Ruester
  383. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL RowObject.Ruester vTableWin
  384. ON VALUE-CHANGED OF RowObject.Ruester IN FRAME F-Main /* Ruester */
  385. DO:
  386. IF NOT FMut THEN
  387. DO:
  388. IF SELF:SCREEN-VALUE = 'yes' THEN SELF:SCREEN-VALUE = STRING(FALSE).
  389. ELSE SELF:SCREEN-VALUE = STRING(TRUE ).
  390. END.
  391. END.
  392. /* _UIB-CODE-BLOCK-END */
  393. &ANALYZE-RESUME
  394. &UNDEFINE SELF-NAME
  395. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK vTableWin
  396. /* *************************** Main Block *************************** */
  397. { incl/viwmainblock.i }
  398. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
  399. RUN initializeObject.
  400. &ENDIF
  401. /************************ INTERNAL PROCEDURES ********************/
  402. /* _UIB-CODE-BLOCK-END */
  403. &ANALYZE-RESUME
  404. /* ********************** Internal Procedures *********************** */
  405. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE addRecord vTableWin
  406. PROCEDURE addRecord :
  407. /*------------------------------------------------------------------------------
  408. Purpose: Super Override
  409. Parameters:
  410. Notes:
  411. ------------------------------------------------------------------------------*/
  412. FNeu = TRUE.
  413. FMut = TRUE.
  414. FDisp = TRUE.
  415. RUN SUPER.
  416. /* Code placed here will execute AFTER standard behavior. */
  417. END PROCEDURE.
  418. /* _UIB-CODE-BLOCK-END */
  419. &ANALYZE-RESUME
  420. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE cancelRecord vTableWin
  421. PROCEDURE cancelRecord :
  422. /*------------------------------------------------------------------------------
  423. Purpose: Super Override
  424. Parameters:
  425. Notes:
  426. ------------------------------------------------------------------------------*/
  427. FCancel = TRUE.
  428. RUN SUPER.
  429. /* Code placed here will execute AFTER standard behavior. */
  430. END PROCEDURE.
  431. /* _UIB-CODE-BLOCK-END */
  432. &ANALYZE-RESUME
  433. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE copyRecord vTableWin
  434. PROCEDURE copyRecord :
  435. /*------------------------------------------------------------------------------
  436. Purpose: Super Override
  437. Parameters:
  438. Notes:
  439. ------------------------------------------------------------------------------*/
  440. FNeu = TRUE.
  441. FMut = TRUE.
  442. FCopy = TRUE.
  443. FDisp = TRUE.
  444. RUN SUPER.
  445. END PROCEDURE.
  446. /* _UIB-CODE-BLOCK-END */
  447. &ANALYZE-RESUME
  448. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE deleteRecord vTableWin
  449. PROCEDURE deleteRecord :
  450. /*------------------------------------------------------------------------------
  451. Purpose: Super Override
  452. Parameters:
  453. Notes:
  454. ------------------------------------------------------------------------------*/
  455. DEFINE VARIABLE Ja AS LOG NO-UNDO.
  456. DEFINE VARIABLE iRecid AS RECID NO-UNDO.
  457. DEFINE BUFFER bBenutzer FOR Benutzer.
  458. Ja = DYNAMIC-FUNCTION( 'ANTWORT_NEIN':U, INPUT 1000 ).
  459. IF NOT Ja THEN
  460. DO:
  461. RUN TOOLBAR IN hKontainer ( INPUT 'CANCEL':U ) NO-ERROR.
  462. RETURN NO-APPLY.
  463. END.
  464. REPEAT TRANSACTION:
  465. iRecid = DYNAMIC-FUNCTION('getCurrentRecid':U IN hDaten).
  466. IF iRecid = ? OR
  467. iRecid = 0 THEN.
  468. ELSE
  469. DO:
  470. FIND bBenutzer NO-LOCK WHERE RECID(bBenutzer) = iRecid.
  471. FOR EACH Berecht
  472. WHERE Berecht.Mandant = Firma
  473. AND Berecht.Benutzer = bBenutzer.Benutzer:
  474. DELETE Berecht.
  475. END.
  476. FOR EACH FeldBerecht
  477. WHERE FeldBerecht.Firma = Firma
  478. AND FeldBerecht.Benutzer = bBenutzer.Benutzer:
  479. DELETE FeldBerecht.
  480. END.
  481. RELEASE Berecht.
  482. RELEASE FeldBerecht.
  483. END.
  484. RUN SUPER.
  485. LEAVE.
  486. END.
  487. /* Code placed here will execute */
  488. END PROCEDURE.
  489. /* _UIB-CODE-BLOCK-END */
  490. &ANALYZE-RESUME
  491. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disableFields vTableWin
  492. PROCEDURE disableFields :
  493. /*------------------------------------------------------------------------------
  494. Purpose: Super Override
  495. Parameters:
  496. Notes:
  497. ------------------------------------------------------------------------------*/
  498. DEFINE INPUT PARAMETER pcFieldType AS CHARACTER NO-UNDO.
  499. DO WITH FRAME {&FRAME-NAME}:
  500. END.
  501. RUN SUPER( INPUT pcFieldType).
  502. IF NOT VALID-HANDLE(Fenster) THEN Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION.
  503. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&ENABLED-FIELDS}', INPUT TRUE ).
  504. IF NUM-ENTRIES('{&KEY_FELDER}', ',') > 0 THEN
  505. DO:
  506. RUN FARBE_FELDER ( INPUT Fenster, INPUT '{&KEY_FELDER}', INPUT 15 ).
  507. END.
  508. DO WITH FRAME {&FRAME-NAME}:
  509. END.
  510. END PROCEDURE.
  511. /* _UIB-CODE-BLOCK-END */
  512. &ANALYZE-RESUME
  513. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI vTableWin _DEFAULT-DISABLE
  514. PROCEDURE disable_UI :
  515. /*------------------------------------------------------------------------------
  516. Purpose: DISABLE the User Interface
  517. Parameters: <none>
  518. Notes: Here we clean-up the user-interface by deleting
  519. dynamic widgets we have created and/or hide
  520. frames. This procedure is usually called when
  521. we are ready to "clean-up" after running.
  522. ------------------------------------------------------------------------------*/
  523. /* Hide all frames. */
  524. HIDE FRAME F-Main.
  525. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  526. END PROCEDURE.
  527. /* _UIB-CODE-BLOCK-END */
  528. &ANALYZE-RESUME
  529. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE displayFields vTableWin
  530. PROCEDURE displayFields :
  531. /*------------------------------------------------------------------------------
  532. Purpose: Super Override
  533. Parameters:
  534. Notes:
  535. ------------------------------------------------------------------------------*/
  536. DEFINE INPUT PARAMETER pcColValues AS CHARACTER NO-UNDO.
  537. IF NOT FDisp THEN
  538. DO:
  539. FDisp = TRUE.
  540. RETURN.
  541. END.
  542. IF FCancel THEN pcColValues = OldColValues.
  543. IF NOT FNeu THEN OldColValues = pcColValues.
  544. OldColList = DYNAMIC-FUNCTION('getDisplayedFields':U).
  545. IF FNeu THEN RUN FEHLWERTE ( INPUT-OUTPUT pcColValues ).
  546. DO WITH FRAME {&FRAME-NAME}:
  547. END.
  548. RUN SUPER( INPUT pcColValues).
  549. FCancel = FALSE.
  550. DO WITH FRAME {&FRAME-NAME}:
  551. CB_Sprache:SCREEN-VALUE = STRING(INT(rowObject.Sprcd:SCREEN-VALUE),'999999') NO-ERROR.
  552. CB_Mandant:SCREEN-VALUE = rowObject.Firma:SCREEN-VALUE NO-ERROR.
  553. CB_Lager :SCREEN-VALUE = rowObject.Lager:SCREEN-VALUE NO-ERROR.
  554. cOldKennwort = rowObject.Kennwort:SCREEN-VALUE.
  555. cOldPin = rowObject.Pin :SCREEN-VALUE.
  556. END.
  557. END PROCEDURE.
  558. /* _UIB-CODE-BLOCK-END */
  559. &ANALYZE-RESUME
  560. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableFields vTableWin
  561. PROCEDURE enableFields :
  562. /*------------------------------------------------------------------------------
  563. Purpose: Super Override
  564. Parameters:
  565. Notes:
  566. ------------------------------------------------------------------------------*/
  567. /* Code placed here will execute PRIOR to standard behavior. */
  568. /*
  569. RUN SUPER.
  570. */
  571. IF NOT VALID-HANDLE(Fenster) THEN Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION.
  572. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&ENABLED-FIELDS}', INPUT FALSE ).
  573. IF NUM-ENTRIES('{&NUR_LESEN}', ',') > 0 THEN
  574. DO:
  575. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&NUR_LESEN}', INPUT TRUE ).
  576. END.
  577. DO WITH FRAME {&FRAME-NAME}:
  578. END.
  579. IF FNeu THEN RETURN.
  580. IF NUM-ENTRIES('{&KEY_FELDER}', ',') > 0 THEN
  581. DO:
  582. RUN SCHUETZE_FELDER ( INPUT Fenster, INPUT '{&KEY_FELDER}', INPUT TRUE ).
  583. END.
  584. END PROCEDURE.
  585. /* _UIB-CODE-BLOCK-END */
  586. &ANALYZE-RESUME
  587. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject vTableWin
  588. PROCEDURE enableObject :
  589. /*------------------------------------------------------------------------------
  590. Purpose: Super Override
  591. Parameters:
  592. Notes:
  593. ------------------------------------------------------------------------------*/
  594. /* Code placed here will execute PRIOR to standard behavior. */
  595. RUN SUPER.
  596. { incl/viwenableobject.i }
  597. RUN COMBO_SPRACHE ( INPUT CB_Sprache:HANDLE ).
  598. RUN COMBO_MANDANT ( INPUT CB_Mandant:HANDLE ).
  599. RUN COMBO_LAGER ( INPUT CB_Lager :HANDLE ).
  600. END PROCEDURE.
  601. /* _UIB-CODE-BLOCK-END */
  602. &ANALYZE-RESUME
  603. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_FELD_TEST vTableWin
  604. PROCEDURE ENTRY_FELD_TEST :
  605. /*------------------------------------------------------------------------------
  606. Purpose:
  607. Parameters: <none>
  608. Notes:
  609. ------------------------------------------------------------------------------*/
  610. { incl/viwentryfeldtest.i }
  611. DO WITH FRAME {&FRAME-NAME}:
  612. CASE FeldName:
  613. END CASE.
  614. END.
  615. RETURN ''.
  616. END PROCEDURE.
  617. /* _UIB-CODE-BLOCK-END */
  618. &ANALYZE-RESUME
  619. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE FEHLWERTE vTableWin
  620. PROCEDURE FEHLWERTE :
  621. /*------------------------------------------------------------------------------
  622. Purpose:
  623. Parameters: <none>
  624. Notes:
  625. ------------------------------------------------------------------------------*/
  626. DEFINE INPUT-OUTPUT PARAMETER pcColValues AS CHARACTER NO-UNDO.
  627. DEFINE VARIABLE i1 AS INTEGER NO-UNDO.
  628. IF FCancel THEN RETURN.
  629. IF NOT FCopy THEN
  630. DO WITH FRAME {&FRAME-NAME}:
  631. /* i1 = LOOKUP('Feld', oldColList, ',') + 1. */
  632. /* ENTRY(i1, pcColValues, CHR(1)) = 'Fehlwert' NO-ERROR. */
  633. END.
  634. IF FCopy THEN
  635. DO:
  636. END.
  637. END PROCEDURE.
  638. /* _UIB-CODE-BLOCK-END */
  639. &ANALYZE-RESUME
  640. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE generateHash vTableWin
  641. PROCEDURE generateHash :
  642. /*------------------------------------------------------------------------------
  643. Purpose:
  644. Parameters: <none>
  645. Notes:
  646. ------------------------------------------------------------------------------*/
  647. DEFINE INPUT PARAMETER ipAlgorithm AS CHARACTER NO-UNDO. /* SHA512 */
  648. DEFINE INPUT PARAMETER ipPhrase AS CHARACTER NO-UNDO. /* Firma;FahrerNr */
  649. DEFINE INPUT PARAMETER ipKey AS CHARACTER NO-UNDO.
  650. DEFINE OUTPUT PARAMETER opERROR AS LOGICAL INITIAL FALSE NO-UNDO.
  651. DEFINE OUTPUT PARAMETER opMESSAGE AS CHARACTER INITIAL 'NONE' NO-UNDO.
  652. DEFINE OUTPUT PARAMETER opHash AS CHARACTER INITIAL '' NO-UNDO.
  653. IF ipPhrase = '' OR ipPhrase = ? THEN
  654. DO:
  655. ASSIGN
  656. opERROR = TRUE
  657. opMESSAGE = 'Input Error. Value not correct'.
  658. RETURN.
  659. END.
  660. opHash = HEX-ENCODE (MESSAGE-DIGEST (ipAlgorithm, ipPhrase, ipKey)).
  661. END PROCEDURE.
  662. /* _UIB-CODE-BLOCK-END */
  663. &ANALYZE-RESUME
  664. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LEAVE_FELD_TEST vTableWin
  665. PROCEDURE LEAVE_FELD_TEST :
  666. /*------------------------------------------------------------------------------
  667. Purpose:
  668. Parameters: <none>
  669. Notes:
  670. ------------------------------------------------------------------------------*/
  671. { incl/viwleavefeldtest.i }
  672. DO WHILE FNeu WITH FRAME {&FRAME-NAME}:
  673. CASE FeldName:
  674. END CASE.
  675. LEAVE.
  676. END.
  677. CASE FeldName:
  678. WHEN 'Benutzer' THEN
  679. DO:
  680. IF FNeu THEN
  681. DO:
  682. IF CAN-FIND (Benutzer USE-INDEX Benutzer-k1
  683. WHERE Benutzer.Benutzer = FeldInhalt
  684. NO-LOCK )
  685. THEN
  686. DO:
  687. RUN FEHLER ( INPUT 1001 ).
  688. RETURN 'ERROR'.
  689. END.
  690. END.
  691. END.
  692. END CASE.
  693. IF LOOKUP(FeldName, '{&LETZTES_FELD}', ',') > 0 THEN
  694. DO:
  695. DO WHILE TRUE:
  696. IF KEYFUNCTION(LKY) = 'TAB' THEN LEAVE.
  697. IF KEYFUNCTION(LKY) = 'RETURN' THEN LEAVE.
  698. IF KEYFUNCTION(LKY) = 'F9' THEN LEAVE.
  699. RETURN ''.
  700. END.
  701. APPLY 'ALT-S'.
  702. RETURN 'APPLY'.
  703. END.
  704. RETURN ''.
  705. END PROCEDURE.
  706. /* _UIB-CODE-BLOCK-END */
  707. &ANALYZE-RESUME
  708. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE RETURN_FELD vTableWin
  709. PROCEDURE RETURN_FELD :
  710. /*------------------------------------------------------------------------------
  711. Purpose:
  712. Parameters: <none>
  713. Notes:
  714. ------------------------------------------------------------------------------*/
  715. { incl/viwreturnfeld.i }
  716. END PROCEDURE.
  717. /* _UIB-CODE-BLOCK-END */
  718. &ANALYZE-RESUME
  719. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE TEST_EINGABEN vTableWin
  720. PROCEDURE TEST_EINGABEN :
  721. /*------------------------------------------------------------------------------
  722. Purpose:
  723. Parameters: <none>
  724. Notes:
  725. ------------------------------------------------------------------------------*/
  726. DEFINE OUTPUT PARAMETER opJa AS LOG NO-UNDO.
  727. DEFINE VARIABLE eHandle AS HANDLE NO-UNDO.
  728. DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
  729. DEFINE VARIABLE iNummer AS INTEGER NO-UNDO.
  730. DEFINE VARIABLE cMessage AS CHARACTER NO-UNDO.
  731. opJa = FALSE.
  732. eHandle = ?.
  733. IF NOT FMut THEN RETURN.
  734. AAA000:
  735. DO WHILE TRUE WITH FRAME {&FRAME-NAME}:
  736. RUN generateHash ( 'SHA-512',
  737. SUBSTITUTE('&1;&2', Firma, TRIM(STRING(INTEGER(rowObject.FahrerNummer:SCREEN-VALUE),'zzzzz9'))),
  738. rowObject.Pin:SCREEN-VALUE,
  739. OUTPUT opJa,
  740. OUTPUT cMessage,
  741. OUTPUT cString).
  742. rowObject.shaPin:SCREEN-VALUE = cString.
  743. LEAVE.
  744. END.
  745. IF VALID-HANDLE(eHandle) THEN
  746. DO:
  747. APPLY 'ENTRY' TO eHandle.
  748. RETURN NO-APPLY.
  749. END.
  750. opJa = TRUE.
  751. END PROCEDURE.
  752. /* _UIB-CODE-BLOCK-END */
  753. &ANALYZE-RESUME
  754. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE updateMode vTableWin
  755. PROCEDURE updateMode :
  756. /*------------------------------------------------------------------------------
  757. Purpose: Super Override
  758. Parameters:
  759. Notes:
  760. ------------------------------------------------------------------------------*/
  761. DEFINE INPUT PARAMETER pcMode AS CHARACTER NO-UNDO.
  762. CASE pcMode:
  763. WHEN 'updateBegin' THEN
  764. DO:
  765. END.
  766. WHEN 'updateEnd' THEN
  767. DO:
  768. END.
  769. END.
  770. RUN SUPER( INPUT pcMode).
  771. CASE pcMode:
  772. WHEN 'updateBegin' THEN
  773. DO:
  774. FMut = TRUE.
  775. END.
  776. WHEN 'updateEnd' THEN
  777. DO:
  778. FNeu = FALSE.
  779. FMut = FALSE.
  780. FCopy = FALSE.
  781. END.
  782. END.
  783. END PROCEDURE.
  784. /* _UIB-CODE-BLOCK-END */
  785. &ANALYZE-RESUME
  786. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE updateRecord vTableWin
  787. PROCEDURE updateRecord :
  788. /*------------------------------------------------------------------------------
  789. Purpose: Super Override
  790. Parameters:
  791. Notes:
  792. ------------------------------------------------------------------------------*/
  793. DO WITH FRAME {&FRAME-NAME}:
  794. rowObject.Firma:SCREEN-VALUE = CB_Mandant:SCREEN-VALUE.
  795. rowObject.Sprcd:SCREEN-VALUE = CB_Sprache:SCREEN-VALUE.
  796. rowObject.Lager:SCREEN-VALUE = CB_Lager :SCREEN-VALUE.
  797. END.
  798. FNeu = FALSE.
  799. FCopy = FALSE.
  800. RUN SUPER.
  801. /* Code placed here will execute AFTER standard behavior. */
  802. END PROCEDURE.
  803. /* _UIB-CODE-BLOCK-END */
  804. &ANALYZE-RESUME