v-ewkst1-inf.w 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698
  1. &ANALYZE-SUSPEND _VERSION-NUMBER AB_v9r12 GUI ADM2
  2. &ANALYZE-RESUME
  3. /* Connected Databases
  4. anadat PROGRESS
  5. */
  6. &Scoped-define WINDOW-NAME CURRENT-WINDOW
  7. /* Temp-Table and Buffer definitions */
  8. DEFINE TEMP-TABLE RowObject
  9. {"d-ewkst1.i"}.
  10. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS vTableWin
  11. /*------------------------------------------------------------------------
  12. File:
  13. Description: from viewer.w - Template for SmartDataViewer objects
  14. Input Parameters:
  15. <none>
  16. Output Parameters:
  17. <none>
  18. ------------------------------------------------------------------------*/
  19. /* This .W file was created with the Progress AppBuilder. */
  20. /*----------------------------------------------------------------------*/
  21. /* Create an unnamed pool to store all the widgets created
  22. by this procedure. This is a good default which assures
  23. that this procedure's triggers and internal procedures
  24. will execute in this procedure's storage, and that proper
  25. cleanup will occur on deletion of the procedure. */
  26. CREATE WIDGET-POOL.
  27. /* *************************** Definitions ************************** */
  28. /* Komma-Trennzeichen */
  29. /* Keyfelder werden beim Mutieren nicht "Enabled" */
  30. &Scoped-define ERSTES_FELD
  31. &Scoped-define LETZTES_FELD
  32. &Scoped-define KEY_FELDER
  33. &Scoped-define NUR_LESEN
  34. /* Parameters Definitions --- */
  35. /* Local Variable Definitions --- */
  36. DEF VAR SAktiv AS LOG NO-UNDO INIT FALSE.
  37. DEF VAR FNeu AS LOG NO-UNDO INIT FALSE.
  38. DEF VAR FMut AS LOG NO-UNDO INIT FALSE.
  39. DEF VAR FCopy AS LOG NO-UNDO INIT FALSE.
  40. DEF VAR FDisp AS LOG NO-UNDO INIT TRUE .
  41. DEF VAR Fenster AS HANDLE NO-UNDO.
  42. DEF VAR oldColValues AS CHAR NO-UNDO.
  43. DEF VAR oldColList AS CHAR NO-UNDO.
  44. DEF VAR Firma AS CHAR NO-UNDO.
  45. /* _UIB-CODE-BLOCK-END */
  46. &ANALYZE-RESUME
  47. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  48. /* ******************** Preprocessor Definitions ******************** */
  49. &Scoped-define PROCEDURE-TYPE SmartDataViewer
  50. &Scoped-define DB-AWARE no
  51. &Scoped-define ADM-CONTAINER FRAME
  52. &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Update-Source,TableIO-Target,GroupAssign-Source,GroupAssign-Target
  53. /* Include file with RowObject temp-table definition */
  54. &Scoped-define DATA-FIELD-DEFS "d-ewkst1.i"
  55. /* Name of first Frame and/or Browse and/or first Query */
  56. &Scoped-define FRAME-NAME F-Main
  57. /* Standard List Definitions */
  58. &Scoped-Define ENABLED-FIELDS RowObject.Cd_1 RowObject.Bezeichnung
  59. &Scoped-define ENABLED-TABLES RowObject
  60. &Scoped-define FIRST-ENABLED-TABLE RowObject
  61. &Scoped-define DISPLAYED-TABLES RowObject
  62. &Scoped-define FIRST-DISPLAYED-TABLE RowObject
  63. &Scoped-Define ENABLED-OBJECTS RECT-5
  64. &Scoped-Define DISPLAYED-FIELDS RowObject.Cd_1 RowObject.Bezeichnung
  65. /* Custom List Definitions */
  66. /* ADM-ASSIGN-FIELDS,List-2,List-3,List-4,List-5,List-6 */
  67. /* _UIB-PREPROCESSOR-BLOCK-END */
  68. &ANALYZE-RESUME
  69. /* *********************** Control Definitions ********************** */
  70. /* Definitions of the field level widgets */
  71. DEFINE RECTANGLE RECT-5
  72. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  73. SIZE 105.8 BY 1.57.
  74. /* ************************ Frame Definitions *********************** */
  75. DEFINE FRAME F-Main
  76. RowObject.Cd_1 AT ROW 1.52 COL 4 COLON-ALIGNED NO-LABEL FORMAT "99"
  77. VIEW-AS FILL-IN NATIVE
  78. SIZE 5 BY 1
  79. BGCOLOR 15 NO-TAB-STOP
  80. RowObject.Bezeichnung AT ROW 1.52 COL 10 COLON-ALIGNED NO-LABEL FORMAT "x(30)"
  81. VIEW-AS FILL-IN NATIVE
  82. SIZE 91 BY 1
  83. BGCOLOR 15 NO-TAB-STOP
  84. RECT-5 AT ROW 1.24 COL 2
  85. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY USE-DICT-EXPS
  86. SIDE-LABELS NO-UNDERLINE THREE-D NO-AUTO-VALIDATE
  87. AT COL 1 ROW 1 SCROLLABLE .
  88. /* *********************** Procedure Settings ************************ */
  89. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  90. /* Settings for THIS-PROCEDURE
  91. Type: SmartDataViewer
  92. Data Source: "d-ewkst1.w"
  93. Allow: Basic,DB-Fields,Smart
  94. Container Links: Data-Target,Update-Source,TableIO-Target,GroupAssign-Source,GroupAssign-Target
  95. Frames: 1
  96. Add Fields to: Neither
  97. Other Settings: PERSISTENT-ONLY COMPILE
  98. Temp-Tables and Buffers:
  99. TABLE: RowObject D "?" ?
  100. ADDITIONAL-FIELDS:
  101. {d-ewkst1.i}
  102. END-FIELDS.
  103. END-TABLES.
  104. */
  105. /* This procedure should always be RUN PERSISTENT. Report the error, */
  106. /* then cleanup and return. */
  107. IF NOT THIS-PROCEDURE:PERSISTENT THEN DO:
  108. MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U
  109. VIEW-AS ALERT-BOX ERROR BUTTONS OK.
  110. RETURN.
  111. END.
  112. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  113. /* ************************* Create Window ************************** */
  114. &ANALYZE-SUSPEND _CREATE-WINDOW
  115. /* DESIGN Window definition (used by the UIB)
  116. CREATE WINDOW vTableWin ASSIGN
  117. HEIGHT = 2.48
  118. WIDTH = 108.2.
  119. /* END WINDOW DEFINITION */
  120. */
  121. &ANALYZE-RESUME
  122. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB vTableWin
  123. /* ************************* Included-Libraries *********************** */
  124. {src/adm2/viewer.i}
  125. /* _UIB-CODE-BLOCK-END */
  126. &ANALYZE-RESUME
  127. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  128. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  129. /* SETTINGS FOR WINDOW vTableWin
  130. VISIBLE,,RUN-PERSISTENT */
  131. /* SETTINGS FOR FRAME F-Main
  132. NOT-VISIBLE Size-to-Fit */
  133. ASSIGN
  134. FRAME F-Main:SCROLLABLE = FALSE
  135. FRAME F-Main:HIDDEN = TRUE.
  136. /* SETTINGS FOR FILL-IN RowObject.Bezeichnung IN FRAME F-Main
  137. EXP-LABEL EXP-FORMAT */
  138. ASSIGN
  139. RowObject.Bezeichnung:READ-ONLY IN FRAME F-Main = TRUE.
  140. /* SETTINGS FOR FILL-IN RowObject.Cd_1 IN FRAME F-Main
  141. EXP-LABEL EXP-FORMAT */
  142. ASSIGN
  143. RowObject.Cd_1:READ-ONLY IN FRAME F-Main = TRUE.
  144. /* _RUN-TIME-ATTRIBUTES-END */
  145. &ANALYZE-RESUME
  146. /* Setting information for Queries and Browse Widgets fields */
  147. &ANALYZE-SUSPEND _QUERY-BLOCK FRAME F-Main
  148. /* Query rebuild information for FRAME F-Main
  149. _Options = "NO-LOCK"
  150. _Query is NOT OPENED
  151. */ /* FRAME F-Main */
  152. &ANALYZE-RESUME
  153. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK vTableWin
  154. /* *************************** Main Block *************************** */
  155. SAktiv = DYNAMIC-FUNCTION('getSuperAktiv':U) NO-ERROR.
  156. IF SAktiv THEN DO:
  157. Firma = DYNAMIC-FUNCTION('GETMANDANT':U) NO-ERROR.
  158. END.
  159. /* Triggers ------------------------------------------------------ */
  160. ON 'RETURN':U OF FRAME {&FRAME-NAME} ANYWHERE
  161. DO:
  162. RUN RETURN_FELD ( INPUT SELF:HANDLE ).
  163. IF RETURN-VALUE = 'TAB' THEN DO:
  164. APPLY 'TAB' TO SELF.
  165. RETURN NO-APPLY.
  166. END.
  167. END.
  168. ON 'ENTRY':U OF FRAME {&FRAME-NAME} ANYWHERE
  169. DO:
  170. RUN ENTRY_FELD_TEST ( INPUT SELF:HANDLE ).
  171. IF RETURN-VALUE = 'ERROR' THEN DO:
  172. APPLY 'ENTRY' TO SELF.
  173. RETURN NO-APPLY.
  174. END.
  175. IF RETURN-VALUE = 'APPLY' THEN DO:
  176. RETURN NO-APPLY.
  177. END.
  178. END.
  179. ON 'LEAVE':U OF FRAME {&FRAME-NAME} ANYWHERE
  180. DO:
  181. RUN LEAVE_FELD_TEST ( INPUT SELF:HANDLE ).
  182. IF RETURN-VALUE = 'ERROR' THEN DO:
  183. APPLY 'ENTRY' TO SELF.
  184. RETURN NO-APPLY.
  185. END.
  186. IF RETURN-VALUE = 'APPLY' THEN DO:
  187. RETURN NO-APPLY.
  188. END.
  189. END.
  190. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
  191. RUN initializeObject.
  192. &ENDIF
  193. /************************ INTERNAL PROCEDURES ********************/
  194. /* _UIB-CODE-BLOCK-END */
  195. &ANALYZE-RESUME
  196. /* ********************** Internal Procedures *********************** */
  197. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE addRecord vTableWin
  198. PROCEDURE addRecord :
  199. /*------------------------------------------------------------------------------
  200. Purpose: Super Override
  201. Parameters:
  202. Notes:
  203. ------------------------------------------------------------------------------*/
  204. END PROCEDURE.
  205. /* _UIB-CODE-BLOCK-END */
  206. &ANALYZE-RESUME
  207. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE cancelRecord vTableWin
  208. PROCEDURE cancelRecord :
  209. /*------------------------------------------------------------------------------
  210. Purpose: Super Override
  211. Parameters:
  212. Notes:
  213. ------------------------------------------------------------------------------*/
  214. /* Code placed here will execute PRIOR to standard behavior. */
  215. RUN SUPER.
  216. /* Code placed here will execute AFTER standard behavior. */
  217. END PROCEDURE.
  218. /* _UIB-CODE-BLOCK-END */
  219. &ANALYZE-RESUME
  220. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE copyRecord vTableWin
  221. PROCEDURE copyRecord :
  222. /*------------------------------------------------------------------------------
  223. Purpose: Super Override
  224. Parameters:
  225. Notes:
  226. ------------------------------------------------------------------------------*/
  227. END PROCEDURE.
  228. /* _UIB-CODE-BLOCK-END */
  229. &ANALYZE-RESUME
  230. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE deleteRecord vTableWin
  231. PROCEDURE deleteRecord :
  232. /*------------------------------------------------------------------------------
  233. Purpose: Super Override
  234. Parameters:
  235. Notes:
  236. ------------------------------------------------------------------------------*/
  237. /* Code placed here will execute AFTER standard behavior. */
  238. END PROCEDURE.
  239. /* _UIB-CODE-BLOCK-END */
  240. &ANALYZE-RESUME
  241. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disableFields vTableWin
  242. PROCEDURE disableFields :
  243. /*------------------------------------------------------------------------------
  244. Purpose: Super Override
  245. Parameters:
  246. Notes:
  247. ------------------------------------------------------------------------------*/
  248. DEFINE INPUT PARAMETER pcFieldType AS CHARACTER NO-UNDO.
  249. DO WITH FRAME {&FRAME-NAME}:
  250. END.
  251. RUN SUPER( INPUT pcFieldType).
  252. IF NOT VALID-HANDLE(Fenster) THEN Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION.
  253. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&ENABLED-FIELDS}', INPUT TRUE ).
  254. IF NUM-ENTRIES('{&KEY_FELDER}', ',') > 0 THEN DO:
  255. RUN FARBE_FELDER ( INPUT Fenster, INPUT '{&KEY_FELDER}', INPUT 15 ).
  256. END.
  257. DO WITH FRAME {&FRAME-NAME}:
  258. END.
  259. END PROCEDURE.
  260. /* _UIB-CODE-BLOCK-END */
  261. &ANALYZE-RESUME
  262. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI vTableWin _DEFAULT-DISABLE
  263. PROCEDURE disable_UI :
  264. /*------------------------------------------------------------------------------
  265. Purpose: DISABLE the User Interface
  266. Parameters: <none>
  267. Notes: Here we clean-up the user-interface by deleting
  268. dynamic widgets we have created and/or hide
  269. frames. This procedure is usually called when
  270. we are ready to "clean-up" after running.
  271. ------------------------------------------------------------------------------*/
  272. /* Hide all frames. */
  273. HIDE FRAME F-Main.
  274. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  275. END PROCEDURE.
  276. /* _UIB-CODE-BLOCK-END */
  277. &ANALYZE-RESUME
  278. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE displayFields vTableWin
  279. PROCEDURE displayFields :
  280. /*------------------------------------------------------------------------------
  281. Purpose: Super Override
  282. Parameters:
  283. Notes:
  284. ------------------------------------------------------------------------------*/
  285. DEFINE INPUT PARAMETER pcColValues AS CHARACTER NO-UNDO.
  286. IF NOT FDisp THEN DO:
  287. FDisp = TRUE.
  288. RETURN.
  289. END.
  290. OldColValues = pcColValues.
  291. OldColList = DYNAMIC-FUNCTION('getDisplayedFields':U).
  292. IF FNeu THEN RUN FEHLWERTE ( INPUT-OUTPUT pcColValues ).
  293. DO WITH FRAME {&FRAME-NAME}:
  294. END.
  295. RUN SUPER( INPUT pcColValues).
  296. DO WITH FRAME {&FRAME-NAME}:
  297. END.
  298. END PROCEDURE.
  299. /* _UIB-CODE-BLOCK-END */
  300. &ANALYZE-RESUME
  301. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableFields vTableWin
  302. PROCEDURE enableFields :
  303. /*------------------------------------------------------------------------------
  304. Purpose: Super Override
  305. Parameters:
  306. Notes:
  307. ------------------------------------------------------------------------------*/
  308. /* Code placed here will execute PRIOR to standard behavior. */
  309. /*
  310. RUN SUPER.
  311. */
  312. IF NOT VALID-HANDLE(Fenster) THEN Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION.
  313. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&ENABLED-FIELDS}', INPUT FALSE ).
  314. IF NUM-ENTRIES('{&NUR_LESEN}', ',') > 0 THEN DO:
  315. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&NUR_LESEN}', INPUT TRUE ).
  316. END.
  317. DO WITH FRAME {&FRAME-NAME}:
  318. END.
  319. IF FNeu THEN RETURN.
  320. IF NUM-ENTRIES('{&KEY_FELDER}', ',') > 0 THEN DO:
  321. RUN SCHUETZE_FELDER ( INPUT Fenster, INPUT '{&KEY_FELDER}', INPUT TRUE ).
  322. END.
  323. END PROCEDURE.
  324. /* _UIB-CODE-BLOCK-END */
  325. &ANALYZE-RESUME
  326. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject vTableWin
  327. PROCEDURE enableObject :
  328. /*------------------------------------------------------------------------------
  329. Purpose: Super Override
  330. Parameters:
  331. Notes:
  332. ------------------------------------------------------------------------------*/
  333. RUN SUPER.
  334. IF NOT VALID-HANDLE(Fenster) THEN Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION.
  335. IF SAktiv THEN DO:
  336. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&ENABLED-FIELDS}', INPUT TRUE ).
  337. END.
  338. END PROCEDURE.
  339. /* _UIB-CODE-BLOCK-END */
  340. &ANALYZE-RESUME
  341. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_FELD_TEST vTableWin
  342. PROCEDURE ENTRY_FELD_TEST :
  343. /*------------------------------------------------------------------------------
  344. Purpose:
  345. Parameters: <none>
  346. Notes:
  347. ------------------------------------------------------------------------------*/
  348. DEF INPUT PARAMETER ipHandle AS HANDLE NO-UNDO.
  349. DEF VAR FeldName AS CHAR NO-UNDO.
  350. DEF VAR FeldInhalt AS CHAR NO-UNDO.
  351. FeldName = ''.
  352. FeldInhalt = ''.
  353. IF NOT VALID-HANDLE(ipHandle) THEN RETURN ''.
  354. IF ipHandle:TYPE = 'FRAME' THEN RETURN ''.
  355. IF ipHandle:TYPE = 'WINDOW' THEN RETURN ''.
  356. FeldName = ipHandle:NAME.
  357. IF ipHandle:TYPE = 'FILL-IN' OR
  358. ipHandle:TYPE = 'COMBO-BOX' OR
  359. ipHandle:TYPE = 'TOGGLE-BOX' THEN FeldInhalt = ipHandle:SCREEN-VALUE.
  360. IF NOT FMut THEN RETURN ''.
  361. DO WITH FRAME {&FRAME-NAME}:
  362. CASE FeldName:
  363. END CASE.
  364. END.
  365. RETURN ''.
  366. END PROCEDURE.
  367. /* _UIB-CODE-BLOCK-END */
  368. &ANALYZE-RESUME
  369. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE FEHLWERTE vTableWin
  370. PROCEDURE FEHLWERTE :
  371. /*------------------------------------------------------------------------------
  372. Purpose:
  373. Parameters: <none>
  374. Notes:
  375. ------------------------------------------------------------------------------*/
  376. DEF INPUT-OUTPUT PARAMETER pcColValues AS CHAR NO-UNDO.
  377. DEF VAR FwFelder AS CHAR NO-UNDO.
  378. DEF VAR FwFeld AS CHAR NO-UNDO.
  379. DEF VAR FwValue AS CHAR NO-UNDO.
  380. DEF VAR ix AS INT NO-UNDO.
  381. DEF VAR i1 AS INT NO-UNDO.
  382. GET-KEY-VALUE SECTION 'Fw???????' KEY ? VALUE FwFelder.
  383. IF NOT FCopy THEN DO:
  384. DO ix = 1 TO NUM-ENTRIES(FwFelder, ','):
  385. FwFeld = ENTRY (ix , FwFelder , ',').
  386. i1 = LOOKUP(FwFeld, oldColList, ',') + 1.
  387. IF i1 < 2 THEN NEXT.
  388. GET-KEY-VALUE SECTION 'Fw???????' KEY FwFeld VALUE FwValue.
  389. ENTRY(i1, pcColValues, CHR(1)) = FwValue NO-ERROR.
  390. END.
  391. END.
  392. IF FCopy THEN DO:
  393. END.
  394. OldColValues = pcColValues.
  395. END PROCEDURE.
  396. /* _UIB-CODE-BLOCK-END */
  397. &ANALYZE-RESUME
  398. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LEAVE_FELD_TEST vTableWin
  399. PROCEDURE LEAVE_FELD_TEST :
  400. /*------------------------------------------------------------------------------
  401. Purpose:
  402. Parameters: <none>
  403. Notes:
  404. ------------------------------------------------------------------------------*/
  405. DEF INPUT PARAMETER ipHandle AS HANDLE NO-UNDO.
  406. DEF VAR FeldName AS CHAR NO-UNDO.
  407. DEF VAR FeldInhalt AS CHAR NO-UNDO.
  408. DEF VAR ix AS INT NO-UNDO.
  409. DEF VAR LKY AS INT NO-UNDO.
  410. DEF VAR hLEAVE AS HANDLE NO-UNDO.
  411. DEF VAR hENTER AS HANDLE NO-UNDO.
  412. DEF VAR Daten AS CHAR NO-UNDO.
  413. IF FMut = FALSE THEN RETURN ''.
  414. LKY = LASTKEY.
  415. hENTER = LAST-EVENT:WIDGET-ENTER.
  416. hLEAVE = LAST-EVENT:WIDGET-LEAVE.
  417. FeldName = ''.
  418. FeldInhalt = ''.
  419. IF NOT VALID-HANDLE(ipHandle) THEN RETURN ''.
  420. IF ipHandle:TYPE = 'FRAME' THEN RETURN ''.
  421. IF ipHandle:TYPE = 'WINDOW' THEN RETURN ''.
  422. FeldName = ipHandle:NAME.
  423. IF ipHandle:TYPE = 'FILL-IN' OR
  424. ipHandle:TYPE = 'COMBO-BOX' OR
  425. ipHandle:TYPE = 'TOGGLE-BOX' THEN FeldInhalt = ipHandle:SCREEN-VALUE.
  426. DO WHILE FNeu:
  427. CASE FeldName:
  428. END CASE.
  429. LEAVE.
  430. END.
  431. IF LOOKUP(FeldName, '{&LETZTES_FELD}', ',') > 0 THEN DO:
  432. DO WHILE TRUE:
  433. IF KEYFUNCTION(LKY) = 'TAB' THEN LEAVE.
  434. IF KEYFUNCTION(LKY) = 'RETURN' THEN LEAVE.
  435. IF KEYFUNCTION(LKY) = 'F9' THEN LEAVE.
  436. RETURN ''.
  437. END.
  438. APPLY 'ALT-S'.
  439. RETURN 'APPLY'.
  440. END.
  441. RETURN ''.
  442. END PROCEDURE.
  443. /* _UIB-CODE-BLOCK-END */
  444. &ANALYZE-RESUME
  445. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE RETURN_FELD vTableWin
  446. PROCEDURE RETURN_FELD :
  447. /*------------------------------------------------------------------------------
  448. Purpose:
  449. Parameters: <none>
  450. Notes:
  451. ------------------------------------------------------------------------------*/
  452. DEF INPUT PARAMETER ipHandle AS HANDLE NO-UNDO.
  453. DEF VAR FeldName AS CHAR NO-UNDO.
  454. IF FMut = FALSE THEN RETURN ''.
  455. IF NOT VALID-HANDLE(ipHandle) THEN RETURN ''.
  456. IF ipHandle:TYPE = 'FRAME' THEN RETURN ''.
  457. IF ipHandle:TYPE = 'WINDOW' THEN RETURN ''.
  458. FeldName = ipHandle:NAME.
  459. IF LOOKUP(FeldName, '{&ENABLED-FIELDS}', ' ') > 0 THEN DO:
  460. RETURN 'TAB'.
  461. END.
  462. IF LOOKUP(FeldName, '{&ENABLED-OBJECTS}', ' ') > 0 THEN DO:
  463. RETURN 'TAB'.
  464. END.
  465. FeldName = 'rowObject.' + FeldName.
  466. IF LOOKUP(FeldName, '{&ENABLED-FIELDS}', ' ') > 0 THEN DO:
  467. RETURN 'TAB'.
  468. END.
  469. IF LOOKUP(FeldName, '{&ENABLED-OBJECTS}', ' ') > 0 THEN DO:
  470. RETURN 'TAB'.
  471. END.
  472. RETURN ''.
  473. END PROCEDURE.
  474. /* _UIB-CODE-BLOCK-END */
  475. &ANALYZE-RESUME
  476. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE updateMode vTableWin
  477. PROCEDURE updateMode :
  478. /*------------------------------------------------------------------------------
  479. Purpose: Super Override
  480. Parameters:
  481. Notes:
  482. ------------------------------------------------------------------------------*/
  483. DEFINE INPUT PARAMETER pcMode AS CHARACTER NO-UNDO.
  484. CASE pcMode:
  485. WHEN 'updateBegin' THEN DO:
  486. END.
  487. WHEN 'updateEnd' THEN DO:
  488. END.
  489. END.
  490. RUN SUPER( INPUT pcMode).
  491. CASE pcMode:
  492. WHEN 'updateBegin' THEN DO:
  493. FMut = TRUE.
  494. END.
  495. WHEN 'updateEnd' THEN DO:
  496. FNeu = FALSE.
  497. FMut = FALSE.
  498. FCopy = FALSE.
  499. END.
  500. END.
  501. END PROCEDURE.
  502. /* _UIB-CODE-BLOCK-END */
  503. &ANALYZE-RESUME
  504. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE updateRecord vTableWin
  505. PROCEDURE updateRecord :
  506. /*------------------------------------------------------------------------------
  507. Purpose: Super Override
  508. Parameters:
  509. Notes:
  510. ------------------------------------------------------------------------------*/
  511. DO WITH FRAME {&FRAME-NAME}:
  512. END.
  513. FNeu = FALSE.
  514. FCopy = FALSE.
  515. RUN SUPER.
  516. /* Code placed here will execute AFTER standard behavior. */
  517. END PROCEDURE.
  518. /* _UIB-CODE-BLOCK-END */
  519. &ANALYZE-RESUME