| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520 |
- &ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2
- &ANALYZE-RESUME
- &Scoped-define WINDOW-NAME CURRENT-WINDOW
- &Scoped-define FRAME-NAME gVertrAusw
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS gVertrAusw
- /*------------------------------------------------------------------------
- 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 --- */
- DEFINE VARIABLE MaxPage AS INTEGER NO-UNDO.
- DEFINE VARIABLE AktSeite AS INTEGER NO-UNDO.
- DEFINE VARIABLE FMutFlag AS LOG NO-UNDO.
- DEFINE VARIABLE lFirma AS CHARACTER NO-UNDO.
- DEFINE VARIABLE Firma AS CHARACTER NO-UNDO.
- DEFINE VARIABLE AdFirma AS CHARACTER NO-UNDO.
- DEFINE VARIABLE Vertr AS INTEGER NO-UNDO.
- DEFINE VARIABLE LiArt AS INTEGER NO-UNDO.
- DEFINE VARIABLE cFirma AS CHARACTER NO-UNDO.
- DEFINE VARIABLE TotUmsatz AS DECIMAL NO-UNDO.
- DEFINE VARIABLE TotSaldo AS DECIMAL NO-UNDO.
- DEFINE VARIABLE cInstallation AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cBenutzer AS CHARACTER NO-UNDO.
- DEFINE STREAM O_Stream.
- DEFINE STREAM I_Stream.
- DEFINE TEMP-TABLE tKuBes LIKE KuBes
- FIELD KdeInd AS INTEGER
- FIELD Anzeig_Br AS CHARACTER
- FIELD Aktivitaet AS CHARACTER
- FIELD Ort AS CHARACTER
- FIELD Plz AS CHARACTER
- FIELD Suchbe AS CHARACTER
- FIELD Datum AS DATE
- FIELD cTel AS CHARACTER
- FIELD cSort AS CHARACTER.
- DEFINE TEMP-TABLE TUmsatz
- FIELD Knr AS INTEGER
- FIELD Firma AS CHARACTER
- FIELD Jahr AS INTEGER
- FIELD Wgr AS INTEGER
- FIELD Umsatz AS DECIMAL
- INDEX TUmsatz-k1 IS PRIMARY
- Knr
- Firma
- Jahr
- Wgr.
-
- DEFINE BUFFER BUmsatz FOR TUmsatz.
- DEFINE TEMP-TABLE tTabel LIKE Tabel .
- DEFINE TEMP-TABLE TWgr LIKE WarenGrp.
- DEFINE TEMP-TABLE tKuBesSpe LIKE KuBesSpe
- FIELD Kontakt AS CHARACTER
- FIELD Aktivitaet AS CHARACTER
- FIELD Vertr AS INTEGER
- FIELD cSpesenArt AS CHARACTER
- FIELD cKonto AS CHARACTER
- FIELD lKunden AS LOG
- .
-
- DEFINE TEMP-TABLE TExcel
- FIELD Nummer AS INTEGER
- FIELD Feld AS CHARACTER
- INDEX TExcel-k1 IS PRIMARY
- Nummer .
- DEFINE TEMP-TABLE TAdresse LIKE Adresse.
- DEFINE TEMP-TABLE tTotale NO-UNDO
- FIELD cArt AS CHARACTER
- FIELD cSchluessel AS CHARACTER
- FIELD Betrag AS DECIMAL.
- /* _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 gVertrAusw
- /* Standard List Definitions */
- &Scoped-Define ENABLED-OBJECTS RECT-13 CB_Vertreter CB_Listenart ~
- F_Kundengrp F_Preisgrp F_Aktivitaeten F_VonDat F_BisDat F_VonKnr F_BisKnr ~
- T_Besuchsart T_Wirtesonntag R_Abgeschl R_Sort Btn_OK Btn_Cancel F_Sort
- &Scoped-Define DISPLAYED-OBJECTS CB_Vertreter CB_Listenart F_Kundengrp ~
- F_Preisgrp F_Aktivitaeten F_VonDat F_BisDat F_VonKnr F_BisKnr T_Besuchsart ~
- T_Wirtesonntag R_Abgeschl R_Sort F_Sort
- /* Custom List Definitions */
- /* List-1,List-2,List-3,List-4,List-5,List-6 */
- &Scoped-define List-6 CB_Vertreter CB_Listenart F_Kundengrp F_Preisgrp ~
- F_Aktivitaeten F_VonDat F_BisDat F_VonKnr F_BisKnr T_Besuchsart ~
- T_Wirtesonntag R_Abgeschl R_Sort
- /* _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 15 BY 1.
- 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 CB_Listenart AS CHARACTER FORMAT "X(256)":U INITIAL "03"
- LABEL "Listenart"
- VIEW-AS COMBO-BOX INNER-LINES 5
- LIST-ITEM-PAIRS "Besuchsblatt","01",
- "Kundenbesuchsplan","02",
- "Spesenabrechnung","03"
- DROP-DOWN-LIST
- SIZE 38 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE CB_Vertreter AS CHARACTER FORMAT "X(256)":U INITIAL "03"
- LABEL "Vertreter"
- VIEW-AS COMBO-BOX INNER-LINES 5
- DROP-DOWN-LIST
- SIZE 38 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Aktivitaeten AS CHARACTER FORMAT "X(256)":U
- LABEL "Aktivitäten"
- VIEW-AS FILL-IN NATIVE
- SIZE 60 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_BisDat 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_Kundengrp AS CHARACTER FORMAT "X(256)":U
- LABEL "Kundengruppen"
- VIEW-AS FILL-IN NATIVE
- SIZE 60 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Preisgrp AS CHARACTER FORMAT "X(256)":U
- LABEL "Preisgruppen"
- VIEW-AS FILL-IN NATIVE
- SIZE 60 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Sort AS CHARACTER FORMAT "X(256)":U INITIAL "Sortierung beim Besuchsplan"
- VIEW-AS TEXT
- SIZE 33.6 BY .71 NO-UNDO.
- DEFINE VARIABLE F_VonDat 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 Kundennummer"
- VIEW-AS FILL-IN NATIVE
- SIZE 11 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE R_Abgeschl AS INTEGER
- VIEW-AS RADIO-SET VERTICAL
- RADIO-BUTTONS
- "alle", 1,
- "nur unerledigte", 2,
- "nur erledigte", 3
- SIZE 34 BY 2.38 NO-UNDO.
- DEFINE VARIABLE R_Sort AS INTEGER
- VIEW-AS RADIO-SET VERTICAL
- RADIO-BUTTONS
- "Datum/Ort", 1,
- "Plz", 2,
- "Ort", 3
- SIZE 34 BY 2.38 NO-UNDO.
- DEFINE RECTANGLE RECT-13
- EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
- SIZE 97.8 BY 21.48.
- DEFINE VARIABLE T_Besuchsart AS LOGICAL INITIAL NO
- LABEL "Besuchsart"
- VIEW-AS TOGGLE-BOX
- SIZE 30 BY 1 NO-UNDO.
- DEFINE VARIABLE T_Wirtesonntag AS LOGICAL INITIAL NO
- LABEL "Wirtesonntag"
- VIEW-AS TOGGLE-BOX
- SIZE 30 BY 1 NO-UNDO.
- /* ************************ Frame Definitions *********************** */
- DEFINE FRAME gVertrAusw
- CB_Vertreter AT ROW 1.52 COL 28 COLON-ALIGNED
- CB_Listenart AT ROW 2.52 COL 28 COLON-ALIGNED
- F_Kundengrp AT ROW 3.52 COL 28 COLON-ALIGNED
- F_Preisgrp AT ROW 4.52 COL 28 COLON-ALIGNED
- F_Aktivitaeten AT ROW 5.52 COL 28 COLON-ALIGNED
- F_VonDat AT ROW 8 COL 28 COLON-ALIGNED
- F_BisDat AT ROW 8 COL 47 COLON-ALIGNED
- F_VonKnr AT ROW 9 COL 28 COLON-ALIGNED
- F_BisKnr AT ROW 9 COL 47 COLON-ALIGNED
- T_Besuchsart AT ROW 11 COL 30
- T_Wirtesonntag AT ROW 12 COL 30
- R_Abgeschl AT ROW 13.38 COL 30 NO-LABEL
- R_Sort AT ROW 16.86 COL 30 NO-LABEL WIDGET-ID 2
- Btn_OK AT ROW 19.76 COL 29.8
- Btn_Cancel AT ROW 20.1 COL 54
- F_Sort AT ROW 16.05 COL 28 COLON-ALIGNED NO-LABEL WIDGET-ID 8
- RECT-13 AT ROW 1.24 COL 2
- SPACE(2.39) SKIP(0.46)
- WITH VIEW-AS DIALOG-BOX KEEP-TAB-ORDER
- SIDE-LABELS NO-UNDERLINE THREE-D SCROLLABLE
- TITLE "Vertreterauswertungen"
- 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 gVertrAusw
- /* ************************* 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 gVertrAusw
- FRAME-NAME */
- ASSIGN
- FRAME gVertrAusw:SCROLLABLE = FALSE
- FRAME gVertrAusw:HIDDEN = TRUE.
- /* SETTINGS FOR COMBO-BOX CB_Listenart IN FRAME gVertrAusw
- 6 */
- /* SETTINGS FOR COMBO-BOX CB_Vertreter IN FRAME gVertrAusw
- 6 */
- /* SETTINGS FOR FILL-IN F_Aktivitaeten IN FRAME gVertrAusw
- 6 */
- /* SETTINGS FOR FILL-IN F_BisDat IN FRAME gVertrAusw
- 6 */
- /* SETTINGS FOR FILL-IN F_BisKnr IN FRAME gVertrAusw
- 6 */
- /* SETTINGS FOR FILL-IN F_Kundengrp IN FRAME gVertrAusw
- 6 */
- /* SETTINGS FOR FILL-IN F_Preisgrp IN FRAME gVertrAusw
- 6 */
- ASSIGN
- F_Sort:READ-ONLY IN FRAME gVertrAusw = TRUE.
- /* SETTINGS FOR FILL-IN F_VonDat IN FRAME gVertrAusw
- 6 */
- /* SETTINGS FOR FILL-IN F_VonKnr IN FRAME gVertrAusw
- 6 */
- /* SETTINGS FOR RADIO-SET R_Abgeschl IN FRAME gVertrAusw
- 6 */
- /* SETTINGS FOR RADIO-SET R_Sort IN FRAME gVertrAusw
- 6 */
- /* SETTINGS FOR TOGGLE-BOX T_Besuchsart IN FRAME gVertrAusw
- 6 */
- /* SETTINGS FOR TOGGLE-BOX T_Wirtesonntag IN FRAME gVertrAusw
- 6 */
- /* _RUN-TIME-ATTRIBUTES-END */
- &ANALYZE-RESUME
- /* Setting information for Queries and Browse Widgets fields */
- &ANALYZE-SUSPEND _QUERY-BLOCK DIALOG-BOX gVertrAusw
- /* Query rebuild information for DIALOG-BOX gVertrAusw
- _Options = "SHARE-LOCK"
- _Query is NOT OPENED
- */ /* DIALOG-BOX gVertrAusw */
- &ANALYZE-RESUME
-
- /* ************************ Control Triggers ************************ */
- &Scoped-define SELF-NAME gVertrAusw
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gVertrAusw gVertrAusw
- ON END-ERROR OF FRAME gVertrAusw /* Vertreterauswertungen */
- DO:
- RUN ENDE.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gVertrAusw gVertrAusw
- ON GO OF FRAME gVertrAusw /* Vertreterauswertungen */
- DO:
- /*
- RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ) NO-ERROR.
- */
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gVertrAusw gVertrAusw
- ON WINDOW-CLOSE OF FRAME gVertrAusw /* Vertreterauswertungen */
- 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 gVertrAusw
- ON CHOOSE OF Btn_Cancel IN FRAME gVertrAusw /* 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 gVertrAusw
- ON CHOOSE OF Btn_OK IN FRAME gVertrAusw /* 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 CB_Listenart
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Listenart gVertrAusw
- ON VALUE-CHANGED OF CB_Listenart IN FRAME gVertrAusw /* Listenart */
- DO:
- CASE CB_listenart:SCREEN-VALUE:
- WHEN '02' THEN
- DO WITH FRAME {&FRAME-NAME}:
- R_Sort:HIDDEN = FALSE.
- F_Sort:HIDDEN = FALSE.
- END.
- OTHERWISE
- DO:
- R_Sort:HIDDEN = TRUE.
- F_Sort:HIDDEN = TRUE.
- END.
- END CASE.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_Aktivitaeten
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Aktivitaeten gVertrAusw
- ON RIGHT-MOUSE-CLICK OF F_Aktivitaeten IN FRAME gVertrAusw /* Aktivitäten */
- DO:
- RUN g-auswahl-tabelle.w ( INPUT SELF, INPUT 'BESUCH' ).
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_Kundengrp
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Kundengrp gVertrAusw
- ON RIGHT-MOUSE-CLICK OF F_Kundengrp IN FRAME gVertrAusw /* Kundengruppen */
- DO:
- RUN g-auswahl-tabelle.w ( INPUT SELF, INPUT 'KUNDGRP' ).
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_Preisgrp
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Preisgrp gVertrAusw
- ON RIGHT-MOUSE-CLICK OF F_Preisgrp IN FRAME gVertrAusw /* Preisgruppen */
- DO:
- RUN g-auswahl-tabelle.w ( INPUT SELF, INPUT 'PREGRP' ).
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_VonKnr
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_VonKnr gVertrAusw
- ON ALT-F OF F_VonKnr IN FRAME gVertrAusw /* von - bis Kundennummer */
- DO:
- DEFINE VARIABLE cAdresse AS CHARACTER NO-UNDO.
- RUN g-such-adresse.w ( OUTPUT cAdresse ) NO-ERROR.
- IF cAdresse <> '' THEN SELF:SCREEN-VALUE = STRING(INTEGER(ENTRY(3, cAdresse, CHR(01)))) NO-ERROR.
- APPLY 'ENTRY' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &UNDEFINE SELF-NAME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK gVertrAusw
- /* *************************** Main Block *************************** */
- MaxPage = 1.
- AktSeite = 1.
- AdFirma = DYNAMIC-FUNCTION('GETADMANDANT':U) NO-ERROR.
- Firma = DYNAMIC-FUNCTION('GETMANDANT':U) NO-ERROR.
- EMPTY TEMP-TABLE tAdresse.
- EMPTY TEMP-TABLE tTabel .
- CREATE TAdresse.
- FOR EACH Tabel WHERE Tabel.Firma = Firma
- AND Tabel.RecArt = 'BESUCH' NO-LOCK:
- CREATE tTabel.
- BUFFER-COPY Tabel TO tTabel.
- END.
- SESSION:DATA-ENTRY-RETURN = TRUE.
- SUBSCRIBE TO 'TOOLBAR' ANYWHERE.
- /* TRIGGERS ------------------------------------------------------ */
- ON 'ALT-CURSOR-RIGHT':U OF FRAME {&FRAME-NAME} ANYWHERE
- DO:
- RUN NEXTPAGE.
- END.
- ON 'ALT-CURSOR-LEFT':U OF FRAME {&FRAME-NAME} ANYWHERE
- DO:
- RUN PREVPAGE.
- END.
- ON 'U1':U OF {&WINDOW-NAME} ANYWHERE
- DO:
- RUN ENTRY_CURSOR.
- END.
- /*
- ON 'PAGE-DOWN':U OF {&WINDOW-NAME} ANYWHERE
- DO:
- RUN TOOLBAR IN h_dyntoolbar ( INPUT 'Next':U ).
- END.
- ON 'PAGE-UP':U OF {&WINDOW-NAME} ANYWHERE
- DO:
- RUN TOOLBAR IN h_dyntoolbar ( INPUT 'Prev':U ).
- END.
-
- ON 'ALT-RETURN':U OF FRAME {&FRAME-NAME} ANYWHERE
- DO:
- RUN TOOLBAR IN h_dyntoolbar ( INPUT 'UPDATE':U ).
- END.
- ON 'ALT-INS':U OF FRAME {&FRAME-NAME} ANYWHERE
- DO:
- RUN TOOLBAR IN h_dyntoolbar ( INPUT 'ADD':U ).
- END.
- ON 'ALT-DEL':U OF FRAME {&FRAME-NAME} ANYWHERE
- DO:
- RUN TOOLBAR IN h_dyntoolbar ( INPUT 'DELETE':U ).
- END.
- ON 'ALT-R':U OF FRAME {&FRAME-NAME} ANYWHERE
- DO:
- RUN TOOLBAR IN h_dyntoolbar ( INPUT 'RESET':U ).
- END.
- ON 'F9':U OF FRAME {&FRAME-NAME} ANYWHERE
- DO:
- RUN TOOLBAR IN h_dyntoolbar ( INPUT 'SAVE':U ).
- END.
- ON 'ALT-S':U OF FRAME {&FRAME-NAME} ANYWHERE
- DO:
- RUN TOOLBAR IN h_dyntoolbar ( INPUT 'SAVE':U ).
- END.
- ON 'ALT-K':U OF FRAME {&FRAME-NAME} ANYWHERE
- DO:
- RUN TOOLBAR IN h_dyntoolbar ( INPUT 'COPY':U ).
- END.
- 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 gVertrAusw _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 BEREINIGEN gVertrAusw
- PROCEDURE BEREINIGEN :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE INPUT PARAMETER ipHandle AS HANDLE NO-UNDO.
- DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
- DEFINE VARIABLE i AS INTEGER 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 changePage gVertrAusw
- PROCEDURE changePage :
- /*------------------------------------------------------------------------------
- Purpose: Super Override
- Parameters:
- Notes:
- ------------------------------------------------------------------------------*/
- /* Code placed here will execute PRIOR to standard behavior. */
- RUN SUPER.
- AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
- CASE AktSeite:
- WHEN 1 THEN
- DO:
- /* RUN addLink ( h_dyntoolbar , 'TableIO':U , h_v-auftr ). */
- /* RUN addLink ( h_dyntoolbar , 'Navigation':U , h_d-auftr ). */
- /* RUN ToolbarInit ( INPUT h_d-auftr ). */
- RUN ENTRY_CURSOR.
- END.
- WHEN 2 THEN
- DO:
- RUN ENTRY_CURSOR.
- END.
- END CASE.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE DATEI_EINLESEN gVertrAusw
- PROCEDURE DATEI_EINLESEN :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE INPUT PARAMETER ipDatei AS CHARACTER NO-UNDO.
- DEFINE VARIABLE Zeile AS CHARACTER NO-UNDO.
- DEFINE VARIABLE i AS INTEGER NO-UNDO.
- EMPTY TEMP-TABLE TExcel.
- i = 0.
- INPUT STREAM I_Stream FROM VALUE(ipDatei) NO-ECHO NO-MAP.
- REPEAT ON STOP UNDO, LEAVE WITH FRAME f_Print:
- IMPORT STREAM I_Stream UNFORMATTED Zeile.
- i = i + 1.
- CREATE TExcel.
- ASSIGN
- TExcel.Nummer = i
- TExcel.Feld = Zeile.
- END.
- INPUT STREAM I_Stream CLOSE.
- OUTPUT STREAM O_Stream TO VALUE(ipDatei) NO-ECHO NO-MAP.
- FOR EACH TExcel NO-LOCK:
- Zeile = TExcel.Feld.
- IF Zeile BEGINS 'xGrau' OR
- Zeile BEGINS 'xRechts' OR
- Zeile BEGINS 'xNeueSeite' THEN ENTRY (1, Zeile, '£') = ''.
- PUT STREAM O_Stream CONTROL Zeile CHR(13).
- END.
- OUTPUT STREAM O_Stream CLOSE.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI gVertrAusw _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 gVertrAusw.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject gVertrAusw
- PROCEDURE enableObject :
- /*------------------------------------------------------------------------------
- Purpose: Super Override
- Parameters:
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
-
- cInstallation = DYNAMIC-FUNCTION ('getInstallation':U).
- cBenutzer = DYNAMIC-FUNCTION ('getBenutzer':U).
- DO WITH FRAME {&FRAME-NAME}:
- RUN COMBO_VERTRETER ( INPUT CB_Vertreter:HANDLE ) NO-ERROR.
- cString = CB_Vertreter:LIST-ITEM-PAIRS + ';' + 'Alle Vertreter (0);000000'.
- CB_Vertreter:LIST-ITEM-PAIRS = cString.
-
- RUN LESEN_FEHLWERTE.
- END.
- RUN SUPER.
- /* oswald spezial */
- IF cInstallation = 'oswald' AND
- cBenutzer = 'gt' THEN
- DO:
- CB_Vertreter:SCREEN-VALUE = '000030'.
- CB_Vertreter:SENSITIVE = FALSE.
- END.
-
- RUN FENSTER_TITEL ( INPUT FRAME {&FRAME-NAME}:HANDLE ) NO-ERROR.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI gVertrAusw _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 CB_Vertreter CB_Listenart F_Kundengrp F_Preisgrp F_Aktivitaeten
- F_VonDat F_BisDat F_VonKnr F_BisKnr T_Besuchsart T_Wirtesonntag
- R_Abgeschl R_Sort F_Sort
- WITH FRAME gVertrAusw.
- ENABLE RECT-13 CB_Vertreter CB_Listenart F_Kundengrp F_Preisgrp
- F_Aktivitaeten F_VonDat F_BisDat F_VonKnr F_BisKnr T_Besuchsart
- T_Wirtesonntag R_Abgeschl R_Sort Btn_OK Btn_Cancel F_Sort
- WITH FRAME gVertrAusw.
- VIEW FRAME gVertrAusw.
- {&OPEN-BROWSERS-IN-QUERY-gVertrAusw}
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE gVertrAusw
- 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 ENTRY_CURSOR gVertrAusw
- PROCEDURE ENTRY_CURSOR :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
- CASE AktSeite:
- /* WHEN 1 THEN RUN applyEntry IN h_v-adresse ( INPUT ? ). */
- /* WHEN 2 THEN RUN applyEntry IN h_f-adrkomm ( INPUT ? ). */
- /* WHEN 3 THEN RUN applyEntry IN h_b-auftbb ( INPUT ? ). */
- /* WHEN 4 THEN RUN applyEntry IN h_b-aufdet ( INPUT ? ). */
- /* WHEN 5 THEN RUN applyEntry IN h_b-aufstreu ( INPUT ? ). */
- /* WHEN 6 THEN RUN applyEntry IN h_b-auffak ( INPUT ? ). */
- /* WHEN 7 THEN RUN applyEntry IN h_b-position ( INPUT ? ). */
- END CASE.
- RETURN NO-APPLY.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE exitObject gVertrAusw
- 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 FORMATIEREN gVertrAusw
- PROCEDURE FORMATIEREN :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE INPUT PARAMETER ipExcel AS COMPONENT-HANDLE NO-UNDO.
- DEFINE VARIABLE i AS INTEGER NO-UNDO.
- DEFINE VARIABLE Selekt AS CHARACTER NO-UNDO.
- DEFINE VARIABLE Zelle AS CHARACTER NO-UNDO.
- Selekt = ''.
- FOR EACH TExcel NO-LOCK:
- DO WHILE TRUE:
- IF NOT TExcel.Feld BEGINS 'xGrau' THEN LEAVE.
- i = TExcel.Nummer + 2.
- Selekt = STRING(i) + ':' + STRING(i).
- ipExcel:Range(Selekt):SELECT.
- ipExcel:Application:RUN ( 'Grau' ).
- LEAVE.
- END.
- DO WHILE TRUE:
- IF NOT TExcel.Feld BEGINS 'xRechts' THEN LEAVE.
- i = TExcel.Nummer + 2.
- Selekt = 'C' + STRING(i) + ':Z' + STRING(i).
- ipExcel:Range(Selekt):SELECT.
- ipExcel:Selection:HorizontalAlignment = -4152.
- LEAVE.
- END.
- DO WHILE TRUE:
- IF NOT TExcel.Feld BEGINS 'xNeueSeite' THEN LEAVE.
- i = TExcel.Nummer + 2.
- Selekt = STRING(i) + ':' + STRING(i).
- ipExcel:Rows(Selekt):SELECT.
- ipExcel:ActiveWindow:SelectedSheets:HPageBreaks:Add (ipExcel:SELECTION).
- LEAVE.
- END.
- END.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE KOPF gVertrAusw
- PROCEDURE KOPF :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE INPUT PARAMETER eh AS COMPONENT-HANDLE NO-UNDO.
- DEFINE VARIABLE Zelle AS CHARACTER NO-UNDO.
- DEFINE VARIABLE Breite AS DECIMAL NO-UNDO.
- FIND Steuer USE-INDEX Steuer-k1
- WHERE Steuer.Firma = Firma NO-LOCK NO-ERROR.
- CASE LiArt:
- WHEN 1 THEN
- DO:
- Zelle = 'A1'.
- eh:Range(Zelle):Select.
- eh:Selection:Value = Steuer.Firma1.
- Zelle = 'M1'.
- eh:Range(Zelle):Select.
- eh:Selection:Value = 'Kunden-Karte'.
- Zelle = 'Z1'.
- eh:Range(Zelle):Select.
- eh:Selection:Value = 'Datum : ' + STRING(TODAY,'99.99.9999').
- Zelle = 'A2'.
- eh:Range(Zelle):Select.
- eh:Selection:Value = Steuer.Ort.
- Zelle = 'M2'.
- eh:Range(Zelle):Select.
- eh:Selection:Value = ''.
- Zelle = 'Z2'.
- eh:Range(Zelle):Select.
- eh:Selection:Value = 'Zeit : ' + STRING(TIME,'HH:MM:SS').
- END.
- WHEN 2 THEN
- DO:
- Zelle = 'A1'.
- eh:Range(Zelle):Select.
- eh:Selection:Value = Steuer.Firma1.
- Zelle = 'C1'.
- eh:Range(Zelle):Select.
- eh:Selection:Value = 'Besuchsplan'.
- Zelle = 'H1'.
- eh:Range(Zelle):Select.
- eh:Selection:Value = 'Datum : ' + STRING(TODAY,'99.99.9999').
- Zelle = 'A2'.
- eh:Range(Zelle):Select.
- eh:Selection:Value = Steuer.Ort.
- Zelle = 'C2'.
- eh:Range(Zelle):Select.
- eh:Selection:Value = 'per ' + STRING(F_VonDat,'99.99.9999').
- Zelle = 'H2'.
- eh:Range(Zelle):Select.
- eh:Selection:Value = 'Zeit : ' + STRING(TIME,'HH:MM:SS').
- IF NOT T_Besuchsart THEN
- DO:
- eh:Columns('E:E'):Select.
- Breite = eh:Selection:ColumnWidth.
- eh:Selection:EntireColumn:Hidden = TRUE.
- eh:Columns('D:D'):Select.
- Breite = Breite + eh:Selection:ColumnWidth.
- eh:Selection:ColumnWidth = Breite.
- END.
- IF NOT T_Wirtesonntag THEN
- DO:
- eh:Columns('G:G'):Select.
- Breite = eh:Selection:ColumnWidth.
- eh:Selection:EntireColumn:Hidden = TRUE.
- eh:Columns('B:B'):Select.
- Breite = Breite + eh:Selection:ColumnWidth.
- eh:Selection:ColumnWidth = Breite.
- END.
- END.
- WHEN 3 THEN
- DO:
- Zelle = 'A1'.
- eh:Range(Zelle):Select.
- eh:Selection:Value = Steuer.Firma1.
- Zelle = 'F1'.
- eh:Range(Zelle):Select.
- eh:Selection:Value = 'Spesenabrechnung'.
- Zelle = 'L1'.
- eh:Range(Zelle):Select.
- eh:Selection:Value = 'Datum : ' + STRING(TODAY,'99.99.9999').
- Zelle = 'A2'.
- eh:Range(Zelle):Select.
- eh:Selection:Value = Steuer.Ort.
- Zelle = 'F2'.
- eh:Range(Zelle):Select.
- eh:Selection:Value = STRING(F_VonDat,'99.99.9999')
- + ' - '
- + STRING(F_BisDat,'99.99.9999').
- Zelle = 'L2'.
- eh:Range(Zelle):Select.
- eh:Selection:Value = 'Zeit : ' + STRING(TIME,'HH:MM:SS').
- END.
- END CASE.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LESEN_FEHLWERTE gVertrAusw
- PROCEDURE LESEN_FEHLWERTE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE VARIABLE cVal AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cKey AS CHARACTER NO-UNDO.
- DEFINE VARIABLE i AS INTEGER 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, '@'):
- CASE i:
- WHEN 1 THEN
- CB_Vertreter :SCREEN-VALUE = ENTRY(i, cVal, '@') NO-ERROR.
- WHEN 2 THEN
- CB_Listenart :SCREEN-VALUE = ENTRY(i, cVal, '@') NO-ERROR.
- WHEN 3 THEN
- F_Kundengrp :SCREEN-VALUE = ENTRY(i, cVal, '@') NO-ERROR.
- WHEN 4 THEN
- F_Preisgrp :SCREEN-VALUE = ENTRY(i, cVal, '@') NO-ERROR.
- WHEN 5 THEN
- F_VonDat :SCREEN-VALUE = ENTRY(i, cVal, '@') NO-ERROR.
- WHEN 6 THEN
- F_BisDat :SCREEN-VALUE = ENTRY(i, cVal, '@') NO-ERROR.
- WHEN 7 THEN
- F_VonKnr :SCREEN-VALUE = ENTRY(i, cVal, '@') NO-ERROR.
- WHEN 8 THEN
- F_BisKnr :SCREEN-VALUE = ENTRY(i, cVal, '@') NO-ERROR.
- WHEN 9 THEN
- R_Abgeschl :SCREEN-VALUE = ENTRY(i, cVal, '@') NO-ERROR.
- WHEN 10 THEN
- F_Aktivitaeten:SCREEN-VALUE = ENTRY(i, cVal, '@') NO-ERROR.
- WHEN 11 THEN
- R_Sort :SCREEN-VALUE = ENTRY(i, cVal, '@') NO-ERROR.
- END CASE.
- END.
- ASSIGN {&List-6}.
- END.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE NEXTPAGE gVertrAusw
- PROCEDURE NEXTPAGE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
- IF AktSeite = MaxPage THEN AktSeite = 1.
- ELSE AktSeite = AktSeite + 1.
- RUN selectPage ( INPUT AktSeite ).
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE PREVPAGE gVertrAusw
- PROCEDURE PREVPAGE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
- IF AktSeite = 1 THEN AktSeite = MaxPage.
- ELSE AktSeite = AktSeite - 1.
- RUN selectPage ( INPUT AktSeite ).
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE REPORT gVertrAusw
- PROCEDURE REPORT :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DO WITH FRAME {&FRAME-NAME}:
- RUN BEREINIGEN ( INPUT F_Kundengrp :HANDLE ).
- RUN BEREINIGEN ( INPUT F_Preisgrp :HANDLE ).
- F_Aktivitaeten = REPLACE(F_Aktivitaeten, ';', ',').
- F_Aktivitaeten = REPLACE(F_Aktivitaeten, ' ', ',').
- 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_VonDat = ? THEN F_VonDat = DATE(01,01,YEAR(TODAY)).
- IF F_BisDat = ? THEN F_BisDat = TODAY + 28.
- DISPLAY {&List-6}.
- RUN SCHREIBEN_FEHLWERTE.
- LiArt = INTEGER(CB_Listenart:SCREEN-VALUE).
- Vertr = INTEGER(CB_Vertreter:SCREEN-VALUE).
- END.
- CASE LiArt:
- WHEN 1 THEN RUN REPORT01.
- WHEN 2 THEN RUN REPORT02.
- WHEN 3 THEN RUN REPORT03.
- END CASE.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE REPORT01 gVertrAusw
- PROCEDURE REPORT01 :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE VARIABLE cVorlage AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cDaten AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cDokument AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cDateiName AS CHARACTER NO-UNDO.
- DEFINE VARIABLE Zelle AS CHARACTER NO-UNDO.
- DEFINE VARIABLE excelAppl AS COMPONENT-HANDLE NO-UNDO.
- DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cRetVal AS CHARACTER NO-UNDO.
- DEFINE VARIABLE ja AS LOG NO-UNDO.
- DEFINE VARIABLE i AS INTEGER NO-UNDO.
- DEFINE VARIABLE j AS INTEGER NO-UNDO.
- DEFINE VARIABLE k AS INTEGER NO-UNDO.
- DEFINE VARIABLE cDatum1 AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cDatum2 AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cipString AS CHARACTER NO-UNDO.
- DEFINE VARIABLE copString AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cFremd1 AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cFremd2 AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cFremd3 AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cFremd4 AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cFremd5 AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cVertr AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cBier AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cWiSo AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cKuBes AS CHARACTER NO-UNDO.
- cFirma = ''.
- FOR EACH Steuer WHERE Steuer.AdFirma = AdFirma NO-LOCK:
- cFirma = cFirma + ',' + Steuer.Firma.
- END.
- cFirma = SUBSTRING(cFirma,02).
-
- EMPTY TEMP-TABLE tKuBes.
- EMPTY TEMP-TABLE TWgr.
- FOR EACH WarenGrp NO-LOCK:
- CREATE TWgr.
- BUFFER-COPY WarenGrp TO TWgr.
- END.
- IF Vertr > 0 THEN
- DO:
- FOR EACH KuBes USE-INDEX KuBes-k2
- WHERE KuBes.Firma = AdFirma
- AND KuBes.Vertr = Vertr
- AND KuBes.Knr >= F_VonKnr
- AND KuBes.Knr <= F_BisKnr
- AND KuBes.Datum_1 >= F_VonDat
- AND KuBes.Datum_1 <= F_BisDat
- AND ((F_Aktivitaeten = '') OR
- (LOOKUP(KuBes.Art, F_Aktivitaeten, ',') > 0))
- NO-LOCK,
- FIRST Adresse USE-INDEX Adresse-k1
- WHERE Adresse.Firma = KuBes.Firma
- AND Adresse.Knr = KuBes.Knr
- AND Adresse.Aktiv = TRUE NO-LOCK:
- IF R_Abgeschl = 2 AND
- KuBes.Abgeschl = TRUE THEN NEXT.
- IF R_Abgeschl = 3 AND
- KuBes.Abgeschl = FALSE THEN NEXT.
- DO WHILE TRUE:
- ja = TRUE.
- IF F_Kundengrp = '' THEN LEAVE.
- IF F_Preisgrp = '' THEN LEAVE.
- FIND Debst USE-INDEX Debst-k1
- WHERE Debst.Firma = Firma
- AND Debst.Knr = KuBes.Knr
- AND Debst.Aktiv = TRUE NO-LOCK NO-ERROR.
- IF NOT AVAILABLE Debst THEN
- DO:
- ja = FALSE.
- LEAVE.
- END.
- IF F_Kundengrp <> '' AND
- LOOKUP(STRING(Debst.Ku_Grp ,'999'), F_Kundengrp, ',') = 0 THEN ja = FALSE.
- IF F_Preisgrp <> '' AND
- LOOKUP(STRING(Debst.Preis_Grp,'999'), F_Preisgrp , ',') = 0 THEN ja = FALSE.
- LEAVE.
- END.
- IF NOT ja THEN NEXT.
- CREATE tKuBes.
- BUFFER-COPY KuBes TO tKuBes
- ASSIGN
- tKuBes.KdeInd = 0
- tKuBes.Anzeig_Br = Adresse.Anzeig_Br.
- IF tKuBes.Adr_04 <> '' THEN
- DO:
- tKuBes.Anzeig_br = tKuBes.Adr_04.
- DO k = 3 TO 1 BY -1:
- CASE k:
- WHEN 1 THEN
- DO:
- IF tKuBes.Adr_01 = '' THEN NEXT.
- tKuBes.Anzeig_br = tKuBes.Adr_01 + ', ' + tKuBes.Anzeig_br.
- END.
- WHEN 2 THEN
- DO:
- IF tKuBes.Adr_02 = '' THEN NEXT.
- tKuBes.Anzeig_br = tKuBes.Adr_02 + ', ' + tKuBes.Anzeig_br.
- END.
- WHEN 3 THEN
- DO:
- IF tKuBes.Adr_03 = '' THEN NEXT.
- tKuBes.Anzeig_br = tKuBes.Adr_03 + ', ' + tKuBes.Anzeig_br.
- END.
- END CASE.
- END.
- END.
- END.
- END.
- IF Vertr = 0 THEN
- DO:
- FOR EACH KuBes USE-INDEX KuBes-k1
- WHERE KuBes.Firma = AdFirma
- AND KuBes.Knr >= F_VonKnr
- AND KuBes.Knr <= F_BisKnr
- AND KuBes.Datum_1 >= F_VonDat
- AND KuBes.Datum_1 <= F_BisDat NO-LOCK,
- FIRST Adresse USE-INDEX Adresse-k1
- WHERE Adresse.Firma = KuBes.Firma
- AND Adresse.Knr = KuBes.Knr
- AND Adresse.Aktiv = TRUE NO-LOCK:
- IF R_Abgeschl = 2 AND
- KuBes.Abgeschl = TRUE THEN NEXT.
- IF R_Abgeschl = 3 AND
- KuBes.Abgeschl = FALSE THEN NEXT.
- DO WHILE TRUE:
- ja = TRUE.
- IF F_Kundengrp = '' THEN LEAVE.
- IF F_Preisgrp = '' THEN LEAVE.
- FIND Debst USE-INDEX Debst-k1
- WHERE Debst.Firma = Firma
- AND Debst.Knr = KuBes.Knr
- AND Debst.Aktiv = TRUE NO-LOCK NO-ERROR.
- IF NOT AVAILABLE Debst THEN
- DO:
- ja = FALSE.
- LEAVE.
- END.
- IF F_Kundengrp <> '' AND
- LOOKUP(STRING(Debst.Ku_Grp ,'999'), F_Kundengrp, ',') = 0 THEN ja = FALSE.
- IF F_Preisgrp <> '' AND
- LOOKUP(STRING(Debst.Preis_Grp,'999'), F_Preisgrp , ',') = 0 THEN ja = FALSE.
- LEAVE.
- END.
- IF NOT ja THEN NEXT.
- CREATE tKuBes.
- BUFFER-COPY KuBes TO tKuBes
- ASSIGN
- tKuBes.KdeInd = 0
- tKuBes.Anzeig_Br = Adresse.Anzeig_Br.
- IF tKuBes.Adr_04 <> '' THEN
- DO:
- tKuBes.Anzeig_br = tKuBes.Adr_04.
- DO k = 3 TO 1 BY -1:
- CASE k:
- WHEN 1 THEN
- DO:
- IF tKuBes.Adr_01 = '' THEN NEXT.
- tKuBes.Anzeig_br = tKuBes.Adr_01 + ', ' + tKuBes.Anzeig_br.
- END.
- WHEN 2 THEN
- DO:
- IF tKuBes.Adr_02 = '' THEN NEXT.
- tKuBes.Anzeig_br = tKuBes.Adr_02 + ', ' + tKuBes.Anzeig_br.
- END.
- WHEN 3 THEN
- DO:
- IF tKuBes.Adr_03 = '' THEN NEXT.
- tKuBes.Anzeig_br = tKuBes.Adr_03 + ', ' + tKuBes.Anzeig_br.
- END.
- END CASE.
- END.
- END.
- END.
- END.
- DO WHILE TRUE:
- FIND FIRST tKuBes NO-LOCK NO-ERROR.
- IF AVAILABLE tKuBes THEN LEAVE.
- IF F_VonKnr <> F_BisKnr THEN RETURN.
- FIND Adresse USE-INDEX Adresse-k1
- WHERE Adresse.Firma = AdFirma
- AND Adresse.Knr = F_VonKnr NO-LOCK NO-ERROR.
- IF NOT AVAILABLE Adresse THEN RETURN.
- CREATE tKuBes.
- ASSIGN
- tKuBes.Firma = Adresse.Firma
- tKuBes.Knr = Adresse.Knr
- tKuBes.Datum_1 = ?
- tKuBes.Datum_2 = ?
- tKuBes.Vertr = 0
- tKuBes.Abgeschl = FALSE.
- LEAVE.
- END.
- FOR EACH tKuBes BY tKuBes.Firma
- BY tKuBes.Knr
- BY tKuBes.Datum_1
- BY tKuBes.Ind.
- IF tKuBes.Adr_04 = '' THEN j = 0.
- ELSE j = j + 1.
- tKuBes.KdeInd = j.
- END.
- cVorlage = 'KundenKarte.xls'.
- cDokument = 'KundenKarte.xls'.
- cDaten = 'KundenKarte.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.
- RUN FIND_VERTRETER ( INPUT Vertr, OUTPUT cString ) NO-ERROR.
- IF cString = '' THEN cString = STRING(Vertr,'99') + CHR(01) + '??????????'.
- OUTPUT TO VALUE(cDaten).
- FOR EACH tKuBes BREAK BY tKuBes.Knr
- BY tKuBes.KdeInd
- BY tKuBes.Datum_1 DESCENDING
- BY tKuBes.Ind :
- IF tKuBes.Datum_1 = ? THEN cDatum1 = ''.
- ELSE cDatum1 = STRING(tKuBes.Datum_1,'99.99.9999').
- IF tKuBes.Datum_2 = ? THEN cDatum2 = ''.
- ELSE cDatum2 = STRING(tKuBes.Datum_2,'99.99.9999').
- DO WHILE TRUE:
- IF NOT FIRST-OF ( tKuBes.KdeInd ) THEN LEAVE.
- TotSaldo = 0.
- TotUmsatz = 0.
- cVertr = ''.
- cBier = ''.
- cWiSo = ''.
- FIND Adresse USE-INDEX Adresse-k1
- WHERE Adresse.Firma = tKuBes.Firma
- AND Adresse.Knr = tKuBes.Knr NO-LOCK NO-ERROR.
- FIND Debst USE-INDEX Debst-k1
- WHERE Debst.Firma = tKuBes.Firma
- AND Debst.Knr = tKuBes.Knr NO-LOCK NO-ERROR.
- FIND KuBesSta USE-INDEX KuBesSta-k1
- WHERE KuBesSta.Firma = tKuBes.Firma
- AND KuBesSta.Knr = tKuBes.Knr NO-LOCK NO-ERROR.
- FIND FIRST TAdresse.
- BUFFER-COPY Adresse TO TAdresse.
- IF tKuBes.Adr_04 <> '' THEN
- DO:
- ASSIGN
- TAdresse.Anschrift = ''
- TAdresse.Anschrift[11] = tKuBes.Adr_04
- TAdresse.Anschrift[10] = tKuBes.Adr_03
- TAdresse.Anschrift[09] = tKuBes.Adr_02
- TAdresse.Anschrift[08] = tKuBes.Adr_01.
- END.
- IF AVAILABLE KuBesSta THEN
- DO:
- cipString = STRING(KuBesSta.FremdWgr1) + ';'
- + STRING(KuBesSta.FremdWgr2) + ';'
- + STRING(KuBesSta.FremdWgr3) + ';'
- + STRING(KuBesSta.FremdWgr4) + ';'
- + STRING(KuBesSta.FremdWgr5).
- RUN WARENGRUPPEN ( INPUT cipString, OUTPUT copString ).
- cFremd1 = ENTRY(1, copString, ';').
- cFremd2 = ENTRY(2, copString, ';').
- cFremd3 = ENTRY(3, copString, ';').
- cFremd4 = ENTRY(4, copString, ';').
- cFremd5 = ENTRY(5, copString, ';').
- cKuBes = STRING(KuBesSta.AnzSoll ,'zz9') + '/'
- + STRING(KuBesSta.AnzHaben,'zz9').
- END.
- lFirma = Firma.
- IF AVAILABLE Debst THEN
- DO:
- RUN TABELLEN ( INPUT Debst.Vertr,
- INPUT 'VERTR' ,
- OUTPUT cVertr).
- RUN TABELLEN ( INPUT Debst.Bier_Cd,
- INPUT 'BIER' ,
- OUTPUT cBier).
- RUN TABELLEN ( INPUT Debst.Wirt_So,
- INPUT 'WISO' ,
- OUTPUT cWiSo).
- END.
- IF NOT FIRST ( tKuBes.KdeInd ) THEN PUT CONTROL 'xNeueSeite'.
- DO i = 6 TO 11 WHILE AVAILABLE KuBesSta:
- PUT CONTROL '£' TAdresse.Anschrift[i].
- CASE i:
- WHEN 06 THEN
- PUT CONTROL '£££££££££££££££££££'
- 'Fremdlieferanten'
- '£££'
- .
- WHEN 07 THEN
- PUT CONTROL '£££££££££££££££££££'
- cFremd1
- ':£££'
- KuBesSta.FremdLief1.
- WHEN 08 THEN
- PUT CONTROL '£££££££££££'
- 'Vertreter:£££'
- cVertr
- '£££££'
- cFremd2
- ':£££'
- KuBesSta.FremdLief2.
- WHEN 09 THEN
- PUT CONTROL '£££££££££££'
- 'Kundenbesuche:£££'
- cKuBes
- '£££££'
- cFremd3
- ':£££'
- KuBesSta.FremdLief3.
- WHEN 10 THEN
- PUT CONTROL '£££££££££££'
- 'Biergruppe:£££'
- cBier
- '£££££'
- cFremd4
- ':£££'
- KuBesSta.FremdLief4.
- WHEN 11 THEN
- PUT CONTROL '££££'
- STRING(tKuBes.Knr,'999999')
- '£££££££'
- 'Wirtesonntag:£££'
- cWiSo
- '£££££'
- cFremd5
- ':£££'
- KuBesSta.FremdLief5.
- END CASE.
- PUT CONTROL CHR(10).
- END.
- PUT CONTROL '£' CHR(10)
- '£Telefon Geschäft:£££' Adresse.Tel-1
- '£££Telefon Privat:£££' Adresse.Tel-2 CHR(10)
- '£Fax Geschäft:£££' Adresse.Tel-3
- '£££Fax Privat:£££' Adresse.Tel-4 CHR(10) '£' CHR(10).
- FOR EACH Debst USE-INDEX Debst-k2
- WHERE Debst.Knr = tKuBes.Knr
- AND Debst.Aktiv = TRUE NO-LOCK:
- FIND Steuer WHERE Steuer.Firma = Debst.Firma NO-LOCK.
- PUT CONTROL Steuer.Firma1
- ' ('
- TRIM(STRING(Debst.Saldo,'->>>,>>>9.99'))
- ')' CHR(10).
- lFirma = Debst.Firma.
- RUN TABELLEN ( INPUT Debst.Ku_Grp,
- INPUT 'KUNDGRP' ,
- OUTPUT cRetVal).
- cString = '££Kundengruppe:£££' + cRetVal.
- RUN TABELLEN ( INPUT Debst.Preis_Grp,
- INPUT 'PREGRP' ,
- OUTPUT cRetVal).
- cString = cString + '££££Preisgruppe:£££' + cRetVal.
- RUN TABELLEN ( INPUT Debst.Rab_Grp,
- INPUT 'RABGRP' ,
- OUTPUT cRetVal).
- cString = cString + '££££Rabattgruppe:£££' + cRetVal.
- PUT CONTROL cString CHR(10).
- RUN TABELLEN ( INPUT Debst.Bonus_Grp,
- INPUT 'BONUS' ,
- OUTPUT cRetVal).
- cString = '££Bonusgruppe:£££' + cRetVal.
- RUN TABELLEN ( INPUT Debst.ABC_Grp,
- INPUT 'ABCGRP' ,
- OUTPUT cRetVal).
- cString = cString + '££££ABC-Gruppe:£££' + cRetVal.
- FIND Kondi USE-INDEX Kondi-k1
- WHERE Kondi.Sprcd = 1
- AND Kondi.Kond = Debst.Kond NO-LOCK NO-ERROR.
- cString = cString + '££££Zahlungskondition:£££'
- + STRING(Debst.Kond,'999 ').
- IF AVAILABLE Kondi THEN cString = cString + Kondi.KoText.
- PUT CONTROL cString CHR(10).
- PUT CONTROL '£' CHR(10).
- TotSaldo = TotSaldo + Debst.Saldo.
- END.
- RUN UMSAETZE ( INPUT tKuBes.Knr ).
- PUT CONTROL 'Total Umsatz / Saldo -> ('
- TRIM(STRING(TotUmsatz,'->>>,>>>,>>9'))
- ' / '
- TRIM(STRING(TotSaldo ,'->>>,>>>,>>9.99'))
- ')'
- CHR(10) '£' CHR(10).
- LEAVE.
- END.
- PUT CONTROL '££'.
- PUT CONTROL cDatum1 '££'
- tKuBes.Art '£'
- STRING(tKuBes.Abgeschl,'ja/nein') '£'
- cDatum2 '££'
- STRING(tKuBes.Spesen,'->>9.99') '££'.
- RUN TABELLEN ( INPUT tKuBes.Vertr,
- INPUT 'VERTR' ,
- OUTPUT cRetVal).
- PUT CONTROL cRetVal.
- j = NUM-ENTRIES(tKuBes.Beschreibung, CHR(10)).
- IF j = 0 THEN j = 1.
- DO i = 1 TO j:
- IF i = 1 THEN PUT CONTROL '££££'.
- ELSE PUT CONTROL '££££££££££££££'.
- PUT CONTROL ENTRY(i, tKuBes.Beschreibung, CHR(10) ) CHR(10).
- END.
- IF LAST-OF(tKuBes.KdeInd) THEN PUT CONTROL '£' CHR(10).
- END.
- OUTPUT CLOSE.
- RUN DATEI_EINLESEN ( INPUT cDaten ).
- 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 = 'A3'.
- excelAppl:Range(Zelle):SELECT.
- excelAppl:Selection:FormulaR1C1 = 'TEXT;' + cDaten.
- excelAppl:Application:RUN ( 'DateiEinfügen' ).
- RUN KOPF ( INPUT excelAppl ).
- Zelle = 'A1'.
- excelAppl:Range(Zelle):SELECT.
- excelAppl:Selection:ColumnWidth = 0.3.
- RUN FORMATIEREN ( 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 REPORT02 gVertrAusw
- PROCEDURE REPORT02 :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE VARIABLE cVorlage AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cDaten AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cDokument AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cDateiName AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cSonntag AS CHARACTER NO-UNDO.
- DEFINE VARIABLE Zelle AS CHARACTER NO-UNDO.
- DEFINE VARIABLE excelAppl AS COMPONENT-HANDLE NO-UNDO.
- DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
- DEFINE VARIABLE ja AS LOG NO-UNDO.
- DEFINE VARIABLE i AS INTEGER NO-UNDO.
- DEFINE VARIABLE j AS INTEGER NO-UNDO.
- DEFINE VARIABLE k AS INTEGER NO-UNDO.
-
- EMPTY TEMP-TABLE tKuBes.
- IF Vertr > 0 THEN
- DO:
- FOR EACH KuBes USE-INDEX KuBes-k2
- WHERE KuBes.Firma = Firma
- AND KuBes.Vertr = Vertr
- AND KuBes.Knr >= F_VonKnr
- AND KuBes.Knr <= F_BisKnr
- AND KuBes.Datum_1 >= F_VonDat
- AND KuBes.Datum_1 <= F_BisDat
- AND ((F_Aktivitaeten = '') OR
- (LOOKUP(KuBes.Art, F_Aktivitaeten, ',') > 0))
- NO-LOCK,
- FIRST Adresse USE-INDEX Adresse-k1
- WHERE Adresse.Firma = KuBes.Firma
- AND Adresse.Knr = KuBes.Knr
- AND Adresse.Aktiv = TRUE NO-LOCK:
- IF R_Abgeschl = 2 AND
- KuBes.Abgeschl = TRUE THEN NEXT.
- IF R_Abgeschl = 3 AND
- KuBes.Abgeschl = FALSE THEN NEXT.
- DO WHILE TRUE:
- ja = TRUE.
- IF F_Kundengrp = '' THEN LEAVE.
- IF F_Preisgrp = '' THEN LEAVE.
- FIND Debst USE-INDEX Debst-k1
- WHERE Debst.Firma = Firma
- AND Debst.Knr = KuBes.Knr
- AND Debst.Aktiv = TRUE NO-LOCK NO-ERROR.
- IF NOT AVAILABLE Debst THEN
- DO:
- Ja = FALSE.
- LEAVE.
- END.
- IF F_Kundengrp <> '' AND
- LOOKUP(STRING(Debst.Ku_Grp ,'999'), F_Kundengrp, ',') = 0 THEN Ja = FALSE.
- IF F_Preisgrp <> '' AND
- LOOKUP(STRING(Debst.Preis_Grp,'999'), F_Preisgrp , ',') = 0 THEN Ja = FALSE.
- LEAVE.
- END.
- IF NOT Ja THEN NEXT.
- FIND FIRST TTabel USE-INDEX Tabel-k1
- WHERE TTabel.Firma = Firma
- AND TTabel.RecArt = 'BESUCH'
- AND TTabel.CodeC = KuBes.Art NO-LOCK NO-ERROR.
- CREATE tKuBes.
- BUFFER-COPY KuBes TO tKuBes
- ASSIGN
- tKuBes.Anzeig_Br = Adresse.Anzeig_Br
- tKuBes.Ort = Adresse.Ort
- tKuBes.Suchbe = Adresse.Suchbe
- tKuBes.Plz = Adresse.Plz.
- IF tKuBes.Datum_2 <> ? THEN tKuBes.Datum = tKuBes.Datum_2.
- ELSE tKuBes.Datum = tKuBes.Datum_1.
- IF AVAILABLE TTabel THEN tKuBes.Aktivitaet = TTabel.Bez1.
- ELSE tKuBes.Aktivitaet = tKuBes.Art.
- IF Adresse.Tel-1 <> '' THEN tKuBes.cTel = Adresse.Tel-1.
- ELSE tKuBes.cTel = Adresse.Tel-2.
- IF tKuBes.Adr_04 <> '' THEN
- DO:
- tKuBes.Anzeig_br = tKuBes.Adr_04.
- DO k = 3 TO 1 BY -1:
- CASE k:
- WHEN 1 THEN
- DO:
- IF tKuBes.Adr_01 = '' THEN NEXT.
- tKuBes.Anzeig_br = tKuBes.Adr_01 + ', ' + tKuBes.Anzeig_br.
- END.
- WHEN 2 THEN
- DO:
- IF tKuBes.Adr_02 = '' THEN NEXT.
- tKuBes.Anzeig_br = tKuBes.Adr_02 + ', ' + tKuBes.Anzeig_br.
- END.
- WHEN 3 THEN
- DO:
- IF tKuBes.Adr_03 = '' THEN NEXT.
- tKuBes.Anzeig_br = tKuBes.Adr_03 + ', ' + tKuBes.Anzeig_br.
- END.
- END CASE.
- END.
- END.
- END.
- END.
- IF Vertr = 0 THEN
- DO:
- FOR EACH KuBes USE-INDEX KuBes-k1
- WHERE KuBes.Firma = AdFirma
- AND KuBes.Knr >= F_VonKnr
- AND KuBes.Knr <= F_BisKnr
- AND KuBes.Datum_1 >= F_VonDat
- AND KuBes.Datum_1 <= F_BisDat NO-LOCK,
- FIRST Adresse USE-INDEX Adresse-k1
- WHERE Adresse.Firma = KuBes.Firma
- AND Adresse.Knr = KuBes.Knr
- AND Adresse.Aktiv = TRUE NO-LOCK:
- IF R_Abgeschl = 2 AND
- KuBes.Abgeschl = TRUE THEN NEXT.
- IF R_Abgeschl = 3 AND
- KuBes.Abgeschl = FALSE THEN NEXT.
- DO WHILE TRUE:
- ja = TRUE.
- IF F_Kundengrp = '' THEN LEAVE.
- IF F_Preisgrp = '' THEN LEAVE.
- FIND Debst USE-INDEX Debst-k1
- WHERE Debst.Firma = Firma
- AND Debst.Knr = KuBes.Knr
- AND Debst.Aktiv = TRUE NO-LOCK NO-ERROR.
- IF NOT AVAILABLE Debst THEN
- DO:
- Ja = FALSE.
- LEAVE.
- END.
- IF F_Kundengrp <> '' AND
- LOOKUP(STRING(Debst.Ku_Grp ,'999'), F_Kundengrp, ',') = 0 THEN Ja = FALSE.
- IF F_Preisgrp <> '' AND
- LOOKUP(STRING(Debst.Preis_Grp,'999'), F_Preisgrp , ',') = 0 THEN Ja = FALSE.
- LEAVE.
- END.
- IF NOT Ja THEN NEXT.
- FIND FIRST TTabel USE-INDEX Tabel-k1
- WHERE TTabel.Firma = Firma
- AND TTabel.RecArt = 'BESUCH'
- AND TTabel.CodeC = KuBes.Art NO-LOCK NO-ERROR.
- CREATE tKuBes.
- BUFFER-COPY KuBes TO tKuBes
- ASSIGN
- tKuBes.Anzeig_Br = Adresse.Anzeig_Br
- tKuBes.Ort = Adresse.Ort
- tKuBes.Suchbe = Adresse.Suchbe
- tKuBes.Plz = Adresse.Plz.
- IF tKuBes.Datum_2 <> ? THEN tKuBes.Datum = tKuBes.Datum_2.
- ELSE tKuBes.Datum = tKuBes.Datum_1.
- IF AVAILABLE TTabel THEN tKuBes.Aktivitaet = TTabel.Bez1.
- ELSE tKuBes.Aktivitaet = tKuBes.Art.
- IF Adresse.Tel-1 <> '' THEN tKuBes.cTel = Adresse.Tel-1.
- ELSE tKuBes.cTel = Adresse.Tel-2.
- IF tKuBes.Adr_04 <> '' THEN
- DO:
- tKuBes.Anzeig_br = tKuBes.Adr_04.
- DO k = 3 TO 1 BY -1:
- CASE k:
- WHEN 1 THEN
- DO:
- IF tKuBes.Adr_01 = '' THEN NEXT.
- tKuBes.Anzeig_br = tKuBes.Adr_01 + ', ' + tKuBes.Anzeig_br.
- END.
- WHEN 2 THEN
- DO:
- IF tKuBes.Adr_02 = '' THEN NEXT.
- tKuBes.Anzeig_br = tKuBes.Adr_02 + ', ' + tKuBes.Anzeig_br.
- END.
- WHEN 3 THEN
- DO:
- IF tKuBes.Adr_03 = '' THEN NEXT.
- tKuBes.Anzeig_br = tKuBes.Adr_03 + ', ' + tKuBes.Anzeig_br.
- END.
- END CASE.
- END.
- END.
- END.
- END.
-
- FIND FIRST tKuBes NO-LOCK NO-ERROR.
- IF NOT AVAILABLE tKuBes THEN RETURN.
- FOR EACH tKuBes BY tKuBes.Firma
- BY tKuBes.Knr
- BY tKuBes.Datum
- BY tKuBes.Ind.
- IF tKuBes.Adr_04 = '' THEN j = 0.
- ELSE j = j + 1.
- tKuBes.KdeInd = j.
- CASE R_Sort:
- WHEN 1 THEN
- ASSIGN
- tKuBes.cSort = STRING(YEAR (tKuBes.Datum),'9999')
- + STRING(MONTH(tKuBes.Datum),'99')
- + STRING(DAY (tKuBes.Datum),'99')
- + STRING(tKuBes.Ort,'x(20)').
- WHEN 2 THEN
- ASSIGN
- tKuBes.cSort = STRING(tKuBes.Plz,'x(06)')
- + STRING(tKuBes.Knr,'999999').
- WHEN 3 THEN
- ASSIGN
- tKuBes.cSort = STRING(tKuBes.Ort,'x(20)')
- + STRING(tKuBes.Knr,'999999').
- END CASE.
- END.
- cVorlage = 'Besuchsplan.xls'.
- cDokument = 'Besuchsplan.xls'.
- cDaten = 'Besuchsplan.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.
- RUN FIND_VERTRETER ( INPUT Vertr, OUTPUT cString ) NO-ERROR.
- IF cString = '' THEN cString = STRING(Vertr,'99') + CHR(01) + '??????????'.
- OUTPUT TO VALUE(cDaten).
- PUT CONTROL ENTRY(1, cString, CHR(01)) ' '
- ENTRY(2, cString, CHR(01)) CHR(10) '£' CHR(10)
- '£Kunde£Termin erledigt am£Text£Art£Erl£Wirtesonntag£TelefonNr' CHR(10).
- FOR EACH tKuBes BREAK BY tKuBes.cSort
- BY tKuBes.Suchbe
- BY tKuBes.Knr
- BY tKuBes.KdeInd
- :
- PUT CONTROL '£'.
- IF FIRST-OF(tKuBes.KdeInd) THEN
- DO:
- FIND Debst USE-INDEX Debst-k1
- WHERE Debst.Firma = tKuBes.Firma
- AND Debst.Knr = tKuBes.Knr NO-LOCK NO-ERROR.
- IF NOT AVAILABLE Debst THEN cSonntag = ''.
- ELSE
- DO:
- RUN FIND_WIRTESONNTAG ( INPUT Debst.Wirt_So, OUTPUT cSonntag ) NO-ERROR.
- IF cSonntag <> '' THEN cSonntag = ENTRY(2, cSonntag, CHR(01)).
- END.
- PUT CONTROL STRING(tKuBes.Knr,'999999 ')
- tKuBes.Anzeig_Br.
- END.
- PUT CONTROL '£'.
- PUT CONTROL STRING(tKuBes.Datum_1,'99.99.9999').
- IF tKuBes.Datum_2 <> ? THEN PUT CONTROL ' ' STRING(tKuBes.Datum_2,'99.99.9999').
- PUT CONTROL '£'.
- j = NUM-ENTRIES(tKuBes.Beschreibung, CHR(10)).
- DO i = 1 TO j:
- PUT CONTROL ENTRY(i, tKuBes.Beschreibung, CHR(10) ).
- IF i < j THEN PUT CONTROL CHR(10) '£££'.
- END.
- PUT CONTROL '£'
- tKuBes.Aktivitaet '£'
- STRING(tKuBes.Abgeschl,'ja/nein') '£'
- cSonntag '£'
- tKuBes.cTel.
- PUT CONTROL CHR(10).
- IF LAST-OF(tKuBes.KdeInd) THEN PUT CONTROL '£' CHR(10).
- END.
- 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 = 'A4'.
- excelAppl:Range(Zelle):SELECT.
- excelAppl:Selection:FormulaR1C1 = 'TEXT;' + cDaten.
- excelAppl:Application:RUN ( 'DateiEinfügen' ).
- RUN KOPF ( INPUT excelAppl ).
- Zelle = 'A1'.
- excelAppl:Range(Zelle):SELECT.
- excelAppl:Selection:ColumnWidth = 0.3.
-
- DYNAMIC-FUNCTION('RELEASEEXCEL':U, INPUT excelAppl ) NO-ERROR.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE REPORT03 gVertrAusw
- PROCEDURE REPORT03 :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE VARIABLE cVorlage AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cDaten AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cDokument AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cDateiName AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cSonntag AS CHARACTER NO-UNDO.
- DEFINE VARIABLE Zelle AS CHARACTER NO-UNDO.
- DEFINE VARIABLE excelAppl AS COMPONENT-HANDLE NO-UNDO.
- DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
- DEFINE VARIABLE ja AS LOG NO-UNDO.
- DEFINE VARIABLE i AS INTEGER NO-UNDO.
- DEFINE VARIABLE j AS INTEGER NO-UNDO.
- DEFINE VARIABLE k AS INTEGER NO-UNDO.
- DEFINE VARIABLE cVertreter AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cAktivitaet AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cSpesenart AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cKunde AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cKonto AS CHARACTER NO-UNDO.
- DEFINE VARIABLE lKunde AS LOG NO-UNDO.
- DEFINE VARIABLE cToArt AS CHARACTER NO-UNDO
- INIT '1SPA,2KON,3MWS,8VER'.
- DEFINE VARIABLE cArt AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cKey AS CHARACTER NO-UNDO.
-
- EMPTY TEMP-TABLE tKuBesSpe.
- FOR EACH KuBesSpe NO-LOCK USE-INDEX KuBesSpe-k1
- WHERE KuBesSpe.Firma = Firma
- AND KuBesSpe.Knr >= F_VonKnr
- AND KuBesSpe.Knr <= F_BisKnr
- AND KuBesSpe.Datum_1 >= F_VonDat
- AND KuBesSpe.Datum_1 <= F_BisDat,
- FIRST KuBes NO-LOCK USE-INDEX KuBes-k1
- WHERE KuBes.Firma = KuBesSpe.Firma
- AND KuBes.Knr = KuBesSpe.Knr
- AND KuBes.Datum_1 = KuBesSpe.Datum_1
- AND KuBes.Ind = KuBesSpe.Ind
- AND ((F_Aktivitaeten = '') OR
- (LOOKUP(KuBes.Art, F_Aktivitaeten, ',') > 0))
- AND ((Vertr = 0) OR
- (KuBes.Vertr = Vertr )):
- DO WHILE TRUE:
- ja = TRUE.
- IF F_Kundengrp = '' AND
- F_Preisgrp = '' THEN LEAVE.
- FIND Debst USE-INDEX Debst-k1
- WHERE Debst.Firma = Firma
- AND Debst.Knr = KuBes.Knr
- AND Debst.Aktiv = TRUE NO-LOCK NO-ERROR.
- IF NOT AVAILABLE Debst THEN
- DO:
- Ja = FALSE.
- LEAVE.
- END.
- IF F_Kundengrp <> '' AND
- LOOKUP(STRING(Debst.Ku_Grp ,'999'), F_Kundengrp, ',') = 0 THEN Ja = FALSE.
- IF F_Preisgrp <> '' AND
- LOOKUP(STRING(Debst.Preis_Grp,'999'), F_Preisgrp , ',') = 0 THEN Ja = FALSE.
- LEAVE.
- END.
- IF NOT Ja THEN NEXT.
- FIND Tabel NO-LOCK
- WHERE Tabel.Firma = Firma
- AND Tabel.RecArt = 'SPESART'
- AND Tabel.CodeC = ''
- AND Tabel.CodeI = KuBesSpe.SpesenArt
- AND Tabel.Sprcd = 1 NO-ERROR.
- IF AVAILABLE Tabel THEN
- DO:
- ASSIGN
- lKunde = Tabel.Flag_1
- cSpesenart = Tabel.Bez1
- cKonto = Tabel.Bez2.
- END.
- ELSE
- DO:
- ASSIGN
- lKunde = FALSE
- cSpesenart = STRING(KuBesSpe.SpesenArt,'999')
- cKonto = '????'.
- END.
-
- FIND FIRST tTabel NO-LOCK USE-INDEX Tabel-k1
- WHERE tTabel.Firma = Firma
- AND tTabel.RecArt = 'BESUCH'
- AND tTabel.CodeC = KuBes.Art NO-ERROR.
- cAktivitaet = (IF AVAILABLE tTabel THEN tTabel.Bez1 ELSE KuBes.Art).
- CREATE tKuBesSpe.
- BUFFER-COPY KuBesSpe TO tKuBesSpe
- ASSIGN
- tKuBesSpe.Vertr = KuBes.Vertr
- tKuBesSpe.cSpesenArt = cSpesenart
- tKuBesSpe.Aktivitaet = cAktivitaet
- tKuBesSpe.cKonto = cKonto
- tKuBesSpe.lKunden = lKunde
- tKuBesSpe.Kontakt = (IF lKunde THEN KuBes.Kontakt ELSE '').
- END.
- FIND FIRST tKuBesSpe NO-LOCK NO-ERROR.
- IF NOT AVAILABLE tKuBesSpe THEN RETURN.
- cVorlage = 'SpesenFormular.xls'.
- cDokument = 'SpesenFormular.xls'.
- cDaten = 'SpesenFormular.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).
- PUT CONTROL '£Datum£BelegNr£Lokal£Anz.Pers.£Kunde£Kontakt£Bemerkung£Aktivität£Betrag£Mwst£Konto' CHR(10)
- '£' CHR(10).
- FOR EACH tKuBesSpe
- BREAK BY tKuBesSpe.Vertr
- BY tKuBesSpe.SpesenArt
- BY tKuBesSpe.Datum_1
- BY tKuBesSpe.Knr :
-
- IF FIRST-OF ( tKuBesSpe.Vertr ) THEN
- DO:
- RUN FIND_VERTRETER ( INPUT Vertr, OUTPUT cString ) NO-ERROR.
- IF cString = '' THEN cVertreter = STRING(tKuBesSpe.Vertr,'99 ') + '??????????'.
- ELSE cVertreter = STRING(tKuBesSpe.Vertr,'99 ') + ENTRY(2, cString, CHR(01)).
- PUT CONTROL cString
- CHR(10)
- '£'
- CHR(10).
- EMPTY TEMP-TABLE tTotale.
- END.
- IF FIRST-OF(tKuBesSpe.SpesenArt) THEN
- DO:
- PUT CONTROL tKuBesSpe.cSpesenart CHR(10).
- END.
- cKunde = ''.
- IF tKuBesSpe.lKunden THEN
- DO:
- FIND Adresse NO-LOCK USE-INDEX Adresse-k1
- WHERE Adresse.Firma = AdFirma
- AND Adresse.Knr = tKuBesSpe.Knr
- AND Adresse.Aktiv = TRUE NO-ERROR.
- IF AVAILABLE Adresse THEN
- DO:
- IF Adresse.Firma1 <> '' THEN cKunde = TRIM(Adresse.Firma1 + ' ' + Adresse.Firma2 ).
- ELSE cKunde = TRIM(Adresse.Name + ' ' + Adresse.Vorname).
- END.
- END.
-
- PUT CONTROL '£'.
- PUT CONTROL STRING(tKuBesSpe.Datum_1,'99.99.9999')
- '£'
- tKuBesSpe.BelegNr
- '£'
- tKuBesSpe.Lokal
- '£'
- tKuBesSpe.AnzPers
- '£'
- cKunde
- '£'
- tKuBesSpe.Kontakt
- '£'
- tKuBesSpe.Bemerk
- '£'
- tKuBesSpe.Aktivitaet
- '£'
- TRIM(STRING(tKuBesSpe.Betrag,'->>>>>9.99'))
- '£'
- TRIM(STRING(tKuBesSpe.MWSt_Ansatz,'>>9.99%'))
- '£'
- tKuBesSpe.cKonto
- CHR(10).
-
- DO i = 1 TO NUM-ENTRIES(cToArt, ','):
- cArt = ENTRY(i, cToArt, ',').
- CASE cArt:
- WHEN '1SPA' THEN
- cKey = tKuBesSpe.cSpesenart.
- WHEN '2KON' THEN
- cKey = tKuBesSpe.cKonto.
- WHEN '3MWS' THEN
- cKey = STRING(tKuBesSpe.MWST_Ansatz,'z9.99%').
- WHEN '8VER' THEN
- cKey = cVertreter.
- END CASE.
-
- FIND FIRST tTotale
- WHERE tTotale.cArt = cArt
- AND tTotale.cSchluessel = cKey NO-ERROR.
- IF NOT AVAILABLE tTotale THEN
- DO:
- CREATE tTotale.
- ASSIGN
- tTotale.cArt = cArt
- tTotale.cSchluessel = cKey.
- END.
- tTotale.Betrag = tTotale.Betrag + tKuBesSpe.Betrag.
- END.
- IF LAST-OF ( tKuBesSpe.SpesenArt ) THEN
- DO:
- FIND FIRST tTotale
- WHERE tTotale.cArt = '1SPA' NO-ERROR.
- PUT CONTROL 'Total '
- tTotale.cSchluessel
- '£££££££££'
- TRIM(STRING(tTotale.Betrag,'->>>>>9.99'))
- CHR(10) '£' CHR(10).
- DELETE tTotale.
- END.
-
- IF NOT LAST-OF(tKuBesSpe.Vertr) THEN NEXT.
-
- FOR EACH tTotale
- BREAK BY tTotale.cArt
- BY tTotale.cSchluessel:
- PUT CONTROL 'Total '
- tTotale.cSchluessel
- '£££££££££'
- TRIM(STRING(tTotale.Betrag,'->>>>>9.99'))
- CHR(10).
- IF LAST-OF ( tTotale.cArt ) THEN PUT CONTROL '£' CHR(10).
- END.
- END.
- 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.
- excelAppl:Selection:ColumnWidth = 0.3.
-
- DYNAMIC-FUNCTION('RELEASEEXCEL':U, INPUT excelAppl ) NO-ERROR.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SCHREIBEN_FEHLWERTE gVertrAusw
- PROCEDURE SCHREIBEN_FEHLWERTE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE VARIABLE cVal AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cKey AS CHARACTER NO-UNDO.
- DO WITH FRAME {&FRAME-NAME}:
- ASSIGN {&List-6}.
- cKey = ENTRY(1, THIS-PROCEDURE:FILE-NAME, '.' ) NO-ERROR.
- cVal = CB_Vertreter :SCREEN-VALUE + '@'
- + CB_Listenart :SCREEN-VALUE + '@'
- + F_Kundengrp :SCREEN-VALUE + '@'
- + F_Preisgrp :SCREEN-VALUE + '@'
- + F_VonDat :SCREEN-VALUE + '@'
- + F_BisDat :SCREEN-VALUE + '@'
- + F_VonKnr :SCREEN-VALUE + '@'
- + F_BisKnr :SCREEN-VALUE + '@'
- + R_Abgeschl :SCREEN-VALUE + '@'
- + F_Aktivitaeten:SCREEN-VALUE + '@'
- + R_Sort :SCREEN-VALUE + '@'.
- PUT-KEY-VALUE SECTION 'Auswertungen' KEY cKey VALUE cVal.
- END.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE selectPage gVertrAusw
- PROCEDURE selectPage :
- /*------------------------------------------------------------------------------
- Purpose: Super Override
- Parameters:
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE INPUT PARAMETER piPageNum AS INTEGER NO-UNDO.
- DEFINE VARIABLE FMutFlag AS LOG NO-UNDO.
- DEFINE VARIABLE MutProg AS CHARACTER NO-UNDO.
- FMutFlag = DYNAMIC-FUNCTION('getMutflagAlt':U) NO-ERROR.
- DO WHILE TRUE:
- IF NOT FMutFlag THEN LEAVE.
- MutProg = DYNAMIC-FUNCTION('GETMUTPROG':U).
- IF MutProg <> THIS-PROCEDURE:FILE-NAME THEN LEAVE.
- RETURN NO-APPLY.
- END.
- CASE piPageNum:
- END CASE.
- AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U).
- CASE AktSeite:
- WHEN 1 THEN
- DO:
- /* RUN removeLink ( h_dyntoolbar , 'TableIO':U , h_v-auftr ). */
- /* RUN removeLink ( h_dyntoolbar , 'Navigation':U , h_d-auftr ). */
- END.
- END CASE.
- RUN SUPER( INPUT piPageNum).
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE TABELLEN gVertrAusw
- PROCEDURE TABELLEN :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE INPUT PARAMETER ipCode AS INTEGER NO-UNDO.
- DEFINE INPUT PARAMETER ipRecArt AS CHARACTER NO-UNDO.
- DEFINE OUTPUT PARAMETER opString AS CHARACTER NO-UNDO.
- opString = STRING(ipCode,'999 ').
- FIND Tabel USE-INDEX Tabel-k1
- WHERE Tabel.Firma = lFirma
- AND Tabel.RecArt = ipRecArt
- AND Tabel.CodeC = ''
- AND Tabel.CodeI = ipCode
- AND Tabel.Sprcd = 1 NO-LOCK NO-ERROR.
- IF AVAILABLE Tabel THEN opString = opString + Tabel.Bez1.
- RETURN.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE TOOLBAR gVertrAusw
- PROCEDURE TOOLBAR :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE INPUT PARAMETER pcAction AS CHARACTER NO-UNDO.
- /*
- RUN TOOLBAR IN h_dyntoolbar ( INPUT pcAction ).
- */
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE UMSAETZE gVertrAusw
- PROCEDURE UMSAETZE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE INPUT PARAMETER ipKnr AS INTEGER NO-UNDO.
- DEFINE VARIABLE i AS INTEGER NO-UNDO.
- DEFINE VARIABLE j AS INTEGER NO-UNDO.
- DEFINE VARIABLE k AS INTEGER NO-UNDO.
- DEFINE VARIABLE xFirma AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cWgr AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cWgrTit AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
- DEFINE VARIABLE iFTot AS DECIMAL NO-UNDO.
- DEFINE VARIABLE iGTot AS DECIMAL NO-UNDO.
- DEFINE VARIABLE iJTot AS DECIMAL NO-UNDO.
- EMPTY TEMP-TABLE TUmsatz.
- DO i = 1 TO NUM-ENTRIES(cFirma, ','):
- xFirma = ENTRY(i, cFirma, ',').
- FOR EACH DeArUms USE-INDEX DeArUms-k3
- WHERE DeArUms.Firma = xFirma
- AND DeArUms.Knr = ipKnr NO-LOCK,
- FIRST Artst USE-INDEX Artst-k1
- WHERE Artst.Firma = DeArUms.Firma
- AND Artst.Artnr = DeArUms.Artnr
- AND Artst.Inhalt = DeArUms.Inhalt
- AND Artst.Jahr = DeArUms.Jahrg NO-LOCK:
- k = Artst.Wg_Grp.
- FIND FIRST TWgr USE-INDEX WarenGrp-k1
- WHERE TWgr.Firma = Artst.Firma
- AND TWgr.Wgr = k NO-LOCK NO-ERROR.
- IF NOT AVAILABLE TWgr THEN k = 999.
- FIND TUmsatz USE-INDEX TUmsatz-k1
- WHERE TUmsatz.Knr = DeArUms.Knr
- AND TUmsatz.Firma = DeArUms.Firma
- AND TUmsatz.Jahr = DeArUms.Jahr
- AND TUmsatz.Wgr = k NO-ERROR.
- IF NOT AVAILABLE TUmsatz THEN
- DO:
- CREATE TUmsatz.
- ASSIGN
- TUmsatz.Knr = DeArUms.Knr
- TUmsatz.Firma = DeArUms.Firma
- TUmsatz.Jahr = DeArUms.Jahr
- TUmsatz.Wgr = k NO-ERROR.
- END.
- TUmsatz.Umsatz = TUmsatz.Umsatz + DeArUms.VP_Kum.
- END.
- END.
- FOR EACH TUmsatz WHERE TUmsatz.Jahr < 9999:
- FIND BUmsatz USE-INDEX TUmsatz-k1
- WHERE BUmsatz.Knr = TUmsatz.Knr
- AND BUmsatz.Firma = TUmsatz.Firma
- AND BUmsatz.Jahr = 9999
- AND BUmsatz.Wgr = TUmsatz.Wgr NO-ERROR.
- IF NOT AVAILABLE BUmsatz THEN
- DO:
- CREATE BUmsatz.
- ASSIGN
- BUmsatz.Knr = TUmsatz.Knr
- BUmsatz.Firma = TUmsatz.Firma
- BUmsatz.Jahr = 9999
- BUmsatz.Wgr = TUmsatz.Wgr NO-ERROR.
- END.
- BUmsatz.Umsatz = BUmsatz.Umsatz + TUmsatz.Umsatz.
- TotUmsatz = TotUmsatz + TUmsatz.Umsatz.
- END.
- iGTot = 0.
- FOR EACH TUmsatz NO-LOCK
- BREAK BY TUmsatz.Knr
- BY TUmsatz.Firma
- BY TUmsatz.Jahr
- BY TUmsatz.Wgr :
- IF FIRST-OF ( TUmsatz.Firma ) THEN
- DO:
- iFTot = 0.
- j = 0.
- FIND Steuer WHERE Steuer.Firma = TUmsatz.Firma NO-LOCK.
- PUT CONTROL 'Umsätze in Firma : ' Steuer.Firma1 CHR(10).
- cWgr = ''.
- cWgrTit = ''.
- FOR EACH TWgr USE-INDEX WarenGrp-k1
- WHERE TWgr.Firma = TUmsatz.Firma NO-LOCK:
- cWgr = cWgr + ';' + STRING(TWgr.Wgr,'999').
- cWgrTit = cWgrTit + ';' + TWgr.Bez1.
- j = j + 1.
- END.
- cWgr = cWgr + ';Undef'.
- cWgrTit = cWgrTit + ';Diverse'.
- j = j + 1.
- cWgr = cWgr + ';Tot'.
- cWgrTit = cWgrTit + ';Total'.
- j = j + 1.
- cWgr = SUBSTRING(cWgr ,02).
- cWgrTit = SUBSTRING(cWgrTit ,02).
- PUT CONTROL 'xGrau£'.
- DO i = 1 TO j:
- PUT CONTROL '£' ENTRY(i, cWgrTit, ';').
- END.
- PUT CONTROL CHR(10) '£' CHR(10).
- END.
- IF FIRST-OF ( TUmsatz.Jahr ) THEN
- DO:
- iJTot = 0.
- cString = FILL(';', j).
- END.
- i = 0.
- i = LOOKUP(STRING(TUmsatz.Wgr,'999'), cWgr, ';').
- IF i = 0 THEN i = j - 1.
- ENTRY(i, cString, ';') = TRIM(STRING(TUmsatz.Umsatz,'->>>,>>>,>>9')).
- iJTot = iJTot + TUmsatz.Umsatz.
- iFTot = iJTot + TUmsatz.Umsatz.
- iGTot = iJTot + TUmsatz.Umsatz.
- IF NOT LAST-OF ( TUmsatz.Jahr ) THEN NEXT.
- ENTRY(j, cString, ';') = TRIM(STRING(iJTot,'->>>,>>>,>>9')).
- PUT CONTROL STRING(TUmsatz.Jahr,'xRechts£9999').
- DO i = 1 TO j:
- PUT CONTROL '£' ENTRY(i, cString, ';').
- END.
- PUT CONTROL CHR(10).
- IF NOT LAST-OF ( TUmsatz.Firma ) THEN NEXT.
- PUT CONTROL '£' CHR(10).
- END.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE WARENGRUPPEN gVertrAusw
- PROCEDURE WARENGRUPPEN :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE INPUT PARAMETER ipString AS CHARACTER NO-UNDO.
- DEFINE OUTPUT PARAMETER opString AS CHARACTER NO-UNDO.
- DEFINE VARIABLE ii AS INTEGER NO-UNDO.
- DEFINE VARIABLE i1 AS INTEGER NO-UNDO.
- opString = ';;;;'.
- DO ii = 1 TO 5:
- i1 = INTEGER(ENTRY(ii, ipString, ';')).
- IF i1 = 0 THEN NEXT.
- FIND WarenGrp USE-INDEX WarenGrp-k1
- WHERE WarenGrp.Firma = Firma
- AND WarenGrp.Wgr = i1 NO-LOCK NO-ERROR.
- IF NOT AVAILABLE WarenGrp THEN ENTRY(ii, opString, ';') = '??????????'.
- ELSE ENTRY(ii, opString, ';') = WarenGrp.Bez1.
- END.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
|