v-land.w 23 KB

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