g-p_alkoholverkauf.w 35 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039
  1. &ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2
  2. &ANALYZE-RESUME
  3. &Scoped-define WINDOW-NAME CURRENT-WINDOW
  4. &Scoped-define FRAME-NAME gAlkoholika
  5. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS gAlkoholika
  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 AdFirma AS CHAR NO-UNDO.
  32. DEF VAR ProgName AS CHAR NO-UNDO.
  33. DEF VAR cVorlage AS CHAR NO-UNDO.
  34. DEF VAR cDaten AS CHAR NO-UNDO.
  35. DEF VAR cDokument AS CHAR NO-UNDO.
  36. DEF VAR cDateiName AS CHAR NO-UNDO.
  37. DEF VAR Zelle AS CHAR NO-UNDO.
  38. DEF VAR excelAppl AS COM-HANDLE NO-UNDO.
  39. DEF VAR AnzZei AS INT NO-UNDO.
  40. DEF VAR Zeile AS INT NO-UNDO.
  41. DEF VAR Seite AS INT NO-UNDO.
  42. DEF VAR KopfText AS CHAR NO-UNDO.
  43. DEF VAR FussText AS CHAR NO-UNDO EXTENT 10.
  44. DEF VAR TitelText AS CHAR NO-UNDO.
  45. DEF VAR DatumText AS CHAR NO-UNDO.
  46. DEF STREAM INP_Stream.
  47. DEF STREAM OUT_Stream.
  48. DEF TEMP-TABLE TArtikel FIELD Knr AS INT
  49. FIELD Datum AS DATE
  50. FIELD Faknr AS INT
  51. FIELD Artnr AS INT
  52. FIELD Inhalt AS INT
  53. FIELD Jahr AS INT
  54. FIELD Bez1 AS CHAR
  55. FIELD Bez2 AS CHAR
  56. FIELD Alk AS DEC
  57. FIELD KGeb_Cd AS CHAR
  58. FIELD Menge AS DEC DECIMALS 3
  59. FIELD Liter AS DEC DECIMALS 3
  60. FIELD Alk100% AS DEC DECIMALS 3
  61. INDEX TArtikel-k1
  62. Knr
  63. Datum
  64. Faknr
  65. Artnr
  66. Inhalt
  67. Jahr .
  68. DEF TEMP-TABLE TExcel FIELD Zeile AS INT
  69. FIELD KeyWort AS CHAR
  70. FIELD Felder AS CHAR EXTENT 10.
  71. /* _UIB-CODE-BLOCK-END */
  72. &ANALYZE-RESUME
  73. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  74. /* ******************** Preprocessor Definitions ******************** */
  75. &Scoped-define PROCEDURE-TYPE SmartDialog
  76. &Scoped-define DB-AWARE no
  77. &Scoped-define ADM-CONTAINER DIALOG-BOX
  78. &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  79. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  80. &Scoped-define FRAME-NAME gAlkoholika
  81. /* Standard List Definitions */
  82. &Scoped-Define ENABLED-OBJECTS RECT-12 RECT-13 RECT-14 RECT-15 F_VonArtnr ~
  83. F_BisArtnr F_Warengrp F_VonKnr F_BisKnr F_Kundengrp CB_Adresscode F_SelCode ~
  84. F_VonDatum F_BisDatum Btn_OK Btn_Cancel
  85. &Scoped-Define DISPLAYED-OBJECTS F_VonArtnr F_BisArtnr F_Warengrp F_VonKnr ~
  86. F_BisKnr F_Kundengrp CB_Adresscode F_SelCode F_VonDatum F_BisDatum
  87. /* Custom List Definitions */
  88. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  89. &Scoped-define List-6 F_VonArtnr F_BisArtnr F_Warengrp F_VonKnr F_BisKnr ~
  90. F_Kundengrp F_SelCode F_VonDatum F_BisDatum
  91. /* _UIB-PREPROCESSOR-BLOCK-END */
  92. &ANALYZE-RESUME
  93. /* *********************** Control Definitions ********************** */
  94. /* Define a dialog box */
  95. /* Definitions of the field level widgets */
  96. DEFINE BUTTON Btn_Cancel AUTO-END-KEY
  97. LABEL "&abbrechen"
  98. SIZE 14 BY 1.19.
  99. DEFINE BUTTON Btn_OK
  100. IMAGE-UP FILE "grafik\results%.ico":U
  101. IMAGE-INSENSITIVE FILE "grafik/results%.ico":U
  102. LABEL "Excel"
  103. SIZE 7 BY 1.71 TOOLTIP "start der Excelauswertung".
  104. DEFINE VARIABLE CB_Adresscode AS CHARACTER FORMAT "X(256)":U
  105. LABEL "Adresscode/Inhalt"
  106. VIEW-AS COMBO-BOX INNER-LINES 5
  107. LIST-ITEM-PAIRS "Item 1","Item 1"
  108. DROP-DOWN-LIST
  109. SIZE 20 BY 1
  110. BGCOLOR 15 NO-UNDO.
  111. DEFINE VARIABLE F_BisArtnr AS INTEGER FORMAT "999999":U INITIAL 0
  112. LABEL "-"
  113. VIEW-AS FILL-IN NATIVE
  114. SIZE 11 BY 1
  115. BGCOLOR 15 NO-UNDO.
  116. DEFINE VARIABLE F_BisDatum AS DATE FORMAT "99.99.9999":U
  117. LABEL "-"
  118. VIEW-AS FILL-IN NATIVE
  119. SIZE 16 BY 1
  120. BGCOLOR 15 NO-UNDO.
  121. DEFINE VARIABLE F_BisKnr AS INTEGER FORMAT "999999":U INITIAL 0
  122. LABEL "-"
  123. VIEW-AS FILL-IN NATIVE
  124. SIZE 11 BY 1
  125. BGCOLOR 15 NO-UNDO.
  126. DEFINE VARIABLE F_Kundengrp AS CHARACTER FORMAT "X(256)":U
  127. LABEL "Kudengruppen"
  128. VIEW-AS FILL-IN NATIVE
  129. SIZE 46.4 BY 1
  130. BGCOLOR 15 NO-UNDO.
  131. DEFINE VARIABLE F_SelCode AS CHARACTER FORMAT "x(20)":U
  132. LABEL "/"
  133. VIEW-AS FILL-IN NATIVE
  134. SIZE 11 BY 1
  135. BGCOLOR 15 NO-UNDO.
  136. DEFINE VARIABLE F_VonArtnr AS INTEGER FORMAT "999999":U INITIAL 0
  137. LABEL "von - bis Artikelnummer"
  138. VIEW-AS FILL-IN NATIVE
  139. SIZE 11 BY 1
  140. BGCOLOR 15 NO-UNDO.
  141. DEFINE VARIABLE F_VonDatum AS DATE FORMAT "99.99.9999":U
  142. LABEL "von - bis Datum"
  143. VIEW-AS FILL-IN NATIVE
  144. SIZE 16 BY 1
  145. BGCOLOR 15 NO-UNDO.
  146. DEFINE VARIABLE F_VonKnr AS INTEGER FORMAT "999999":U INITIAL 0
  147. LABEL "von - bis Knr"
  148. VIEW-AS FILL-IN NATIVE
  149. SIZE 11 BY 1
  150. BGCOLOR 15 NO-UNDO.
  151. DEFINE VARIABLE F_Warengrp AS CHARACTER FORMAT "X(256)":U
  152. LABEL "Warengruppen"
  153. VIEW-AS FILL-IN NATIVE
  154. SIZE 46.4 BY 1
  155. BGCOLOR 15 NO-UNDO.
  156. DEFINE RECTANGLE RECT-12
  157. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  158. SIZE 84 BY 13.
  159. DEFINE RECTANGLE RECT-13
  160. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  161. SIZE 80 BY 2.86.
  162. DEFINE RECTANGLE RECT-14
  163. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  164. SIZE 80 BY 3.86.
  165. DEFINE RECTANGLE RECT-15
  166. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  167. SIZE 80 BY 1.67.
  168. /* ************************ Frame Definitions *********************** */
  169. DEFINE FRAME gAlkoholika
  170. F_VonArtnr AT ROW 2.19 COL 28 COLON-ALIGNED
  171. F_BisArtnr AT ROW 2.19 COL 41 COLON-ALIGNED
  172. F_Warengrp AT ROW 3.19 COL 28 COLON-ALIGNED
  173. F_VonKnr AT ROW 5.38 COL 28 COLON-ALIGNED
  174. F_BisKnr AT ROW 5.38 COL 40.8 COLON-ALIGNED
  175. F_Kundengrp AT ROW 6.38 COL 28 COLON-ALIGNED
  176. CB_Adresscode AT ROW 7.38 COL 28 COLON-ALIGNED
  177. F_SelCode AT ROW 7.38 COL 50 COLON-ALIGNED
  178. F_VonDatum AT ROW 9.76 COL 28 COLON-ALIGNED
  179. F_BisDatum AT ROW 9.76 COL 47 COLON-ALIGNED
  180. Btn_OK AT ROW 11.81 COL 30
  181. Btn_Cancel AT ROW 12.05 COL 55.8
  182. RECT-12 AT ROW 1.24 COL 2
  183. RECT-13 AT ROW 1.71 COL 4
  184. RECT-14 AT ROW 5 COL 4
  185. RECT-15 AT ROW 9.48 COL 4
  186. SPACE(2.99) SKIP(3.27)
  187. WITH VIEW-AS DIALOG-BOX KEEP-TAB-ORDER
  188. SIDE-LABELS NO-UNDERLINE THREE-D SCROLLABLE
  189. TITLE "Verkauf Alkoholika"
  190. CANCEL-BUTTON Btn_Cancel.
  191. /* *********************** Procedure Settings ************************ */
  192. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  193. /* Settings for THIS-PROCEDURE
  194. Type: SmartDialog
  195. Allow: Basic,Browse,DB-Fields,Query,Smart
  196. Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  197. Design Page: 1
  198. Other Settings: COMPILE
  199. */
  200. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  201. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB gAlkoholika
  202. /* ************************* Included-Libraries *********************** */
  203. {src/adm2/containr.i}
  204. /* _UIB-CODE-BLOCK-END */
  205. &ANALYZE-RESUME
  206. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  207. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  208. /* SETTINGS FOR DIALOG-BOX gAlkoholika
  209. FRAME-NAME */
  210. ASSIGN
  211. FRAME gAlkoholika:SCROLLABLE = FALSE
  212. FRAME gAlkoholika:HIDDEN = TRUE.
  213. /* SETTINGS FOR FILL-IN F_BisArtnr IN FRAME gAlkoholika
  214. 6 */
  215. /* SETTINGS FOR FILL-IN F_BisDatum IN FRAME gAlkoholika
  216. 6 */
  217. /* SETTINGS FOR FILL-IN F_BisKnr IN FRAME gAlkoholika
  218. 6 */
  219. /* SETTINGS FOR FILL-IN F_Kundengrp IN FRAME gAlkoholika
  220. 6 */
  221. /* SETTINGS FOR FILL-IN F_SelCode IN FRAME gAlkoholika
  222. 6 */
  223. /* SETTINGS FOR FILL-IN F_VonArtnr IN FRAME gAlkoholika
  224. 6 */
  225. /* SETTINGS FOR FILL-IN F_VonDatum IN FRAME gAlkoholika
  226. 6 */
  227. /* SETTINGS FOR FILL-IN F_VonKnr IN FRAME gAlkoholika
  228. 6 */
  229. /* SETTINGS FOR FILL-IN F_Warengrp IN FRAME gAlkoholika
  230. 6 */
  231. /* _RUN-TIME-ATTRIBUTES-END */
  232. &ANALYZE-RESUME
  233. /* Setting information for Queries and Browse Widgets fields */
  234. &ANALYZE-SUSPEND _QUERY-BLOCK DIALOG-BOX gAlkoholika
  235. /* Query rebuild information for DIALOG-BOX gAlkoholika
  236. _Options = "SHARE-LOCK"
  237. _Query is NOT OPENED
  238. */ /* DIALOG-BOX gAlkoholika */
  239. &ANALYZE-RESUME
  240. /* ************************ Control Triggers ************************ */
  241. &Scoped-define SELF-NAME gAlkoholika
  242. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gAlkoholika gAlkoholika
  243. ON END-ERROR OF FRAME gAlkoholika /* Verkauf Alkoholika */
  244. DO:
  245. RUN ENDE.
  246. RETURN NO-APPLY.
  247. END.
  248. /* _UIB-CODE-BLOCK-END */
  249. &ANALYZE-RESUME
  250. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gAlkoholika gAlkoholika
  251. ON GO OF FRAME gAlkoholika /* Verkauf Alkoholika */
  252. DO:
  253. /*
  254. RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ) NO-ERROR.
  255. */
  256. END.
  257. /* _UIB-CODE-BLOCK-END */
  258. &ANALYZE-RESUME
  259. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gAlkoholika gAlkoholika
  260. ON WINDOW-CLOSE OF FRAME gAlkoholika /* Verkauf Alkoholika */
  261. DO:
  262. RUN ENDE.
  263. RETURN NO-APPLY.
  264. END.
  265. /* _UIB-CODE-BLOCK-END */
  266. &ANALYZE-RESUME
  267. &Scoped-define SELF-NAME Btn_Cancel
  268. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Cancel gAlkoholika
  269. ON CHOOSE OF Btn_Cancel IN FRAME gAlkoholika /* abbrechen */
  270. DO:
  271. RUN ENDE.
  272. RETURN NO-APPLY.
  273. END.
  274. /* _UIB-CODE-BLOCK-END */
  275. &ANALYZE-RESUME
  276. &Scoped-define SELF-NAME Btn_OK
  277. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_OK gAlkoholika
  278. ON CHOOSE OF Btn_OK IN FRAME gAlkoholika /* Excel */
  279. DO:
  280. DO WITH FRAME {&FRAME-NAME}:
  281. Btn_OK:SENSITIVE = FALSE.
  282. Btn_Cancel:SENSITIVE = FALSE.
  283. SESSION:SET-WAIT-STATE ('GENERAL').
  284. END.
  285. RUN REPORT.
  286. DO WITH FRAME {&FRAME-NAME}:
  287. Btn_OK:SENSITIVE = TRUE.
  288. Btn_Cancel:SENSITIVE = TRUE.
  289. SESSION:SET-WAIT-STATE('').
  290. END.
  291. RUN ENDE.
  292. RETURN NO-APPLY.
  293. END.
  294. /* _UIB-CODE-BLOCK-END */
  295. &ANALYZE-RESUME
  296. &Scoped-define SELF-NAME F_BisKnr
  297. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_BisKnr gAlkoholika
  298. ON ALT-F OF F_BisKnr IN FRAME gAlkoholika /* - */
  299. DO:
  300. DEF VAR iRecid AS RECID NO-UNDO.
  301. RUN 'g-suchen-adresse.w':U ( 'LIE', OUTPUT iRecid ).
  302. IF iRecid = ? OR
  303. iRecid = 0 THEN RETURN NO-APPLY.
  304. FIND Adresse NO-LOCK WHERE RECID(Adresse) = iRecid NO-ERROR.
  305. SELF:SCREEN-VALUE = STRING(Adresse.Knr).
  306. APPLY 'ENTRY' TO SELF.
  307. RETURN NO-APPLY.
  308. END.
  309. /* _UIB-CODE-BLOCK-END */
  310. &ANALYZE-RESUME
  311. &Scoped-define SELF-NAME F_Kundengrp
  312. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Kundengrp gAlkoholika
  313. ON RIGHT-MOUSE-CLICK OF F_Kundengrp IN FRAME gAlkoholika /* Kudengruppen */
  314. DO:
  315. RUN g-auswahl-tabelle.w ( INPUT SELF, INPUT 'KUNDGRP' ).
  316. END.
  317. /* _UIB-CODE-BLOCK-END */
  318. &ANALYZE-RESUME
  319. &Scoped-define SELF-NAME F_VonKnr
  320. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_VonKnr gAlkoholika
  321. ON ALT-F OF F_VonKnr IN FRAME gAlkoholika /* von - bis Knr */
  322. DO:
  323. DEF VAR iRecid AS RECID NO-UNDO.
  324. RUN 'g-suchen-adresse.w':U ( 'DEB', OUTPUT iRecid ).
  325. IF iRecid = ? OR
  326. iRecid = 0 THEN RETURN NO-APPLY.
  327. FIND Adresse NO-LOCK WHERE RECID(Adresse) = iRecid NO-ERROR.
  328. SELF:SCREEN-VALUE = STRING(Adresse.Knr).
  329. F_BisKnr:SCREEN-VALUE = STRING(Adresse.Knr).
  330. APPLY 'ENTRY' TO SELF.
  331. RETURN NO-APPLY.
  332. END.
  333. /* _UIB-CODE-BLOCK-END */
  334. &ANALYZE-RESUME
  335. &Scoped-define SELF-NAME F_Warengrp
  336. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Warengrp gAlkoholika
  337. ON RIGHT-MOUSE-CLICK OF F_Warengrp IN FRAME gAlkoholika /* Warengruppen */
  338. DO:
  339. RUN g-auswahl-wgr.w ( INPUT SELF ).
  340. END.
  341. /* _UIB-CODE-BLOCK-END */
  342. &ANALYZE-RESUME
  343. &UNDEFINE SELF-NAME
  344. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK gAlkoholika
  345. /* *************************** Main Block *************************** */
  346. MaxPage = 1.
  347. AktSeite = 1.
  348. Firma = DYNAMIC-FUNCTION('GETMANDANT':U) NO-ERROR.
  349. AdFirma = DYNAMIC-FUNCTION('GETADMANDANT':U) NO-ERROR.
  350. ProgName = ENTRY(1, THIS-PROCEDURE:FILE-NAME, '.') NO-ERROR.
  351. SESSION:DATA-ENTRY-RETURN = TRUE.
  352. /* TRIGGERS ------------------------------------------------------ */
  353. /*
  354. ON 'END-ERROR':U OF FRAME {&FRAME-NAME} ANYWHERE
  355. DO:
  356. FMutFlag = DYNAMIC-FUNCTION('getMutflagAlt':U) NO-ERROR.
  357. IF FMutFlag = FALSE THEN DO:
  358. RUN ENDE.
  359. RETURN NO-APPLY.
  360. END.
  361. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'CANCEL':U ).
  362. RETURN NO-APPLY.
  363. END.
  364. */
  365. /* ------------------------------------------------------------------ */
  366. {src/adm2/dialogmn.i}
  367. /* _UIB-CODE-BLOCK-END */
  368. &ANALYZE-RESUME
  369. /* ********************** Internal Procedures *********************** */
  370. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects gAlkoholika _ADM-CREATE-OBJECTS
  371. PROCEDURE adm-create-objects :
  372. /*------------------------------------------------------------------------------
  373. Purpose: Create handles for all SmartObjects used in this procedure.
  374. After SmartObjects are initialized, then SmartLinks are added.
  375. Parameters: <none>
  376. ------------------------------------------------------------------------------*/
  377. END PROCEDURE.
  378. /* _UIB-CODE-BLOCK-END */
  379. &ANALYZE-RESUME
  380. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE BEREINIGEN gAlkoholika
  381. PROCEDURE BEREINIGEN :
  382. /*------------------------------------------------------------------------------
  383. Purpose:
  384. Parameters: <none>
  385. Notes:
  386. ------------------------------------------------------------------------------*/
  387. DEF INPUT PARAMETER ipHandle AS HANDLE NO-UNDO.
  388. DEF VAR cString AS CHAR NO-UNDO.
  389. DEF VAR i AS INT NO-UNDO.
  390. cString = ''.
  391. DO i = 1 TO LENGTH(ipHandle:SCREEN-VALUE):
  392. IF SUBSTRING(ipHandle:SCREEN-VALUE,i,1) < '0' OR
  393. SUBSTRING(ipHandle:SCREEN-VALUE,i,1) > '9' THEN DO:
  394. SUBSTRING(ipHandle:SCREEN-VALUE,i) = ','.
  395. END.
  396. END.
  397. DO i = 1 TO NUM-ENTRIES(ipHandle:SCREEN-VALUE, ','):
  398. IF cString <> '' THEN cString = cString + ','.
  399. cString = cString
  400. + STRING(INTEGER(ENTRY(i, ipHandle:SCREEN-VALUE, ',')),'999').
  401. END.
  402. ipHandle:SCREEN-VALUE = cString.
  403. RETURN.
  404. END PROCEDURE.
  405. /* _UIB-CODE-BLOCK-END */
  406. &ANALYZE-RESUME
  407. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI gAlkoholika _DEFAULT-DISABLE
  408. PROCEDURE disable_UI :
  409. /*------------------------------------------------------------------------------
  410. Purpose: DISABLE the User Interface
  411. Parameters: <none>
  412. Notes: Here we clean-up the user-interface by deleting
  413. dynamic widgets we have created and/or hide
  414. frames. This procedure is usually called when
  415. we are ready to "clean-up" after running.
  416. ------------------------------------------------------------------------------*/
  417. /* Hide all frames. */
  418. HIDE FRAME gAlkoholika.
  419. END PROCEDURE.
  420. /* _UIB-CODE-BLOCK-END */
  421. &ANALYZE-RESUME
  422. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject gAlkoholika
  423. PROCEDURE enableObject :
  424. /*------------------------------------------------------------------------------
  425. Purpose: Super Override
  426. Parameters:
  427. Notes:
  428. ------------------------------------------------------------------------------*/
  429. DEF VAR cString AS CHAR NO-UNDO.
  430. DEF VAR i AS INT NO-UNDO.
  431. FIND Femeld WHERE Femeld.Sprcd = 1
  432. AND Femeld.Fenr = 999 NO-LOCK NO-ERROR.
  433. cString = ''.
  434. IF AVAILABLE Femeld THEN DO WITH FRAME {&FRAME-NAME}:
  435. DO i = 1 TO NUM-ENTRIES(Femeld.Fetext, ','):
  436. cString = cString + ';' + ENTRY (i, Femeld.Fetext, ',')
  437. + ';' + STRING(i,'99').
  438. END.
  439. END.
  440. IF cString = '' THEN cString = ';'.
  441. ELSE cString = SUBSTRING(cString,02).
  442. CB_Adresscode:DELIMITER = ';'.
  443. CB_Adresscode:LIST-ITEM-PAIRS = cString.
  444. CB_Adresscode:SCREEN-VALUE = ENTRY(2, CB_Adresscode:LIST-ITEM-PAIRS, ';') NO-ERROR.
  445. RUN SUPER.
  446. RUN FENSTER_TITEL ( INPUT FRAME {&FRAME-NAME}:HANDLE ) NO-ERROR.
  447. RUN LESENFWAUSWERTUNGEN ( INPUT ProgName,
  448. INPUT FRAME {&FRAME-NAME}:CURRENT-ITERATION ) NO-ERROR.
  449. END PROCEDURE.
  450. /* _UIB-CODE-BLOCK-END */
  451. &ANALYZE-RESUME
  452. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI gAlkoholika _DEFAULT-ENABLE
  453. PROCEDURE enable_UI :
  454. /*------------------------------------------------------------------------------
  455. Purpose: ENABLE the User Interface
  456. Parameters: <none>
  457. Notes: Here we display/view/enable the widgets in the
  458. user-interface. In addition, OPEN all queries
  459. associated with each FRAME and BROWSE.
  460. These statements here are based on the "Other
  461. Settings" section of the widget Property Sheets.
  462. ------------------------------------------------------------------------------*/
  463. DISPLAY F_VonArtnr F_BisArtnr F_Warengrp F_VonKnr F_BisKnr F_Kundengrp
  464. CB_Adresscode F_SelCode F_VonDatum F_BisDatum
  465. WITH FRAME gAlkoholika.
  466. ENABLE RECT-12 RECT-13 RECT-14 RECT-15 F_VonArtnr F_BisArtnr F_Warengrp
  467. F_VonKnr F_BisKnr F_Kundengrp CB_Adresscode F_SelCode F_VonDatum
  468. F_BisDatum Btn_OK Btn_Cancel
  469. WITH FRAME gAlkoholika.
  470. VIEW FRAME gAlkoholika.
  471. {&OPEN-BROWSERS-IN-QUERY-gAlkoholika}
  472. END PROCEDURE.
  473. /* _UIB-CODE-BLOCK-END */
  474. &ANALYZE-RESUME
  475. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE gAlkoholika
  476. PROCEDURE ENDE :
  477. /*------------------------------------------------------------------------------
  478. Purpose:
  479. Parameters: <none>
  480. Notes:
  481. ------------------------------------------------------------------------------*/
  482. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U) NO-ERROR.
  483. IF AktSeite > 1 THEN DO:
  484. RUN selectPage ( INPUT 1 ).
  485. RETURN NO-APPLY.
  486. END.
  487. RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ).
  488. APPLY 'GO' TO FRAME {&FRAME-NAME}.
  489. RETURN NO-APPLY.
  490. END PROCEDURE.
  491. /* _UIB-CODE-BLOCK-END */
  492. &ANALYZE-RESUME
  493. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE exitObject gAlkoholika
  494. PROCEDURE exitObject :
  495. /*------------------------------------------------------------------------------
  496. Purpose: Super Override
  497. Parameters:
  498. Notes:
  499. ------------------------------------------------------------------------------*/
  500. RUN ENDE.
  501. RETURN NO-APPLY.
  502. END PROCEDURE.
  503. /* _UIB-CODE-BLOCK-END */
  504. &ANALYZE-RESUME
  505. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE KOPF gAlkoholika
  506. PROCEDURE KOPF :
  507. /*------------------------------------------------------------------------------
  508. Purpose:
  509. Parameters: <none>
  510. Notes:
  511. ------------------------------------------------------------------------------*/
  512. DEF VAR i AS INT NO-UNDO.
  513. Seite = Seite + 1.
  514. IF Seite = 1 THEN DO:
  515. DO i = 1 TO 3:
  516. PUT CONTROL '£' CHR(10).
  517. END.
  518. FIND Adresse USE-INDEX Adresse-k1
  519. WHERE Adresse.Firma = AdFirma
  520. AND Adresse.Knr = TArtikel.Knr NO-LOCK NO-ERROR.
  521. DO i = 1 TO 11:
  522. IF i = 1 THEN PUT CONTROL 'Adresse'.
  523. CASE i:
  524. WHEN 1 THEN PUT CONTROL '£' Steuer.Firma1 '£'.
  525. WHEN 2 THEN PUT CONTROL '£' Steuer.Firma2 '£'.
  526. WHEN 3 THEN PUT CONTROL '£' Steuer.Strasse '£'.
  527. WHEN 4 THEN PUT CONTROL '£' Steuer.Ort '£'.
  528. OTHERWISE PUT CONTROL '££'.
  529. END CASE.
  530. PUT CONTROL '£££' Adresse.Anschrift[i] CHR(10).
  531. END.
  532. PUT CONTROL '£' CHR(10)
  533. '£' CHR(10)
  534. '£' CHR(10)
  535. 'Knr£££££££££'
  536. 'Knr: ' STRING(TArtikel.Knr,'999999') CHR(10)
  537. '£' CHR(10).
  538. END.
  539. ELSE DO:
  540. DO i = 1 TO 2:
  541. PUT CONTROL '£' CHR(10).
  542. END.
  543. END.
  544. PUT CONTROL KopfText '£££££££££Seite : '
  545. TRIM(STRING(Seite,'>>9')) CHR(10)
  546. '£' CHR(10).
  547. PUT CONTROL 'Titel'
  548. TitelText CHR(10)
  549. '£' CHR(10).
  550. IF Seite = 1 THEN Zeile = 25.
  551. ELSE Zeile = 8.
  552. END PROCEDURE.
  553. /* _UIB-CODE-BLOCK-END */
  554. &ANALYZE-RESUME
  555. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE REPORT gAlkoholika
  556. PROCEDURE REPORT :
  557. /*------------------------------------------------------------------------------
  558. Purpose:
  559. Parameters: <none>
  560. Notes:
  561. ------------------------------------------------------------------------------*/
  562. DEF VAR ja AS LOG NO-UNDO.
  563. DEF VAR cString AS CHAR NO-UNDO.
  564. DEF VAR Feld AS INT NO-UNDO.
  565. DEF VAR i AS INT NO-UNDO.
  566. DEF VAR j AS INT NO-UNDO.
  567. DEF VAR Liter AS DEC DECIMALS 3 NO-UNDO.
  568. DEF VAR L100% AS DEC DECIMALS 3 NO-UNDO.
  569. DO WITH FRAME {&FRAME-NAME}:
  570. RUN BEREINIGEN ( INPUT F_Kundengrp :HANDLE ).
  571. RUN BEREINIGEN ( INPUT F_Warengrp :HANDLE ).
  572. ASSIGN {&List-6}.
  573. IF F_VonKnr = 0 AND F_BisKnr = 0 THEN F_BisKnr = 999999.
  574. IF F_VonKnr > F_BisKnr THEN F_BisKnr = F_VonKnr.
  575. IF F_VonArtnr = 0 AND F_BisArtnr = 0 THEN F_BisArtnr = 999999.
  576. IF F_VonArtnr > F_BisArtnr THEN F_BisArtnr = F_VonArtnr.
  577. IF F_VonDatum = ? THEN F_VonDatum = DATE(01,01,YEAR(TODAY)).
  578. IF F_BisDatum = ? THEN F_BisDatum = DATE(12,31,YEAR(TODAY)).
  579. IF F_BisDatum < F_VonDatum THEN F_BisDatum = F_VonDatum.
  580. DISPLAY {&List-6}.
  581. RUN SCHREIBENFWAUSWERTUNGEN ( INPUT ProgName,
  582. INPUT FRAME {&FRAME-NAME}:CURRENT-ITERATION ) NO-ERROR.
  583. DatumText = STRING(F_VonDatum,'99.99.9999') + ' - '
  584. + STRING(F_BisDatum,'99.99.9999').
  585. END.
  586. EMPTY TEMP-TABLE TArtikel.
  587. EMPTY TEMP-TABLE TExcel .
  588. Feld = INTEGER(CB_Adresscode:SCREEN-VALUE).
  589. FOR EACH Adresse USE-INDEX Adresse-k1
  590. WHERE Adresse.Firma = AdFirma
  591. AND Adresse.Knr >= F_VonKnr
  592. AND Adresse.Knr <= F_BisKnr
  593. AND Adresse.Aktiv = TRUE NO-LOCK:
  594. ja = TRUE.
  595. DO WHILE TRUE:
  596. IF F_SelCode = '' THEN LEAVE.
  597. i = 0.
  598. CASE Feld:
  599. WHEN 01 THEN i = LOOKUP(Adresse.Cd01, F_SelCode, ',') NO-ERROR.
  600. WHEN 02 THEN i = LOOKUP(Adresse.Cd02, F_SelCode, ',') NO-ERROR.
  601. WHEN 03 THEN i = LOOKUP(Adresse.Cd03, F_SelCode, ',') NO-ERROR.
  602. WHEN 04 THEN i = LOOKUP(Adresse.Cd04, F_SelCode, ',') NO-ERROR.
  603. WHEN 05 THEN i = LOOKUP(Adresse.Cd05, F_SelCode, ',') NO-ERROR.
  604. WHEN 06 THEN i = LOOKUP(Adresse.Cd06, F_SelCode, ',') NO-ERROR.
  605. WHEN 07 THEN i = LOOKUP(Adresse.Cd07, F_SelCode, ',') NO-ERROR.
  606. WHEN 08 THEN i = LOOKUP(Adresse.Cd08, F_SelCode, ',') NO-ERROR.
  607. WHEN 09 THEN i = LOOKUP(Adresse.Cd09, F_SelCode, ',') NO-ERROR.
  608. WHEN 10 THEN i = LOOKUP(Adresse.Cd10, F_SelCode, ',') NO-ERROR.
  609. WHEN 11 THEN i = LOOKUP(Adresse.Cd11, F_SelCode, ',') NO-ERROR.
  610. WHEN 12 THEN i = LOOKUP(Adresse.Cd12, F_SelCode, ',') NO-ERROR.
  611. WHEN 13 THEN i = LOOKUP(Adresse.Cd13, F_SelCode, ',') NO-ERROR.
  612. WHEN 14 THEN i = LOOKUP(Adresse.Cd14, F_SelCode, ',') NO-ERROR.
  613. WHEN 15 THEN i = LOOKUP(Adresse.Cd15, F_SelCode, ',') NO-ERROR.
  614. END CASE.
  615. IF i > 0 THEN LEAVE.
  616. ja = FALSE.
  617. LEAVE.
  618. END.
  619. IF NOT ja THEN NEXT.
  620. FIND Debst USE-INDEX Debst-k1
  621. WHERE Debst.Firma = Firma
  622. AND Debst.Knr = Adresse.Knr
  623. AND Debst.Aktiv = TRUE NO-LOCK NO-ERROR.
  624. IF NOT AVAILABLE Debst THEN NEXT.
  625. IF F_Kundengrp = '' THEN.
  626. ELSE DO:
  627. IF LOOKUP(STRING(Debst.Ku_Grp,'999'), F_Kundengrp, ',') = 0 THEN NEXT.
  628. END.
  629. FOR EACH Artbw USE-INDEX Artbw-k3
  630. WHERE Artbw.Firma = Debst.Firma
  631. AND Artbw.Knr = Debst.Knr
  632. AND Artbw.Faknr > 0
  633. AND Artbw.Fak_Dat >= F_VonDatum
  634. AND Artbw.Fak_Dat <= F_BisDatum
  635. AND Artbw.Artnr >= F_VonArtnr
  636. AND Artbw.Artnr <= F_BisArtnr NO-LOCK,
  637. FIRST Artst USE-INDEX Artst-k1
  638. WHERE Artst.Firma = Artbw.Firma
  639. AND Artst.Artnr = Artbw.Artnr
  640. AND Artst.Inhalt = Artbw.Inhalt
  641. AND Artst.Jahr = Artbw.Jahr
  642. AND Artst.EAV_Code <> '' NO-LOCK:
  643. IF F_Warengrp = '' THEN.
  644. ELSE DO:
  645. IF LOOKUP(STRING(Artst.Wg_Grp,'999'), F_Warengrp , ',') = 0 THEN NEXT.
  646. END.
  647. CREATE TArtikel.
  648. ASSIGN TArtikel.Knr = Debst.Knr
  649. TArtikel.Datum = Artbw.Fak_Dat
  650. TArtikel.Faknr = Artbw.Faknr
  651. TArtikel.Artnr = Artst.Artnr
  652. TArtikel.Inhalt = Artst.Inhalt
  653. TArtikel.Jahr = Artst.Jahr
  654. TArtikel.Bez1 = Artbw.Bez1
  655. TArtikel.Bez2 = Artbw.Bez2
  656. TArtikel.KGeb_Cd = Artbw.KGeb_Cd
  657. TArtikel.Alk = Artbw.Alk_Gehalt
  658. TArtikel.Menge = Artbw.Menge
  659. TArtikel.Liter = Artbw.Liter.
  660. IF TArtikel.Alk = 0 THEN TArtikel.Alk = Artst.Alk_Gehalt.
  661. TArtikel.Alk100% = TArtikel.Liter * TArtikel.Alk / 100.
  662. END.
  663. END.
  664. FIND FIRST TArtikel NO-LOCK NO-ERROR.
  665. IF NOT AVAILABLE TArtikel THEN RETURN.
  666. cVorlage = 'AlkoholVerkauf' + '.xls'.
  667. cDokument = 'AlkoholVerkauf' + '.xls'.
  668. cDaten = 'AlkoholVerkauf' + '.txt'.
  669. cDateiName = cDokument + CHR(01) + cVorlage.
  670. RUN CREATEDATEI ( INPUT cDateiName ).
  671. IF RETURN-VALUE BEGINS 'ERROR' THEN RETURN NO-APPLY.
  672. cDokument = RETURN-VALUE.
  673. cDateiName = cDaten.
  674. RUN CREATEDATEI ( INPUT cDateiName ).
  675. IF RETURN-VALUE BEGINS 'ERROR' THEN RETURN NO-APPLY.
  676. cDaten = RETURN-VALUE.
  677. excelAppl = DYNAMIC-FUNCTION('CREATEEXCEL':U) NO-ERROR.
  678. IF NOT VALID-HANDLE(excelAppl) THEN DO:
  679. RUN FEHLER ( INPUT 1035 ).
  680. RETURN.
  681. END.
  682. RUN OPENEXCEL ( INPUT excelAppl, INPUT cDokument, INPUT '', OUTPUT ja ).
  683. IF NOT ja THEN DO:
  684. RUN FEHLER ( INPUT 1040 ).
  685. DYNAMIC-FUNCTION('RELEASEEXCEL':U, INPUT excelAppl ) NO-ERROR.
  686. RETURN NO-APPLY.
  687. END.
  688. FIND Steuer USE-INDEX Steuer-k1
  689. WHERE Steuer.Firma = Firma NO-LOCK NO-ERROR.
  690. KopfText = ''.
  691. FussText = ''.
  692. TitelText = ''.
  693. excelAppl:Sheets("Texte"):Select.
  694. DO i = 1 TO 7:
  695. DO j = 65 TO 75:
  696. Zelle = CHR(j) + STRING(i).
  697. excelAppl:Range(Zelle):Select.
  698. cString = excelAppl:SELECTION:VALUE.
  699. IF cString = ? THEN cString = ''.
  700. FussText[i] = Fusstext[i] + '£' + cString.
  701. END.
  702. END.
  703. Zelle = 'A9'.
  704. excelAppl:Range(Zelle):Select.
  705. AnzZei = INTEGER(excelAppl:SELECTION:VALUE).
  706. Zelle = 'A10'.
  707. excelAppl:Range(Zelle):Select.
  708. KopfText = excelAppl:SELECTION:VALUE.
  709. i = INDEX(KopfText, '%1%').
  710. IF i > 0 THEN KopfText = SUBSTRING(KopfText,01,i - 1)
  711. + DatumText
  712. + SUBSTRING(KopfText,i + 3).
  713. DO j = 65 TO 74:
  714. Zelle = CHR(j) + '15'.
  715. excelAppl:Range(Zelle):Select.
  716. cString = excelAppl:Selection:Value.
  717. IF cString = ? THEN cString = ''.
  718. TitelText = TitelText + '£' + cString.
  719. END.
  720. excelAppl:Sheets("Liste"):Select.
  721. OUTPUT TO VALUE(cDaten).
  722. FOR EACH TArtikel USE-INDEX TArtikel-k1 NO-LOCK
  723. BREAK BY TArtikel.Knr
  724. BY TArtikel.Datum
  725. BY TArtikel.Faknr
  726. BY TArtikel.Artnr
  727. BY TArtikel.Inhalt
  728. BY TArtikel.Jahr :
  729. IF FIRST-OF ( TArtikel.Knr ) THEN DO:
  730. Liter = 0.
  731. L100% = 0.
  732. Seite = 0.
  733. IF FIRST ( TArtikel.Knr ) THEN PUT CONTROL '£' CHR(10).
  734. RUN KOPF.
  735. END.
  736. FIND KGebinde USE-INDEX KGebinde-k1
  737. WHERE KGebinde.Firma = Firma
  738. AND KGebinde.Geb_Cd = TArtikel.KGeb_Cd NO-LOCK NO-ERROR.
  739. PUT CONTROL '£'
  740. STRING(TArtikel.Datum ,'99.99.9999') '£'
  741. TRIM(STRING(TArtikel.Faknr ,'zzzzzz')) '£'
  742. STRING(TArtikel.Artnr ,'999999') '£'
  743. TArtikel.Bez1 '£'
  744. STRING(TArtikel.Alk ,'z9.99%') '£'.
  745. IF AVAILABLE KGebinde THEN PUT CONTROL KGebinde.KBez '£'.
  746. ELSE PUT CONTROL '? ' TArtikel.KGeb_Cd '£'.
  747. PUT CONTROL TRIM(STRING(TArtikel.Menge ,'->>>,>>9.99')) '£'
  748. TRIM(STRING(TArtikel.Liter ,'->>>,>>9.99')) '£'
  749. TRIM(STRING(TArtikel.ALk100%,'->>>,>>9.99')) CHR(10).
  750. Liter = Liter + TArtikel.Liter.
  751. L100% = L100% + TArtikel.Alk100%.
  752. Zeile = Zeile + 1.
  753. IF NOT LAST-OF ( TArtikel.Knr ) THEN DO:
  754. i = Zeile + 10.
  755. IF i > AnzZei THEN DO:
  756. PUT CONTROL 'ENDE' CHR(10).
  757. RUN KOPF.
  758. END.
  759. NEXT.
  760. END.
  761. PUT CONTROL 'Total££££££££'
  762. TRIM(STRING(Liter,'->>>,>>9.99')) '£'
  763. TRIM(STRING(L100%,'->>>,>>9.99')) CHR(10)
  764. '£' CHR(10)
  765. '£' CHR(10).
  766. DO i = 1 TO 7:
  767. PUT CONTROL FussText[i] CHR(10).
  768. END.
  769. PUT CONTROL 'ENDE' CHR(10).
  770. END.
  771. OUTPUT CLOSE.
  772. FIND FIRST TArtikel NO-LOCK NO-ERROR.
  773. IF NOT AVAILABLE TArtikel THEN DO:
  774. DYNAMIC-FUNCTION('RELEASEEXCEL':U, INPUT excelAppl ) NO-ERROR.
  775. RETURN NO-APPLY.
  776. END.
  777. i = 0.
  778. INPUT STREAM INP_Stream FROM VALUE(cDaten) NO-ECHO NO-MAP.
  779. REPEAT TRANSACTION ON STOP UNDO, LEAVE WITH FRAME f_Print:
  780. i = i + 1.
  781. CREATE TExcel.
  782. IMPORT STREAM INP_Stream DELIMITER '£' TExcel.KeyWort
  783. TExcel.Felder .
  784. TExcel.Zeile = i.
  785. END.
  786. INPUT STREAM INP_Stream CLOSE.
  787. OUTPUT STREAM OUT_Stream TO VALUE(cDaten) NO-MAP.
  788. FOR EACH TExcel BY TExcel.Zeile:
  789. CASE TExcel.KeyWort:
  790. WHEN 'Knr' THEN PUT STREAM OUT_Stream CONTROL '£'.
  791. WHEN 'Titel' THEN PUT STREAM OUT_Stream CONTROL '£'.
  792. WHEN 'Adresse' THEN PUT STREAM OUT_Stream CONTROL '£'.
  793. WHEN 'Total' THEN PUT STREAM OUT_Stream CONTROL '£'.
  794. WHEN 'Ende' THEN PUT STREAM OUT_Stream CONTROL '£'.
  795. OTHERWISE PUT STREAM OUT_Stream CONTROL TExcel.KeyWort '£'.
  796. END CASE.
  797. EXPORT STREAM OUT_Stream DELIMITER '£' TExcel.Felder.
  798. END.
  799. OUTPUT STREAM OUT_Stream CLOSE.
  800. Zelle = 'A1'.
  801. excelAppl:Range(Zelle):SELECT.
  802. excelAppl:SELECTION:FormulaR1C1 = 'TEXT;' + cDaten.
  803. excelAppl:APPLICATION:RUN ( 'DateiEinfügen' ).
  804. Zelle = 'A1'.
  805. excelAppl:Range(Zelle):SELECT.
  806. excelAppl:SELECTION:ColumnWidth = 0.3.
  807. FOR EACH TExcel WHERE TExcel.KeyWort <> '' BY TExcel.Zeile:
  808. CASE TExcel.KeyWort:
  809. WHEN 'Titel' THEN DO:
  810. Zelle = 'B' + STRING(TExcel.Zeile)
  811. + ':J' + STRING(TExcel.Zeile).
  812. excelAppl:Range(Zelle):SELECT.
  813. excelAppl:APPLICATION:RUN ( TExcel.KeyWort ).
  814. END.
  815. WHEN 'Adresse' THEN DO:
  816. Zelle = 'B' + STRING(TExcel.Zeile)
  817. + ':J' + STRING(TExcel.Zeile + 11).
  818. excelAppl:Range(Zelle):SELECT.
  819. excelAppl:Selection:HorizontalAlignment = -4131.
  820. END.
  821. WHEN 'Total' THEN DO:
  822. Zelle = 'I' + STRING(TExcel.Zeile)
  823. + ':J' + STRING(TExcel.Zeile).
  824. excelAppl:Range(Zelle):SELECT.
  825. excelAppl:Selection:Font:Bold = TRUE.
  826. Zelle = 'B' + STRING(TExcel.Zeile + 1)
  827. + ':J' + STRING(TExcel.Zeile + 8).
  828. excelAppl:Range(Zelle):SELECT.
  829. excelAppl:Selection:HorizontalAlignment = -4131.
  830. END.
  831. WHEN 'ENDE' THEN DO:
  832. Zelle = 'A' + STRING(TExcel.Zeile).
  833. excelAppl:Range(Zelle):SELECT.
  834. excelAppl:ActiveWindow:SelectedSheets:HPageBreaks:Add(excelAppl:Selection).
  835. END.
  836. END CASE.
  837. END.
  838. DYNAMIC-FUNCTION('RELEASEEXCEL':U, INPUT excelAppl ) NO-ERROR.
  839. END PROCEDURE.
  840. /* _UIB-CODE-BLOCK-END */
  841. &ANALYZE-RESUME