v-aufstatus.w 28 KB

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