v-mwst-code.w 25 KB

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