v-bankst.w 25 KB

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