g-spezpreismut.w 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684
  1. &ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2
  2. &ANALYZE-RESUME
  3. &Scoped-define WINDOW-NAME CURRENT-WINDOW
  4. &Scoped-define FRAME-NAME gSpezPreismutationen
  5. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS gSpezPreismutationen
  6. /*------------------------------------------------------------------------
  7. File:
  8. Description: from cntnrdlg.w - ADM2 SmartDialog Template
  9. Input Parameters:
  10. <none>
  11. Output Parameters:
  12. <none>
  13. Author:
  14. Created:
  15. ------------------------------------------------------------------------*/
  16. /* This .W file was created with the Progress AppBuilder. */
  17. /*----------------------------------------------------------------------*/
  18. /* Create an unnamed pool to store all the widgets created
  19. by this procedure. This is a good default which assures
  20. that this procedure's triggers and internal procedures
  21. will execute in this procedure's storage, and that proper
  22. cleanup will occur on deletion of the procedure. */
  23. CREATE WIDGET-POOL.
  24. /* *************************** Definitions ************************** */
  25. /* Parameters Definitions --- */
  26. /* Local Variable Definitions --- */
  27. DEF VAR MaxPage AS INT NO-UNDO.
  28. DEF VAR AktSeite AS INT NO-UNDO.
  29. DEF VAR FMutFlag AS LOG NO-UNDO.
  30. DEF VAR Firma AS CHAR NO-UNDO.
  31. DEF VAR ok AS LOG NO-UNDO.
  32. DEF VAR AddText AS CHAR NO-UNDO.
  33. DEF VAR VWGrp AS INT NO-UNDO.
  34. DEF TEMP-TABLE TArtPreis LIKE ArtPreis.
  35. DEF BUFFER BArtPreis FOR ArtPreis.
  36. /* _UIB-CODE-BLOCK-END */
  37. &ANALYZE-RESUME
  38. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  39. /* ******************** Preprocessor Definitions ******************** */
  40. &Scoped-define PROCEDURE-TYPE SmartDialog
  41. &Scoped-define DB-AWARE no
  42. &Scoped-define ADM-CONTAINER DIALOG-BOX
  43. &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  44. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  45. &Scoped-define FRAME-NAME gSpezPreismutationen
  46. /* Standard List Definitions */
  47. &Scoped-Define ENABLED-OBJECTS RECT-5 F_Datum CB_PreisGrp CB_WGrp CB_PGrp ~
  48. F_vonArtnr F_bisArtnr F_vonInhalt F_bisInhalt F_vonJahr F_bisJahr CB_Land ~
  49. CB_Hersteller F_bisDatum R_Runden CB_Art F_Wert Btn_OK Btn_Cancel
  50. &Scoped-Define DISPLAYED-OBJECTS F_Datum CB_PreisGrp CB_WGrp CB_PGrp ~
  51. F_vonArtnr F_bisArtnr F_vonInhalt F_bisInhalt F_vonJahr F_bisJahr CB_Land ~
  52. CB_Hersteller R_Runden CB_Art F_Wert
  53. /* Custom List Definitions */
  54. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  55. &Scoped-define List-6 F_Datum F_vonArtnr F_bisArtnr F_vonInhalt F_bisInhalt ~
  56. F_vonJahr F_bisJahr F_bisDatum R_Runden F_Wert
  57. /* _UIB-PREPROCESSOR-BLOCK-END */
  58. &ANALYZE-RESUME
  59. /* *********************** Control Definitions ********************** */
  60. /* Define a dialog box */
  61. /* Definitions of the field level widgets */
  62. DEFINE BUTTON Btn_Cancel AUTO-END-KEY
  63. LABEL "&Abbrechen"
  64. SIZE 15 BY 1
  65. BGCOLOR 15 .
  66. DEFINE BUTTON Btn_OK
  67. LABEL "&Starten"
  68. SIZE 15 BY 1
  69. BGCOLOR 15 .
  70. DEFINE VARIABLE CB_Art AS CHARACTER FORMAT "X(256)":U
  71. LABEL "Auf-/Abschlagsart"
  72. VIEW-AS COMBO-BOX INNER-LINES 5
  73. LIST-ITEMS "Prozent","Betrag"
  74. DROP-DOWN-LIST
  75. SIZE 25 BY 1
  76. BGCOLOR 15 NO-UNDO.
  77. DEFINE VARIABLE CB_Hersteller AS CHARACTER FORMAT "X(256)":U
  78. LABEL "Hersteller"
  79. VIEW-AS COMBO-BOX INNER-LINES 5
  80. LIST-ITEM-PAIRS "Item 1","Item 1"
  81. DROP-DOWN-LIST
  82. SIZE 40 BY 1
  83. BGCOLOR 15 NO-UNDO.
  84. DEFINE VARIABLE CB_Land AS CHARACTER FORMAT "X(256)":U
  85. LABEL "Herkunftsland"
  86. VIEW-AS COMBO-BOX INNER-LINES 5
  87. LIST-ITEM-PAIRS "Item 1","Item 1"
  88. DROP-DOWN-LIST
  89. SIZE 40 BY 1
  90. BGCOLOR 15 NO-UNDO.
  91. DEFINE VARIABLE CB_PGrp AS CHARACTER FORMAT "X(256)":U
  92. LABEL "Produktegruppe"
  93. VIEW-AS COMBO-BOX INNER-LINES 5
  94. LIST-ITEM-PAIRS "Item 1","Item 1"
  95. DROP-DOWN-LIST
  96. SIZE 40 BY 1
  97. BGCOLOR 15 NO-UNDO.
  98. DEFINE VARIABLE CB_PreisGrp AS CHARACTER FORMAT "X(256)":U
  99. LABEL "Preisgruppe"
  100. VIEW-AS COMBO-BOX INNER-LINES 5
  101. LIST-ITEM-PAIRS "Item 1","Item 1"
  102. DROP-DOWN-LIST
  103. SIZE 40 BY 1
  104. BGCOLOR 15 NO-UNDO.
  105. DEFINE VARIABLE CB_WGrp AS CHARACTER FORMAT "X(256)":U
  106. LABEL "Warengruppe"
  107. VIEW-AS COMBO-BOX INNER-LINES 5
  108. LIST-ITEM-PAIRS "Item 1","Item 1"
  109. DROP-DOWN-LIST
  110. SIZE 40 BY 1
  111. BGCOLOR 15 NO-UNDO.
  112. DEFINE VARIABLE F_bisArtnr AS INTEGER FORMAT "zzzzz9":U INITIAL 0
  113. LABEL "-"
  114. VIEW-AS FILL-IN NATIVE
  115. SIZE 11 BY 1
  116. BGCOLOR 15 NO-UNDO.
  117. DEFINE VARIABLE F_bisDatum AS DATE FORMAT "99.99.9999":U
  118. LABEL "gültig bis Datum"
  119. VIEW-AS FILL-IN NATIVE
  120. SIZE 16 BY 1
  121. BGCOLOR 15 NO-UNDO.
  122. DEFINE VARIABLE F_bisInhalt AS INTEGER FORMAT "zzz9":U INITIAL 0
  123. LABEL "-"
  124. VIEW-AS FILL-IN NATIVE
  125. SIZE 8 BY 1
  126. BGCOLOR 15 NO-UNDO.
  127. DEFINE VARIABLE F_bisJahr AS INTEGER FORMAT "zzz9":U INITIAL 0
  128. LABEL "-"
  129. VIEW-AS FILL-IN NATIVE
  130. SIZE 8 BY 1
  131. BGCOLOR 15 NO-UNDO.
  132. DEFINE VARIABLE F_Datum AS DATE FORMAT "99.99.9999":U
  133. LABEL "ab Datum"
  134. VIEW-AS FILL-IN NATIVE
  135. SIZE 16 BY 1
  136. BGCOLOR 15 NO-UNDO.
  137. DEFINE VARIABLE F_vonArtnr AS INTEGER FORMAT "zzzzz9":U INITIAL 0
  138. LABEL "von - bis Artikel"
  139. VIEW-AS FILL-IN NATIVE
  140. SIZE 11 BY 1
  141. BGCOLOR 15 NO-UNDO.
  142. DEFINE VARIABLE F_vonInhalt AS INTEGER FORMAT "zzz9":U INITIAL 0
  143. LABEL "von - bis Inhalt (cl)"
  144. VIEW-AS FILL-IN NATIVE
  145. SIZE 8 BY 1
  146. BGCOLOR 15 NO-UNDO.
  147. DEFINE VARIABLE F_vonJahr AS INTEGER FORMAT "zzz9":U INITIAL 0
  148. LABEL "von - bis Jahrgang"
  149. VIEW-AS FILL-IN NATIVE
  150. SIZE 8 BY 1
  151. BGCOLOR 15 NO-UNDO.
  152. DEFINE VARIABLE F_Wert AS DECIMAL FORMAT "zz9.9999-":U INITIAL 0
  153. LABEL "Wert"
  154. VIEW-AS FILL-IN NATIVE
  155. SIZE 14 BY 1
  156. BGCOLOR 15 NO-UNDO.
  157. DEFINE VARIABLE R_Runden AS INTEGER
  158. VIEW-AS RADIO-SET VERTICAL
  159. RADIO-BUTTONS
  160. "Keine Rundung", 1,
  161. "5er Rundung", 2,
  162. "10er Rundung", 3,
  163. "auf zwei Kommastellen", 4
  164. SIZE 40 BY 3 NO-UNDO.
  165. DEFINE RECTANGLE RECT-5
  166. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  167. SIZE 86 BY 17.14.
  168. /* ************************ Frame Definitions *********************** */
  169. DEFINE FRAME gSpezPreismutationen
  170. F_Datum AT ROW 1.52 COL 20 COLON-ALIGNED
  171. CB_PreisGrp AT ROW 3 COL 20 COLON-ALIGNED
  172. CB_WGrp AT ROW 4 COL 20 COLON-ALIGNED
  173. CB_PGrp AT ROW 5 COL 20 COLON-ALIGNED
  174. F_vonArtnr AT ROW 6 COL 20 COLON-ALIGNED WIDGET-ID 16
  175. F_bisArtnr AT ROW 6 COL 33 COLON-ALIGNED WIDGET-ID 14
  176. F_vonInhalt AT ROW 7 COL 20 COLON-ALIGNED
  177. F_bisInhalt AT ROW 7 COL 33 COLON-ALIGNED
  178. F_vonJahr AT ROW 8 COL 20 COLON-ALIGNED WIDGET-ID 20
  179. F_bisJahr AT ROW 8 COL 33 COLON-ALIGNED WIDGET-ID 18
  180. CB_Land AT ROW 9 COL 20 COLON-ALIGNED WIDGET-ID 2
  181. CB_Hersteller AT ROW 10 COL 20 COLON-ALIGNED WIDGET-ID 8
  182. F_bisDatum AT ROW 11 COL 20 COLON-ALIGNED WIDGET-ID 12
  183. R_Runden AT ROW 12.52 COL 22 NO-LABEL WIDGET-ID 4
  184. CB_Art AT ROW 16 COL 20 COLON-ALIGNED
  185. F_Wert AT ROW 17 COL 20 COLON-ALIGNED
  186. Btn_OK AT ROW 15.52 COL 69
  187. Btn_Cancel AT ROW 16.52 COL 69
  188. RECT-5 AT ROW 1.24 COL 2
  189. SPACE(0.99) SKIP(0.28)
  190. WITH VIEW-AS DIALOG-BOX KEEP-TAB-ORDER
  191. SIDE-LABELS NO-UNDERLINE THREE-D SCROLLABLE
  192. TITLE "Spezialpreise linear mutieren".
  193. /* *********************** Procedure Settings ************************ */
  194. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  195. /* Settings for THIS-PROCEDURE
  196. Type: SmartDialog
  197. Allow: Basic,Browse,DB-Fields,Query,Smart
  198. Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  199. Design Page: 1
  200. Other Settings: COMPILE
  201. */
  202. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  203. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB gSpezPreismutationen
  204. /* ************************* Included-Libraries *********************** */
  205. {src/adm2/containr.i}
  206. /* _UIB-CODE-BLOCK-END */
  207. &ANALYZE-RESUME
  208. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  209. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  210. /* SETTINGS FOR DIALOG-BOX gSpezPreismutationen
  211. FRAME-NAME Custom */
  212. ASSIGN
  213. FRAME gSpezPreismutationen:SCROLLABLE = FALSE
  214. FRAME gSpezPreismutationen:HIDDEN = TRUE.
  215. /* SETTINGS FOR FILL-IN F_bisArtnr IN FRAME gSpezPreismutationen
  216. 6 */
  217. /* SETTINGS FOR FILL-IN F_bisDatum IN FRAME gSpezPreismutationen
  218. NO-DISPLAY 6 */
  219. /* SETTINGS FOR FILL-IN F_bisInhalt IN FRAME gSpezPreismutationen
  220. 6 */
  221. /* SETTINGS FOR FILL-IN F_bisJahr IN FRAME gSpezPreismutationen
  222. 6 */
  223. /* SETTINGS FOR FILL-IN F_Datum IN FRAME gSpezPreismutationen
  224. 6 */
  225. /* SETTINGS FOR FILL-IN F_vonArtnr IN FRAME gSpezPreismutationen
  226. 6 */
  227. /* SETTINGS FOR FILL-IN F_vonInhalt IN FRAME gSpezPreismutationen
  228. 6 */
  229. /* SETTINGS FOR FILL-IN F_vonJahr IN FRAME gSpezPreismutationen
  230. 6 */
  231. /* SETTINGS FOR FILL-IN F_Wert IN FRAME gSpezPreismutationen
  232. 6 */
  233. /* SETTINGS FOR RADIO-SET R_Runden IN FRAME gSpezPreismutationen
  234. 6 */
  235. /* _RUN-TIME-ATTRIBUTES-END */
  236. &ANALYZE-RESUME
  237. /* Setting information for Queries and Browse Widgets fields */
  238. &ANALYZE-SUSPEND _QUERY-BLOCK DIALOG-BOX gSpezPreismutationen
  239. /* Query rebuild information for DIALOG-BOX gSpezPreismutationen
  240. _Options = "SHARE-LOCK"
  241. _Query is NOT OPENED
  242. */ /* DIALOG-BOX gSpezPreismutationen */
  243. &ANALYZE-RESUME
  244. /* ************************ Control Triggers ************************ */
  245. &Scoped-define SELF-NAME gSpezPreismutationen
  246. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gSpezPreismutationen gSpezPreismutationen
  247. ON END-ERROR OF FRAME gSpezPreismutationen /* Spezialpreise linear mutieren */
  248. DO:
  249. RUN ENDE.
  250. RETURN NO-APPLY.
  251. END.
  252. /* _UIB-CODE-BLOCK-END */
  253. &ANALYZE-RESUME
  254. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gSpezPreismutationen gSpezPreismutationen
  255. ON GO OF FRAME gSpezPreismutationen /* Spezialpreise linear mutieren */
  256. DO:
  257. /*
  258. RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ) NO-ERROR.
  259. */
  260. END.
  261. /* _UIB-CODE-BLOCK-END */
  262. &ANALYZE-RESUME
  263. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gSpezPreismutationen gSpezPreismutationen
  264. ON WINDOW-CLOSE OF FRAME gSpezPreismutationen /* Spezialpreise linear mutieren */
  265. DO:
  266. RUN ENDE.
  267. RETURN NO-APPLY.
  268. END.
  269. /* _UIB-CODE-BLOCK-END */
  270. &ANALYZE-RESUME
  271. &Scoped-define SELF-NAME Btn_OK
  272. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_OK gSpezPreismutationen
  273. ON CHOOSE OF Btn_OK IN FRAME gSpezPreismutationen /* Starten */
  274. DO:
  275. SESSION:SET-WAIT-STATE('GENERAL').
  276. RUN NEURECHNEN.
  277. SESSION:SET-WAIT-STATE('').
  278. RETURN NO-APPLY.
  279. END.
  280. /* _UIB-CODE-BLOCK-END */
  281. &ANALYZE-RESUME
  282. &Scoped-define SELF-NAME CB_WGrp
  283. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_WGrp gSpezPreismutationen
  284. ON VALUE-CHANGED OF CB_WGrp IN FRAME gSpezPreismutationen /* Warengruppe */
  285. DO:
  286. DEF VAR Wgr AS INT NO-UNDO.
  287. DEF VAR cString AS CHAR NO-UNDO.
  288. DO WITH FRAME {&FRAME-NAME}:
  289. Wgr = INTEGER(CB_WGrp:SCREEN-VALUE) NO-ERROR.
  290. RUN COMBO_PRODUKTEGRUPPE (INPUT CB_PGrp:HANDLE, INPUT Wgr) NO-ERROR.
  291. cString = 'Alle;XXXXXX;' + CB_PGrp:LIST-ITEM-PAIRS.
  292. CB_PGrp:LIST-ITEM-PAIRS = cString.
  293. CB_PGrp :SCREEN-VALUE = ENTRY(2, CB_PGrp :LIST-ITEM-PAIRS, ';').
  294. END.
  295. END.
  296. /* _UIB-CODE-BLOCK-END */
  297. &ANALYZE-RESUME
  298. &UNDEFINE SELF-NAME
  299. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK gSpezPreismutationen
  300. /* *************************** Main Block *************************** */
  301. MaxPage = 1.
  302. AktSeite = 1.
  303. Firma = DYNAMIC-FUNCTION('GETMANDANT':U) NO-ERROR.
  304. SESSION:DATA-ENTRY-RETURN = TRUE.
  305. /* TRIGGERS ------------------------------------------------------ */
  306. ON 'END-ERROR':U OF FRAME {&FRAME-NAME} ANYWHERE
  307. DO:
  308. RUN ENDE.
  309. RETURN NO-APPLY.
  310. END.
  311. ON 'RETURN':U OF FRAME {&FRAME-NAME} ANYWHERE
  312. DO:
  313. APPLY 'TAB' TO SELF.
  314. RETURN NO-APPLY.
  315. END.
  316. /* ------------------------------------------------------------------ */
  317. {src/adm2/dialogmn.i}
  318. /* _UIB-CODE-BLOCK-END */
  319. &ANALYZE-RESUME
  320. /* ********************** Internal Procedures *********************** */
  321. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects gSpezPreismutationen _ADM-CREATE-OBJECTS
  322. PROCEDURE adm-create-objects :
  323. /*------------------------------------------------------------------------------
  324. Purpose: Create handles for all SmartObjects used in this procedure.
  325. After SmartObjects are initialized, then SmartLinks are added.
  326. Parameters: <none>
  327. ------------------------------------------------------------------------------*/
  328. END PROCEDURE.
  329. /* _UIB-CODE-BLOCK-END */
  330. &ANALYZE-RESUME
  331. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI gSpezPreismutationen _DEFAULT-DISABLE
  332. PROCEDURE disable_UI :
  333. /*------------------------------------------------------------------------------
  334. Purpose: DISABLE the User Interface
  335. Parameters: <none>
  336. Notes: Here we clean-up the user-interface by deleting
  337. dynamic widgets we have created and/or hide
  338. frames. This procedure is usually called when
  339. we are ready to "clean-up" after running.
  340. ------------------------------------------------------------------------------*/
  341. /* Hide all frames. */
  342. HIDE FRAME gSpezPreismutationen.
  343. END PROCEDURE.
  344. /* _UIB-CODE-BLOCK-END */
  345. &ANALYZE-RESUME
  346. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject gSpezPreismutationen
  347. PROCEDURE enableObject :
  348. /*------------------------------------------------------------------------------
  349. Purpose: Super Override
  350. Parameters:
  351. Notes:
  352. ------------------------------------------------------------------------------*/
  353. DEF VAR Wgr AS INT NO-UNDO.
  354. DEF VAR cString AS CHAR NO-UNDO.
  355. DO WITH FRAME {&FRAME-NAME}:
  356. RUN COMBO_LAND (INPUT CB_Land :HANDLE) NO-ERROR.
  357. CB_Land:LIST-ITEM-PAIRS = 'alle Länder;ALLE;' + CB_Land:LIST-ITEM-PAIRS.
  358. CB_Land:SCREEN-VALUE = ENTRY(2, CB_Land:LIST-ITEM-PAIRS, ';').
  359. RUN COMBO_HERSTELLER (INPUT CB_Hersteller:HANDLE) NO-ERROR.
  360. CB_Hersteller:LIST-ITEM-PAIRS = 'alle Hersteller;999999;' + CB_Hersteller:LIST-ITEM-PAIRS.
  361. CB_Hersteller:SCREEN-VALUE = ENTRY(2, CB_Hersteller:LIST-ITEM-PAIRS, ';').
  362. RUN COMBO_PREISGRP (INPUT CB_PreisGrp:HANDLE) NO-ERROR.
  363. RUN COMBO_WARENGRUPPE (INPUT CB_WGrp :HANDLE) NO-ERROR.
  364. cString = 'Alle;XXXXXX;' + CB_WGrp:LIST-ITEM-PAIRS.
  365. CB_WGrp:LIST-ITEM-PAIRS = cString.
  366. CB_PreisGrp:SCREEN-VALUE = ENTRY(2, CB_PreisGrp:LIST-ITEM-PAIRS, ';').
  367. CB_WGrp :SCREEN-VALUE = ENTRY(2, CB_WGrp :LIST-ITEM-PAIRS, ';').
  368. CB_Art:SCREEN-VALUE = CB_Art:ENTRY(1).
  369. END.
  370. RUN SUPER.
  371. DO WITH FRAME {&FRAME-NAME}:
  372. APPLY 'VALUE-CHANGED' TO CB_PreisGrp.
  373. APPLY 'VALUE-CHANGED' TO CB_WGrp.
  374. END.
  375. RUN FENSTER_TITEL ( INPUT FRAME {&FRAME-NAME}:HANDLE ) NO-ERROR.
  376. END PROCEDURE.
  377. /* _UIB-CODE-BLOCK-END */
  378. &ANALYZE-RESUME
  379. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI gSpezPreismutationen _DEFAULT-ENABLE
  380. PROCEDURE enable_UI :
  381. /*------------------------------------------------------------------------------
  382. Purpose: ENABLE the User Interface
  383. Parameters: <none>
  384. Notes: Here we display/view/enable the widgets in the
  385. user-interface. In addition, OPEN all queries
  386. associated with each FRAME and BROWSE.
  387. These statements here are based on the "Other
  388. Settings" section of the widget Property Sheets.
  389. ------------------------------------------------------------------------------*/
  390. DISPLAY F_Datum CB_PreisGrp CB_WGrp CB_PGrp F_vonArtnr F_bisArtnr F_vonInhalt
  391. F_bisInhalt F_vonJahr F_bisJahr CB_Land CB_Hersteller R_Runden CB_Art
  392. F_Wert
  393. WITH FRAME gSpezPreismutationen.
  394. ENABLE RECT-5 F_Datum CB_PreisGrp CB_WGrp CB_PGrp F_vonArtnr F_bisArtnr
  395. F_vonInhalt F_bisInhalt F_vonJahr F_bisJahr CB_Land CB_Hersteller
  396. F_bisDatum R_Runden CB_Art F_Wert Btn_OK Btn_Cancel
  397. WITH FRAME gSpezPreismutationen.
  398. VIEW FRAME gSpezPreismutationen.
  399. {&OPEN-BROWSERS-IN-QUERY-gSpezPreismutationen}
  400. END PROCEDURE.
  401. /* _UIB-CODE-BLOCK-END */
  402. &ANALYZE-RESUME
  403. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE gSpezPreismutationen
  404. PROCEDURE ENDE :
  405. /*------------------------------------------------------------------------------
  406. Purpose:
  407. Parameters: <none>
  408. Notes:
  409. ------------------------------------------------------------------------------*/
  410. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U) NO-ERROR.
  411. IF AktSeite > 1 THEN DO:
  412. RUN selectPage ( INPUT 1 ).
  413. RETURN NO-APPLY.
  414. END.
  415. RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ).
  416. APPLY 'GO' TO FRAME {&FRAME-NAME}.
  417. RETURN NO-APPLY.
  418. END PROCEDURE.
  419. /* _UIB-CODE-BLOCK-END */
  420. &ANALYZE-RESUME
  421. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE exitObject gSpezPreismutationen
  422. PROCEDURE exitObject :
  423. /*------------------------------------------------------------------------------
  424. Purpose: Super Override
  425. Parameters:
  426. Notes:
  427. ------------------------------------------------------------------------------*/
  428. RUN ENDE.
  429. RETURN NO-APPLY.
  430. END PROCEDURE.
  431. /* _UIB-CODE-BLOCK-END */
  432. &ANALYZE-RESUME
  433. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE NEURECHNEN gSpezPreismutationen
  434. PROCEDURE NEURECHNEN :
  435. /*------------------------------------------------------------------------------
  436. Purpose:
  437. Parameters: <none>
  438. Notes:
  439. ------------------------------------------------------------------------------*/
  440. DEF VAR VWGrp AS INT NO-UNDO.
  441. DEF VAR VPGrp AS INT NO-UNDO.
  442. DEF VAR VPreisGrp AS INT NO-UNDO.
  443. DEF VAR VArt AS INT NO-UNDO.
  444. DEF VAR VPreis AS DEC DECIMALS 4 NO-UNDO.
  445. DEF VAR WucdK AS INT NO-UNDO.
  446. DEF VAR WucdA AS INT NO-UNDO.
  447. DEF VAR Ansatz AS DEC NO-UNDO.
  448. DEF VAR Rundbetr AS DEC DECIMALS 4 NO-UNDO.
  449. DEF VAR cLkz AS CHAR NO-UNDO.
  450. DEF VAR iHerst AS INT NO-UNDO.
  451. DEF VAR cDBUser AS CHAR NO-UNDO.
  452. EMPTY TEMP-TABLE tArtPreis.
  453. CREATE tArtPreis.
  454. DO WITH FRAME {&FRAME-NAME}:
  455. ASSIGN {&List-6}.
  456. VPreisGrp = INTEGER(CB_PreisGrp :SCREEN-VALUE) NO-ERROR.
  457. VWGrp = INTEGER(CB_WGrp :SCREEN-VALUE) NO-ERROR.
  458. VPGrp = INTEGER(CB_PGrp :SCREEN-VALUE) NO-ERROR.
  459. iHerst = INTEGER(CB_Hersteller:SCREEN-VALUE) NO-ERROR.
  460. VArt = LOOKUP (CB_Art:SCREEN-VALUE, CB_Art:LIST-ITEMS).
  461. cLkz = CB_Land :SCREEN-VALUE NO-ERROR.
  462. IF CB_WGrp:SCREEN-VALUE = 'XXXXXX' THEN VWGrp = ?.
  463. IF CB_PGrp:SCREEN-VALUE = 'XXXXXX' THEN VPGrp = ?.
  464. IF F_bisDatum = ? THEN F_bisDatum = DATE(12/31/2099).
  465. IF F_vonArtnr = 0 AND F_bisArtnr = 0 THEN F_bisArtnr = 999999.
  466. IF F_vonInhalt = 0 AND F_bisInhalt = 0 THEN F_bisInhalt = 9999.
  467. IF F_vonJahr = 0 AND F_bisJahr = 0 THEN F_bisJahr = 9999.
  468. IF F_bisArtnr < F_vonArtnr THEN F_bisArtnr = F_vonArtnr .
  469. IF F_bisInhalt < F_vonInhalt THEN F_bisInhalt = F_vonInhalt.
  470. IF F_bisJahr < F_vonJahr THEN F_bisJahr = F_vonJahr .
  471. DISPLAY {&List-6}.
  472. DISABLE Btn_OK Btn_Cancel.
  473. cDBUser = DYNAMIC-FUNCTION('getDBUser':U) NO-ERROR.
  474. FOR EACH SpezPrei
  475. WHERE SpezPrei.Firma = Firma
  476. AND SpezPrei.Artnr >= F_vonArtnr
  477. AND SpezPrei.Artnr <= F_bisArtnr
  478. AND SpezPrei.Inhalt >= F_vonInhalt
  479. AND SpezPrei.Inhalt <= F_bisInhalt
  480. AND SpezPrei.Jahr >= F_vonJahr
  481. AND SpezPrei.Jahr <= F_bisJahr
  482. AND SpezPrei.Bis_Datum > F_Datum
  483. AND SpezPrei.Proz_Betr = FALSE,
  484. FIRST Debst NO-LOCK
  485. WHERE Debst.Firma = SpezPrei.Firma
  486. AND Debst.Knr = SpezPrei.Knr
  487. AND Debst.Preis_Grp = VPreisGrp,
  488. FIRST Artst NO-LOCK
  489. WHERE Artst.Firma = Firma
  490. AND Artst.Artnr = SpezPrei.Artnr
  491. AND Artst.Inhalt = SpezPrei.Inhalt
  492. AND Artst.Jahr = SpezPrei.Jahr
  493. AND Artst.Aktiv = TRUE
  494. AND ((VWGrp = ?)
  495. OR (Artst.Wg_Grp = VWGrp))
  496. AND ((VPGrp = ?)
  497. OR (Artst.Prod_Grp = VPGrp))
  498. AND ((cLkz = 'ALLE')
  499. OR (Artst.Herk_Lkz = cLkz))
  500. AND ((iHerst = 999999)
  501. OR (Artst.Herst = iHerst)) :
  502. FIND KGebinde USE-INDEX KGebinde-k1
  503. WHERE KGebinde.Firma = Artst.Firma
  504. AND KGebinde.Geb_Cd = Artst.KGeb_Cd NO-LOCK NO-ERROR.
  505. IF NOT AVAILABLE KGebinde THEN NEXT.
  506. IF KGebinde.Inhalt < F_VonInhalt OR
  507. KGebinde.Inhalt > F_BisINhalt THEN NEXT.
  508. VPreis = SpezPrei.Wert.
  509. CASE VArt:
  510. WHEN 1 THEN DO: /* Prozent */
  511. Rundbetr = VPreis * (100 + F_Wert) / 100.
  512. END.
  513. WHEN 2 THEN DO: /* Betrag */
  514. Rundbetr = VPreis + F_Wert.
  515. END.
  516. END CASE.
  517. CASE R_Runden:
  518. WHEN 2 THEN RUN RUNDEN ( INPUT 1, INPUT-OUTPUT Rundbetr ).
  519. WHEN 3 THEN RUN RUNDEN ( INPUT 2, INPUT-OUTPUT Rundbetr ).
  520. WHEN 4 THEN RUN RUNDEN ( INPUT 99, INPUT-OUTPUT Rundbetr ).
  521. END CASE.
  522. ASSIGN SpezPrei.Wert = Rundbetr
  523. SpezPrei.Ab_Datum = F_Datum
  524. SpezPrei.Bis_Datum = F_bisdatum.
  525. END.
  526. ENABLE Btn_OK Btn_Cancel.
  527. END.
  528. END PROCEDURE.
  529. /* _UIB-CODE-BLOCK-END */
  530. &ANALYZE-RESUME