v-selekt-adresse.w 23 KB

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