g-gratislieferung.w 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915
  1. &ANALYZE-SUSPEND _VERSION-NUMBER AB_v9r12 GUI ADM2
  2. &ANALYZE-RESUME
  3. &Scoped-define WINDOW-NAME CURRENT-WINDOW
  4. &Scoped-define FRAME-NAME gGratis
  5. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS gGratis
  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 TEMP-TABLE TArtbw LIKE Artbw.
  31. /* _UIB-CODE-BLOCK-END */
  32. &ANALYZE-RESUME
  33. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  34. /* ******************** Preprocessor Definitions ******************** */
  35. &Scoped-define PROCEDURE-TYPE SmartDialog
  36. &Scoped-define DB-AWARE no
  37. &Scoped-define ADM-CONTAINER DIALOG-BOX
  38. &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  39. /* Name of first Frame and/or Browse and/or first Query */
  40. &Scoped-define FRAME-NAME gGratis
  41. /* Standard List Definitions */
  42. &Scoped-Define ENABLED-OBJECTS F_VonDatum F_BisDatum CB_Hersteller Btn_OK ~
  43. Btn_Cancel RECT-38
  44. &Scoped-Define DISPLAYED-OBJECTS F_VonDatum F_BisDatum CB_Hersteller
  45. /* Custom List Definitions */
  46. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  47. &Scoped-define List-1 F_VonDatum F_BisDatum CB_Hersteller
  48. /* _UIB-PREPROCESSOR-BLOCK-END */
  49. &ANALYZE-RESUME
  50. /* *********************** Control Definitions ********************** */
  51. /* Define a dialog box */
  52. /* Definitions of the field level widgets */
  53. DEFINE BUTTON Btn_Cancel AUTO-END-KEY
  54. LABEL "&Abbrechen"
  55. SIZE 14 BY 1.
  56. DEFINE BUTTON Btn_OK
  57. LABEL "&Start"
  58. SIZE 14 BY 1.
  59. DEFINE VARIABLE CB_Hersteller AS CHARACTER FORMAT "X(256)":U
  60. LABEL "Hersteller"
  61. VIEW-AS COMBO-BOX SORT INNER-LINES 5
  62. DROP-DOWN-LIST
  63. SIZE 36 BY 1
  64. BGCOLOR 15 NO-UNDO.
  65. DEFINE VARIABLE F_BisDatum AS DATE FORMAT "99.99.9999":U
  66. LABEL "-"
  67. VIEW-AS FILL-IN NATIVE
  68. SIZE 16 BY 1
  69. BGCOLOR 15 NO-UNDO.
  70. DEFINE VARIABLE F_VonDatum AS DATE FORMAT "99.99.9999":U
  71. LABEL "von - bis Lieferdatum"
  72. VIEW-AS FILL-IN NATIVE
  73. SIZE 16 BY 1 TOOLTIP "Beginn der Lieferungen"
  74. BGCOLOR 15 NO-UNDO.
  75. DEFINE RECTANGLE RECT-38
  76. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  77. SIZE 64 BY 6.67.
  78. /* ************************ Frame Definitions *********************** */
  79. DEFINE FRAME gGratis
  80. F_VonDatum AT ROW 2 COL 23 COLON-ALIGNED
  81. F_BisDatum AT ROW 2 COL 42 COLON-ALIGNED
  82. CB_Hersteller AT ROW 4 COL 23 COLON-ALIGNED
  83. Btn_OK AT ROW 6 COL 7.4
  84. Btn_Cancel AT ROW 6 COL 47
  85. RECT-38 AT ROW 1.48 COL 3
  86. SPACE(1.99) SKIP(0.46)
  87. WITH VIEW-AS DIALOG-BOX KEEP-TAB-ORDER
  88. SIDE-LABELS NO-UNDERLINE THREE-D SCROLLABLE
  89. TITLE "Gratislieferungen"
  90. CANCEL-BUTTON Btn_Cancel.
  91. /* *********************** Procedure Settings ************************ */
  92. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  93. /* Settings for THIS-PROCEDURE
  94. Type: SmartDialog
  95. Allow: Basic,Browse,DB-Fields,Query,Smart
  96. Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  97. Design Page: 1
  98. Other Settings: COMPILE
  99. */
  100. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  101. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB gGratis
  102. /* ************************* Included-Libraries *********************** */
  103. {src/adm2/containr.i}
  104. /* _UIB-CODE-BLOCK-END */
  105. &ANALYZE-RESUME
  106. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  107. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  108. /* SETTINGS FOR DIALOG-BOX gGratis
  109. */
  110. ASSIGN
  111. FRAME gGratis:SCROLLABLE = FALSE
  112. FRAME gGratis:HIDDEN = TRUE.
  113. /* SETTINGS FOR COMBO-BOX CB_Hersteller IN FRAME gGratis
  114. 1 */
  115. /* SETTINGS FOR FILL-IN F_BisDatum IN FRAME gGratis
  116. 1 */
  117. /* SETTINGS FOR FILL-IN F_VonDatum IN FRAME gGratis
  118. 1 */
  119. /* _RUN-TIME-ATTRIBUTES-END */
  120. &ANALYZE-RESUME
  121. /* Setting information for Queries and Browse Widgets fields */
  122. &ANALYZE-SUSPEND _QUERY-BLOCK DIALOG-BOX gGratis
  123. /* Query rebuild information for DIALOG-BOX gGratis
  124. _Options = "SHARE-LOCK"
  125. _Query is NOT OPENED
  126. */ /* DIALOG-BOX gGratis */
  127. &ANALYZE-RESUME
  128. /* ************************ Control Triggers ************************ */
  129. &Scoped-define SELF-NAME gGratis
  130. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gGratis gGratis
  131. ON END-ERROR OF FRAME gGratis /* Gratislieferungen */
  132. DO:
  133. RUN ENDE.
  134. RETURN NO-APPLY.
  135. END.
  136. /* _UIB-CODE-BLOCK-END */
  137. &ANALYZE-RESUME
  138. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gGratis gGratis
  139. ON GO OF FRAME gGratis /* Gratislieferungen */
  140. DO:
  141. /*
  142. RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ) NO-ERROR.
  143. */
  144. END.
  145. /* _UIB-CODE-BLOCK-END */
  146. &ANALYZE-RESUME
  147. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gGratis gGratis
  148. ON WINDOW-CLOSE OF FRAME gGratis /* Gratislieferungen */
  149. DO:
  150. RUN ENDE.
  151. RETURN NO-APPLY.
  152. END.
  153. /* _UIB-CODE-BLOCK-END */
  154. &ANALYZE-RESUME
  155. &Scoped-define SELF-NAME Btn_Cancel
  156. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Cancel gGratis
  157. ON CHOOSE OF Btn_Cancel IN FRAME gGratis /* Abbrechen */
  158. DO:
  159. RUN ENDE.
  160. RETURN NO-APPLY.
  161. END.
  162. /* _UIB-CODE-BLOCK-END */
  163. &ANALYZE-RESUME
  164. &Scoped-define SELF-NAME Btn_OK
  165. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_OK gGratis
  166. ON CHOOSE OF Btn_OK IN FRAME gGratis /* Start */
  167. DO:
  168. DO WITH FRAME {&FRAME-NAME}:
  169. Btn_OK :SENSITIVE = FALSE.
  170. Btn_Cancel:SENSITIVE = FALSE.
  171. END.
  172. SESSION:SET-WAIT-STATE('Normal').
  173. RUN REPORT.
  174. SESSION:SET-WAIT-STATE('').
  175. RUN ENDE.
  176. DO WITH FRAME {&FRAME-NAME}:
  177. Btn_OK :SENSITIVE = FALSE.
  178. Btn_Cancel:SENSITIVE = FALSE.
  179. END.
  180. RETURN NO-APPLY.
  181. END.
  182. /* _UIB-CODE-BLOCK-END */
  183. &ANALYZE-RESUME
  184. &Scoped-define SELF-NAME CB_Hersteller
  185. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Hersteller gGratis
  186. ON RETURN OF CB_Hersteller IN FRAME gGratis /* Hersteller */
  187. DO:
  188. APPLY 'TAB' TO SELF.
  189. RETURN NO-APPLY.
  190. END.
  191. /* _UIB-CODE-BLOCK-END */
  192. &ANALYZE-RESUME
  193. &Scoped-define SELF-NAME F_BisDatum
  194. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_BisDatum gGratis
  195. ON LEAVE OF F_BisDatum IN FRAME gGratis /* - */
  196. DO:
  197. F_BisDatum = DATE(SELF:SCREEN-VALUE).
  198. IF F_BisDatum = ? THEN DO:
  199. SELF:SCREEN-VALUE = STRING(DATE(12,31,YEAR(TODAY))).
  200. END.
  201. END.
  202. /* _UIB-CODE-BLOCK-END */
  203. &ANALYZE-RESUME
  204. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_BisDatum gGratis
  205. ON RETURN OF F_BisDatum IN FRAME gGratis /* - */
  206. DO:
  207. APPLY 'TAB' TO SELF.
  208. RETURN NO-APPLY.
  209. END.
  210. /* _UIB-CODE-BLOCK-END */
  211. &ANALYZE-RESUME
  212. &Scoped-define SELF-NAME F_VonDatum
  213. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_VonDatum gGratis
  214. ON LEAVE OF F_VonDatum IN FRAME gGratis /* von - bis Lieferdatum */
  215. DO:
  216. F_VonDatum = DATE(SELF:SCREEN-VALUE).
  217. IF F_VonDatum = ? THEN DO:
  218. SELF:SCREEN-VALUE = STRING(DATE(01,01,YEAR(TODAY))).
  219. END.
  220. END.
  221. /* _UIB-CODE-BLOCK-END */
  222. &ANALYZE-RESUME
  223. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_VonDatum gGratis
  224. ON RETURN OF F_VonDatum IN FRAME gGratis /* von - bis Lieferdatum */
  225. DO:
  226. APPLY 'TAB' TO SELF.
  227. RETURN NO-APPLY.
  228. END.
  229. /* _UIB-CODE-BLOCK-END */
  230. &ANALYZE-RESUME
  231. &UNDEFINE SELF-NAME
  232. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK gGratis
  233. /* *************************** Main Block *************************** */
  234. MaxPage = 1.
  235. AktSeite = 1.
  236. SESSION:DATA-ENTRY-RETURN = TRUE.
  237. SUBSCRIBE TO 'TOOLBAR' ANYWHERE.
  238. /* TRIGGERS ------------------------------------------------------ */
  239. ON 'ALT-CURSOR-RIGHT':U OF FRAME {&FRAME-NAME} ANYWHERE
  240. DO:
  241. RUN NEXTPAGE.
  242. END.
  243. ON 'ALT-CURSOR-LEFT':U OF FRAME {&FRAME-NAME} ANYWHERE
  244. DO:
  245. RUN PREVPAGE.
  246. END.
  247. ON 'U1':U OF {&WINDOW-NAME} ANYWHERE
  248. DO:
  249. RUN ENTRY_CURSOR.
  250. END.
  251. /*
  252. ON 'PAGE-DOWN':U OF {&WINDOW-NAME} ANYWHERE
  253. DO:
  254. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'Next':U ).
  255. END.
  256. ON 'PAGE-UP':U OF {&WINDOW-NAME} ANYWHERE
  257. DO:
  258. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'Prev':U ).
  259. END.
  260. ON 'ALT-RETURN':U OF FRAME {&FRAME-NAME} ANYWHERE
  261. DO:
  262. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'UPDATE':U ).
  263. END.
  264. ON 'ALT-INS':U OF FRAME {&FRAME-NAME} ANYWHERE
  265. DO:
  266. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'ADD':U ).
  267. END.
  268. ON 'ALT-DEL':U OF FRAME {&FRAME-NAME} ANYWHERE
  269. DO:
  270. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'DELETE':U ).
  271. END.
  272. ON 'ALT-R':U OF FRAME {&FRAME-NAME} ANYWHERE
  273. DO:
  274. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'RESET':U ).
  275. END.
  276. ON 'F9':U OF FRAME {&FRAME-NAME} ANYWHERE
  277. DO:
  278. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'SAVE':U ).
  279. END.
  280. ON 'ALT-S':U OF FRAME {&FRAME-NAME} ANYWHERE
  281. DO:
  282. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'SAVE':U ).
  283. END.
  284. ON 'ALT-K':U OF FRAME {&FRAME-NAME} ANYWHERE
  285. DO:
  286. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'COPY':U ).
  287. END.
  288. ON 'END-ERROR':U OF FRAME {&FRAME-NAME} ANYWHERE
  289. DO:
  290. FMutFlag = DYNAMIC-FUNCTION('getMutflagAlt':U) NO-ERROR.
  291. IF FMutFlag = FALSE THEN DO:
  292. RUN ENDE.
  293. RETURN NO-APPLY.
  294. END.
  295. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'CANCEL':U ).
  296. RETURN NO-APPLY.
  297. END.
  298. */
  299. /* ------------------------------------------------------------------ */
  300. {src/adm2/dialogmn.i}
  301. /* _UIB-CODE-BLOCK-END */
  302. &ANALYZE-RESUME
  303. /* ********************** Internal Procedures *********************** */
  304. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects gGratis _ADM-CREATE-OBJECTS
  305. PROCEDURE adm-create-objects :
  306. /*------------------------------------------------------------------------------
  307. Purpose: Create handles for all SmartObjects used in this procedure.
  308. After SmartObjects are initialized, then SmartLinks are added.
  309. Parameters: <none>
  310. ------------------------------------------------------------------------------*/
  311. END PROCEDURE.
  312. /* _UIB-CODE-BLOCK-END */
  313. &ANALYZE-RESUME
  314. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE changePage gGratis
  315. PROCEDURE changePage :
  316. /*------------------------------------------------------------------------------
  317. Purpose: Super Override
  318. Parameters:
  319. Notes:
  320. ------------------------------------------------------------------------------*/
  321. /* Code placed here will execute PRIOR to standard behavior. */
  322. RUN SUPER.
  323. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  324. CASE AktSeite:
  325. WHEN 1 THEN DO:
  326. /* RUN addLink ( h_dyntoolbar , 'TableIO':U , h_v-auftr ). */
  327. /* RUN addLink ( h_dyntoolbar , 'Navigation':U , h_d-auftr ). */
  328. /* RUN ToolbarInit ( INPUT h_d-auftr ). */
  329. RUN ENTRY_CURSOR.
  330. END.
  331. WHEN 2 THEN DO:
  332. RUN ENTRY_CURSOR.
  333. END.
  334. END CASE.
  335. END PROCEDURE.
  336. /* _UIB-CODE-BLOCK-END */
  337. &ANALYZE-RESUME
  338. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI gGratis _DEFAULT-DISABLE
  339. PROCEDURE disable_UI :
  340. /*------------------------------------------------------------------------------
  341. Purpose: DISABLE the User Interface
  342. Parameters: <none>
  343. Notes: Here we clean-up the user-interface by deleting
  344. dynamic widgets we have created and/or hide
  345. frames. This procedure is usually called when
  346. we are ready to "clean-up" after running.
  347. ------------------------------------------------------------------------------*/
  348. /* Hide all frames. */
  349. HIDE FRAME gGratis.
  350. END PROCEDURE.
  351. /* _UIB-CODE-BLOCK-END */
  352. &ANALYZE-RESUME
  353. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject gGratis
  354. PROCEDURE enableObject :
  355. /*------------------------------------------------------------------------------
  356. Purpose: Super Override
  357. Parameters:
  358. Notes:
  359. ------------------------------------------------------------------------------*/
  360. F_VonDatum = DATE(01,01,YEAR(TODAY)).
  361. F_BisDatum = DATE(12,31,YEAR(TODAY)).
  362. RUN SUPER.
  363. DO WITH FRAME {&FRAME-NAME}:
  364. RUN FENSTER_TITEL ( INPUT FRAME {&FRAME-NAME}:HANDLE ) NO-ERROR.
  365. RUN COMBO_HERSTELLER ( CB_Hersteller:HANDLE ).
  366. DEF VAR cString AS CHAR NO-UNDO.
  367. cString = CB_Hersteller:LIST-ITEM-PAIRS.
  368. cString = cString + ';Alle Hersteller;999999'.
  369. CB_Hersteller:LIST-ITEM-PAIRS = cString.
  370. CB_Hersteller:SCREEN-VALUE = '999999'.
  371. END.
  372. END PROCEDURE.
  373. /* _UIB-CODE-BLOCK-END */
  374. &ANALYZE-RESUME
  375. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI gGratis _DEFAULT-ENABLE
  376. PROCEDURE enable_UI :
  377. /*------------------------------------------------------------------------------
  378. Purpose: ENABLE the User Interface
  379. Parameters: <none>
  380. Notes: Here we display/view/enable the widgets in the
  381. user-interface. In addition, OPEN all queries
  382. associated with each FRAME and BROWSE.
  383. These statements here are based on the "Other
  384. Settings" section of the widget Property Sheets.
  385. ------------------------------------------------------------------------------*/
  386. DISPLAY F_VonDatum F_BisDatum CB_Hersteller
  387. WITH FRAME gGratis.
  388. ENABLE F_VonDatum F_BisDatum CB_Hersteller Btn_OK Btn_Cancel RECT-38
  389. WITH FRAME gGratis.
  390. VIEW FRAME gGratis.
  391. {&OPEN-BROWSERS-IN-QUERY-gGratis}
  392. END PROCEDURE.
  393. /* _UIB-CODE-BLOCK-END */
  394. &ANALYZE-RESUME
  395. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE gGratis
  396. PROCEDURE ENDE :
  397. /*------------------------------------------------------------------------------
  398. Purpose:
  399. Parameters: <none>
  400. Notes:
  401. ------------------------------------------------------------------------------*/
  402. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U) NO-ERROR.
  403. IF AktSeite > 1 THEN DO:
  404. RUN selectPage ( INPUT 1 ).
  405. RETURN NO-APPLY.
  406. END.
  407. RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ).
  408. APPLY 'GO' TO FRAME {&FRAME-NAME}.
  409. RETURN NO-APPLY.
  410. END PROCEDURE.
  411. /* _UIB-CODE-BLOCK-END */
  412. &ANALYZE-RESUME
  413. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_CURSOR gGratis
  414. PROCEDURE ENTRY_CURSOR :
  415. /*------------------------------------------------------------------------------
  416. Purpose:
  417. Parameters: <none>
  418. Notes:
  419. ------------------------------------------------------------------------------*/
  420. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  421. CASE AktSeite:
  422. /* WHEN 1 THEN RUN applyEntry IN h_v-adresse ( INPUT ? ). */
  423. /* WHEN 2 THEN RUN applyEntry IN h_f-adrkomm ( INPUT ? ). */
  424. /* WHEN 3 THEN RUN applyEntry IN h_b-auftbb ( INPUT ? ). */
  425. /* WHEN 4 THEN RUN applyEntry IN h_b-aufdet ( INPUT ? ). */
  426. /* WHEN 5 THEN RUN applyEntry IN h_b-aufstreu ( INPUT ? ). */
  427. /* WHEN 6 THEN RUN applyEntry IN h_b-auffak ( INPUT ? ). */
  428. /* WHEN 7 THEN RUN applyEntry IN h_b-position ( INPUT ? ). */
  429. END CASE.
  430. RETURN NO-APPLY.
  431. END PROCEDURE.
  432. /* _UIB-CODE-BLOCK-END */
  433. &ANALYZE-RESUME
  434. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE exitObject gGratis
  435. PROCEDURE exitObject :
  436. /*------------------------------------------------------------------------------
  437. Purpose: Super Override
  438. Parameters:
  439. Notes:
  440. ------------------------------------------------------------------------------*/
  441. RUN ENDE.
  442. RETURN NO-APPLY.
  443. END PROCEDURE.
  444. /* _UIB-CODE-BLOCK-END */
  445. &ANALYZE-RESUME
  446. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE NEXTPAGE gGratis
  447. PROCEDURE NEXTPAGE :
  448. /*------------------------------------------------------------------------------
  449. Purpose:
  450. Parameters: <none>
  451. Notes:
  452. ------------------------------------------------------------------------------*/
  453. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  454. IF AktSeite = MaxPage THEN AktSeite = 1.
  455. ELSE AktSeite = AktSeite + 1.
  456. RUN selectPage ( INPUT AktSeite ).
  457. END PROCEDURE.
  458. /* _UIB-CODE-BLOCK-END */
  459. &ANALYZE-RESUME
  460. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE PREVPAGE gGratis
  461. PROCEDURE PREVPAGE :
  462. /*------------------------------------------------------------------------------
  463. Purpose:
  464. Parameters: <none>
  465. Notes:
  466. ------------------------------------------------------------------------------*/
  467. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  468. IF AktSeite = 1 THEN AktSeite = MaxPage.
  469. ELSE AktSeite = AktSeite - 1.
  470. RUN selectPage ( INPUT AktSeite ).
  471. END PROCEDURE.
  472. /* _UIB-CODE-BLOCK-END */
  473. &ANALYZE-RESUME
  474. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE REPORT gGratis
  475. PROCEDURE REPORT :
  476. /*------------------------------------------------------------------------------
  477. Purpose:
  478. Parameters: <none>
  479. Notes:
  480. ------------------------------------------------------------------------------*/
  481. DEF VAR excelAppl AS COM-HANDLE NO-UNDO.
  482. DEF VAR DatenName AS CHAR NO-UNDO.
  483. DEF VAR DateiName AS CHAR NO-UNDO.
  484. DEF VAR Zelle AS CHAR NO-UNDO.
  485. DEF VAR VHerst AS INT NO-UNDO.
  486. DEF VAR XArtikel AS CHAR NO-UNDO.
  487. DEF VAR Firma AS CHAR NO-UNDO.
  488. DEF VAR AdFirma AS CHAR NO-UNDO.
  489. DEF VAR cDaten AS CHAR NO-UNDO.
  490. DEF VAR FwSprcd AS INT NO-UNDO.
  491. DEF VAR Ja AS LOG NO-UNDO.
  492. DEF VAR VTotal AS DEC DECIMALS 4 NO-UNDO EXTENT 10.
  493. DEF VAR VBetrag AS DEC DECIMALS 4 NO-UNDO.
  494. Firma = DYNAMIC-FUNCTION('GETMANDANT':U ) NO-ERROR.
  495. AdFirma = DYNAMIC-FUNCTION('GETADMANDANT':U) NO-ERROR.
  496. FwSprcd = DYNAMIC-FUNCTION('GETFWSPRCD':U ) NO-ERROR.
  497. DatenName = 'Gratis.txt'.
  498. DateiName = 'Gratis.xls' + CHR(01) + 'Gratis.xls'.
  499. DO WITH FRAME {&FRAME-NAME}:
  500. ASSIGN {&List-1}.
  501. VHerst = INTEGER(CB_Hersteller:SCREEN-VALUE).
  502. DO WHILE TRUE:
  503. excelAppl = DYNAMIC-FUNCTION('CREATEEXCEL':U) NO-ERROR.
  504. IF NOT VALID-HANDLE(excelAppl) THEN DO:
  505. RUN FEHLER ( INPUT 1035 ).
  506. RETURN NO-APPLY.
  507. END.
  508. LEAVE.
  509. END.
  510. DO WHILE TRUE:
  511. RUN CREATEDATEI ( INPUT DateiName ).
  512. IF NOT RETURN-VALUE BEGINS 'ERROR-' THEN LEAVE.
  513. CASE RETURN-VALUE:
  514. WHEN 'ERROR-PARAMETER' THEN DO:
  515. RUN FEHLER ( INPUT 1036 ).
  516. RETURN NO-APPLY.
  517. END.
  518. WHEN 'ERROR-LOESCHEN' THEN DO:
  519. RUN FEHLER ( INPUT 1037 ).
  520. RETURN NO-APPLY.
  521. END.
  522. WHEN 'ERROR-VORLAGE' THEN DO:
  523. RUN FEHLER ( INPUT 1038 ).
  524. RETURN NO-APPLY.
  525. END.
  526. OTHERWISE DO:
  527. MESSAGE RETURN-VALUE VIEW-AS ALERT-BOX ERROR.
  528. RETURN NO-APPLY.
  529. END.
  530. END CASE.
  531. LEAVE.
  532. END.
  533. DateiName = RETURN-VALUE.
  534. DO WHILE TRUE:
  535. RUN CREATEDATEI ( INPUT DatenName ).
  536. IF NOT RETURN-VALUE BEGINS 'ERROR-' THEN LEAVE.
  537. CASE RETURN-VALUE:
  538. WHEN 'ERROR-PARAMETER' THEN DO:
  539. RUN FEHLER ( INPUT 1036 ).
  540. RETURN NO-APPLY.
  541. END.
  542. WHEN 'ERROR-LOESCHEN' THEN DO:
  543. RUN FEHLER ( INPUT 1037 ).
  544. RETURN NO-APPLY.
  545. END.
  546. WHEN 'ERROR-VORLAGE' THEN DO:
  547. RUN FEHLER ( INPUT 1038 ).
  548. RETURN NO-APPLY.
  549. END.
  550. OTHERWISE DO:
  551. MESSAGE RETURN-VALUE VIEW-AS ALERT-BOX ERROR.
  552. RETURN NO-APPLY.
  553. END.
  554. END CASE.
  555. LEAVE.
  556. END.
  557. DatenName = RETURN-VALUE.
  558. FOR EACH TArtbw:
  559. DELETE TArtbw.
  560. END.
  561. FOR EACH Artst USE-INDEX Artst-k1
  562. WHERE Artst.Firma = Firma
  563. AND Artst.Aktiv = TRUE NO-LOCK:
  564. IF VHerst <> 999999 AND
  565. Artst.Herst <> VHerst THEN NEXT.
  566. FOR EACH Artbw USE-INDEX Artbw-k2
  567. WHERE Artbw.Firma = Artst.Firma
  568. AND Artbw.Artnr = Artst.Artnr
  569. AND Artbw.Inhalt = Artst.Inhalt
  570. AND Artbw.Jahr = Artst.Jahr
  571. AND Artbw.Fak_Dat <> ?
  572. AND Artbw.Fak_Dat >= F_VonDatum
  573. AND Artbw.Fak_Dat <= F_BisDatum
  574. AND Artbw.Preis = 0
  575. AND Artbw.Tr_Art = 1 NO-LOCK:
  576. CREATE TArtbw.
  577. BUFFER-COPY Artbw TO TArtbw.
  578. END.
  579. END.
  580. OUTPUT TO VALUE(DatenName) APPEND.
  581. IF VHerst = 999999 THEN DO:
  582. cDaten = ' (alle Hersteller) '.
  583. END.
  584. ELSE DO:
  585. RUN FIND_HERSTELLER ( INPUT VHerst, OUTPUT cDaten ).
  586. IF cDaten <> ? AND
  587. cDaten <> '' THEN cDaten = ENTRY(2, cDaten, CHR(01)).
  588. ELSE cDaten = '??????????'.
  589. END.
  590. cDaten = 'Gratislieferungen ' + cDaten
  591. + ' für die Zeit ' + STRING(F_VonDatum,'99.99.9999')
  592. + ' - ' + STRING(F_BisDatum,'99.99.9999').
  593. PUT CONTROL '£' CHR(10)
  594. cDaten CHR(10)
  595. '£' CHR(10)
  596. '£Kunde£Fak.Datum£Menge£Listen EP£Betrag' CHR(10)
  597. '£' CHR(10).
  598. VTotal = 0.
  599. FOR EACH TArtbw
  600. BREAK BY TArtbw.Artnr
  601. BY TArtbw.Inhalt
  602. BY TArtbw.Jahr
  603. BY TArtbw.Knr
  604. BY TArtbw.Datum :
  605. IF FIRST-OF ( TArtbw.Jahr) THEN DO:
  606. FIND Artst OF TArtbw NO-LOCK.
  607. FIND Artbez USE-INDEX Artbez-k1
  608. WHERE Artbez.Firma = Artst.Firma
  609. AND Artbez.Artnr = Artst.Artnr
  610. AND Artbez.Inhalt = Artst.Inhalt
  611. AND Artbez.Jahr = Artst.Jahr
  612. AND Artbez.Sprcd = FwSprcd NO-LOCK NO-ERROR.
  613. IF NOT AVAILABLE Artbez THEN DO:
  614. FIND FIRST Artbez OF Artst NO-LOCK NO-ERROR.
  615. END.
  616. FIND KGebinde USE-INDEX KGebinde-k1
  617. WHERE KGebinde.Firma = Firma
  618. AND KGebinde.Geb_Cd = Artst.KGeb_Cd NO-LOCK.
  619. XArtikel = Artbez.Bez1.
  620. IF Artbez.Bez2 <> ''
  621. THEN XArtikel = XArtikel + ", " + Artbez.Bez2.
  622. XArtikel = XArtikel + ", " + KGebinde.KBez.
  623. IF Artst.Jahr > 1000
  624. THEN XArtikel = XArtikel + ", " + STRING(Artst.Jahr,"9999").
  625. IF Artst.Alk_Gehalt <> 0
  626. THEN XArtikel = XArtikel + ", " + STRING(Artst.Alk_Gehalt,">>9.99%").
  627. PUT CONTROL XArtikel CHR(10).
  628. VTotal[01] = 0.
  629. VTotal[03] = 0.
  630. END.
  631. FIND Adresse USE-INDEX Adresse-k1
  632. WHERE Adresse.Firma = AdFirma
  633. AND Adresse.Knr = TArtbw.Knr NO-LOCK.
  634. VBetrag = Artst.Listen_EP * TArtbw.Menge.
  635. PUT CONTROL '£'
  636. Adresse.Anzeig_Br '£'
  637. STRING(TArtbw.Fak_Dat ,'99.99.9999') '£'
  638. STRING(TArtbw.Menge ,'->>>,>>9') '£'
  639. STRING(Artst.Listen ,'->>>,>>9.99') '£'
  640. STRING(VBetrag ,'->>>,>>>,>>9.99') CHR(10).
  641. VTotal[01] = VTotal[01] + TArtbw.Menge.
  642. VTotal[02] = VTotal[02] + TArtbw.Menge.
  643. VTotal[03] = VTotal[03] + VBetrag.
  644. VTotal[04] = VTotal[04] + VBetrag.
  645. IF NOT LAST-OF( TArtbw.Jahr ) THEN NEXT.
  646. PUT CONTROL '£££'
  647. STRING(VTotal[01] ,'->>>,>>9') '££'
  648. STRING(VTotal[03] ,'->>>,>>>,>>9.99') CHR(10)
  649. '£' CHR(10).
  650. END.
  651. PUT CONTROL '£££££'
  652. STRING(VTotal[04] ,'->>>,>>>,>>9.99') CHR(10).
  653. OUTPUT CLOSE.
  654. RUN OPENEXCEL ( INPUT excelAppl,
  655. INPUT DateiName,
  656. INPUT '',
  657. OUTPUT Ja ).
  658. IF NOT Ja THEN DO:
  659. RUN FEHLER ( INPUT 1040 ).
  660. RETURN NO-APPLY.
  661. END.
  662. Zelle = 'A1'.
  663. excelAppl:Range(Zelle):SELECT.
  664. excelAppl:Selection:FormulaR1C1 = 'TEXT;' + DatenName.
  665. excelAppl:Application:RUN ( 'DateiEinfügen' ).
  666. Zelle = 'A1'.
  667. excelAppl:Range(Zelle):SELECT.
  668. excelAppl:Selection:ColumnWidth = 0.3.
  669. DYNAMIC-FUNCTION('RELEASEEXCEL':U, INPUT excelAppl ) NO-ERROR.
  670. END.
  671. END PROCEDURE.
  672. /* _UIB-CODE-BLOCK-END */
  673. &ANALYZE-RESUME
  674. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE selectPage gGratis
  675. PROCEDURE selectPage :
  676. /*------------------------------------------------------------------------------
  677. Purpose: Super Override
  678. Parameters:
  679. Notes:
  680. ------------------------------------------------------------------------------*/
  681. DEF INPUT PARAMETER piPageNum AS INT NO-UNDO.
  682. DEF VAR FMutFlag AS LOG NO-UNDO.
  683. DEF VAR MutProg AS CHAR NO-UNDO.
  684. FMutFlag = DYNAMIC-FUNCTION('getMutflagAlt':U) NO-ERROR.
  685. DO WHILE TRUE:
  686. IF NOT FMutFlag THEN LEAVE.
  687. MutProg = DYNAMIC-FUNCTION('GETMUTPROG':U).
  688. IF MutProg <> THIS-PROCEDURE:FILE-NAME THEN LEAVE.
  689. RETURN NO-APPLY.
  690. END.
  691. CASE piPageNum:
  692. END CASE.
  693. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  694. CASE AktSeite:
  695. WHEN 1 THEN DO:
  696. /* RUN removeLink ( h_dyntoolbar , 'TableIO':U , h_v-auftr ). */
  697. /* RUN removeLink ( h_dyntoolbar , 'Navigation':U , h_d-auftr ). */
  698. END.
  699. END CASE.
  700. RUN SUPER( INPUT piPageNum).
  701. END PROCEDURE.
  702. /* _UIB-CODE-BLOCK-END */
  703. &ANALYZE-RESUME
  704. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE TOOLBAR gGratis
  705. PROCEDURE TOOLBAR :
  706. /*------------------------------------------------------------------------------
  707. Purpose:
  708. Parameters: <none>
  709. Notes:
  710. ------------------------------------------------------------------------------*/
  711. DEF INPUT PARAMETER pcAction AS CHAR NO-UNDO.
  712. /*
  713. RUN TOOLBAR IN h_dyntoolbar ( INPUT pcAction ).
  714. */
  715. END PROCEDURE.
  716. /* _UIB-CODE-BLOCK-END */
  717. &ANALYZE-RESUME