g-p_debums-mand.w 49 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389
  1. &ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2
  2. &ANALYZE-RESUME
  3. &Scoped-define WINDOW-NAME CURRENT-WINDOW
  4. &Scoped-define FRAME-NAME gDebitorumsatz
  5. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS gDebitorumsatz
  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 cVorlage AS CHAR NO-UNDO.
  33. DEF VAR cDaten AS CHAR NO-UNDO.
  34. DEF VAR cDokument AS CHAR NO-UNDO.
  35. DEF VAR cDateiName AS CHAR NO-UNDO.
  36. DEF VAR Zelle AS CHAR NO-UNDO.
  37. DEF VAR excelAppl AS COM-HANDLE NO-UNDO.
  38. DEF VAR cMandanten AS CHAR NO-UNDO.
  39. DEF TEMP-TABLE TDebUms FIELD Knr AS INT
  40. FIELD Firma AS CHAR
  41. FIELD Jahr AS INT
  42. FIELD Ums_Grp AS INT
  43. FIELD RecArt AS INT
  44. FIELD Kunde AS CHAR FORMAT "x(60)"
  45. FIELD VEp_Mon AS DEC EXTENT 12
  46. FIELD VVp_Mon AS DEC EXTENT 12
  47. FIELD VEp_Kum AS DEC
  48. FIELD VEp_Tot AS DEC
  49. FIELD VVp_Kum AS DEC
  50. FIELD VVp_Tot AS DEC
  51. FIELD LEp_Mon AS DEC EXTENT 12
  52. FIELD LVp_Mon AS DEC EXTENT 12
  53. FIELD LEp_Kum AS DEC
  54. FIELD LEp_Tot AS DEC
  55. FIELD LVp_Kum AS DEC
  56. FIELD LVp_Tot AS DEC
  57. INDEX TDebUms-k1
  58. Knr
  59. Firma
  60. Jahr
  61. Ums_Grp
  62. RecArt DESCENDING
  63. INDEX TDebUms-k2
  64. Knr
  65. Jahr
  66. Firma
  67. Ums_Grp
  68. RecArt DESCENDING.
  69. DEF BUFFER BDebUms FOR TDebUms.
  70. DEF BUFFER WDebUms FOR TDebUms.
  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 gDebitorumsatz
  81. /* Standard List Definitions */
  82. &Scoped-Define ENABLED-OBJECTS RECT-12 F_VonKnr F_BisKnr CB_Vertreter ~
  83. CB_Kundengruppe CB_Totale F_Jahr F_VonMonat F_BisMonat T_Umsatz Btn_OK ~
  84. Btn_Cancel
  85. &Scoped-Define DISPLAYED-OBJECTS F_VonKnr F_BisKnr CB_Vertreter ~
  86. CB_Kundengruppe CB_Totale F_Jahr F_VonMonat F_BisMonat T_Umsatz
  87. /* Custom List Definitions */
  88. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  89. &Scoped-define List-6 F_VonKnr F_BisKnr CB_Vertreter CB_Kundengruppe ~
  90. CB_Totale F_Jahr F_VonMonat F_BisMonat T_Umsatz
  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.
  104. DEFINE VARIABLE CB_Kundengruppe AS CHARACTER FORMAT "X(256)":U
  105. LABEL "Kundengruppe"
  106. VIEW-AS COMBO-BOX INNER-LINES 5
  107. LIST-ITEM-PAIRS "Item 1","Item 1"
  108. DROP-DOWN-LIST
  109. SIZE 40 BY 1
  110. BGCOLOR 15 NO-UNDO.
  111. DEFINE VARIABLE CB_Totale AS CHARACTER FORMAT "X(256)":U
  112. LABEL "Totale"
  113. VIEW-AS COMBO-BOX INNER-LINES 5
  114. LIST-ITEM-PAIRS "Nur Kundentotale","00",
  115. "Warengruppentotale","01",
  116. "Nur die Warengruppentotale","02"
  117. DROP-DOWN-LIST
  118. SIZE 40 BY 1
  119. BGCOLOR 15 NO-UNDO.
  120. DEFINE VARIABLE CB_Vertreter AS CHARACTER FORMAT "X(256)":U
  121. LABEL "Vertreter"
  122. VIEW-AS COMBO-BOX INNER-LINES 5
  123. LIST-ITEM-PAIRS "Item 1","Item 1"
  124. DROP-DOWN-LIST
  125. SIZE 40 BY 1
  126. BGCOLOR 15 NO-UNDO.
  127. DEFINE VARIABLE F_BisKnr AS INTEGER FORMAT "999999":U INITIAL 0
  128. LABEL "-"
  129. VIEW-AS FILL-IN NATIVE
  130. SIZE 11 BY 1
  131. BGCOLOR 15 NO-UNDO.
  132. DEFINE VARIABLE F_BisMonat AS INTEGER FORMAT "99":U INITIAL 0
  133. LABEL "-"
  134. VIEW-AS FILL-IN NATIVE
  135. SIZE 5 BY 1
  136. BGCOLOR 15 NO-UNDO.
  137. DEFINE VARIABLE F_Jahr AS INTEGER FORMAT "9999":U INITIAL 0
  138. LABEL "Laufendes Jahr"
  139. VIEW-AS FILL-IN NATIVE
  140. SIZE 8 BY 1
  141. BGCOLOR 15 NO-UNDO.
  142. DEFINE VARIABLE F_VonKnr AS INTEGER FORMAT "999999":U INITIAL 0
  143. LABEL "von - bis Knr"
  144. VIEW-AS FILL-IN NATIVE
  145. SIZE 11 BY 1
  146. BGCOLOR 15 NO-UNDO.
  147. DEFINE VARIABLE F_VonMonat AS INTEGER FORMAT "99":U INITIAL 0
  148. LABEL "von - bis Monat"
  149. VIEW-AS FILL-IN NATIVE
  150. SIZE 5 BY 1
  151. BGCOLOR 15 NO-UNDO.
  152. DEFINE RECTANGLE RECT-12
  153. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  154. SIZE 84 BY 10.48.
  155. DEFINE VARIABLE T_Umsatz AS LOGICAL INITIAL no
  156. LABEL "nur Kunden mit Umsatz ?"
  157. VIEW-AS TOGGLE-BOX
  158. SIZE 40.2 BY .81 NO-UNDO.
  159. /* ************************ Frame Definitions *********************** */
  160. DEFINE FRAME gDebitorumsatz
  161. F_VonKnr AT ROW 2 COL 28 COLON-ALIGNED
  162. F_BisKnr AT ROW 2 COL 41 COLON-ALIGNED
  163. CB_Vertreter AT ROW 3 COL 28 COLON-ALIGNED
  164. CB_Kundengruppe AT ROW 4 COL 28 COLON-ALIGNED
  165. CB_Totale AT ROW 5 COL 28 COLON-ALIGNED
  166. F_Jahr AT ROW 6 COL 28 COLON-ALIGNED
  167. F_VonMonat AT ROW 7 COL 28 COLON-ALIGNED
  168. F_BisMonat AT ROW 7 COL 35 COLON-ALIGNED
  169. T_Umsatz AT ROW 8 COL 30
  170. Btn_OK AT ROW 9.52 COL 30
  171. Btn_Cancel AT ROW 9.76 COL 55.8
  172. RECT-12 AT ROW 1.24 COL 2
  173. SPACE(0.99) SKIP(0.22)
  174. WITH VIEW-AS DIALOG-BOX KEEP-TAB-ORDER
  175. SIDE-LABELS NO-UNDERLINE THREE-D SCROLLABLE
  176. TITLE "Debitorumsätze alle Mandanten"
  177. CANCEL-BUTTON Btn_Cancel.
  178. /* *********************** Procedure Settings ************************ */
  179. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  180. /* Settings for THIS-PROCEDURE
  181. Type: SmartDialog
  182. Allow: Basic,Browse,DB-Fields,Query,Smart
  183. Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  184. Design Page: 1
  185. Other Settings: COMPILE
  186. */
  187. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  188. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB gDebitorumsatz
  189. /* ************************* Included-Libraries *********************** */
  190. {src/adm2/containr.i}
  191. /* _UIB-CODE-BLOCK-END */
  192. &ANALYZE-RESUME
  193. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  194. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  195. /* SETTINGS FOR DIALOG-BOX gDebitorumsatz
  196. FRAME-NAME */
  197. ASSIGN
  198. FRAME gDebitorumsatz:SCROLLABLE = FALSE
  199. FRAME gDebitorumsatz:HIDDEN = TRUE.
  200. /* SETTINGS FOR COMBO-BOX CB_Kundengruppe IN FRAME gDebitorumsatz
  201. 6 */
  202. /* SETTINGS FOR COMBO-BOX CB_Totale IN FRAME gDebitorumsatz
  203. 6 */
  204. /* SETTINGS FOR COMBO-BOX CB_Vertreter IN FRAME gDebitorumsatz
  205. 6 */
  206. /* SETTINGS FOR FILL-IN F_BisKnr IN FRAME gDebitorumsatz
  207. 6 */
  208. /* SETTINGS FOR FILL-IN F_BisMonat IN FRAME gDebitorumsatz
  209. 6 */
  210. /* SETTINGS FOR FILL-IN F_Jahr IN FRAME gDebitorumsatz
  211. 6 */
  212. /* SETTINGS FOR FILL-IN F_VonKnr IN FRAME gDebitorumsatz
  213. 6 */
  214. /* SETTINGS FOR FILL-IN F_VonMonat IN FRAME gDebitorumsatz
  215. 6 */
  216. /* SETTINGS FOR TOGGLE-BOX T_Umsatz IN FRAME gDebitorumsatz
  217. 6 */
  218. /* _RUN-TIME-ATTRIBUTES-END */
  219. &ANALYZE-RESUME
  220. /* Setting information for Queries and Browse Widgets fields */
  221. &ANALYZE-SUSPEND _QUERY-BLOCK DIALOG-BOX gDebitorumsatz
  222. /* Query rebuild information for DIALOG-BOX gDebitorumsatz
  223. _Options = "SHARE-LOCK"
  224. _Query is NOT OPENED
  225. */ /* DIALOG-BOX gDebitorumsatz */
  226. &ANALYZE-RESUME
  227. /* ************************ Control Triggers ************************ */
  228. &Scoped-define SELF-NAME gDebitorumsatz
  229. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gDebitorumsatz gDebitorumsatz
  230. ON END-ERROR OF FRAME gDebitorumsatz /* Debitorumsätze alle Mandanten */
  231. DO:
  232. RUN ENDE.
  233. RETURN NO-APPLY.
  234. END.
  235. /* _UIB-CODE-BLOCK-END */
  236. &ANALYZE-RESUME
  237. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gDebitorumsatz gDebitorumsatz
  238. ON GO OF FRAME gDebitorumsatz /* Debitorumsätze alle Mandanten */
  239. DO:
  240. /*
  241. RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ) NO-ERROR.
  242. */
  243. END.
  244. /* _UIB-CODE-BLOCK-END */
  245. &ANALYZE-RESUME
  246. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gDebitorumsatz gDebitorumsatz
  247. ON WINDOW-CLOSE OF FRAME gDebitorumsatz /* Debitorumsätze alle Mandanten */
  248. DO:
  249. RUN ENDE.
  250. RETURN NO-APPLY.
  251. END.
  252. /* _UIB-CODE-BLOCK-END */
  253. &ANALYZE-RESUME
  254. &Scoped-define SELF-NAME Btn_Cancel
  255. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Cancel gDebitorumsatz
  256. ON CHOOSE OF Btn_Cancel IN FRAME gDebitorumsatz /* abbrechen */
  257. DO:
  258. RUN ENDE.
  259. RETURN NO-APPLY.
  260. END.
  261. /* _UIB-CODE-BLOCK-END */
  262. &ANALYZE-RESUME
  263. &Scoped-define SELF-NAME Btn_OK
  264. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_OK gDebitorumsatz
  265. ON CHOOSE OF Btn_OK IN FRAME gDebitorumsatz /* Excel */
  266. DO:
  267. DO WITH FRAME {&FRAME-NAME}:
  268. Btn_OK:SENSITIVE = FALSE.
  269. Btn_Cancel:SENSITIVE = FALSE.
  270. SESSION:SET-WAIT-STATE ('GENERAL').
  271. END.
  272. RUN REPORT.
  273. DO WITH FRAME {&FRAME-NAME}:
  274. Btn_OK:SENSITIVE = TRUE.
  275. Btn_Cancel:SENSITIVE = TRUE.
  276. SESSION:SET-WAIT-STATE('').
  277. END.
  278. RUN ENDE.
  279. RETURN NO-APPLY.
  280. END.
  281. /* _UIB-CODE-BLOCK-END */
  282. &ANALYZE-RESUME
  283. &Scoped-define SELF-NAME CB_Kundengruppe
  284. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Kundengruppe gDebitorumsatz
  285. ON RETURN OF CB_Kundengruppe IN FRAME gDebitorumsatz /* Kundengruppe */
  286. DO:
  287. APPLY 'TAB' TO SELF.
  288. RETURN NO-APPLY.
  289. END.
  290. /* _UIB-CODE-BLOCK-END */
  291. &ANALYZE-RESUME
  292. &Scoped-define SELF-NAME CB_Totale
  293. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Totale gDebitorumsatz
  294. ON RETURN OF CB_Totale IN FRAME gDebitorumsatz /* Totale */
  295. DO:
  296. APPLY 'TAB' TO SELF.
  297. RETURN NO-APPLY.
  298. END.
  299. /* _UIB-CODE-BLOCK-END */
  300. &ANALYZE-RESUME
  301. &Scoped-define SELF-NAME CB_Vertreter
  302. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Vertreter gDebitorumsatz
  303. ON RETURN OF CB_Vertreter IN FRAME gDebitorumsatz /* Vertreter */
  304. DO:
  305. APPLY 'TAB' TO SELF.
  306. RETURN NO-APPLY.
  307. END.
  308. /* _UIB-CODE-BLOCK-END */
  309. &ANALYZE-RESUME
  310. &Scoped-define SELF-NAME F_BisKnr
  311. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_BisKnr gDebitorumsatz
  312. ON ALT-F OF F_BisKnr IN FRAME gDebitorumsatz /* - */
  313. DO:
  314. DEF VAR iRecid AS RECID NO-UNDO.
  315. RUN 'g-suchen-adresse.w':U ( 'DEB', OUTPUT iRecid ).
  316. IF iRecid = ? OR
  317. iRecid = 0 THEN RETURN NO-APPLY.
  318. FIND Adresse NO-LOCK WHERE RECID(Adresse) = iRecid NO-ERROR.
  319. SELF:SCREEN-VALUE = STRING(Adresse.Knr).
  320. APPLY 'ENTRY' TO SELF.
  321. RETURN NO-APPLY.
  322. END.
  323. /* _UIB-CODE-BLOCK-END */
  324. &ANALYZE-RESUME
  325. &Scoped-define SELF-NAME F_VonKnr
  326. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_VonKnr gDebitorumsatz
  327. ON ALT-F OF F_VonKnr IN FRAME gDebitorumsatz /* von - bis Knr */
  328. DO:
  329. DEF VAR iRecid AS RECID NO-UNDO.
  330. RUN 'g-suchen-adresse.w':U ( 'DEB', OUTPUT iRecid ).
  331. IF iRecid = ? OR
  332. iRecid = 0 THEN RETURN NO-APPLY.
  333. FIND Adresse NO-LOCK WHERE RECID(Adresse) = iRecid NO-ERROR.
  334. SELF:SCREEN-VALUE = STRING(Adresse.Knr).
  335. F_BisKnr:SCREEN-VALUE = STRING(Adresse.Knr).
  336. APPLY 'ENTRY' TO SELF.
  337. RETURN NO-APPLY.
  338. END.
  339. /* _UIB-CODE-BLOCK-END */
  340. &ANALYZE-RESUME
  341. &Scoped-define SELF-NAME T_Umsatz
  342. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_Umsatz gDebitorumsatz
  343. ON RETURN OF T_Umsatz IN FRAME gDebitorumsatz /* nur Kunden mit Umsatz ? */
  344. DO:
  345. APPLY 'TAB' TO SELF.
  346. RETURN NO-APPLY.
  347. END.
  348. /* _UIB-CODE-BLOCK-END */
  349. &ANALYZE-RESUME
  350. &UNDEFINE SELF-NAME
  351. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK gDebitorumsatz
  352. /* *************************** Main Block *************************** */
  353. MaxPage = 1.
  354. AktSeite = 1.
  355. Firma = DYNAMIC-FUNCTION('GETMANDANT':U) NO-ERROR.
  356. AdFirma = DYNAMIC-FUNCTION('GETADMANDANT':U) NO-ERROR.
  357. cMandanten = ''.
  358. FOR EACH Mandant USE-INDEX Mandant-k1
  359. WHERE Mandant.Zustand = TRUE NO-LOCK:
  360. IF cMandanten <> '' THEN cMandanten = cMandanten + ','.
  361. cMandanten = cMandanten + Mandant.Firma.
  362. END.
  363. SESSION:DATA-ENTRY-RETURN = TRUE.
  364. SUBSCRIBE TO 'TOOLBAR' ANYWHERE.
  365. /* TRIGGERS ------------------------------------------------------ */
  366. ON 'ALT-CURSOR-RIGHT':U OF FRAME {&FRAME-NAME} ANYWHERE
  367. DO:
  368. RUN NEXTPAGE.
  369. END.
  370. ON 'ALT-CURSOR-LEFT':U OF FRAME {&FRAME-NAME} ANYWHERE
  371. DO:
  372. RUN PREVPAGE.
  373. END.
  374. ON 'U1':U OF {&WINDOW-NAME} ANYWHERE
  375. DO:
  376. RUN ENTRY_CURSOR.
  377. END.
  378. /*
  379. ON 'PAGE-DOWN':U OF {&WINDOW-NAME} ANYWHERE
  380. DO:
  381. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'Next':U ).
  382. END.
  383. ON 'PAGE-UP':U OF {&WINDOW-NAME} ANYWHERE
  384. DO:
  385. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'Prev':U ).
  386. END.
  387. ON 'ALT-RETURN':U OF FRAME {&FRAME-NAME} ANYWHERE
  388. DO:
  389. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'UPDATE':U ).
  390. END.
  391. ON 'ALT-INS':U OF FRAME {&FRAME-NAME} ANYWHERE
  392. DO:
  393. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'ADD':U ).
  394. END.
  395. ON 'ALT-DEL':U OF FRAME {&FRAME-NAME} ANYWHERE
  396. DO:
  397. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'DELETE':U ).
  398. END.
  399. ON 'ALT-R':U OF FRAME {&FRAME-NAME} ANYWHERE
  400. DO:
  401. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'RESET':U ).
  402. END.
  403. ON 'F9':U OF FRAME {&FRAME-NAME} ANYWHERE
  404. DO:
  405. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'SAVE':U ).
  406. END.
  407. ON 'ALT-S':U OF FRAME {&FRAME-NAME} ANYWHERE
  408. DO:
  409. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'SAVE':U ).
  410. END.
  411. ON 'ALT-K':U OF FRAME {&FRAME-NAME} ANYWHERE
  412. DO:
  413. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'COPY':U ).
  414. END.
  415. ON 'END-ERROR':U OF FRAME {&FRAME-NAME} ANYWHERE
  416. DO:
  417. FMutFlag = DYNAMIC-FUNCTION('getMutflagAlt':U) NO-ERROR.
  418. IF FMutFlag = FALSE THEN DO:
  419. RUN ENDE.
  420. RETURN NO-APPLY.
  421. END.
  422. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'CANCEL':U ).
  423. RETURN NO-APPLY.
  424. END.
  425. */
  426. /* ------------------------------------------------------------------ */
  427. {src/adm2/dialogmn.i}
  428. /* _UIB-CODE-BLOCK-END */
  429. &ANALYZE-RESUME
  430. /* ********************** Internal Procedures *********************** */
  431. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects gDebitorumsatz _ADM-CREATE-OBJECTS
  432. PROCEDURE adm-create-objects :
  433. /*------------------------------------------------------------------------------
  434. Purpose: Create handles for all SmartObjects used in this procedure.
  435. After SmartObjects are initialized, then SmartLinks are added.
  436. Parameters: <none>
  437. ------------------------------------------------------------------------------*/
  438. END PROCEDURE.
  439. /* _UIB-CODE-BLOCK-END */
  440. &ANALYZE-RESUME
  441. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE changePage gDebitorumsatz
  442. PROCEDURE changePage :
  443. /*------------------------------------------------------------------------------
  444. Purpose: Super Override
  445. Parameters:
  446. Notes:
  447. ------------------------------------------------------------------------------*/
  448. /* Code placed here will execute PRIOR to standard behavior. */
  449. RUN SUPER.
  450. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  451. CASE AktSeite:
  452. WHEN 1 THEN DO:
  453. /* RUN addLink ( h_dyntoolbar , 'TableIO':U , h_v-auftr ). */
  454. /* RUN addLink ( h_dyntoolbar , 'Navigation':U , h_d-auftr ). */
  455. /* RUN ToolbarInit ( INPUT h_d-auftr ). */
  456. RUN ENTRY_CURSOR.
  457. END.
  458. WHEN 2 THEN DO:
  459. RUN ENTRY_CURSOR.
  460. END.
  461. END CASE.
  462. END PROCEDURE.
  463. /* _UIB-CODE-BLOCK-END */
  464. &ANALYZE-RESUME
  465. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI gDebitorumsatz _DEFAULT-DISABLE
  466. PROCEDURE disable_UI :
  467. /*------------------------------------------------------------------------------
  468. Purpose: DISABLE the User Interface
  469. Parameters: <none>
  470. Notes: Here we clean-up the user-interface by deleting
  471. dynamic widgets we have created and/or hide
  472. frames. This procedure is usually called when
  473. we are ready to "clean-up" after running.
  474. ------------------------------------------------------------------------------*/
  475. /* Hide all frames. */
  476. HIDE FRAME gDebitorumsatz.
  477. END PROCEDURE.
  478. /* _UIB-CODE-BLOCK-END */
  479. &ANALYZE-RESUME
  480. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject gDebitorumsatz
  481. PROCEDURE enableObject :
  482. /*------------------------------------------------------------------------------
  483. Purpose: Super Override
  484. Parameters:
  485. Notes:
  486. ------------------------------------------------------------------------------*/
  487. RUN SUPER.
  488. RUN FENSTER_TITEL ( INPUT FRAME {&FRAME-NAME}:HANDLE ) NO-ERROR.
  489. DEF VAR cString AS CHAR NO-UNDO.
  490. DEF VAR cInhalt AS CHAR NO-UNDO.
  491. DEF VAR cKey AS CHAR NO-UNDO.
  492. DEF VAR ii AS INT NO-UNDO.
  493. DO WITH FRAME {&FRAME-NAME}:
  494. RUN COMBO_KUNDENGRP ( INPUT CB_Kundengruppe:HANDLE ).
  495. RUN COMBO_VERTRETER ( INPUT CB_Vertreter :HANDLE ).
  496. cString = CB_Kundengruppe:LIST-ITEM-PAIRS.
  497. IF cString <> '' THEN cString = cString + ';'.
  498. cString = cString + 'Alle;999999'.
  499. CB_Kundengruppe:LIST-ITEM-PAIRS = cString.
  500. CB_Kundengruppe:SCREEN-VALUE = '999999'.
  501. cString = CB_Vertreter:LIST-ITEM-PAIRS.
  502. IF cString <> '' THEN cString = cString + ';'.
  503. cString = cString + 'Alle Vertreter;999999'.
  504. CB_Vertreter:LIST-ITEM-PAIRS = cString.
  505. CB_Vertreter:SCREEN-VALUE = '999999'.
  506. cKey = ENTRY(1, THIS-PROCEDURE:FILE-NAME, '.').
  507. GET-KEY-VALUE SECTION 'Auswertungen' KEY cKey VALUE cString.
  508. IF cString = ? THEN cString = ''.
  509. DO ii = 1 TO NUM-ENTRIES(cString, '@'):
  510. cInhalt = ENTRY(ii, cString, '@').
  511. CASE ii:
  512. WHEN 1 THEN F_VonKnr :SCREEN-VALUE = cInhalt NO-ERROR.
  513. WHEN 2 THEN F_BisKnr :SCREEN-VALUE = cInhalt NO-ERROR.
  514. WHEN 3 THEN CB_Kundengruppe :SCREEN-VALUE = cInhalt NO-ERROR.
  515. WHEN 4 THEN CB_Totale :SCREEN-VALUE = cInhalt NO-ERROR.
  516. WHEN 5 THEN F_Jahr :SCREEN-VALUE = cInhalt NO-ERROR.
  517. WHEN 6 THEN F_VonMonat :SCREEN-VALUE = cInhalt NO-ERROR.
  518. WHEN 7 THEN F_BisMonat :SCREEN-VALUE = cInhalt NO-ERROR.
  519. WHEN 8 THEN T_Umsatz :SCREEN-VALUE = cInhalt NO-ERROR.
  520. WHEN 9 THEN CB_Vertreter :SCREEN-VALUE = cInhalt NO-ERROR.
  521. END CASE.
  522. END.
  523. END.
  524. END PROCEDURE.
  525. /* _UIB-CODE-BLOCK-END */
  526. &ANALYZE-RESUME
  527. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI gDebitorumsatz _DEFAULT-ENABLE
  528. PROCEDURE enable_UI :
  529. /*------------------------------------------------------------------------------
  530. Purpose: ENABLE the User Interface
  531. Parameters: <none>
  532. Notes: Here we display/view/enable the widgets in the
  533. user-interface. In addition, OPEN all queries
  534. associated with each FRAME and BROWSE.
  535. These statements here are based on the "Other
  536. Settings" section of the widget Property Sheets.
  537. ------------------------------------------------------------------------------*/
  538. DISPLAY F_VonKnr F_BisKnr CB_Vertreter CB_Kundengruppe CB_Totale F_Jahr
  539. F_VonMonat F_BisMonat T_Umsatz
  540. WITH FRAME gDebitorumsatz.
  541. ENABLE RECT-12 F_VonKnr F_BisKnr CB_Vertreter CB_Kundengruppe CB_Totale
  542. F_Jahr F_VonMonat F_BisMonat T_Umsatz Btn_OK Btn_Cancel
  543. WITH FRAME gDebitorumsatz.
  544. VIEW FRAME gDebitorumsatz.
  545. {&OPEN-BROWSERS-IN-QUERY-gDebitorumsatz}
  546. END PROCEDURE.
  547. /* _UIB-CODE-BLOCK-END */
  548. &ANALYZE-RESUME
  549. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE gDebitorumsatz
  550. PROCEDURE ENDE :
  551. /*------------------------------------------------------------------------------
  552. Purpose:
  553. Parameters: <none>
  554. Notes:
  555. ------------------------------------------------------------------------------*/
  556. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U) NO-ERROR.
  557. IF AktSeite > 1 THEN DO:
  558. RUN selectPage ( INPUT 1 ).
  559. RETURN NO-APPLY.
  560. END.
  561. RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ).
  562. APPLY 'GO' TO FRAME {&FRAME-NAME}.
  563. RETURN NO-APPLY.
  564. END PROCEDURE.
  565. /* _UIB-CODE-BLOCK-END */
  566. &ANALYZE-RESUME
  567. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENTRY_CURSOR gDebitorumsatz
  568. PROCEDURE ENTRY_CURSOR :
  569. /*------------------------------------------------------------------------------
  570. Purpose:
  571. Parameters: <none>
  572. Notes:
  573. ------------------------------------------------------------------------------*/
  574. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  575. CASE AktSeite:
  576. /* WHEN 1 THEN RUN applyEntry IN h_v-adresse ( INPUT ? ). */
  577. /* WHEN 2 THEN RUN applyEntry IN h_f-adrkomm ( INPUT ? ). */
  578. /* WHEN 3 THEN RUN applyEntry IN h_b-auftbb ( INPUT ? ). */
  579. /* WHEN 4 THEN RUN applyEntry IN h_b-aufdet ( INPUT ? ). */
  580. /* WHEN 5 THEN RUN applyEntry IN h_b-aufstreu ( INPUT ? ). */
  581. /* WHEN 6 THEN RUN applyEntry IN h_b-auffak ( INPUT ? ). */
  582. /* WHEN 7 THEN RUN applyEntry IN h_b-position ( INPUT ? ). */
  583. END CASE.
  584. RETURN NO-APPLY.
  585. END PROCEDURE.
  586. /* _UIB-CODE-BLOCK-END */
  587. &ANALYZE-RESUME
  588. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE exitObject gDebitorumsatz
  589. PROCEDURE exitObject :
  590. /*------------------------------------------------------------------------------
  591. Purpose: Super Override
  592. Parameters:
  593. Notes:
  594. ------------------------------------------------------------------------------*/
  595. RUN ENDE.
  596. RETURN NO-APPLY.
  597. END PROCEDURE.
  598. /* _UIB-CODE-BLOCK-END */
  599. &ANALYZE-RESUME
  600. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE KOPF gDebitorumsatz
  601. PROCEDURE KOPF :
  602. /*------------------------------------------------------------------------------
  603. Purpose:
  604. Parameters: <none>
  605. Notes:
  606. ------------------------------------------------------------------------------*/
  607. DEF INPUT PARAMETER eh AS COM-HANDLE NO-UNDO.
  608. DEF VAR Zelle AS CHAR NO-UNDO.
  609. DEF VAR cString AS CHAR NO-UNDO.
  610. DEF VAR i1 AS INT NO-UNDO.
  611. DO WITH FRAME {&FRAME-NAME}:
  612. cString = CB_Vertreter:LIST-ITEM-PAIRS.
  613. i1 = LOOKUP(CB_Vertreter:SCREEN-VALUE, cString, ';').
  614. cString = ENTRY(i1 - 1, cString, ';').
  615. END.
  616. FIND Steuer USE-INDEX Steuer-k1
  617. WHERE Steuer.Firma = Firma NO-LOCK NO-ERROR.
  618. Zelle = 'B1'.
  619. eh:Range(Zelle):SELECT.
  620. eh:SELECTION:VALUE = Steuer.Firma1.
  621. Zelle = 'H1'.
  622. eh:Range(Zelle):SELECT.
  623. eh:SELECTION:VALUE = 'Debitor-Umsätze ('
  624. + cString
  625. + ')'.
  626. Zelle = 'R1'.
  627. eh:Range(Zelle):SELECT.
  628. eh:SELECTION:VALUE = 'Datum : ' + STRING(TODAY,'99.99.9999').
  629. Zelle = 'B2'.
  630. eh:Range(Zelle):SELECT.
  631. eh:SELECTION:VALUE = Steuer.Ort.
  632. Zelle = 'H2'.
  633. eh:Range(Zelle):SELECT.
  634. eh:SELECTION:VALUE = STRING(F_VonMonat,'99')
  635. + '. - '
  636. + STRING(F_BisMonat,'99')
  637. + '. '
  638. + STRING(F_Jahr,'9999').
  639. Zelle = 'R2'.
  640. eh:Range(Zelle):SELECT.
  641. eh:SELECTION:VALUE = 'Zeit : ' + STRING(TIME,'HH:MM:SS').
  642. END PROCEDURE.
  643. /* _UIB-CODE-BLOCK-END */
  644. &ANALYZE-RESUME
  645. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE NEXTPAGE gDebitorumsatz
  646. PROCEDURE NEXTPAGE :
  647. /*------------------------------------------------------------------------------
  648. Purpose:
  649. Parameters: <none>
  650. Notes:
  651. ------------------------------------------------------------------------------*/
  652. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  653. IF AktSeite = MaxPage THEN AktSeite = 1.
  654. ELSE AktSeite = AktSeite + 1.
  655. RUN selectPage ( INPUT AktSeite ).
  656. END PROCEDURE.
  657. /* _UIB-CODE-BLOCK-END */
  658. &ANALYZE-RESUME
  659. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE PREVPAGE gDebitorumsatz
  660. PROCEDURE PREVPAGE :
  661. /*------------------------------------------------------------------------------
  662. Purpose:
  663. Parameters: <none>
  664. Notes:
  665. ------------------------------------------------------------------------------*/
  666. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  667. IF AktSeite = 1 THEN AktSeite = MaxPage.
  668. ELSE AktSeite = AktSeite - 1.
  669. RUN selectPage ( INPUT AktSeite ).
  670. END PROCEDURE.
  671. /* _UIB-CODE-BLOCK-END */
  672. &ANALYZE-RESUME
  673. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE REPORT gDebitorumsatz
  674. PROCEDURE REPORT :
  675. /*------------------------------------------------------------------------------
  676. Purpose:
  677. Parameters: <none>
  678. Notes:
  679. ------------------------------------------------------------------------------*/
  680. DEF VAR cString AS CHAR NO-UNDO.
  681. DEF VAR cInhalt AS CHAR NO-UNDO.
  682. DEF VAR cKey AS CHAR NO-UNDO.
  683. DEF VAR ii AS INT NO-UNDO.
  684. DEF VAR ja AS LOG NO-UNDO.
  685. DEF VAR iKgr AS INT NO-UNDO.
  686. DEF VAR iVer AS INT NO-UNDO.
  687. DEF VAR iTot AS INT NO-UNDO.
  688. DEF VAR VEp AS DEC NO-UNDO.
  689. DEF VAR VVp AS DEC NO-UNDO.
  690. DEF VAR VMa AS DEC NO-UNDO.
  691. DEF VAR LEp AS DEC NO-UNDO.
  692. DEF VAR LVp AS DEC NO-UNDO.
  693. DEF VAR LMa AS DEC NO-UNDO.
  694. DEF VAR Diff AS DEC NO-UNDO.
  695. DO WITH FRAME {&FRAME-NAME}:
  696. ASSIGN {&List-6}.
  697. IF F_VonKnr = 0 AND F_BisKnr = 0 THEN F_BisKnr = 999999.
  698. IF F_VonKnr > F_BisKnr THEN F_BisKnr = F_VonKnr.
  699. IF F_Jahr = 0 THEN F_Jahr = YEAR(TODAY).
  700. IF F_VonMonat = 0 AND F_BisMonat = 0 THEN F_BisMonat = 12.
  701. IF F_VonMonat = 0 THEN F_VonMonat = 01.
  702. IF F_VonMonat > 12 THEN F_VonMonat = 01.
  703. IF F_BisMonat = 0 THEN F_BisMonat = 12.
  704. IF F_BisMonat > 12 THEN F_BisMonat = 12.
  705. IF F_VonMonat > F_BisMonat THEN F_BisMonat = F_VonMonat.
  706. DISPLAY {&List-6}.
  707. cString = F_VonKnr :SCREEN-VALUE + '@'
  708. + F_BisKnr :SCREEN-VALUE + '@'
  709. + CB_Kundengruppe :SCREEN-VALUE + '@'
  710. + CB_Totale :SCREEN-VALUE + '@'
  711. + F_Jahr :SCREEN-VALUE + '@'
  712. + F_VonMonat :SCREEN-VALUE + '@'
  713. + F_BisMonat :SCREEN-VALUE + '@'
  714. + T_Umsatz :SCREEN-VALUE + '@'
  715. + CB_Vertreter :SCREEN-VALUE + '@'.
  716. cKey = ENTRY(1, THIS-PROCEDURE:FILE-NAME, '.').
  717. PUT-KEY-VALUE SECTION 'Auswertungen' KEY cKey VALUE cString.
  718. iKgr = INTEGER(CB_Kundengruppe:SCREEN-VALUE).
  719. iTot = INTEGER(CB_Totale :SCREEN-VALUE).
  720. iVer = INTEGER(CB_Vertreter :SCREEN-VALUE).
  721. END.
  722. FOR EACH TDebUms:
  723. DELETE TDebUms.
  724. END.
  725. FOR EACH Debst USE-INDEX Debst-k2
  726. WHERE Debst.Knr >= F_VonKnr
  727. AND Debst.Knr <= F_BisKnr NO-LOCK,
  728. FIRST Adresse USE-INDEX Adresse-k1
  729. WHERE Adresse.Firma = AdFirma
  730. AND Adresse.Knr = Debst.Knr NO-LOCK:
  731. IF iKgr <> 999999 AND
  732. iKgr <> Debst.Ku_Grp THEN NEXT.
  733. IF iVer <> 999999 AND
  734. iVer <> Debst.Vertr THEN NEXT.
  735. CREATE TDebums.
  736. ASSIGN TDebUms.Knr = Debst.Knr
  737. TDebUms.Firma = Debst.Firma
  738. TDebUms.Jahr = F_Jahr
  739. TDebUms.Ums_Grp = 999
  740. TDebUms.RecArt = 1
  741. TDebUms.Kunde = Adresse.Anzeig_br.
  742. FIND DebUms USE-INDEX DebUms-k1
  743. WHERE DebUms.Firma = Debst.Firma
  744. AND DebUms.Jahr = F_Jahr
  745. AND DebUms.Knr = Debst.Knr
  746. AND DebUms.Ums_Grp = 999 NO-LOCK NO-ERROR.
  747. IF AVAILABLE DebUms THEN DO:
  748. ASSIGN TDebUms.LEp_Kum = DebUms.Ep_Kum
  749. TDebUms.LVp_Kum = DebUms.Vp_Kum
  750. TDebUms.LEp_Mon[01] = DebUms.Ep_Mon[01]
  751. TDebUms.LEp_Mon[02] = DebUms.Ep_Mon[02]
  752. TDebUms.LEp_Mon[03] = DebUms.Ep_Mon[03]
  753. TDebUms.LEp_Mon[04] = DebUms.Ep_Mon[04]
  754. TDebUms.LEp_Mon[05] = DebUms.Ep_Mon[05]
  755. TDebUms.LEp_Mon[06] = DebUms.Ep_Mon[06]
  756. TDebUms.LEp_Mon[07] = DebUms.Ep_Mon[07]
  757. TDebUms.LEp_Mon[08] = DebUms.Ep_Mon[08]
  758. TDebUms.LEp_Mon[09] = DebUms.Ep_Mon[09]
  759. TDebUms.LEp_Mon[10] = DebUms.Ep_Mon[10]
  760. TDebUms.LEp_Mon[11] = DebUms.Ep_Mon[11]
  761. TDebUms.LEp_Mon[12] = DebUms.Ep_Mon[12]
  762. TDebUms.LVp_Mon[01] = DebUms.Vp_Mon[01]
  763. TDebUms.LVp_Mon[02] = DebUms.Vp_Mon[02]
  764. TDebUms.LVp_Mon[03] = DebUms.Vp_Mon[03]
  765. TDebUms.LVp_Mon[04] = DebUms.Vp_Mon[04]
  766. TDebUms.LVp_Mon[05] = DebUms.Vp_Mon[05]
  767. TDebUms.LVp_Mon[06] = DebUms.Vp_Mon[06]
  768. TDebUms.LVp_Mon[07] = DebUms.Vp_Mon[07]
  769. TDebUms.LVp_Mon[08] = DebUms.Vp_Mon[08]
  770. TDebUms.LVp_Mon[09] = DebUms.Vp_Mon[09]
  771. TDebUms.LVp_Mon[10] = DebUms.Vp_Mon[10]
  772. TDebUms.LVp_Mon[11] = DebUms.Vp_Mon[11]
  773. TDebUms.LVp_Mon[12] = DebUms.Vp_Mon[12].
  774. END.
  775. FIND DebUms USE-INDEX DebUms-k1
  776. WHERE DebUms.Firma = Debst.Firma
  777. AND DebUms.Jahr = F_Jahr - 1
  778. AND DebUms.Knr = Debst.Knr
  779. AND DebUms.Ums_Grp = 999 NO-LOCK NO-ERROR.
  780. IF AVAILABLE DebUms THEN DO:
  781. ASSIGN TDebUms.VEp_Kum = DebUms.Ep_Kum
  782. TDebUms.VVp_Kum = DebUms.Vp_Kum
  783. TDebUms.VEp_Mon[01] = DebUms.Ep_Mon[01]
  784. TDebUms.VEp_Mon[02] = DebUms.Ep_Mon[02]
  785. TDebUms.VEp_Mon[03] = DebUms.Ep_Mon[03]
  786. TDebUms.VEp_Mon[04] = DebUms.Ep_Mon[04]
  787. TDebUms.VEp_Mon[05] = DebUms.Ep_Mon[05]
  788. TDebUms.VEp_Mon[06] = DebUms.Ep_Mon[06]
  789. TDebUms.VEp_Mon[07] = DebUms.Ep_Mon[07]
  790. TDebUms.VEp_Mon[08] = DebUms.Ep_Mon[08]
  791. TDebUms.VEp_Mon[09] = DebUms.Ep_Mon[09]
  792. TDebUms.VEp_Mon[10] = DebUms.Ep_Mon[10]
  793. TDebUms.VEp_Mon[11] = DebUms.Ep_Mon[11]
  794. TDebUms.VEp_Mon[12] = DebUms.Ep_Mon[12]
  795. TDebUms.VVp_Mon[01] = DebUms.Vp_Mon[01]
  796. TDebUms.VVp_Mon[02] = DebUms.Vp_Mon[02]
  797. TDebUms.VVp_Mon[03] = DebUms.Vp_Mon[03]
  798. TDebUms.VVp_Mon[04] = DebUms.Vp_Mon[04]
  799. TDebUms.VVp_Mon[05] = DebUms.Vp_Mon[05]
  800. TDebUms.VVp_Mon[06] = DebUms.Vp_Mon[06]
  801. TDebUms.VVp_Mon[07] = DebUms.Vp_Mon[07]
  802. TDebUms.VVp_Mon[08] = DebUms.Vp_Mon[08]
  803. TDebUms.VVp_Mon[09] = DebUms.Vp_Mon[09]
  804. TDebUms.VVp_Mon[10] = DebUms.Vp_Mon[10]
  805. TDebUms.VVp_Mon[11] = DebUms.Vp_Mon[11]
  806. TDebUms.VVp_Mon[12] = DebUms.Vp_Mon[12].
  807. END.
  808. VEp = 0.
  809. VVp = 0.
  810. LEp = 0.
  811. LVp = 0.
  812. DO ii = F_VonMonat TO F_BisMonat:
  813. LEp = LEp + TDebUms.LEp_Mon[ii].
  814. LVp = LVp + TDebUms.LVp_Mon[ii].
  815. VEp = VEp + TDebUms.VEp_Mon[ii].
  816. VVp = VVp + TDebUms.VVp_Mon[ii].
  817. END.
  818. ASSIGN TDebUms.LEp_Tot = LEp
  819. TDebUms.LVp_Tot = LVp
  820. TDebUms.VEp_Tot = VEp
  821. TDebUms.VVp_Tot = VVp.
  822. END.
  823. IF iTot > 00 THEN RUN WARENGRUPPEN.
  824. FOR EACH TDebUms USE-INDEX TDebUms-k1
  825. WHERE TDebUms.Knr <= 999999:
  826. FIND BDebUms USE-INDEX TDebUms-k1
  827. WHERE BDebUms.Knr = 9999999
  828. AND BDebUms.Firma = TDebUms.Firma
  829. AND BDebUms.Jahr = TDebUms.Jahr
  830. AND BDebUms.Ums_Grp = TDebUms.Ums_Grp
  831. AND BDebUms.RecArt = TDebUms.RecArt NO-ERROR.
  832. IF NOT AVAILABLE BDebUms THEN DO:
  833. CREATE BDebUms.
  834. ASSIGN BDebUms.Knr = 9999999
  835. BDebUms.Jahr = TDebUms.Jahr
  836. BDebUms.Firma = TDebUms.Firma
  837. BDebUms.Ums_Grp = TDebUms.Ums_Grp
  838. BDebUms.RecArt = TDebUms.RecArt.
  839. END.
  840. ASSIGN BDebUms.LEp_Kum = BDebUms.LEp_Kum + TDebUms.LEp_Kum
  841. BDebUms.LVp_Kum = BDebUms.LVp_Kum + TDebUms.LVp_Kum
  842. BDebUms.LEp_Tot = BDebUms.LEp_Tot + TDebUms.LEp_Tot
  843. BDebUms.LVp_Tot = BDebUms.LVp_Tot + TDebUms.LVp_Tot
  844. BDebUms.VEp_Kum = BDebUms.VEp_Kum + TDebUms.VEp_Kum
  845. BDebUms.VVp_Kum = BDebUms.VVp_Kum + TDebUms.VVp_Kum
  846. BDebUms.VEp_Tot = BDebUms.VEp_Tot + TDebUms.VEp_Tot
  847. BDebUms.VVp_Tot = BDebUms.VVp_Tot + TDebUms.VVp_Tot.
  848. DO ii = 1 TO 12:
  849. ASSIGN BDebUms.LEp_Mon[ii] = BDebUms.LEp_Mon[ii] + TDebUms.LEp_Mon[ii]
  850. BDebUms.LVp_Mon[ii] = BDebUms.LVp_Mon[ii] + TDebUms.LVp_Mon[ii]
  851. BDebUms.VEp_Mon[ii] = BDebUms.VEp_Mon[ii] + TDebUms.VEp_Mon[ii]
  852. BDebUms.VVp_Mon[ii] = BDebUms.VVp_Mon[ii] + TDebUms.VVp_Mon[ii].
  853. END.
  854. END.
  855. FOR EACH TDebUms USE-INDEX TDebUms-k1:
  856. IF iTot = 02 AND
  857. TDebUms.Knr <= 999999 THEN DO:
  858. DELETE TDebUms.
  859. NEXT.
  860. END.
  861. IF T_Umsatz THEN DO:
  862. IF TDebUms.LEp_Kum = 0 AND
  863. TDebUms.VEp_Kum = 0 AND
  864. TDebUms.LVp_Kum = 0 AND
  865. TDebUms.VVp_Kum = 0 THEN DO:
  866. DELETE TDebUms.
  867. NEXT.
  868. END.
  869. END.
  870. IF TDebUms.Ums_Grp = 999 THEN DO:
  871. IF TDebUms.Knr > 999999 THEN TDebUms.Kunde = 'Gesamttotal'.
  872. NEXT.
  873. END.
  874. IF TDebUms.RecArt <> 2 THEN NEXT.
  875. FIND WarenGrp USE-INDEX WarenGrp-k1
  876. WHERE WarenGrp.Firma = TDebUms.Firma
  877. AND WarenGrp.Wgr = TDebUms.Ums_Grp NO-LOCK NO-ERROR.
  878. IF NOT AVAILABLE WarenGrp THEN TDebUms.Kunde = '??????????'.
  879. ELSE TDebUms.Kunde = WarenGrp.Bez1.
  880. END.
  881. cVorlage = 'DebUmsMand.xls'.
  882. cDokument = 'DebUmsMand.xls'.
  883. cDaten = 'DebUmsMand.txt'.
  884. cDateiName = cDokument + CHR(01) + cVorlage.
  885. RUN CREATEDATEI ( INPUT cDateiName ).
  886. IF RETURN-VALUE BEGINS 'ERROR' THEN RETURN NO-APPLY.
  887. cDokument = RETURN-VALUE.
  888. cDateiName = cDaten.
  889. RUN CREATEDATEI ( INPUT cDateiName ).
  890. IF RETURN-VALUE BEGINS 'ERROR' THEN RETURN NO-APPLY.
  891. cDaten = RETURN-VALUE.
  892. OUTPUT TO VALUE(cDaten).
  893. cString = '£'.
  894. DO ii = 1 TO NUM-ENTRIES(cMandanten, ','):
  895. cString = cString
  896. + '££££Vorjahr '
  897. + ENTRY(ii, cMandanten, ',')
  898. + '£££Laufend '
  899. + ENTRY(ii, cMandanten, ',').
  900. END.
  901. PUT CONTROL '£' CHR(10)
  902. '£' CHR(10)
  903. cString CHR(10).
  904. cString = '£Knr££Kunde'.
  905. DO ii = 1 TO NUM-ENTRIES(cMandanten, ','):
  906. cString = cString
  907. + '£EP£VP£Marge%£EP£VP£Marge%£Diff'.
  908. END.
  909. PUT CONTROL cString CHR(10)
  910. '£' CHR(10).
  911. FOR EACH TDebUms NO-LOCK
  912. BREAK BY TDebUms.Knr
  913. BY TDebUms.RecArt
  914. BY TDebUms.Ums_Grp
  915. BY TDebUms.Firma :
  916. VEp = TDebUms.VEp_Tot.
  917. VVp = TDebUms.VVp_Tot.
  918. VMa = 0.
  919. LEp = TDebUms.LEp_Tot.
  920. LVp = TDebUms.LVp_Tot.
  921. LMa = 0.
  922. IF LEp <> 0 AND
  923. LVp <> 0 THEN LMa = 100 - (LEp * 100 / LVp).
  924. IF VEp <> 0 AND
  925. VVp <> 0 THEN VMa = 100 - (VEp * 100 / VVp).
  926. IF LMa < 999.99- THEN LMa = 999.99-.
  927. IF LMa > 999.99+ THEN LMa = 999.99+.
  928. IF VMa < 999.99- THEN VMa = 999.99-.
  929. IF VMa > 999.99+ THEN VMa = 999.99+.
  930. Diff = LVp - VVp.
  931. IF FIRST-OF ( TDebUms.Ums_Grp )
  932. THEN cString = '£££' + FILL('£££££££', NUM-ENTRIES(cMandanten, ',')).
  933. IF TDebUms.Ums_Grp = 999 THEN DO:
  934. IF TDebUms.Knr <= 999999
  935. THEN ENTRY(2, cString, '£') = STRING(TDebUms.Knr,'999999').
  936. ENTRY(4, cString, '£') = TDebUms.Kunde.
  937. END.
  938. ELSE DO:
  939. ENTRY(3, cString, '£') = STRING(TDebUms.Ums_Grp,'999').
  940. ENTRY(4, cString, '£') = TDebUms.Kunde.
  941. END.
  942. ii = LOOKUP(TDebUms.Firma, cMandanten, ',').
  943. ii = 5 + ((ii - 1) * 7).
  944. ENTRY(ii + 0, cString, '£') = TRIM(STRING(VEp ,'->>>>>>>>>')).
  945. ENTRY(ii + 1, cString, '£') = TRIM(STRING(VVp ,'->>>>>>>>>')).
  946. ENTRY(ii + 2, cString, '£') = TRIM(STRING(VMa ,'->>9.99')).
  947. ENTRY(ii + 3, cString, '£') = TRIM(STRING(LEp ,'->>>>>>>>>')).
  948. ENTRY(ii + 4, cString, '£') = TRIM(STRING(LVp ,'->>>>>>>>>')).
  949. ENTRY(ii + 5, cString, '£') = TRIM(STRING(LMa ,'->>9.99')).
  950. ENTRY(ii + 6, cString, '£') = TRIM(STRING(Diff,'->>>>>>>>>')).
  951. IF NOT LAST-OF ( TDebUms.Ums_Grp ) THEN NEXT.
  952. PUT CONTROL cString CHR(10).
  953. IF NOT LAST-OF ( TDebUms.Knr ) THEN NEXT.
  954. IF iTot > 0 THEN PUT CONTROL '£' CHR(10).
  955. END.
  956. OUTPUT CLOSE.
  957. excelAppl = DYNAMIC-FUNCTION('CREATEEXCEL':U) NO-ERROR.
  958. IF NOT VALID-HANDLE(excelAppl) THEN DO:
  959. RUN FEHLER ( INPUT 1035 ).
  960. RETURN.
  961. END.
  962. RUN OPENEXCEL ( INPUT excelAppl, INPUT cDokument, INPUT '', OUTPUT ja ).
  963. IF NOT ja THEN DO:
  964. RUN FEHLER ( INPUT 1040 ).
  965. DYNAMIC-FUNCTION('RELEASEEXCEL':U, INPUT excelAppl ) NO-ERROR.
  966. RETURN NO-APPLY.
  967. END.
  968. Zelle = 'A1'.
  969. excelAppl:Range(Zelle):SELECT.
  970. excelAppl:SELECTION:FormulaR1C1 = 'TEXT;' + cDaten.
  971. excelAppl:APPLICATION:RUN ( 'DateiEinfügen' ).
  972. RUN KOPF ( INPUT excelAppl ).
  973. Zelle = 'A1'.
  974. excelAppl:Range(Zelle):SELECT.
  975. excelAppl:SELECTION:ColumnWidth = 0.3.
  976. DYNAMIC-FUNCTION('RELEASEEXCEL':U, INPUT excelAppl ) NO-ERROR.
  977. END PROCEDURE.
  978. /* _UIB-CODE-BLOCK-END */
  979. &ANALYZE-RESUME
  980. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE selectPage gDebitorumsatz
  981. PROCEDURE selectPage :
  982. /*------------------------------------------------------------------------------
  983. Purpose: Super Override
  984. Parameters:
  985. Notes:
  986. ------------------------------------------------------------------------------*/
  987. DEF INPUT PARAMETER piPageNum AS INT NO-UNDO.
  988. DEF VAR FMutFlag AS LOG NO-UNDO.
  989. DEF VAR MutProg AS CHAR NO-UNDO.
  990. FMutFlag = DYNAMIC-FUNCTION('getMutflagAlt':U) NO-ERROR.
  991. DO WHILE TRUE:
  992. IF NOT FMutFlag THEN LEAVE.
  993. MutProg = DYNAMIC-FUNCTION('GETMUTPROG':U).
  994. IF MutProg <> THIS-PROCEDURE:FILE-NAME THEN LEAVE.
  995. RETURN NO-APPLY.
  996. END.
  997. CASE piPageNum:
  998. END CASE.
  999. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
  1000. CASE AktSeite:
  1001. WHEN 1 THEN DO:
  1002. /* RUN removeLink ( h_dyntoolbar , 'TableIO':U , h_v-auftr ). */
  1003. /* RUN removeLink ( h_dyntoolbar , 'Navigation':U , h_d-auftr ). */
  1004. END.
  1005. END CASE.
  1006. RUN SUPER( INPUT piPageNum).
  1007. END PROCEDURE.
  1008. /* _UIB-CODE-BLOCK-END */
  1009. &ANALYZE-RESUME
  1010. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE TOOLBAR gDebitorumsatz
  1011. PROCEDURE TOOLBAR :
  1012. /*------------------------------------------------------------------------------
  1013. Purpose:
  1014. Parameters: <none>
  1015. Notes:
  1016. ------------------------------------------------------------------------------*/
  1017. DEF INPUT PARAMETER pcAction AS CHAR NO-UNDO.
  1018. /*
  1019. RUN TOOLBAR IN h_dyntoolbar ( INPUT pcAction ).
  1020. */
  1021. END PROCEDURE.
  1022. /* _UIB-CODE-BLOCK-END */
  1023. &ANALYZE-RESUME
  1024. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE WARENGRUPPEN gDebitorumsatz
  1025. PROCEDURE WARENGRUPPEN :
  1026. /*------------------------------------------------------------------------------
  1027. Purpose:
  1028. Parameters: <none>
  1029. Notes:
  1030. ------------------------------------------------------------------------------*/
  1031. DEF VAR ii AS INT NO-UNDO.
  1032. DEF VAR VEp AS DEC NO-UNDO.
  1033. DEF VAR VVp AS DEC NO-UNDO.
  1034. DEF VAR LEp AS DEC NO-UNDO.
  1035. DEF VAR LVp AS DEC NO-UNDO.
  1036. FOR EACH BDebUms USE-INDEX TDebUms-k2
  1037. WHERE BDebUms.Knr <= 999999
  1038. AND BDebUms.Jahr = F_Jahr
  1039. AND BDebUms.Ums_Grp = 999 NO-LOCK:
  1040. FOR EACH DeArUms USE-INDEX DeArUms-k3
  1041. WHERE DeArUms.Firma = BDebUms.Firma
  1042. AND DeArUms.Knr = BDebUms.Knr
  1043. AND DeArUms.Jahr >= F_Jahr - 1
  1044. AND DeArUms.Jahr <= F_Jahr
  1045. AND (DeArUms.Ep_Kum <> 0 OR
  1046. DeArUms.Vp_Kum <> 0) NO-LOCK,
  1047. FIRST Artst USE-INDEX Artst-k1
  1048. WHERE Artst.Firma = DeArUms.Firma
  1049. AND Artst.Artnr = DeArUms.Artnr
  1050. AND Artst.Inhalt = DeArUms.Inhalt
  1051. AND Artst.Jahr = DeArUms.Jahrg NO-LOCK :
  1052. FIND TDebUms USE-INDEX TDebUms-k1
  1053. WHERE TDebUms.Knr = BDebUms.Knr
  1054. AND TDebUms.Firma = BDebUms.Firma
  1055. AND TDebUms.Jahr = BDebUms.Jahr
  1056. AND TDebUms.Ums_Grp = Artst.Wg_Grp
  1057. AND TDebUms.RecArt = 2 NO-ERROR.
  1058. IF NOT AVAILABLE TDebUms THEN DO:
  1059. CREATE TDebUms.
  1060. ASSIGN TDebUms.Knr = BDebUms.Knr
  1061. TDebUms.Firma = BDebUms.Firma
  1062. TDebUms.Jahr = BDebUms.Jahr
  1063. TDebUms.Ums_Grp = Artst.Wg_Grp
  1064. TDebUms.RecArt = 2
  1065. TDebUms.Kunde = ''.
  1066. END.
  1067. CASE DeArUms.Jahr:
  1068. WHEN F_Jahr THEN
  1069. ASSIGN TDebUms.LEp_Kum = TDebUms.LEp_Kum + DeArUms.Ep_Kum
  1070. TDebUms.LEp_Mon[01] = TDebUms.LEp_Mon[01] + DeArUms.Ep_Mon[01]
  1071. TDebUms.LEp_Mon[02] = TDebUms.LEp_Mon[02] + DeArUms.Ep_Mon[02]
  1072. TDebUms.LEp_Mon[03] = TDebUms.LEp_Mon[03] + DeArUms.Ep_Mon[03]
  1073. TDebUms.LEp_Mon[04] = TDebUms.LEp_Mon[04] + DeArUms.Ep_Mon[04]
  1074. TDebUms.LEp_Mon[05] = TDebUms.LEp_Mon[05] + DeArUms.Ep_Mon[05]
  1075. TDebUms.LEp_Mon[06] = TDebUms.LEp_Mon[06] + DeArUms.Ep_Mon[06]
  1076. TDebUms.LEp_Mon[07] = TDebUms.LEp_Mon[07] + DeArUms.Ep_Mon[07]
  1077. TDebUms.LEp_Mon[08] = TDebUms.LEp_Mon[08] + DeArUms.Ep_Mon[08]
  1078. TDebUms.LEp_Mon[09] = TDebUms.LEp_Mon[09] + DeArUms.Ep_Mon[09]
  1079. TDebUms.LEp_Mon[10] = TDebUms.LEp_Mon[10] + DeArUms.Ep_Mon[10]
  1080. TDebUms.LEp_Mon[11] = TDebUms.LEp_Mon[11] + DeArUms.Ep_Mon[11]
  1081. TDebUms.LEp_Mon[12] = TDebUms.LEp_Mon[12] + DeArUms.Ep_Mon[12]
  1082. TDebUms.LVp_Kum = TDebUms.LVp_Kum + DeArUms.Vp_Kum
  1083. TDebUms.LVp_Mon[01] = TDebUms.LVp_Mon[01] + DeArUms.Vp_Mon[01]
  1084. TDebUms.LVp_Mon[02] = TDebUms.LVp_Mon[02] + DeArUms.Vp_Mon[02]
  1085. TDebUms.LVp_Mon[03] = TDebUms.LVp_Mon[03] + DeArUms.Vp_Mon[03]
  1086. TDebUms.LVp_Mon[04] = TDebUms.LVp_Mon[04] + DeArUms.Vp_Mon[04]
  1087. TDebUms.LVp_Mon[05] = TDebUms.LVp_Mon[05] + DeArUms.Vp_Mon[05]
  1088. TDebUms.LVp_Mon[06] = TDebUms.LVp_Mon[06] + DeArUms.Vp_Mon[06]
  1089. TDebUms.LVp_Mon[07] = TDebUms.LVp_Mon[07] + DeArUms.Vp_Mon[07]
  1090. TDebUms.LVp_Mon[08] = TDebUms.LVp_Mon[08] + DeArUms.Vp_Mon[08]
  1091. TDebUms.LVp_Mon[09] = TDebUms.LVp_Mon[09] + DeArUms.Vp_Mon[09]
  1092. TDebUms.LVp_Mon[10] = TDebUms.LVp_Mon[10] + DeArUms.Vp_Mon[10]
  1093. TDebUms.LVp_Mon[11] = TDebUms.LVp_Mon[11] + DeArUms.Vp_Mon[11]
  1094. TDebUms.LVp_Mon[12] = TDebUms.LVp_Mon[12] + DeArUms.Vp_Mon[12].
  1095. WHEN F_Jahr - 1 THEN
  1096. ASSIGN TDebUms.VEp_Kum = TDebUms.VEp_Kum + DeArUms.Ep_Kum
  1097. TDebUms.VEp_Mon[01] = TDebUms.VEp_Mon[01] + DeArUms.Ep_Mon[01]
  1098. TDebUms.VEp_Mon[02] = TDebUms.VEp_Mon[02] + DeArUms.Ep_Mon[02]
  1099. TDebUms.VEp_Mon[03] = TDebUms.VEp_Mon[03] + DeArUms.Ep_Mon[03]
  1100. TDebUms.VEp_Mon[04] = TDebUms.VEp_Mon[04] + DeArUms.Ep_Mon[04]
  1101. TDebUms.VEp_Mon[05] = TDebUms.VEp_Mon[05] + DeArUms.Ep_Mon[05]
  1102. TDebUms.VEp_Mon[06] = TDebUms.VEp_Mon[06] + DeArUms.Ep_Mon[06]
  1103. TDebUms.VEp_Mon[07] = TDebUms.VEp_Mon[07] + DeArUms.Ep_Mon[07]
  1104. TDebUms.VEp_Mon[08] = TDebUms.VEp_Mon[08] + DeArUms.Ep_Mon[08]
  1105. TDebUms.VEp_Mon[09] = TDebUms.VEp_Mon[09] + DeArUms.Ep_Mon[09]
  1106. TDebUms.VEp_Mon[10] = TDebUms.VEp_Mon[10] + DeArUms.Ep_Mon[10]
  1107. TDebUms.VEp_Mon[11] = TDebUms.VEp_Mon[11] + DeArUms.Ep_Mon[11]
  1108. TDebUms.VEp_Mon[12] = TDebUms.VEp_Mon[12] + DeArUms.Ep_Mon[12]
  1109. TDebUms.VVp_Kum = TDebUms.VVp_Kum + DeArUms.Vp_Kum
  1110. TDebUms.VVp_Mon[01] = TDebUms.VVp_Mon[01] + DeArUms.Vp_Mon[01]
  1111. TDebUms.VVp_Mon[02] = TDebUms.VVp_Mon[02] + DeArUms.Vp_Mon[02]
  1112. TDebUms.VVp_Mon[03] = TDebUms.VVp_Mon[03] + DeArUms.Vp_Mon[03]
  1113. TDebUms.VVp_Mon[04] = TDebUms.VVp_Mon[04] + DeArUms.Vp_Mon[04]
  1114. TDebUms.VVp_Mon[05] = TDebUms.VVp_Mon[05] + DeArUms.Vp_Mon[05]
  1115. TDebUms.VVp_Mon[06] = TDebUms.VVp_Mon[06] + DeArUms.Vp_Mon[06]
  1116. TDebUms.VVp_Mon[07] = TDebUms.VVp_Mon[07] + DeArUms.Vp_Mon[07]
  1117. TDebUms.VVp_Mon[08] = TDebUms.VVp_Mon[08] + DeArUms.Vp_Mon[08]
  1118. TDebUms.VVp_Mon[09] = TDebUms.VVp_Mon[09] + DeArUms.Vp_Mon[09]
  1119. TDebUms.VVp_Mon[10] = TDebUms.VVp_Mon[10] + DeArUms.Vp_Mon[10]
  1120. TDebUms.VVp_Mon[11] = TDebUms.VVp_Mon[11] + DeArUms.Vp_Mon[11]
  1121. TDebUms.VVp_Mon[12] = TDebUms.VVp_Mon[12] + DeArUms.Vp_Mon[12].
  1122. END CASE.
  1123. END.
  1124. END.
  1125. FOR EACH TDebUms USE-INDEX TDebUms-k1
  1126. WHERE TDebUms.Knr <= 999999
  1127. AND TDebUms.Jahr = F_Jahr
  1128. AND TDebUms.Ums_Grp < 999 NO-LOCK:
  1129. LEp = 0.
  1130. LVp = 0.
  1131. VEp = 0.
  1132. VVp = 0.
  1133. DO ii = F_VonMonat TO F_BisMonat:
  1134. LEp = LEp + TDebUms.LEp_Mon[ii].
  1135. LVp = LVp + TDebUms.LVp_Mon[ii].
  1136. VEp = VEp + TDebUms.VEp_Mon[ii].
  1137. VVp = VVp + TDebUms.VVp_Mon[ii].
  1138. END.
  1139. ASSIGN TDebUms.LEp_Tot = LEp
  1140. TDebUms.LVp_Tot = LVp
  1141. TDebUms.VEp_Tot = VEp
  1142. TDebUms.VVp_Tot = VVp.
  1143. END.
  1144. END PROCEDURE.
  1145. /* _UIB-CODE-BLOCK-END */
  1146. &ANALYZE-RESUME