v-webmenu.w 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782
  1. &ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2
  2. &ANALYZE-RESUME
  3. /* Connected Databases
  4. framework 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-webmenu.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 CB_mandant
  32. &Scoped-define LETZTES_FELD wortindex
  33. &Scoped-define KEY_FELDER CB_mandant,CB_Benutzer,CB_sprcd
  34. &Scoped-define NUR_LESEN mandant,benutzer,sprcd
  35. { incl/viwdefinition.i }
  36. DEFINE VARIABLE iPosition AS INTEGER NO-UNDO.
  37. {src/adm2/widgetprto.i}
  38. /* _UIB-CODE-BLOCK-END */
  39. &ANALYZE-RESUME
  40. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  41. /* ******************** Preprocessor Definitions ******************** */
  42. &Scoped-define PROCEDURE-TYPE SmartDataViewer
  43. &Scoped-define DB-AWARE no
  44. &Scoped-define ADM-CONTAINER FRAME
  45. &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Update-Source,TableIO-Target,GroupAssign-Source,GroupAssign-Target
  46. /* Include file with RowObject temp-table definition */
  47. &Scoped-define DATA-FIELD-DEFS "d-webmenu.i"
  48. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  49. &Scoped-define FRAME-NAME F-Main
  50. /* Standard List Definitions */
  51. &Scoped-Define ENABLED-FIELDS RowObject.mandant RowObject.benutzer ~
  52. RowObject.sprcd RowObject.Position RowObject.stufe RowObject.menutext ~
  53. RowObject.menulink RowObject.wortindex
  54. &Scoped-define ENABLED-TABLES RowObject
  55. &Scoped-define FIRST-ENABLED-TABLE RowObject
  56. &Scoped-Define ENABLED-OBJECTS RECT-2 CB_mandant CB_benutzer CB_sprcd
  57. &Scoped-Define DISPLAYED-FIELDS RowObject.mandant RowObject.benutzer ~
  58. RowObject.sprcd RowObject.Position RowObject.stufe RowObject.menutext ~
  59. RowObject.menulink RowObject.wortindex
  60. &Scoped-define DISPLAYED-TABLES RowObject
  61. &Scoped-define FIRST-DISPLAYED-TABLE RowObject
  62. &Scoped-Define DISPLAYED-OBJECTS CB_mandant CB_benutzer CB_sprcd
  63. /* Custom List Definitions */
  64. /* ADM-ASSIGN-FIELDS,List-2,List-3,List-4,List-5,List-6 */
  65. /* _UIB-PREPROCESSOR-BLOCK-END */
  66. &ANALYZE-RESUME
  67. /* *********************** Control Definitions ********************** */
  68. /* Definitions of the field level widgets */
  69. DEFINE VARIABLE CB_benutzer AS CHARACTER FORMAT "X(256)":U
  70. LABEL "Benutzer"
  71. VIEW-AS COMBO-BOX INNER-LINES 5
  72. LIST-ITEM-PAIRS "Item 1","Item 1"
  73. DROP-DOWN-LIST
  74. SIZE 40 BY 1
  75. BGCOLOR 15 NO-UNDO.
  76. DEFINE VARIABLE CB_mandant AS CHARACTER FORMAT "X(256)":U
  77. LABEL "Mandant"
  78. VIEW-AS COMBO-BOX INNER-LINES 5
  79. LIST-ITEM-PAIRS "Item 1","Item 1"
  80. DROP-DOWN-LIST
  81. SIZE 40 BY 1
  82. BGCOLOR 15 NO-UNDO.
  83. DEFINE VARIABLE CB_sprcd AS CHARACTER FORMAT "X(256)":U
  84. LABEL "Sprache"
  85. VIEW-AS COMBO-BOX INNER-LINES 5
  86. LIST-ITEM-PAIRS "Item 1","Item 1"
  87. DROP-DOWN-LIST
  88. SIZE 40 BY 1
  89. BGCOLOR 15 NO-UNDO.
  90. DEFINE RECTANGLE RECT-2
  91. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  92. SIZE 138 BY 10.
  93. /* ************************ Frame Definitions *********************** */
  94. DEFINE FRAME F-Main
  95. CB_mandant AT ROW 1.52 COL 13 COLON-ALIGNED WIDGET-ID 14
  96. RowObject.mandant AT ROW 2 COL 58 COLON-ALIGNED WIDGET-ID 4
  97. VIEW-AS FILL-IN NATIVE
  98. SIZE 4 BY 1
  99. BGCOLOR 15
  100. RowObject.benutzer AT ROW 2 COL 58 COLON-ALIGNED WIDGET-ID 2
  101. VIEW-AS FILL-IN NATIVE
  102. SIZE 4 BY 1
  103. BGCOLOR 15
  104. RowObject.sprcd AT ROW 2 COL 58 COLON-ALIGNED WIDGET-ID 10 FORMAT "999999"
  105. VIEW-AS FILL-IN NATIVE
  106. SIZE 4 BY 1
  107. BGCOLOR 15
  108. CB_benutzer AT ROW 2.52 COL 13 COLON-ALIGNED WIDGET-ID 16
  109. CB_sprcd AT ROW 3.52 COL 13 COLON-ALIGNED WIDGET-ID 18
  110. RowObject.Position AT ROW 5.52 COL 13 COLON-ALIGNED WIDGET-ID 22
  111. VIEW-AS FILL-IN NATIVE
  112. SIZE 7.6 BY 1
  113. BGCOLOR 15
  114. RowObject.stufe AT ROW 6.52 COL 13 COLON-ALIGNED WIDGET-ID 12
  115. VIEW-AS FILL-IN NATIVE
  116. SIZE 7 BY 1
  117. BGCOLOR 15
  118. RowObject.menutext AT ROW 7.52 COL 13 COLON-ALIGNED WIDGET-ID 8
  119. VIEW-AS FILL-IN NATIVE
  120. SIZE 42 BY 1
  121. BGCOLOR 15
  122. RowObject.menulink AT ROW 8.52 COL 13 COLON-ALIGNED WIDGET-ID 6
  123. VIEW-AS FILL-IN NATIVE
  124. SIZE 42 BY 1
  125. BGCOLOR 15
  126. RowObject.wortindex AT ROW 9.52 COL 4.8 WIDGET-ID 24
  127. LABEL "wortindex" FORMAT "x(1000)"
  128. VIEW-AS FILL-IN NATIVE
  129. SIZE 100 BY 1
  130. BGCOLOR 15
  131. RECT-2 AT ROW 1.24 COL 2 WIDGET-ID 20
  132. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY USE-DICT-EXPS
  133. SIDE-LABELS NO-UNDERLINE THREE-D NO-AUTO-VALIDATE
  134. AT COL 1 ROW 1 SCROLLABLE WIDGET-ID 100.
  135. /* *********************** Procedure Settings ************************ */
  136. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  137. /* Settings for THIS-PROCEDURE
  138. Type: SmartDataViewer
  139. Data Source: "d-webmenu.w"
  140. Allow: Basic,DB-Fields,Smart
  141. Container Links: Data-Target,Update-Source,TableIO-Target,GroupAssign-Source,GroupAssign-Target
  142. Frames: 1
  143. Add Fields to: Neither
  144. Other Settings: PERSISTENT-ONLY COMPILE APPSERVER
  145. Temp-Tables and Buffers:
  146. TABLE: RowObject D "?" NO-UNDO
  147. ADDITIONAL-FIELDS:
  148. {d-webmenu.i}
  149. END-FIELDS.
  150. END-TABLES.
  151. */
  152. /* This procedure should always be RUN PERSISTENT. Report the error, */
  153. /* then cleanup and return. */
  154. IF NOT THIS-PROCEDURE:PERSISTENT THEN DO:
  155. MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U
  156. VIEW-AS ALERT-BOX ERROR BUTTONS OK.
  157. RETURN.
  158. END.
  159. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  160. /* ************************* Create Window ************************** */
  161. &ANALYZE-SUSPEND _CREATE-WINDOW
  162. /* DESIGN Window definition (used by the UIB)
  163. CREATE WINDOW vTableWin ASSIGN
  164. HEIGHT = 10.86
  165. WIDTH = 140.
  166. /* END WINDOW DEFINITION */
  167. */
  168. &ANALYZE-RESUME
  169. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB vTableWin
  170. /* ************************* Included-Libraries *********************** */
  171. {src/adm2/viewer.i}
  172. /* _UIB-CODE-BLOCK-END */
  173. &ANALYZE-RESUME
  174. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  175. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  176. /* SETTINGS FOR WINDOW vTableWin
  177. VISIBLE,,RUN-PERSISTENT */
  178. /* SETTINGS FOR FRAME F-Main
  179. NOT-VISIBLE FRAME-NAME Size-to-Fit */
  180. ASSIGN
  181. FRAME F-Main:SCROLLABLE = FALSE
  182. FRAME F-Main:HIDDEN = TRUE.
  183. ASSIGN
  184. RowObject.benutzer:HIDDEN IN FRAME F-Main = TRUE.
  185. ASSIGN
  186. RowObject.mandant:HIDDEN IN FRAME F-Main = TRUE.
  187. /* SETTINGS FOR FILL-IN RowObject.sprcd IN FRAME F-Main
  188. EXP-FORMAT */
  189. ASSIGN
  190. RowObject.sprcd:HIDDEN IN FRAME F-Main = TRUE.
  191. /* SETTINGS FOR FILL-IN RowObject.wortindex IN FRAME F-Main
  192. ALIGN-L EXP-LABEL EXP-FORMAT */
  193. /* _RUN-TIME-ATTRIBUTES-END */
  194. &ANALYZE-RESUME
  195. /* Setting information for Queries and Browse Widgets fields */
  196. &ANALYZE-SUSPEND _QUERY-BLOCK FRAME F-Main
  197. /* Query rebuild information for FRAME F-Main
  198. _Options = "NO-LOCK"
  199. _Query is NOT OPENED
  200. */ /* FRAME F-Main */
  201. &ANALYZE-RESUME
  202. /* ************************ Control Triggers ************************ */
  203. &Scoped-define SELF-NAME CB_benutzer
  204. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_benutzer vTableWin
  205. ON VALUE-CHANGED OF CB_benutzer IN FRAME F-Main /* Benutzer */
  206. DO:
  207. IF fMut THEN CB_benutzer:SCREEN-VALUE = rowObject.benutzer:SCREEN-VALUE.
  208. rowObject.benutzer:SCREEN-VALUE = SELF:SCREEN-VALUE.
  209. RUN SET_benutzer IN hDaten ( SELF:SCREEN-VALUE).
  210. END.
  211. /* _UIB-CODE-BLOCK-END */
  212. &ANALYZE-RESUME
  213. &Scoped-define SELF-NAME CB_mandant
  214. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_mandant vTableWin
  215. ON VALUE-CHANGED OF CB_mandant IN FRAME F-Main /* Mandant */
  216. DO:
  217. IF fMut THEN CB_mandant:SCREEN-VALUE = rowObject.mandant:SCREEN-VALUE.
  218. rowObject.mandant:SCREEN-VALUE = SELF:SCREEN-VALUE.
  219. RUN SET_MANDANT IN hDaten ( SELF:SCREEN-VALUE).
  220. END.
  221. /* _UIB-CODE-BLOCK-END */
  222. &ANALYZE-RESUME
  223. &Scoped-define SELF-NAME CB_sprcd
  224. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_sprcd vTableWin
  225. ON VALUE-CHANGED OF CB_sprcd IN FRAME F-Main /* Sprache */
  226. DO:
  227. IF fMut THEN CB_sprcd:SCREEN-VALUE = rowObject.sprcd:SCREEN-VALUE.
  228. rowObject.sprcd:SCREEN-VALUE = SELF:SCREEN-VALUE.
  229. RUN SET_sprcd IN hDaten ( SELF:SCREEN-VALUE).
  230. END.
  231. /* _UIB-CODE-BLOCK-END */
  232. &ANALYZE-RESUME
  233. &UNDEFINE SELF-NAME
  234. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK vTableWin
  235. /* *************************** Main Block *************************** */
  236. { incl/viwmainblock.i }
  237. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
  238. RUN initializeObject.
  239. &ENDIF
  240. /************************ INTERNAL PROCEDURES ********************/
  241. /* _UIB-CODE-BLOCK-END */
  242. &ANALYZE-RESUME
  243. /* ********************** Internal Procedures *********************** */
  244. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE addRecord vTableWin
  245. PROCEDURE addRecord :
  246. /*------------------------------------------------------------------------------
  247. Purpose: Super Override
  248. Parameters:
  249. Notes:
  250. ------------------------------------------------------------------------------*/
  251. FNeu = TRUE.
  252. FMut = TRUE.
  253. FDisp = TRUE.
  254. RUN SUPER.
  255. /* Code placed here will execute AFTER standard behavior. */
  256. END PROCEDURE.
  257. /* _UIB-CODE-BLOCK-END */
  258. &ANALYZE-RESUME
  259. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE cancelRecord vTableWin
  260. PROCEDURE cancelRecord :
  261. /*------------------------------------------------------------------------------
  262. Purpose: Super Override
  263. Parameters:
  264. Notes:
  265. ------------------------------------------------------------------------------*/
  266. FCancel = TRUE.
  267. RUN SUPER.
  268. /* Code placed here will execute AFTER standard behavior. */
  269. END PROCEDURE.
  270. /* _UIB-CODE-BLOCK-END */
  271. &ANALYZE-RESUME
  272. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE copyRecord vTableWin
  273. PROCEDURE copyRecord :
  274. /*------------------------------------------------------------------------------
  275. Purpose: Super Override
  276. Parameters:
  277. Notes:
  278. ------------------------------------------------------------------------------*/
  279. FNeu = TRUE.
  280. FMut = TRUE.
  281. FCopy = TRUE.
  282. FDisp = TRUE.
  283. RUN SUPER.
  284. END PROCEDURE.
  285. /* _UIB-CODE-BLOCK-END */
  286. &ANALYZE-RESUME
  287. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE deleteRecord vTableWin
  288. PROCEDURE deleteRecord :
  289. /*------------------------------------------------------------------------------
  290. Purpose: Super Override
  291. Parameters:
  292. Notes:
  293. ------------------------------------------------------------------------------*/
  294. DEF VAR Ja AS LOG NO-UNDO.
  295. Ja = DYNAMIC-FUNCTION( 'ANTWORT_NEIN':U, INPUT 1000 ).
  296. IF NOT Ja THEN DO:
  297. RUN TOOLBAR IN hKontainer ( INPUT 'CANCEL':U ) NO-ERROR.
  298. RETURN NO-APPLY.
  299. END.
  300. /* REPEAT TRANSACTION: */
  301. /* RUN INAKTIVIEREN IN hDaten. */
  302. /* LEAVE. */
  303. /* END. */
  304. /* */
  305. RUN SUPER.
  306. /* Code placed here will execute AFTER standard behavior. */
  307. END PROCEDURE.
  308. /* _UIB-CODE-BLOCK-END */
  309. &ANALYZE-RESUME
  310. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disableFields vTableWin
  311. PROCEDURE disableFields :
  312. /*------------------------------------------------------------------------------
  313. Purpose: Super Override
  314. Parameters:
  315. Notes:
  316. ------------------------------------------------------------------------------*/
  317. DEFINE INPUT PARAMETER pcFieldType AS CHARACTER NO-UNDO.
  318. DO WITH FRAME {&FRAME-NAME}:
  319. END.
  320. RUN SUPER( INPUT pcFieldType).
  321. IF NOT VALID-HANDLE(Fenster) THEN Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION.
  322. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&ENABLED-FIELDS}', INPUT TRUE ).
  323. IF NUM-ENTRIES('{&KEY_FELDER}', ',') > 0 THEN DO:
  324. RUN FARBE_FELDER ( INPUT Fenster, INPUT '{&KEY_FELDER}', INPUT 15 ).
  325. END.
  326. DO WITH FRAME {&FRAME-NAME}:
  327. END.
  328. END PROCEDURE.
  329. /* _UIB-CODE-BLOCK-END */
  330. &ANALYZE-RESUME
  331. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI vTableWin _DEFAULT-DISABLE
  332. PROCEDURE disable_UI :
  333. /*------------------------------------------------------------------------------
  334. Purpose: DISABLE the User Interface
  335. Parameters: <none>
  336. Notes: Here we clean-up the user-interface by deleting
  337. dynamic widgets we have created and/or hide
  338. frames. This procedure is usually called when
  339. we are ready to "clean-up" after running.
  340. ------------------------------------------------------------------------------*/
  341. /* Hide all frames. */
  342. HIDE FRAME F-Main.
  343. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  344. END PROCEDURE.
  345. /* _UIB-CODE-BLOCK-END */
  346. &ANALYZE-RESUME
  347. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE displayFields vTableWin
  348. PROCEDURE displayFields :
  349. /*------------------------------------------------------------------------------
  350. Purpose: Super Override
  351. Parameters:
  352. Notes:
  353. ------------------------------------------------------------------------------*/
  354. DEFINE INPUT PARAMETER pcColValues AS CHARACTER NO-UNDO.
  355. DEFINE BUFFER bwebmenu FOR webmenu.
  356. IF NOT FDisp THEN DO:
  357. FDisp = TRUE.
  358. RETURN.
  359. END.
  360. IF FCancel THEN pcColValues = OldColValues.
  361. IF NOT FNeu THEN OldColValues = pcColValues.
  362. OldColList = DYNAMIC-FUNCTION('getDisplayedFields':U).
  363. IF FNeu THEN RUN FEHLWERTE ( INPUT-OUTPUT pcColValues ).
  364. DO WITH FRAME {&FRAME-NAME}:
  365. END.
  366. RUN SUPER( INPUT pcColValues).
  367. FCancel = FALSE.
  368. DO WITH FRAME {&FRAME-NAME}:
  369. IF FNeu THEN DO:
  370. FIND LAST bwebmenu NO-LOCK
  371. WHERE bwebmenu.mandant = CB_mandant:SCREEN-VALUE
  372. AND bwebmenu.benutzer = CB_benutzer:SCREEN-VALUE
  373. AND bwebmenu.sprcd = INTEGER(CB_sprcd:SCREEN-VALUE) NO-ERROR.
  374. iPosition = (IF AVAILABLE bwebmenu THEN (bwebmenu.POSITION - (bwebmenu.POSITION MOD 10)) + 10 ELSE 10).
  375. rowObject.position:SCREEN-VALUE = STRING(iPosition).
  376. END.
  377. END.
  378. END PROCEDURE.
  379. /* _UIB-CODE-BLOCK-END */
  380. &ANALYZE-RESUME
  381. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableFields vTableWin
  382. PROCEDURE enableFields :
  383. /*------------------------------------------------------------------------------
  384. Purpose: Super Override
  385. Parameters:
  386. Notes:
  387. ------------------------------------------------------------------------------*/
  388. /* Code placed here will execute PRIOR to standard behavior. */
  389. /*
  390. RUN SUPER.
  391. */
  392. IF NOT VALID-HANDLE(Fenster) THEN Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION.
  393. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&ENABLED-FIELDS}', INPUT FALSE ).
  394. IF NUM-ENTRIES('{&NUR_LESEN}', ',') > 0 THEN DO:
  395. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&NUR_LESEN}', INPUT TRUE ).
  396. END.
  397. DO WITH FRAME {&FRAME-NAME}:
  398. END.
  399. IF FNeu THEN RETURN.
  400. IF NUM-ENTRIES('{&KEY_FELDER}', ',') > 0 THEN DO:
  401. RUN SCHUETZE_FELDER ( INPUT Fenster, INPUT '{&KEY_FELDER}', INPUT TRUE ).
  402. END.
  403. END PROCEDURE.
  404. /* _UIB-CODE-BLOCK-END */
  405. &ANALYZE-RESUME
  406. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject vTableWin
  407. PROCEDURE enableObject :
  408. /*------------------------------------------------------------------------------
  409. Purpose: Super Override
  410. Parameters:
  411. Notes:
  412. ------------------------------------------------------------------------------*/
  413. DO WITH FRAME {&FRAME-NAME}:
  414. RUN COMBO_MANDANT ( CB_Mandant :HANDLE ).
  415. RUN COMBO_BENUTZER ( CB_Benutzer:HANDLE ).
  416. RUN COMBO_SPRACHE ( CB_sprcd :HANDLE ).
  417. END.
  418. RUN SUPER.
  419. { incl/viwenableobject.i }
  420. DO WITH FRAME {&FRAME-NAME}:
  421. RUN SET_MANDANT IN hDaten ( CB_Mandant :SCREEN-VALUE ).
  422. CB_Benutzer:SCREEN-VALUE = 'Admin' NO-ERROR.
  423. RUN SET_BENUTZER IN hDaten ( CB_Benutzer:SCREEN-VALUE ).
  424. RUN SET_SPRCD IN hDaten ( 1 ).
  425. RUN SET_OPENFLAG IN hDaten ( TRUE ).
  426. END.
  427. END PROCEDURE.
  428. /* _UIB-CODE-BLOCK-END */
  429. &ANALYZE-RESUME
  430. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_FELD_TEST vTableWin
  431. PROCEDURE ENTRY_FELD_TEST :
  432. /*------------------------------------------------------------------------------
  433. Purpose:
  434. Parameters: <none>
  435. Notes:
  436. ------------------------------------------------------------------------------*/
  437. { incl/viwentryfeldtest.i }
  438. DO WITH FRAME {&FRAME-NAME}:
  439. CASE FeldName:
  440. END CASE.
  441. END.
  442. RETURN ''.
  443. END PROCEDURE.
  444. /* _UIB-CODE-BLOCK-END */
  445. &ANALYZE-RESUME
  446. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE FEHLWERTE vTableWin
  447. PROCEDURE FEHLWERTE :
  448. /*------------------------------------------------------------------------------
  449. Purpose:
  450. Parameters: <none>
  451. Notes:
  452. ------------------------------------------------------------------------------*/
  453. DEF INPUT-OUTPUT PARAMETER pcColValues AS CHAR NO-UNDO.
  454. DEF VAR i1 AS INT NO-UNDO.
  455. IF FCancel THEN RETURN.
  456. IF NOT FCopy THEN DO WITH FRAME {&FRAME-NAME}:
  457. /* i1 = LOOKUP('Feld', oldColList, ',') + 1. */
  458. /* ENTRY(i1, pcColValues, CHR(1)) = 'Fehlwert' NO-ERROR. */
  459. END.
  460. IF FCopy THEN DO:
  461. END.
  462. END PROCEDURE.
  463. /* _UIB-CODE-BLOCK-END */
  464. &ANALYZE-RESUME
  465. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LEAVE_FELD_TEST vTableWin
  466. PROCEDURE LEAVE_FELD_TEST :
  467. /*------------------------------------------------------------------------------
  468. Purpose:
  469. Parameters: <none>
  470. Notes:
  471. ------------------------------------------------------------------------------*/
  472. { incl/viwleavefeldtest.i }
  473. DO WHILE FNeu WITH FRAME {&FRAME-NAME}:
  474. CASE FeldName:
  475. END CASE.
  476. LEAVE.
  477. END.
  478. DO WHILE TRUE WITH FRAME {&FRAME-NAME}:
  479. CASE FeldName:
  480. END CASE.
  481. LEAVE.
  482. END.
  483. IF LOOKUP(FeldName, '{&LETZTES_FELD}', ',') > 0 THEN DO:
  484. DO WHILE TRUE:
  485. IF KEYFUNCTION(LKY) = 'TAB' THEN LEAVE.
  486. IF KEYFUNCTION(LKY) = 'RETURN' THEN LEAVE.
  487. IF KEYFUNCTION(LKY) = 'F9' THEN LEAVE.
  488. RETURN ''.
  489. END.
  490. APPLY 'ALT-S'.
  491. RETURN 'APPLY'.
  492. END.
  493. RETURN ''.
  494. END PROCEDURE.
  495. /* _UIB-CODE-BLOCK-END */
  496. &ANALYZE-RESUME
  497. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE RETURN_FELD vTableWin
  498. PROCEDURE RETURN_FELD :
  499. /*------------------------------------------------------------------------------
  500. Purpose:
  501. Parameters: <none>
  502. Notes:
  503. ------------------------------------------------------------------------------*/
  504. { incl/viwreturnfeld.i }
  505. END PROCEDURE.
  506. /* _UIB-CODE-BLOCK-END */
  507. &ANALYZE-RESUME
  508. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE TEST_EINGABEN vTableWin
  509. PROCEDURE TEST_EINGABEN :
  510. /*------------------------------------------------------------------------------
  511. Purpose:
  512. Parameters: <none>
  513. Notes:
  514. ------------------------------------------------------------------------------*/
  515. DEF OUTPUT PARAMETER opJa AS LOG NO-UNDO.
  516. DEF VAR eHandle AS HANDLE NO-UNDO.
  517. DEF VAR cString AS CHAR NO-UNDO.
  518. DEF VAR iNummer AS INT NO-UNDO.
  519. opJa = FALSE.
  520. eHandle = ?.
  521. IF NOT FMut THEN RETURN.
  522. AAA000:
  523. DO WHILE TRUE WITH FRAME {&FRAME-NAME}:
  524. LEAVE.
  525. END.
  526. IF VALID-HANDLE(eHandle) THEN DO:
  527. APPLY 'ENTRY' TO eHandle.
  528. RETURN NO-APPLY.
  529. END.
  530. opJa = TRUE.
  531. END PROCEDURE.
  532. /* _UIB-CODE-BLOCK-END */
  533. &ANALYZE-RESUME
  534. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE updateMode vTableWin
  535. PROCEDURE updateMode :
  536. /*------------------------------------------------------------------------------
  537. Purpose: Super Override
  538. Parameters:
  539. Notes:
  540. ------------------------------------------------------------------------------*/
  541. DEFINE INPUT PARAMETER pcMode AS CHARACTER NO-UNDO.
  542. CASE pcMode:
  543. WHEN 'updateBegin' THEN DO WITH FRAME {&FRAME-NAME}:
  544. END.
  545. WHEN 'updateEnd' THEN DO:
  546. END.
  547. END.
  548. RUN SUPER( INPUT pcMode).
  549. CASE pcMode:
  550. WHEN 'updateBegin' THEN DO WITH FRAME {&FRAME-NAME}:
  551. FMut = TRUE.
  552. END.
  553. WHEN 'updateEnd' THEN DO:
  554. FNeu = FALSE.
  555. FMut = FALSE.
  556. FCopy = FALSE.
  557. END.
  558. END.
  559. END PROCEDURE.
  560. /* _UIB-CODE-BLOCK-END */
  561. &ANALYZE-RESUME
  562. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE updateRecord vTableWin
  563. PROCEDURE updateRecord :
  564. /*------------------------------------------------------------------------------
  565. Purpose: Super Override
  566. Parameters:
  567. Notes:
  568. ------------------------------------------------------------------------------*/
  569. DO WITH FRAME {&FRAME-NAME}:
  570. ASSIGN
  571. rowObject.mandant :SCREEN-VALUE = CB_mandant :SCREEN-VALUE
  572. rowObject.benutzer:SCREEN-VALUE = CB_benutzer:SCREEN-VALUE
  573. rowObject.sprcd :SCREEN-VALUE = CB_sprcd :SCREEN-VALUE.
  574. IF FNeu THEN DO:
  575. DYNAMIC-FUNCTION('SETMODIFIEDFLAG':U, INPUT Fenster, INPUT TRUE).
  576. END.
  577. END.
  578. FNeu = FALSE.
  579. FCopy = FALSE.
  580. RUN SUPER.
  581. /* Code placed here will execute AFTER standard behavior. */
  582. END PROCEDURE.
  583. /* _UIB-CODE-BLOCK-END */
  584. &ANALYZE-RESUME