v-adrart.w 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722
  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-adrart.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 Kurz
  31. &Scoped-define LETZTES_FELD Bestellung
  32. &Scoped-define KEY_FELDER Kurz
  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-adrart.i"
  54. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  55. &Scoped-define FRAME-NAME F-Main
  56. /* Standard List Definitions */
  57. &Scoped-Define ENABLED-FIELDS RowObject.Kurz RowObject.Bez ~
  58. RowObject.Debitoren RowObject.Bestellung
  59. &Scoped-define ENABLED-TABLES RowObject
  60. &Scoped-define FIRST-ENABLED-TABLE RowObject
  61. &Scoped-Define ENABLED-OBJECTS RECT-1
  62. &Scoped-Define DISPLAYED-FIELDS RowObject.Kurz RowObject.Sprcd ~
  63. RowObject.Firma RowObject.Bez RowObject.Debitoren RowObject.Bestellung
  64. &Scoped-define DISPLAYED-TABLES RowObject
  65. &Scoped-define FIRST-DISPLAYED-TABLE RowObject
  66. /* Custom List Definitions */
  67. /* ADM-ASSIGN-FIELDS,List-2,List-3,List-4,List-5,List-6 */
  68. /* _UIB-PREPROCESSOR-BLOCK-END */
  69. &ANALYZE-RESUME
  70. /* *********************** Control Definitions ********************** */
  71. /* Definitions of the field level widgets */
  72. DEFINE RECTANGLE RECT-1
  73. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  74. SIZE 70 BY 5.24.
  75. /* ************************ Frame Definitions *********************** */
  76. DEFINE FRAME F-Main
  77. RowObject.Kurz AT ROW 1.52 COL 18 COLON-ALIGNED
  78. LABEL "Art" FORMAT "x(04)"
  79. VIEW-AS FILL-IN NATIVE
  80. SIZE 10 BY 1
  81. BGCOLOR 15
  82. RowObject.Sprcd AT ROW 2 COL 38 COLON-ALIGNED
  83. VIEW-AS FILL-IN NATIVE
  84. SIZE 2 BY 1 NO-TAB-STOP
  85. RowObject.Firma AT ROW 2 COL 38 COLON-ALIGNED
  86. VIEW-AS FILL-IN NATIVE
  87. SIZE 2 BY 1 NO-TAB-STOP
  88. RowObject.Bez AT ROW 2.52 COL 18 COLON-ALIGNED
  89. LABEL "Bezeichnung" FORMAT "x(30)"
  90. VIEW-AS FILL-IN NATIVE
  91. SIZE 32 BY 1
  92. BGCOLOR 15
  93. RowObject.Debitoren AT ROW 3.52 COL 20 WIDGET-ID 4
  94. LABEL "Debitoren"
  95. VIEW-AS TOGGLE-BOX
  96. SIZE 14.2 BY 1
  97. RowObject.Bestellung AT ROW 4.52 COL 20 WIDGET-ID 2
  98. LABEL "Bestellung"
  99. VIEW-AS TOGGLE-BOX
  100. SIZE 14.8 BY 1
  101. RECT-1 AT ROW 1.24 COL 2
  102. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY USE-DICT-EXPS
  103. SIDE-LABELS NO-UNDERLINE THREE-D NO-AUTO-VALIDATE
  104. AT COL 1 ROW 1 SCROLLABLE .
  105. /* *********************** Procedure Settings ************************ */
  106. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  107. /* Settings for THIS-PROCEDURE
  108. Type: SmartDataViewer
  109. Data Source: "d-adrart.w"
  110. Allow: Basic,DB-Fields,Smart
  111. Container Links: Data-Target,Update-Source,TableIO-Target,GroupAssign-Source,GroupAssign-Target
  112. Frames: 1
  113. Add Fields to: Neither
  114. Other Settings: PERSISTENT-ONLY COMPILE
  115. Temp-Tables and Buffers:
  116. TABLE: RowObject D "?" ?
  117. ADDITIONAL-FIELDS:
  118. {d-adrart.i}
  119. END-FIELDS.
  120. END-TABLES.
  121. */
  122. /* This procedure should always be RUN PERSISTENT. Report the error, */
  123. /* then cleanup and return. */
  124. IF NOT THIS-PROCEDURE:PERSISTENT THEN DO:
  125. MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U
  126. VIEW-AS ALERT-BOX ERROR BUTTONS OK.
  127. RETURN.
  128. END.
  129. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  130. /* ************************* Create Window ************************** */
  131. &ANALYZE-SUSPEND _CREATE-WINDOW
  132. /* DESIGN Window definition (used by the UIB)
  133. CREATE WINDOW vTableWin ASSIGN
  134. HEIGHT = 5.71
  135. WIDTH = 72.
  136. /* END WINDOW DEFINITION */
  137. */
  138. &ANALYZE-RESUME
  139. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB vTableWin
  140. /* ************************* Included-Libraries *********************** */
  141. {src/adm2/viewer.i}
  142. /* _UIB-CODE-BLOCK-END */
  143. &ANALYZE-RESUME
  144. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  145. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  146. /* SETTINGS FOR WINDOW vTableWin
  147. VISIBLE,,RUN-PERSISTENT */
  148. /* SETTINGS FOR FRAME F-Main
  149. NOT-VISIBLE FRAME-NAME Size-to-Fit */
  150. ASSIGN
  151. FRAME F-Main:SCROLLABLE = FALSE
  152. FRAME F-Main:HIDDEN = TRUE.
  153. /* SETTINGS FOR TOGGLE-BOX RowObject.Bestellung IN FRAME F-Main
  154. EXP-LABEL */
  155. /* SETTINGS FOR FILL-IN RowObject.Bez IN FRAME F-Main
  156. EXP-LABEL EXP-FORMAT */
  157. /* SETTINGS FOR TOGGLE-BOX RowObject.Debitoren IN FRAME F-Main
  158. EXP-LABEL */
  159. /* SETTINGS FOR FILL-IN RowObject.Firma IN FRAME F-Main
  160. NO-ENABLE */
  161. ASSIGN
  162. RowObject.Firma:HIDDEN IN FRAME F-Main = TRUE
  163. RowObject.Firma:READ-ONLY IN FRAME F-Main = TRUE.
  164. /* SETTINGS FOR FILL-IN RowObject.Kurz IN FRAME F-Main
  165. EXP-LABEL EXP-FORMAT */
  166. /* SETTINGS FOR FILL-IN RowObject.Sprcd IN FRAME F-Main
  167. NO-ENABLE */
  168. ASSIGN
  169. RowObject.Sprcd:HIDDEN IN FRAME F-Main = TRUE
  170. RowObject.Sprcd:READ-ONLY IN FRAME F-Main = TRUE.
  171. /* _RUN-TIME-ATTRIBUTES-END */
  172. &ANALYZE-RESUME
  173. /* Setting information for Queries and Browse Widgets fields */
  174. &ANALYZE-SUSPEND _QUERY-BLOCK FRAME F-Main
  175. /* Query rebuild information for FRAME F-Main
  176. _Options = "NO-LOCK"
  177. _Query is NOT OPENED
  178. */ /* FRAME F-Main */
  179. &ANALYZE-RESUME
  180. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK vTableWin
  181. /* *************************** Main Block *************************** */
  182. SAktiv = DYNAMIC-FUNCTION('getSuperAktiv':U) NO-ERROR.
  183. IF SAktiv THEN Firma = DYNAMIC-FUNCTION('GETMANDANT':U) NO-ERROR.
  184. /* Triggers ------------------------------------------------------ */
  185. ON 'RETURN':U OF FRAME {&FRAME-NAME} ANYWHERE
  186. DO:
  187. RUN RETURN_FELD ( INPUT SELF:HANDLE ).
  188. IF RETURN-VALUE = 'TAB' THEN DO:
  189. APPLY 'TAB' TO SELF.
  190. RETURN NO-APPLY.
  191. END.
  192. END.
  193. ON 'ENTRY':U OF FRAME {&FRAME-NAME} ANYWHERE
  194. DO:
  195. RUN ENTRY_FELD_TEST ( INPUT SELF:HANDLE ).
  196. IF RETURN-VALUE = 'ERROR' THEN DO:
  197. APPLY 'ENTRY' TO SELF.
  198. RETURN NO-APPLY.
  199. END.
  200. IF RETURN-VALUE = 'APPLY' THEN DO:
  201. RETURN NO-APPLY.
  202. END.
  203. END.
  204. ON 'LEAVE':U OF FRAME {&FRAME-NAME} ANYWHERE
  205. DO:
  206. RUN LEAVE_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. &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
  216. RUN initializeObject.
  217. &ENDIF
  218. /************************ INTERNAL PROCEDURES ********************/
  219. /* _UIB-CODE-BLOCK-END */
  220. &ANALYZE-RESUME
  221. /* ********************** Internal Procedures *********************** */
  222. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE addRecord vTableWin
  223. PROCEDURE addRecord :
  224. /*------------------------------------------------------------------------------
  225. Purpose: Super Override
  226. Parameters:
  227. Notes:
  228. ------------------------------------------------------------------------------*/
  229. FNeu = TRUE.
  230. FMut = TRUE.
  231. RUN SUPER.
  232. END PROCEDURE.
  233. /* _UIB-CODE-BLOCK-END */
  234. &ANALYZE-RESUME
  235. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE cancelRecord vTableWin
  236. PROCEDURE cancelRecord :
  237. /*------------------------------------------------------------------------------
  238. Purpose: Super Override
  239. Parameters:
  240. Notes:
  241. ------------------------------------------------------------------------------*/
  242. /* Code placed here will execute PRIOR to standard behavior. */
  243. RUN SUPER.
  244. /* Code placed here will execute AFTER standard behavior. */
  245. END PROCEDURE.
  246. /* _UIB-CODE-BLOCK-END */
  247. &ANALYZE-RESUME
  248. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE copyRecord vTableWin
  249. PROCEDURE copyRecord :
  250. /*------------------------------------------------------------------------------
  251. Purpose: Super Override
  252. Parameters:
  253. Notes:
  254. ------------------------------------------------------------------------------*/
  255. FNeu = TRUE.
  256. FMut = TRUE.
  257. FCopy = TRUE.
  258. RUN SUPER.
  259. END PROCEDURE.
  260. /* _UIB-CODE-BLOCK-END */
  261. &ANALYZE-RESUME
  262. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE deleteRecord vTableWin
  263. PROCEDURE deleteRecord :
  264. /*------------------------------------------------------------------------------
  265. Purpose: Super Override
  266. Parameters:
  267. Notes:
  268. ------------------------------------------------------------------------------*/
  269. DEF VAR Ja AS LOG NO-UNDO.
  270. Ja = DYNAMIC-FUNCTION( 'ANTWORT_JA':U, INPUT 1000 ).
  271. IF NOT Ja THEN DO:
  272. PUBLISH 'TOOLBAR' ( INPUT 'CANCEL':U ).
  273. RETURN NO-APPLY.
  274. END.
  275. RUN SUPER.
  276. /* Code placed here will execute AFTER standard behavior. */
  277. END PROCEDURE.
  278. /* _UIB-CODE-BLOCK-END */
  279. &ANALYZE-RESUME
  280. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disableFields vTableWin
  281. PROCEDURE disableFields :
  282. /*------------------------------------------------------------------------------
  283. Purpose: Super Override
  284. Parameters:
  285. Notes:
  286. ------------------------------------------------------------------------------*/
  287. DEFINE INPUT PARAMETER pcFieldType AS CHARACTER NO-UNDO.
  288. DO WITH FRAME {&FRAME-NAME}:
  289. END.
  290. RUN SUPER( INPUT pcFieldType).
  291. IF NOT VALID-HANDLE(Fenster) THEN Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION.
  292. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&ENABLED-FIELDS}', INPUT TRUE ).
  293. IF NUM-ENTRIES('{&KEY_FELDER}', ',') > 0 THEN DO:
  294. RUN FARBE_FELDER ( INPUT Fenster, INPUT '{&KEY_FELDER}', INPUT 15 ).
  295. END.
  296. DO WITH FRAME {&FRAME-NAME}:
  297. END.
  298. END PROCEDURE.
  299. /* _UIB-CODE-BLOCK-END */
  300. &ANALYZE-RESUME
  301. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI vTableWin _DEFAULT-DISABLE
  302. PROCEDURE disable_UI :
  303. /*------------------------------------------------------------------------------
  304. Purpose: DISABLE the User Interface
  305. Parameters: <none>
  306. Notes: Here we clean-up the user-interface by deleting
  307. dynamic widgets we have created and/or hide
  308. frames. This procedure is usually called when
  309. we are ready to "clean-up" after running.
  310. ------------------------------------------------------------------------------*/
  311. /* Hide all frames. */
  312. HIDE FRAME F-Main.
  313. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  314. END PROCEDURE.
  315. /* _UIB-CODE-BLOCK-END */
  316. &ANALYZE-RESUME
  317. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE displayFields vTableWin
  318. PROCEDURE displayFields :
  319. /*------------------------------------------------------------------------------
  320. Purpose: Super Override
  321. Parameters:
  322. Notes:
  323. ------------------------------------------------------------------------------*/
  324. DEFINE INPUT PARAMETER pcColValues AS CHARACTER NO-UNDO.
  325. OldColValues = pcColValues.
  326. OldColList = DYNAMIC-FUNCTION('getDisplayedFields':U).
  327. IF FNeu THEN RUN FEHLWERTE ( INPUT-OUTPUT pcColValues ).
  328. DO WITH FRAME {&FRAME-NAME}:
  329. END.
  330. RUN SUPER( INPUT pcColValues).
  331. DO WITH FRAME {&FRAME-NAME}:
  332. END.
  333. END PROCEDURE.
  334. /* _UIB-CODE-BLOCK-END */
  335. &ANALYZE-RESUME
  336. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableFields vTableWin
  337. PROCEDURE enableFields :
  338. /*------------------------------------------------------------------------------
  339. Purpose: Super Override
  340. Parameters:
  341. Notes:
  342. ------------------------------------------------------------------------------*/
  343. /* Code placed here will execute PRIOR to standard behavior. */
  344. /*
  345. RUN SUPER.
  346. */
  347. IF NOT VALID-HANDLE(Fenster) THEN Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION.
  348. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&ENABLED-FIELDS}', INPUT FALSE ).
  349. IF NUM-ENTRIES('{&NUR_LESEN}', ',') > 0 THEN DO:
  350. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&NUR_LESEN}', INPUT TRUE ).
  351. END.
  352. DO WITH FRAME {&FRAME-NAME}:
  353. END.
  354. IF FNeu THEN RETURN.
  355. IF NUM-ENTRIES('{&KEY_FELDER}', ',') > 0 THEN DO:
  356. RUN SCHUETZE_FELDER ( INPUT Fenster, INPUT '{&KEY_FELDER}', INPUT TRUE ).
  357. END.
  358. END PROCEDURE.
  359. /* _UIB-CODE-BLOCK-END */
  360. &ANALYZE-RESUME
  361. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject vTableWin
  362. PROCEDURE enableObject :
  363. /*------------------------------------------------------------------------------
  364. Purpose: Super Override
  365. Parameters:
  366. Notes:
  367. ------------------------------------------------------------------------------*/
  368. RUN SUPER.
  369. IF NOT VALID-HANDLE(Fenster) THEN Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION.
  370. IF SAktiv THEN DO:
  371. RUN READONLY_FELDER ( INPUT Fenster, INPUT '{&ENABLED-FIELDS}', INPUT TRUE ).
  372. END.
  373. END PROCEDURE.
  374. /* _UIB-CODE-BLOCK-END */
  375. &ANALYZE-RESUME
  376. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_FELD_TEST vTableWin
  377. PROCEDURE ENTRY_FELD_TEST :
  378. /*------------------------------------------------------------------------------
  379. Purpose:
  380. Parameters: <none>
  381. Notes:
  382. ------------------------------------------------------------------------------*/
  383. DEF INPUT PARAMETER ipHandle AS HANDLE NO-UNDO.
  384. DEF VAR FeldName AS CHAR NO-UNDO.
  385. DEF VAR FeldInhalt AS CHAR NO-UNDO.
  386. FeldName = ''.
  387. FeldInhalt = ''.
  388. IF NOT VALID-HANDLE(ipHandle) THEN RETURN ''.
  389. IF ipHandle:TYPE = 'FRAME' THEN RETURN ''.
  390. IF ipHandle:TYPE = 'WINDOW' THEN RETURN ''.
  391. FeldName = ipHandle:NAME.
  392. IF ipHandle:TYPE = 'FILL-IN' OR
  393. ipHandle:TYPE = 'COMBO-BOX' OR
  394. ipHandle:TYPE = 'TOGGLE-BOX' THEN FeldInhalt = ipHandle:SCREEN-VALUE.
  395. RETURN ''.
  396. END PROCEDURE.
  397. /* _UIB-CODE-BLOCK-END */
  398. &ANALYZE-RESUME
  399. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE FEHLWERTE vTableWin
  400. PROCEDURE FEHLWERTE :
  401. /*------------------------------------------------------------------------------
  402. Purpose:
  403. Parameters: <none>
  404. Notes:
  405. ------------------------------------------------------------------------------*/
  406. DEF INPUT-OUTPUT PARAMETER pcColValues AS CHAR NO-UNDO.
  407. DEF VAR Firma AS CHAR NO-UNDO.
  408. DEF VAR Sprcd AS INT NO-UNDO.
  409. DEF VAR i1 AS INT NO-UNDO.
  410. Firma = DYNAMIC-FUNCTION('GETADMANDANT':U) NO-ERROR.
  411. Sprcd = DYNAMIC-FUNCTION('GETSPRCD':U) NO-ERROR.
  412. i1 = LOOKUP('Firma', oldColList, ',') + 1.
  413. ENTRY(i1, pcColValues, CHR(1)) = Firma NO-ERROR.
  414. i1 = LOOKUP('Sprcd', oldColList, ',') + 1.
  415. ENTRY(i1, pcColValues, CHR(1)) = STRING(Sprcd) NO-ERROR.
  416. IF FCopy THEN DO:
  417. END.
  418. OldColValues = pcColValues.
  419. END PROCEDURE.
  420. /* _UIB-CODE-BLOCK-END */
  421. &ANALYZE-RESUME
  422. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LEAVE_FELD_TEST vTableWin
  423. PROCEDURE LEAVE_FELD_TEST :
  424. /*------------------------------------------------------------------------------
  425. Purpose:
  426. Parameters: <none>
  427. Notes:
  428. ------------------------------------------------------------------------------*/
  429. DEF INPUT PARAMETER ipHandle AS HANDLE NO-UNDO.
  430. DEF VAR FeldName AS CHAR NO-UNDO.
  431. DEF VAR FeldInhalt AS CHAR NO-UNDO.
  432. DEF VAR ix AS INT NO-UNDO.
  433. DEF VAR Firma AS CHAR NO-UNDO.
  434. DEF VAR Sprcd AS INT NO-UNDO.
  435. IF FMut = FALSE THEN RETURN ''.
  436. FeldName = ''.
  437. FeldInhalt = ''.
  438. IF NOT VALID-HANDLE(ipHandle) THEN RETURN ''.
  439. IF ipHandle:TYPE = 'FRAME' THEN RETURN ''.
  440. IF ipHandle:TYPE = 'WINDOW' THEN RETURN ''.
  441. FeldName = ipHandle:NAME.
  442. IF ipHandle:TYPE = 'FILL-IN' OR
  443. ipHandle:TYPE = 'COMBO-BOX' OR
  444. ipHandle:TYPE = 'TOGGLE-BOX' THEN FeldInhalt = ipHandle:SCREEN-VALUE.
  445. DO WITH FRAME {&FRAME-NAME}:
  446. CASE FeldName:
  447. WHEN 'Kurz' THEN DO:
  448. IF FNeu THEN DO:
  449. Firma = rowObject.Firma:SCREEN-VALUE.
  450. Sprcd = INTEGER(rowObject.Sprcd:SCREEN-VALUE).
  451. IF CAN-FIND (AdrArt USE-INDEX AdrArt-k1
  452. WHERE AdrArt.Firma = Firma
  453. AND AdrArt.Sprcd = Sprcd
  454. AND AdrArt.Kurz = FeldInhalt NO-LOCK)
  455. THEN DO:
  456. RUN FEHLER ( INPUT 1010 ).
  457. RETURN 'ERROR'.
  458. END.
  459. END.
  460. ipHandle:SCREEN-VALUE = CAPS(FeldInhalt).
  461. END.
  462. END CASE.
  463. END.
  464. IF LOOKUP(FeldName, '{&LETZTES_FELD}', ',') > 0 THEN DO:
  465. APPLY 'ALT-S'.
  466. RETURN 'APPLY'.
  467. END.
  468. RETURN ''.
  469. END PROCEDURE.
  470. /* _UIB-CODE-BLOCK-END */
  471. &ANALYZE-RESUME
  472. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE RETURN_FELD vTableWin
  473. PROCEDURE RETURN_FELD :
  474. /*------------------------------------------------------------------------------
  475. Purpose:
  476. Parameters: <none>
  477. Notes:
  478. ------------------------------------------------------------------------------*/
  479. DEF INPUT PARAMETER ipHandle AS HANDLE NO-UNDO.
  480. DEF VAR FeldName AS CHAR NO-UNDO.
  481. IF FMut = FALSE THEN RETURN ''.
  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 LOOKUP(FeldName, '{&ENABLED-FIELDS}', ' ') > 0 THEN DO:
  487. RETURN 'TAB'.
  488. END.
  489. FeldName = 'rowObject.' + FeldName.
  490. IF LOOKUP(FeldName, '{&ENABLED-FIELDS}', ' ') > 0 THEN DO:
  491. RETURN 'TAB'.
  492. END.
  493. RETURN ''.
  494. END PROCEDURE.
  495. /* _UIB-CODE-BLOCK-END */
  496. &ANALYZE-RESUME
  497. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE updateMode vTableWin
  498. PROCEDURE updateMode :
  499. /*------------------------------------------------------------------------------
  500. Purpose: Super Override
  501. Parameters:
  502. Notes:
  503. ------------------------------------------------------------------------------*/
  504. DEFINE INPUT PARAMETER pcMode AS CHARACTER NO-UNDO.
  505. CASE pcMode:
  506. WHEN 'updateBegin' THEN DO:
  507. END.
  508. WHEN 'updateEnd' THEN DO:
  509. END.
  510. END.
  511. RUN SUPER( INPUT pcMode).
  512. CASE pcMode:
  513. WHEN 'updateBegin' THEN DO:
  514. FMut = TRUE.
  515. END.
  516. WHEN 'updateEnd' THEN DO:
  517. FNeu = FALSE.
  518. FMut = FALSE.
  519. FCopy = FALSE.
  520. END.
  521. END.
  522. END PROCEDURE.
  523. /* _UIB-CODE-BLOCK-END */
  524. &ANALYZE-RESUME
  525. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE updateRecord vTableWin
  526. PROCEDURE updateRecord :
  527. /*------------------------------------------------------------------------------
  528. Purpose: Super Override
  529. Parameters:
  530. Notes:
  531. ------------------------------------------------------------------------------*/
  532. DO WITH FRAME {&FRAME-NAME}:
  533. rowObject.Firma:MODIFIED = TRUE.
  534. rowObject.Sprcd:MODIFIED = TRUE.
  535. END.
  536. RUN SUPER.
  537. /* Code placed here will execute AFTER standard behavior. */
  538. END PROCEDURE.
  539. /* _UIB-CODE-BLOCK-END */
  540. &ANALYZE-RESUME