v-besrart.w 27 KB

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