g-p_liefums-detail.w 66 KB

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