v-ewkst4.w 23 KB

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