d-p_artikel-kunden-ums.w 83 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384
  1. &ANALYZE-SUSPEND _VERSION-NUMBER UIB_v8r12 GUI ADM1
  2. &ANALYZE-RESUME
  3. /* Connected Databases
  4. anadat PROGRESS
  5. */
  6. &Scoped-define WINDOW-NAME CURRENT-WINDOW
  7. &Scoped-define FRAME-NAME D-Dialog
  8. /* Temp-Table and Buffer definitions */
  9. DEFINE TEMP-TABLE THilfsTab NO-UNDO LIKE HilfsTab.
  10. DEFINE NEW SHARED TEMP-TABLE XTermOut NO-UNDO LIKE TermOut.
  11. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS D-Dialog
  12. /*------------------------------------------------------------------------
  13. File:
  14. Description: from cntnrdlg.w - ADM SmartDialog Template
  15. Input Parameters:
  16. <none>
  17. Output Parameters:
  18. <none>
  19. Author:
  20. Created:
  21. ------------------------------------------------------------------------*/
  22. /* This .W file was created with the Progress UIB. */
  23. /*----------------------------------------------------------------------*/
  24. /* Create an unnamed pool to store all the widgets created
  25. by this procedure. This is a good default which assures
  26. that this procedure's triggers and internal procedures
  27. will execute in this procedure's storage, and that proper
  28. cleanup will occur on deletion of the procedure. */
  29. CREATE WIDGET-POOL.
  30. /* *************************** Definitions ************************** */
  31. /* Parameters Definitions --- */
  32. /* Local Variable Definitions --- */
  33. DEF VAR VProgName AS CHAR NO-UNDO.
  34. DEF VAR ARecid AS RECID NO-UNDO.
  35. DEF VAR BRecid AS RECID NO-UNDO.
  36. DEF VAR TRecid AS RECID NO-UNDO.
  37. DEF VAR VLiArt AS INT NO-UNDO.
  38. DEF VAR ok AS LOG NO-UNDO.
  39. DEF VAR VTemp AS CHAR NO-UNDO.
  40. DEF VAR VZeile AS CHAR FORMAT "x(255)" NO-UNDO.
  41. DEF VAR XWg_Grp AS CHAR FORMAT "x(30)" NO-UNDO.
  42. DEF VAR XProd_Grp AS CHAR FORMAT "x(30)" NO-UNDO.
  43. DEF VAR XArt_Grp AS CHAR FORMAT "x(30)" NO-UNDO.
  44. DEF VAR XKund_Grp AS CHAR FORMAT "x(30)" NO-UNDO.
  45. DEF VAR XPreis_Grp AS CHAR FORMAT "x(30)" NO-UNDO.
  46. DEF VAR VWgTotal AS DEC DECIMALS 4 EXTENT 10 NO-UNDO.
  47. DEF VAR VProdTotal AS DEC DECIMALS 4 EXTENT 10 NO-UNDO.
  48. DEF VAR VArtTotal AS DEC DECIMALS 4 EXTENT 10 NO-UNDO.
  49. DEF VAR VKundTotal AS DEC DECIMALS 4 EXTENT 10 NO-UNDO.
  50. DEF VAR VKgrTotal AS DEC DECIMALS 4 EXTENT 10 NO-UNDO.
  51. DEF VAR VPreTotal AS DEC DECIMALS 4 EXTENT 10 NO-UNDO.
  52. DEF VAR GTotal AS DEC DECIMALS 4 EXTENT 10 NO-UNDO.
  53. DEF VAR FTotal AS LOG NO-UNDO.
  54. DEF BUFFER BArtst FOR Artst.
  55. DEF BUFFER BDebst FOR Debst.
  56. DEF BUFFER BAdresse FOR Adresse.
  57. /* ---------- Globale Variablen ---------------------------------- */
  58. { v8/globvar.i" " " " "SHARED" }
  59. { v8/debivar.i " " " " "SHARED" }
  60. { v8/artivar.i " " " " "SHARED" }
  61. { v8/contvar.i " " " " "SHARED" }
  62. { v8/listtitv.i "NEW" "SHARED" }
  63. /* _UIB-CODE-BLOCK-END */
  64. &ANALYZE-RESUME
  65. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  66. /* ******************** Preprocessor Definitions ******************** */
  67. &Scoped-define PROCEDURE-TYPE SmartDialog
  68. &Scoped-define DB-AWARE no
  69. &Scoped-define ADM-CONTAINER DIALOG-BOX
  70. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  71. &Scoped-define FRAME-NAME D-Dialog
  72. /* Standard List Definitions */
  73. &Scoped-Define ENABLED-OBJECTS CB_Listenart RS_Sort RS_Sort-2 F_VArtnr ~
  74. F_BArtnr F_Hersteller F_Warengruppe F_VDatum F_BDatum F_VKnr F_BKnr ~
  75. F_Preisgruppen F_Kundengruppen F_Vertreter F_Touren F_Orte T_Detail ~
  76. T_Vorjahr CB_Drucker CB_Schriftbild T_Drucker Btn_OK Btn_Cancel RECT-2 ~
  77. RECT-3 RECT-4
  78. &Scoped-Define DISPLAYED-OBJECTS CB_Listenart RS_Sort RS_Sort-2 F_VArtnr ~
  79. F_BArtnr F_Hersteller F_Warengruppe F_VDatum F_BDatum F_VKnr F_BKnr ~
  80. F_Preisgruppen F_Kundengruppen F_Vertreter F_Touren F_Orte T_Detail ~
  81. T_Vorjahr CB_Drucker CB_Schriftbild T_Drucker
  82. /* Custom List Definitions */
  83. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  84. &Scoped-define List-1 RS_Sort RS_Sort-2 F_VArtnr F_BArtnr F_Hersteller ~
  85. F_Warengruppe F_VDatum F_BDatum F_VKnr F_BKnr F_Preisgruppen ~
  86. F_Kundengruppen F_Vertreter F_Touren F_Orte T_Detail T_Vorjahr T_Drucker
  87. /* _UIB-PREPROCESSOR-BLOCK-END */
  88. &ANALYZE-RESUME
  89. /* *********************** Control Definitions ********************** */
  90. /* Define a dialog box */
  91. /* Definitions of the field level widgets */
  92. DEFINE BUTTON Btn_Cancel AUTO-END-KEY
  93. LABEL "&Abbrechen"
  94. SIZE 16.8 BY 1.24
  95. BGCOLOR 8 .
  96. DEFINE BUTTON Btn_OK AUTO-GO
  97. LABEL "&Start"
  98. SIZE 16.8 BY 1.24
  99. BGCOLOR 8 .
  100. DEFINE VARIABLE CB_Drucker AS CHARACTER FORMAT "X(256)":U
  101. VIEW-AS COMBO-BOX INNER-LINES 5
  102. DROP-DOWN-LIST
  103. SIZE 46.2 BY 1
  104. BGCOLOR 15 NO-UNDO.
  105. DEFINE VARIABLE CB_Listenart AS CHARACTER FORMAT "X(256)":U
  106. LABEL "Listenart"
  107. VIEW-AS COMBO-BOX INNER-LINES 5
  108. LIST-ITEMS "Artikelumsätze pro Kunde"
  109. DROP-DOWN-LIST
  110. SIZE 70 BY 1
  111. BGCOLOR 15 NO-UNDO.
  112. DEFINE VARIABLE CB_Schriftbild AS CHARACTER FORMAT "X(256)":U
  113. VIEW-AS COMBO-BOX INNER-LINES 5
  114. DROP-DOWN-LIST
  115. SIZE 46.2 BY 1
  116. BGCOLOR 15 NO-UNDO.
  117. DEFINE VARIABLE F_BArtnr AS INTEGER FORMAT "999999":U INITIAL 0
  118. LABEL ""
  119. VIEW-AS FILL-IN NATIVE
  120. SIZE 12.6 BY 1
  121. BGCOLOR 15 NO-UNDO.
  122. DEFINE VARIABLE F_BDatum AS DATE FORMAT "99.99.9999":U
  123. LABEL ""
  124. VIEW-AS FILL-IN NATIVE
  125. SIZE 19.6 BY 1
  126. BGCOLOR 15 NO-UNDO.
  127. DEFINE VARIABLE F_BKnr AS INTEGER FORMAT "999999":U INITIAL 0
  128. LABEL ""
  129. VIEW-AS FILL-IN NATIVE
  130. SIZE 12.6 BY 1
  131. BGCOLOR 15 NO-UNDO.
  132. DEFINE VARIABLE F_Hersteller AS CHARACTER FORMAT "x(256)":U
  133. LABEL "Hersteller"
  134. VIEW-AS FILL-IN NATIVE
  135. SIZE 60.4 BY 1 TOOLTIP "F1 = Auswahl der Codes"
  136. BGCOLOR 15 NO-UNDO.
  137. DEFINE VARIABLE F_Kundengruppen AS CHARACTER FORMAT "x(256)":U
  138. LABEL "Kundengruppen"
  139. VIEW-AS FILL-IN NATIVE
  140. SIZE 60.4 BY 1 TOOLTIP "F1 = Auswahl der Codes"
  141. BGCOLOR 15 NO-UNDO.
  142. DEFINE VARIABLE F_Orte AS CHARACTER FORMAT "x(256)":U
  143. LABEL "Orte"
  144. VIEW-AS FILL-IN NATIVE
  145. SIZE 60.4 BY 1 TOOLTIP "F1 = Auswahl der Codes"
  146. BGCOLOR 15 NO-UNDO.
  147. DEFINE VARIABLE F_Preisgruppen AS CHARACTER FORMAT "x(256)":U
  148. LABEL "Preisgruppen"
  149. VIEW-AS FILL-IN NATIVE
  150. SIZE 60.4 BY 1 TOOLTIP "F1 = Auswahl der Codes"
  151. BGCOLOR 15 NO-UNDO.
  152. DEFINE VARIABLE F_Touren AS CHARACTER FORMAT "x(256)":U
  153. LABEL "Touren"
  154. VIEW-AS FILL-IN NATIVE
  155. SIZE 60.4 BY 1 TOOLTIP "F1 = Auswahl der Codes"
  156. BGCOLOR 15 NO-UNDO.
  157. DEFINE VARIABLE F_VArtnr AS INTEGER FORMAT "999999":U INITIAL 0
  158. LABEL "von - bis Artikelnummer"
  159. VIEW-AS FILL-IN NATIVE
  160. SIZE 12.6 BY 1
  161. BGCOLOR 15 NO-UNDO.
  162. DEFINE VARIABLE F_VDatum AS DATE FORMAT "99.99.9999":U
  163. LABEL "von - bis Datum"
  164. VIEW-AS FILL-IN NATIVE
  165. SIZE 19.6 BY 1
  166. BGCOLOR 15 NO-UNDO.
  167. DEFINE VARIABLE F_Vertreter AS CHARACTER FORMAT "x(256)":U
  168. LABEL "Vertreter"
  169. VIEW-AS FILL-IN NATIVE
  170. SIZE 60.4 BY 1 TOOLTIP "F1 = Auswahl der Codes"
  171. BGCOLOR 15 NO-UNDO.
  172. DEFINE VARIABLE F_VKnr AS INTEGER FORMAT "999999":U INITIAL 0
  173. LABEL "von - bis Kundennummer"
  174. VIEW-AS FILL-IN NATIVE
  175. SIZE 12.6 BY 1
  176. BGCOLOR 15 NO-UNDO.
  177. DEFINE VARIABLE F_Warengruppe AS CHARACTER FORMAT "x(256)":U
  178. LABEL "Warengruppe"
  179. VIEW-AS FILL-IN NATIVE
  180. SIZE 60.4 BY 1 TOOLTIP "F1 = Auswahl der Codes"
  181. BGCOLOR 15 NO-UNDO.
  182. DEFINE VARIABLE RS_Sort AS INTEGER INITIAL 1
  183. VIEW-AS RADIO-SET VERTICAL
  184. RADIO-BUTTONS
  185. "Warengruppe Produktegruppe Artikelgruppe", 1,
  186. "", 2,
  187. "", 3
  188. SIZE 70 BY 2.48 NO-UNDO.
  189. DEFINE VARIABLE RS_Sort-2 AS INTEGER
  190. VIEW-AS RADIO-SET VERTICAL
  191. RADIO-BUTTONS
  192. "Suchbegriff", 1,
  193. "Kundengruppe / Suchbegriff", 2,
  194. "Preisgruppe / Suchbegriff", 3
  195. SIZE 49 BY 2.48 NO-UNDO.
  196. DEFINE RECTANGLE RECT-2
  197. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  198. SIZE 137.2 BY 4.19.
  199. DEFINE RECTANGLE RECT-3
  200. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  201. SIZE 137.2 BY 5.62.
  202. DEFINE RECTANGLE RECT-4
  203. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  204. SIZE 137.2 BY 8.05.
  205. DEFINE VARIABLE T_Detail AS LOGICAL INITIAL no
  206. LABEL "Details ?"
  207. VIEW-AS TOGGLE-BOX
  208. SIZE 31.6 BY .95 NO-UNDO.
  209. DEFINE VARIABLE T_Drucker AS LOGICAL INITIAL no
  210. LABEL "Druckersetup"
  211. VIEW-AS TOGGLE-BOX
  212. SIZE 28 BY 1 NO-UNDO.
  213. DEFINE VARIABLE T_Vorjahr AS LOGICAL INITIAL no
  214. LABEL "Vorjahr ?"
  215. VIEW-AS TOGGLE-BOX
  216. SIZE 31.6 BY .95 NO-UNDO.
  217. /* ************************ Frame Definitions *********************** */
  218. DEFINE FRAME D-Dialog
  219. CB_Listenart AT ROW 1.76 COL 11.8 COLON-ALIGNED
  220. RS_Sort AT ROW 4.71 COL 13.6 NO-LABEL
  221. RS_Sort-2 AT ROW 4.71 COL 87.8 NO-LABEL
  222. F_VArtnr AT ROW 8.43 COL 34 COLON-ALIGNED
  223. F_BArtnr AT ROW 8.43 COL 56.4 COLON-ALIGNED
  224. F_Hersteller AT ROW 9.67 COL 34 COLON-ALIGNED
  225. F_Warengruppe AT ROW 10.91 COL 34 COLON-ALIGNED
  226. F_VDatum AT ROW 12.14 COL 34 COLON-ALIGNED
  227. F_BDatum AT ROW 12.14 COL 56.4 COLON-ALIGNED
  228. F_VKnr AT ROW 14.62 COL 34 COLON-ALIGNED
  229. F_BKnr AT ROW 14.62 COL 56.4 COLON-ALIGNED
  230. F_Preisgruppen AT ROW 15.86 COL 34 COLON-ALIGNED
  231. F_Kundengruppen AT ROW 17.1 COL 34 COLON-ALIGNED
  232. F_Vertreter AT ROW 18.33 COL 34 COLON-ALIGNED
  233. F_Touren AT ROW 19.57 COL 34 COLON-ALIGNED
  234. F_Orte AT ROW 20.81 COL 34 COLON-ALIGNED
  235. T_Detail AT ROW 14.62 COL 103.4
  236. T_Vorjahr AT ROW 15.86 COL 103.4
  237. CB_Drucker AT ROW 22.67 COL 3.8 NO-LABEL
  238. CB_Schriftbild AT ROW 22.67 COL 49.4 COLON-ALIGNED NO-LABEL
  239. T_Drucker AT ROW 22.67 COL 104.6
  240. Btn_OK AT ROW 1.62 COL 103.2
  241. Btn_Cancel AT ROW 1.62 COL 121.4
  242. "Sortierung Artikel" VIEW-AS TEXT
  243. SIZE 70 BY 1 AT ROW 3.48 COL 13.6
  244. FONT 9
  245. "Sortierung Kunden" VIEW-AS TEXT
  246. SIZE 49 BY 1 AT ROW 3.48 COL 87.8
  247. FONT 9
  248. RECT-2 AT ROW 3.24 COL 2.4
  249. RECT-3 AT ROW 8 COL 2.4
  250. RECT-4 AT ROW 14.19 COL 2.4
  251. SPACE(1.39) SKIP(2.13)
  252. WITH VIEW-AS DIALOG-BOX KEEP-TAB-ORDER
  253. SIDE-LABELS NO-UNDERLINE THREE-D SCROLLABLE
  254. TITLE "Artikelumsätze pro Kunde"
  255. DEFAULT-BUTTON Btn_OK CANCEL-BUTTON Btn_Cancel.
  256. /* *********************** Procedure Settings ************************ */
  257. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  258. /* Settings for THIS-PROCEDURE
  259. Type: SmartDialog
  260. Allow: Basic,Browse,DB-Fields,Query,Smart
  261. Other Settings: COMPILE
  262. Temp-Tables and Buffers:
  263. TABLE: THilfsTab T "?" NO-UNDO AnaDat HilfsTab
  264. TABLE: XTermOut T "NEW SHARED" NO-UNDO AnaDat TermOut
  265. END-TABLES.
  266. */
  267. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  268. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB D-Dialog
  269. /* ************************* Included-Libraries *********************** */
  270. {src/adm/method/containr.i}
  271. /* _UIB-CODE-BLOCK-END */
  272. &ANALYZE-RESUME
  273. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  274. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  275. /* SETTINGS FOR DIALOG-BOX D-Dialog
  276. FRAME-NAME Custom */
  277. ASSIGN
  278. FRAME D-Dialog:SCROLLABLE = FALSE
  279. FRAME D-Dialog:HIDDEN = TRUE.
  280. /* SETTINGS FOR COMBO-BOX CB_Drucker IN FRAME D-Dialog
  281. ALIGN-L */
  282. /* SETTINGS FOR FILL-IN F_BArtnr IN FRAME D-Dialog
  283. 1 */
  284. /* SETTINGS FOR FILL-IN F_BDatum IN FRAME D-Dialog
  285. 1 */
  286. /* SETTINGS FOR FILL-IN F_BKnr IN FRAME D-Dialog
  287. 1 */
  288. /* SETTINGS FOR FILL-IN F_Hersteller IN FRAME D-Dialog
  289. 1 */
  290. /* SETTINGS FOR FILL-IN F_Kundengruppen IN FRAME D-Dialog
  291. 1 */
  292. /* SETTINGS FOR FILL-IN F_Orte IN FRAME D-Dialog
  293. 1 */
  294. /* SETTINGS FOR FILL-IN F_Preisgruppen IN FRAME D-Dialog
  295. 1 */
  296. /* SETTINGS FOR FILL-IN F_Touren IN FRAME D-Dialog
  297. 1 */
  298. /* SETTINGS FOR FILL-IN F_VArtnr IN FRAME D-Dialog
  299. 1 */
  300. /* SETTINGS FOR FILL-IN F_VDatum IN FRAME D-Dialog
  301. 1 */
  302. /* SETTINGS FOR FILL-IN F_Vertreter IN FRAME D-Dialog
  303. 1 */
  304. /* SETTINGS FOR FILL-IN F_VKnr IN FRAME D-Dialog
  305. 1 */
  306. /* SETTINGS FOR FILL-IN F_Warengruppe IN FRAME D-Dialog
  307. 1 */
  308. /* SETTINGS FOR RADIO-SET RS_Sort IN FRAME D-Dialog
  309. 1 */
  310. /* SETTINGS FOR RADIO-SET RS_Sort-2 IN FRAME D-Dialog
  311. 1 */
  312. /* SETTINGS FOR TOGGLE-BOX T_Detail IN FRAME D-Dialog
  313. 1 */
  314. /* SETTINGS FOR TOGGLE-BOX T_Drucker IN FRAME D-Dialog
  315. 1 */
  316. /* SETTINGS FOR TOGGLE-BOX T_Vorjahr IN FRAME D-Dialog
  317. 1 */
  318. /* _RUN-TIME-ATTRIBUTES-END */
  319. &ANALYZE-RESUME
  320. /* Setting information for Queries and Browse Widgets fields */
  321. &ANALYZE-SUSPEND _QUERY-BLOCK DIALOG-BOX D-Dialog
  322. /* Query rebuild information for DIALOG-BOX D-Dialog
  323. _Options = "SHARE-LOCK"
  324. _Query is NOT OPENED
  325. */ /* DIALOG-BOX D-Dialog */
  326. &ANALYZE-RESUME
  327. /* ************************ Control Triggers ************************ */
  328. &Scoped-define SELF-NAME D-Dialog
  329. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL D-Dialog D-Dialog
  330. ON WINDOW-CLOSE OF FRAME D-Dialog /* Artikelumsätze pro Kunde */
  331. DO:
  332. /* Add Trigger to equate WINDOW-CLOSE to END-ERROR. */
  333. APPLY "END-ERROR":U TO SELF.
  334. END.
  335. /* _UIB-CODE-BLOCK-END */
  336. &ANALYZE-RESUME
  337. &Scoped-define SELF-NAME Btn_OK
  338. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_OK D-Dialog
  339. ON CHOOSE OF Btn_OK IN FRAME D-Dialog /* Start */
  340. DO:
  341. DO WITH FRAME {&FRAME-NAME}:
  342. ASSIGN {&List-1}.
  343. IF F_VArtnr = 0 AND F_BArtnr = 0 THEN F_BArtnr = 999999.
  344. IF F_VArtnr > F_BArtnr THEN F_BArtnr = F_VArtnr.
  345. IF F_VDatum = ? THEN F_VDatum = DATE(01,01,YEAR(TODAY)).
  346. IF F_BDatum = ? THEN F_BDatum = DATE(12,31,YEAR(TODAY)).
  347. IF F_VDatum > F_BDatum THEN F_BDatum = F_VDatum.
  348. IF F_VKnr = 0 AND F_BKnr = 0 THEN F_BKnr = 999999.
  349. IF F_VKnr > F_BKnr THEN F_BKnr = F_VKnr .
  350. DO WHILE TRUE:
  351. IF (MONTH(F_VDatum - 1)) <> MONTH(F_VDatum) THEN LEAVE.
  352. F_VDatum = F_VDatum - 1.
  353. END.
  354. DO WHILE TRUE:
  355. IF (MONTH(F_BDatum + 1)) <> MONTH(F_BDatum) THEN LEAVE.
  356. F_BDatum = F_BDatum + 1.
  357. END.
  358. DISPLAY {&List-1}.
  359. DISABLE Btn_OK
  360. Btn_cancel.
  361. SESSION:SET-WAIT-STATE('GENERAL').
  362. RUN DRUCKEN.
  363. SESSION:SET-WAIT-STATE('').
  364. ENABLE Btn_OK
  365. Btn_cancel.
  366. END.
  367. END.
  368. /* _UIB-CODE-BLOCK-END */
  369. &ANALYZE-RESUME
  370. &Scoped-define SELF-NAME CB_Drucker
  371. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Drucker D-Dialog
  372. ON VALUE-CHANGED OF CB_Drucker IN FRAME D-Dialog
  373. DO:
  374. ok = TRUE.
  375. DO WHILE ok:
  376. ok = CB_Schriftbild:DELETE(1).
  377. END.
  378. FOR EACH Schrift USE-INDEX Schrift-k1
  379. WHERE Schrift.Schname = CB_Drucker:SCREEN-VALUE NO-LOCK:
  380. ok = CB_Schriftbild:ADD-LAST(Schrift.Schbild).
  381. END.
  382. i1 = 0.
  383. DO WHILE BRecid > 0:
  384. i1 = CB_Schriftbild:LOOKUP(LiDruck.ListBild).
  385. LEAVE.
  386. END.
  387. IF i1 = 0 THEN i1 = 1.
  388. CB_Schriftbild:SCREEN-VALUE = CB_Schriftbild:ENTRY(i1).
  389. END.
  390. /* _UIB-CODE-BLOCK-END */
  391. &ANALYZE-RESUME
  392. &Scoped-define SELF-NAME CB_Listenart
  393. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Listenart D-Dialog
  394. ON VALUE-CHANGED OF CB_Listenart IN FRAME D-Dialog /* Listenart */
  395. DO:
  396. TRecid = 0.
  397. ARecid = 0.
  398. BRecid = 0.
  399. VLiArt = CB_Listenart:LOOKUP(CB_Listenart:SCREEN-VALUE).
  400. RUN SORTIERARTEN.
  401. FIND Tabel USE-INDEX Tabel-k1
  402. WHERE Tabel.Firma = GVFirma
  403. AND Tabel.RecArt = 'LISTEN'
  404. AND Tabel.CodeC = 'ARTKUNUMS'
  405. AND Tabel.CodeI = VLiArt
  406. AND Tabel.Sprcd = 0 NO-LOCK NO-ERROR.
  407. IF AVAILABLE Tabel THEN DO:
  408. TRecid = RECID(Tabel).
  409. ARecid = Tabel.Int_1.
  410. BRecid = Tabel.Int_2.
  411. FIND Listen WHERE RECID(Listen) = ARecid NO-LOCK NO-ERROR.
  412. FIND LiDruck WHERE RECID(LiDruck) = BRecid NO-LOCK NO-ERROR.
  413. IF NOT AVAILABLE Listen THEN ARecid = 0.
  414. IF NOT AVAILABLE LiDruck THEN BRecid = 0.
  415. END.
  416. RS_Sort = 1.
  417. RS_Sort-2 = 1.
  418. F_VArtnr = 0.
  419. F_BArtnr = 999999.
  420. F_Hersteller = ''.
  421. F_Warengruppe = ''.
  422. F_VDatum = DATE(01,01,YEAR(TODAY)).
  423. F_BDatum = DATE(12,31,YEAR(TODAY)).
  424. F_VKnr = 0.
  425. F_BKnr = 999999.
  426. F_Preisgruppen = ''.
  427. F_Kundengruppen = ''.
  428. F_Vertreter = ''.
  429. F_Touren = ''.
  430. F_Preisgruppen = ''.
  431. F_Orte = ''.
  432. T_Detail = TRUE.
  433. T_Vorjahr = FALSE.
  434. CB_Drucker:SCREEN-VALUE = CB_Drucker:ENTRY(1).
  435. DO WHILE ARecid > 0:
  436. RS_Sort = Listen.Sort.
  437. RS_Sort-2 = Listen.ENr[01].
  438. F_VArtnr = Listen.VNr[01].
  439. F_BArtnr = Listen.BNr[01].
  440. F_VKnr = Listen.VNr[02].
  441. F_BKnr = Listen.BNr[02].
  442. T_Detail = Listen.VFl[01].
  443. T_Vorjahr = Listen.VFl[02].
  444. F_VDatum = Listen.VDa[01].
  445. F_BDatum = Listen.BDa[01].
  446. F_Hersteller = Listen.ECh[01].
  447. F_Warengruppe = Listen.ECh[02].
  448. F_Preisgruppen = Listen.ECh[03].
  449. F_Kundengruppen = Listen.ECh[04].
  450. F_Vertreter = Listen.ECh[05].
  451. F_Touren = Listen.ECh[06].
  452. F_Orte = Listen.ECh[07].
  453. LEAVE.
  454. END.
  455. i1 = 0.
  456. DO WHILE BRecid > 0:
  457. i1 = CB_Drucker:LOOKUP(LiDruck.ListDru).
  458. LEAVE.
  459. END.
  460. IF i1 = 0 THEN i1 = 1.
  461. CB_Drucker:SCREEN-VALUE = CB_Drucker:ENTRY(i1).
  462. DISPLAY {&List-1} WITH FRAME {&FRAME-NAME}.
  463. APPLY 'ENTRY' TO F_VArtnr.
  464. END.
  465. /* _UIB-CODE-BLOCK-END */
  466. &ANALYZE-RESUME
  467. &Scoped-define SELF-NAME F_Hersteller
  468. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Hersteller D-Dialog
  469. ON LEFT-MOUSE-DBLCLICK OF F_Hersteller IN FRAME D-Dialog /* Hersteller */
  470. DO:
  471. LVRecArt = 'HERST'.
  472. LVTitel = 'Hersteller'.
  473. LVFirma = GVFirma.
  474. Linktext = SELF:SCREEN-VALUE.
  475. RUN "v8/d-ausw-tabel.w".
  476. SELF:SCREEN-VALUE = Linktext.
  477. Linktext = ''.
  478. END.
  479. /* _UIB-CODE-BLOCK-END */
  480. &ANALYZE-RESUME
  481. &Scoped-define SELF-NAME F_Kundengruppen
  482. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Kundengruppen D-Dialog
  483. ON LEFT-MOUSE-DBLCLICK OF F_Kundengruppen IN FRAME D-Dialog /* Kundengruppen */
  484. DO:
  485. LVRecArt = 'KUNDGRP'.
  486. LVTitel = 'Kundengruppen'.
  487. LVFirma = GVFirma.
  488. Linktext = SELF:SCREEN-VALUE.
  489. RUN "v8/d-ausw-tabel.w".
  490. SELF:SCREEN-VALUE = Linktext.
  491. Linktext = ''.
  492. END.
  493. /* _UIB-CODE-BLOCK-END */
  494. &ANALYZE-RESUME
  495. &Scoped-define SELF-NAME F_Orte
  496. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Orte D-Dialog
  497. ON MOUSE-SELECT-DBLCLICK OF F_Orte IN FRAME D-Dialog /* Orte */
  498. DO:
  499. Linktext = SELF:SCREEN-VALUE.
  500. RUN "v8/d-ausw-orte.w".
  501. SELF:SCREEN-VALUE = Linktext.
  502. Linktext = ''.
  503. END.
  504. /* _UIB-CODE-BLOCK-END */
  505. &ANALYZE-RESUME
  506. &Scoped-define SELF-NAME F_Preisgruppen
  507. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Preisgruppen D-Dialog
  508. ON LEFT-MOUSE-DBLCLICK OF F_Preisgruppen IN FRAME D-Dialog /* Preisgruppen */
  509. DO:
  510. LVRecArt = 'PREGRP'.
  511. LVTitel = 'Preisgruppen'.
  512. LVFirma = GVFirma.
  513. Linktext = SELF:SCREEN-VALUE.
  514. RUN "v8/d-ausw-tabel.w".
  515. SELF:SCREEN-VALUE = Linktext.
  516. Linktext = ''.
  517. END.
  518. /* _UIB-CODE-BLOCK-END */
  519. &ANALYZE-RESUME
  520. &Scoped-define SELF-NAME F_Touren
  521. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Touren D-Dialog
  522. ON LEFT-MOUSE-DBLCLICK OF F_Touren IN FRAME D-Dialog /* Touren */
  523. DO:
  524. LVRecArt = 'TOUR1'.
  525. LVTitel = 'Touren'.
  526. LVFirma = GVFirma.
  527. Linktext = SELF:SCREEN-VALUE.
  528. RUN "v8/d-ausw-tabel.w".
  529. SELF:SCREEN-VALUE = Linktext.
  530. Linktext = ''.
  531. END.
  532. /* _UIB-CODE-BLOCK-END */
  533. &ANALYZE-RESUME
  534. &Scoped-define SELF-NAME F_Vertreter
  535. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Vertreter D-Dialog
  536. ON LEFT-MOUSE-DBLCLICK OF F_Vertreter IN FRAME D-Dialog /* Vertreter */
  537. DO:
  538. LVRecArt = 'VERTR'.
  539. LVTitel = 'Vertreter'.
  540. LVFirma = GVFirma.
  541. Linktext = SELF:SCREEN-VALUE.
  542. RUN "v8/d-ausw-tabel.w".
  543. SELF:SCREEN-VALUE = Linktext.
  544. Linktext = ''.
  545. END.
  546. /* _UIB-CODE-BLOCK-END */
  547. &ANALYZE-RESUME
  548. &Scoped-define SELF-NAME F_Warengruppe
  549. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Warengruppe D-Dialog
  550. ON LEFT-MOUSE-DBLCLICK OF F_Warengruppe IN FRAME D-Dialog /* Warengruppe */
  551. DO:
  552. Linktext = SELF:SCREEN-VALUE.
  553. RUN "v8/d-ausw-warengrp.w".
  554. SELF:SCREEN-VALUE = Linktext.
  555. Linktext = ''.
  556. END.
  557. /* _UIB-CODE-BLOCK-END */
  558. &ANALYZE-RESUME
  559. &UNDEFINE SELF-NAME
  560. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK D-Dialog
  561. /* *************************** Main Block *************************** */
  562. DO WITH FRAME {&FRAME-NAME}:
  563. CB_Listenart:SCREEN-VALUE = CB_Listenart:ENTRY(1).
  564. CB_Drucker:DELIMITER = ';'.
  565. CB_Schriftbild:DELIMITER = ';'.
  566. ok = TRUE.
  567. DO WHILE ok:
  568. ok = CB_Drucker:DELETE(1).
  569. END.
  570. FOR EACH Schrift USE-INDEX Schrift-k1 NO-LOCK
  571. BREAK BY Schrift.Schname :
  572. IF NOT FIRST-OF ( Schrift.Schname ) THEN NEXT.
  573. ok = CB_Drucker:ADD-LAST(Schrift.Schname).
  574. END.
  575. END.
  576. {src/adm/template/dialogmn.i}
  577. /* _UIB-CODE-BLOCK-END */
  578. &ANALYZE-RESUME
  579. /* ********************** Internal Procedures *********************** */
  580. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects D-Dialog _ADM-CREATE-OBJECTS
  581. PROCEDURE adm-create-objects :
  582. /*------------------------------------------------------------------------------
  583. Purpose: Create handles for all SmartObjects used in this procedure.
  584. After SmartObjects are initialized, then SmartLinks are added.
  585. Parameters: <none>
  586. ------------------------------------------------------------------------------*/
  587. END PROCEDURE.
  588. /* _UIB-CODE-BLOCK-END */
  589. &ANALYZE-RESUME
  590. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-row-available D-Dialog _ADM-ROW-AVAILABLE
  591. PROCEDURE adm-row-available :
  592. /*------------------------------------------------------------------------------
  593. Purpose: Dispatched to this procedure when the Record-
  594. Source has a new row available. This procedure
  595. tries to get the new row (or foriegn keys) from
  596. the Record-Source and process it.
  597. Parameters: <none>
  598. ------------------------------------------------------------------------------*/
  599. /* Define variables needed by this internal procedure. */
  600. {src/adm/template/row-head.i}
  601. /* Process the newly available records (i.e. display fields,
  602. open queries, and/or pass records on to any RECORD-TARGETS). */
  603. {src/adm/template/row-end.i}
  604. END PROCEDURE.
  605. /* _UIB-CODE-BLOCK-END */
  606. &ANALYZE-RESUME
  607. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ARTIKELGRUPPE D-Dialog
  608. PROCEDURE ARTIKELGRUPPE :
  609. /*------------------------------------------------------------------------------
  610. Purpose:
  611. Parameters: <none>
  612. Notes:
  613. ------------------------------------------------------------------------------*/
  614. VArtTotal = 0.
  615. XArt_Grp = ''.
  616. FIND ArtikGrp USE-INDEX ArtikGrp-k1
  617. WHERE ArtikGrp.Firma = GVFirma
  618. AND ArtikGrp.Wgr = BArtst.Wg_Grp
  619. AND ArtikGrp.Prod_Grp = BArtst.Prod_Grp
  620. AND ArtikGrp.Art_Grp = BArtst.Art_Grp NO-LOCK NO-ERROR.
  621. IF AVAILABLE ArtikGrp THEN XArt_Grp = STRING(BArtst.Art_Grp ,"999 ")
  622. + ArtikGrp.Bez1.
  623. ELSE XArt_Grp = STRING(BArtst.Art_Grp ,"999 ")
  624. + '???????????????'.
  625. END PROCEDURE.
  626. /* _UIB-CODE-BLOCK-END */
  627. &ANALYZE-RESUME
  628. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE AUSGABE_01 D-Dialog
  629. PROCEDURE AUSGABE_01 :
  630. /*------------------------------------------------------------------------------
  631. Purpose:
  632. Parameters: <none>
  633. Notes:
  634. ------------------------------------------------------------------------------*/
  635. GTotal = 0.
  636. FTotal = FALSE.
  637. FOR EACH THilfsTab NO-LOCK,
  638. FIRST BArtst WHERE RECID(BArtst) = THilfsTab.Zahl_1 NO-LOCK,
  639. FIRST BDebst WHERE RECID(BDebst) = THilfsTab.Zahl_2 NO-LOCK,
  640. FIRST BAdresse USE-INDEX Adresse-k1
  641. WHERE BAdresse.Firma = AdFirma
  642. AND BAdresse.Knr = BDebst.Knr NO-LOCK
  643. BREAK BY BArtst.Wg_Grp
  644. BY BArtst.Prod_Grp
  645. BY BArtst.Art_Grp
  646. BY BArtst.Artnr
  647. BY BArtst.Inhalt
  648. BY BArtst.Jahr
  649. BY BAdresse.Suchbe :
  650. IF FIRST-OF ( BArtst.Wg_Grp ) THEN DO:
  651. Zuszz = 6.
  652. RUN LISTTIT2.
  653. RUN WARENGRUPPE.
  654. SUBSTRING(VZeile,001) = XWg_Grp.
  655. { v8/putstreamf.i "1" }
  656. END.
  657. IF FIRST-OF ( BArtst.Prod_Grp ) THEN DO:
  658. Zuszz = 5.
  659. RUN LISTTIT2.
  660. RUN PRODGRUPPE.
  661. SUBSTRING(VZeile,001) = XProd_Grp.
  662. { v8/putstreamf.i "1" }
  663. END.
  664. IF FIRST-OF ( BArtst.Art_Grp ) THEN DO:
  665. Zuszz = 4.
  666. RUN LISTTIT2.
  667. RUN ARTIKELGRUPPE.
  668. SUBSTRING(VZeile,001) = XArt_Grp.
  669. { v8/putstreamf.i "1" }
  670. END.
  671. IF FIRST-OF ( BArtst.Jahr ) THEN DO:
  672. IF T_Detail THEN DO:
  673. { v8/putstream.i "1" }
  674. Zuszz = 3.
  675. END.
  676. VKundTotal = 0.
  677. RUN LISTTIT2.
  678. FIND KGebinde USE-INDEX KGebinde-k1
  679. WHERE KGebinde.Firma = BArtst.Firma
  680. AND KGebinde.Geb_Cd = BArtst.KGeb_Cd NO-LOCK NO-ERROR.
  681. SUBSTRING(VZeile,001) = STRING(BArtst.Artnr ,"999999")
  682. + "/"
  683. + STRING(BArtst.Inhalt,"9999")
  684. + "/"
  685. + STRING(BArtst.Jahr ,"9999").
  686. SUBSTRING(VZeile,018) = BArtst.Bez.
  687. SUBSTRING(VZeile,050) = KGebinde.KBez.
  688. SUBSTRING(VZeile,062) = STRING(KGebinde.Inhalt,"zzzz").
  689. SUBSTRING(VZeile,067) = STRING(BArtst.Jahr ,"zzzz").
  690. IF BArtst.Alk_Gehalt <> 0 THEN DO:
  691. SUBSTRING(VZeile,073) = STRING(BArtst.Alk_Gehalt,"zz9.99").
  692. END.
  693. IF T_Detail THEN DO:
  694. { v8/putstreamf.i "1" }
  695. END.
  696. END.
  697. RUN LISTTIT2.
  698. IF T_Vorjahr THEN DO:
  699. DO ix = 1 TO 5:
  700. THilfsTab.Wert[ix + 5] = THilfsTab.Wert[ix] - THilfsTab.Wert[ix + 5].
  701. END.
  702. END.
  703. IF T_Detail THEN DO:
  704. SUBSTRING(VZeile,001) = STRING(BDebst.Knr ,"999999").
  705. SUBSTRING(VZeile,009) = STRING(BAdresse.Anzeig_Br ,"x(30)").
  706. SUBSTRING(VZeile,060) = STRING(THilfsTab.Wert[02] ,"zzz,zzz,zzz-").
  707. SUBSTRING(VZeile,072) = STRING(THilfsTab.Wert[04] ,"zzz,zzz,zzz-").
  708. SUBSTRING(VZeile,084) = STRING(THilfsTab.Wert[03] ,"zzz,zzz,zzz-").
  709. IF T_Vorjahr THEN DO:
  710. SUBSTRING(VZeile,100) = STRING(THilfsTab.Wert[07] ,"zzz,zzz,zzz-").
  711. SUBSTRING(VZeile,112) = STRING(THilfsTab.Wert[09] ,"zzz,zzz,zzz-").
  712. SUBSTRING(VZeile,124) = STRING(THilfsTab.Wert[08] ,"zzz,zzz,zzz-").
  713. END.
  714. { v8/putstream.i "1" }
  715. END.
  716. DO ix = 1 TO 10:
  717. VWgTotal [ix] = VWgTotal [ix] + THilfsTab.Wert[ix].
  718. VProdTotal[ix] = VProdTotal[ix] + THilfsTab.Wert[ix].
  719. VArtTotal [ix] = VArtTotal [ix] + THilfsTab.Wert[ix].
  720. VKundTotal[ix] = VKundTotal[ix] + THilfsTab.Wert[ix].
  721. GTotal [ix] = GTotal [ix] + THilfsTab.Wert[ix].
  722. END.
  723. IF LAST-OF ( BArtst.Jahr ) THEN DO:
  724. IF T_Detail THEN DO:
  725. SUBSTRING(VZeile,001) = TRIM(SUBSTRING(Helptext[12],01,20)).
  726. END.
  727. SUBSTRING(VZeile,060) = STRING(VKundTotal[02] ,"zzz,zzz,zzz-").
  728. SUBSTRING(VZeile,072) = STRING(VKundTotal[04] ,"zzz,zzz,zzz-").
  729. SUBSTRING(VZeile,084) = STRING(VKundTotal[03] ,"zzz,zzz,zzz-").
  730. IF T_Vorjahr THEN DO:
  731. SUBSTRING(VZeile,100) = STRING(VKundTotal[07] ,"zzz,zzz,zzz-").
  732. SUBSTRING(VZeile,112) = STRING(VKundTotal[09] ,"zzz,zzz,zzz-").
  733. SUBSTRING(VZeile,124) = STRING(VKundTotal[08] ,"zzz,zzz,zzz-").
  734. END.
  735. IF T_Detail THEN DO:
  736. { v8/putstreamf.i "1" }
  737. END.
  738. ELSE DO:
  739. { v8/putstream.i "1" }
  740. END.
  741. END.
  742. IF LAST-OF ( BArtst.Art_Grp ) THEN DO:
  743. { v8/putstream.i "1" }
  744. XArt_Grp = 'Total ' + XArt_Grp.
  745. SUBSTRING(VZeile,001) = XArt_Grp.
  746. SUBSTRING(VZeile,060) = STRING(VArtTotal[02] ,"zzz,zzz,zzz-").
  747. SUBSTRING(VZeile,072) = STRING(VArtTotal[04] ,"zzz,zzz,zzz-").
  748. SUBSTRING(VZeile,084) = STRING(VArtTotal[03] ,"zzz,zzz,zzz-").
  749. IF T_Vorjahr THEN DO:
  750. SUBSTRING(VZeile,100) = STRING(VArtTotal[07] ,"zzz,zzz,zzz-").
  751. SUBSTRING(VZeile,112) = STRING(VArtTotal[09] ,"zzz,zzz,zzz-").
  752. SUBSTRING(VZeile,124) = STRING(VArtTotal[08] ,"zzz,zzz,zzz-").
  753. END.
  754. { v8/putstreamf.i "1" }
  755. FTotal = TRUE.
  756. END.
  757. IF LAST-OF ( BArtst.Prod_Grp ) THEN DO:
  758. XProd_Grp = 'Total ' + XProd_Grp.
  759. SUBSTRING(VZeile,001) = XProd_Grp.
  760. SUBSTRING(VZeile,060) = STRING(VProdTotal[02] ,"zzz,zzz,zzz-").
  761. SUBSTRING(VZeile,072) = STRING(VProdTotal[04] ,"zzz,zzz,zzz-").
  762. SUBSTRING(VZeile,084) = STRING(VProdTotal[03] ,"zzz,zzz,zzz-").
  763. IF T_Vorjahr THEN DO:
  764. SUBSTRING(VZeile,100) = STRING(VProdTotal[07] ,"zzz,zzz,zzz-").
  765. SUBSTRING(VZeile,112) = STRING(VProdTotal[09] ,"zzz,zzz,zzz-").
  766. SUBSTRING(VZeile,124) = STRING(VProdTotal[08] ,"zzz,zzz,zzz-").
  767. END.
  768. { v8/putstreamf.i "1" }
  769. FTotal = TRUE.
  770. END.
  771. IF LAST-OF ( BArtst.Wg_Grp ) THEN DO:
  772. XWg_Grp = 'Total ' + XWg_Grp.
  773. SUBSTRING(VZeile,001) = XWg_Grp.
  774. SUBSTRING(VZeile,060) = STRING(VWgTotal[02] ,"zzz,zzz,zzz-").
  775. SUBSTRING(VZeile,072) = STRING(VWgTotal[04] ,"zzz,zzz,zzz-").
  776. SUBSTRING(VZeile,084) = STRING(VWgTotal[03] ,"zzz,zzz,zzz-").
  777. IF T_Vorjahr THEN DO:
  778. SUBSTRING(VZeile,100) = STRING(VWgTotal[07] ,"zzz,zzz,zzz-").
  779. SUBSTRING(VZeile,112) = STRING(VWgTotal[09] ,"zzz,zzz,zzz-").
  780. SUBSTRING(VZeile,124) = STRING(VWgTotal[08] ,"zzz,zzz,zzz-").
  781. END.
  782. { v8/putstreamf.i "1" }
  783. FTotal = TRUE.
  784. END.
  785. IF FTotal THEN DO:
  786. { v8/putstream.i "1" }
  787. FTotal = FALSE.
  788. END.
  789. END.
  790. IF GTotal[01] = 0 AND
  791. GTotal[02] = 0 AND
  792. GTotal[03] = 0 AND
  793. GTotal[04] = 0 THEN RETURN.
  794. SUBSTRING(VZeile,001) = TRIM(SUBSTRING(Helptext[12],21,20)).
  795. SUBSTRING(VZeile,060) = STRING(GTotal[02] ,"zzz,zzz,zzz-").
  796. SUBSTRING(VZeile,072) = STRING(GTotal[04] ,"zzz,zzz,zzz-").
  797. SUBSTRING(VZeile,084) = STRING(GTotal[03] ,"zzz,zzz,zzz-").
  798. IF T_Vorjahr THEN DO:
  799. SUBSTRING(VZeile,100) = STRING(GTotal[07] ,"zzz,zzz,zzz-").
  800. SUBSTRING(VZeile,112) = STRING(GTotal[09] ,"zzz,zzz,zzz-").
  801. SUBSTRING(VZeile,124) = STRING(GTotal[08] ,"zzz,zzz,zzz-").
  802. END.
  803. { v8/putstreamf.i "1" }
  804. END PROCEDURE.
  805. /* _UIB-CODE-BLOCK-END */
  806. &ANALYZE-RESUME
  807. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE AUSGABE_02 D-Dialog
  808. PROCEDURE AUSGABE_02 :
  809. /*------------------------------------------------------------------------------
  810. Purpose:
  811. Parameters: <none>
  812. Notes:
  813. ------------------------------------------------------------------------------*/
  814. GTotal = 0.
  815. FTotal = FALSE.
  816. FOR EACH THilfsTab NO-LOCK,
  817. FIRST BArtst WHERE RECID(BArtst) = THilfsTab.Zahl_1 NO-LOCK,
  818. FIRST BDebst WHERE RECID(BDebst) = THilfsTab.Zahl_2 NO-LOCK,
  819. FIRST BAdresse USE-INDEX Adresse-k1
  820. WHERE BAdresse.Firma = AdFirma
  821. AND BAdresse.Knr = BDebst.Knr NO-LOCK
  822. BREAK BY BArtst.Wg_Grp
  823. BY BArtst.Prod_Grp
  824. BY BArtst.Art_Grp
  825. BY BArtst.Artnr
  826. BY BArtst.Inhalt
  827. BY BArtst.Jahr
  828. BY BDebst.Ku_Grp
  829. BY BAdresse.Suchbe :
  830. IF FIRST-OF ( BArtst.Wg_Grp ) THEN DO:
  831. Zuszz = 7.
  832. RUN LISTTIT2.
  833. RUN WARENGRUPPE.
  834. SUBSTRING(VZeile,001) = XWg_Grp.
  835. { v8/putstreamf.i "1" }
  836. END.
  837. IF FIRST-OF ( BArtst.Prod_Grp ) THEN DO:
  838. Zuszz = 6.
  839. RUN LISTTIT2.
  840. RUN PRODGRUPPE.
  841. SUBSTRING(VZeile,001) = XProd_Grp.
  842. { v8/putstreamf.i "1" }
  843. END.
  844. IF FIRST-OF ( BArtst.Art_Grp ) THEN DO:
  845. Zuszz = 5.
  846. RUN LISTTIT2.
  847. RUN ARTIKELGRUPPE.
  848. SUBSTRING(VZeile,001) = XArt_Grp.
  849. { v8/putstreamf.i "1" }
  850. END.
  851. IF FIRST-OF ( BArtst.Jahr ) THEN DO:
  852. { v8/putstream.i "1" }
  853. Zuszz = 4.
  854. VKundTotal = 0.
  855. RUN LISTTIT2.
  856. FIND KGebinde USE-INDEX KGebinde-k1
  857. WHERE KGebinde.Firma = BArtst.Firma
  858. AND KGebinde.Geb_Cd = BArtst.KGeb_Cd NO-LOCK NO-ERROR.
  859. SUBSTRING(VZeile,001) = STRING(BArtst.Artnr ,"999999")
  860. + "/"
  861. + STRING(BArtst.Inhalt,"9999")
  862. + "/"
  863. + STRING(BArtst.Jahr ,"9999").
  864. SUBSTRING(VZeile,018) = BArtst.Bez.
  865. SUBSTRING(VZeile,050) = KGebinde.KBez.
  866. SUBSTRING(VZeile,062) = STRING(KGebinde.Inhalt,"zzzz").
  867. SUBSTRING(VZeile,067) = STRING(BArtst.Jahr ,"zzzz").
  868. IF BArtst.Alk_Gehalt <> 0 THEN DO:
  869. SUBSTRING(VZeile,073) = STRING(BArtst.Alk_Gehalt,"zz9.99").
  870. END.
  871. { v8/putstreamf.i "1" }
  872. END.
  873. IF FIRST-OF ( BDebst.Ku_Grp ) THEN DO:
  874. Zuszz = 3.
  875. VKgrTotal = 0.
  876. RUN LISTTIT2.
  877. RUN KUNDENGRUPPE.
  878. END.
  879. RUN LISTTIT2.
  880. IF T_Vorjahr THEN DO:
  881. DO ix = 1 TO 5:
  882. THilfsTab.Wert[ix + 5] = THilfsTab.Wert[ix] - THilfsTab.Wert[ix + 5].
  883. END.
  884. END.
  885. IF T_Detail THEN DO:
  886. SUBSTRING(VZeile,001) = STRING(BDebst.Knr ,"999999").
  887. SUBSTRING(VZeile,009) = STRING(BAdresse.Anzeig_Br ,"x(30)").
  888. SUBSTRING(VZeile,060) = STRING(THilfsTab.Wert[02] ,"zzz,zzz,zzz-").
  889. SUBSTRING(VZeile,072) = STRING(THilfsTab.Wert[04] ,"zzz,zzz,zzz-").
  890. SUBSTRING(VZeile,084) = STRING(THilfsTab.Wert[03] ,"zzz,zzz,zzz-").
  891. IF T_Vorjahr THEN DO:
  892. SUBSTRING(VZeile,100) = STRING(THilfsTab.Wert[07] ,"zzz,zzz,zzz-").
  893. SUBSTRING(VZeile,112) = STRING(THilfsTab.Wert[09] ,"zzz,zzz,zzz-").
  894. SUBSTRING(VZeile,124) = STRING(THilfsTab.Wert[08] ,"zzz,zzz,zzz-").
  895. END.
  896. { v8/putstream.i "1" }
  897. END.
  898. DO ix = 1 TO 10:
  899. VWgTotal [ix] = VWgTotal [ix] + THilfsTab.Wert[ix].
  900. VProdTotal[ix] = VProdTotal[ix] + THilfsTab.Wert[ix].
  901. VArtTotal [ix] = VArtTotal [ix] + THilfsTab.Wert[ix].
  902. VKundTotal[ix] = VKundTotal[ix] + THilfsTab.Wert[ix].
  903. VKgrTotal [ix] = VKgrTotal [ix] + THilfsTab.Wert[ix].
  904. GTotal [ix] = GTotal [ix] + THilfsTab.Wert[ix].
  905. END.
  906. IF LAST-OF ( BDebst.Ku_Grp ) THEN DO:
  907. XKund_Grp = 'Total ' + XKund_Grp.
  908. SUBSTRING(VZeile,001) = XKund_Grp.
  909. SUBSTRING(VZeile,060) = STRING(VKgrTotal[02] ,"zzz,zzz,zzz-").
  910. SUBSTRING(VZeile,072) = STRING(VKgrTotal[04] ,"zzz,zzz,zzz-").
  911. SUBSTRING(VZeile,084) = STRING(VKgrTotal[03] ,"zzz,zzz,zzz-").
  912. IF T_Vorjahr THEN DO:
  913. SUBSTRING(VZeile,100) = STRING(VKgrTotal[07] ,"zzz,zzz,zzz-").
  914. SUBSTRING(VZeile,112) = STRING(VKgrTotal[09] ,"zzz,zzz,zzz-").
  915. SUBSTRING(VZeile,124) = STRING(VKgrTotal[08] ,"zzz,zzz,zzz-").
  916. END.
  917. IF T_Detail THEN DO:
  918. { v8/putstreamf.i "1" }
  919. IF NOT LAST-OF ( BArtst.Jahr ) THEN DO:
  920. { v8/putstream.i "1" }
  921. END.
  922. END.
  923. ELSE DO:
  924. { v8/putstream.i "1" }
  925. END.
  926. END.
  927. IF LAST-OF ( BArtst.Jahr ) THEN DO:
  928. SUBSTRING(VZeile,001) = TRIM(SUBSTRING(Helptext[12],01,20)).
  929. SUBSTRING(VZeile,060) = STRING(VKundTotal[02] ,"zzz,zzz,zzz-").
  930. SUBSTRING(VZeile,072) = STRING(VKundTotal[04] ,"zzz,zzz,zzz-").
  931. SUBSTRING(VZeile,084) = STRING(VKundTotal[03] ,"zzz,zzz,zzz-").
  932. IF T_Vorjahr THEN DO:
  933. SUBSTRING(VZeile,100) = STRING(VKundTotal[07] ,"zzz,zzz,zzz-").
  934. SUBSTRING(VZeile,112) = STRING(VKundTotal[09] ,"zzz,zzz,zzz-").
  935. SUBSTRING(VZeile,124) = STRING(VKundTotal[08] ,"zzz,zzz,zzz-").
  936. END.
  937. { v8/putstreamf.i "1" }
  938. END.
  939. IF LAST-OF ( BArtst.Art_Grp ) THEN DO:
  940. { v8/putstream.i "1" }
  941. XArt_Grp = 'Total ' + XArt_Grp.
  942. SUBSTRING(VZeile,001) = XArt_Grp.
  943. SUBSTRING(VZeile,060) = STRING(VArtTotal[02] ,"zzz,zzz,zzz-").
  944. SUBSTRING(VZeile,072) = STRING(VArtTotal[04] ,"zzz,zzz,zzz-").
  945. SUBSTRING(VZeile,084) = STRING(VArtTotal[03] ,"zzz,zzz,zzz-").
  946. IF T_Vorjahr THEN DO:
  947. SUBSTRING(VZeile,100) = STRING(VArtTotal[07] ,"zzz,zzz,zzz-").
  948. SUBSTRING(VZeile,112) = STRING(VArtTotal[09] ,"zzz,zzz,zzz-").
  949. SUBSTRING(VZeile,124) = STRING(VArtTotal[08] ,"zzz,zzz,zzz-").
  950. END.
  951. { v8/putstreamf.i "1" }
  952. FTotal = TRUE.
  953. END.
  954. IF LAST-OF ( BArtst.Prod_Grp ) THEN DO:
  955. XProd_Grp = 'Total ' + XProd_Grp.
  956. SUBSTRING(VZeile,001) = XProd_Grp.
  957. SUBSTRING(VZeile,060) = STRING(VProdTotal[02] ,"zzz,zzz,zzz-").
  958. SUBSTRING(VZeile,072) = STRING(VProdTotal[04] ,"zzz,zzz,zzz-").
  959. SUBSTRING(VZeile,084) = STRING(VProdTotal[03] ,"zzz,zzz,zzz-").
  960. IF T_Vorjahr THEN DO:
  961. SUBSTRING(VZeile,100) = STRING(VProdTotal[07] ,"zzz,zzz,zzz-").
  962. SUBSTRING(VZeile,112) = STRING(VProdTotal[09] ,"zzz,zzz,zzz-").
  963. SUBSTRING(VZeile,124) = STRING(VProdTotal[08] ,"zzz,zzz,zzz-").
  964. END.
  965. { v8/putstreamf.i "1" }
  966. FTotal = TRUE.
  967. END.
  968. IF LAST-OF ( BArtst.Wg_Grp ) THEN DO:
  969. XWg_Grp = 'Total ' + XWg_Grp.
  970. SUBSTRING(VZeile,001) = XWg_Grp.
  971. SUBSTRING(VZeile,060) = STRING(VWgTotal[02] ,"zzz,zzz,zzz-").
  972. SUBSTRING(VZeile,072) = STRING(VWgTotal[04] ,"zzz,zzz,zzz-").
  973. SUBSTRING(VZeile,084) = STRING(VWgTotal[03] ,"zzz,zzz,zzz-").
  974. IF T_Vorjahr THEN DO:
  975. SUBSTRING(VZeile,100) = STRING(VWgTotal[07] ,"zzz,zzz,zzz-").
  976. SUBSTRING(VZeile,112) = STRING(VWgTotal[09] ,"zzz,zzz,zzz-").
  977. SUBSTRING(VZeile,124) = STRING(VWgTotal[08] ,"zzz,zzz,zzz-").
  978. END.
  979. { v8/putstreamf.i "1" }
  980. FTotal = TRUE.
  981. END.
  982. IF FTotal THEN DO:
  983. { v8/putstream.i "1" }
  984. FTotal = FALSE.
  985. END.
  986. END.
  987. IF GTotal[01] = 0 AND
  988. GTotal[02] = 0 AND
  989. GTotal[03] = 0 AND
  990. GTotal[04] = 0 THEN RETURN.
  991. SUBSTRING(VZeile,001) = TRIM(SUBSTRING(Helptext[12],21,20)).
  992. SUBSTRING(VZeile,060) = STRING(GTotal[02] ,"zzz,zzz,zzz-").
  993. SUBSTRING(VZeile,072) = STRING(GTotal[04] ,"zzz,zzz,zzz-").
  994. SUBSTRING(VZeile,084) = STRING(GTotal[03] ,"zzz,zzz,zzz-").
  995. IF T_Vorjahr THEN DO:
  996. SUBSTRING(VZeile,100) = STRING(GTotal[07] ,"zzz,zzz,zzz-").
  997. SUBSTRING(VZeile,112) = STRING(GTotal[09] ,"zzz,zzz,zzz-").
  998. SUBSTRING(VZeile,124) = STRING(GTotal[08] ,"zzz,zzz,zzz-").
  999. END.
  1000. { v8/putstreamf.i "1" }
  1001. END PROCEDURE.
  1002. /* _UIB-CODE-BLOCK-END */
  1003. &ANALYZE-RESUME
  1004. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE AUSGABE_03 D-Dialog
  1005. PROCEDURE AUSGABE_03 :
  1006. /*------------------------------------------------------------------------------
  1007. Purpose:
  1008. Parameters: <none>
  1009. Notes:
  1010. ------------------------------------------------------------------------------*/
  1011. GTotal = 0.
  1012. FTotal = FALSE.
  1013. FOR EACH THilfsTab NO-LOCK,
  1014. FIRST BArtst WHERE RECID(BArtst) = THilfsTab.Zahl_1 NO-LOCK,
  1015. FIRST BDebst WHERE RECID(BDebst) = THilfsTab.Zahl_2 NO-LOCK,
  1016. FIRST BAdresse USE-INDEX Adresse-k1
  1017. WHERE BAdresse.Firma = AdFirma
  1018. AND BAdresse.Knr = BDebst.Knr NO-LOCK
  1019. BREAK BY BArtst.Wg_Grp
  1020. BY BArtst.Prod_Grp
  1021. BY BArtst.Art_Grp
  1022. BY BArtst.Artnr
  1023. BY BArtst.Inhalt
  1024. BY BArtst.Jahr
  1025. BY BDebst.Preis_Grp
  1026. BY BAdresse.Suchbe :
  1027. IF FIRST-OF ( BArtst.Wg_Grp ) THEN DO:
  1028. Zuszz = 7.
  1029. RUN LISTTIT2.
  1030. RUN WARENGRUPPE.
  1031. SUBSTRING(VZeile,001) = XWg_Grp.
  1032. { v8/putstreamf.i "1" }
  1033. END.
  1034. IF FIRST-OF ( BArtst.Prod_Grp ) THEN DO:
  1035. Zuszz = 6.
  1036. RUN LISTTIT2.
  1037. RUN PRODGRUPPE.
  1038. SUBSTRING(VZeile,001) = XProd_Grp.
  1039. { v8/putstreamf.i "1" }
  1040. END.
  1041. IF FIRST-OF ( BArtst.Art_Grp ) THEN DO:
  1042. Zuszz = 5.
  1043. RUN LISTTIT2.
  1044. RUN ARTIKELGRUPPE.
  1045. SUBSTRING(VZeile,001) = XArt_Grp.
  1046. { v8/putstreamf.i "1" }
  1047. END.
  1048. IF FIRST-OF ( BArtst.Jahr ) THEN DO:
  1049. { v8/putstream.i "1" }
  1050. Zuszz = 4.
  1051. VKundTotal = 0.
  1052. RUN LISTTIT2.
  1053. FIND KGebinde USE-INDEX KGebinde-k1
  1054. WHERE KGebinde.Firma = BArtst.Firma
  1055. AND KGebinde.Geb_Cd = BArtst.KGeb_Cd NO-LOCK NO-ERROR.
  1056. SUBSTRING(VZeile,001) = STRING(BArtst.Artnr ,"999999")
  1057. + "/"
  1058. + STRING(BArtst.Inhalt,"9999")
  1059. + "/"
  1060. + STRING(BArtst.Jahr ,"9999").
  1061. SUBSTRING(VZeile,018) = BArtst.Bez.
  1062. SUBSTRING(VZeile,050) = KGebinde.KBez.
  1063. SUBSTRING(VZeile,062) = STRING(KGebinde.Inhalt,"zzzz").
  1064. SUBSTRING(VZeile,067) = STRING(BArtst.Jahr ,"zzzz").
  1065. IF BArtst.Alk_Gehalt <> 0 THEN DO:
  1066. SUBSTRING(VZeile,073) = STRING(BArtst.Alk_Gehalt,"zz9.99").
  1067. END.
  1068. { v8/putstreamf.i "1" }
  1069. END.
  1070. IF FIRST-OF ( BDebst.Preis_Grp ) THEN DO:
  1071. Zuszz = 3.
  1072. VPreTotal = 0.
  1073. RUN LISTTIT2.
  1074. RUN PREISGRUPPE.
  1075. END.
  1076. RUN LISTTIT2.
  1077. IF T_Vorjahr THEN DO:
  1078. DO ix = 1 TO 5:
  1079. THilfsTab.Wert[ix + 5] = THilfsTab.Wert[ix] - THilfsTab.Wert[ix + 5].
  1080. END.
  1081. END.
  1082. IF T_Detail THEN DO:
  1083. SUBSTRING(VZeile,001) = STRING(BDebst.Knr ,"999999").
  1084. SUBSTRING(VZeile,009) = STRING(BAdresse.Anzeig_Br ,"x(30)").
  1085. SUBSTRING(VZeile,060) = STRING(THilfsTab.Wert[02] ,"zzz,zzz,zzz-").
  1086. SUBSTRING(VZeile,072) = STRING(THilfsTab.Wert[04] ,"zzz,zzz,zzz-").
  1087. SUBSTRING(VZeile,084) = STRING(THilfsTab.Wert[03] ,"zzz,zzz,zzz-").
  1088. IF T_Vorjahr THEN DO:
  1089. SUBSTRING(VZeile,100) = STRING(THilfsTab.Wert[07] ,"zzz,zzz,zzz-").
  1090. SUBSTRING(VZeile,112) = STRING(THilfsTab.Wert[09] ,"zzz,zzz,zzz-").
  1091. SUBSTRING(VZeile,124) = STRING(THilfsTab.Wert[08] ,"zzz,zzz,zzz-").
  1092. END.
  1093. { v8/putstream.i "1" }
  1094. END.
  1095. DO ix = 1 TO 10:
  1096. VWgTotal [ix] = VWgTotal [ix] + THilfsTab.Wert[ix].
  1097. VProdTotal[ix] = VProdTotal[ix] + THilfsTab.Wert[ix].
  1098. VArtTotal [ix] = VArtTotal [ix] + THilfsTab.Wert[ix].
  1099. VKundTotal[ix] = VKundTotal[ix] + THilfsTab.Wert[ix].
  1100. VPreTotal [ix] = VPreTotal [ix] + THilfsTab.Wert[ix].
  1101. GTotal [ix] = GTotal [ix] + THilfsTab.Wert[ix].
  1102. END.
  1103. IF LAST-OF ( BDebst.Preis_Grp ) THEN DO:
  1104. XPreis_Grp = 'Total ' + XPreis_Grp.
  1105. SUBSTRING(VZeile,001) = XPreis_Grp.
  1106. SUBSTRING(VZeile,060) = STRING(VPreTotal[02] ,"zzz,zzz,zzz-").
  1107. SUBSTRING(VZeile,072) = STRING(VPreTotal[04] ,"zzz,zzz,zzz-").
  1108. SUBSTRING(VZeile,084) = STRING(VPreTotal[03] ,"zzz,zzz,zzz-").
  1109. IF T_Vorjahr THEN DO:
  1110. SUBSTRING(VZeile,100) = STRING(VPreTotal[07] ,"zzz,zzz,zzz-").
  1111. SUBSTRING(VZeile,112) = STRING(VPreTotal[09] ,"zzz,zzz,zzz-").
  1112. SUBSTRING(VZeile,124) = STRING(VPreTotal[08] ,"zzz,zzz,zzz-").
  1113. END.
  1114. IF T_Detail THEN DO:
  1115. { v8/putstreamf.i "1" }
  1116. IF NOT LAST-OF ( BArtst.Jahr ) THEN DO:
  1117. { v8/putstream.i "1" }
  1118. END.
  1119. END.
  1120. ELSE DO:
  1121. { v8/putstream.i "1" }
  1122. END.
  1123. END.
  1124. IF LAST-OF ( BArtst.Jahr ) THEN DO:
  1125. SUBSTRING(VZeile,001) = TRIM(SUBSTRING(Helptext[12],01,20)).
  1126. SUBSTRING(VZeile,060) = STRING(VKundTotal[02] ,"zzz,zzz,zzz-").
  1127. SUBSTRING(VZeile,072) = STRING(VKundTotal[04] ,"zzz,zzz,zzz-").
  1128. SUBSTRING(VZeile,084) = STRING(VKundTotal[03] ,"zzz,zzz,zzz-").
  1129. IF T_Vorjahr THEN DO:
  1130. SUBSTRING(VZeile,100) = STRING(VKundTotal[07] ,"zzz,zzz,zzz-").
  1131. SUBSTRING(VZeile,112) = STRING(VKundTotal[09] ,"zzz,zzz,zzz-").
  1132. SUBSTRING(VZeile,124) = STRING(VKundTotal[08] ,"zzz,zzz,zzz-").
  1133. END.
  1134. { v8/putstreamf.i "1" }
  1135. END.
  1136. IF LAST-OF ( BArtst.Art_Grp ) THEN DO:
  1137. { v8/putstream.i "1" }
  1138. XArt_Grp = 'Total ' + XArt_Grp.
  1139. SUBSTRING(VZeile,001) = XArt_Grp.
  1140. SUBSTRING(VZeile,060) = STRING(VArtTotal[02] ,"zzz,zzz,zzz-").
  1141. SUBSTRING(VZeile,072) = STRING(VArtTotal[04] ,"zzz,zzz,zzz-").
  1142. SUBSTRING(VZeile,084) = STRING(VArtTotal[03] ,"zzz,zzz,zzz-").
  1143. IF T_Vorjahr THEN DO:
  1144. SUBSTRING(VZeile,100) = STRING(VArtTotal[07] ,"zzz,zzz,zzz-").
  1145. SUBSTRING(VZeile,112) = STRING(VArtTotal[09] ,"zzz,zzz,zzz-").
  1146. SUBSTRING(VZeile,124) = STRING(VArtTotal[08] ,"zzz,zzz,zzz-").
  1147. END.
  1148. { v8/putstreamf.i "1" }
  1149. FTotal = TRUE.
  1150. END.
  1151. IF LAST-OF ( BArtst.Prod_Grp ) THEN DO:
  1152. XProd_Grp = 'Total ' + XProd_Grp.
  1153. SUBSTRING(VZeile,001) = XProd_Grp.
  1154. SUBSTRING(VZeile,060) = STRING(VProdTotal[02] ,"zzz,zzz,zzz-").
  1155. SUBSTRING(VZeile,072) = STRING(VProdTotal[04] ,"zzz,zzz,zzz-").
  1156. SUBSTRING(VZeile,084) = STRING(VProdTotal[03] ,"zzz,zzz,zzz-").
  1157. IF T_Vorjahr THEN DO:
  1158. SUBSTRING(VZeile,100) = STRING(VProdTotal[07] ,"zzz,zzz,zzz-").
  1159. SUBSTRING(VZeile,112) = STRING(VProdTotal[09] ,"zzz,zzz,zzz-").
  1160. SUBSTRING(VZeile,124) = STRING(VProdTotal[08] ,"zzz,zzz,zzz-").
  1161. END.
  1162. { v8/putstreamf.i "1" }
  1163. FTotal = TRUE.
  1164. END.
  1165. IF LAST-OF ( BArtst.Wg_Grp ) THEN DO:
  1166. XWg_Grp = 'Total ' + XWg_Grp.
  1167. SUBSTRING(VZeile,001) = XWg_Grp.
  1168. SUBSTRING(VZeile,060) = STRING(VWgTotal[02] ,"zzz,zzz,zzz-").
  1169. SUBSTRING(VZeile,072) = STRING(VWgTotal[04] ,"zzz,zzz,zzz-").
  1170. SUBSTRING(VZeile,084) = STRING(VWgTotal[03] ,"zzz,zzz,zzz-").
  1171. IF T_Vorjahr THEN DO:
  1172. SUBSTRING(VZeile,100) = STRING(VWgTotal[07] ,"zzz,zzz,zzz-").
  1173. SUBSTRING(VZeile,112) = STRING(VWgTotal[09] ,"zzz,zzz,zzz-").
  1174. SUBSTRING(VZeile,124) = STRING(VWgTotal[08] ,"zzz,zzz,zzz-").
  1175. END.
  1176. { v8/putstreamf.i "1" }
  1177. FTotal = TRUE.
  1178. END.
  1179. IF FTotal THEN DO:
  1180. { v8/putstream.i "1" }
  1181. FTotal = FALSE.
  1182. END.
  1183. END.
  1184. IF GTotal[01] = 0 AND
  1185. GTotal[02] = 0 AND
  1186. GTotal[03] = 0 AND
  1187. GTotal[04] = 0 THEN RETURN.
  1188. SUBSTRING(VZeile,001) = TRIM(SUBSTRING(Helptext[12],21,20)).
  1189. SUBSTRING(VZeile,060) = STRING(GTotal[02] ,"zzz,zzz,zzz-").
  1190. SUBSTRING(VZeile,072) = STRING(GTotal[04] ,"zzz,zzz,zzz-").
  1191. SUBSTRING(VZeile,084) = STRING(GTotal[03] ,"zzz,zzz,zzz-").
  1192. IF T_Vorjahr THEN DO:
  1193. SUBSTRING(VZeile,100) = STRING(GTotal[07] ,"zzz,zzz,zzz-").
  1194. SUBSTRING(VZeile,112) = STRING(GTotal[09] ,"zzz,zzz,zzz-").
  1195. SUBSTRING(VZeile,124) = STRING(GTotal[08] ,"zzz,zzz,zzz-").
  1196. END.
  1197. { v8/putstreamf.i "1" }
  1198. END PROCEDURE.
  1199. /* _UIB-CODE-BLOCK-END */
  1200. &ANALYZE-RESUME
  1201. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI D-Dialog _DEFAULT-DISABLE
  1202. PROCEDURE disable_UI :
  1203. /*------------------------------------------------------------------------------
  1204. Purpose: DISABLE the User Interface
  1205. Parameters: <none>
  1206. Notes: Here we clean-up the user-interface by deleting
  1207. dynamic widgets we have created and/or hide
  1208. frames. This procedure is usually called when
  1209. we are ready to "clean-up" after running.
  1210. ------------------------------------------------------------------------------*/
  1211. /* Hide all frames. */
  1212. HIDE FRAME D-Dialog.
  1213. END PROCEDURE.
  1214. /* _UIB-CODE-BLOCK-END */
  1215. &ANALYZE-RESUME
  1216. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE DRUCKAUSGABE D-Dialog
  1217. PROCEDURE DRUCKAUSGABE :
  1218. /*------------------------------------------------------------------------------
  1219. Purpose:
  1220. Parameters: <none>
  1221. Notes:
  1222. ------------------------------------------------------------------------------*/
  1223. DEF VAR AnzKopien AS INT NO-UNDO.
  1224. AnzKopien = BLiDruck.ListCopy.
  1225. IF AnzKopien = 0 THEN AnzKopien = 1.
  1226. IF BDrucker.Emul = 'TERMINAL' THEN AnzKopien = 1.
  1227. DO VCopy = 1 TO AnzKopien:
  1228. DO WHILE BDrucker.Emul <> "TERMINAL":
  1229. IF BSteuer.Drucker <> "" AND
  1230. OPSYS = "Unix" THEN
  1231. OUTPUT STREAM Out_Stream
  1232. THROUGH VALUE(BSteuer.Drucker)
  1233. VALUE(BSchrift.Schname)
  1234. CONVERT TARGET "ibm850".
  1235. ELSE OUTPUT STREAM Out_Stream
  1236. TO VALUE(BSchrift.Schname)
  1237. CONVERT TARGET "ibm850".
  1238. PUT STREAM Out_Stream CONTROL BSchrift.Schseqbeg.
  1239. IF BLiDruck.Listlq THEN PUT STREAM Out_Stream CONTROL BDrucker.Drulqb.
  1240. IF BLiDruck.Schacht > 0 THEN PUT STREAM Out_Stream CONTROL BDrucker.DruSchacht[Schacht].
  1241. INPUT STREAM In_Stream FROM VALUE(VTemp) NO-ECHO NO-MAP.
  1242. REPEAT ON STOP UNDO, LEAVE WITH FRAME f_Print:
  1243. IMPORT STREAM In_Stream UNFORMATTED VZeile.
  1244. DISPLAY STREAM Out_Stream VZeile
  1245. WITH FRAME f_Print NO-LABELS STREAM-IO
  1246. NO-BOX USE-TEXT WIDTH 255.
  1247. END.
  1248. PUT STREAM Out_Stream CONTROL CHR(12).
  1249. OUTPUT STREAM Out_Stream CLOSE.
  1250. INPUT STREAM In_Stream CLOSE.
  1251. LEAVE.
  1252. END.
  1253. DO WHILE BDrucker.Emul = "TERMINAL":
  1254. RUN "v8/d-liste.w" ( INPUT HelpText[02] ).
  1255. LEAVE.
  1256. END.
  1257. END.
  1258. END PROCEDURE.
  1259. /* _UIB-CODE-BLOCK-END */
  1260. &ANALYZE-RESUME
  1261. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE DRUCKEN D-Dialog
  1262. PROCEDURE DRUCKEN :
  1263. /*------------------------------------------------------------------------------
  1264. Purpose:
  1265. Parameters: <none>
  1266. Notes:
  1267. ------------------------------------------------------------------------------*/
  1268. DEF VAR XProgname AS CHAR NO-UNDO.
  1269. DEF VAR VListnr AS INT NO-UNDO.
  1270. DEF VAR FNeu AS LOG NO-UNDO.
  1271. DEF VAR VDrucker AS CHAR NO-UNDO.
  1272. DEF VAR VSchrift AS CHAR NO-UNDO.
  1273. DEF VAR cUser AS CHAR NO-UNDO.
  1274. DO WITH FRAME {&FRAME-NAME}:
  1275. cUser = DYNAMIC-FUNCTION('getDBUser':U) NO-ERROR.
  1276. VProgname = TRIM(cUSER) + '!ARTKUNUMS' + STRING(RS_Sort,"99").
  1277. XProgname = 'ARTKUNUMS' + STRING(RS_Sort,"99").
  1278. FNeu = FALSE.
  1279. DO WITH FRAME {&FRAME-NAME}:
  1280. VDrucker = CB_Drucker:SCREEN-VALUE.
  1281. VSchrift = CB_Schriftbild:SCREEN-VALUE.
  1282. END.
  1283. REPEAT TRANSACTION:
  1284. FIND FIRST Listen USE-INDEX Listen-k1
  1285. WHERE Listen.Firma = GVFirma
  1286. AND Listen.Progname = VProgname
  1287. AND Listen.Listfl = '' NO-ERROR.
  1288. IF NOT AVAILABLE Listen THEN DO:
  1289. FIND LAST Listen USE-INDEX Listen-k1
  1290. WHERE Listen.Firma = GVFirma NO-LOCK NO-ERROR.
  1291. IF AVAILABLE Listen THEN VListnr = Listen.Listnr + 1.
  1292. ELSE VListnr = 1.
  1293. CREATE Listen.
  1294. ASSIGN Listen.Firma = GVFirma
  1295. Listen.Listnr = VListnr
  1296. Listen.Progname = VProgname
  1297. Listen.Listfl = ''
  1298. Listen.Jahr = GVJahr
  1299. Listen.Sprcd = GVSprcd
  1300. Listen.Sort = RS_Sort
  1301. Listen.ProgWahl = 1
  1302. FNeu = TRUE.
  1303. END.
  1304. Listen.Listfl = 'A'.
  1305. ARecid = RECID(Listen).
  1306. FIND LiDruck USE-INDEX LiDruck-k1
  1307. WHERE LiDruck.Firma = GVFirma
  1308. AND LiDruck.Listnr = Listen.Listnr
  1309. AND LiDruck.ProgWahl = Listen.ProgWahl NO-ERROR.
  1310. IF NOT AVAILABLE LiDruck THEN DO:
  1311. CREATE LiDruck.
  1312. ASSIGN LiDruck.Firma = GVFirma
  1313. LiDruck.Listnr = Listen.Listnr
  1314. LiDruck.ProgWahl = Listen.ProgWahl
  1315. LiDruck.Listprog = XProgname
  1316. LiDruck.ListCopy = 1
  1317. LiDruck.Schacht = 0
  1318. LiDruck.Listlq = FALSE.
  1319. END.
  1320. BRecid = RECID(LiDruck).
  1321. ASSIGN Listen.Sort = RS_Sort
  1322. Listen.ENr[01] = RS_Sort-2
  1323. Listen.VNr[01] = F_VArtnr
  1324. Listen.BNr[01] = F_BArtnr
  1325. Listen.VNr[02] = F_VKnr
  1326. Listen.BNr[02] = F_BKnr
  1327. Listen.VFl[01] = T_Detail
  1328. Listen.VFl[02] = T_Vorjahr
  1329. Listen.VDa[01] = F_VDatum
  1330. Listen.BDa[01] = F_BDatum
  1331. Listen.ECh[01] = F_Hersteller
  1332. Listen.ECh[02] = F_Warengruppe
  1333. Listen.ECh[03] = F_Preisgruppen
  1334. Listen.ECh[04] = F_Kundengruppen
  1335. Listen.ECh[05] = F_Vertreter
  1336. Listen.ECh[06] = F_Touren
  1337. Listen.ECh[07] = F_Orte.
  1338. IF TRecid = 0 THEN DO:
  1339. CREATE Tabel.
  1340. ASSIGN Tabel.Firma = GVFirma
  1341. Tabel.RecArt = 'LISTEN'
  1342. Tabel.CodeC = 'ARTKUNUMS'
  1343. Tabel.CodeI = VLiArt
  1344. Tabel.Sprcd = 0.
  1345. END.
  1346. ELSE DO:
  1347. FIND Tabel WHERE RECID(Tabel) = TRecid.
  1348. END.
  1349. TRecid = RECID(Tabel).
  1350. ASSIGN Tabel.Int_1 = ARecid
  1351. Tabel.Int_2 = BRecid.
  1352. FIND Schrift USE-INDEX Schrift-k1
  1353. WHERE Schrift.Schname = VDrucker
  1354. AND Schrift.Schbild = VSchrift NO-LOCK NO-ERROR.
  1355. IF AVAILABLE Schrift THEN DO:
  1356. IF LiDruck.ListDru <> VDrucker OR
  1357. LiDruck.ListBild <> VSchrift THEN DO:
  1358. ASSIGN LiDruck.ListTzz = Schrift.Schzztot
  1359. LiDruck.ListKzz = Schrift.Schzzbeg
  1360. LiDruck.ListFzz = Schrift.Schzzend.
  1361. END.
  1362. ASSIGN LiDruck.ListDru = VDrucker
  1363. LiDruck.ListBild = VSchrift.
  1364. END.
  1365. RUN LIBILD.
  1366. RELEASE Listen.
  1367. RELEASE LiDruck.
  1368. RELEASE Tabel.
  1369. LEAVE.
  1370. END.
  1371. IF FNeu THEN DO:
  1372. T_Drucker = TRUE.
  1373. DISPLAY T_Drucker WITH FRAME {&FRAME-NAME}.
  1374. END.
  1375. IF T_Drucker THEN RUN DRUCKER.
  1376. FIND BSteuer WHERE BSteuer.Firma = GVFirma NO-LOCK NO-ERROR.
  1377. FIND BListen WHERE RECID(BListen) = ARecid NO-LOCK NO-ERROR.
  1378. FIND BLiDruck WHERE RECID(BLiDruck) = BRecid NO-LOCK NO-ERROR.
  1379. FIND BSchrift USE-INDEX Schrift-k1
  1380. WHERE BSchrift.Schname = BLiDruck.ListDru
  1381. AND BSchrift.Schbild = BLiDruck.ListBild NO-LOCK NO-ERROR.
  1382. FIND BDrucker USE-INDEX Drucker-k1
  1383. WHERE BDrucker.Drucker = BSchrift.Schdru NO-LOCK NO-ERROR.
  1384. IF T_Drucker THEN DO:
  1385. FIND LiDruck WHERE RECID(LiDruck) = BRecid NO-LOCK NO-ERROR.
  1386. i1 = CB_Drucker:LOOKUP(LiDruck.ListDru).
  1387. IF i1 = 0 THEN i1 = 1.
  1388. CB_Drucker:SCREEN-VALUE = CB_Drucker:ENTRY(i1).
  1389. APPLY 'VALUE-CHANGED' TO CB_Drucker.
  1390. END.
  1391. TiDruck = TRUE.
  1392. VSeite = 0.
  1393. RUN TEMP_FILE.
  1394. RUN LISTTIT1.
  1395. RUN WORKFILE.
  1396. IF DOpen = TRUE THEN OUTPUT STREAM Out_Stream TO VALUE(VTemp).
  1397. IF RS_Sort = 1 THEN DO:
  1398. IF RS_Sort-2 = 1 THEN RUN AUSGABE_01.
  1399. IF RS_Sort-2 = 2 THEN RUN AUSGABE_02.
  1400. IF RS_Sort-2 = 3 THEN RUN AUSGABE_03.
  1401. END.
  1402. IF DOpen THEN OUTPUT STREAM Out_Stream CLOSE.
  1403. DOpen = FALSE.
  1404. RUN DRUCKAUSGABE.
  1405. IF VTemp <> '' THEN OS-DELETE VALUE(VTemp).
  1406. END.
  1407. REPEAT TRANSACTION:
  1408. FIND BListen WHERE RECID(BListen) = ARecid.
  1409. BListen.ListFl = ''.
  1410. RELEASE BListen.
  1411. LEAVE.
  1412. END.
  1413. FIND BListen WHERE RECID(BListen) = ARecid NO-LOCK NO-ERROR.
  1414. END PROCEDURE.
  1415. /* _UIB-CODE-BLOCK-END */
  1416. &ANALYZE-RESUME
  1417. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE DRUCKER D-Dialog
  1418. PROCEDURE DRUCKER :
  1419. /*------------------------------------------------------------------------------
  1420. Purpose:
  1421. Parameters: <none>
  1422. Notes:
  1423. ------------------------------------------------------------------------------*/
  1424. LVRecid = TRecid.
  1425. SESSION:SET-WAIT-STATE('').
  1426. RUN "v8/d-druckauswahl.w".
  1427. SESSION:SET-WAIT-STATE('GENERAL').
  1428. END PROCEDURE.
  1429. /* _UIB-CODE-BLOCK-END */
  1430. &ANALYZE-RESUME
  1431. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI D-Dialog _DEFAULT-ENABLE
  1432. PROCEDURE enable_UI :
  1433. /*------------------------------------------------------------------------------
  1434. Purpose: ENABLE the User Interface
  1435. Parameters: <none>
  1436. Notes: Here we display/view/enable the widgets in the
  1437. user-interface. In addition, OPEN all queries
  1438. associated with each FRAME and BROWSE.
  1439. These statements here are based on the "Other
  1440. Settings" section of the widget Property Sheets.
  1441. ------------------------------------------------------------------------------*/
  1442. DISPLAY CB_Listenart RS_Sort RS_Sort-2 F_VArtnr F_BArtnr F_Hersteller
  1443. F_Warengruppe F_VDatum F_BDatum F_VKnr F_BKnr F_Preisgruppen
  1444. F_Kundengruppen F_Vertreter F_Touren F_Orte T_Detail T_Vorjahr
  1445. CB_Drucker CB_Schriftbild T_Drucker
  1446. WITH FRAME D-Dialog.
  1447. ENABLE CB_Listenart RS_Sort RS_Sort-2 F_VArtnr F_BArtnr F_Hersteller
  1448. F_Warengruppe F_VDatum F_BDatum F_VKnr F_BKnr F_Preisgruppen
  1449. F_Kundengruppen F_Vertreter F_Touren F_Orte T_Detail T_Vorjahr
  1450. CB_Drucker CB_Schriftbild T_Drucker Btn_OK Btn_Cancel RECT-2 RECT-3
  1451. RECT-4
  1452. WITH FRAME D-Dialog.
  1453. VIEW FRAME D-Dialog.
  1454. {&OPEN-BROWSERS-IN-QUERY-D-Dialog}
  1455. END PROCEDURE.
  1456. /* _UIB-CODE-BLOCK-END */
  1457. &ANALYZE-RESUME
  1458. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE KUNDENGRUPPE D-Dialog
  1459. PROCEDURE KUNDENGRUPPE :
  1460. /*------------------------------------------------------------------------------
  1461. Purpose:
  1462. Parameters: <none>
  1463. Notes:
  1464. ------------------------------------------------------------------------------*/
  1465. VKgrTotal = 0.
  1466. XKund_Grp = ''.
  1467. LVRecArt = 'KUNDGRP'.
  1468. LVCodeI = BDebst.Ku_Grp.
  1469. LVCodeC = ''.
  1470. LVSprcd = 0.
  1471. { v8/tabelfind.i GVFirma LVRecArt LVCodeI LVCodeC LVSprcd }
  1472. IF AVAILABLE Tabel THEN XKund_Grp = STRING(BDebst.Ku_Grp,"999 ")
  1473. + Tabel.Bez1.
  1474. ELSE XKund_Grp = STRING(BDebst.Ku_Grp,"999 ")
  1475. + '???????????????'.
  1476. END PROCEDURE.
  1477. /* _UIB-CODE-BLOCK-END */
  1478. &ANALYZE-RESUME
  1479. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LIBILD D-Dialog
  1480. PROCEDURE LIBILD :
  1481. /*------------------------------------------------------------------------------
  1482. Purpose:
  1483. Parameters: <none>
  1484. Notes:
  1485. ------------------------------------------------------------------------------*/
  1486. Helptext = "".
  1487. FOR EACH LiBild USE-INDEX LiBild-k1
  1488. WHERE LiBild.Sprcd = GVSprcd
  1489. AND LiBild.Prog = LiDruck.Listprog
  1490. AND LiBild.Tenr > 0 NO-LOCK ix = 1 TO 20:
  1491. Helptext[ix] = LiBild.Litext.
  1492. END.
  1493. Breite = INTEGER(SUBSTRING(Helptext[01],02,03)).
  1494. IF NOT T_Vorjahr THEN Breite = Breite - 36.
  1495. END PROCEDURE.
  1496. /* _UIB-CODE-BLOCK-END */
  1497. &ANALYZE-RESUME
  1498. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LISTTIT1 D-Dialog
  1499. PROCEDURE LISTTIT1 :
  1500. /*------------------------------------------------------------------------------
  1501. Purpose:
  1502. Parameters: <none>
  1503. Notes:
  1504. ------------------------------------------------------------------------------*/
  1505. Tittxt = STRING(MONTH(F_VDatum),"99")
  1506. + STRING(YEAR (F_VDatum),"/9999")
  1507. + " - "
  1508. + STRING(MONTH(F_BDatum),"99")
  1509. + STRING(YEAR (F_BDatum),"/9999").
  1510. Fuell = SUBSTRING(Helptext[01],01,01).
  1511. Breite = INTEGER(SUBSTRING(Helptext[01],02,03)).
  1512. IF NOT T_Vorjahr THEN Breite = Breite - 36.
  1513. VRand = INTEGER(SUBSTRING(Helptext[01],68,03)).
  1514. Dattxt = SUBSTRING(Helptext[01],05,10).
  1515. Seitxt = SUBSTRING(Helptext[01],15,10).
  1516. Zeitxt = SUBSTRING(Helptext[01],25,10).
  1517. Firtxt = SUBSTRING(Helptext[01],35,10).
  1518. Jahtxt = SUBSTRING(Helptext[01],45,10).
  1519. PPos1 = Breite - 20.
  1520. PPos2 = (Breite - LENGTH(Helptext[02]) - 1) / 2.
  1521. PPos5 = (Breite - LENGTH(Tittxt) - 1) / 2.
  1522. ix = LENGTH(BDrucker.Drufettb) + LENGTH(BDrucker.Drufette).
  1523. PPos3 = PPos1 + ix.
  1524. PPos4 = Breite + ix - 3.
  1525. IF Fuell <> "" THEN Kopfz = FILL(Fuell,Breite).
  1526. Ueber1 = "".
  1527. Ueber2 = "".
  1528. Ueber3 = "".
  1529. IF Helptext[03] <> "" THEN SUBSTRING(Ueber1,001) = Helptext[03].
  1530. IF Helptext[04] <> "" THEN SUBSTRING(Ueber1,071) = Helptext[04].
  1531. IF Helptext[05] <> "" THEN SUBSTRING(Ueber1,141) = Helptext[05].
  1532. IF Helptext[06] <> "" THEN SUBSTRING(Ueber2,001) = Helptext[06].
  1533. IF Helptext[07] <> "" THEN SUBSTRING(Ueber2,071) = Helptext[07].
  1534. IF Helptext[08] <> "" THEN SUBSTRING(Ueber2,141) = Helptext[08].
  1535. IF Helptext[09] <> "" THEN SUBSTRING(Ueber3,001) = Helptext[09].
  1536. IF Helptext[10] <> "" THEN SUBSTRING(Ueber3,071) = Helptext[10].
  1537. IF Helptext[11] <> "" THEN SUBSTRING(Ueber3,141) = Helptext[11].
  1538. IF Ueber1 <> '' THEN Ueber1 = BDrucker.Drufettb + Ueber1 + BDrucker.Drufette.
  1539. IF Ueber2 <> '' THEN Ueber2 = BDrucker.Drufettb + Ueber2 + BDrucker.Drufette.
  1540. IF Ueber3 <> '' THEN Ueber3 = BDrucker.Drufettb + Ueber3 + BDrucker.Drufette.
  1541. Helptext[02] = BDrucker.Drufettb + Helptext[02] + BDrucker.Drufette.
  1542. Tittxt = BDrucker.Drufettb + Tittxt + BDrucker.Drufette.
  1543. ap = 1.
  1544. XDruDat = ?.
  1545. IF NOT T_Vorjahr THEN DO:
  1546. Ueber1 = TRIM(SUBSTRING(Ueber1,01,Breite)).
  1547. Ueber2 = TRIM(SUBSTRING(Ueber2,01,Breite)).
  1548. Ueber3 = TRIM(SUBSTRING(Ueber3,01,Breite)).
  1549. END.
  1550. END PROCEDURE.
  1551. /* _UIB-CODE-BLOCK-END */
  1552. &ANALYZE-RESUME
  1553. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LISTTIT2 D-Dialog
  1554. PROCEDURE LISTTIT2 :
  1555. /*------------------------------------------------------------------------------
  1556. Purpose:
  1557. Parameters: <none>
  1558. Notes:
  1559. ------------------------------------------------------------------------------*/
  1560. IF NOT TiDruck AND Leer > 0 THEN DO:
  1561. { v8/putzeily.i XLeer Leer }
  1562. END.
  1563. IF (VLine + BLiDruck.Listfzz + Zuszz) > BLiDruck.Listtzz THEN TiDruck = TRUE.
  1564. IF TiDruck THEN DO:
  1565. IF Uebertrag <> "" THEN DO:
  1566. { v8/putzeily.i XLeer "1" }
  1567. { v8/putzeily.i Uebertrag "1" }
  1568. { v8/putzeily.i XLeer "1" }
  1569. END.
  1570. IF DOpen = TRUE THEN DO:
  1571. RUN NEUE_SEITE.
  1572. END.
  1573. ELSE DO:
  1574. VSeite = VSeite + 1.
  1575. VZNr = VZNr + 1.
  1576. VLine = 0.
  1577. CREATE XTermOut.
  1578. ASSIGN XTermOut.ZNr = VZNr
  1579. XTermOut.Zeile = ''.
  1580. END.
  1581. IF Listkzz > 0 THEN DO:
  1582. { v8/putzeily.i XLeer Listkzz }
  1583. END.
  1584. IF Kopfz <> "" THEN DO:
  1585. { v8/putzeily.i Kopfz "1" }
  1586. END.
  1587. Titelz = "".
  1588. SUBSTRING(Titelz,01) = BSteuer.Firma1.
  1589. SUBSTRING(Titelz,PPos1) = Dattxt.
  1590. IF XDruDat <> ? THEN SUBSTR(Titelz,Breite - 9) = STRING(XDruDat,VDatForm).
  1591. ELSE SUBSTR(Titelz,Breite - 9) = STRING(TODAY ,VDatForm).
  1592. { v8/putzeily.i Titelz "1" }
  1593. Titelz = "".
  1594. SUBSTRING(Titelz,01) = BSteuer.Strasse.
  1595. SUBSTRING(Titelz,PPos2) = Helptext[02].
  1596. SUBSTRING(Titelz,PPos3) = Seitxt.
  1597. SUBSTRING(Titelz,PPos4) = STRING(VSeite,"zzz9").
  1598. { v8/putzeily.i Titelz "1" }
  1599. Titelz = "".
  1600. SUBSTRING(Titelz,01) = BSteuer.Ort.
  1601. IF Tittxt <> "" THEN DO:
  1602. SUBSTRING(Titelz,PPos5) = Tittxt.
  1603. END.
  1604. SUBSTRING(Titelz,PPos3) = Zeitxt.
  1605. SUBSTRING(Titelz,PPos4 - 4) = STRING(TIME,"HH:MM:SS").
  1606. { v8/putzeily.i Titelz "1" }
  1607. IF BListen.FirmaFl OR BListen.JahrFl THEN DO:
  1608. Titelz = "".
  1609. IF BListen.FirmaFl THEN DO:
  1610. SUBSTRING(Titelz,01) = Firtxt.
  1611. SUBSTRING(Titelz,11) = STRING(BListen.Firma).
  1612. END.
  1613. IF BListen.JahrFl THEN DO:
  1614. SUBSTRING(Titelz,PPos1) = Jahtxt.
  1615. SUBSTRING(Titelz,Breite - 3) = STRING(BListen.Jahr,"9999").
  1616. END.
  1617. { v8/putzeily.i Titelz "1" }
  1618. END.
  1619. IF Kopfz <> "" THEN DO:
  1620. { v8/putzeily.i Kopfz "1" }
  1621. END.
  1622. { v8/putzeily.i XLeer "1" }
  1623. aa = 0.
  1624. IF Ueber1 <> "" THEN DO:
  1625. { v8/putzeily.i Ueber1 "1" }
  1626. aa = 1.
  1627. END.
  1628. IF Ueber2 <> "" THEN DO:
  1629. { v8/putzeily.i Ueber2 "1" }
  1630. aa = 1.
  1631. END.
  1632. IF Ueber3 <> "" THEN DO:
  1633. { v8/putzeily.i Ueber3 "1" }
  1634. aa = 1.
  1635. END.
  1636. IF aa = 1 THEN DO:
  1637. { v8/putzeily.i XLeer "1" }.
  1638. END.
  1639. TiGedru = TRUE.
  1640. END.
  1641. IF Leer > 0 OR TiDruck THEN DO:
  1642. IF Ueber4 <> "" THEN DO:
  1643. { v8/putzeily.i Ueber4 "2" }
  1644. END.
  1645. IF Ueber5 <> "" THEN DO:
  1646. { v8/putzeily.i Ueber5 "2" }
  1647. END.
  1648. IF Uebertrag <> "" THEN DO:
  1649. { v8/putzeily.i Uebertrag "2" }
  1650. END.
  1651. END.
  1652. TiDruck = FALSE.
  1653. Uebertrag = "".
  1654. Leer = 0.
  1655. Zuszz = 0.
  1656. END PROCEDURE.
  1657. /* _UIB-CODE-BLOCK-END */
  1658. &ANALYZE-RESUME
  1659. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-view D-Dialog
  1660. PROCEDURE local-view :
  1661. /*------------------------------------------------------------------------------
  1662. Purpose: Override standard ADM method
  1663. Notes:
  1664. ------------------------------------------------------------------------------*/
  1665. RUN dispatch IN THIS-PROCEDURE ( INPUT 'view':U ) .
  1666. APPLY 'VALUE-CHANGED' TO CB_Listenart IN FRAME {&FRAME-NAME}.
  1667. APPLY 'VALUE-CHANGED' TO CB_Drucker IN FRAME {&FRAME-NAME}.
  1668. END PROCEDURE.
  1669. /* _UIB-CODE-BLOCK-END */
  1670. &ANALYZE-RESUME
  1671. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE NEUE_SEITE D-Dialog
  1672. PROCEDURE NEUE_SEITE :
  1673. /*------------------------------------------------------------------------------
  1674. Purpose:
  1675. Parameters: <none>
  1676. Notes:
  1677. ------------------------------------------------------------------------------*/
  1678. DEF VAR A AS INT NO-UNDO.
  1679. DEF VAR B AS INT NO-UNDO.
  1680. DO WHILE VSeite > 0:
  1681. IF DOpen THEN DO:
  1682. PUT STREAM Out_Stream CHR(12).
  1683. LEAVE.
  1684. END.
  1685. A = BLiDruck.Listtzz.
  1686. DO B = VLine TO A:
  1687. VZNr = VZNr + 1.
  1688. CREATE XTermOut.
  1689. ASSIGN XTermOut.ZNr = VZNr
  1690. XTermOut.Zeile = ''.
  1691. END.
  1692. LEAVE.
  1693. END.
  1694. VLine = 0.
  1695. VSeite = VSeite + 1.
  1696. END PROCEDURE.
  1697. /* _UIB-CODE-BLOCK-END */
  1698. &ANALYZE-RESUME
  1699. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE PREISGRUPPE D-Dialog
  1700. PROCEDURE PREISGRUPPE :
  1701. /*------------------------------------------------------------------------------
  1702. Purpose:
  1703. Parameters: <none>
  1704. Notes:
  1705. ------------------------------------------------------------------------------*/
  1706. VKgrTotal = 0.
  1707. XKund_Grp = ''.
  1708. LVRecArt = 'PREGRP'.
  1709. LVCodeI = BDebst.Preis_Grp.
  1710. LVCodeC = ''.
  1711. LVSprcd = 0.
  1712. { v8/tabelfind.i GVFirma LVRecArt LVCodeI LVCodeC LVSprcd }
  1713. IF AVAILABLE Tabel THEN XPreis_Grp = STRING(BDebst.Preis_Grp,"999 ")
  1714. + Tabel.Bez1.
  1715. ELSE XPreis_Grp = STRING(BDebst.Preis_Grp,"999 ")
  1716. + '???????????????'.
  1717. END PROCEDURE.
  1718. /* _UIB-CODE-BLOCK-END */
  1719. &ANALYZE-RESUME
  1720. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE PRODGRUPPE D-Dialog
  1721. PROCEDURE PRODGRUPPE :
  1722. /*------------------------------------------------------------------------------
  1723. Purpose:
  1724. Parameters: <none>
  1725. Notes:
  1726. ------------------------------------------------------------------------------*/
  1727. VProdTotal = 0.
  1728. XProd_Grp = ''.
  1729. FIND ProdGrp USE-INDEX ProdGrp-k1
  1730. WHERE ProdGrp.Firma = GVFirma
  1731. AND ProdGrp.Wgr = BArtst.Wg_Grp
  1732. AND ProdGrp.Prod_Grp = BArtst.Prod_Grp NO-LOCK NO-ERROR.
  1733. IF AVAILABLE ProdGrp THEN XProd_Grp = STRING(BArtst.Prod_Grp ,"999 ")
  1734. + ProdGrp.Bez1.
  1735. ELSE XProd_Grp = STRING(BArtst.Prod_Grp ,"999 ")
  1736. + '???????????????'.
  1737. END PROCEDURE.
  1738. /* _UIB-CODE-BLOCK-END */
  1739. &ANALYZE-RESUME
  1740. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE send-records D-Dialog _ADM-SEND-RECORDS
  1741. PROCEDURE send-records :
  1742. /*------------------------------------------------------------------------------
  1743. Purpose: Send record ROWID's for all tables used by
  1744. this file.
  1745. Parameters: see template/snd-head.i
  1746. ------------------------------------------------------------------------------*/
  1747. /* SEND-RECORDS does nothing because there are no External
  1748. Tables specified for this SmartDialog, and there are no
  1749. tables specified in any contained Browse, Query, or Frame. */
  1750. END PROCEDURE.
  1751. /* _UIB-CODE-BLOCK-END */
  1752. &ANALYZE-RESUME
  1753. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SORTIERARTEN D-Dialog
  1754. PROCEDURE SORTIERARTEN :
  1755. /*------------------------------------------------------------------------------
  1756. Purpose:
  1757. Parameters: <none>
  1758. Notes:
  1759. ------------------------------------------------------------------------------*/
  1760. DO WITH FRAME {&FRAME-NAME}:
  1761. CASE VLiArt:
  1762. /*
  1763. WHEN 1 THEN DO:
  1764. RS_Sort:RADIO-BUTTONS = 'Warengruppe/Produktegruppe/Artikelgruppe,1,,2,,3'.
  1765. RS_Sort-2:RADIO-BUTTONS = 'Suchbegriff,1,Kundengruppe/Suchbegriff,2,Preisgruppe/Suchbegriff,3'.
  1766. END.
  1767. */
  1768. WHEN 1 THEN DO:
  1769. RS_Sort:RADIO-BUTTONS = 'Warengruppe/Produktegruppe/Artikelgruppe,1'.
  1770. RS_Sort-2:RADIO-BUTTONS = 'Suchbegriff,1,Kundengruppe/Suchbegriff,2,Preisgruppe/Suchbegriff,3'.
  1771. END.
  1772. END CASE.
  1773. END.
  1774. END PROCEDURE.
  1775. /* _UIB-CODE-BLOCK-END */
  1776. &ANALYZE-RESUME
  1777. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE state-changed D-Dialog
  1778. PROCEDURE state-changed :
  1779. /* -----------------------------------------------------------
  1780. Purpose:
  1781. Parameters: <none>
  1782. Notes:
  1783. -------------------------------------------------------------*/
  1784. DEFINE INPUT PARAMETER p-issuer-hdl AS HANDLE NO-UNDO.
  1785. DEFINE INPUT PARAMETER p-state AS CHARACTER NO-UNDO.
  1786. END PROCEDURE.
  1787. /* _UIB-CODE-BLOCK-END */
  1788. &ANALYZE-RESUME
  1789. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE TEMP_FILE D-Dialog
  1790. PROCEDURE TEMP_FILE :
  1791. /*------------------------------------------------------------------------------
  1792. Purpose:
  1793. Parameters: <none>
  1794. Notes:
  1795. ------------------------------------------------------------------------------*/
  1796. DEF VAR VSort1 AS CHAR NO-UNDO.
  1797. DEF VAR VSort2 AS CHAR NO-UNDO.
  1798. DEF VAR VSort3 AS CHAR NO-UNDO.
  1799. DEF VAR VSort4 AS CHAR NO-UNDO.
  1800. DEF VAR VSort5 AS CHAR NO-UNDO.
  1801. DEF VAR VDatum AS DATE NO-UNDO.
  1802. DEF VAR BDatum AS DATE NO-UNDO.
  1803. FOR EACH THilfsTab:
  1804. DELETE THilfsTab.
  1805. END.
  1806. ix = ((YEAR(F_BDatum) * 12) + MONTH(F_BDatum))
  1807. - ((YEAR(F_VDatum) * 12) + MONTH(F_VDatum)) + 1.
  1808. BDatum = F_VDatum - 1.
  1809. i1 = YEAR (BDatum).
  1810. i2 = MONTH(BDatum) - ix + 1.
  1811. DO WHILE i2 < 0:
  1812. i1 = i1 - 1.
  1813. i2 = i2 + 12.
  1814. END.
  1815. VDatum = DATE(i2,01,i1).
  1816. FOR EACH DeArUms USE-INDEX DeArUms-k2
  1817. WHERE DeArUms.Firma = GVFirma
  1818. AND DeArUms.Jahr >= YEAR(F_VDatum)
  1819. AND DeArUms.Jahr <= YEAR(F_BDatum) NO-LOCK,
  1820. FIRST Artst USE-INDEX Artst-k1
  1821. WHERE Artst.Firma = DeArUms.Firma
  1822. AND Artst.Artnr = DeArUms.Artnr
  1823. AND Artst.Inhalt = DeArUms.Inhalt
  1824. AND Artst.Jahr = DeArUms.Jahrg NO-LOCK,
  1825. FIRST Debst USE-INDEX Debst-k1
  1826. WHERE Debst.Firma = DeArUms.Firma
  1827. AND Debst.Knr = DeArUms.Knr NO-LOCK:
  1828. Ja = FALSE.
  1829. DO WHILE TRUE:
  1830. IF Artst.Artnr < F_VArtnr THEN LEAVE.
  1831. IF Artst.Artnr > F_BArtnr THEN LEAVE.
  1832. IF Debst.Knr < F_VKnr THEN LEAVE.
  1833. IF Debst.Knr > F_BKnr THEN LEAVE.
  1834. IF F_Hersteller <> '' AND
  1835. LOOKUP(STRING(Artst.Herst ,"999"), F_Hersteller ) = 0 THEN LEAVE.
  1836. IF F_Warengruppe <> '' AND
  1837. LOOKUP(STRING(Artst.Wg_Grp ,"999"), F_Warengruppe ) = 0 THEN LEAVE.
  1838. IF F_Preisgruppen <> '' AND
  1839. LOOKUP(STRING(Debst.Preis_Grp,"999"), F_Preisgruppen ) = 0 THEN LEAVE.
  1840. IF F_Kundengruppen <> '' AND
  1841. LOOKUP(STRING(Debst.Ku_Grp ,"999"), F_Kundengruppen) = 0 THEN LEAVE.
  1842. IF F_Vertreter <> '' AND
  1843. LOOKUP(STRING(Debst.Vertr ,"999"), F_Vertreter ) = 0 THEN LEAVE.
  1844. IF F_Touren <> '' AND
  1845. LOOKUP(STRING(Debst.Tour_Nr1 ,"999"), F_Touren ) = 0 THEN LEAVE.
  1846. IF F_Orte = '' THEN DO:
  1847. Ja = TRUE.
  1848. LEAVE.
  1849. END.
  1850. FIND Adresse USE-INDEX Adresse-k1
  1851. WHERE Adresse.Firma = AdFirma
  1852. AND Adresse.Knr = DeArUms.Knr NO-LOCK NO-ERROR.
  1853. IF LOOKUP(Adresse.Plz, F_Orte) = 0 THEN LEAVE.
  1854. Ja = TRUE.
  1855. LEAVE.
  1856. END.
  1857. IF NOT Ja THEN NEXT.
  1858. VSort1 = STRING(Artst.Artnr ,"999999").
  1859. VSort2 = STRING(Artst.Inhalt,"9999").
  1860. VSort3 = STRING(Artst.Jahr ,"9999").
  1861. VSort4 = STRING(Debst.Knr ,"999999").
  1862. FIND FIRST THilfsTab USE-INDEX HilfsTab-k1
  1863. WHERE THilfsTab.Firma = GVFirma
  1864. AND THilfsTab.Sort_1 = VSort1
  1865. AND THilfsTab.Sort_2 = VSort2
  1866. AND THilfsTab.Sort_3 = VSort3
  1867. AND THilfsTab.Sort_4 = VSort4 NO-ERROR.
  1868. IF NOT AVAILABLE THilfsTab THEN DO:
  1869. CREATE THilfsTab.
  1870. ASSIGN THilfsTab.Firma = GVFirma
  1871. THilfsTab.Sort_1 = VSort1
  1872. THilfsTab.Sort_2 = VSort2
  1873. THilfsTab.Sort_3 = VSort3
  1874. THilfsTab.Sort_4 = VSort4
  1875. THilfsTab.Zahl_1 = RECID(Artst)
  1876. THilfsTab.Zahl_2 = RECID(Debst).
  1877. END.
  1878. i1 = 01.
  1879. i2 = 12.
  1880. IF DeArUms.Jahr = YEAR(F_VDatum) THEN i1 = MONTH(F_VDatum).
  1881. IF DeArUms.Jahr = YEAR(F_BDatum) THEN i2 = MONTH(F_BDatum).
  1882. DO ix = i1 TO i2:
  1883. THilfsTab.Wert[01] = THilfsTab.Wert[01] + DeArUms.Ep_Mon[ix].
  1884. THilfsTab.Wert[02] = THilfsTab.Wert[02] + DeArUms.Me_Mon[ix].
  1885. THilfsTab.Wert[03] = THilfsTab.Wert[03] + DeArUms.Li_Mon[ix].
  1886. THilfsTab.Wert[04] = THilfsTab.Wert[04] + DeArUms.Vp_Mon[ix].
  1887. END.
  1888. END.
  1889. IF NOT T_Vorjahr THEN RETURN.
  1890. FOR EACH DeArUms USE-INDEX DeArUms-k2
  1891. WHERE DeArUms.Firma = GVFirma
  1892. AND DeArUms.Jahr >= YEAR(VDatum)
  1893. AND DeArUms.Jahr <= YEAR(BDatum) NO-LOCK,
  1894. FIRST Artst USE-INDEX Artst-k1
  1895. WHERE Artst.Firma = DeArUms.Firma
  1896. AND Artst.Artnr = DeArUms.Artnr
  1897. AND Artst.Inhalt = DeArUms.Inhalt
  1898. AND Artst.Jahr = DeArUms.Jahrg NO-LOCK,
  1899. FIRST Debst USE-INDEX Debst-k1
  1900. WHERE Debst.Firma = DeArUms.Firma
  1901. AND Debst.Knr = DeArUms.Knr NO-LOCK:
  1902. Ja = FALSE.
  1903. DO WHILE TRUE:
  1904. IF Artst.Artnr < F_VArtnr THEN LEAVE.
  1905. IF Artst.Artnr > F_BArtnr THEN LEAVE.
  1906. IF Debst.Knr < F_VKnr THEN LEAVE.
  1907. IF Debst.Knr > F_BKnr THEN LEAVE.
  1908. IF F_Hersteller <> '' AND
  1909. LOOKUP(STRING(Artst.Herst ,"999"), F_Hersteller ) = 0 THEN LEAVE.
  1910. IF F_Warengruppe <> '' AND
  1911. LOOKUP(STRING(Artst.Wg_Grp ,"999"), F_Warengruppe ) = 0 THEN LEAVE.
  1912. IF F_Preisgruppen <> '' AND
  1913. LOOKUP(STRING(Debst.Preis_Grp,"999"), F_Preisgruppen ) = 0 THEN LEAVE.
  1914. IF F_Kundengruppen <> '' AND
  1915. LOOKUP(STRING(Debst.Ku_Grp ,"999"), F_Kundengruppen) = 0 THEN LEAVE.
  1916. IF F_Vertreter <> '' AND
  1917. LOOKUP(STRING(Debst.Vertr ,"999"), F_Vertreter ) = 0 THEN LEAVE.
  1918. IF F_Touren <> '' AND
  1919. LOOKUP(STRING(Debst.Tour_Nr1 ,"999"), F_Touren ) = 0 THEN LEAVE.
  1920. IF F_Orte = '' THEN DO:
  1921. Ja = TRUE.
  1922. LEAVE.
  1923. END.
  1924. FIND Adresse USE-INDEX Adresse-k1
  1925. WHERE Adresse.Firma = AdFirma
  1926. AND Adresse.Knr = DeArUms.Knr NO-LOCK NO-ERROR.
  1927. IF LOOKUP(Adresse.Plz, F_Orte) = 0 THEN LEAVE.
  1928. Ja = TRUE.
  1929. LEAVE.
  1930. END.
  1931. IF NOT Ja THEN NEXT.
  1932. VSort1 = STRING(Artst.Artnr ,"999999").
  1933. VSort2 = STRING(Artst.Inhalt,"9999").
  1934. VSort3 = STRING(Artst.Jahr ,"9999").
  1935. VSort4 = STRING(Debst.Knr ,"999999").
  1936. FIND FIRST THilfsTab USE-INDEX HilfsTab-k1
  1937. WHERE THilfsTab.Firma = GVFirma
  1938. AND THilfsTab.Sort_1 = VSort1
  1939. AND THilfsTab.Sort_2 = VSort2
  1940. AND THilfsTab.Sort_3 = VSort3
  1941. AND THilfsTab.Sort_4 = VSort4 NO-ERROR.
  1942. IF NOT AVAILABLE THilfsTab THEN DO:
  1943. CREATE THilfsTab.
  1944. ASSIGN THilfsTab.Firma = GVFirma
  1945. THilfsTab.Sort_1 = VSort1
  1946. THilfsTab.Sort_2 = VSort2
  1947. THilfsTab.Sort_3 = VSort3
  1948. THilfsTab.Sort_4 = VSort4
  1949. THilfsTab.Zahl_1 = RECID(Artst)
  1950. THilfsTab.Zahl_2 = RECID(Debst).
  1951. END.
  1952. i1 = 01.
  1953. i2 = 12.
  1954. IF DeArUms.Jahr = YEAR(VDatum) THEN i1 = MONTH(VDatum).
  1955. IF DeArUms.Jahr = YEAR(BDatum) THEN i2 = MONTH(BDatum).
  1956. DO ix = i1 TO i2:
  1957. THilfsTab.Wert[06] = THilfsTab.Wert[06] + DeArUms.Ep_Mon[ix].
  1958. THilfsTab.Wert[07] = THilfsTab.Wert[07] + DeArUms.Me_Mon[ix].
  1959. THilfsTab.Wert[08] = THilfsTab.Wert[08] + DeArUms.Li_Mon[ix].
  1960. THilfsTab.Wert[09] = THilfsTab.Wert[09] + DeArUms.Vp_Mon[ix].
  1961. END.
  1962. END.
  1963. END PROCEDURE.
  1964. /* _UIB-CODE-BLOCK-END */
  1965. &ANALYZE-RESUME
  1966. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE WARENGRUPPE D-Dialog
  1967. PROCEDURE WARENGRUPPE :
  1968. /*------------------------------------------------------------------------------
  1969. Purpose:
  1970. Parameters: <none>
  1971. Notes:
  1972. ------------------------------------------------------------------------------*/
  1973. VWgTotal = 0.
  1974. XWg_Grp = ''.
  1975. FIND WarenGrp USE-INDEX WarenGrp-k1
  1976. WHERE WarenGrp.Firma = GVFirma
  1977. AND WarenGrp.Wgr = BArtst.Wg_Grp NO-LOCK NO-ERROR.
  1978. IF AVAILABLE WarenGrp THEN XWg_Grp = STRING(BArtst.Wg_Grp ,"999 ")
  1979. + WarenGrp.Bez1.
  1980. ELSE XWg_Grp = STRING(BArtst.Wg_Grp ,"999 ")
  1981. + '???????????????'.
  1982. END PROCEDURE.
  1983. /* _UIB-CODE-BLOCK-END */
  1984. &ANALYZE-RESUME
  1985. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE WORKFILE D-Dialog
  1986. PROCEDURE WORKFILE :
  1987. /*------------------------------------------------------------------------------
  1988. Purpose:
  1989. Parameters: <none>
  1990. Notes:
  1991. ------------------------------------------------------------------------------*/
  1992. DOpen = FALSE.
  1993. VTemp = ''.
  1994. IF BDrucker.Emul = 'TERMINAL' THEN DO:
  1995. FOR EACH XTermOut:
  1996. DELETE XTermOut.
  1997. END.
  1998. VZNr = 0.
  1999. RETURN.
  2000. END.
  2001. DO WHILE TRUE TRANSACTION:
  2002. FIND Tabel USE-INDEX Tabel-k1
  2003. WHERE Tabel.Firma = GVFirma
  2004. AND Tabel.RecArt = 'TEMPFILE'
  2005. AND Tabel.CodeI = 0
  2006. AND Tabel.CodeC = 'UMSATZ'
  2007. AND Tabel.Sprcd = 0 NO-ERROR.
  2008. IF NOT AVAILABLE Tabel THEN DO:
  2009. CREATE Tabel.
  2010. ASSIGN Tabel.Firma = GVFirma
  2011. Tabel.RecArt = 'TEMPFILE'
  2012. Tabel.CodeI = 0
  2013. Tabel.CodeC = 'UMSATZ'
  2014. Tabel.Sprcd = 0
  2015. Tabel.Bez1 = SESSION:TEMP-DIR.
  2016. END.
  2017. Tabel.Int_1 = Tabel.Int_1 + 1.
  2018. VTemp = Tabel.Bez1 + 'Umsatz' + STRING(Tabel.Int_1) + '.tmp'.
  2019. RELEASE Tabel.
  2020. LEAVE.
  2021. END.
  2022. DOpen = TRUE.
  2023. END PROCEDURE.
  2024. /* _UIB-CODE-BLOCK-END */
  2025. &ANALYZE-RESUME