v-artikgrp.w 27 KB

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