v-aufgebko.w 24 KB

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