g-kundenbewegungen.w 26 KB

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