| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818 |
- &ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2
- &ANALYZE-RESUME
- &Scoped-define WINDOW-NAME CURRENT-WINDOW
- &Scoped-define FRAME-NAME gLieferantenrumsatz
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS gLieferantenrumsatz
- /*------------------------------------------------------------------------
- File:
- Description: from cntnrdlg.w - ADM2 SmartDialog Template
- Input Parameters:
- <none>
- Output Parameters:
- <none>
- Author:
- Created:
- ------------------------------------------------------------------------*/
- /* This .W file was created with the Progress AppBuilder. */
- /*----------------------------------------------------------------------*/
- /* Create an unnamed pool to store all the widgets created
- by this procedure. This is a good default which assures
- that this procedure's triggers and internal procedures
- will execute in this procedure's storage, and that proper
- cleanup will occur on deletion of the procedure. */
- CREATE WIDGET-POOL.
- /* *************************** Definitions ************************** */
- /* Parameters Definitions --- */
- /* Local Variable Definitions --- */
- DEF VAR MaxPage AS INT NO-UNDO.
- DEF VAR AktSeite AS INT NO-UNDO.
- DEF VAR FMutFlag AS LOG NO-UNDO.
- DEF VAR Firma AS CHAR NO-UNDO.
- DEF VAR AdFirma AS CHAR NO-UNDO.
- DEF VAR iVer AS INT NO-UNDO.
- DEF VAR cVer AS CHAR NO-UNDO.
- DEF VAR cVerband AS CHAR NO-UNDO.
- DEF VAR cVorlage AS CHAR NO-UNDO.
- DEF VAR cDaten AS CHAR NO-UNDO.
- DEF VAR cDokument AS CHAR NO-UNDO.
- DEF VAR cDateiName AS CHAR NO-UNDO.
- DEF VAR Zelle AS CHAR NO-UNDO.
- DEF VAR excelAppl AS COM-HANDLE NO-UNDO.
- DEF VAR cZeile AS CHAR NO-UNDO.
- DEF VAR AnzKol AS INT NO-UNDO.
- DEF VAR FKol AS LOG NO-UNDO EXTENT 25.
- DEF VAR bKol AS CHAR NO-UNDO.
- DEF VAR iKnr AS INT NO-UNDO.
- DEF VAR iWgr AS INT NO-UNDO.
- DEF VAR cAdresse AS CHAR NO-UNDO.
- DEF VAR cWgr AS CHAR NO-UNDO.
- DEF BUFFER BArtbw FOR Artbw.
- DEF TEMP-TABLE tUmsatz FIELD Knr AS INT
- FIELD Wgr AS INT
- FIELD Artnr AS INT
- FIELD Inhalt AS INT
- FIELD Jahr AS INT
- FIELD EpVk_Lf AS DEC
- FIELD EpVk_Vj AS DEC
- FIELD VpVk_Lf AS DEC
- FIELD VpVk_Vj AS DEC
- FIELD MeVk_Lf AS DEC
- FIELD MeVk_Vj AS DEC
- FIELD LiVk_Lf AS DEC DECIMALS 6
- FIELD LiVk_Vj AS DEC DECIMALS 6
- FIELD EpEk_Lf AS DEC
- FIELD EPEk_Vj AS DEC
- FIELD MeEk_Lf AS DEC
- FIELD MeEk_Vj AS DEC
- FIELD LiEk_Lf AS DEC DECIMALS 6
- FIELD LiEk_Vj AS DEC DECIMALS 6
- FIELD Adresse AS CHAR
- FIELD cWgr AS CHAR
- FIELD KGeb_Cd AS CHAR
- FIELD Alk% AS DEC
- INDEX tUmsatz-k1
- Knr
- Wgr
- Artnr
- Inhalt
- Jahr .
- DEF TEMP-TABLE tTotUmsatz LIKE tUmsatz.
- DEF BUFFER btTotUmsatz FOR tTotUmsatz.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
- /* ******************** Preprocessor Definitions ******************** */
- &Scoped-define PROCEDURE-TYPE SmartDialog
- &Scoped-define DB-AWARE no
- &Scoped-define ADM-CONTAINER DIALOG-BOX
- &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
- /* Name of designated FRAME-NAME and/or first browse and/or first query */
- &Scoped-define FRAME-NAME gLieferantenrumsatz
- /* Standard List Definitions */
- &Scoped-Define ENABLED-OBJECTS F_VonKnr F_BisKnr F_VonArtnr F_BisArtnr ~
- F_Hersteller F_Warengrp F_VonDatum F_BisDatum T_Menge T_Liter T_HL T_EP ~
- T_VP T_Marge T_Vorjahr Btn_OK Btn_Cancel T_Verkauf T_EinkaufVSVerkauf ~
- RECT-12
- &Scoped-Define DISPLAYED-OBJECTS F_VonKnr F_BisKnr F_VonArtnr F_BisArtnr ~
- F_Hersteller F_Warengrp F_VonDatum F_BisDatum T_Menge T_Liter T_HL T_EP ~
- T_VP T_Marge T_Vorjahr T_Verkauf T_EinkaufVSVerkauf
- /* Custom List Definitions */
- /* List-1,List-2,List-3,List-4,List-5,List-6 */
- &Scoped-define List-6 F_VonKnr F_BisKnr F_VonArtnr F_BisArtnr F_Hersteller ~
- F_Warengrp F_VonDatum F_BisDatum T_Menge T_Liter T_HL T_EP T_VP T_Marge ~
- T_Vorjahr T_Verkauf T_EinkaufVSVerkauf
- /* _UIB-PREPROCESSOR-BLOCK-END */
- &ANALYZE-RESUME
- /* *********************** Control Definitions ********************** */
- /* Define a dialog box */
- /* Definitions of the field level widgets */
- DEFINE BUTTON Btn_Cancel AUTO-END-KEY
- LABEL "&abbrechen"
- SIZE 14 BY 1.19.
- DEFINE BUTTON Btn_OK
- IMAGE-UP FILE "grafik/results%.ico":U
- IMAGE-INSENSITIVE FILE "grafik/results%.ico":U
- LABEL "Excel"
- SIZE 7 BY 1.71.
- DEFINE VARIABLE F_BisArtnr AS INTEGER FORMAT "999999":U INITIAL 0
- LABEL "-"
- VIEW-AS FILL-IN NATIVE
- SIZE 11 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_BisDatum AS DATE FORMAT "99.99.9999":U
- LABEL "-"
- VIEW-AS FILL-IN NATIVE
- SIZE 16 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_BisKnr AS INTEGER FORMAT "999999":U INITIAL 0
- LABEL "-"
- VIEW-AS FILL-IN NATIVE
- SIZE 11 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Hersteller AS CHARACTER FORMAT "X(256)":U
- LABEL "Hersteller"
- VIEW-AS FILL-IN NATIVE
- SIZE 46.4 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_VonArtnr AS INTEGER FORMAT "999999":U INITIAL 0
- LABEL "von - bis Artikelnummer"
- VIEW-AS FILL-IN NATIVE
- SIZE 11 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_VonDatum AS DATE FORMAT "99.99.9999":U
- LABEL "von - bis Datum"
- VIEW-AS FILL-IN NATIVE
- SIZE 16 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_VonKnr AS INTEGER FORMAT "999999":U INITIAL 0
- LABEL "von - bis Lnr"
- VIEW-AS FILL-IN NATIVE
- SIZE 11 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Warengrp AS CHARACTER FORMAT "X(256)":U
- LABEL "Warengruppen"
- VIEW-AS FILL-IN NATIVE
- SIZE 46.4 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE RECTANGLE RECT-12
- EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
- SIZE 84 BY 17.14.
- DEFINE VARIABLE T_EinkaufVSVerkauf AS LOGICAL INITIAL no
- LABEL "Einkauf vs Verkauf"
- VIEW-AS TOGGLE-BOX
- SIZE 30 BY 1 NO-UNDO.
- DEFINE VARIABLE T_EP AS LOGICAL INITIAL no
- LABEL "Einstansbeträge"
- VIEW-AS TOGGLE-BOX
- SIZE 30 BY 1 NO-UNDO.
- DEFINE VARIABLE T_HL AS LOGICAL INITIAL no
- LABEL "Hektoliter"
- VIEW-AS TOGGLE-BOX
- SIZE 19.6 BY .81 NO-UNDO.
- DEFINE VARIABLE T_Liter AS LOGICAL INITIAL no
- LABEL "Liter"
- VIEW-AS TOGGLE-BOX
- SIZE 21.4 BY 1 NO-UNDO.
- DEFINE VARIABLE T_Marge AS LOGICAL INITIAL no
- LABEL "Margenberechnung"
- VIEW-AS TOGGLE-BOX
- SIZE 30 BY 1 NO-UNDO.
- DEFINE VARIABLE T_Menge AS LOGICAL INITIAL no
- LABEL "Mengen"
- VIEW-AS TOGGLE-BOX
- SIZE 30 BY 1 NO-UNDO.
- DEFINE VARIABLE T_Verkauf AS LOGICAL INITIAL no
- LABEL "Verkaufszahlen"
- VIEW-AS TOGGLE-BOX
- SIZE 30 BY 1 NO-UNDO.
- DEFINE VARIABLE T_Vorjahr AS LOGICAL INITIAL no
- LABEL "Vorjahreszahlen"
- VIEW-AS TOGGLE-BOX
- SIZE 30 BY 1 NO-UNDO.
- DEFINE VARIABLE T_VP AS LOGICAL INITIAL no
- LABEL "Verkaufsbeträge"
- VIEW-AS TOGGLE-BOX
- SIZE 30 BY 1 NO-UNDO.
- /* ************************ Frame Definitions *********************** */
- DEFINE FRAME gLieferantenrumsatz
- F_VonKnr AT ROW 1.62 COL 28 COLON-ALIGNED
- F_BisKnr AT ROW 1.62 COL 41 COLON-ALIGNED
- F_VonArtnr AT ROW 3 COL 28 COLON-ALIGNED
- F_BisArtnr AT ROW 3 COL 41 COLON-ALIGNED
- F_Hersteller AT ROW 4 COL 28 COLON-ALIGNED
- F_Warengrp AT ROW 5 COL 28 COLON-ALIGNED
- F_VonDatum AT ROW 6.29 COL 28 COLON-ALIGNED
- F_BisDatum AT ROW 6.29 COL 47 COLON-ALIGNED
- T_Menge AT ROW 7.52 COL 30
- T_Liter AT ROW 8.52 COL 30
- T_HL AT ROW 8.33 COL 55
- T_EP AT ROW 9.52 COL 30
- T_VP AT ROW 10.52 COL 30
- T_Marge AT ROW 11.52 COL 30
- T_Vorjahr AT ROW 12.52 COL 30
- Btn_OK AT ROW 16.33 COL 30
- Btn_Cancel AT ROW 16.57 COL 55.8
- T_Verkauf AT ROW 13.52 COL 30
- T_EinkaufVSVerkauf AT ROW 14.52 COL 30 WIDGET-ID 2
- RECT-12 AT ROW 1.24 COL 2
- SPACE(0.99) SKIP(0.18)
- WITH VIEW-AS DIALOG-BOX KEEP-TAB-ORDER
- SIDE-LABELS NO-UNDERLINE THREE-D SCROLLABLE
- TITLE "Lieferantenumsätze (Detail)"
- CANCEL-BUTTON Btn_Cancel.
- /* *********************** Procedure Settings ************************ */
- &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
- /* Settings for THIS-PROCEDURE
- Type: SmartDialog
- Allow: Basic,Browse,DB-Fields,Query,Smart
- Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
- Design Page: 1
- Other Settings: COMPILE
- */
- &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB gLieferantenrumsatz
- /* ************************* Included-Libraries *********************** */
- {src/adm2/containr.i}
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- /* *********** Runtime Attributes and AppBuilder Settings *********** */
- &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
- /* SETTINGS FOR DIALOG-BOX gLieferantenrumsatz
- FRAME-NAME Custom */
- ASSIGN
- FRAME gLieferantenrumsatz:SCROLLABLE = FALSE
- FRAME gLieferantenrumsatz:HIDDEN = TRUE.
- /* SETTINGS FOR FILL-IN F_BisArtnr IN FRAME gLieferantenrumsatz
- 6 */
- /* SETTINGS FOR FILL-IN F_BisDatum IN FRAME gLieferantenrumsatz
- 6 */
- /* SETTINGS FOR FILL-IN F_BisKnr IN FRAME gLieferantenrumsatz
- 6 */
- /* SETTINGS FOR FILL-IN F_Hersteller IN FRAME gLieferantenrumsatz
- 6 */
- /* SETTINGS FOR FILL-IN F_VonArtnr IN FRAME gLieferantenrumsatz
- 6 */
- /* SETTINGS FOR FILL-IN F_VonDatum IN FRAME gLieferantenrumsatz
- 6 */
- /* SETTINGS FOR FILL-IN F_VonKnr IN FRAME gLieferantenrumsatz
- 6 */
- /* SETTINGS FOR FILL-IN F_Warengrp IN FRAME gLieferantenrumsatz
- 6 */
- /* SETTINGS FOR TOGGLE-BOX T_EinkaufVSVerkauf IN FRAME gLieferantenrumsatz
- 6 */
- /* SETTINGS FOR TOGGLE-BOX T_EP IN FRAME gLieferantenrumsatz
- 6 */
- /* SETTINGS FOR TOGGLE-BOX T_HL IN FRAME gLieferantenrumsatz
- 6 */
- /* SETTINGS FOR TOGGLE-BOX T_Liter IN FRAME gLieferantenrumsatz
- 6 */
- /* SETTINGS FOR TOGGLE-BOX T_Marge IN FRAME gLieferantenrumsatz
- 6 */
- /* SETTINGS FOR TOGGLE-BOX T_Menge IN FRAME gLieferantenrumsatz
- 6 */
- /* SETTINGS FOR TOGGLE-BOX T_Verkauf IN FRAME gLieferantenrumsatz
- 6 */
- /* SETTINGS FOR TOGGLE-BOX T_Vorjahr IN FRAME gLieferantenrumsatz
- 6 */
- /* SETTINGS FOR TOGGLE-BOX T_VP IN FRAME gLieferantenrumsatz
- 6 */
- /* _RUN-TIME-ATTRIBUTES-END */
- &ANALYZE-RESUME
- /* Setting information for Queries and Browse Widgets fields */
- &ANALYZE-SUSPEND _QUERY-BLOCK DIALOG-BOX gLieferantenrumsatz
- /* Query rebuild information for DIALOG-BOX gLieferantenrumsatz
- _Options = "SHARE-LOCK"
- _Query is NOT OPENED
- */ /* DIALOG-BOX gLieferantenrumsatz */
- &ANALYZE-RESUME
-
- /* ************************ Control Triggers ************************ */
- &Scoped-define SELF-NAME gLieferantenrumsatz
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gLieferantenrumsatz gLieferantenrumsatz
- ON END-ERROR OF FRAME gLieferantenrumsatz /* Lieferantenumsätze (Detail) */
- DO:
- RUN ENDE.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gLieferantenrumsatz gLieferantenrumsatz
- ON GO OF FRAME gLieferantenrumsatz /* Lieferantenumsätze (Detail) */
- DO:
- /*
- RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ) NO-ERROR.
- */
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gLieferantenrumsatz gLieferantenrumsatz
- ON WINDOW-CLOSE OF FRAME gLieferantenrumsatz /* Lieferantenumsätze (Detail) */
- DO:
- RUN ENDE.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME Btn_Cancel
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Cancel gLieferantenrumsatz
- ON CHOOSE OF Btn_Cancel IN FRAME gLieferantenrumsatz /* abbrechen */
- DO:
- RUN ENDE.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME Btn_OK
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_OK gLieferantenrumsatz
- ON CHOOSE OF Btn_OK IN FRAME gLieferantenrumsatz /* Excel */
- DO:
- DO WITH FRAME {&FRAME-NAME}:
- Btn_OK:SENSITIVE = FALSE.
- Btn_Cancel:SENSITIVE = FALSE.
- SESSION:SET-WAIT-STATE ('GENERAL').
- END.
- RUN REPORT.
- DO WITH FRAME {&FRAME-NAME}:
- Btn_OK:SENSITIVE = TRUE.
- Btn_Cancel:SENSITIVE = TRUE.
- SESSION:SET-WAIT-STATE('').
- END.
- RUN ENDE.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_BisKnr
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_BisKnr gLieferantenrumsatz
- ON ALT-F OF F_BisKnr IN FRAME gLieferantenrumsatz /* - */
- DO:
- DEF VAR iRecid AS RECID NO-UNDO.
- RUN 'g-suchen-adresse.w':U ( 'LIE', OUTPUT iRecid ).
- IF iRecid = ? OR
- iRecid = 0 THEN RETURN NO-APPLY.
- FIND Adresse NO-LOCK WHERE RECID(Adresse) = iRecid NO-ERROR.
- SELF:SCREEN-VALUE = STRING(Adresse.Knr).
- APPLY 'ENTRY' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_Hersteller
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Hersteller gLieferantenrumsatz
- ON RIGHT-MOUSE-CLICK OF F_Hersteller IN FRAME gLieferantenrumsatz /* Hersteller */
- DO:
- RUN g-auswahl-tabelle.w ( INPUT SELF, INPUT 'HERST' ).
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_VonKnr
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_VonKnr gLieferantenrumsatz
- ON ALT-F OF F_VonKnr IN FRAME gLieferantenrumsatz /* von - bis Lnr */
- DO:
- DEF VAR iRecid AS RECID NO-UNDO.
- RUN 'g-suchen-adresse.w':U ( 'LIE', OUTPUT iRecid ).
- IF iRecid = ? OR
- iRecid = 0 THEN RETURN NO-APPLY.
- FIND Adresse NO-LOCK WHERE RECID(Adresse) = iRecid NO-ERROR.
- SELF:SCREEN-VALUE = STRING(Adresse.Knr).
- F_BisKnr:SCREEN-VALUE = STRING(Adresse.Knr).
- APPLY 'ENTRY' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_Warengrp
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Warengrp gLieferantenrumsatz
- ON RIGHT-MOUSE-CLICK OF F_Warengrp IN FRAME gLieferantenrumsatz /* Warengruppen */
- DO:
- RUN g-auswahl-wgr.w ( INPUT SELF ).
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME T_EinkaufVSVerkauf
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_EinkaufVSVerkauf gLieferantenrumsatz
- ON RETURN OF T_EinkaufVSVerkauf IN FRAME gLieferantenrumsatz /* Einkauf vs Verkauf */
- DO:
- APPLY 'TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_EinkaufVSVerkauf gLieferantenrumsatz
- ON VALUE-CHANGED OF T_EinkaufVSVerkauf IN FRAME gLieferantenrumsatz /* Einkauf vs Verkauf */
- DO:
- ASSIGN {&List-6}.
- IF SELF:SCREEN-VALUE BEGINS 'n' THEN DO:
-
- END.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME T_EP
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_EP gLieferantenrumsatz
- ON RETURN OF T_EP IN FRAME gLieferantenrumsatz /* Einstansbeträge */
- DO:
- APPLY 'TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME T_HL
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_HL gLieferantenrumsatz
- ON RETURN OF T_HL IN FRAME gLieferantenrumsatz /* Hektoliter */
- DO:
- APPLY 'TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME T_Liter
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_Liter gLieferantenrumsatz
- ON RETURN OF T_Liter IN FRAME gLieferantenrumsatz /* Liter */
- DO:
- APPLY 'TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_Liter gLieferantenrumsatz
- ON VALUE-CHANGED OF T_Liter IN FRAME gLieferantenrumsatz /* Liter */
- DO:
- DO WITH FRAME {&FRAME-NAME}:
- ASSIGN T_Liter .
- IF T_Liter = TRUE THEN T_HL:SENSITIVE = TRUE.
- ELSE T_HL:SENSITIVE = FALSE.
- END.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME T_Marge
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_Marge gLieferantenrumsatz
- ON RETURN OF T_Marge IN FRAME gLieferantenrumsatz /* Margenberechnung */
- DO:
- APPLY 'TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME T_Menge
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_Menge gLieferantenrumsatz
- ON RETURN OF T_Menge IN FRAME gLieferantenrumsatz /* Mengen */
- DO:
- APPLY 'TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME T_Verkauf
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_Verkauf gLieferantenrumsatz
- ON RETURN OF T_Verkauf IN FRAME gLieferantenrumsatz /* Verkaufszahlen */
- DO:
- APPLY 'TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME T_Vorjahr
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_Vorjahr gLieferantenrumsatz
- ON RETURN OF T_Vorjahr IN FRAME gLieferantenrumsatz /* Vorjahreszahlen */
- DO:
- APPLY 'TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME T_VP
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_VP gLieferantenrumsatz
- ON RETURN OF T_VP IN FRAME gLieferantenrumsatz /* Verkaufsbeträge */
- DO:
- APPLY 'TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &UNDEFINE SELF-NAME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK gLieferantenrumsatz
- /* *************************** Main Block *************************** */
- MaxPage = 1.
- AktSeite = 1.
- Firma = DYNAMIC-FUNCTION('GETMANDANT':U) NO-ERROR.
- AdFirma = DYNAMIC-FUNCTION('GETADMANDANT':U) NO-ERROR.
- SESSION:DATA-ENTRY-RETURN = TRUE.
- /* TRIGGERS ------------------------------------------------------ */
- /*
- ON 'END-ERROR':U OF FRAME {&FRAME-NAME} ANYWHERE
- DO:
- FMutFlag = DYNAMIC-FUNCTION('getMutflagAlt':U) NO-ERROR.
- IF FMutFlag = FALSE THEN DO:
- RUN ENDE.
- RETURN NO-APPLY.
- END.
- RUN TOOLBAR IN h_dyntoolbar ( INPUT 'CANCEL':U ).
- RETURN NO-APPLY.
- END.
- */
- /* ------------------------------------------------------------------ */
- {src/adm2/dialogmn.i}
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- /* ********************** Internal Procedures *********************** */
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects gLieferantenrumsatz _ADM-CREATE-OBJECTS
- PROCEDURE adm-create-objects :
- /*------------------------------------------------------------------------------
- Purpose: Create handles for all SmartObjects used in this procedure.
- After SmartObjects are initialized, then SmartLinks are added.
- Parameters: <none>
- ------------------------------------------------------------------------------*/
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE AUSGABE gLieferantenrumsatz
- PROCEDURE AUSGABE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR cString AS CHAR NO-UNDO.
- DEF VAR Ma_Lf AS DEC NO-UNDO.
- DEF VAR Ma_Vj AS DEC NO-UNDO.
- DEF VAR ii AS INT NO-UNDO.
- DEF VAR ix AS INT NO-UNDO.
- DEF VAR iAnzArt AS INT NO-UNDO.
- DEF VAR iAnzKun AS INT NO-UNDO.
- DEF VAR iAnzWgr AS INT NO-UNDO.
- EMPTY TEMP-TABLE tTotUmsatz.
-
- FOR EACH tUmsatz USE-INDEX tUmsatz-k1 NO-LOCK
- BREAK BY tUmsatz.Knr
- BY tUmsatz.Wgr
- BY tUmsatz.Artnr
- BY tUmsatz.Inhalt
- BY tUmsatz.Jahr :
- IF FIRST-OF ( tUmsatz.Knr ) THEN DO:
- PUT CONTROL STRING(tUmsatz.Knr,'999999 ')
- tUmsatz.Adresse CHR(10) '£' CHR(10).
- iAnzKun = iAnzKun + 1.
- iAnzWgr = 0.
- END.
- IF FIRST-OF ( tUmsatz.Wgr ) THEN DO:
- PUT CONTROL STRING(tUmsatz.Wgr,'£999 ')
- tUmsatz.cWgr CHR(10).
- iAnzWgr = iAnzWgr + 1.
- iAnzArt = 0.
- END.
-
- cZeile = ''.
- FIND KGebinde USE-INDEX KGebinde-k1
- WHERE KGebinde.Firma = Firma
- AND KGebinde.Geb_Cd = tUmsatz.KGeb_Cd NO-LOCK NO-ERROR.
- FIND FIRST Artbez USE-INDEX Artbez-k1
- WHERE Artbez.Firma = Firma
- AND Artbez.Artnr = tUmsatz.Artnr
- AND Artbez.Inhalt = tUmsatz.Inhalt
- AND Artbez.Jahr = tUmsatz.Jahr NO-LOCK NO-ERROR.
- cZeile = cZeile + '££'
- + STRING(tUmsatz.Artnr,'999999').
- IF AVAILABLE Artbez THEN cZeile = cZeile + '£'
- + Artbez.Bez1.
- ELSE cZeile = cZeile + '£'
- + Artst.Bez.
- IF AVAILABLE KGebinde THEN cZeile = cZeile + '£'
- + KGebinde.KBez.
- ELSE cZeile = cZeile + '£ ? '
- + STRING(tUmsatz.Inhalt,'9999')
- + ' ?'.
- cZeile = cZeile + '£'.
- IF tUmsatz.Jahr > 10 THEN cZeile = cZeile + STRING(tUmsatz.Jahr,'9999 ').
- IF tUmsatz.Alk% > 0 THEN cZeile = cZeile + STRING(tUmsatz.Alk%,'z9.99%').
- Ma_Vj = 0.
- Ma_Lf = 0.
- IF tUmsatz.EpVk_Vj <> 0 AND
- tUmsatz.VpVk_Vj <> 0 THEN Ma_Vj = 100 - (tUmsatz.EpVk_Vj * 100 / tUmsatz.VpVk_Vj).
- IF tUmsatz.EpVk_Lf <> 0 AND
- tUmsatz.VpVk_Lf <> 0 THEN Ma_Lf = 100 - (tUmsatz.EpVk_Lf * 100 / tUmsatz.VpVk_Lf).
- IF Ma_Vj < 999.99- THEN Ma_Vj = 999.99-.
- IF Ma_Vj > 999.99 THEN Ma_Vj = 999.99 .
- IF Ma_Lf < 999.99- THEN Ma_Lf = 999.99-.
- IF Ma_Lf > 999.99 THEN Ma_Lf = 999.99 .
- IF T_HL THEN DO:
- tUmsatz.LiVK_Lf = tUmsatz.LiVk_Lf / 100.
- tUmsatz.LiVk_Vj = tUmsatz.LiVk_Vj / 100.
- tUmsatz.LiEK_Lf = tUmsatz.LiEk_Lf / 100.
- tUmsatz.LiEk_Vj = tUmsatz.LiEk_Vj / 100.
- END.
- cZeile = cZeile + '£' + TRIM(STRING(tUmsatz.MeVk_Lf,'->>>>>>>>>'))
- + '£'.
- IF T_Hl THEN cZeile = cZeile + TRIM(STRING(tUmsatz.LiVk_Lf,'->>>>>9.99')).
- ELSE cZeile = cZeile + TRIM(STRING(tUmsatz.LiVk_Lf,'->>>>>>>>>')).
- cZeile = cZeile + '£'
- + TRIM(STRING(tUmsatz.EpVk_Lf,'->>>>>>>>>'))
- + '£'
- + TRIM(STRING(tUmsatz.VpVk_Lf,'->>>>>>>>>'))
- + '£'
- + TRIM(STRING(Ma_Lf ,'->>9.99')).
- cZeile = cZeile + '£' + TRIM(STRING(tUmsatz.MeVk_Vj,'->>>>>>>>>'))
- + '£'.
- IF T_Hl THEN cZeile = cZeile + TRIM(STRING(tUmsatz.LiVk_Vj,'->>>>>9.99')).
- ELSE cZeile = cZeile + TRIM(STRING(tUmsatz.LiVk_Vj,'->>>>>>>>>')).
- cZeile = cZeile + '£'
- + TRIM(STRING(tUmsatz.EpVk_Vj,'->>>>>>>>>'))
- + '£'
- + TRIM(STRING(tUmsatz.VpVk_Vj,'->>>>>>>>>'))
- + '£'
- + TRIM(STRING(Ma_Vj ,'->>9.99')).
-
- cZeile = cZeile + '£'
- + TRIM(STRING(tUmsatz.MeEk_Lf,'->>>>>>>>>'))
- + '£'
- + (IF T_Hl THEN TRIM(STRING(tUmsatz.LiEk_Lf,'->>>>>>9.99')) ELSE TRIM(STRING(tUmsatz.LiEk_Lf,'->>>>>>>>>')))
- + '£'
- + TRIM(STRING(tUmsatz.EpEk_Lf,'->>>>>>>>>'))
- + '£'
- + TRIM(STRING(tUmsatz.MeEk_Vj,'->>>>>>>>>'))
- + '£'
- + (IF T_Hl THEN TRIM(STRING(tUmsatz.LiEk_Vj,'->>>>>>9.99')) ELSE TRIM(STRING(tUmsatz.LiEk_Vj,'->>>>>>>>>')))
- + '£'
- + TRIM(STRING(tUmsatz.EpEk_Vj,'->>>>>>>>>')).
-
- cZeile = REPLACE(cZeile, '£0.00£', '££').
- PUT CONTROL cZeile CHR(10).
- cZeile = ''.
- IF AVAILABLE Artbez AND
- Artbez.Bez2 <> '' THEN PUT CONTROL '£££' Artbez.Bez2 CHR(10).
- DO ii = 1 TO 4:
- CASE ii:
- WHEN 1 THEN ASSIGN iKnr = tUmsatz.Knr
- iWgr = tUmsatz.Wgr
- cAdresse = 'Total ' + tUmsatz.Adresse
- cWgr = 'Total ' + tUmsatz.cWgr.
- WHEN 2 THEN ASSIGN iKnr = tUmsatz.Knr
- iWgr = 999
- cAdresse = 'Total ' + tUmsatz.Adresse
- cWgr = 'Total Kunde'.
- WHEN 3 THEN ASSIGN iKnr = 999999
- iWgr = tUmsatz.Wgr
- cAdresse = 'Zusammenfassung aller Lieferanten'
- cWgr = 'Total ' + tUmsatz.cWgr.
- WHEN 4 THEN ASSIGN iKnr = 999999
- iWgr = 999
- cAdresse = 'Gesamttotal aller Lieferanten'
- cWgr = 'Gesamttotal'.
- END CASE.
- FIND FIRST tTotUmsatz
- WHERE tTotUmsatz.Knr = iKnr
- AND tTotUmsatz.Wg = iWgr NO-ERROR.
- IF NOT AVAILABLE tTotUmsatz THEN DO:
- CREATE tTotUmsatz.
- ASSIGN tTotUmsatz.Knr = iKnr
- tTotUmsatz.Wgr = iWgr
- tTotUmsatz.Adresse = cAdresse
- tTotUmsatz.cWgr = cWgr.
- END.
- ASSIGN tTotUmsatz.EpVk_Lf = tTotUmsatz.EpVk_Lf + tUmsatz.EpVk_Lf
- tTotUmsatz.EpVk_Vj = tTotUmsatz.EpVk_Vj + tUmsatz.EpVk_Vj
- tTotUmsatz.VpVk_Lf = tTotUmsatz.VpVk_Lf + tUmsatz.VpVk_Lf
- tTotUmsatz.VpVk_Vj = tTotUmsatz.VpVk_Vj + tUmsatz.VpVk_Vj
- tTotUmsatz.MeVk_Lf = tTotUmsatz.MeVk_Lf + tUmsatz.MeVk_Lf
- tTotUmsatz.MeVk_Vj = tTotUmsatz.MeVk_Vj + tUmsatz.MeVk_Vj
- tTotUmsatz.LiVk_Lf = tTotUmsatz.LiVk_Lf + tUmsatz.LiVk_Lf
- tTotUmsatz.LiVk_Vj = tTotUmsatz.LiVk_Vj + tUmsatz.LiVk_Vj
- tTotUmsatz.EpEk_Lf = tTotUmsatz.EpEk_Lf + tUmsatz.EpEk_Lf
- tTotUmsatz.EpEk_Vj = tTotUmsatz.EpEk_Vj + tUmsatz.EpEk_Vj
- tTotUmsatz.MeEk_Lf = tTotUmsatz.MeEk_Lf + tUmsatz.MeEk_Lf
- tTotUmsatz.MeEk_Vj = tTotUmsatz.MeEk_Vj + tUmsatz.MeEk_Vj
- tTotUmsatz.LiEk_Lf = tTotUmsatz.LiEk_Lf + tUmsatz.LiEk_Lf
- tTotUmsatz.LiEk_Vj = tTotUmsatz.LiEk_Vj + tUmsatz.LiEk_Vj
- .
- END.
- iAnzArt = iAnzArt + 1.
-
- IF NOT LAST-OF ( tUmsatz.Wgr ) THEN NEXT.
-
- ASSIGN iKnr = tUmsatz.Knr
- iWgr = tUmsatz.Wgr.
- IF iAnzArt > 1 THEN RUN AUSGABE_TOTAL.
- IF NOT LAST-OF ( tUmsatz.Knr) THEN DO:
- PUT CONTROL '£' CHR(10).
- NEXT.
- END.
- ASSIGN iKnr = tUmsatz.Knr
- iWgr = 999.
- IF iAnzWgr > 1 THEN RUN AUSGABE_TOTAL.
- PUT CONTROL '£' CHR(10).
- END.
-
- IF iAnzKun < 2 THEN RETURN.
-
- FOR EACH btTotUmsatz NO-LOCK
- WHERE btTotUmsatz.Knr = 999999
-
- BREAK BY btTotUmsatz.Knr
- BY btTotUmsatz.Wgr:
-
- IF FIRST-OF ( btTotUmsatz.Knr ) THEN DO:
- PUT CONTROL '£' CHR(10)
- btTotUmsatz.Adresse '£' CHR(10).
- END.
- ASSIGN iKnr = btTotUmsatz.Knr
- iWgr = btTotUmsatz.Wgr.
- RUN AUSGABE_TOTAL.
- END.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE AUSGABE_TOTAL gLieferantenrumsatz
- PROCEDURE AUSGABE_TOTAL :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR cString AS CHAR NO-UNDO.
- DEF VAR Ma_Lf AS DEC NO-UNDO.
- DEF VAR Ma_Vj AS DEC NO-UNDO.
- DEF VAR ii AS INT NO-UNDO.
- DEF VAR ix AS INT NO-UNDO.
-
- FIND FIRST tTotUmsatz
- WHERE tTotUmsatz.Knr = iKnr
- AND tTotUmsatz.Wgr = iWgr.
- cZeile = (IF iWgr = 999 THEN '' + tTotUmsatz.Adresse + '£' ELSE '£' + tTotUmsatz.cWgr)
- + '££££'.
- Ma_Vj = 0.
- Ma_Lf = 0.
- IF tTotUmsatz.EpVk_Vj <> 0 AND
- tTotUmsatz.VpVk_Vj <> 0 THEN Ma_Vj = 100 - (tTotUmsatz.EpVk_Vj * 100 / tTotUmsatz.VpVk_Vj).
- IF tTotUmsatz.EpVk_Lf <> 0 AND
- tTotUmsatz.VpVk_Lf <> 0 THEN Ma_Lf = 100 - (tTotUmsatz.EpVk_Lf * 100 / tTotUmsatz.VpVk_Lf).
- IF Ma_Vj < 999.99- THEN Ma_Vj = 999.99-.
- IF Ma_Vj > 999.99 THEN Ma_Vj = 999.99 .
- IF Ma_Lf < 999.99- THEN Ma_Lf = 999.99-.
- IF Ma_Lf > 999.99 THEN Ma_Lf = 999.99 .
- /* IF T_HL THEN DO: */
- /* tTotUmsatz.LiVK_Lf = tTotUmsatz.LiVk_Lf / 100. */
- /* tTotUmsatz.LiVk_Vj = tTotUmsatz.LiVk_Vj / 100. */
- /* tTotUmsatz.LiEK_Lf = tTotUmsatz.LiEk_Lf / 100. */
- /* tTotUmsatz.LiEk_Vj = tTotUmsatz.LiEk_Vj / 100. */
- /* END. */
- cZeile = cZeile + '£' + TRIM(STRING(tTotUmsatz.MeVk_Lf,'->>>>>>>>>'))
- + '£'.
- IF T_Hl THEN cZeile = cZeile + TRIM(STRING(tTotUmsatz.LiVk_Lf,'->>>>>9.99')).
- ELSE cZeile = cZeile + TRIM(STRING(tTotUmsatz.LiVk_Lf,'->>>>>>>>>')).
- cZeile = cZeile + '£'
- + TRIM(STRING(tTotUmsatz.EpVk_Lf,'->>>>>>>>>'))
- + '£'
- + TRIM(STRING(tTotUmsatz.VpVk_Lf,'->>>>>>>>>'))
- + '£'
- + TRIM(STRING(Ma_Lf ,'->>9.99')).
- cZeile = cZeile + '£' + TRIM(STRING(tTotUmsatz.MeVk_Vj,'->>>>>>>>>'))
- + '£'.
- IF T_Hl THEN cZeile = cZeile + TRIM(STRING(tTotUmsatz.LiVk_Vj,'->>>>>9.99')).
- ELSE cZeile = cZeile + TRIM(STRING(tTotUmsatz.LiVk_Vj,'->>>>>>>>>')).
- cZeile = cZeile + '£'
- + TRIM(STRING(tTotUmsatz.EpVk_Vj,'->>>>>>>>>'))
- + '£'
- + TRIM(STRING(tTotUmsatz.VpVk_Vj,'->>>>>>>>>'))
- + '£'
- + TRIM(STRING(Ma_Vj ,'->>9.99')).
-
- cZeile = cZeile + '£'
- + TRIM(STRING(tTotUmsatz.MeEk_Lf,'->>>>>>>>>'))
- + '£'
- + (IF T_Hl THEN TRIM(STRING(tTotUmsatz.LiEk_Lf,'->>>>>>9.99')) ELSE TRIM(STRING(tTotUmsatz.LiEk_Lf,'->>>>>>>>>')))
- + '£'
- + TRIM(STRING(tTotUmsatz.EpEk_Lf,'->>>>>>>>>'))
- + '£'
- + TRIM(STRING(tTotUmsatz.MeEk_Vj,'->>>>>>>>>'))
- + '£'
- + (IF T_Hl THEN TRIM(STRING(tTotUmsatz.LiEk_Vj,'->>>>>>9.99')) ELSE TRIM(STRING(tTotUmsatz.LiEk_Vj,'->>>>>>>>>')))
- + '£'
- + TRIM(STRING(tTotUmsatz.EpEk_Vj,'->>>>>>>>>')).
-
- cZeile = REPLACE(cZeile, '£0.00£', '££').
- PUT CONTROL cZeile CHR(10).
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE BEREINIGEN gLieferantenrumsatz
- PROCEDURE BEREINIGEN :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF INPUT PARAMETER ipHandle AS HANDLE NO-UNDO.
- DEF VAR cString AS CHAR NO-UNDO.
- DEF VAR i AS INT NO-UNDO.
- cString = ''.
- DO i = 1 TO LENGTH(ipHandle:SCREEN-VALUE):
- IF SUBSTRING(ipHandle:SCREEN-VALUE,i,1) < '0' OR
- SUBSTRING(ipHandle:SCREEN-VALUE,i,1) > '9' THEN DO:
- SUBSTRING(ipHandle:SCREEN-VALUE,i) = ','.
- END.
- END.
- DO i = 1 TO NUM-ENTRIES(ipHandle:SCREEN-VALUE, ','):
- IF cString <> '' THEN cString = cString + ','.
- cString = cString
- + STRING(INTEGER(ENTRY(i, ipHandle:SCREEN-VALUE, ',')),'999').
- END.
- ipHandle:SCREEN-VALUE = cString.
- RETURN.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI gLieferantenrumsatz _DEFAULT-DISABLE
- PROCEDURE disable_UI :
- /*------------------------------------------------------------------------------
- Purpose: DISABLE the User Interface
- Parameters: <none>
- Notes: Here we clean-up the user-interface by deleting
- dynamic widgets we have created and/or hide
- frames. This procedure is usually called when
- we are ready to "clean-up" after running.
- ------------------------------------------------------------------------------*/
- /* Hide all frames. */
- HIDE FRAME gLieferantenrumsatz.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject gLieferantenrumsatz
- PROCEDURE enableObject :
- /*------------------------------------------------------------------------------
- Purpose: Super Override
- Parameters:
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR cString AS CHAR NO-UNDO.
- RUN LESEN_FEHLWERTE.
- RUN SUPER.
- RUN FENSTER_TITEL ( INPUT FRAME {&FRAME-NAME}:HANDLE ) NO-ERROR.
- DO WITH FRAME {&FRAME-NAME}:
- ASSIGN {&list-6}.
- IF T_Liter = TRUE THEN T_HL:SENSITIVE = TRUE.
- ELSE T_HL:SENSITIVE = FALSE.
- END.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI gLieferantenrumsatz _DEFAULT-ENABLE
- PROCEDURE enable_UI :
- /*------------------------------------------------------------------------------
- Purpose: ENABLE the User Interface
- Parameters: <none>
- Notes: Here we display/view/enable the widgets in the
- user-interface. In addition, OPEN all queries
- associated with each FRAME and BROWSE.
- These statements here are based on the "Other
- Settings" section of the widget Property Sheets.
- ------------------------------------------------------------------------------*/
- DISPLAY F_VonKnr F_BisKnr F_VonArtnr F_BisArtnr F_Hersteller F_Warengrp
- F_VonDatum F_BisDatum T_Menge T_Liter T_HL T_EP T_VP T_Marge T_Vorjahr
- T_Verkauf T_EinkaufVSVerkauf
- WITH FRAME gLieferantenrumsatz.
- ENABLE F_VonKnr F_BisKnr F_VonArtnr F_BisArtnr F_Hersteller F_Warengrp
- F_VonDatum F_BisDatum T_Menge T_Liter T_HL T_EP T_VP T_Marge T_Vorjahr
- Btn_OK Btn_Cancel T_Verkauf T_EinkaufVSVerkauf RECT-12
- WITH FRAME gLieferantenrumsatz.
- VIEW FRAME gLieferantenrumsatz.
- {&OPEN-BROWSERS-IN-QUERY-gLieferantenrumsatz}
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE gLieferantenrumsatz
- PROCEDURE ENDE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U) NO-ERROR.
- IF AktSeite > 1 THEN DO:
- RUN selectPage ( INPUT 1 ).
- RETURN NO-APPLY.
- END.
- RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ).
- APPLY 'GO' TO FRAME {&FRAME-NAME}.
- RETURN NO-APPLY.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE exitObject gLieferantenrumsatz
- PROCEDURE exitObject :
- /*------------------------------------------------------------------------------
- Purpose: Super Override
- Parameters:
- Notes:
- ------------------------------------------------------------------------------*/
- RUN ENDE.
- RETURN NO-APPLY.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE FUELLEN_TEMPTABLE gLieferantenrumsatz
- PROCEDURE FUELLEN_TEMPTABLE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR VonDat1 AS DATE NO-UNDO.
- DEF VAR VonDat2 AS DATE NO-UNDO.
- DEF VAR BisDat1 AS DATE NO-UNDO.
- DEF VAR BisDat2 AS DATE NO-UNDO.
- DEF VAR MWST% AS DEC NO-UNDO.
- DEF VAR Ep AS DEC DECIMALS 4 NO-UNDO.
- DEF VAR Vp AS DEC DECIMALS 4 NO-UNDO.
- DEF VAR VTr_Art AS INT NO-UNDO.
- DEF VAR BTr_Art AS INT NO-UNDO.
- DEF VAR cWgr AS CHAR NO-UNDO.
- DEF VAR cAdresse AS CHAR NO-UNDO.
- DEF VAR cString AS CHAR NO-UNDO.
- EMPTY TEMP-TABLE tUmsatz.
- VonDat1 = F_VonDatum.
- BisDat1 = F_BisDatum.
- VonDat2 = ?.
- BisDat2 = ?.
- VonDat2 = DATE(MONTH(VonDat1),DAY(VonDat1),YEAR(VonDat1) - 1) NO-ERROR.
- BisDat2 = DATE(MONTH(BisDat1),DAY(BisDat1),YEAR(BisDat1) - 1) NO-ERROR.
- IF VonDat2 = ? THEN VonDat2 = DATE(MONTH(VonDat1),DAY(VonDat1) - 1,YEAR(VonDat1) - 1).
- IF BisDat2 = ? THEN BisDat2 = DATE(MONTH(BisDat1),DAY(BisDat1) - 1,YEAR(BisDat1) - 1).
- IF T_Verkauf THEN ASSIGN VTr_Art = 01
- BTr_Art = 10.
- ELSE ASSIGN VTr_Art = 11
- BTr_Art = 20.
- IF T_EinkaufVSVerkauf THEN ASSIGN VTr_Art = 01
- BTr_Art = 20.
- FOR EACH Liefst USE-INDEX Liefst-k1
- WHERE Liefst.Firma = Firma
- AND Liefst.Knr >= F_VonKnr
- AND Liefst.Knr <= F_BisKnr NO-LOCK,
- FIRST Adresse USE-INDEX Adresse-k1
- WHERE Adresse.Firma = AdFirma
- AND Adresse.Knr = Liefst.Knr NO-LOCK,
- EACH ArtLief USE-INDEX ArtLief-k2
- WHERE ArtLief.Firma = Liefst.Firma
- AND ArtLief.Knr = Liefst.Knr
- AND ArtLief.Artnr >= F_VonArtnr
- AND ArtLief.Artnr <= F_BisArtnr NO-LOCK,
- FIRST Artst USE-INDEX Artst-k1
- WHERE Artst.Firma = ArtLief.Firma
- AND Artst.Artnr = ArtLief.Artnr
- AND Artst.Inhalt = ArtLief.Inhalt
- AND Artst.Jahr = ArtLief.Jahr NO-LOCK,
- EACH Artbw USE-INDEX Artbw-k2
- WHERE Artbw.Firma = Liefst.Firma
- AND Artbw.Artnr = Artst.Artnr
- AND Artbw.Inhalt = Artst.Inhalt
- AND Artbw.Jahr = Artst.Jahr
- AND Artbw.Datum >= VonDat1
- AND Artbw.Datum <= BisDat1
- AND Artbw.Tr_Art >= VTr_Art
- AND Artbw.Tr_Art <= BTr_Art NO-LOCK
-
- BREAK BY Liefst.Knr
- BY Artst.Wg_Grp:
-
- IF FIRST-OF ( Liefst.Knr ) THEN DO:
- cAdresse = Adresse.Anzeig_Br.
- END.
- IF FIRST-OF ( Artst.Wg_Grp ) THEN DO:
- RUN FIND_WARENGRP ( INPUT Artst.Wg_Grp, OUTPUT cString ).
- IF cString = '?' THEN cWgr = '??????????'.
- ELSE cWgr = ENTRY(2, cString, CHR(01)).
- END.
- IF Artbw.Tr_Art = 11 AND
- Artbw.Knr <> Liefst.Knr THEN NEXT.
-
- IF F_Hersteller = '' THEN.
- ELSE DO:
- IF LOOKUP(STRING(Artst.Herst ,'999'), F_Hersteller, ',') = 0 THEN NEXT.
- END.
- IF F_Warengrp = '' THEN.
- ELSE DO:
- IF LOOKUP(STRING(Artst.Wg_Grp,'999'), F_Warengrp , ',') = 0 THEN NEXT.
- END.
- FIND FIRST tUmsatz USE-INDEX tUmsatz-k1
- WHERE tUmsatz.Knr = Liefst.Knr
- AND tUmsatz.Wgr = Artst.Wg_Grp
- AND tUmsatz.Artnr = Artst.Artnr
- AND tUmsatz.Inhalt = Artst.Inhalt
- AND tUmsatz.Jahr = Artst.Jahr NO-ERROR.
- IF NOT AVAILABLE tUmsatz THEN DO:
- CREATE tUmsatz.
- ASSIGN tUmsatz.Knr = Liefst.Knr
- tUmsatz.Wgr = Artst.Wg_Grp
- tUmsatz.Artnr = Artst.Artnr
- tUmsatz.Inhalt = Artst.Inhalt
- tUmsatz.Jahr = Artst.Jahr
- tUmsatz.EpVk_Lf = 0
- tUmsatz.EpVk_Vj = 0
- tUmsatz.VpVk_Lf = 0
- tUmsatz.VpVk_Vj = 0
- tUmsatz.MeVk_Lf = 0
- tUmsatz.MeVk_Vj = 0
- tUmsatz.LiVk_Lf = 0
- tUmsatz.LiVk_Vj = 0
- tUmsatz.EpEk_Lf = 0
- tUmsatz.EpEk_Vj = 0
- tUmsatz.MeEk_Lf = 0
- tUmsatz.MeEk_Vj = 0
- tUmsatz.LiEk_Lf = 0
- tUmsatz.LiEk_Vj = 0
- tUmsatz.Adresse = Adresse.Anzeig_Br
- tUmsatz.cWgr = cWgr
- tUmsatz.KGeb_Cd = Artst.KGeb_Cd
- tUmsatz.Alk% = Artst.Alk_Gehalt.
- END.
- MWST% = Artbw.MWST%.
- IF Artbw.Tr_Art > 10 AND
- T_EinkaufVSVerkauf THEN DO:
- Ep = Artbw.Menge * Artbw.Preis * (100 - Artbw.Rab_Wert) / 100.
- Vp = 0.00.
- tUmsatz.EpEk_Lf = tUmsatz.EpEk_Lf + Ep.
- tUmsatz.MeEk_Lf = tUmsatz.MeEk_Lf + Artbw.Menge.
- tUmsatz.LiEk_Lf = tUmsatz.LiEk_Lf + Artbw.Liter.
- END.
- ELSE DO:
- Ep = Artbw.Ep * Artbw.Menge.
- Vp = Artbw.Net_Betr
- - Artbw.Auf_Rab
- - Artbw.Abh_Rab
- - Artbw.Auf_Sp_Rab.
- IF Ep = 0 THEN Ep = Artbw.Menge * Artst.DEP.
- IF Ep = 0 THEN Ep = Artbw.Menge * Artst.LEP.
- IF Ep = 0 THEN Ep = Artbw.Menge * Artst.Listen_EP.
- IF Artbw.MWST_Inkl THEN DO:
- IF MWST% = 0 THEN DO:
- FIND LAST MWSTAns USE-INDEX MWSTAns-k1
- WHERE MWSTAns.MWST_Cd = Artbw.WuCd
- AND MWSTAns.Datum <= Artbw.Datum NO-LOCK NO-ERROR.
- IF AVAILABLE MWSTAns THEN MWST% = MWSTAns.Ansatz.
- END.
- Vp = Vp * 100 / (100 + MWST%).
- END.
- tUmsatz.EpVk_Lf = tUmsatz.EpVk_Lf + Ep.
- tUmsatz.VpVk_Lf = tUmsatz.VpVk_Lf + Vp.
- tUmsatz.MeVk_Lf = tUmsatz.MeVk_Lf + Artbw.Menge.
- tUmsatz.LiVk_Lf = tUmsatz.LiVk_Lf + Artbw.Liter.
- END.
- END.
- IF T_Vorjahr = TRUE THEN DO:
- FOR EACH Liefst USE-INDEX Liefst-k1
- WHERE Liefst.Firma = Firma
- AND Liefst.Knr >= F_VonKnr
- AND Liefst.Knr <= F_BisKnr NO-LOCK,
- FIRST Adresse USE-INDEX Adresse-k1
- WHERE Adresse.Firma = AdFirma
- AND Adresse.Knr = Liefst.Knr NO-LOCK,
- EACH ArtLief USE-INDEX ArtLief-k2
- WHERE ArtLief.Firma = Liefst.Firma
- AND ArtLief.Knr = Liefst.Knr
- AND ArtLief.Artnr >= F_VonArtnr
- AND ArtLief.Artnr <= F_BisArtnr NO-LOCK,
- FIRST Artst USE-INDEX Artst-k1
- WHERE Artst.Firma = ArtLief.Firma
- AND Artst.Artnr = ArtLief.Artnr
- AND Artst.Inhalt = ArtLief.Inhalt
- AND Artst.Jahr = ArtLief.Jahr NO-LOCK,
- EACH Artbw USE-INDEX Artbw-k2
- WHERE Artbw.Firma = Liefst.Firma
- AND Artbw.Artnr = Artst.Artnr
- AND Artbw.Inhalt = Artst.Inhalt
- AND Artbw.Jahr = Artst.Jahr
- AND Artbw.Datum >= VonDat2
- AND Artbw.Datum <= BisDat2
- AND Artbw.Tr_Art >= VTr_Art
- AND Artbw.Tr_Art <= BTr_Art NO-LOCK
-
- BREAK BY Liefst.Knr
- BY Artst.Wg_Grp:
-
- IF FIRST-OF ( Liefst.Knr ) THEN DO:
- cAdresse = Adresse.Anzeig_Br.
- END.
- IF FIRST-OF ( Artst.Wg_Grp ) THEN DO:
- RUN FIND_WARENGRP ( INPUT Artst.Wg_Grp, OUTPUT cString ).
- IF cString = '?' THEN cWgr = '??????????'.
- ELSE cWgr = ENTRY(2, cString, CHR(01)).
- END.
-
- IF Artbw.Tr_Art = 11 AND
- Artbw.Knr <> Liefst.Knr THEN NEXT.
-
- IF F_Hersteller = '' THEN.
- ELSE DO:
- IF LOOKUP(STRING(Artst.Herst ,'999'), F_Hersteller, ',') = 0 THEN NEXT.
- END.
- IF F_Warengrp = '' THEN.
- ELSE DO:
- IF LOOKUP(STRING(Artst.Wg_Grp,'999'), F_Warengrp , ',') = 0 THEN NEXT.
- END.
- FIND FIRST tUmsatz USE-INDEX tUmsatz-k1
- WHERE tUmsatz.Knr = Liefst.Knr
- AND tUmsatz.Wgr = Artst.Wg_Grp
- AND tUmsatz.Artnr = Artst.Artnr
- AND tUmsatz.Inhalt = Artst.Inhalt
- AND tUmsatz.Jahr = Artst.Jahr NO-ERROR.
- IF NOT AVAILABLE tUmsatz THEN DO:
- CREATE tUmsatz.
- ASSIGN tUmsatz.Knr = Liefst.Knr
- tUmsatz.Wgr = Artst.Wg_Grp
- tUmsatz.Artnr = Artst.Artnr
- tUmsatz.Inhalt = Artst.Inhalt
- tUmsatz.Jahr = Artst.Jahr
- tUmsatz.EpVk_Lf = 0
- tUmsatz.EpVk_Vj = 0
- tUmsatz.VpVk_Lf = 0
- tUmsatz.VpVk_Vj = 0
- tUmsatz.MeVk_Lf = 0
- tUmsatz.MeVk_Vj = 0
- tUmsatz.LiVk_Lf = 0
- tUmsatz.LiVk_Vj = 0
- tUmsatz.EpEk_Lf = 0
- tUmsatz.EpEk_Vj = 0
- tUmsatz.MeEk_Lf = 0
- tUmsatz.MeEk_Vj = 0
- tUmsatz.LiEk_Lf = 0
- tUmsatz.LiEk_Vj = 0
- tUmsatz.Adresse = Adresse.Anzeig_Br
- tUmsatz.cWgr = cWgr
- tUmsatz.KGeb_Cd = Artst.KGeb_Cd
- tUmsatz.Alk% = Artst.Alk_Gehalt.
- END.
- MWST% = Artbw.MWST%.
- IF Artbw.Tr_Art > 10 AND
- T_EinkaufVSVerkauf THEN DO:
- Ep = Artbw.Menge * Artbw.Preis * (100 - Artbw.Rab_Wert) / 100.
- Vp = 0.00.
- tUmsatz.EpEk_Vj = tUmsatz.EpEk_Vj + Ep.
- tUmsatz.MeEk_Vj = tUmsatz.MeEk_Vj + Artbw.Menge.
- tUmsatz.LiEk_Vj = tUmsatz.LiEk_Vj + Artbw.Liter.
- END.
- ELSE DO:
- Ep = Artbw.Ep * Artbw.Menge.
- Vp = Artbw.Net_Betr
- - Artbw.Auf_Rab
- - Artbw.Abh_Rab
- - Artbw.Auf_Sp_Rab.
- IF Ep = 0 THEN Ep = Artbw.Menge * Artst.DEP.
- IF Ep = 0 THEN Ep = Artbw.Menge * Artst.LEP.
- IF Ep = 0 THEN Ep = Artbw.Menge * Artst.Listen_EP.
- IF Artbw.MWST_Inkl THEN DO:
- IF MWST% = 0 THEN DO:
- FIND LAST MWSTAns USE-INDEX MWSTAns-k1
- WHERE MWSTAns.MWST_Cd = Artbw.WuCd
- AND MWSTAns.Datum <= Artbw.Datum NO-LOCK NO-ERROR.
- IF AVAILABLE MWSTAns THEN MWST% = MWSTAns.Ansatz.
- END.
- Vp = Vp * 100 / (100 + MWST%).
- END.
- tUmsatz.EpVk_Vj = tUmsatz.EpVk_Vj + Ep.
- tUmsatz.VpVk_Vj = tUmsatz.VpVk_Vj + Vp.
- tUmsatz.MeVk_Vj = tUmsatz.MeVk_Vj + Artbw.Menge.
- tUmsatz.LiVk_Vj = tUmsatz.LiVk_Vj + Artbw.Liter.
- END.
- END.
- END.
- FOR EACH tUmsatz:
- IF tUmsatz.MeVk_Lf <> 0 THEN NEXT.
- IF tUmsatz.MeVk_Vj <> 0 THEN NEXT.
- IF tUmsatz.LiVk_Lf <> 0 THEN NEXT.
- IF tUmsatz.LiVk_Vj <> 0 THEN NEXT.
- IF tUmsatz.EpVk_Lf <> 0 THEN NEXT.
- IF tUmsatz.EpVk_Vj <> 0 THEN NEXT.
- IF tUmsatz.VpVk_Lf <> 0 THEN NEXT.
- IF tUmsatz.VpVk_Vj <> 0 THEN NEXT.
- IF tUmsatz.MeEk_Lf <> 0 THEN NEXT.
- IF tUmsatz.MeEk_Vj <> 0 THEN NEXT.
- IF tUmsatz.LiEk_Lf <> 0 THEN NEXT.
- IF tUmsatz.LiEk_Vj <> 0 THEN NEXT.
- IF tUmsatz.EpEk_Lf <> 0 THEN NEXT.
- IF tUmsatz.EpEk_Vj <> 0 THEN NEXT.
- DELETE tUmsatz.
- END.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE KOPF gLieferantenrumsatz
- PROCEDURE KOPF :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF INPUT PARAMETER eh AS COM-HANDLE NO-UNDO.
- DEF VAR Zelle AS CHAR NO-UNDO.
- DEF VAR rechts AS INT NO-UNDO.
- DEF VAR mitte AS INT NO-UNDO.
- DEF VAR i1 AS INT NO-UNDO.
- DEF VAR i2 AS INT NO-UNDO.
- DEF VAR Breite AS DEC DECIMALS 4 NO-UNDO.
- DEF VAR TotBre AS DEC DECIMALS 4 NO-UNDO.
- DEF VAR DifBre AS DEC DECIMALS 4 NO-UNDO.
- DEF VAR FHoch AS LOG NO-UNDO.
- DEF VAR iBeg1 AS INT NO-UNDO.
- DEF VAR iBeg2 AS INT NO-UNDO.
- DEF VAR iBeg3 AS INT NO-UNDO.
- DEF VAR iBeg4 AS INT NO-UNDO.
- DEF VAR iEnd1 AS INT NO-UNDO.
- DEF VAR iEnd2 AS INT NO-UNDO.
- DEF VAR iEnd3 AS INT NO-UNDO.
- DEF VAR iEnd4 AS INT NO-UNDO.
- 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'.
- FKol = TRUE.
- AnzKol = 6.
- IF NOT T_EinkaufVSVerkauf THEN DO:
- ASSIGN FKol[17] = FALSE
- FKol[18] = FALSE
- FKol[19] = FALSE
- FKol[20] = FALSE
- FKol[21] = FALSE
- FKol[22] = FALSE.
- END.
- IF NOT T_Vorjahr THEN DO:
- FKol[12] = FALSE.
- FKol[13] = FALSE.
- FKol[14] = FALSE.
- FKol[15] = FALSE.
- FKol[16] = FALSE.
- FKol[20] = FALSE.
- FKol[21] = FALSE.
- FKol[22] = FALSE.
- END.
-
- IF NOT T_Menge THEN ASSIGN FKol[07] = FALSE
- FKol[12] = FALSE
- FKol[17] = FALSE
- FKol[20] = FALSE.
- IF NOT T_Liter THEN ASSIGN FKol[08] = FALSE
- FKol[13] = FALSE
- FKol[18] = FALSE
- FKol[21] = FALSE.
- IF NOT T_Ep THEN ASSIGN FKol[09] = FALSE
- FKol[14] = FALSE.
- IF NOT T_Vp THEN ASSIGN FKol[10] = FALSE
- FKol[15] = FALSE.
- IF NOT T_Marge THEN ASSIGN FKol[11] = FALSE
- FKol[16] = FALSE.
- DO i1 = 7 TO 22:
- IF FKol[i1] THEN ASSIGN rechts = 64 + i1
- AnzKol = AnzKol + 1.
- END.
- DO i1 = 1 TO 22:
- IF FKol[i1] AND
- i1 <= (AnzKol / 2) THEN mitte = i1.
- END.
- mitte = mitte + 64.
- /* Breite = 0. */
- /* TotBre = 0. */
- /* DO i1 = 1 TO 22. */
- /* TotBre = TotBre + DECIMAL(ENTRY(i1, bKol, ';')). */
- /* IF FKol[i1] THEN Breite = Breite + DECIMAL(ENTRY(i1, bKol, ';')). */
- /* END. */
- /* IF Breite < 77.5 THEN DO: */
- /* FHoch = TRUE. */
- /* DifBre = (77.5 - Breite) / AnzKol. */
- /* END. */
- /* ELSE DO: */
- /* FHoch = FALSE. */
- /* DifBre = (TotBre - Breite) / AnzKol. */
- /* END. */
- /* IF DifBre < 0.2 THEN DIfBre = 0. */
- FIND Steuer USE-INDEX Steuer-k1
- WHERE Steuer.Firma = Firma NO-LOCK NO-ERROR.
- Zelle = 'B1'.
- eh:Range(Zelle):Select.
- eh:Selection:HorizontalAlignment = -4131.
- eh:Selection:VALUE = Steuer.Firma1.
- Zelle = CHR(mitte) + '1'.
- eh:Range(Zelle):Select.
- eh:Selection:VALUE = 'Lieferanten-Umsätze'.
- eh:Selection:HorizontalAlignment = -4108.
- Zelle = CHR(rechts) + '1'.
- eh:Range(Zelle):Select.
- eh:Selection:HorizontalAlignment = -4152.
- eh:Selection:VALUE = 'Datum : ' + STRING(TODAY,'99.99.9999').
- Zelle = 'B2'.
- eh:Range(Zelle):Select.
- eh:Selection:HorizontalAlignment = -4131.
- eh:Selection:VALUE = Steuer.Ort.
- Zelle = CHR(mitte) + '2'.
- eh:Range(Zelle):Select.
- eh:Selection:HorizontalAlignment = -4108.
- eh:Selection:VALUE = STRING(F_VonDatum,'99.99.9999')
- + ' - '
- + STRING(F_BisDatum,'99.99.9999').
- Zelle = CHR(rechts) + '2'.
- eh:Range(Zelle):Select.
- eh:Selection:HorizontalAlignment = -4152.
- eh:Selection:VALUE = 'Zeit : ' + STRING(TIME,'HH:MM:SS').
- i2 = 0.
- DO i1 = 1 TO 22:
- IF FKol[i1] THEN i2 = i2 + 1.
- IF i1 >= 7 AND
- i1 <= 11 THEN DO:
- IF FKol[i1] = TRUE THEN DO:
- IF iBeg1 = 0 THEN iBeg1 = i2.
- iEnd1 = i2.
- END.
- END .
- IF i1 >= 12 AND
- i1 <= 16 THEN DO:
- IF FKol[i1] = TRUE THEN DO:
- IF iBeg2 = 0 THEN iBeg2 = i2.
- iEnd2 = i2.
- END.
- END .
- IF i1 >= 17 AND
- i1 <= 19 THEN DO:
- IF FKol[i1] = TRUE THEN DO:
- IF iBeg3 = 0 THEN iBeg3 = i2.
- iEnd3 = i2.
- END.
- END .
- IF i1 >= 20 AND
- i1 <= 22 THEN DO:
- IF FKol[i1] = TRUE THEN DO:
- IF iBeg4 = 0 THEN iBeg4 = i2.
- iEnd4 = i2.
- END.
- END .
- IF NOT FKol[i1] THEN NEXT.
- eh:Range('A1'):Select.
- Zelle = CHR(64 + i1) + ':' + CHR(64 + i1).
- eh:COLUMNS(Zelle):Select.
- IF i1 = 08 AND T_Hl THEN eh:Selection:NumberFormat = "0.00".
- IF i1 = 13 AND T_Hl THEN eh:Selection:NumberFormat = "0.00".
- IF i1 = 18 AND T_Hl THEN eh:Selection:NumberFormat = "0.00".
- IF i1 = 21 AND T_Hl THEN eh:Selection:NumberFormat = "0.00".
- END.
- IF FHoch THEN eh:ActiveSheet:PageSetup:ORIENTATION = 1.
- /* eh:Range('A1'):Select. */
- /* eh:Selection:MergeCells = TRUE. */
- /* eh:Range('L3'):Select. */
- /* eh:Selection:Value = 'Vorperiode'. */
- DO i1 = 22 TO 7 BY -1:
- IF FKol[i1] THEN NEXT.
- Zelle = CHR(64 + i1) + ':' + CHR(64 + i1).
- eh:COLUMNS(Zelle):Select.
- eh:Selection:DELETE ( -4159 ).
- END.
-
- IF iBeg1 > 0 THEN DO:
- Zelle = SUBSTITUTE('&13:&23', CHR(64 + iBeg1), CHR(64 + iEnd1)).
- eh:Range(Zelle):Select.
- eh:Selection:MergeCells = TRUE.
- Zelle = SUBSTITUTE('&13', CHR(64 + iBeg1)).
- eh:Range(Zelle):Select.
- eh:Selection:HorizontalAlignment = -4108.
- eh:Selection:Value = 'Lfd Periode'.
- END.
- IF iBeg2 > 0 THEN DO:
- Zelle = SUBSTITUTE('&13:&23', CHR(64 + iBeg2), CHR(64 + iEnd2)).
- eh:Range(Zelle):Select.
- eh:Selection:MergeCells = TRUE.
- Zelle = SUBSTITUTE('&13', CHR(64 + iBeg2)).
- eh:Range(Zelle):Select.
- eh:Selection:HorizontalAlignment = -4108.
- eh:Selection:Value = 'Vorperiode'.
- END.
- IF iBeg3 > 0 THEN DO:
- Zelle = SUBSTITUTE('&13:&23', CHR(64 + iBeg3), CHR(64 + iEnd3)).
- eh:Range(Zelle):Select.
- eh:Selection:MergeCells = TRUE.
- Zelle = SUBSTITUTE('&13', CHR(64 + iBeg3)).
- eh:Range(Zelle):Select.
- eh:Selection:HorizontalAlignment = -4108.
- eh:Selection:Value = 'Lfd Einkauf'.
- END.
- IF iBeg4 > 0 THEN DO:
- Zelle = SUBSTITUTE('&13:&23', CHR(64 + iBeg4), CHR(64 + iEnd4)).
- eh:Range(Zelle):Select.
- eh:Selection:MergeCells = TRUE.
- Zelle = SUBSTITUTE('&13', CHR(64 + iBeg4)).
- eh:Range(Zelle):Select.
- eh:Selection:HorizontalAlignment = -4108.
- eh:Selection:Value = 'Vorperiode Einkauf'.
- END.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LESEN_FEHLWERTE gLieferantenrumsatz
- PROCEDURE LESEN_FEHLWERTE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR cVal AS CHAR NO-UNDO.
- DEF VAR cKey AS CHAR NO-UNDO.
- DEF VAR i AS INT NO-UNDO.
- DEF VAR cWert AS CHAR NO-UNDO.
- cKey = ENTRY(1, THIS-PROCEDURE:FILE-NAME, '.' ) NO-ERROR.
- GET-KEY-VALUE SECTION 'Auswertungen' KEY cKey VALUE cVal.
- IF cVal = ? THEN RETURN.
- DO WITH FRAME {&FRAME-NAME}:
- DO i = 1 TO NUM-ENTRIES(cVal, '@'):
- cWert = ENTRY(i, cVal, '@').
- CASE i:
- WHEN 1 THEN F_VonKnr :SCREEN-VALUE = cWert NO-ERROR.
- WHEN 2 THEN F_BisKnr :SCREEN-VALUE = cWert NO-ERROR.
- WHEN 3 THEN F_VonArtnr :SCREEN-VALUE = cWert NO-ERROR.
- WHEN 4 THEN F_BisArtnr :SCREEN-VALUE = cWert NO-ERROR.
- WHEN 5 THEN F_Hersteller :SCREEN-VALUE = cWert NO-ERROR.
- WHEN 6 THEN F_Warengrp :SCREEN-VALUE = cWert NO-ERROR.
- WHEN 7 THEN F_VonDatum :SCREEN-VALUE = cWert NO-ERROR.
- WHEN 8 THEN F_BisDatum :SCREEN-VALUE = cWert NO-ERROR.
- WHEN 9 THEN T_Menge :SCREEN-VALUE = cWert NO-ERROR.
- WHEN 10 THEN T_Liter :SCREEN-VALUE = cWert NO-ERROR.
- WHEN 11 THEN T_HL :SCREEN-VALUE = cWert NO-ERROR.
- WHEN 12 THEN T_EP :SCREEN-VALUE = cWert NO-ERROR.
- WHEN 13 THEN T_VP :SCREEN-VALUE = cWert NO-ERROR.
- WHEN 14 THEN T_Marge :SCREEN-VALUE = cWert NO-ERROR.
- WHEN 15 THEN T_Vorjahr :SCREEN-VALUE = cWert NO-ERROR.
- WHEN 16 THEN T_Verkauf :SCREEN-VALUE = cWert NO-ERROR.
- WHEN 17 THEN T_EinkaufVsVerkauf :SCREEN-VALUE = cWert NO-ERROR.
- END CASE.
- END.
- ASSIGN {&List-6}.
- END.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE REPORT gLieferantenrumsatz
- PROCEDURE REPORT :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR i1 AS INT NO-UNDO.
- DEF VAR ja AS LOG NO-UNDO.
- DO WITH FRAME {&FRAME-NAME}:
- RUN BEREINIGEN ( INPUT F_Hersteller:HANDLE ).
- RUN BEREINIGEN ( INPUT F_Warengrp :HANDLE ).
- ASSIGN {&List-6}.
- IF F_VonKnr = 0 AND F_BisKnr = 0 THEN F_BisKnr = 999999.
- IF F_VonKnr > F_BisKnr THEN F_BisKnr = F_VonKnr.
- IF F_VonArtnr = 0 AND F_BisArtnr = 0 THEN F_BisArtnr = 999999.
- IF F_VonArtnr > F_BisArtnr THEN F_BisArtnr = F_VonArtnr.
- IF F_VonDatum = ? THEN F_VonDatum = DATE(01,01,YEAR(TODAY)).
- IF F_BisDatum = ? THEN F_BisDatum = DATE(12,31,YEAR(TODAY)).
- IF F_BisDatum < F_VonDatum THEN F_BisDatum = F_VonDatum.
- DISPLAY {&List-6}.
- RUN SCHREIBEN_FEHLWERTE.
- END.
- RUN FUELLEN_TEMPTABLE.
- FIND FIRST tUmsatz NO-LOCK NO-ERROR.
- IF NOT AVAILABLE tUmsatz THEN DO:
- MESSAGE 'Keine Daten selektiert !' VIEW-AS ALERT-BOX INFORMATION.
- RETURN.
- END.
- cVorlage = 'LiefUmsDet.xls'.
- cDokument = 'LiefUmsDet.xls'.
- cDaten = 'LiefUmsDet.txt'.
- cDateiName = cDokument + CHR(01) + cVorlage.
- RUN CREATEDATEI ( INPUT cDateiName ).
- IF RETURN-VALUE BEGINS 'ERROR' THEN RETURN NO-APPLY.
- cDokument = RETURN-VALUE.
- cDateiName = cDaten.
- RUN CREATEDATEI ( INPUT cDateiName ).
- IF RETURN-VALUE BEGINS 'ERROR' THEN RETURN NO-APPLY.
- cDaten = RETURN-VALUE.
- OUTPUT TO VALUE(cDaten).
- RUN AUSGABE.
- OUTPUT CLOSE.
- excelAppl = DYNAMIC-FUNCTION('CREATEEXCEL':U) NO-ERROR.
- IF NOT VALID-HANDLE(excelAppl) THEN DO:
- RUN FEHLER ( INPUT 1035 ).
- RETURN.
- END.
- RUN OPENEXCEL ( INPUT excelAppl, INPUT cDokument, INPUT '', OUTPUT ja ).
- IF NOT ja THEN DO:
- RUN FEHLER ( INPUT 1040 ).
- DYNAMIC-FUNCTION('RELEASEEXCEL':U, INPUT excelAppl ) NO-ERROR.
- RETURN NO-APPLY.
- END.
- Zelle = 'A6'.
- excelAppl:Range(Zelle):SELECT.
- excelAppl:SELECTION:FormulaR1C1 = 'TEXT;' + cDaten.
- excelAppl:APPLICATION:RUN ( 'DateiEinfügen' ).
- RUN KOPF ( INPUT excelAppl ).
- Zelle = 'A1'.
- excelAppl:Range(Zelle):SELECT.
- DYNAMIC-FUNCTION('RELEASEEXCEL':U, INPUT excelAppl ) NO-ERROR.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SCHREIBEN_FEHLWERTE gLieferantenrumsatz
- PROCEDURE SCHREIBEN_FEHLWERTE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR cVal AS CHAR NO-UNDO.
- DEF VAR cKey AS CHAR NO-UNDO.
- DO WITH FRAME {&FRAME-NAME}:
- ASSIGN {&List-6}.
- cKey = ENTRY(1, THIS-PROCEDURE:FILE-NAME, '.' ) NO-ERROR.
- cVal = F_VonKnr :SCREEN-VALUE + '@'
- + F_BisKnr :SCREEN-VALUE + '@'
- + F_VonArtnr :SCREEN-VALUE + '@'
- + F_BisArtnr :SCREEN-VALUE + '@'
- + F_Hersteller :SCREEN-VALUE + '@'
- + F_Warengrp :SCREEN-VALUE + '@'
- + F_VonDatum :SCREEN-VALUE + '@'
- + F_BisDatum :SCREEN-VALUE + '@'
- + T_Menge :SCREEN-VALUE + '@'
- + T_Liter :SCREEN-VALUE + '@'
- + T_HL :SCREEN-VALUE + '@'
- + T_EP :SCREEN-VALUE + '@'
- + T_VP :SCREEN-VALUE + '@'
- + T_Marge :SCREEN-VALUE + '@'
- + T_Vorjahr :SCREEN-VALUE + '@'
- + T_Verkauf :SCREEN-VALUE + '@'
- + T_EinkaufVsVerkauf:SCREEN-VALUE + '@'.
- PUT-KEY-VALUE SECTION 'Auswertungen' KEY cKey VALUE cVal.
- END.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
|