g-p_faelligkeit.w 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596
  1. &ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2
  2. &ANALYZE-RESUME
  3. &Scoped-define WINDOW-NAME CURRENT-WINDOW
  4. &Scoped-define FRAME-NAME gFaelligkeitsUebersicht
  5. {adecomm/appserv.i}
  6. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS gFaelligkeitsUebersicht
  7. /*------------------------------------------------------------------------
  8. File:
  9. Description: from cntnrdlg.w - ADM2 SmartDialog Template
  10. Input Parameters:
  11. <none>
  12. Output Parameters:
  13. <none>
  14. Author:
  15. Created:
  16. ------------------------------------------------------------------------*/
  17. /* This .W file was created with the Progress AppBuilder. */
  18. /*----------------------------------------------------------------------*/
  19. /* Create an unnamed pool to store all the widgets created
  20. by this procedure. This is a good default which assures
  21. that this procedure's triggers and internal procedures
  22. will execute in this procedure's storage, and that proper
  23. cleanup will occur on deletion of the procedure. */
  24. CREATE WIDGET-POOL.
  25. /* *************************** Definitions ************************** */
  26. /* Parameters Definitions --- */
  27. /* Local Variable Definitions --- */
  28. { incl/dlgdefinition.i }
  29. DEF VAR excelAppl AS COM-HANDLE NO-UNDO.
  30. DEF VAR nTotale AS DEC EXTENT 10 NO-UNDO.
  31. DEF TEMP-TABLE tFaellig
  32. FIELD iKnr AS INT
  33. FIELD cKunde AS CHAR
  34. FIELD cVertr AS CHAR
  35. FIELD iAnz AS INT
  36. FIELD nSaldo AS DEC
  37. FIELD nFaellig AS DEC EXTENT 5
  38. INDEX tFaellig-k1 IS PRIMARY
  39. iKnr
  40. .
  41. { src/adm2/widgetprto.i }
  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 designated FRAME-NAME and/or first browse and/or first query */
  51. &Scoped-define FRAME-NAME gFaelligkeitsUebersicht
  52. /* Standard List Definitions */
  53. &Scoped-Define ENABLED-OBJECTS RECT-2 F_vonKnr F_bisKnr CB_Vertreter Btn_OK ~
  54. Btn_Cancel
  55. &Scoped-Define DISPLAYED-OBJECTS F_vonKnr F_bisKnr CB_Vertreter
  56. /* Custom List Definitions */
  57. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  58. &Scoped-define List-6 F_vonKnr F_bisKnr
  59. /* _UIB-PREPROCESSOR-BLOCK-END */
  60. &ANALYZE-RESUME
  61. /* *********************** Control Definitions ********************** */
  62. /* Define a dialog box */
  63. /* Definitions of the field level widgets */
  64. DEFINE BUTTON Btn_Cancel AUTO-END-KEY
  65. LABEL "abbrechen"
  66. SIZE 15 BY 1.
  67. DEFINE BUTTON Btn_OK AUTO-GO
  68. LABEL "OK"
  69. SIZE 15 BY 1.
  70. DEFINE VARIABLE CB_Vertreter AS CHARACTER FORMAT "X(256)":U
  71. LABEL "Vertreter"
  72. VIEW-AS COMBO-BOX INNER-LINES 5
  73. LIST-ITEM-PAIRS "Item 1","Item 1"
  74. DROP-DOWN-LIST
  75. SIZE 35.8 BY 1 NO-UNDO.
  76. DEFINE VARIABLE F_bisKnr AS INTEGER FORMAT "999999":U INITIAL 0
  77. LABEL "-"
  78. VIEW-AS FILL-IN NATIVE
  79. SIZE 11 BY 1
  80. BGCOLOR 15 NO-UNDO.
  81. DEFINE VARIABLE F_vonKnr AS INTEGER FORMAT "999999":U INITIAL 0
  82. LABEL "von - bis Knr"
  83. VIEW-AS FILL-IN NATIVE
  84. SIZE 11 BY 1
  85. BGCOLOR 15 NO-UNDO.
  86. DEFINE RECTANGLE RECT-2
  87. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  88. SIZE 60 BY 7.14.
  89. /* ************************ Frame Definitions *********************** */
  90. DEFINE FRAME gFaelligkeitsUebersicht
  91. F_vonKnr AT ROW 2.52 COL 20 COLON-ALIGNED WIDGET-ID 4
  92. F_bisKnr AT ROW 2.52 COL 34 COLON-ALIGNED WIDGET-ID 6
  93. CB_Vertreter AT ROW 3.52 COL 20 COLON-ALIGNED WIDGET-ID 8
  94. Btn_OK AT ROW 10 COL 12.2
  95. Btn_Cancel AT ROW 10 COL 33.4
  96. RECT-2 AT ROW 1.48 COL 3 WIDGET-ID 2
  97. SPACE(1.99) SKIP(2.94)
  98. WITH VIEW-AS DIALOG-BOX KEEP-TAB-ORDER
  99. SIDE-LABELS NO-UNDERLINE THREE-D SCROLLABLE
  100. TITLE "Fälligkeitsstatistik"
  101. CANCEL-BUTTON Btn_Cancel WIDGET-ID 100.
  102. /* *********************** Procedure Settings ************************ */
  103. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  104. /* Settings for THIS-PROCEDURE
  105. Type: SmartDialog
  106. Allow: Basic,Browse,DB-Fields,Query,Smart
  107. Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  108. Design Page: 1
  109. Other Settings: COMPILE APPSERVER
  110. */
  111. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  112. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB gFaelligkeitsUebersicht
  113. /* ************************* Included-Libraries *********************** */
  114. {src/adm2/containr.i}
  115. /* _UIB-CODE-BLOCK-END */
  116. &ANALYZE-RESUME
  117. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  118. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  119. /* SETTINGS FOR DIALOG-BOX gFaelligkeitsUebersicht
  120. FRAME-NAME */
  121. ASSIGN
  122. FRAME gFaelligkeitsUebersicht:SCROLLABLE = FALSE
  123. FRAME gFaelligkeitsUebersicht:HIDDEN = TRUE.
  124. /* SETTINGS FOR FILL-IN F_bisKnr IN FRAME gFaelligkeitsUebersicht
  125. 6 */
  126. /* SETTINGS FOR FILL-IN F_vonKnr IN FRAME gFaelligkeitsUebersicht
  127. 6 */
  128. /* _RUN-TIME-ATTRIBUTES-END */
  129. &ANALYZE-RESUME
  130. /* Setting information for Queries and Browse Widgets fields */
  131. &ANALYZE-SUSPEND _QUERY-BLOCK DIALOG-BOX gFaelligkeitsUebersicht
  132. /* Query rebuild information for DIALOG-BOX gFaelligkeitsUebersicht
  133. _Options = "SHARE-LOCK"
  134. _Query is NOT OPENED
  135. */ /* DIALOG-BOX gFaelligkeitsUebersicht */
  136. &ANALYZE-RESUME
  137. /* ************************ Control Triggers ************************ */
  138. &Scoped-define SELF-NAME gFaelligkeitsUebersicht
  139. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gFaelligkeitsUebersicht gFaelligkeitsUebersicht
  140. ON END-ERROR OF FRAME gFaelligkeitsUebersicht /* Fälligkeitsstatistik */
  141. DO:
  142. RUN ENDE.
  143. RETURN NO-APPLY.
  144. END.
  145. /* _UIB-CODE-BLOCK-END */
  146. &ANALYZE-RESUME
  147. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gFaelligkeitsUebersicht gFaelligkeitsUebersicht
  148. ON WINDOW-CLOSE OF FRAME gFaelligkeitsUebersicht /* Fälligkeitsstatistik */
  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 gFaelligkeitsUebersicht
  157. ON CHOOSE OF Btn_Cancel IN FRAME gFaelligkeitsUebersicht /* 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 gFaelligkeitsUebersicht
  166. ON CHOOSE OF Btn_OK IN FRAME gFaelligkeitsUebersicht /* OK */
  167. DO:
  168. RUN REPORT.
  169. btnOK = TRUE.
  170. APPLY 'ENTRY' TO F_vonKnr.
  171. RETURN NO-APPLY.
  172. END.
  173. /* _UIB-CODE-BLOCK-END */
  174. &ANALYZE-RESUME
  175. &UNDEFINE SELF-NAME
  176. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK gFaelligkeitsUebersicht
  177. /* *************************** Main Block *************************** */
  178. { incl/dlgmainblock.i }
  179. {src/adm2/dialogmn.i}
  180. /* _UIB-CODE-BLOCK-END */
  181. &ANALYZE-RESUME
  182. /* ********************** Internal Procedures *********************** */
  183. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects gFaelligkeitsUebersicht _ADM-CREATE-OBJECTS
  184. PROCEDURE adm-create-objects :
  185. /*------------------------------------------------------------------------------
  186. Purpose: Create handles for all SmartObjects used in this procedure.
  187. After SmartObjects are initialized, then SmartLinks are added.
  188. Parameters: <none>
  189. ------------------------------------------------------------------------------*/
  190. END PROCEDURE.
  191. /* _UIB-CODE-BLOCK-END */
  192. &ANALYZE-RESUME
  193. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI gFaelligkeitsUebersicht _DEFAULT-DISABLE
  194. PROCEDURE disable_UI :
  195. /*------------------------------------------------------------------------------
  196. Purpose: DISABLE the User Interface
  197. Parameters: <none>
  198. Notes: Here we clean-up the user-interface by deleting
  199. dynamic widgets we have created and/or hide
  200. frames. This procedure is usually called when
  201. we are ready to "clean-up" after running.
  202. ------------------------------------------------------------------------------*/
  203. /* Hide all frames. */
  204. HIDE FRAME gFaelligkeitsUebersicht.
  205. END PROCEDURE.
  206. /* _UIB-CODE-BLOCK-END */
  207. &ANALYZE-RESUME
  208. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject gFaelligkeitsUebersicht
  209. PROCEDURE enableObject :
  210. /*------------------------------------------------------------------------------
  211. Purpose: Super Override
  212. Parameters:
  213. Notes:
  214. ------------------------------------------------------------------------------*/
  215. DEF VAR cString AS CHAR NO-UNDO.
  216. DO WITH FRAME {&FRAME-NAME}:
  217. RUN COMBO_VERTRETER ( CB_Vertreter:HANDLE ).
  218. cString = 'Alle Vertreter;999999;'
  219. + CB_Vertreter:LIST-ITEM-PAIRS.
  220. CB_Vertreter:LIST-ITEM-PAIRS = cString.
  221. CB_Vertreter:SCREEN-VALUE = '999999'.
  222. END.
  223. { incl/dlgenableobject.i }
  224. END PROCEDURE.
  225. /* _UIB-CODE-BLOCK-END */
  226. &ANALYZE-RESUME
  227. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI gFaelligkeitsUebersicht _DEFAULT-ENABLE
  228. PROCEDURE enable_UI :
  229. /*------------------------------------------------------------------------------
  230. Purpose: ENABLE the User Interface
  231. Parameters: <none>
  232. Notes: Here we display/view/enable the widgets in the
  233. user-interface. In addition, OPEN all queries
  234. associated with each FRAME and BROWSE.
  235. These statements here are based on the "Other
  236. Settings" section of the widget Property Sheets.
  237. ------------------------------------------------------------------------------*/
  238. DISPLAY F_vonKnr F_bisKnr CB_Vertreter
  239. WITH FRAME gFaelligkeitsUebersicht.
  240. ENABLE RECT-2 F_vonKnr F_bisKnr CB_Vertreter Btn_OK Btn_Cancel
  241. WITH FRAME gFaelligkeitsUebersicht.
  242. VIEW FRAME gFaelligkeitsUebersicht.
  243. {&OPEN-BROWSERS-IN-QUERY-gFaelligkeitsUebersicht}
  244. END PROCEDURE.
  245. /* _UIB-CODE-BLOCK-END */
  246. &ANALYZE-RESUME
  247. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE gFaelligkeitsUebersicht
  248. PROCEDURE ENDE :
  249. /*------------------------------------------------------------------------------
  250. Purpose:
  251. Parameters: <none>
  252. Notes:
  253. ------------------------------------------------------------------------------*/
  254. IF btnOK THEN DO:
  255. END.
  256. { incl/dlgende.i }
  257. END PROCEDURE.
  258. /* _UIB-CODE-BLOCK-END */
  259. &ANALYZE-RESUME
  260. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE EXCEL gFaelligkeitsUebersicht
  261. PROCEDURE EXCEL :
  262. /*------------------------------------------------------------------------------
  263. Purpose:
  264. Parameters: <none>
  265. Notes:
  266. ------------------------------------------------------------------------------*/
  267. DEF VAR cVorlage AS CHAR NO-UNDO.
  268. DEF VAR cDokument AS CHAR NO-UNDO.
  269. DEF VAR cDaten AS CHAR NO-UNDO.
  270. DEF VAR cDateiName AS CHAR NO-UNDO.
  271. DEF VAR Zelle AS CHAR NO-UNDO.
  272. DEF VAR lJa AS LOG NO-UNDO.
  273. FIND FIRST tFaellig NO-LOCK NO-ERROR.
  274. IF NOT AVAILABLE tFaellig THEN DO:
  275. MESSAGE 'Keine Daten selektiert ! ' VIEW-AS ALERT-BOX.
  276. RETURN.
  277. END.
  278. cVorlage = 'Faelligkeit.xls'.
  279. cDokument = 'Faelligkeit.xls'.
  280. cDaten = 'Faelligkeit.txt'.
  281. cDateiName = cDokument + CHR(01) + cVorlage.
  282. RUN CREATEDATEI ( INPUT cDateiName ).
  283. IF RETURN-VALUE BEGINS 'ERROR' THEN DO:
  284. MESSAGE RETURN-VALUE
  285. VIEW-AS ALERT-BOX INFORMATION BUTTONS OK.
  286. RETURN NO-APPLY.
  287. END.
  288. cDokument = RETURN-VALUE.
  289. cDateiName = cDaten.
  290. RUN CREATEDATEI ( INPUT cDateiName ).
  291. IF RETURN-VALUE BEGINS 'ERROR' THEN DO:
  292. MESSAGE RETURN-VALUE
  293. VIEW-AS ALERT-BOX INFORMATION BUTTONS OK.
  294. RETURN NO-APPLY.
  295. END.
  296. cDaten = RETURN-VALUE.
  297. OUTPUT TO VALUE(cDaten).
  298. DEF VAR cZeile AS CHAR NO-UNDO.
  299. PUT CONTROL '£££'
  300. TRIM(STRING(nTotale[01],'->>>>>>>>9.99')) + '£'
  301. TRIM(STRING(nTotale[03],'->>>>>>>>9.99')) + '£'
  302. TRIM(STRING(nTotale[04],'->>>>>>>>9.99')) + '£'
  303. TRIM(STRING(nTotale[05],'->>>>>>>>9.99')) + '£'
  304. TRIM(STRING(nTotale[06],'->>>>>>>>9.99')) + '£'
  305. TRIM(STRING(nTotale[07],'->>>>>>>>9.99')) + '£'
  306. TRIM(STRING(nTotale[02],'->>>>>>>>9.99'))
  307. CHR(10).
  308. FOR EACH tFaellig :
  309. cZeile = STRING(tFaellig.iKnr,'999999') + '£'
  310. + tFaellig.cKunde + '£'
  311. + tFaellig.cVertr + '£'
  312. + TRIM(STRING(tFaellig.iAnz ,'>>>>>>9')) + '£'
  313. + TRIM(STRING(tFaellig.nFaellig[01],'->>>>>>>>9.99')) + '£'
  314. + TRIM(STRING(tFaellig.nFaellig[02],'->>>>>>>>9.99')) + '£'
  315. + TRIM(STRING(tFaellig.nFaellig[03],'->>>>>>>>9.99')) + '£'
  316. + TRIM(STRING(tFaellig.nFaellig[04],'->>>>>>>>9.99')) + '£'
  317. + TRIM(STRING(tFaellig.nFaellig[05],'->>>>>>>>9.99')) + '£'
  318. + TRIM(STRING(tFaellig.nSaldo ,'->>>>>>>>9.99')).
  319. PUT CONTROL cZeile CHR(10).
  320. END.
  321. OUTPUT CLOSE.
  322. excelAppl = DYNAMIC-FUNCTION('CREATEEXCEL':U) NO-ERROR.
  323. IF NOT VALID-HANDLE(excelAppl) THEN DO:
  324. RUN FEHLER ( INPUT 1035 ).
  325. RETURN.
  326. END.
  327. RUN OPENEXCEL ( INPUT excelAppl, INPUT cDokument, INPUT '', OUTPUT lJa ).
  328. IF NOT lJa THEN DO:
  329. RUN FEHLER ( INPUT 1040 ).
  330. DYNAMIC-FUNCTION('RELEASEEXCEL':U, INPUT excelAppl ) NO-ERROR.
  331. RETURN NO-APPLY.
  332. END.
  333. Zelle = 'A5'.
  334. excelAppl:Range(Zelle):SELECT.
  335. excelAppl:SELECTION:FormulaR1C1 = 'TEXT;' + cDaten.
  336. excelAppl:APPLICATION:RUN ( 'DateiEinfügen' ).
  337. RUN KOPF ( INPUT excelAppl ).
  338. Zelle = 'A1'.
  339. excelAppl:Range(Zelle):SELECT.
  340. DYNAMIC-FUNCTION('RELEASEEXCEL':U, INPUT excelAppl ) NO-ERROR.
  341. END PROCEDURE.
  342. /* _UIB-CODE-BLOCK-END */
  343. &ANALYZE-RESUME
  344. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE KOPF gFaelligkeitsUebersicht
  345. PROCEDURE KOPF :
  346. /*------------------------------------------------------------------------------
  347. Purpose:
  348. Parameters: <none>
  349. Notes:
  350. ------------------------------------------------------------------------------*/
  351. DEF INPUT PARAMETER eh AS COM-HANDLE NO-UNDO.
  352. DEF VAR Zelle AS CHAR NO-UNDO.
  353. DEF VAR rechts AS INT NO-UNDO.
  354. DEF VAR mitte AS INT NO-UNDO.
  355. DEF VAR i1 AS INT NO-UNDO.
  356. DEF VAR i2 AS INT NO-UNDO.
  357. DEF VAR Breite AS DEC DECIMALS 4 NO-UNDO.
  358. DEF VAR TotBre AS DEC DECIMALS 4 NO-UNDO.
  359. DEF VAR DifBre AS DEC DECIMALS 4 NO-UNDO.
  360. DEF VAR FHoch AS LOG NO-UNDO.
  361. DEF VAR cMonate AS CHAR NO-UNDO
  362. INIT 'Jan;Feb;Mar;Apr;Mai;Jun;Jul;Aug;Sep;Okt;Nov;Dez;Kum'.
  363. DEF VAR lDatum AS DATE NO-UNDO.
  364. /* eh:Range('A1'):Select. */
  365. /* eh:Selection:ColumnWidth = 0.2. */
  366. FIND Steuer NO-LOCK USE-INDEX Steuer-k1
  367. WHERE Steuer.Firma = Firma NO-ERROR.
  368. Zelle = 'A1'.
  369. eh:Range(Zelle):Select.
  370. eh:Selection:Value = Steuer.Firma1.
  371. Zelle = 'A2'.
  372. eh:Range(Zelle):Select.
  373. eh:Selection:Value = Steuer.Ort.
  374. /* ------------------------------------------------------ */
  375. Zelle = 'D1'.
  376. eh:Range(Zelle):Select.
  377. eh:Selection:Value = 'Debitoren Fälligkeiten'.
  378. /* ------------------------------------------------------ */
  379. Zelle = 'J1'.
  380. eh:Range(Zelle):Select.
  381. eh:Selection:Value = 'Datum : ' + STRING(TODAY,'99.99.9999').
  382. Zelle = 'J2'.
  383. eh:Range(Zelle):Select.
  384. eh:Selection:Value = 'Zeit : ' + STRING(TIME,'HH:MM:SS').
  385. END PROCEDURE.
  386. /* _UIB-CODE-BLOCK-END */
  387. &ANALYZE-RESUME
  388. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE REPORT gFaelligkeitsUebersicht
  389. PROCEDURE REPORT :
  390. /*------------------------------------------------------------------------------
  391. Purpose:
  392. Parameters: <none>
  393. Notes:
  394. ------------------------------------------------------------------------------*/
  395. DEF VAR iVertr AS INT NO-UNDO.
  396. DEF VAR iTage AS INT NO-UNDO.
  397. DEF VAR cString AS CHAR NO-UNDO.
  398. DEF VAR cVertr AS CHAR NO-UNDO.
  399. DO WITH FRAME {&FRAME-NAME}:
  400. ASSIGN {&List-6}.
  401. iVertr = INTEGER(CB_Vertreter:SCREEN-VALUE).
  402. IF F_vonKnr = 0 AND
  403. F_bisKnr = 0 THEN F_bisKnr = 999999.
  404. IF F_bisKnr < F_vonKnr THEN F_bisKnr = F_vonKnr.
  405. DISPLAY {&list-6}.
  406. END.
  407. EMPTY TEMP-TABLE tFaellig.
  408. FOR EACH Debst NO-LOCK
  409. WHERE Debst.Firma = Firma
  410. AND Debst.Knr >= F_vonKnr
  411. AND Debst.Knr <= F_bisKnr
  412. AND ((iVertr = 999999)
  413. OR (iVertr <> 999999 AND
  414. Debst.Vertr = iVertr)),
  415. EACH Debop NO-LOCK
  416. WHERE Debop.Firma = Debst.Firma
  417. AND Debop.Knr = Debst.Knr
  418. AND Debop.Saldo <> 0:
  419. iTage = TODAY - Debop.Faellig.
  420. IF iTage > 90 THEN iTage = 5.
  421. ELSE IF iTage > 60 THEN iTage = 4.
  422. ELSE IF iTage > 30 THEN iTage = 3.
  423. ELSE IF iTage > 00 THEN iTage = 2.
  424. ELSE iTage = 1.
  425. FIND FIRST tFaellig
  426. WHERE tFaellig.iKnr = Debop.Knr NO-ERROR.
  427. IF NOT AVAILABLE tFaellig THEN DO:
  428. FIND FIRST Adresse NO-LOCK
  429. WHERE Adresse.Firma = AdFirma
  430. AND Adresse.Knr = Debop.Knr.
  431. RUN FIND_VERTRETER ( Debst.Vertr, OUTPUT cVertr ) NO-ERROR.
  432. CREATE tFaellig.
  433. ASSIGN tFaellig.iKnr = Debop.Knr
  434. tFaellig.cKunde = Adresse.Anzeig_Br.
  435. IF cVertr <> '' THEN DO:
  436. tFaellig.cVertr = ENTRY(2, cVertr, CHR(01)).
  437. END.
  438. END.
  439. ASSIGN tFaellig.iAnz = tFaellig.iAnz + 1.
  440. tFaellig.nSaldo = tFaellig.nSaldo + Debop.Saldo.
  441. tFaellig.nFaellig[iTage] = tFaellig.nFaellig[iTage] + Debop.Saldo.
  442. END.
  443. nTotale = 0.
  444. FOR EACH tFaellig:
  445. ASSIGN nTotale[01] = nTotale[01] + tFaellig.iAnz
  446. nTotale[02] = nTotale[02] + tFaellig.nSaldo
  447. nTotale[03] = nTotale[03] + tFaellig.nFaellig[01]
  448. nTotale[04] = nTotale[04] + tFaellig.nFaellig[02]
  449. nTotale[05] = nTotale[05] + tFaellig.nFaellig[03]
  450. nTotale[06] = nTotale[06] + tFaellig.nFaellig[04]
  451. nTotale[07] = nTotale[07] + tFaellig.nFaellig[05].
  452. END.
  453. RUN EXCEL.
  454. END PROCEDURE.
  455. /* _UIB-CODE-BLOCK-END */
  456. &ANALYZE-RESUME