g-p_debums-kugrp.w 67 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994
  1. &ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2
  2. &ANALYZE-RESUME
  3. &Scoped-define WINDOW-NAME CURRENT-WINDOW
  4. &Scoped-define FRAME-NAME gKundengrpUmsatz
  5. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS gKundengrpUmsatz
  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 iVer AS INT NO-UNDO.
  33. DEF VAR cVer AS CHAR NO-UNDO.
  34. DEF VAR iVerband AS INT NO-UNDO.
  35. DEF VAR cVerband AS CHAR NO-UNDO.
  36. DEF VAR cVorlage AS CHAR NO-UNDO.
  37. DEF VAR cDaten AS CHAR NO-UNDO.
  38. DEF VAR cDokument AS CHAR NO-UNDO.
  39. DEF VAR cDateiName AS CHAR NO-UNDO.
  40. DEF VAR Zelle AS CHAR NO-UNDO.
  41. DEF VAR excelAppl AS COM-HANDLE NO-UNDO.
  42. DEF VAR cZeile AS CHAR NO-UNDO.
  43. DEF VAR AnzKol AS INT NO-UNDO.
  44. DEF VAR FKol AS LOG NO-UNDO EXTENT 20.
  45. DEF VAR bKol AS CHAR NO-UNDO.
  46. DEF VAR MonStart AS INT NO-UNDO.
  47. DEF BUFFER BArtbw FOR Artbw.
  48. DEF TEMP-TABLE TUmsatz FIELD Kgr AS INT
  49. FIELD Knr AS INT
  50. FIELD Vp_Lf AS DEC DECIMALS 3 EXTENT 13
  51. FIELD Me_Lf AS DEC DECIMALS 3 EXTENT 13
  52. FIELD Vp_V1 AS DEC DECIMALS 3 EXTENT 13
  53. FIELD Me_V1 AS DEC DECIMALS 3 EXTENT 13
  54. FIELD Vp_V2 AS DEC DECIMALS 3 EXTENT 13
  55. FIELD Me_V2 AS DEC DECIMALS 3 EXTENT 13
  56. FIELD Vp_V3 AS DEC DECIMALS 3 EXTENT 13
  57. FIELD Me_V3 AS DEC DECIMALS 3 EXTENT 13
  58. FIELD Adresse AS CHAR
  59. FIELD Gruppe AS CHAR
  60. INDEX TUmsatz-k1
  61. Kgr
  62. Knr .
  63. DEF TEMP-TABLE GUmsatz LIKE TUmsatz.
  64. /* _UIB-CODE-BLOCK-END */
  65. &ANALYZE-RESUME
  66. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  67. /* ******************** Preprocessor Definitions ******************** */
  68. &Scoped-define PROCEDURE-TYPE SmartDialog
  69. &Scoped-define DB-AWARE no
  70. &Scoped-define ADM-CONTAINER DIALOG-BOX
  71. &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  72. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  73. &Scoped-define FRAME-NAME gKundengrpUmsatz
  74. /* Standard List Definitions */
  75. &Scoped-Define ENABLED-OBJECTS F_VonKnr F_BisKnr CB_Vertreter CB_Verband ~
  76. F_Kundengrp F_Preisgrp F_VonArtnr F_BisArtnr F_Hersteller F_Warengrp ~
  77. F_VonDatum F_BisDatum T_Totale T_Kum T_Vorjahr_1 T_Vorjahr_2 T_Vorjahr_3 ~
  78. T_Geloeschte T_Mengen T_Liter Btn_OK Btn_Cancel RECT-12
  79. &Scoped-Define DISPLAYED-OBJECTS F_VonKnr F_BisKnr CB_Vertreter CB_Verband ~
  80. F_Kundengrp F_Preisgrp F_VonArtnr F_BisArtnr F_Hersteller F_Warengrp ~
  81. F_VonDatum F_BisDatum T_Totale T_Kum T_Vorjahr_1 T_Vorjahr_2 T_Vorjahr_3 ~
  82. T_Geloeschte T_Mengen T_Liter
  83. /* Custom List Definitions */
  84. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  85. &Scoped-define List-6 F_VonKnr F_BisKnr CB_Vertreter CB_Verband F_Kundengrp ~
  86. F_Preisgrp F_VonArtnr F_BisArtnr F_Hersteller F_Warengrp F_VonDatum ~
  87. F_BisDatum T_Totale T_Kum T_Vorjahr_1 T_Vorjahr_2 T_Vorjahr_3 T_Geloeschte ~
  88. T_Mengen T_Liter
  89. /* _UIB-PREPROCESSOR-BLOCK-END */
  90. &ANALYZE-RESUME
  91. /* *********************** Control Definitions ********************** */
  92. /* Define a dialog box */
  93. /* Definitions of the field level widgets */
  94. DEFINE BUTTON Btn_Cancel AUTO-END-KEY
  95. LABEL "&abbrechen"
  96. SIZE 14 BY 1.19.
  97. DEFINE BUTTON Btn_OK
  98. IMAGE-UP FILE "grafik/results%.ico":U
  99. IMAGE-INSENSITIVE FILE "grafik/results%.ico":U
  100. LABEL "Excel"
  101. SIZE 7 BY 1.71.
  102. DEFINE VARIABLE CB_Verband AS CHARACTER FORMAT "X(256)":U
  103. LABEL "Verband"
  104. VIEW-AS COMBO-BOX INNER-LINES 5
  105. LIST-ITEM-PAIRS "Item 1","Item 1"
  106. DROP-DOWN-LIST
  107. SIZE 40 BY 1
  108. BGCOLOR 15 NO-UNDO.
  109. DEFINE VARIABLE CB_Vertreter AS CHARACTER FORMAT "X(256)":U
  110. LABEL "Vertreter"
  111. VIEW-AS COMBO-BOX INNER-LINES 5
  112. LIST-ITEM-PAIRS "Item 1","Item 1"
  113. DROP-DOWN-LIST
  114. SIZE 40 BY 1
  115. BGCOLOR 15 NO-UNDO.
  116. DEFINE VARIABLE F_BisArtnr AS INTEGER FORMAT "999999":U INITIAL 0
  117. LABEL "-"
  118. VIEW-AS FILL-IN NATIVE
  119. SIZE 11 BY 1
  120. BGCOLOR 15 NO-UNDO.
  121. DEFINE VARIABLE F_BisDatum AS DATE FORMAT "99.99.9999":U
  122. LABEL "-"
  123. VIEW-AS FILL-IN NATIVE
  124. SIZE 16 BY 1
  125. BGCOLOR 15 NO-UNDO.
  126. DEFINE VARIABLE F_BisKnr AS INTEGER FORMAT "999999":U INITIAL 0
  127. LABEL "-"
  128. VIEW-AS FILL-IN NATIVE
  129. SIZE 11 BY 1
  130. BGCOLOR 15 NO-UNDO.
  131. DEFINE VARIABLE F_Hersteller AS CHARACTER FORMAT "X(256)":U
  132. LABEL "Hersteller"
  133. VIEW-AS FILL-IN NATIVE
  134. SIZE 46.4 BY 1
  135. BGCOLOR 15 NO-UNDO.
  136. DEFINE VARIABLE F_Kundengrp AS CHARACTER FORMAT "X(256)":U
  137. LABEL "Kudengruppen"
  138. VIEW-AS FILL-IN NATIVE
  139. SIZE 46.4 BY 1
  140. BGCOLOR 15 NO-UNDO.
  141. DEFINE VARIABLE F_Preisgrp AS CHARACTER FORMAT "X(256)":U
  142. LABEL "Preisgruppen"
  143. VIEW-AS FILL-IN NATIVE
  144. SIZE 46.4 BY 1
  145. BGCOLOR 15 NO-UNDO.
  146. DEFINE VARIABLE F_VonArtnr AS INTEGER FORMAT "999999":U INITIAL 0
  147. LABEL "von - bis Artikelnummer"
  148. VIEW-AS FILL-IN NATIVE
  149. SIZE 11 BY 1
  150. BGCOLOR 15 NO-UNDO.
  151. DEFINE VARIABLE F_VonDatum AS DATE FORMAT "99.99.9999":U
  152. LABEL "von - bis Datum"
  153. VIEW-AS FILL-IN NATIVE
  154. SIZE 16 BY 1
  155. BGCOLOR 15 NO-UNDO.
  156. DEFINE VARIABLE F_VonKnr AS INTEGER FORMAT "999999":U INITIAL 0
  157. LABEL "von - bis Knr"
  158. VIEW-AS FILL-IN NATIVE
  159. SIZE 11 BY 1
  160. BGCOLOR 15 NO-UNDO.
  161. DEFINE VARIABLE F_Warengrp AS CHARACTER FORMAT "X(256)":U
  162. LABEL "Warengruppen"
  163. VIEW-AS FILL-IN NATIVE
  164. SIZE 46.4 BY 1
  165. BGCOLOR 15 NO-UNDO.
  166. DEFINE RECTANGLE RECT-12
  167. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  168. SIZE 84 BY 20.48.
  169. DEFINE VARIABLE T_Geloeschte AS LOGICAL INITIAL NO
  170. LABEL "inaktive Kunden auch ?"
  171. VIEW-AS TOGGLE-BOX
  172. SIZE 30 BY 1 NO-UNDO.
  173. DEFINE VARIABLE T_Kum AS LOGICAL INITIAL NO
  174. LABEL "nur Totale (Kummulativ)"
  175. VIEW-AS TOGGLE-BOX
  176. SIZE 30 BY 1 NO-UNDO.
  177. DEFINE VARIABLE T_Liter AS LOGICAL INITIAL NO
  178. LABEL "in Liter?"
  179. VIEW-AS TOGGLE-BOX
  180. SIZE 12 BY 1 NO-UNDO.
  181. DEFINE VARIABLE T_Mengen AS LOGICAL INITIAL NO
  182. LABEL "Mengen ?"
  183. VIEW-AS TOGGLE-BOX
  184. SIZE 16.2 BY 1 NO-UNDO.
  185. DEFINE VARIABLE T_Totale AS LOGICAL INITIAL NO
  186. LABEL "nur Kundengruppentotale"
  187. VIEW-AS TOGGLE-BOX
  188. SIZE 30 BY 1 NO-UNDO.
  189. DEFINE VARIABLE T_Vorjahr_1 AS LOGICAL INITIAL NO
  190. LABEL "Vorjahr 1"
  191. VIEW-AS TOGGLE-BOX
  192. SIZE 30 BY 1 NO-UNDO.
  193. DEFINE VARIABLE T_Vorjahr_2 AS LOGICAL INITIAL NO
  194. LABEL "Vorjahr 2"
  195. VIEW-AS TOGGLE-BOX
  196. SIZE 30 BY 1 NO-UNDO.
  197. DEFINE VARIABLE T_Vorjahr_3 AS LOGICAL INITIAL NO
  198. LABEL "Vorjahr 3"
  199. VIEW-AS TOGGLE-BOX
  200. SIZE 30 BY 1 NO-UNDO.
  201. /* ************************ Frame Definitions *********************** */
  202. DEFINE FRAME gKundengrpUmsatz
  203. F_VonKnr AT ROW 1.52 COL 28 COLON-ALIGNED
  204. F_BisKnr AT ROW 1.52 COL 41 COLON-ALIGNED
  205. CB_Vertreter AT ROW 2.52 COL 28 COLON-ALIGNED
  206. CB_Verband AT ROW 3.52 COL 28 COLON-ALIGNED
  207. F_Kundengrp AT ROW 5.52 COL 28 COLON-ALIGNED
  208. F_Preisgrp AT ROW 6.52 COL 28 COLON-ALIGNED
  209. F_VonArtnr AT ROW 8 COL 28 COLON-ALIGNED
  210. F_BisArtnr AT ROW 8 COL 41 COLON-ALIGNED
  211. F_Hersteller AT ROW 9 COL 28 COLON-ALIGNED
  212. F_Warengrp AT ROW 10 COL 28 COLON-ALIGNED
  213. F_VonDatum AT ROW 11 COL 28 COLON-ALIGNED
  214. F_BisDatum AT ROW 11 COL 47 COLON-ALIGNED
  215. T_Totale AT ROW 12 COL 30
  216. T_Kum AT ROW 13 COL 30 WIDGET-ID 2
  217. T_Vorjahr_1 AT ROW 14 COL 30
  218. T_Vorjahr_2 AT ROW 15 COL 30
  219. T_Vorjahr_3 AT ROW 16 COL 30
  220. T_Geloeschte AT ROW 17 COL 30
  221. T_Mengen AT ROW 18 COL 30
  222. T_Liter AT ROW 18 COL 48
  223. Btn_OK AT ROW 19.38 COL 30
  224. Btn_Cancel AT ROW 19.62 COL 55.8
  225. RECT-12 AT ROW 1.24 COL 2
  226. SPACE(0.99) SKIP(0.22)
  227. WITH VIEW-AS DIALOG-BOX KEEP-TAB-ORDER
  228. SIDE-LABELS NO-UNDERLINE THREE-D SCROLLABLE
  229. TITLE "Umsätze nach Kundengruppen"
  230. CANCEL-BUTTON Btn_Cancel.
  231. /* *********************** Procedure Settings ************************ */
  232. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  233. /* Settings for THIS-PROCEDURE
  234. Type: SmartDialog
  235. Allow: Basic,Browse,DB-Fields,Query,Smart
  236. Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
  237. Design Page: 1
  238. Other Settings: COMPILE
  239. */
  240. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  241. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB gKundengrpUmsatz
  242. /* ************************* Included-Libraries *********************** */
  243. {src/adm2/containr.i}
  244. /* _UIB-CODE-BLOCK-END */
  245. &ANALYZE-RESUME
  246. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  247. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  248. /* SETTINGS FOR DIALOG-BOX gKundengrpUmsatz
  249. FRAME-NAME Custom */
  250. ASSIGN
  251. FRAME gKundengrpUmsatz:SCROLLABLE = FALSE
  252. FRAME gKundengrpUmsatz:HIDDEN = TRUE.
  253. /* SETTINGS FOR COMBO-BOX CB_Verband IN FRAME gKundengrpUmsatz
  254. 6 */
  255. /* SETTINGS FOR COMBO-BOX CB_Vertreter IN FRAME gKundengrpUmsatz
  256. 6 */
  257. /* SETTINGS FOR FILL-IN F_BisArtnr IN FRAME gKundengrpUmsatz
  258. 6 */
  259. /* SETTINGS FOR FILL-IN F_BisDatum IN FRAME gKundengrpUmsatz
  260. 6 */
  261. /* SETTINGS FOR FILL-IN F_BisKnr IN FRAME gKundengrpUmsatz
  262. 6 */
  263. /* SETTINGS FOR FILL-IN F_Hersteller IN FRAME gKundengrpUmsatz
  264. 6 */
  265. /* SETTINGS FOR FILL-IN F_Kundengrp IN FRAME gKundengrpUmsatz
  266. 6 */
  267. /* SETTINGS FOR FILL-IN F_Preisgrp IN FRAME gKundengrpUmsatz
  268. 6 */
  269. /* SETTINGS FOR FILL-IN F_VonArtnr IN FRAME gKundengrpUmsatz
  270. 6 */
  271. /* SETTINGS FOR FILL-IN F_VonDatum IN FRAME gKundengrpUmsatz
  272. 6 */
  273. /* SETTINGS FOR FILL-IN F_VonKnr IN FRAME gKundengrpUmsatz
  274. 6 */
  275. /* SETTINGS FOR FILL-IN F_Warengrp IN FRAME gKundengrpUmsatz
  276. 6 */
  277. /* SETTINGS FOR TOGGLE-BOX T_Geloeschte IN FRAME gKundengrpUmsatz
  278. 6 */
  279. /* SETTINGS FOR TOGGLE-BOX T_Kum IN FRAME gKundengrpUmsatz
  280. 6 */
  281. /* SETTINGS FOR TOGGLE-BOX T_Liter IN FRAME gKundengrpUmsatz
  282. 6 */
  283. /* SETTINGS FOR TOGGLE-BOX T_Mengen IN FRAME gKundengrpUmsatz
  284. 6 */
  285. /* SETTINGS FOR TOGGLE-BOX T_Totale IN FRAME gKundengrpUmsatz
  286. 6 */
  287. /* SETTINGS FOR TOGGLE-BOX T_Vorjahr_1 IN FRAME gKundengrpUmsatz
  288. 6 */
  289. /* SETTINGS FOR TOGGLE-BOX T_Vorjahr_2 IN FRAME gKundengrpUmsatz
  290. 6 */
  291. /* SETTINGS FOR TOGGLE-BOX T_Vorjahr_3 IN FRAME gKundengrpUmsatz
  292. 6 */
  293. /* _RUN-TIME-ATTRIBUTES-END */
  294. &ANALYZE-RESUME
  295. /* Setting information for Queries and Browse Widgets fields */
  296. &ANALYZE-SUSPEND _QUERY-BLOCK DIALOG-BOX gKundengrpUmsatz
  297. /* Query rebuild information for DIALOG-BOX gKundengrpUmsatz
  298. _Options = "SHARE-LOCK"
  299. _Query is NOT OPENED
  300. */ /* DIALOG-BOX gKundengrpUmsatz */
  301. &ANALYZE-RESUME
  302. /* ************************ Control Triggers ************************ */
  303. &Scoped-define SELF-NAME gKundengrpUmsatz
  304. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gKundengrpUmsatz gKundengrpUmsatz
  305. ON END-ERROR OF FRAME gKundengrpUmsatz /* Umsätze nach Kundengruppen */
  306. DO:
  307. RUN ENDE.
  308. RETURN NO-APPLY.
  309. END.
  310. /* _UIB-CODE-BLOCK-END */
  311. &ANALYZE-RESUME
  312. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gKundengrpUmsatz gKundengrpUmsatz
  313. ON GO OF FRAME gKundengrpUmsatz /* Umsätze nach Kundengruppen */
  314. DO:
  315. /*
  316. RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ) NO-ERROR.
  317. */
  318. END.
  319. /* _UIB-CODE-BLOCK-END */
  320. &ANALYZE-RESUME
  321. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gKundengrpUmsatz gKundengrpUmsatz
  322. ON WINDOW-CLOSE OF FRAME gKundengrpUmsatz /* Umsätze nach Kundengruppen */
  323. DO:
  324. RUN ENDE.
  325. RETURN NO-APPLY.
  326. END.
  327. /* _UIB-CODE-BLOCK-END */
  328. &ANALYZE-RESUME
  329. &Scoped-define SELF-NAME Btn_Cancel
  330. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Cancel gKundengrpUmsatz
  331. ON CHOOSE OF Btn_Cancel IN FRAME gKundengrpUmsatz /* abbrechen */
  332. DO:
  333. RUN ENDE.
  334. RETURN NO-APPLY.
  335. END.
  336. /* _UIB-CODE-BLOCK-END */
  337. &ANALYZE-RESUME
  338. &Scoped-define SELF-NAME Btn_OK
  339. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_OK gKundengrpUmsatz
  340. ON CHOOSE OF Btn_OK IN FRAME gKundengrpUmsatz /* Excel */
  341. DO:
  342. DO WITH FRAME {&FRAME-NAME}:
  343. Btn_OK:SENSITIVE = FALSE.
  344. Btn_Cancel:SENSITIVE = FALSE.
  345. SESSION:SET-WAIT-STATE ('GENERAL').
  346. END.
  347. RUN REPORT.
  348. DO WITH FRAME {&FRAME-NAME}:
  349. Btn_OK:SENSITIVE = TRUE.
  350. Btn_Cancel:SENSITIVE = TRUE.
  351. SESSION:SET-WAIT-STATE('').
  352. END.
  353. RUN ENDE.
  354. RETURN NO-APPLY.
  355. END.
  356. /* _UIB-CODE-BLOCK-END */
  357. &ANALYZE-RESUME
  358. &Scoped-define SELF-NAME CB_Verband
  359. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Verband gKundengrpUmsatz
  360. ON RETURN OF CB_Verband IN FRAME gKundengrpUmsatz /* Verband */
  361. DO:
  362. APPLY 'TAB' TO SELF.
  363. RETURN NO-APPLY.
  364. END.
  365. /* _UIB-CODE-BLOCK-END */
  366. &ANALYZE-RESUME
  367. &Scoped-define SELF-NAME CB_Vertreter
  368. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Vertreter gKundengrpUmsatz
  369. ON RETURN OF CB_Vertreter IN FRAME gKundengrpUmsatz /* Vertreter */
  370. DO:
  371. APPLY 'TAB' TO SELF.
  372. RETURN NO-APPLY.
  373. END.
  374. /* _UIB-CODE-BLOCK-END */
  375. &ANALYZE-RESUME
  376. &Scoped-define SELF-NAME F_BisKnr
  377. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_BisKnr gKundengrpUmsatz
  378. ON ALT-F OF F_BisKnr IN FRAME gKundengrpUmsatz /* - */
  379. DO:
  380. DEF VAR iRecid AS RECID NO-UNDO.
  381. RUN 'g-suchen-adresse.w':U ( 'DEB', OUTPUT iRecid ).
  382. IF iRecid = ? OR
  383. iRecid = 0 THEN RETURN NO-APPLY.
  384. FIND Adresse NO-LOCK WHERE RECID(Adresse) = iRecid NO-ERROR.
  385. SELF:SCREEN-VALUE = STRING(Adresse.Knr).
  386. APPLY 'ENTRY' TO SELF.
  387. RETURN NO-APPLY.
  388. END.
  389. /* _UIB-CODE-BLOCK-END */
  390. &ANALYZE-RESUME
  391. &Scoped-define SELF-NAME F_Hersteller
  392. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Hersteller gKundengrpUmsatz
  393. ON RIGHT-MOUSE-CLICK OF F_Hersteller IN FRAME gKundengrpUmsatz /* Hersteller */
  394. DO:
  395. RUN g-auswahl-tabelle.w ( INPUT SELF, INPUT 'HERST' ).
  396. END.
  397. /* _UIB-CODE-BLOCK-END */
  398. &ANALYZE-RESUME
  399. &Scoped-define SELF-NAME F_Kundengrp
  400. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Kundengrp gKundengrpUmsatz
  401. ON HELP OF F_Kundengrp IN FRAME gKundengrpUmsatz /* Kudengruppen */
  402. DO:
  403. RUN g-auswahl-tabelle.w ( INPUT SELF, INPUT 'KUNDGRP' ).
  404. END.
  405. /* _UIB-CODE-BLOCK-END */
  406. &ANALYZE-RESUME
  407. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Kundengrp gKundengrpUmsatz
  408. ON RIGHT-MOUSE-CLICK OF F_Kundengrp IN FRAME gKundengrpUmsatz /* Kudengruppen */
  409. DO:
  410. RUN g-auswahl-tabelle.w ( INPUT SELF, INPUT 'KUNDGRP' ).
  411. END.
  412. /* _UIB-CODE-BLOCK-END */
  413. &ANALYZE-RESUME
  414. &Scoped-define SELF-NAME F_Preisgrp
  415. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Preisgrp gKundengrpUmsatz
  416. ON HELP OF F_Preisgrp IN FRAME gKundengrpUmsatz /* Preisgruppen */
  417. DO:
  418. RUN g-auswahl-tabelle.w ( INPUT SELF, INPUT 'PREGRP' ).
  419. END.
  420. /* _UIB-CODE-BLOCK-END */
  421. &ANALYZE-RESUME
  422. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Preisgrp gKundengrpUmsatz
  423. ON RIGHT-MOUSE-CLICK OF F_Preisgrp IN FRAME gKundengrpUmsatz /* Preisgruppen */
  424. DO:
  425. RUN g-auswahl-tabelle.w ( INPUT SELF, INPUT 'PREGRP' ).
  426. END.
  427. /* _UIB-CODE-BLOCK-END */
  428. &ANALYZE-RESUME
  429. &Scoped-define SELF-NAME F_VonKnr
  430. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_VonKnr gKundengrpUmsatz
  431. ON ALT-F OF F_VonKnr IN FRAME gKundengrpUmsatz /* von - bis Knr */
  432. DO:
  433. DEF VAR iRecid AS RECID NO-UNDO.
  434. RUN 'g-suchen-adresse.w':U ( 'DEB', OUTPUT iRecid ).
  435. IF iRecid = ? OR
  436. iRecid = 0 THEN RETURN NO-APPLY.
  437. FIND Adresse NO-LOCK WHERE RECID(Adresse) = iRecid NO-ERROR.
  438. SELF:SCREEN-VALUE = STRING(Adresse.Knr).
  439. F_BisKnr:SCREEN-VALUE = STRING(Adresse.Knr).
  440. APPLY 'ENTRY' TO SELF.
  441. RETURN NO-APPLY.
  442. END.
  443. /* _UIB-CODE-BLOCK-END */
  444. &ANALYZE-RESUME
  445. &Scoped-define SELF-NAME F_Warengrp
  446. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Warengrp gKundengrpUmsatz
  447. ON HELP OF F_Warengrp IN FRAME gKundengrpUmsatz /* Warengruppen */
  448. DO:
  449. RUN g-auswahl-tabelle.w ( INPUT SELF, INPUT 'KUNDGRP' ).
  450. END.
  451. /* _UIB-CODE-BLOCK-END */
  452. &ANALYZE-RESUME
  453. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Warengrp gKundengrpUmsatz
  454. ON RIGHT-MOUSE-CLICK OF F_Warengrp IN FRAME gKundengrpUmsatz /* Warengruppen */
  455. DO:
  456. RUN g-auswahl-wgr.w ( INPUT SELF ).
  457. END.
  458. /* _UIB-CODE-BLOCK-END */
  459. &ANALYZE-RESUME
  460. &Scoped-define SELF-NAME T_Geloeschte
  461. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_Geloeschte gKundengrpUmsatz
  462. ON RETURN OF T_Geloeschte IN FRAME gKundengrpUmsatz /* inaktive Kunden auch ? */
  463. DO:
  464. APPLY 'TAB' TO SELF.
  465. RETURN NO-APPLY.
  466. END.
  467. /* _UIB-CODE-BLOCK-END */
  468. &ANALYZE-RESUME
  469. &Scoped-define SELF-NAME T_Kum
  470. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_Kum gKundengrpUmsatz
  471. ON RETURN OF T_Kum IN FRAME gKundengrpUmsatz /* nur Totale (Kummulativ) */
  472. DO:
  473. APPLY 'TAB' TO SELF.
  474. END.
  475. /* _UIB-CODE-BLOCK-END */
  476. &ANALYZE-RESUME
  477. &Scoped-define SELF-NAME T_Mengen
  478. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_Mengen gKundengrpUmsatz
  479. ON RETURN OF T_Mengen IN FRAME gKundengrpUmsatz /* Mengen ? */
  480. DO:
  481. APPLY 'TAB' TO SELF.
  482. RETURN NO-APPLY.
  483. END.
  484. /* _UIB-CODE-BLOCK-END */
  485. &ANALYZE-RESUME
  486. &Scoped-define SELF-NAME T_Totale
  487. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_Totale gKundengrpUmsatz
  488. ON RETURN OF T_Totale IN FRAME gKundengrpUmsatz /* nur Kundengruppentotale */
  489. DO:
  490. APPLY 'TAB' TO SELF.
  491. END.
  492. /* _UIB-CODE-BLOCK-END */
  493. &ANALYZE-RESUME
  494. &Scoped-define SELF-NAME T_Vorjahr_1
  495. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_Vorjahr_1 gKundengrpUmsatz
  496. ON RETURN OF T_Vorjahr_1 IN FRAME gKundengrpUmsatz /* Vorjahr 1 */
  497. DO:
  498. APPLY 'TAB' TO SELF.
  499. END.
  500. /* _UIB-CODE-BLOCK-END */
  501. &ANALYZE-RESUME
  502. &Scoped-define SELF-NAME T_Vorjahr_2
  503. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_Vorjahr_2 gKundengrpUmsatz
  504. ON RETURN OF T_Vorjahr_2 IN FRAME gKundengrpUmsatz /* Vorjahr 2 */
  505. DO:
  506. APPLY 'TAB' TO SELF.
  507. RETURN NO-APPLY.
  508. END.
  509. /* _UIB-CODE-BLOCK-END */
  510. &ANALYZE-RESUME
  511. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_Vorjahr_2 gKundengrpUmsatz
  512. ON VALUE-CHANGED OF T_Vorjahr_2 IN FRAME gKundengrpUmsatz /* Vorjahr 2 */
  513. DO:
  514. IF NOT SELF:SCREEN-VALUE BEGINS 'n' THEN DO WITH FRAME {&FRAME-NAME}:
  515. T_Vorjahr_1:SCREEN-VALUE = STRING(TRUE).
  516. END.
  517. END.
  518. /* _UIB-CODE-BLOCK-END */
  519. &ANALYZE-RESUME
  520. &Scoped-define SELF-NAME T_Vorjahr_3
  521. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_Vorjahr_3 gKundengrpUmsatz
  522. ON RETURN OF T_Vorjahr_3 IN FRAME gKundengrpUmsatz /* Vorjahr 3 */
  523. DO:
  524. APPLY 'TAB' TO SELF.
  525. RETURN NO-APPLY.
  526. END.
  527. /* _UIB-CODE-BLOCK-END */
  528. &ANALYZE-RESUME
  529. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_Vorjahr_3 gKundengrpUmsatz
  530. ON VALUE-CHANGED OF T_Vorjahr_3 IN FRAME gKundengrpUmsatz /* Vorjahr 3 */
  531. DO:
  532. IF NOT SELF:SCREEN-VALUE BEGINS 'n' THEN DO WITH FRAME {&FRAME-NAME}:
  533. T_Vorjahr_1:SCREEN-VALUE = STRING(TRUE).
  534. T_Vorjahr_2:SCREEN-VALUE = STRING(TRUE).
  535. END.
  536. END.
  537. /* _UIB-CODE-BLOCK-END */
  538. &ANALYZE-RESUME
  539. &UNDEFINE SELF-NAME
  540. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK gKundengrpUmsatz
  541. /* *************************** Main Block *************************** */
  542. MaxPage = 1.
  543. AktSeite = 1.
  544. Firma = DYNAMIC-FUNCTION('GETMANDANT':U) NO-ERROR.
  545. AdFirma = DYNAMIC-FUNCTION('GETADMANDANT':U) NO-ERROR.
  546. SESSION:DATA-ENTRY-RETURN = TRUE.
  547. /* TRIGGERS ------------------------------------------------------ */
  548. /*
  549. ON 'END-ERROR':U OF FRAME {&FRAME-NAME} ANYWHERE
  550. DO:
  551. FMutFlag = DYNAMIC-FUNCTION('getMutflagAlt':U) NO-ERROR.
  552. IF FMutFlag = FALSE THEN DO:
  553. RUN ENDE.
  554. RETURN NO-APPLY.
  555. END.
  556. RUN TOOLBAR IN h_dyntoolbar ( INPUT 'CANCEL':U ).
  557. RETURN NO-APPLY.
  558. END.
  559. */
  560. /* ------------------------------------------------------------------ */
  561. {src/adm2/dialogmn.i}
  562. /* _UIB-CODE-BLOCK-END */
  563. &ANALYZE-RESUME
  564. /* ********************** Internal Procedures *********************** */
  565. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects gKundengrpUmsatz _ADM-CREATE-OBJECTS
  566. PROCEDURE adm-create-objects :
  567. /*------------------------------------------------------------------------------
  568. Purpose: Create handles for all SmartObjects used in this procedure.
  569. After SmartObjects are initialized, then SmartLinks are added.
  570. Parameters: <none>
  571. ------------------------------------------------------------------------------*/
  572. END PROCEDURE.
  573. /* _UIB-CODE-BLOCK-END */
  574. &ANALYZE-RESUME
  575. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE AUSGABE gKundengrpUmsatz
  576. PROCEDURE AUSGABE :
  577. /*------------------------------------------------------------------------------
  578. Purpose:
  579. Parameters: <none>
  580. Notes:
  581. ------------------------------------------------------------------------------*/
  582. DEF VAR i1 AS INT NO-UNDO.
  583. DEF VAR iStart AS INT NO-UNDO.
  584. IF T_Mengen THEN DO:
  585. FOR EACH TUmsatz:
  586. DO i1 = 1 TO 13:
  587. ASSIGN TUmsatz.Vp_Lf[i1] = TUmsatz.Me_Lf[i1]
  588. TUmsatz.Vp_V1[i1] = TUmsatz.Me_V1[i1]
  589. TUmsatz.Vp_V2[i1] = TUmsatz.Me_V2[i1]
  590. TUmsatz.Vp_V3[i1] = TUmsatz.Me_V3[i1].
  591. END.
  592. END.
  593. FOR EACH GUmsatz:
  594. DO i1 = 1 TO 13:
  595. ASSIGN GUmsatz.Vp_Lf[i1] = GUmsatz.Me_Lf[i1]
  596. GUmsatz.Vp_V1[i1] = GUmsatz.Me_V1[i1]
  597. GUmsatz.Vp_V2[i1] = GUmsatz.Me_V2[i1]
  598. GUmsatz.Vp_V3[i1] = GUmsatz.Me_V3[i1].
  599. END.
  600. END.
  601. END.
  602. IF T_Kum THEN DO:
  603. RUN AUSGABE_KUMMULATIV.
  604. RETURN.
  605. END.
  606. iStart = 1.
  607. DO WHILE NOT T_Totale:
  608. FOR EACH TUmsatz USE-INDEX TUmsatz-k1 NO-LOCK
  609. BREAK BY TUmsatz.Kgr
  610. BY TUmsatz.Knr :
  611. IF FIRST-OF ( TUmsatz.Kgr ) THEN DO:
  612. IF NOT T_Totale THEN DO:
  613. PUT CONTROL STRING(TUmsatz.Kgr,'999 ')
  614. TUmsatz.Gruppe CHR(10).
  615. END.
  616. END.
  617. cZeile = ''.
  618. cZeile = cZeile + '£'
  619. + STRING(TUmsatz.Knr,'999999') + '£'
  620. + TUmsatz.Adresse + '£'.
  621. DO i1 = iStart TO AnzKol:
  622. cZeile = cZeile + TRIM(STRING(TUmsatz.Vp_Lf[i1],'->>>>>>>>')) + '£'.
  623. END.
  624. cZeile = cZeile + TRIM(STRING(TUmsatz.Vp_Lf[13],'->>>>>>>>')).
  625. PUT CONTROL cZeile CHR(10).
  626. IF T_Vorjahr_1 THEN DO:
  627. cZeile = ''.
  628. cZeile = cZeile + '£££'.
  629. DO i1 = iStart TO AnzKol:
  630. cZeile = cZeile + TRIM(STRING(TUmsatz.Vp_V1[i1],'->>>>>>>>')) + '£'.
  631. END.
  632. cZeile = cZeile + TRIM(STRING(TUmsatz.Vp_V1[13],'->>>>>>>>')).
  633. PUT CONTROL cZeile CHR(10).
  634. END.
  635. IF T_Vorjahr_2 THEN DO:
  636. cZeile = ''.
  637. cZeile = cZeile + '£££'.
  638. DO i1 = iStart TO AnzKol:
  639. cZeile = cZeile + TRIM(STRING(TUmsatz.Vp_V2[i1],'->>>>>>>>')) + '£'.
  640. END.
  641. cZeile = cZeile + TRIM(STRING(TUmsatz.Vp_V2[13],'->>>>>>>>')).
  642. PUT CONTROL cZeile CHR(10).
  643. END.
  644. IF T_Vorjahr_3 THEN DO:
  645. cZeile = ''.
  646. cZeile = cZeile + '£££'.
  647. DO i1 = iStart TO AnzKol:
  648. cZeile = cZeile + TRIM(STRING(TUmsatz.Vp_V3[i1],'->>>>>>>>')) + '£'.
  649. END.
  650. cZeile = cZeile + TRIM(STRING(TUmsatz.Vp_V3[13],'->>>>>>>>')).
  651. PUT CONTROL cZeile CHR(10).
  652. END.
  653. IF NOT LAST-OF ( TUmsatz.Kgr ) THEN NEXT.
  654. FIND FIRST GUmsatz WHERE GUmsatz.Kgr = TUmsatz.Kgr.
  655. cZeile = ''.
  656. cZeile = cZeile + 'Total '
  657. + GUmsatz.Gruppe + '£££'.
  658. DO i1 = iStart TO AnzKol:
  659. cZeile = cZeile + TRIM(STRING(GUmsatz.Vp_Lf[i1],'->>>>>>>>')) + '£'.
  660. END.
  661. cZeile = cZeile + TRIM(STRING(GUmsatz.Vp_Lf[13],'->>>>>>>>')).
  662. PUT CONTROL cZeile CHR(10).
  663. cZeile = ''.
  664. IF T_Vorjahr_1 THEN DO:
  665. cZeile = ''.
  666. cZeile = cZeile + '£££'.
  667. DO i1 = iStart TO AnzKol:
  668. cZeile = cZeile + TRIM(STRING(GUmsatz.Vp_V1[i1],'->>>>>>>>')) + '£'.
  669. END.
  670. cZeile = cZeile + TRIM(STRING(GUmsatz.Vp_V1[13],'->>>>>>>>')).
  671. PUT CONTROL cZeile CHR(10).
  672. END.
  673. IF T_Vorjahr_2 THEN DO:
  674. cZeile = ''.
  675. cZeile = cZeile + '£££'.
  676. DO i1 = iStart TO AnzKol:
  677. cZeile = cZeile + TRIM(STRING(GUmsatz.Vp_V2[i1],'->>>>>>>>')) + '£'.
  678. END.
  679. cZeile = cZeile + TRIM(STRING(GUmsatz.Vp_V2[13],'->>>>>>>>')).
  680. PUT CONTROL cZeile CHR(10).
  681. END.
  682. IF T_Vorjahr_3 THEN DO:
  683. cZeile = ''.
  684. cZeile = cZeile + '£££'.
  685. DO i1 = iStart TO AnzKol:
  686. cZeile = cZeile + TRIM(STRING(GUmsatz.Vp_V3[i1],'->>>>>>>>')) + '£'.
  687. END.
  688. cZeile = cZeile + TRIM(STRING(GUmsatz.Vp_V3[13],'->>>>>>>>')).
  689. PUT CONTROL cZeile CHR(10).
  690. END.
  691. PUT CONTROL '£' CHR(10).
  692. END.
  693. PUT CONTROL '£' CHR(10)
  694. '£' CHR(10).
  695. T_Totale = TRUE.
  696. END.
  697. DO WHILE T_Totale:
  698. FOR EACH TUmsatz:
  699. DELETE TUmsatz.
  700. END.
  701. FOR EACH GUmsatz:
  702. CREATE TUmsatz.
  703. BUFFER-COPY GUmsatz TO TUmsatz.
  704. DELETE GUmsatz.
  705. END.
  706. CREATE GUmsatz.
  707. ASSIGN GUmsatz.Kgr = 9999
  708. GUmsatz.Gruppe = 'Gesamttotal'.
  709. FOR EACH TUmsatz:
  710. DO i1 = iStart TO 13:
  711. ASSIGN GUmsatz.Me_Lf[i1] = GUmsatz.Me_Lf[i1] + TUmsatz.Me_Lf[i1]
  712. GUmsatz.Vp_Lf[i1] = GUmsatz.Vp_Lf[i1] + TUmsatz.Vp_Lf[i1]
  713. GUmsatz.Me_V1[i1] = GUmsatz.Me_V1[i1] + TUmsatz.Me_V1[i1]
  714. GUmsatz.Vp_V1[i1] = GUmsatz.Vp_V1[i1] + TUmsatz.Vp_V1[i1]
  715. GUmsatz.Me_V2[i1] = GUmsatz.Me_V2[i1] + TUmsatz.Me_V2[i1]
  716. GUmsatz.Vp_V2[i1] = GUmsatz.Vp_V2[i1] + TUmsatz.Vp_V2[i1]
  717. GUmsatz.Me_V3[i1] = GUmsatz.Me_V3[i1] + TUmsatz.Me_V3[i1]
  718. GUmsatz.Vp_V3[i1] = GUmsatz.Vp_V3[i1] + TUmsatz.Vp_V3[i1].
  719. END.
  720. END.
  721. FOR EACH TUmsatz USE-INDEX TUmsatz-k1 NO-LOCK
  722. BREAK BY TUmsatz.Kgr
  723. BY TUmsatz.Knr :
  724. cZeile = ''.
  725. cZeile = cZeile + '£'
  726. + STRING(TUmsatz.Kgr,'999') + '£'
  727. + TUmsatz.Gruppe + '£'.
  728. DO i1 = iStart TO AnzKol:
  729. cZeile = cZeile + TRIM(STRING(TUmsatz.Vp_Lf[i1],'->>>>>>>>')) + '£'.
  730. END.
  731. cZeile = cZeile + TRIM(STRING(TUmsatz.Vp_Lf[13],'->>>>>>>>')).
  732. PUT CONTROL cZeile CHR(10).
  733. IF T_Vorjahr_1 THEN DO:
  734. cZeile = ''.
  735. cZeile = cZeile + '£££'.
  736. DO i1 = iStart TO AnzKol:
  737. cZeile = cZeile + TRIM(STRING(TUmsatz.Vp_V1[i1],'->>>>>>>>')) + '£'.
  738. END.
  739. cZeile = cZeile + TRIM(STRING(TUmsatz.Vp_V1[13],'->>>>>>>>')).
  740. PUT CONTROL cZeile CHR(10).
  741. END.
  742. IF T_Vorjahr_2 THEN DO:
  743. cZeile = ''.
  744. cZeile = cZeile + '£££'.
  745. DO i1 = iStart TO AnzKol:
  746. cZeile = cZeile + TRIM(STRING(TUmsatz.Vp_V2[i1],'->>>>>>>>')) + '£'.
  747. END.
  748. cZeile = cZeile + TRIM(STRING(TUmsatz.Vp_V2[13],'->>>>>>>>')).
  749. PUT CONTROL cZeile CHR(10).
  750. END.
  751. IF T_Vorjahr_3 THEN DO:
  752. cZeile = ''.
  753. cZeile = cZeile + '£££'.
  754. DO i1 = iStart TO AnzKol:
  755. cZeile = cZeile + TRIM(STRING(TUmsatz.Vp_V3[i1],'->>>>>>>>')) + '£'.
  756. END.
  757. cZeile = cZeile + TRIM(STRING(TUmsatz.Vp_V3[13],'->>>>>>>>')).
  758. PUT CONTROL cZeile CHR(10).
  759. END.
  760. END.
  761. FIND FIRST GUmsatz.
  762. cZeile = ''.
  763. cZeile = cZeile
  764. + GUmsatz.Gruppe + '£££'.
  765. DO i1 = iStart TO AnzKol:
  766. cZeile = cZeile + TRIM(STRING(GUmsatz.Vp_Lf[i1],'->>>>>>>>')) + '£'.
  767. END.
  768. cZeile = cZeile + TRIM(STRING(GUmsatz.Vp_Lf[13],'->>>>>>>>')).
  769. PUT CONTROL cZeile CHR(10).
  770. IF T_Vorjahr_1 THEN DO:
  771. cZeile = ''.
  772. cZeile = cZeile + '£££'.
  773. DO i1 = iStart TO AnzKol:
  774. cZeile = cZeile + TRIM(STRING(GUmsatz.Vp_V1[i1],'->>>>>>>>')) + '£'.
  775. END.
  776. cZeile = cZeile + TRIM(STRING(GUmsatz.Vp_V1[13],'->>>>>>>>')).
  777. PUT CONTROL cZeile CHR(10)
  778. '£' CHR(10).
  779. END.
  780. IF T_Vorjahr_2 THEN DO:
  781. cZeile = ''.
  782. cZeile = cZeile + '£££'.
  783. DO i1 = iStart TO AnzKol:
  784. cZeile = cZeile + TRIM(STRING(GUmsatz.Vp_V2[i1],'->>>>>>>>')) + '£'.
  785. END.
  786. cZeile = cZeile + TRIM(STRING(GUmsatz.Vp_V2[13],'->>>>>>>>')).
  787. PUT CONTROL cZeile CHR(10)
  788. '£' CHR(10).
  789. END.
  790. IF T_Vorjahr_3 THEN DO:
  791. cZeile = ''.
  792. cZeile = cZeile + '£££'.
  793. DO i1 = iStart TO AnzKol:
  794. cZeile = cZeile + TRIM(STRING(GUmsatz.Vp_V3[i1],'->>>>>>>>')) + '£'.
  795. END.
  796. cZeile = cZeile + TRIM(STRING(GUmsatz.Vp_V3[13],'->>>>>>>>')).
  797. PUT CONTROL cZeile CHR(10)
  798. '£' CHR(10).
  799. END.
  800. LEAVE.
  801. END.
  802. END PROCEDURE.
  803. /* _UIB-CODE-BLOCK-END */
  804. &ANALYZE-RESUME
  805. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE AUSGABE_KUMMULATIV gKundengrpUmsatz
  806. PROCEDURE AUSGABE_KUMMULATIV :
  807. /*------------------------------------------------------------------------------
  808. Purpose:
  809. Parameters: <none>
  810. Notes:
  811. ------------------------------------------------------------------------------*/
  812. DEF VAR i1 AS INT NO-UNDO.
  813. DEF VAR iStart AS INT INIT 1 NO-UNDO.
  814. IF T_Mengen THEN DO:
  815. FOR EACH TUmsatz:
  816. DO i1 = 1 TO 13:
  817. ASSIGN TUmsatz.Vp_Lf[i1] = TUmsatz.Me_Lf[i1]
  818. TUmsatz.Vp_V1[i1] = TUmsatz.Me_V1[i1]
  819. TUmsatz.Vp_V2[i1] = TUmsatz.Me_V2[i1]
  820. TUmsatz.Vp_V3[i1] = TUmsatz.Me_V3[i1].
  821. END.
  822. END.
  823. FOR EACH GUmsatz:
  824. DO i1 = 1 TO 13:
  825. ASSIGN GUmsatz.Vp_Lf[i1] = GUmsatz.Me_Lf[i1]
  826. GUmsatz.Vp_V1[i1] = GUmsatz.Me_V1[i1]
  827. GUmsatz.Vp_V2[i1] = GUmsatz.Me_V2[i1]
  828. GUmsatz.Vp_V3[i1] = GUmsatz.Me_V3[i1].
  829. END.
  830. END.
  831. END.
  832. DO WHILE NOT T_Totale:
  833. FOR EACH TUmsatz USE-INDEX TUmsatz-k1 NO-LOCK
  834. BREAK BY TUmsatz.Kgr
  835. BY TUmsatz.Knr :
  836. IF FIRST-OF ( TUmsatz.Kgr ) THEN DO:
  837. IF NOT T_Totale THEN DO:
  838. PUT CONTROL STRING(TUmsatz.Kgr,'999 ')
  839. TUmsatz.Gruppe CHR(10).
  840. END.
  841. END.
  842. cZeile = ''.
  843. cZeile = cZeile + '£'
  844. + STRING(TUmsatz.Knr,'999999') + '£'
  845. + TUmsatz.Adresse + '£££'.
  846. cZeile = cZeile + TRIM(STRING(TUmsatz.Vp_Lf[13],'->>>>>>>>')).
  847. PUT CONTROL cZeile CHR(10).
  848. IF T_Vorjahr_1 THEN DO:
  849. cZeile = ''.
  850. cZeile = cZeile + '£££££'.
  851. cZeile = cZeile + TRIM(STRING(TUmsatz.Vp_V1[13],'->>>>>>>>')).
  852. PUT CONTROL cZeile CHR(10).
  853. END.
  854. IF T_Vorjahr_2 THEN DO:
  855. cZeile = ''.
  856. cZeile = cZeile + '£££££'.
  857. cZeile = cZeile + TRIM(STRING(TUmsatz.Vp_V2[13],'->>>>>>>>')).
  858. PUT CONTROL cZeile CHR(10).
  859. END.
  860. IF T_Vorjahr_3 THEN DO:
  861. cZeile = ''.
  862. cZeile = cZeile + '£££££'.
  863. cZeile = cZeile + TRIM(STRING(TUmsatz.Vp_V3[13],'->>>>>>>>')).
  864. PUT CONTROL cZeile CHR(10).
  865. END.
  866. IF NOT LAST-OF ( TUmsatz.Kgr ) THEN NEXT.
  867. FIND FIRST GUmsatz WHERE GUmsatz.Kgr = TUmsatz.Kgr.
  868. cZeile = ''.
  869. cZeile = cZeile + 'Total '
  870. + GUmsatz.Gruppe + '£££££'.
  871. cZeile = cZeile + TRIM(STRING(GUmsatz.Vp_Lf[13],'->>>>>>>>')).
  872. PUT CONTROL cZeile CHR(10).
  873. cZeile = ''.
  874. IF T_Vorjahr_1 THEN DO:
  875. cZeile = ''.
  876. cZeile = cZeile + '£££££'.
  877. cZeile = cZeile + TRIM(STRING(GUmsatz.Vp_V1[13],'->>>>>>>>')).
  878. PUT CONTROL cZeile CHR(10).
  879. END.
  880. IF T_Vorjahr_2 THEN DO:
  881. cZeile = ''.
  882. cZeile = cZeile + '£££££'.
  883. cZeile = cZeile + TRIM(STRING(GUmsatz.Vp_V2[13],'->>>>>>>>')).
  884. PUT CONTROL cZeile CHR(10).
  885. END.
  886. IF T_Vorjahr_3 THEN DO:
  887. cZeile = ''.
  888. cZeile = cZeile + '£££££'.
  889. cZeile = cZeile + TRIM(STRING(GUmsatz.Vp_V3[13],'->>>>>>>>')).
  890. PUT CONTROL cZeile CHR(10).
  891. END.
  892. PUT CONTROL '£' CHR(10).
  893. END.
  894. PUT CONTROL '£' CHR(10)
  895. '£' CHR(10).
  896. T_Totale = TRUE.
  897. END.
  898. DO WHILE T_Totale:
  899. FOR EACH TUmsatz:
  900. DELETE TUmsatz.
  901. END.
  902. FOR EACH GUmsatz:
  903. CREATE TUmsatz.
  904. BUFFER-COPY GUmsatz TO TUmsatz.
  905. DELETE GUmsatz.
  906. END.
  907. CREATE GUmsatz.
  908. ASSIGN GUmsatz.Kgr = 9999
  909. GUmsatz.Gruppe = 'Gesamttotal'.
  910. FOR EACH TUmsatz:
  911. DO i1 = iStart TO 13:
  912. ASSIGN GUmsatz.Me_Lf[i1] = GUmsatz.Me_Lf[i1] + TUmsatz.Me_Lf[i1]
  913. GUmsatz.Vp_Lf[i1] = GUmsatz.Vp_Lf[i1] + TUmsatz.Vp_Lf[i1]
  914. GUmsatz.Me_V1[i1] = GUmsatz.Me_V1[i1] + TUmsatz.Me_V1[i1]
  915. GUmsatz.Vp_V1[i1] = GUmsatz.Vp_V1[i1] + TUmsatz.Vp_V1[i1]
  916. GUmsatz.Me_V2[i1] = GUmsatz.Me_V2[i1] + TUmsatz.Me_V2[i1]
  917. GUmsatz.Vp_V2[i1] = GUmsatz.Vp_V2[i1] + TUmsatz.Vp_V2[i1]
  918. GUmsatz.Me_V3[i1] = GUmsatz.Me_V3[i1] + TUmsatz.Me_V3[i1]
  919. GUmsatz.Vp_V3[i1] = GUmsatz.Vp_V3[i1] + TUmsatz.Vp_V3[i1].
  920. END.
  921. END.
  922. FOR EACH TUmsatz USE-INDEX TUmsatz-k1 NO-LOCK
  923. BREAK BY TUmsatz.Kgr
  924. BY TUmsatz.Knr :
  925. cZeile = ''.
  926. cZeile = cZeile + '£'
  927. + STRING(TUmsatz.Kgr,'999') + '£'
  928. + TUmsatz.Gruppe + '£££'.
  929. cZeile = cZeile + TRIM(STRING(TUmsatz.Vp_Lf[13],'->>>>>>>>')).
  930. PUT CONTROL cZeile CHR(10).
  931. IF T_Vorjahr_1 THEN DO:
  932. cZeile = ''.
  933. cZeile = cZeile + '£££££'.
  934. cZeile = cZeile + TRIM(STRING(TUmsatz.Vp_V1[13],'->>>>>>>>')).
  935. PUT CONTROL cZeile CHR(10).
  936. END.
  937. IF T_Vorjahr_2 THEN DO:
  938. cZeile = ''.
  939. cZeile = cZeile + '£££££'.
  940. cZeile = cZeile + TRIM(STRING(TUmsatz.Vp_V2[13],'->>>>>>>>')).
  941. PUT CONTROL cZeile CHR(10).
  942. END.
  943. IF T_Vorjahr_3 THEN DO:
  944. cZeile = ''.
  945. cZeile = cZeile + '£££££'.
  946. cZeile = cZeile + TRIM(STRING(TUmsatz.Vp_V3[13],'->>>>>>>>')).
  947. PUT CONTROL cZeile CHR(10).
  948. END.
  949. END.
  950. FIND FIRST GUmsatz.
  951. cZeile = ''.
  952. cZeile = cZeile
  953. + GUmsatz.Gruppe + '£££££'.
  954. cZeile = cZeile + TRIM(STRING(GUmsatz.Vp_Lf[13],'->>>>>>>>')).
  955. PUT CONTROL cZeile CHR(10).
  956. IF T_Vorjahr_1 THEN DO:
  957. cZeile = ''.
  958. cZeile = cZeile + '£££££'.
  959. cZeile = cZeile + TRIM(STRING(GUmsatz.Vp_V1[13],'->>>>>>>>')).
  960. PUT CONTROL cZeile CHR(10)
  961. '£' CHR(10).
  962. END.
  963. IF T_Vorjahr_2 THEN DO:
  964. cZeile = ''.
  965. cZeile = cZeile + '£££££'.
  966. cZeile = cZeile + TRIM(STRING(GUmsatz.Vp_V2[13],'->>>>>>>>')).
  967. PUT CONTROL cZeile CHR(10)
  968. '£' CHR(10).
  969. END.
  970. IF T_Vorjahr_3 THEN DO:
  971. cZeile = ''.
  972. cZeile = cZeile + '£££££'.
  973. cZeile = cZeile + TRIM(STRING(GUmsatz.Vp_V3[13],'->>>>>>>>')).
  974. PUT CONTROL cZeile CHR(10)
  975. '£' CHR(10).
  976. END.
  977. LEAVE.
  978. END.
  979. END PROCEDURE.
  980. /* _UIB-CODE-BLOCK-END */
  981. &ANALYZE-RESUME
  982. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE BEREINIGEN gKundengrpUmsatz
  983. PROCEDURE BEREINIGEN :
  984. /*------------------------------------------------------------------------------
  985. Purpose:
  986. Parameters: <none>
  987. Notes:
  988. ------------------------------------------------------------------------------*/
  989. DEF INPUT PARAMETER ipHandle AS HANDLE NO-UNDO.
  990. DEF VAR cString AS CHAR NO-UNDO.
  991. DEF VAR i AS INT NO-UNDO.
  992. cString = ''.
  993. DO i = 1 TO LENGTH(ipHandle:SCREEN-VALUE):
  994. IF SUBSTRING(ipHandle:SCREEN-VALUE,i,1) < '0' OR
  995. SUBSTRING(ipHandle:SCREEN-VALUE,i,1) > '9' THEN DO:
  996. SUBSTRING(ipHandle:SCREEN-VALUE,i) = ','.
  997. END.
  998. END.
  999. DO i = 1 TO NUM-ENTRIES(ipHandle:SCREEN-VALUE, ','):
  1000. IF cString <> '' THEN cString = cString + ','.
  1001. cString = cString
  1002. + STRING(INTEGER(ENTRY(i, ipHandle:SCREEN-VALUE, ',')),'999').
  1003. END.
  1004. ipHandle:SCREEN-VALUE = cString.
  1005. RETURN.
  1006. END PROCEDURE.
  1007. /* _UIB-CODE-BLOCK-END */
  1008. &ANALYZE-RESUME
  1009. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI gKundengrpUmsatz _DEFAULT-DISABLE
  1010. PROCEDURE disable_UI :
  1011. /*------------------------------------------------------------------------------
  1012. Purpose: DISABLE the User Interface
  1013. Parameters: <none>
  1014. Notes: Here we clean-up the user-interface by deleting
  1015. dynamic widgets we have created and/or hide
  1016. frames. This procedure is usually called when
  1017. we are ready to "clean-up" after running.
  1018. ------------------------------------------------------------------------------*/
  1019. /* Hide all frames. */
  1020. HIDE FRAME gKundengrpUmsatz.
  1021. END PROCEDURE.
  1022. /* _UIB-CODE-BLOCK-END */
  1023. &ANALYZE-RESUME
  1024. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject gKundengrpUmsatz
  1025. PROCEDURE enableObject :
  1026. /*------------------------------------------------------------------------------
  1027. Purpose: Super Override
  1028. Parameters:
  1029. Notes:
  1030. ------------------------------------------------------------------------------*/
  1031. DEF VAR cString AS CHAR NO-UNDO.
  1032. DO WITH FRAME {&FRAME-NAME}:
  1033. RUN COMBO_VERTRETER ( INPUT CB_Vertreter:HANDLE ).
  1034. cString = CB_Vertreter:LIST-ITEM-PAIRS.
  1035. IF cString <> '' THEN cString = cString + ';'.
  1036. cString = cString + 'Alle Vertreter;999999'.
  1037. CB_Vertreter:LIST-ITEM-PAIRS = cString.
  1038. CB_Vertreter:SCREEN-VALUE = '999999'.
  1039. RUN COMBO_VERBAND ( INPUT CB_Verband:HANDLE ).
  1040. cString = CB_Verband:LIST-ITEM-PAIRS.
  1041. IF cString = ';' THEN cString = ''.
  1042. IF cString <> '' THEN cString = cString + ';'.
  1043. cString = cString + 'Alle Verbände;999999'.
  1044. CB_Verband:LIST-ITEM-PAIRS = cString.
  1045. CB_Verband:SCREEN-VALUE = '999999'.
  1046. END.
  1047. RUN LESEN_FEHLWERTE.
  1048. RUN SUPER.
  1049. RUN FENSTER_TITEL ( INPUT FRAME {&FRAME-NAME}:HANDLE ) NO-ERROR.
  1050. DO WITH FRAME {&FRAME-NAME}:
  1051. ASSIGN {&list-6}.
  1052. /*
  1053. IF T_Liter = TRUE THEN T_HL:SENSITIVE = TRUE.
  1054. ELSE T_HL:SENSITIVE = FALSE.
  1055. */
  1056. END.
  1057. END PROCEDURE.
  1058. /* _UIB-CODE-BLOCK-END */
  1059. &ANALYZE-RESUME
  1060. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI gKundengrpUmsatz _DEFAULT-ENABLE
  1061. PROCEDURE enable_UI :
  1062. /*------------------------------------------------------------------------------
  1063. Purpose: ENABLE the User Interface
  1064. Parameters: <none>
  1065. Notes: Here we display/view/enable the widgets in the
  1066. user-interface. In addition, OPEN all queries
  1067. associated with each FRAME and BROWSE.
  1068. These statements here are based on the "Other
  1069. Settings" section of the widget Property Sheets.
  1070. ------------------------------------------------------------------------------*/
  1071. DISPLAY F_VonKnr F_BisKnr CB_Vertreter CB_Verband F_Kundengrp F_Preisgrp
  1072. F_VonArtnr F_BisArtnr F_Hersteller F_Warengrp F_VonDatum F_BisDatum
  1073. T_Totale T_Kum T_Vorjahr_1 T_Vorjahr_2 T_Vorjahr_3 T_Geloeschte
  1074. T_Mengen T_Liter
  1075. WITH FRAME gKundengrpUmsatz.
  1076. ENABLE F_VonKnr F_BisKnr CB_Vertreter CB_Verband F_Kundengrp F_Preisgrp
  1077. F_VonArtnr F_BisArtnr F_Hersteller F_Warengrp F_VonDatum F_BisDatum
  1078. T_Totale T_Kum T_Vorjahr_1 T_Vorjahr_2 T_Vorjahr_3 T_Geloeschte
  1079. T_Mengen T_Liter Btn_OK Btn_Cancel RECT-12
  1080. WITH FRAME gKundengrpUmsatz.
  1081. VIEW FRAME gKundengrpUmsatz.
  1082. {&OPEN-BROWSERS-IN-QUERY-gKundengrpUmsatz}
  1083. END PROCEDURE.
  1084. /* _UIB-CODE-BLOCK-END */
  1085. &ANALYZE-RESUME
  1086. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE gKundengrpUmsatz
  1087. PROCEDURE ENDE :
  1088. /*------------------------------------------------------------------------------
  1089. Purpose:
  1090. Parameters: <none>
  1091. Notes:
  1092. ------------------------------------------------------------------------------*/
  1093. AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U) NO-ERROR.
  1094. IF AktSeite > 1 THEN DO:
  1095. RUN selectPage ( INPUT 1 ).
  1096. RETURN NO-APPLY.
  1097. END.
  1098. RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ).
  1099. APPLY 'GO' TO FRAME {&FRAME-NAME}.
  1100. RETURN NO-APPLY.
  1101. END PROCEDURE.
  1102. /* _UIB-CODE-BLOCK-END */
  1103. &ANALYZE-RESUME
  1104. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE exitObject gKundengrpUmsatz
  1105. PROCEDURE exitObject :
  1106. /*------------------------------------------------------------------------------
  1107. Purpose: Super Override
  1108. Parameters:
  1109. Notes:
  1110. ------------------------------------------------------------------------------*/
  1111. RUN ENDE.
  1112. RETURN NO-APPLY.
  1113. END PROCEDURE.
  1114. /* _UIB-CODE-BLOCK-END */
  1115. &ANALYZE-RESUME
  1116. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE FUELLEN_TEMPTABLE gKundengrpUmsatz
  1117. PROCEDURE FUELLEN_TEMPTABLE :
  1118. /*------------------------------------------------------------------------------
  1119. Purpose:
  1120. Parameters: <none>
  1121. Notes:
  1122. ------------------------------------------------------------------------------*/
  1123. DEF VAR VonDat1 AS DATE NO-UNDO.
  1124. DEF VAR VonDat2 AS DATE NO-UNDO.
  1125. DEF VAR BisDat1 AS DATE NO-UNDO.
  1126. DEF VAR BisDat2 AS DATE NO-UNDO.
  1127. DEF VAR MWST% AS DEC NO-UNDO.
  1128. DEF VAR Vp AS DEC DECIMALS 4 NO-UNDO.
  1129. DEF VAR UmsKnr AS INT NO-UNDO.
  1130. DEF VAR cWhere AS CHAR NO-UNDO.
  1131. DEF VAR Knr AS INT NO-UNDO.
  1132. DEF VAR Per AS INT NO-UNDO.
  1133. DEF VAR i1 AS INT NO-UNDO.
  1134. DEF VAR cString AS CHAR NO-UNDO.
  1135. DEF VAR iJahr AS INT NO-UNDO.
  1136. DEF VAR dMenge AS DEC DECIMALS 4 NO-UNDO.
  1137. DEF VAR qa AS WIDGET-HANDLE NO-UNDO.
  1138. DEF QUERY qSelektion FOR Debst, Adresse, Artbw, Artst.
  1139. DEF BUFFER BAdresse FOR Adresse.
  1140. EMPTY TEMP-TABLE TUmsatz.
  1141. EMPTY TEMP-TABLE GUmsatz.
  1142. VonDat1 = F_VonDatum.
  1143. BisDat1 = F_BisDatum.
  1144. DO iJahr = 1 TO 4:
  1145. CASE iJahr:
  1146. WHEN 2 THEN IF NOT T_Vorjahr_1 THEN LEAVE.
  1147. WHEN 3 THEN IF NOT T_Vorjahr_2 THEN LEAVE.
  1148. WHEN 4 THEN IF NOT T_Vorjahr_3 THEN LEAVE.
  1149. END CASE.
  1150. VonDat2 = ?.
  1151. BisDat2 = ?.
  1152. VonDat2 = DATE(MONTH(VonDat1),DAY(VonDat1),YEAR(VonDat1) - (iJahr - 1)) NO-ERROR.
  1153. BisDat2 = DATE(MONTH(BisDat1),DAY(BisDat1),YEAR(BisDat1) - (iJahr - 1)) NO-ERROR.
  1154. IF VonDat2 = ? THEN VonDat2 = DATE(MONTH(VonDat1),DAY(VonDat1) - 1,YEAR(VonDat1) - (iJahr - 1)).
  1155. IF BisDat2 = ? THEN BisDat2 = DATE(MONTH(BisDat1),DAY(BisDat1) - 1,YEAR(BisDat1) - (iJahr - 1)).
  1156. MonStart = (YEAR(VonDat2) * 12 + MONTH(VonDat2)).
  1157. cWhere = 'FOR EACH Debst USE-INDEX Debst-k1 WHERE Debst.Firma = "'
  1158. + Firma
  1159. + '" AND Debst.Knr >= '
  1160. + STRING(F_VonKnr)
  1161. + ' AND Debst.Knr <= '
  1162. + STRING(F_BisKnr)
  1163. + ' '.
  1164. IF NOT T_Geloeschte THEN cWhere = cWhere + ' AND Debst.Aktiv = TRUE'.
  1165. IF iVer <> 999999 THEN cWhere = cWhere + ' AND Debst.Vertr = '
  1166. + STRING(iVer).
  1167. IF iVerband <> 999999 THEN cWhere = cWhere + ' AND Debst.Verband_Grp = '
  1168. + STRING(iVerband).
  1169. IF F_Kundengrp <> '' THEN cWhere = cWhere + ' AND LOOKUP(STRING(Debst.Ku_Grp,"999"), "'
  1170. + F_Kundengrp + '", ",") > 0 '.
  1171. IF F_Preisgrp <> '' THEN cWhere = cWhere + ' AND LOOKUP(STRING(Debst.Preis_Grp,"999"), "'
  1172. + F_Preisgrp + '", ",") > 0 '.
  1173. cWhere = cWhere + ' NO-LOCK, '
  1174. + 'FIRST Adresse USE-INDEX Adresse-k1 '
  1175. + 'WHERE Adresse.Firma = "' + AdFirma + '" '
  1176. + 'AND Adresse.Knr = Debst.Knr NO-LOCK, '.
  1177. cWhere = cWhere + 'EACH Artbw USE-INDEX Artbw-k10 '
  1178. + 'WHERE Artbw.Firma = Debst.Firma '
  1179. + 'AND Artbw.Knr = Debst.Knr '
  1180. + 'AND Artbw.Tr_Art < 11 '
  1181. + 'AND Artbw.Fak_Dat <> ? '
  1182. + 'AND Artbw.Fak_Dat >= ' + STRING(VonDat2,'99.99.9999') + ' '
  1183. + 'AND Artbw.Fak_Dat <= ' + STRING(BisDat2,'99.99.9999') + ' '
  1184. + 'AND Artbw.Artnr >= ' + STRING(F_VonArtnr) + ' '
  1185. + 'AND Artbw.Artnr <= ' + STRING(F_BisArtnr) + ' NO-LOCK, '.
  1186. cWhere = cWhere + 'FIRST Artst USE-INDEX Artst-k1 '
  1187. + 'WHERE Artst.Firma = Artbw.Firma '
  1188. + 'AND Artst.Artnr = Artbw.Artnr '
  1189. + 'AND Artst.Inhalt = Artbw.Inhalt '
  1190. + 'AND Artst.Jahr = Artbw.Jahr '.
  1191. IF F_Hersteller <> '' THEN cWhere = cWhere + 'AND LOOKUP(STRING(Artst.Herst ,"999"), "'
  1192. + F_Hersteller + '", ",") > 0 '.
  1193. IF F_Warengrp <> '' THEN cWhere = cWhere + 'AND LOOKUP(STRING(Artst.Wg_Grp,"999"), "'
  1194. + F_Warengrp + '", ",") > 0 '.
  1195. cWhere = cWhere + 'NO-LOCK BY Debst.Knr :'.
  1196. qa = QUERY qSelektion:HANDLE.
  1197. qa:QUERY-PREPARE(cWhere).
  1198. qa:QUERY-OPEN().
  1199. Knr = -1.
  1200. qa:GET-FIRST().
  1201. REPEAT:
  1202. IF NOT AVAILABLE Debst THEN LEAVE.
  1203. IF Knr <> Debst.Knr THEN DO:
  1204. IF Debst.KnrFak <> 0 THEN UmsKnr = Debst.KnrFak.
  1205. ELSE UmsKnr = Debst.Knr.
  1206. Knr = Debst.Knr.
  1207. FIND FIRST TUmsatz WHERE TUmsatz.Kgr = Debst.Ku_Grp
  1208. AND TUmsatz.Knr = UmsKnr NO-ERROR.
  1209. DO WHILE TRUE:
  1210. IF AVAILABLE TUmsatz THEN LEAVE.
  1211. RELEASE BAdresse.
  1212. CREATE TUmsatz.
  1213. ASSIGN TUmsatz.Kgr = Debst.Ku_Grp
  1214. TUmsatz.Knr = UmsKnr.
  1215. IF UmsKnr <> Debst.Knr THEN DO:
  1216. FIND BAdresse USE-INDEX Adresse-k1
  1217. WHERE BAdresse.Firma = AdFirma
  1218. AND BAdresse.Knr = UmsKnr NO-LOCK NO-ERROR.
  1219. END.
  1220. IF AVAILABLE BAdresse THEN TUmsatz.Adresse = BAdresse.Anzeig_Br.
  1221. ELSE TUmsatz.Adresse = Adresse.Anzeig_Br.
  1222. LEAVE.
  1223. END.
  1224. END.
  1225. MWST% = Artbw.MWST%.
  1226. Vp = Artbw.Net_Betr
  1227. - Artbw.Auf_Rab
  1228. - Artbw.Abh_Rab
  1229. - Artbw.Auf_Sp_Rab.
  1230. IF NOT T_Liter THEN dMenge = Artbw.Menge.
  1231. ELSE DO:
  1232. FIND KGebinde USE-INDEX KGebinde-k1
  1233. WHERE KGebinde.Firma = Artbw.Firma
  1234. AND KGebinde.Geb_Cd = Artbw.KGeb_Cd NO-LOCK NO-ERROR.
  1235. dMenge = Artbw.Menge * KGebinde.Inhalt / 100.
  1236. END.
  1237. IF Artbw.MWST_Inkl THEN DO:
  1238. IF MWST% = 0 THEN DO:
  1239. FIND LAST MWSTAns USE-INDEX MWSTAns-k1
  1240. WHERE MWSTAns.MWST_Cd = Artbw.WuCd
  1241. AND MWSTAns.Datum <= Artbw.Datum NO-LOCK NO-ERROR.
  1242. IF AVAILABLE MWSTAns THEN MWST% = MWSTAns.Ansatz.
  1243. END.
  1244. Vp = Vp * 100 / (100 + MWST%).
  1245. END.
  1246. Per = (YEAR(Artbw.Fak_Dat) * 12 + MONTH(Artbw.Fak_Dat)) - MonStart + 1.
  1247. CASE iJahr:
  1248. WHEN 1 THEN DO:
  1249. ASSIGN TUmsatz.Vp_Lf[Per] = TUmsatz.Vp_Lf[Per] + Vp
  1250. TUmsatz.Me_Lf[Per] = TUmsatz.Me_Lf[Per] + dMenge
  1251. TUmsatz.Vp_Lf [13] = TUmsatz.Vp_Lf [13] + Vp
  1252. TUmsatz.Me_Lf [13] = TUmsatz.Me_Lf [13] + dMenge.
  1253. END.
  1254. WHEN 2 THEN DO:
  1255. ASSIGN TUmsatz.Vp_V1[Per] = TUmsatz.Vp_V1[Per] + Vp
  1256. TUmsatz.Me_V1[Per] = TUmsatz.Me_V1[Per] + dMenge
  1257. TUmsatz.Vp_V1 [13] = TUmsatz.Vp_V1 [13] + Vp
  1258. TUmsatz.Me_V1 [13] = TUmsatz.Me_V1 [13] + dMenge.
  1259. END.
  1260. WHEN 3 THEN DO:
  1261. ASSIGN TUmsatz.Vp_V2[Per] = TUmsatz.Vp_V2[Per] + Vp
  1262. TUmsatz.Me_V2[Per] = TUmsatz.Me_V2[Per] + dMenge
  1263. TUmsatz.Vp_V2 [13] = TUmsatz.Vp_V2 [13] + Vp
  1264. TUmsatz.Me_V2 [13] = TUmsatz.Me_V2 [13] + dMenge.
  1265. END.
  1266. WHEN 4 THEN DO:
  1267. ASSIGN TUmsatz.Vp_V3[Per] = TUmsatz.Vp_V3[Per] + Vp
  1268. TUmsatz.Me_V3[Per] = TUmsatz.Me_V3[Per] + dMenge
  1269. TUmsatz.Vp_V3 [13] = TUmsatz.Vp_V3 [13] + Vp
  1270. TUmsatz.Me_V3 [13] = TUmsatz.Me_V3 [13] + dMenge.
  1271. END.
  1272. END CASE.
  1273. qa:GET-NEXT().
  1274. END.
  1275. DELETE OBJECT qa.
  1276. END.
  1277. FOR EACH TUmsatz:
  1278. IF TUmsatz.Me_Lf[13] <> 0 THEN NEXT.
  1279. IF TUmsatz.Vp_Lf[13] <> 0 THEN NEXT.
  1280. IF TUmsatz.Me_V1[13] <> 0 THEN NEXT.
  1281. IF TUmsatz.Vp_V1[13] <> 0 THEN NEXT.
  1282. IF TUmsatz.Me_V2[13] <> 0 THEN NEXT.
  1283. IF TUmsatz.Vp_V2[13] <> 0 THEN NEXT.
  1284. IF TUmsatz.Me_V3[13] <> 0 THEN NEXT.
  1285. IF TUmsatz.Vp_V3[13] <> 0 THEN NEXT.
  1286. DELETE TUmsatz.
  1287. END.
  1288. FOR EACH TUmsatz BREAK BY TUmsatz.Kgr
  1289. BY TUmsatz.Knr:
  1290. IF FIRST-OF ( TUmsatz.Kgr ) THEN DO:
  1291. RUN FIND_KUNDENGRUPPE ( INPUT TUmsatz.Kgr, OUTPUT cString ).
  1292. IF cString <> '' THEN cString = ENTRY(2, cString, CHR(01)).
  1293. CREATE GUmsatz.
  1294. ASSIGN GUmsatz.Kgr = TUmsatz.Kgr
  1295. GUmsatz.Knr = 0
  1296. GUmsatz.Gruppe = cString.
  1297. END.
  1298. TUmsatz.Gruppe = cString.
  1299. DO i1 = 1 TO 13:
  1300. ASSIGN GUmsatz.Me_Lf[i1] = GUmsatz.Me_Lf[i1] + TUmsatz.Me_Lf[i1]
  1301. GUmsatz.Vp_Lf[i1] = GUmsatz.Vp_Lf[i1] + TUmsatz.Vp_Lf[i1]
  1302. GUmsatz.Me_V1[i1] = GUmsatz.Me_V1[i1] + TUmsatz.Me_V1[i1]
  1303. GUmsatz.Vp_V1[i1] = GUmsatz.Vp_V1[i1] + TUmsatz.Vp_V1[i1]
  1304. GUmsatz.Me_V2[i1] = GUmsatz.Me_V2[i1] + TUmsatz.Me_V2[i1]
  1305. GUmsatz.Vp_V2[i1] = GUmsatz.Vp_V2[i1] + TUmsatz.Vp_V2[i1]
  1306. GUmsatz.Me_V3[i1] = GUmsatz.Me_V3[i1] + TUmsatz.Me_V3[i1]
  1307. GUmsatz.Vp_V3[i1] = GUmsatz.Vp_V3[i1] + TUmsatz.Vp_V3[i1].
  1308. END.
  1309. END.
  1310. END PROCEDURE.
  1311. /* _UIB-CODE-BLOCK-END */
  1312. &ANALYZE-RESUME
  1313. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE KOPF gKundengrpUmsatz
  1314. PROCEDURE KOPF :
  1315. /*------------------------------------------------------------------------------
  1316. Purpose:
  1317. Parameters: <none>
  1318. Notes:
  1319. ------------------------------------------------------------------------------*/
  1320. DEF INPUT PARAMETER eh AS COM-HANDLE NO-UNDO.
  1321. DEF VAR Zelle AS CHAR NO-UNDO.
  1322. DEF VAR rechts AS INT NO-UNDO.
  1323. DEF VAR mitte AS INT NO-UNDO.
  1324. DEF VAR i1 AS INT NO-UNDO.
  1325. DEF VAR i2 AS INT NO-UNDO.
  1326. DEF VAR Breite AS DEC DECIMALS 4 NO-UNDO.
  1327. DEF VAR TotBre AS DEC DECIMALS 4 NO-UNDO.
  1328. DEF VAR DifBre AS DEC DECIMALS 4 NO-UNDO.
  1329. DEF VAR FHoch AS LOG NO-UNDO.
  1330. DEF VAR cMonate AS CHAR NO-UNDO
  1331. INIT 'Jan;Feb;Mar;Apr;Mai;Jun;Jul;Aug;Sep;Okt;Nov;Dez;Kum'.
  1332. DEF VAR lDatum AS DATE NO-UNDO.
  1333. DEF VAR iJahr AS INT NO-UNDO.
  1334. DEF VAR cString AS CHAR NO-UNDO.
  1335. eh:Columns("C:C"):Select.
  1336. eh:Columns("C:C"):EntireColumn:AutoFit.
  1337. bKol = '0.2;5.0;30.0'.
  1338. DO i1 = 1 TO AnzKol + 1:
  1339. bKol = bKol + ';7.0'.
  1340. END.
  1341. i1 = NUM-ENTRIES(bKol, ';').
  1342. rechts = 64 + i1.
  1343. mitte = 64 + (i1 / 2) - 1.
  1344. Breite = 0.
  1345. DO i2 = 1 TO 17:
  1346. IF i2 = 3 THEN NEXT.
  1347. eh:Range('A1'):Select.
  1348. Zelle = CHR(64 + i2) + ':' + CHR(64 + i2).
  1349. IF i2 > i1 THEN DO:
  1350. eh:Columns(Zelle):Select.
  1351. eh:Selection:EntireColumn:HIDDEN = TRUE .
  1352. NEXT.
  1353. END.
  1354. IF i2 = i1 THEN DO:
  1355. eh:Columns(Zelle):Select.
  1356. eh:Selection:Font:Bold = TRUE .
  1357. NEXT.
  1358. END.
  1359. eh:Columns(Zelle):Select.
  1360. Breite = Breite + eh:Selection:ColumnWidth.
  1361. IF i2 = i1 THEN eh:Selection:Font:Bold = TRUE.
  1362. IF i2 = 1 THEN eh:Selection:ColumnWidth = 0.2.
  1363. END.
  1364. DO iJahr = 1 TO 4:
  1365. CASE iJahr:
  1366. WHEN 2 THEN IF NOT T_Vorjahr_1 THEN LEAVE.
  1367. WHEN 3 THEN IF NOT T_Vorjahr_2 THEN LEAVE.
  1368. WHEN 4 THEN IF NOT T_Vorjahr_3 THEN LEAVE.
  1369. END CASE.
  1370. lDatum = DATE(MONTH(F_VonDatum),01,YEAR(F_VonDatum) - (iJahr - 1)).
  1371. DO i1 = 1 TO AnzKol:
  1372. Zelle = CHR(67 + i1) + STRING(2 + iJahr).
  1373. eh:Range(Zelle):Select.
  1374. eh:Selection:Value = ENTRY(MONTH(lDatum), cMonate, ';')
  1375. + ' '
  1376. + STRING(YEAR(lDatum),'9999').
  1377. lDatum = lDatum + 31.
  1378. END.
  1379. Zelle = CHR(67 + i1) + STRING(2 + iJahr).
  1380. eh:Range(Zelle):Select.
  1381. eh:Selection:Value = 'Total'.
  1382. END.
  1383. IF NOT T_Vorjahr_3 THEN DO:
  1384. eh:Rows("6:6"):Select.
  1385. eh:Selection:Delete(-4162).
  1386. END.
  1387. IF NOT T_Vorjahr_2 THEN DO:
  1388. eh:Rows("5:5"):Select.
  1389. eh:Selection:Delete(-4162).
  1390. END.
  1391. IF NOT T_Vorjahr_1 THEN DO:
  1392. eh:Rows("4:4"):Select.
  1393. eh:Selection:Delete(-4162).
  1394. END.
  1395. /* ------------------------------------------------------ */
  1396. FIND Steuer USE-INDEX Steuer-k1
  1397. WHERE Steuer.Firma = Firma NO-LOCK NO-ERROR.
  1398. Zelle = 'B1'.
  1399. eh:Range(Zelle):Select.
  1400. eh:Selection:Value = Steuer.Firma1.
  1401. Zelle = 'B2'.
  1402. eh:Range(Zelle):Select.
  1403. eh:Selection:Value = Steuer.Ort.
  1404. /* ------------------------------------------------------ */
  1405. Zelle = CHR(mitte) + '1'.
  1406. eh:Range(Zelle):Select.
  1407. eh:Selection:Value = STRING(F_VonDatum,'99.99.9999')
  1408. + ' - '
  1409. + STRING(F_BisDatum,'99.99.9999').
  1410. Zelle = CHR(mitte) + '2'.
  1411. eh:Range(Zelle):Select.
  1412. IF T_Mengen THEN DO:
  1413. IF T_Liter THEN eh:Selection:Value = 'Mengen in Liter'.
  1414. ELSE eh:Selection:Value = 'Mengen Einheiten'.
  1415. END.
  1416. ELSE DO:
  1417. eh:Selection:Value = 'Beträge'.
  1418. END.
  1419. cString = eh:Selection:Value.
  1420. IF F_Kundengrp <> '' THEN cString = cString
  1421. + ' (Kgr: '
  1422. + F_Kundengrp
  1423. + ')'.
  1424. IF F_Preisgrp <> '' THEN cString = cString
  1425. + ' (Pgr: '
  1426. + F_Preisgrp
  1427. + ')'.
  1428. eh:Selection:Value = cString.
  1429. Zelle = CHR(mitte) + '1:' + CHR(mitte) + '2'.
  1430. eh:Range(Zelle):Select.
  1431. eh:Selection:HorizontalAlignment = -4108.
  1432. /* ------------------------------------------------------ */
  1433. Zelle = CHR(rechts) + '1'.
  1434. eh:Range(Zelle):Select.
  1435. eh:Selection:Value = 'Datum : ' + STRING(TODAY,'99.99.9999').
  1436. Zelle = CHR(rechts) + '2'.
  1437. eh:Range(Zelle):Select.
  1438. eh:Selection:Value = 'Zeit : ' + STRING(TIME,'HH:MM:SS').
  1439. END PROCEDURE.
  1440. /* _UIB-CODE-BLOCK-END */
  1441. &ANALYZE-RESUME
  1442. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE KOPF_KUMMULATIV gKundengrpUmsatz
  1443. PROCEDURE KOPF_KUMMULATIV :
  1444. /*------------------------------------------------------------------------------
  1445. Purpose:
  1446. Parameters: <none>
  1447. Notes:
  1448. ------------------------------------------------------------------------------*/
  1449. DEF INPUT PARAMETER eh AS COM-HANDLE NO-UNDO.
  1450. DEF VAR Zelle AS CHAR NO-UNDO.
  1451. DEF VAR rechts AS INT NO-UNDO.
  1452. DEF VAR i1 AS INT NO-UNDO.
  1453. DEF VAR i2 AS INT NO-UNDO.
  1454. DEF VAR iLf AS INT NO-UNDO.
  1455. DEF VAR iJahr AS INT NO-UNDO.
  1456. DEF VAR cString AS CHAR NO-UNDO.
  1457. iLf = YEAR(F_BisDatum) + 1.
  1458. DO iJahr = 1 TO 4:
  1459. CASE iJahr:
  1460. WHEN 2 THEN IF NOT T_Vorjahr_1 THEN LEAVE.
  1461. WHEN 3 THEN IF NOT T_Vorjahr_2 THEN LEAVE.
  1462. WHEN 4 THEN IF NOT T_Vorjahr_3 THEN LEAVE.
  1463. END CASE.
  1464. Zelle = 'F' + STRING(2 + iJahr).
  1465. eh:Range(Zelle):Select.
  1466. eh:Selection:Value = (IF iJahr = 1 THEN 'Kum LF' ELSE 'Kum ' + STRING(iLF - iJahr,'9999')).
  1467. END.
  1468. IF NOT T_Vorjahr_3 THEN DO:
  1469. eh:Rows("6:6"):Select.
  1470. eh:Selection:Delete(-4162).
  1471. END.
  1472. IF NOT T_Vorjahr_2 THEN DO:
  1473. eh:Rows("5:5"):Select.
  1474. eh:Selection:Delete(-4162).
  1475. END.
  1476. IF NOT T_Vorjahr_1 THEN DO:
  1477. eh:Rows("4:4"):Select.
  1478. eh:Selection:Delete(-4162).
  1479. END.
  1480. /* ------------------------------------------------------ */
  1481. FIND Steuer USE-INDEX Steuer-k1
  1482. WHERE Steuer.Firma = Firma NO-LOCK NO-ERROR.
  1483. Zelle = 'B1'.
  1484. eh:Range(Zelle):Select.
  1485. eh:Selection:Value = Steuer.Firma1.
  1486. Zelle = 'B2'.
  1487. eh:Range(Zelle):Select.
  1488. eh:Selection:Value = Steuer.Ort.
  1489. /* ------------------------------------------------------ */
  1490. Zelle = 'D1'.
  1491. eh:Range(Zelle):Select.
  1492. eh:Selection:Value = STRING(F_VonDatum,'99.99.9999')
  1493. + ' - '
  1494. + STRING(F_BisDatum,'99.99.9999').
  1495. Zelle = 'D2'.
  1496. eh:Range(Zelle):Select.
  1497. IF T_Mengen THEN DO:
  1498. IF T_Liter THEN eh:Selection:Value = 'Mengen in Liter'.
  1499. ELSE eh:Selection:Value = 'Mengen Einheiten'.
  1500. END.
  1501. ELSE DO:
  1502. eh:Selection:Value = 'Beträge'.
  1503. END.
  1504. cString = eh:Selection:Value.
  1505. IF F_Kundengrp <> '' THEN cString = cString
  1506. + ' (Kgr: '
  1507. + F_Kundengrp
  1508. + ')'.
  1509. IF F_Preisgrp <> '' THEN cString = cString
  1510. + ' (Pgr: '
  1511. + F_Preisgrp
  1512. + ')'.
  1513. eh:Selection:Value = cString.
  1514. /* ------------------------------------------------------ */
  1515. Zelle = 'F1'.
  1516. eh:Range(Zelle):Select.
  1517. eh:Selection:Value = 'Datum : ' + STRING(TODAY,'99.99.9999').
  1518. Zelle = 'F2'.
  1519. eh:Range(Zelle):Select.
  1520. eh:Selection:Value = 'Zeit : ' + STRING(TIME,'HH:MM:SS').
  1521. END PROCEDURE.
  1522. /* _UIB-CODE-BLOCK-END */
  1523. &ANALYZE-RESUME
  1524. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LESEN_FEHLWERTE gKundengrpUmsatz
  1525. PROCEDURE LESEN_FEHLWERTE :
  1526. /*------------------------------------------------------------------------------
  1527. Purpose:
  1528. Parameters: <none>
  1529. Notes:
  1530. ------------------------------------------------------------------------------*/
  1531. DEF VAR Fenster AS HANDLE NO-UNDO.
  1532. Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION.
  1533. IF NOT VALID-HANDLE(Fenster) THEN RETURN.
  1534. RUN GETKEYVALUES ( INPUT 'DebumsKundengruppen', INPUT Fenster) NO-ERROR.
  1535. DO WITH FRAME {&FRAME-NAME}:
  1536. ASSIGN {&List-6}.
  1537. END.
  1538. END PROCEDURE.
  1539. /* _UIB-CODE-BLOCK-END */
  1540. &ANALYZE-RESUME
  1541. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE REPORT gKundengrpUmsatz
  1542. PROCEDURE REPORT :
  1543. /*------------------------------------------------------------------------------
  1544. Purpose:
  1545. Parameters: <none>
  1546. Notes:
  1547. ------------------------------------------------------------------------------*/
  1548. DEF VAR i1 AS INT NO-UNDO.
  1549. DEF VAR ja AS LOG NO-UNDO.
  1550. DO WITH FRAME {&FRAME-NAME}:
  1551. RUN BEREINIGEN ( INPUT F_Kundengrp :HANDLE ).
  1552. RUN BEREINIGEN ( INPUT F_Preisgrp :HANDLE ).
  1553. RUN BEREINIGEN ( INPUT F_Hersteller:HANDLE ).
  1554. RUN BEREINIGEN ( INPUT F_Warengrp :HANDLE ).
  1555. ASSIGN {&List-6}.
  1556. IF F_VonKnr = 0 AND F_BisKnr = 0 THEN F_BisKnr = 999999.
  1557. IF F_VonKnr > F_BisKnr THEN F_BisKnr = F_VonKnr.
  1558. IF F_VonArtnr = 0 AND F_BisArtnr = 0 THEN F_BisArtnr = 999999.
  1559. IF F_VonArtnr > F_BisArtnr THEN F_BisArtnr = F_VonArtnr.
  1560. IF F_VonDatum = ? THEN F_VonDatum = DATE(01,01,YEAR(TODAY)).
  1561. IF F_BisDatum = ? THEN F_BisDatum = DATE(12,31,YEAR(TODAY)).
  1562. IF F_BisDatum < F_VonDatum THEN F_BisDatum = F_VonDatum.
  1563. iVer = INTEGER(CB_Vertreter:SCREEN-VALUE).
  1564. cVer = CB_Vertreter:LIST-ITEM-PAIRS.
  1565. i1 = LOOKUP(CB_Vertreter:SCREEN-VALUE, cVer, ';') - 1.
  1566. cVer = ENTRY(i1, cVer, ';').
  1567. iVerband = INTEGER(CB_Verband:SCREEN-VALUE).
  1568. cVerband = CB_Verband:LIST-ITEM-PAIRS.
  1569. i1 = LOOKUP(CB_Verband:SCREEN-VALUE, cVerband, ';') - 1.
  1570. cVerband = ENTRY(i1, cVerband, ';').
  1571. DISPLAY {&List-6}.
  1572. AnzKol = (YEAR(F_BisDatum) * 12 + MONTH(F_BisDatum))
  1573. - (YEAR(F_VonDatum) * 12 + MONTH(F_VonDatum)) + 1.
  1574. IF AnzKol > 12 OR
  1575. AnzKol < 01 THEN DO:
  1576. MESSAGE 'Datumspanne ergibt mehr als 12 Monate!' VIEW-AS ALERT-BOX.
  1577. RETURN.
  1578. END.
  1579. RUN SCHREIBEN_FEHLWERTE.
  1580. END.
  1581. RUN FUELLEN_TEMPTABLE.
  1582. FIND FIRST TUmsatz NO-LOCK NO-ERROR.
  1583. IF NOT AVAILABLE TUmsatz THEN DO:
  1584. MESSAGE 'Keine Daten selektiert !' VIEW-AS ALERT-BOX INFORMATION.
  1585. RETURN.
  1586. END.
  1587. IF T_Kum THEN DO:
  1588. cVorlage = 'DebUmsKgrKum.xls'.
  1589. cDokument = 'DebUmsKgrKum.xls'.
  1590. cDaten = 'DebUmsKgrKum.txt'.
  1591. END.
  1592. ELSE DO:
  1593. cVorlage = 'DebUmsKgr.xls'.
  1594. cDokument = 'DebUmsKgr.xls'.
  1595. cDaten = 'DebUmsKgr.txt'.
  1596. END.
  1597. cDateiName = cDokument + CHR(01) + cVorlage.
  1598. RUN CREATEDATEI ( INPUT cDateiName ).
  1599. IF RETURN-VALUE BEGINS 'ERROR' THEN RETURN NO-APPLY.
  1600. cDokument = RETURN-VALUE.
  1601. cDateiName = cDaten.
  1602. RUN CREATEDATEI ( INPUT cDateiName ).
  1603. IF RETURN-VALUE BEGINS 'ERROR' THEN RETURN NO-APPLY.
  1604. cDaten = RETURN-VALUE.
  1605. OUTPUT TO VALUE(cDaten).
  1606. RUN AUSGABE.
  1607. OUTPUT CLOSE.
  1608. excelAppl = DYNAMIC-FUNCTION('CREATEEXCEL':U) NO-ERROR.
  1609. IF NOT VALID-HANDLE(excelAppl) THEN DO:
  1610. RUN FEHLER ( INPUT 1035 ).
  1611. RETURN.
  1612. END.
  1613. RUN OPENEXCEL ( INPUT excelAppl, INPUT cDokument, INPUT '', OUTPUT ja ).
  1614. IF NOT ja THEN DO:
  1615. RUN FEHLER ( INPUT 1040 ).
  1616. DYNAMIC-FUNCTION('RELEASEEXCEL':U, INPUT excelAppl ) NO-ERROR.
  1617. RETURN NO-APPLY.
  1618. END.
  1619. Zelle = 'A8'.
  1620. excelAppl:Range(Zelle):SELECT.
  1621. excelAppl:SELECTION:FormulaR1C1 = 'TEXT;' + cDaten.
  1622. excelAppl:APPLICATION:RUN ( 'DateiEinfügen' ).
  1623. IF T_Kum THEN RUN KOPF_KUMMULATIV ( INPUT excelAppl ).
  1624. ELSE RUN KOPF ( INPUT excelAppl ).
  1625. excelAppl:APPLICATION:RUN ( 'Skalieren' ).
  1626. Zelle = 'A1'.
  1627. excelAppl:Range(Zelle):SELECT.
  1628. DYNAMIC-FUNCTION('RELEASEEXCEL':U, INPUT excelAppl ) NO-ERROR.
  1629. END PROCEDURE.
  1630. /* _UIB-CODE-BLOCK-END */
  1631. &ANALYZE-RESUME
  1632. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SCHREIBEN_FEHLWERTE gKundengrpUmsatz
  1633. PROCEDURE SCHREIBEN_FEHLWERTE :
  1634. /*------------------------------------------------------------------------------
  1635. Purpose:
  1636. Parameters: <none>
  1637. Notes:
  1638. ------------------------------------------------------------------------------*/
  1639. DO WITH FRAME {&FRAME-NAME}:
  1640. DEF VAR Fenster AS HANDLE NO-UNDO.
  1641. Fenster = FRAME {&FRAME-NAME}:CURRENT-ITERATION.
  1642. IF NOT VALID-HANDLE(Fenster) THEN RETURN.
  1643. RUN PUTKEYVALUES ( INPUT 'DebumsKundengruppen', INPUT Fenster) NO-ERROR.
  1644. END.
  1645. END PROCEDURE.
  1646. /* _UIB-CODE-BLOCK-END */
  1647. &ANALYZE-RESUME