v-adresse-kopf.w 22 KB

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