v-mandant.w 20 KB

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