v-gebrueck.w 27 KB

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