| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178 |
- &ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2
- &ANALYZE-RESUME
- /* Connected Databases
- anadat PROGRESS
- */
- &Scoped-define WINDOW-NAME CURRENT-WINDOW
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS fFrameWin
- /*------------------------------------------------------------------------
- File:
- Description: from cntnrfrm.w - ADM2 SmartFrame Template
- Input Parameters:
- <none>
- Output Parameters:
- <none>
-
- ------------------------------------------------------------------------*/
- /* 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 sAktiv AS LOG NO-UNDO.
- DEFINE VARIABLE GlobKon AS CHARACTER INIT '9999' NO-UNDO.
- DEFINE VARIABLE GlobFir AS CHARACTER INIT '1000' NO-UNDO.
- DEFINE VARIABLE GlobFil AS CHARACTER INIT '0000' NO-UNDO.
- DEFINE VARIABLE DBFirma AS CHARACTER NO-UNDO.
- DEFINE VARIABLE D1Firma AS CHARACTER NO-UNDO.
- DEFINE VARIABLE D2Firma AS CHARACTER NO-UNDO.
- DEFINE VARIABLE ADFirma AS CHARACTER NO-UNDO.
- DEFINE VARIABLE FBFirma AS CHARACTER NO-UNDO.
- DEFINE VARIABLE NRFirma AS CHARACTER NO-UNDO.
- DEFINE VARIABLE Frw AS CHARACTER NO-UNDO.
- DEFINE VARIABLE Liste AS INTEGER NO-UNDO.
- DEFINE VARIABLE cVorlage AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cDokument AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cDaten AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cZelle AS CHARACTER NO-UNDO.
- DEFINE VARIABLE excelAppl AS COMPONENT-HANDLE NO-UNDO.
- DEFINE VARIABLE cAdresse AS CHARACTER NO-UNDO.
- DEFINE VARIABLE aRecid AS RECID NO-UNDO.
- DEFINE TEMP-TABLE tSelektion
- FIELD Sort-1 AS CHARACTER
- FIELD Sort-2 AS CHARACTER
- FIELD Sort-3 AS CHARACTER
- FIELD Id AS RECID
- FIELD Knr AS INTEGER
- FIELD Adresse AS CHARACTER
- FIELD KurzAdr AS CHARACTER
- FIELD Faknr AS INTEGER
- FIELD Datum AS DATE
- FIELD Konto AS CHARACTER
- FIELD Frw AS CHARACTER
- FIELD Betrag AS DECIMAL
- INDEX tSelektion-k1 AS PRIMARY
- Sort-1
- Sort-2
- Sort-3 .
- DEFINE TEMP-TABLE tRekap
- FIELD RecArt AS CHARACTER
- FIELD Feld AS CHARACTER
- FIELD Ansatz AS DECIMAL
- FIELD Inkl AS LOG
- FIELD Betrag AS DECIMAL
- FIELD Betrag_Frw AS DECIMAL
- FIELD Skonto AS DECIMAL
- FIELD Skonto_Frw AS DECIMAL
- FIELD MwstPfli AS DECIMAL
- FIELD MwstBetr AS DECIMAL
- INDEX tRekap-k1 AS PRIMARY
- RecArt
- Feld.
- DEFINE TEMP-TABLE tInterf NO-UNDO LIKE Interf.
- DEFINE TEMP-TABLE TZeile NO-UNDO
- FIELD Nummer AS INTEGER
- FIELD Feld AS CHARACTER EXTENT 16
- INDEX TZeile-k1 IS PRIMARY UNIQUE
- Nummer.
- DEFINE BUFFER BZeile FOR TZeile.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
- /* ******************** Preprocessor Definitions ******************** */
- &Scoped-define PROCEDURE-TYPE SmartFrame
- &Scoped-define DB-AWARE no
- &Scoped-define ADM-CONTAINER FRAME
- &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 fMain
- /* Internal Tables (found by Frame, Query & Browse Queries) */
- &Scoped-define INTERNAL-TABLES Debfa
- /* Definitions for FRAME fMain */
- &Scoped-define QUERY-STRING-fMain FOR EACH Debfa NO-LOCK
- &Scoped-define OPEN-QUERY-fMain OPEN QUERY fMain FOR EACH Debfa NO-LOCK.
- &Scoped-define TABLES-IN-QUERY-fMain Debfa
- &Scoped-define FIRST-TABLE-IN-QUERY-fMain Debfa
- /* Standard List Definitions */
- &Scoped-Define ENABLED-OBJECTS RECT-8 RECT-9 F_VonKnr F_BisKnr F_VonFaknr ~
- F_BisFaknr F_VonDatum F_BisDatum F_VonBetrag F_BisBetrag F_VonKonto ~
- F_BisKonto CB_Frw T_perData R_Sort Btn_Faktura Btn_Zahlung Btn_Umsatz ~
- Btn_OP
- &Scoped-Define DISPLAYED-OBJECTS F_VonKnr F_BisKnr F_VonFaknr F_BisFaknr ~
- F_VonDatum F_BisDatum F_VonBetrag F_BisBetrag F_VonKonto F_BisKonto CB_Frw ~
- T_perData R_Sort
- /* Custom List Definitions */
- /* List-1,List-2,List-3,List-4,List-5,List-6 */
- &Scoped-define List-6 F_VonKnr F_BisKnr F_VonFaknr F_BisFaknr F_VonDatum ~
- F_BisDatum F_VonBetrag F_BisBetrag F_VonKonto F_BisKonto T_perData R_Sort
- /* _UIB-PREPROCESSOR-BLOCK-END */
- &ANALYZE-RESUME
- /* *********************** Control Definitions ********************** */
- /* Definitions of the field level widgets */
- DEFINE BUTTON Btn_Faktura
- IMAGE-UP FILE "grafik/results%.ico":U
- IMAGE-INSENSITIVE FILE "grafik/exit.bmp":U
- LABEL "F"
- SIZE 8 BY 1.91.
- DEFINE BUTTON Btn_OP
- IMAGE-UP FILE "grafik/results%.ico":U
- IMAGE-INSENSITIVE FILE "grafik/exit.bmp":U
- LABEL "O"
- SIZE 8 BY 1.91.
- DEFINE BUTTON Btn_Umsatz
- IMAGE-UP FILE "grafik/results%.ico":U
- IMAGE-INSENSITIVE FILE "grafik/exit.bmp":U
- LABEL "U"
- SIZE 8 BY 1.91.
- DEFINE BUTTON Btn_Zahlung
- IMAGE-UP FILE "grafik/results%.ico":U
- IMAGE-INSENSITIVE FILE "grafik/exit.bmp":U
- LABEL "Z"
- SIZE 8 BY 1.91.
- DEFINE VARIABLE CB_Frw AS CHARACTER FORMAT "X(256)":U
- LABEL "Währungen"
- VIEW-AS COMBO-BOX INNER-LINES 5
- LIST-ITEM-PAIRS "Item 1","Item 1"
- DROP-DOWN-LIST
- SIZE 49 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_BisBetrag AS DECIMAL FORMAT "zzz,zzz,zz9.99-" INITIAL 0
- LABEL "-"
- VIEW-AS FILL-IN NATIVE
- SIZE 23 BY 1
- BGCOLOR 15 .
- DEFINE VARIABLE F_BisDatum AS DATE FORMAT "99.99.9999"
- LABEL "-"
- VIEW-AS FILL-IN NATIVE
- SIZE 16 BY 1
- BGCOLOR 15 .
- DEFINE VARIABLE F_BisFaknr AS INTEGER FORMAT "9999999" INITIAL 0
- LABEL "-"
- VIEW-AS FILL-IN NATIVE
- SIZE 12 BY 1
- BGCOLOR 15 .
- DEFINE VARIABLE F_BisKnr AS INTEGER FORMAT "999999" INITIAL 0
- LABEL "-"
- VIEW-AS FILL-IN NATIVE
- SIZE 11 BY 1
- BGCOLOR 15 .
- DEFINE VARIABLE F_BisKonto AS CHARACTER FORMAT "x(12)"
- LABEL "-"
- VIEW-AS FILL-IN NATIVE
- SIZE 23 BY 1
- BGCOLOR 15 .
- DEFINE VARIABLE F_VonBetrag AS DECIMAL FORMAT "zzz,zzz,zz9.99-" INITIAL 0
- LABEL "Betrag"
- VIEW-AS FILL-IN NATIVE
- SIZE 23 BY 1
- BGCOLOR 15 .
- DEFINE VARIABLE F_VonDatum AS DATE FORMAT "99.99.9999"
- LABEL "Datum"
- VIEW-AS FILL-IN NATIVE
- SIZE 16 BY 1
- BGCOLOR 15 .
- DEFINE VARIABLE F_VonFaknr AS INTEGER FORMAT "9999999" INITIAL 0
- LABEL "Fakturanummer"
- VIEW-AS FILL-IN NATIVE
- SIZE 12 BY 1
- BGCOLOR 15 .
- DEFINE VARIABLE F_VonKnr AS INTEGER FORMAT "999999" INITIAL 0
- LABEL "Kundennummer"
- VIEW-AS FILL-IN NATIVE
- SIZE 11 BY 1
- BGCOLOR 15 .
- DEFINE VARIABLE F_VonKonto AS CHARACTER FORMAT "x(12)"
- LABEL "FibuKonto"
- VIEW-AS FILL-IN NATIVE
- SIZE 23 BY 1
- BGCOLOR 15 .
- DEFINE VARIABLE R_Sort AS INTEGER
- VIEW-AS RADIO-SET VERTICAL
- RADIO-BUTTONS
- "Rechnungsnummer", 1,
- "Kundennummer", 2,
- "Suchbegriff", 3,
- "Datum", 4
- SIZE 49 BY 3 NO-UNDO.
- DEFINE RECTANGLE RECT-8
- EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
- SIZE 100 BY 16.19.
- DEFINE RECTANGLE RECT-9
- EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
- SIZE 100 BY 3.81.
- DEFINE VARIABLE T_perData AS LOGICAL INITIAL NO
- LABEL "Saldo per Data (OP-Liste (bis Fakruradatum))"
- VIEW-AS TOGGLE-BOX
- SIZE 49 BY 1 NO-UNDO.
- /* Query definitions */
- &ANALYZE-SUSPEND
- DEFINE QUERY fMain FOR
- Debfa SCROLLING.
- &ANALYZE-RESUME
- /* ************************ Frame Definitions *********************** */
- DEFINE FRAME fMain
- F_VonKnr AT ROW 1.52 COL 28 COLON-ALIGNED
- F_BisKnr AT ROW 1.52 COL 54 COLON-ALIGNED
- F_VonFaknr AT ROW 2.52 COL 28 COLON-ALIGNED
- F_BisFaknr AT ROW 2.52 COL 54 COLON-ALIGNED
- F_VonDatum AT ROW 3.52 COL 28 COLON-ALIGNED
- F_BisDatum AT ROW 3.52 COL 54 COLON-ALIGNED
- F_VonBetrag AT ROW 4.52 COL 28 COLON-ALIGNED
- F_BisBetrag AT ROW 4.52 COL 54 COLON-ALIGNED
- F_VonKonto AT ROW 5.57 COL 28 COLON-ALIGNED
- F_BisKonto AT ROW 5.57 COL 54 COLON-ALIGNED
- CB_Frw AT ROW 6.52 COL 28 COLON-ALIGNED
- T_perData AT ROW 7.52 COL 30
- R_Sort AT ROW 9.48 COL 30 NO-LABELS
- Btn_Faktura AT ROW 14 COL 10
- Btn_Zahlung AT ROW 14 COL 30
- Btn_Umsatz AT ROW 14 COL 50
- Btn_OP AT ROW 14 COL 70
- "Offene Posten" VIEW-AS TEXT
- SIZE 15.4 BY .95 AT ROW 16.1 COL 68
- "Mehrwertsteuerjournal" VIEW-AS TEXT
- SIZE 20.2 BY .95 AT ROW 16.1 COL 46
- "Zahlungsjournal" VIEW-AS TEXT
- SIZE 16 BY .95 AT ROW 16.1 COL 26
- "Fakturajournal" VIEW-AS TEXT
- SIZE 16 BY .95 AT ROW 16.1 COL 6
- RECT-8 AT ROW 1.24 COL 2
- RECT-9 AT ROW 9.14 COL 2
- WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY
- SIDE-LABELS NO-UNDERLINE THREE-D
- AT COL 1 ROW 1
- SIZE 102 BY 16.67.
- /* *********************** Procedure Settings ************************ */
- &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
- /* Settings for THIS-PROCEDURE
- Type: SmartFrame
- Allow: Basic,Browse,DB-Fields,Query,Smart
- Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
- Other Settings: PERSISTENT-ONLY COMPILE
- */
- /* This procedure should always be RUN PERSISTENT. Report the error, */
- /* then cleanup and return. */
- IF NOT THIS-PROCEDURE:PERSISTENT THEN
- DO:
- MESSAGE "{&FILE-NAME} should only be RUN PERSISTENT.":U
- VIEW-AS ALERT-BOX ERROR BUTTONS OK.
- RETURN.
- END.
- &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
- /* ************************* Create Window ************************** */
- &ANALYZE-SUSPEND _CREATE-WINDOW
- /* DESIGN Window definition (used by the UIB)
- CREATE WINDOW fFrameWin ASSIGN
- HEIGHT = 16.81
- WIDTH = 103.
- /* END WINDOW DEFINITION */
- */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB fFrameWin
- /* ************************* Included-Libraries *********************** */
- {src/adm2/containr.i}
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- /* *********** Runtime Attributes and AppBuilder Settings *********** */
- &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
- /* SETTINGS FOR WINDOW fFrameWin
- VISIBLE,,RUN-PERSISTENT */
- /* SETTINGS FOR FRAME fMain
- NOT-VISIBLE FRAME-NAME */
- ASSIGN
- FRAME fMain:HIDDEN = TRUE.
- /* SETTINGS FOR FILL-IN F_BisBetrag IN FRAME fMain
- 6 */
- /* SETTINGS FOR FILL-IN F_BisDatum IN FRAME fMain
- 6 */
- /* SETTINGS FOR FILL-IN F_BisFaknr IN FRAME fMain
- 6 */
- /* SETTINGS FOR FILL-IN F_BisKnr IN FRAME fMain
- 6 */
- /* SETTINGS FOR FILL-IN F_BisKonto IN FRAME fMain
- 6 */
- /* SETTINGS FOR FILL-IN F_VonBetrag IN FRAME fMain
- 6 */
- /* SETTINGS FOR FILL-IN F_VonDatum IN FRAME fMain
- 6 */
- /* SETTINGS FOR FILL-IN F_VonFaknr IN FRAME fMain
- 6 */
- /* SETTINGS FOR FILL-IN F_VonKnr IN FRAME fMain
- 6 */
- /* SETTINGS FOR FILL-IN F_VonKonto IN FRAME fMain
- 6 */
- /* SETTINGS FOR RADIO-SET R_Sort IN FRAME fMain
- 6 */
- /* SETTINGS FOR TOGGLE-BOX T_perData IN FRAME fMain
- 6 */
- /* _RUN-TIME-ATTRIBUTES-END */
- &ANALYZE-RESUME
- /* Setting information for Queries and Browse Widgets fields */
- &ANALYZE-SUSPEND _QUERY-BLOCK FRAME fMain
- /* Query rebuild information for FRAME fMain
- _TblList = "AnaDat.Debfa"
- _Options = ""
- _Query is NOT OPENED
- */ /* FRAME fMain */
- &ANALYZE-RESUME
-
- /* ************************ Control Triggers ************************ */
- &Scoped-define SELF-NAME Btn_Faktura
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Faktura fFrameWin
- ON CHOOSE OF Btn_Faktura IN FRAME fMain /* F */
- DO:
- Liste = 1.
- RUN REPORT.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME Btn_OP
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_OP fFrameWin
- ON CHOOSE OF Btn_OP IN FRAME fMain /* O */
- DO:
- Liste = 4.
- RUN REPORT.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME Btn_Umsatz
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Umsatz fFrameWin
- ON CHOOSE OF Btn_Umsatz IN FRAME fMain /* U */
- DO:
- Liste = 3.
- RUN REPORT.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME Btn_Zahlung
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Zahlung fFrameWin
- ON CHOOSE OF Btn_Zahlung IN FRAME fMain /* Z */
- DO:
- Liste = 2.
- RUN REPORT.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_BisKnr
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_BisKnr fFrameWin
- ON ALT-F OF F_BisKnr IN FRAME fMain /* - */
- DO:
- RUN g-such-debit.w ( INPUT 0, OUTPUT cAdresse ).
- IF cAdresse = '' THEN RETURN NO-APPLY.
- SELF:SCREEN-VALUE = STRING(INTEGER(ENTRY(3, cAdresse, CHR(01)))).
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_VonKnr
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_VonKnr fFrameWin
- ON ALT-F OF F_VonKnr IN FRAME fMain /* Kundennummer */
- DO:
- RUN g-such-debit.w ( INPUT 0, OUTPUT cAdresse ).
- IF cAdresse = '' THEN RETURN NO-APPLY.
- SELF:SCREEN-VALUE = STRING(INTEGER(ENTRY(3, cAdresse, CHR(01)))).
- F_BisKnr:SCREEN-VALUE = SELF:SCREEN-VALUE.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &UNDEFINE SELF-NAME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK fFrameWin
- /* *************************** Main Block *************************** */
- SAktiv = DYNAMIC-FUNCTION('getSuperaktiv':U) NO-ERROR.
- IF SAktiv THEN
- DO:
- D1Firma = DYNAMIC-FUNCTION('getMandant':U ) NO-ERROR.
- AdFirma = DYNAMIC-FUNCTION('getAdMandant':U ) NO-ERROR.
- FBFirma = DYNAMIC-FUNCTION('getFBMandant':U ) NO-ERROR.
- END.
- &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
- /* Now enable the interface if in test mode - otherwise this happens when
- the object is explicitly initialized from its container. */
- RUN initializeObject.
- &ENDIF
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- /* ********************** Internal Procedures *********************** */
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects fFrameWin _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 disable_UI fFrameWin _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 fMain.
- IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI fFrameWin _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_VonFaknr F_BisFaknr F_VonDatum F_BisDatum
- F_VonBetrag F_BisBetrag F_VonKonto F_BisKonto CB_Frw T_perData R_Sort
- WITH FRAME fMain.
- ENABLE RECT-8 RECT-9 F_VonKnr F_BisKnr F_VonFaknr F_BisFaknr F_VonDatum
- F_BisDatum F_VonBetrag F_BisBetrag F_VonKonto F_BisKonto CB_Frw
- T_perData R_Sort Btn_Faktura Btn_Zahlung Btn_Umsatz Btn_OP
- WITH FRAME fMain.
- {&OPEN-BROWSERS-IN-QUERY-fMain}
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE FAKTURA_JOURNAL fFrameWin
- PROCEDURE FAKTURA_JOURNAL :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE VARIABLE cDateiName AS CHARACTER NO-UNDO.
- DEFINE VARIABLE ja AS LOG NO-UNDO.
- DEFINE VARIABLE ix AS INTEGER NO-UNDO.
- DEFINE VARIABLE cFeld AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
- DEFINE VARIABLE GTotal AS DECIMAL EXTENT 5 NO-UNDO.
- DEFINE VARIABLE Cd AS INTEGER NO-UNDO.
- DEFINE VARIABLE Ans AS DECIMAL NO-UNDO.
- DEFINE VARIABLE nMwst AS DECIMAL NO-UNDO.
-
- cVorlage = 'FakturaJournal.xls'.
- cDokument = 'FakturaJournal.xls'.
- cDaten = 'FakturaJournal.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) NO-MAP NO-CONVERT.
- GTotal = 0.
- FOR EACH tSelektion USE-INDEX tSelektion-k1 NO-LOCK:
- FIND Debfa WHERE RECID(Debfa) = tSelektion.id NO-LOCK.
- FIND Debop USE-INDEX Debop-k1
- WHERE Debop.Firma = Debfa.Firma
- AND Debop.Knr = Debfa.Knr
- AND Debop.Faknr = Debfa.Faknr NO-LOCK NO-ERROR.
- PUT CONTROL '£'
- STRING(Debfa.Knr ,'999999') '£'
- tSelektion.Adresse '££'
- STRING(Debfa.Faknr ,'9999999') '£'
- STRING(Debfa.FakDat ,'99.99.9999') '£'
- STRING(Debfa.Faellig ,'99.99.9999') '£'
- Debfa.Kte '£'
- Debfa.Frw '£'
- TRIM(STRING(Debfa.Kurs ,'zzzz9.9999')) '£'
- TRIM(STRING(Debfa.Fakbetr_Frw,'->>>>>>>>9.99')) '£'
- TRIM(STRING(Debfa.Fakbetr ,'->>>>>>>>9.99')) '£'
- Debfa.Konto '£'
- CHR(10).
- GTotal[01] = GTotal[01] + Debfa.Fakbetr_Frw.
- GTotal[02] = GTotal[02] + Debfa.Fakbetr .
- FIND FIRST tRekap USE-INDEX tRekap-k1
- WHERE tRekap.RecArt = 'Konto'
- AND tRekap.Feld = Debfa.Konto NO-ERROR.
- IF NOT AVAILABLE tRekap THEN
- DO:
- CREATE tRekap.
- ASSIGN
- tRekap.RecArt = 'Konto'
- tRekap.Feld = Debfa.Konto.
- END.
- ASSIGN
- tRekap.Betrag = tRekap.Betrag + Debfa.FakBetr
- tRekap.Betrag_Frw = tRekap.Betrag_Frw + Debfa.FakBetr_Frw.
- FIND FIRST tRekap USE-INDEX tRekap-k1
- WHERE tRekap.RecArt = 'Frw'
- AND tRekap.Feld = Debfa.Frw NO-ERROR.
- IF NOT AVAILABLE tRekap THEN
- DO:
- CREATE tRekap.
- ASSIGN
- tRekap.RecArt = 'Frw'
- tRekap.Feld = Debfa.Frw.
- END.
- ASSIGN
- tRekap.Betrag = tRekap.Betrag + Debfa.FakBetr
- tRekap.Betrag_Frw = tRekap.Betrag_Frw + Debfa.FakBetr_Frw.
- DO ix = 1 TO 11:
- IF Debfa.FakWpfl[ix] = 0 THEN NEXT.
- FIND LAST MWSTAns NO-LOCK
- WHERE MWSTAns.MWST_Cd = ix
- AND MWSTAns.Datum <= Debfa.Fakdat NO-ERROR.
- cFeld = STRING(ix,'99 ')
- + STRING(Debop.FakWPro[ix],'99.99').
- FIND FIRST tRekap USE-INDEX tRekap-k1
- WHERE tRekap.RecArt = 'MWST'
- AND tRekap.Feld = cFeld NO-ERROR.
- IF NOT AVAILABLE tRekap THEN
- DO:
- CREATE tRekap.
- ASSIGN
- tRekap.RecArt = 'MWST'
- tRekap.Feld = cFeld
- tRekap.Inkl = MWSTAns.Incl.
- END.
- IF MWSTAns.Incl THEN nMwst = Debfa.FakWpfl[ix] * MWSTAns.Ansatz / (100 + MWSTAns.Ansatz).
- ELSE nMwst = Debfa.FakWust[ix].
- ASSIGN
- tRekap.MwstPfli = tRekap.MwstPfli + Debfa.FakWpfl[ix] - (IF MWSTAns.Incl THEN nMwst ELSE 0.00)
- tRekap.MwstBetr = tRekap.MwstBetr + nMwst.
- END.
- END.
- PUT CONTROL '£' CHR(10).
- PUT CONTROL '£££Gesamttotal£'
- '££££££'
- TRIM(STRING(GTotal[01],'->>>>>>>>9.99')) '£'
- TRIM(STRING(GTotal[02],'->>>>>>>>9.99')) CHR(10).
- PUT CONTROL '£' CHR(10)
- '£' CHR(10).
- ja = TRUE.
- FOR EACH tRekap USE-INDEX tRekap-k1
- WHERE tRekap.RecArt = 'Konto':
- IF ja THEN PUT CONTROL '£££Kontorekapitulation£'.
- ELSE PUT CONTROL '££££'.
- PUT CONTROL '££££££'
- TRIM(STRING(tRekap.Betrag_Frw,'->>>>>>>>9.99')) '£'
- TRIM(STRING(tRekap.Betrag ,'->>>>>>>>9.99')) '£'
- tRekap.Feld CHR(10).
- ja = FALSE.
- END.
- PUT CONTROL '£' CHR(10)
- '£' CHR(10).
- ja = TRUE.
- FOR EACH tRekap USE-INDEX tRekap-k1
- WHERE tRekap.RecArt = 'Frw':
- IF ja THEN PUT CONTROL '£££Rekapitulation nach Währung£'.
- ELSE PUT CONTROL '££££'.
- PUT CONTROL '££££'
- tRekap.Feld '££'
- STRING(tRekap.Betrag_Frw,'->>>>>>>>9.99') '£'
- STRING(tRekap.Betrag ,'->>>>>>>>9.99') '£'
- CHR(10).
- ja = FALSE.
- END.
- PUT CONTROL '£' CHR(10)
- '£' CHR(10)
- '£££MWSt-Rekapitulation££££Ansatz£££Ums netto£Steuer'
- CHR(10).
- GTotal = 0.
- FOR EACH tRekap USE-INDEX tRekap-k1
- WHERE tRekap.RecArt = 'MWST':
- Cd = INTEGER(SUBSTRING(tRekap.Feld,01,02)).
- Ans = DECIMAL(SUBSTRING(tRekap.Feld,04,05)).
- cString = STRING(Cd ,'99')
- + ' / '
- + STRING(Ans,'zz9.99% ').
- IF tRekap.Inkl THEN cString = cString + ' inkl'.
- ELSE cString = cString + ' exkl'.
- IF tRekap.MwstBetr = 0 THEN
- DO:
- tRekap.MwstBetr = tRekap.MwstPfli * Ans / (100 + Ans).
- tRekap.MwstBetr = tRekap.MwstBetr - tRekap.MwstBetr.
- END.
- GTotal[01] = GTotal[01] + tRekap.MwstPfli.
- GTotal[02] = GTotal[02] + tRekap.MwstBetr.
- PUT CONTROL '£££££££'
- cString '£££'
- STRING(tRekap.MwstPfli ,'->>>>>>>>9.99') '£'
- STRING(tRekap.MwstBetr ,'->>>>>>>>9.99') CHR(10).
- END.
- PUT CONTROL '£££Gesamttotal£'
- '££££££'
- STRING(GTotal[01],'->>>>>>>>9.99') '£'
- STRING(GTotal[02],'->>>>>>>>9.99') CHR(10).
- OUTPUT CLOSE.
- excelAppl = DYNAMIC-FUNCTION('createExcel':U) NO-ERROR.
- IF NOT VALID-HANDLE(excelAppl) THEN
- DO:
- DYNAMIC-FUNCTION('FEHLER', INPUT 1035) NO-ERROR.
- RETURN.
- END.
- RUN OPENEXCEL ( INPUT excelAppl, INPUT cDokument, INPUT '', OUTPUT ja ).
- IF NOT ja THEN
- DO:
- DYNAMIC-FUNCTION('FEHLER', INPUT 1040) NO-ERROR.
- DYNAMIC-FUNCTION('ReleaseExcel':U, INPUT excelAppl ) NO-ERROR.
- RETURN NO-APPLY.
- END.
- cZelle = 'A6'.
- excelAppl:Range(cZelle):SELECT.
- excelAppl:SELECTION:FormulaR1C1 = 'TEXT;' + cDaten.
- excelAppl:APPLICATION:RUN ( 'DateiEinfuegen' ).
- RUN KOPF.
- cZelle = 'A1'.
- excelAppl:Range(cZelle):SELECT.
- DYNAMIC-FUNCTION('ReleaseExcel':U, INPUT excelAppl ) NO-ERROR.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE initializeObject fFrameWin
- PROCEDURE initializeObject :
- /*------------------------------------------------------------------------------
- Purpose: Super Override
- Parameters:
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE VARIABLE cValue AS CHARACTER NO-UNDO.
-
- DO WITH FRAME {&FRAME-NAME}:
- IF sAktiv THEN RUN COMBO_FRW (CB_Frw:HANDLE) NO-ERROR.
- CB_Frw:LIST-ITEM-PAIRS = 'Alle'
- + ';'
- + '...'
- + ';'
- + CB_Frw:LIST-ITEM-PAIRS.
- GET-KEY-VALUE SECTION 'FwDebJournale'
- KEY 'Knr'
- VALUE cValue.
- IF cValue = ? THEN cValue = ''.
- IF cValue = '' THEN cValue = '000000;999999'.
- F_VonKnr = INTEGER(ENTRY(1, cValue, ';')) NO-ERROR.
- F_BisKnr = INTEGER(ENTRY(2, cValue, ';')) NO-ERROR.
- GET-KEY-VALUE SECTION 'FwDebJournale'
- KEY 'Faknr'
- VALUE cValue.
- IF cValue = ? THEN cValue = ''.
- IF cValue = '' THEN cValue = '0000000;9999999'.
- F_VonFaknr = INTEGER(ENTRY(1, cValue, ';')) NO-ERROR.
- F_BisFaknr = INTEGER(ENTRY(2, cValue, ';')) NO-ERROR.
- GET-KEY-VALUE SECTION 'FwDebJournale'
- KEY 'Datum'
- VALUE cValue.
- IF cValue = ? THEN cValue = ''.
- IF cValue = '' THEN cValue = '01.01.0001;31.12.9999'.
- F_VonDatum = DATE (ENTRY(1, cValue, ';')) NO-ERROR.
- F_BisDatum = DATE (ENTRY(2, cValue, ';')) NO-ERROR.
- GET-KEY-VALUE SECTION 'FwDebJournale'
- KEY 'Betrag'
- VALUE cValue.
- IF cValue = ? THEN cValue = ''.
- IF cValue = '' THEN cValue = '-999999999.99;999999999.99'.
- F_VonBetrag = DECIMAL(ENTRY(1, cValue, ';')) NO-ERROR.
- F_BisBetrag = DECIMAL(ENTRY(2, cValue, ';')) NO-ERROR.
- GET-KEY-VALUE SECTION 'FwDebJournale'
- KEY 'Konto'
- VALUE cValue.
- IF cValue = ? THEN cValue = ''.
- IF cValue = '' THEN cValue = ';zzzzzzzzzzzz'.
- F_VonKonto = ENTRY(1, cValue, ';') NO-ERROR.
- F_BisKonto = ENTRY(2, cValue, ';') NO-ERROR.
- GET-KEY-VALUE SECTION 'FwDebJournale'
- KEY 'Frw'
- VALUE cValue.
- IF cValue = ? THEN cValue = ''.
- IF cValue = '' THEN cValue = '...'.
- CB_Frw:SCREEN-VALUE = cValue NO-ERROR.
- GET-KEY-VALUE SECTION 'FwDebJournale'
- KEY 'Sort'
- VALUE cValue.
- IF cValue = ? THEN cValue = ''.
- IF cValue = '' THEN cValue = '1'.
- R_Sort = INTEGER(cValue) NO-ERROR.
- END.
- RUN SUPER.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE KOPF fFrameWin
- PROCEDURE KOPF :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- FIND Steuer NO-LOCK USE-INDEX Steuer-k1
- WHERE Steuer.Firma = D1Firma NO-ERROR.
- DO WHILE Liste = 1:
- cZelle = 'A1'.
- excelAppl:Range(cZelle):Select.
- excelAppl:Selection:VALUE = Steuer.Firma1.
- cZelle = 'E1'.
- excelAppl:Range(cZelle):Select.
- excelAppl:Selection:VALUE = 'Fakturajournal'.
- cZelle = 'M1'.
- excelAppl:Range(cZelle):Select.
- excelAppl:Selection:VALUE = 'Datum : ' + STRING(TODAY,'99.99.9999').
- cZelle = 'A2'.
- excelAppl:Range(cZelle):Select.
- excelAppl:Selection:VALUE = Steuer.Ort.
- cZelle = 'E2'.
- excelAppl:Range(cZelle):Select.
- excelAppl:Selection:VALUE = STRING(F_VonDatum,'99.99.9999')
- + ' - '
- + STRING(F_BisDatum,'99.99.9999').
- cZelle = 'M2'.
- excelAppl:Range(cZelle):Select.
- excelAppl:Selection:VALUE = 'Zeit : ' + STRING(TIME,'HH:MM:SS').
- LEAVE.
- END.
- DO WHILE Liste = 2:
- cZelle = 'A1'.
- excelAppl:Range(cZelle):Select.
- excelAppl:Selection:VALUE = Steuer.Firma1.
- cZelle = 'E1'.
- excelAppl:Range(cZelle):Select.
- excelAppl:Selection:VALUE = 'Zahlungsjournal'.
- cZelle = 'N1'.
- excelAppl:Range(cZelle):Select.
- excelAppl:Selection:VALUE = 'Datum : ' + STRING(TODAY,'99.99.9999').
- cZelle = 'A2'.
- excelAppl:Range(cZelle):Select.
- excelAppl:Selection:VALUE = Steuer.Ort.
- cZelle = 'E2'.
- excelAppl:Range(cZelle):Select.
- excelAppl:Selection:VALUE = STRING(F_VonDatum,'99.99.9999')
- + ' - '
- + STRING(F_BisDatum,'99.99.9999').
- cZelle = 'N2'.
- excelAppl:Range(cZelle):Select.
- excelAppl:Selection:VALUE = 'Zeit : ' + STRING(TIME,'HH:MM:SS').
- LEAVE.
- END.
- DO WHILE Liste = 3:
- cZelle = 'A1'.
- excelAppl:Range(cZelle):Select.
- excelAppl:Selection:VALUE = Steuer.Firma1.
- cZelle = 'H1'.
- excelAppl:Range(cZelle):Select.
- excelAppl:Selection:VALUE = 'MwSt-Journal'.
- cZelle = 'P1'.
- excelAppl:Range(cZelle):Select.
- excelAppl:Selection:VALUE = 'Datum : ' + STRING(TODAY,'99.99.9999').
- cZelle = 'A2'.
- excelAppl:Range(cZelle):Select.
- excelAppl:Selection:VALUE = Steuer.Ort.
- cZelle = 'H2'.
- excelAppl:Range(cZelle):Select.
- excelAppl:Selection:VALUE = STRING(F_VonDatum,'99.99.9999')
- + ' - '
- + STRING(F_BisDatum,'99.99.9999').
- cZelle = 'P2'.
- excelAppl:Range(cZelle):Select.
- excelAppl:Selection:VALUE = 'Zeit : ' + STRING(TIME,'HH:MM:SS').
- LEAVE.
- END.
- DO WHILE Liste = 4:
- cZelle = 'A1'.
- excelAppl:Range(cZelle):Select.
- excelAppl:Selection:VALUE = Steuer.Firma1.
- cZelle = 'K1'.
- excelAppl:Range(cZelle):Select.
- excelAppl:Selection:VALUE = 'Offene Posten'.
- cZelle = 'S1'.
- excelAppl:Range(cZelle):Select.
- excelAppl:Selection:VALUE = 'Datum : ' + STRING(TODAY,'99.99.9999').
- cZelle = 'A2'.
- excelAppl:Range(cZelle):Select.
- excelAppl:Selection:VALUE = Steuer.Ort.
- cZelle = 'K2'.
- excelAppl:Range(cZelle):Select.
- IF T_perData THEN
- DO:
- excelAppl:Selection:VALUE = 'Saldo per : '
- + STRING(F_BisDatum,'99.99.9999').
- END.
- ELSE
- DO:
- excelAppl:Selection:VALUE = STRING(F_VonDatum,'99.99.9999')
- + ' - '
- + STRING(F_BisDatum,'99.99.9999').
- END.
- cZelle = 'S2'.
- excelAppl:Range(cZelle):Select.
- excelAppl:Selection:VALUE = 'Zeit : ' + STRING(TIME,'HH:MM:SS').
- LEAVE.
- END.
- excelAppl:Columns("A:A"):Select.
- excelAppl:Selection:ColumnWidth = 0.2.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE OFFENE_POSTEN fFrameWin
- PROCEDURE OFFENE_POSTEN :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE VARIABLE cDateiName AS CHARACTER NO-UNDO.
- DEFINE VARIABLE ja AS LOG NO-UNDO.
- DEFINE VARIABLE ix AS INTEGER NO-UNDO.
- DEFINE VARIABLE cFeld AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
- DEFINE VARIABLE GTotal AS DECIMAL EXTENT 5 NO-UNDO.
- DEFINE VARIABLE Cd AS INTEGER NO-UNDO.
- DEFINE VARIABLE Ans AS DECIMAL NO-UNDO.
- DEFINE VARIABLE SaldoBas AS DECIMAL NO-UNDO.
- DEFINE VARIABLE SaldoFrw AS DECIMAL NO-UNDO.
- DEFINE VARIABLE ZahlBas AS DECIMAL NO-UNDO.
- DEFINE VARIABLE ZahlFrw AS DECIMAL NO-UNDO.
- DEFINE VARIABLE SkonBas AS DECIMAL NO-UNDO.
- DEFINE VARIABLE SkonFrw AS DECIMAL NO-UNDO.
- DEFINE VARIABLE cAdresse AS CHARACTER NO-UNDO.
- DEFINE VARIABLE fOffen AS LOG NO-UNDO.
- DEFINE VARIABLE FDatum AS DATE NO-UNDO.
- DEFINE VARIABLE ZDatum AS DATE NO-UNDO.
- DEFINE VARIABLE AnzTg AS INTEGER NO-UNDO.
- DEFINE VARIABLE AnzHist AS INTEGER NO-UNDO.
- DEFINE VARIABLE cStern AS CHARACTER NO-UNDO.
- DEFINE VARIABLE HTotal AS DECIMAL NO-UNDO.
- DEFINE VARIABLE MTotal AS DECIMAL NO-UNDO.
- DEFINE VARIABLE HonMed AS LOG FORMAT "H/M" NO-UNDO.
-
- cVorlage = 'OffenePosten.xls'.
- cDokument = 'OffenePosten.xls'.
- cDaten = 'OffenePosten.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) NO-MAP NO-CONVERT.
- GTotal = 0.
- HTotal = 0.
- MTotal = 0.
- IF T_perData THEN FDatum = F_BisDatum.
- ELSE FDatum = TODAY.
- FOR EACH tSelektion USE-INDEX tSelektion-k1 NO-LOCK
- BREAK BY tSelektion.Sort-1
- BY tSelektion.Sort-2:
- FIND Debop WHERE RECID(Debop) = tSelektion.id NO-LOCK.
- IF FIRST-OF ( tSelektion.Sort-2 ) THEN
- DO:
- FIND Debst USE-INDEX Debst-k1
- WHERE Debst.Firma = Debop.Firma
- AND Debst.Knr = Debop.Knr NO-LOCK NO-ERROR.
- cAdresse = STRING(Debst.Knr,'999999 ')
- + tSelektion.Adresse.
- fOffen = FALSE.
- END.
- ZahlBas = 0.
- ZahlFrw = 0.
- SkonBas = 0.
- SkonFrw = 0.
- IF T_perData THEN
- DO:
- ASSIGN
- ZDatum = ?
- AnzHist = 0.
- FOR EACH Debhi USE-INDEX Debhi-k3
- WHERE Debhi.Firma = Debop.Firma
- AND Debhi.Knr = Debop.Knr
- AND Debhi.Faknr = Debop.Faknr
- AND Debhi.Datum <= F_BisDatum
- /*
- AND NOT Debhi.Kte BEGINS 'KDI'
- */
- NO-LOCK:
-
- AnzHist = AnzHist + 1.
- IF Debhi.Soll <> 0 THEN NEXT.
-
- ZahlBas = ZahlBas + Debhi.Haben .
- ZahlFrw = ZahlFrw + Debhi.Haben_Frw .
- SkonBas = SkonBas + Debhi.Skonto .
- SkonFrw = SkonFrw + Debhi.Skonto_Frw.
- IF ZDatum = ? OR
- ZDatum < Debhi.Datum THEN ZDatum = Debhi.Datum.
- END.
- IF AnzHist = 0 THEN
- DO:
- FOR EACH Debza USE-INDEX Debza-k1
- WHERE Debza.Firma = Debop.Firma
- AND Debza.Knr = Debop.Knr
- AND Debza.Faknr = Debop.Faknr
- AND Debza.ZahDat <= F_BisDatum NO-LOCK:
-
- AnzHist = AnzHist + 1.
-
- ZahlBas = ZahlBas + Debza.ZahBetr .
- ZahlFrw = ZahlFrw + Debza.ZahBetr_Frw .
- SkonBas = SkonBas + Debza.Skonto .
- SkonFrw = SkonFrw + Debza.Skonto_Frw.
- IF ZDatum = ? OR
- ZDatum < Debza.ZahDat THEN ZDatum = Debza.ZahDat.
- END.
- END.
- IF AnzHist = 0 THEN
- ASSIGN
- SaldoBas = Debop.Saldo
- SaldoFrw = Debop.Saldo_Frw.
- ELSE
- ASSIGN
- SaldoBas = Debop.Fakbetr - ZahlBas - SkonBas
- SaldoFrw = Debop.Fakbetr_Frw - ZahlFrw - SkonFrw.
- END.
- ELSE
- DO:
- ZDatum = Debop.ZahDat .
- ZahlBas = Debop.ZahBetr .
- ZahlFrw = Debop.Zahbetr_FRW.
- SkonBas = Debop.Skonto .
- SkonFrw = Debop.Skonto_FRW .
- SaldoBas = Debop.Saldo .
- SaldoFrw = Debop.Saldo_Frw .
- /*
- IF ZahlBas <> 0 THEN SkonBas = SkonFrw * (ZahlBas / ZahlFrw).
- */
- END.
- IF SaldoBas = 0 THEN
- DO:
- IF LAST-OF ( tSelektion.Sort-2 ) AND
- fOffen THEN PUT CONTROL '£' CHR(10) '£' CHR(10).
- NEXT.
- END.
- IF cAdresse <> '' THEN
- DO:
- PUT CONTROL cAdresse '££££££££££££'
- STRING(Debst.Saldo_Frw,'->>>>>>>>9.99') '££££'
- STRING(Debst.Saldo ,'->>>>>>>>9.99') CHR(10).
- cAdresse = ''.
- END.
- AnzTg = FDatum - Debop.Faellig.
- IF AnzTg < 0 THEN AnzTg = 0.
- AnzTg = AnzTg + 29.
- AnzTg = (AnzTg - (AnzTg MOD 30)) / 30.
- cStern = FILL('*', AnzTg ).
- cStern = TRIM(SUBSTRING(cStern,01,05)).
- PUT CONTROL '£'
- STRING(Debop.Faknr ,'9999999') '£'
- STRING(Debop.FakDat ,'99.99.9999') '£'
- STRING(Debop.Faellig ,'99.99.9999') '£'.
- IF ZDatum <> ? THEN PUT CONTROL STRING(ZDatum,'99.99.9999').
- PUT CONTROL '££'.
- PUT CONTROL Debop.Kte '£'.
- PUT CONTROL Debop.Frw '£'
- STRING(Debop.Kurs ,'zzzz9.9999') '£'
- STRING(Debop.Fakbetr_Frw,'->>>>>>>>9.99') '£'
- STRING(ZahlFrw ,'->>>>>>>>9.99') '£'
- STRING(SkonFrw ,'->>>>>>>>9.99') '£'
- STRING(SaldoFrw ,'->>>>>>>>9.99') '£'
- STRING(Debop.Fakbetr ,'->>>>>>>>9.99') '£'
- STRING(ZahlBas ,'->>>>>>>>9.99') '£'
- STRING(SkonBas ,'->>>>>>>>9.99') '£'
- STRING(SaldoBas ,'->>>>>>>>9.99') '£'
- Debop.Konto '£'
- cStern '£'
- CHR(10).
- IF HonMed THEN HTotal = HTotal + SaldoBas.
- ELSE MTotal = MTotal + SaldoBas.
- GTotal[01] = GTotal[01] + SaldoFrw.
- GTotal[02] = GTotal[02] + SaldoBas.
- fOffen = TRUE.
- FIND FIRST tRekap USE-INDEX tRekap-k1
- WHERE tRekap.RecArt = 'Konto'
- AND tRekap.Feld = Debop.Konto NO-ERROR.
- IF NOT AVAILABLE tRekap THEN
- DO:
- CREATE tRekap.
- ASSIGN
- tRekap.RecArt = 'Konto'
- tRekap.Feld = Debop.Konto.
- END.
- ASSIGN
- tRekap.Betrag = tRekap.Betrag + SaldoBas
- tRekap.Betrag_Frw = tRekap.Betrag_Frw + SaldoFrw.
- FIND FIRST tRekap USE-INDEX tRekap-k1
- WHERE tRekap.RecArt = 'Frw'
- AND tRekap.Feld = Debop.Frw NO-ERROR.
- IF NOT AVAILABLE tRekap THEN
- DO:
- CREATE tRekap.
- ASSIGN
- tRekap.RecArt = 'Frw'
- tRekap.Feld = Debop.Frw.
- END.
- ASSIGN
- tRekap.Betrag = tRekap.Betrag + SaldoBas
- tRekap.Betrag_Frw = tRekap.Betrag_Frw + SaldoFrw.
- FIND FIRST tRekap USE-INDEX tRekap-k1
- WHERE tRekap.RecArt = 'Stern'
- AND tRekap.Feld = cStern NO-ERROR.
- IF NOT AVAILABLE tRekap THEN
- DO:
- CREATE tRekap.
- ASSIGN
- tRekap.RecArt = 'Stern'
- tRekap.Feld = cStern.
- END.
- ASSIGN
- tRekap.Betrag = tRekap.Betrag + SaldoBas
- tRekap.Betrag_Frw = tRekap.Betrag_Frw + SaldoFrw.
- IF LAST-OF ( tSelektion.Sort-2 ) AND
- fOffen THEN PUT CONTROL '£' CHR(10) '£' CHR(10).
- END.
- PUT CONTROL '£££££Gesamttotal£££££££'
- STRING(GTotal[01],'->>>>>>>>9.99') '££££'
- STRING(GTotal[02],'->>>>>>>>9.99') CHR(10).
- PUT CONTROL '£' CHR(10).
- PUT CONTROL '£' CHR(10)
- '£' CHR(10).
- ja = TRUE.
- FOR EACH tRekap USE-INDEX tRekap-k1
- WHERE tRekap.RecArt = 'Konto':
- IF ja THEN PUT CONTROL '£££££Kontorekapitulation£'.
- ELSE PUT CONTROL '££££££'.
- PUT CONTROL '££££££'
- STRING(tRekap.Betrag_Frw,'->>>>>>>>9.99') '££££'
- STRING(tRekap.Betrag ,'->>>>>>>>9.99') '£'
- tRekap.Feld CHR(10).
- ja = FALSE.
- END.
- PUT CONTROL '£' CHR(10) '£' CHR(10).
- ja = TRUE.
- FOR EACH tRekap USE-INDEX tRekap-k1
- WHERE tRekap.RecArt = 'Frw':
- IF ja THEN PUT CONTROL '£££££Rekapitulation nach Währung£'.
- ELSE PUT CONTROL '££££££'.
- PUT CONTROL '££££££'
- STRING(tRekap.Betrag_Frw,'->>>>>>>>9.99') '££££'
- STRING(tRekap.Betrag ,'->>>>>>>>9.99') '£'
- tRekap.Feld CHR(10).
- ja = FALSE.
- END.
- PUT CONTROL '£' CHR(10)
- '£' CHR(10).
- ja = TRUE.
- FOR EACH tRekap USE-INDEX tRekap-k1
- WHERE tRekap.RecArt = 'Stern':
- IF ja THEN PUT CONTROL '£££££Rekapitulation nach Fälligkeit£'.
- ELSE PUT CONTROL '££££££'.
- IF tRekap.Feld = '' THEN cFeld = 'nicht fällig'.
- ELSE
- DO:
- ix = ((LENGTH(tRekap.Feld) - 1) * 30) + 1.
- IF LENGTH(tRekap.Feld) < 5 THEN
- DO:
- cFeld = STRING(ix,'>>>>9')
- + ' - '
- + STRING(LENGTH(tRekap.Feld) * 30)
- + ' Tage'.
- END.
- ELSE
- DO:
- cFeld = 'ueber '
- + STRING(ix,'>>>>9')
- + ' Tage'.
- END.
- END.
- PUT CONTROL '££££'
- cFeld
- '££'
- STRING(tRekap.Betrag_Frw,'->>>>>>>>9.99') '££££'
- STRING(tRekap.Betrag ,'->>>>>>>>9.99') '£'
- tRekap.Feld CHR(10).
- ja = FALSE.
- END.
- OUTPUT CLOSE.
- excelAppl = DYNAMIC-FUNCTION('createExcel':U) NO-ERROR.
- IF NOT VALID-HANDLE(excelAppl) THEN
- DO:
- DYNAMIC-FUNCTION('FEHLER', INPUT 1035) NO-ERROR.
- RETURN.
- END.
- RUN OPENEXCEL ( INPUT excelAppl, INPUT cDokument, INPUT '', OUTPUT ja ).
- IF NOT ja THEN
- DO:
- DYNAMIC-FUNCTION('FEHLER', INPUT 1040) NO-ERROR.
- DYNAMIC-FUNCTION('ReleaseExcel':U, INPUT excelAppl ) NO-ERROR.
- RETURN NO-APPLY.
- END.
- cZelle = 'A6'.
- excelAppl:Range(cZelle):SELECT.
- excelAppl:SELECTION:FormulaR1C1 = 'TEXT;' + cDaten.
- excelAppl:APPLICATION:RUN ( 'DateiEinfuegen' ).
- RUN KOPF.
- cZelle = 'A1'.
- excelAppl:Range(cZelle):SELECT.
- DYNAMIC-FUNCTION('ReleaseExcel':U, INPUT excelAppl ) NO-ERROR.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE REPORT fFrameWin
- PROCEDURE REPORT :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE VARIABLE cDatei AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cKey AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cKnr AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cFaknr AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cDatum AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cBetrag AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cKonto AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cFrw AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cSuchbe AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cAdresse AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cKurzAdr AS CHARACTER NO-UNDO.
- DEFINE VARIABLE sKnr AS CHARACTER NO-UNDO.
- DEFINE VARIABLE sFaknr AS CHARACTER NO-UNDO.
- DEFINE VARIABLE sDatum AS CHARACTER NO-UNDO.
- DEFINE VARIABLE sBetrag AS CHARACTER NO-UNDO.
- DEFINE VARIABLE sKonto AS CHARACTER NO-UNDO.
- DEFINE VARIABLE sFrw AS CHARACTER NO-UNDO.
- DEFINE VARIABLE qHandle AS WIDGET-HANDLE NO-UNDO.
- DEFINE VARIABLE bHandle AS WIDGET-HANDLE NO-UNDO.
- DEFINE VARIABLE dHandle AS WIDGET-HANDLE NO-UNDO.
- DEFINE VARIABLE fHandle AS WIDGET-HANDLE NO-UNDO.
- DEFINE VARIABLE cFeld AS CHARACTER NO-UNDO.
- DEFINE VARIABLE sSelektion AS CHARACTER NO-UNDO.
- DEFINE VARIABLE fErst AS LOG NO-UNDO.
- DO WITH FRAME {&FRAME-NAME}:
- Btn_Faktura :SENSITIVE = FALSE.
- Btn_Zahlung :SENSITIVE = FALSE.
- Btn_Umsatz :SENSITIVE = FALSE.
- Btn_OP :SENSITIVE = FALSE.
- END.
- SESSION:SET-WAIT-STATE('GENERAL').
- RUN SELEKTION.
- CASE Liste:
- WHEN 1 THEN
- DO:
- cDatei = 'Debfa'.
- cKnr = 'Debfa.Knr'.
- cFaknr = 'Debfa.Faknr'.
- cDatum = 'Debfa.FakDat'.
- cBetrag = 'Debfa.FakBetr_Frw'.
- cKonto = 'Debfa.Konto'.
- cFrw = 'Debfa.Frw'.
- CASE R_Sort:
- WHEN 1 THEN
- cKey = 'Debfa-k2'.
- WHEN 2 THEN
- cKey = 'Debfa-k1'.
- WHEN 3 THEN
- cKey = 'Debfa-k1'.
- WHEN 4 THEN
- cKey = 'Debfa-k3'.
- END CASE.
- END.
- WHEN 2 THEN
- DO:
- cDatei = 'Debza'.
- cKnr = 'Debza.Knr'.
- cFaknr = 'Debza.Faknr'.
- cDatum = 'Debza.ZahDat'.
- cBetrag = 'Debza.ZahBetr_Frw'.
- cKonto = 'Debza.Konto'.
- cFrw = 'Debza.Frw'.
- CASE R_Sort:
- WHEN 1 THEN
- cKey = 'Debza-k2'.
- WHEN 2 THEN
- cKey = 'Debza-k1'.
- WHEN 3 THEN
- cKey = 'Debza-k1'.
- WHEN 4 THEN
- cKey = 'Debza-k3'.
- END CASE.
- END.
- WHEN 3 THEN
- DO:
- cDatei = 'Debwu'.
- cKnr = 'Debwu.Knr'.
- cFaknr = 'Debwu.Faknr'.
- cDatum = 'Debwu.Datum'.
- cBetrag = 'Debwu.Betrag_Frw'.
- cKonto = 'Debwu.Konto'.
- cFrw = 'Debwu.Frw'.
- CASE R_Sort:
- WHEN 1 THEN
- cKey = 'Debwu-k2'.
- WHEN 2 THEN
- cKey = 'Debwu-k1'.
- WHEN 3 THEN
- cKey = 'Debwu-k1'.
- WHEN 4 THEN
- cKey = 'Debwu-k3'.
- END CASE.
- END.
- WHEN 4 THEN
- DO:
- cDatei = 'Debop'.
- cKnr = 'Debop.Knr'.
- cFaknr = 'Debop.Faknr'.
- cDatum = 'Debop.FakDat'.
- cBetrag = 'Debop.Fakbetr_Frw'.
- cKonto = 'Debop.Konto'.
- cFrw = 'Debop.Frw'.
- IF R_Sort = 1 THEN R_Sort = 2.
- IF R_Sort = 4 THEN R_Sort = 2.
- CASE R_Sort:
- WHEN 2 THEN
- cKey = 'Debop-k1'.
- WHEN 3 THEN
- cKey = 'Debop-k1'.
- END CASE.
- END.
- END CASE.
- CREATE QUERY qHandle.
- CREATE BUFFER bHandle FOR TABLE cDatei.
- qHandle:SET-BUFFERS(bHandle).
- sSelektion = 'FOR EACH ' + cDatei + ' USE-INDEX ' + cKey
- + ' WHERE ' + cDatei + '.Firma = "' + D1Firma + '" '
- + ' AND ' + cKnr + ' >= ' + STRING(F_VonKnr)
- + ' AND ' + cKnr + ' <= ' + STRING(F_BisKnr)
- + ' AND ' + cFaknr + ' >= ' + STRING(F_VonFaknr)
- + ' AND ' + cFaknr + ' <= ' + STRING(F_BisFaknr)
- + ' AND ' + cDatum + ' >= ' + STRING(F_VonDatum)
- + ' AND ' + cDatum + ' <= ' + STRING(F_BisDatum)
- + ' AND ' + cBetrag + ' >= ' + STRING(F_VonBetrag)
- + ' AND ' + cBetrag + ' <= ' + STRING(F_BisBetrag)
- + ' AND ' + cKonto + ' >= "' + F_VonKonto + '"'
- + ' AND ' + cKonto + ' <= "' + F_BisKonto + '"'
- + ' AND ' + cFrw + ' BEGINS "' + Frw + '"'
- + ' NO-LOCK: '.
- qHandle:QUERY-PREPARE(sSelektion).
- qHandle:QUERY-OPEN().
- EMPTY TEMP-TABLE tSelektion.
- EMPTY TEMP-TABLE tRekap .
- fErst = TRUE.
- REPEAT:
- IF fErst THEN qHandle:GET-FIRST(NO-LOCK).
- ELSE qHandle:GET-NEXT (NO-LOCK).
- IF qHandle:QUERY-OFF-END THEN LEAVE.
- dHandle = qHandle:GET-BUFFER-HANDLE().
- cFeld = ENTRY(2, cKnr , '.').
- fHandle = dHandle:BUFFER-FIELD(cFeld).
- sKnr = fHandle:BUFFER-VALUE().
- cFeld = ENTRY(2, cFaknr , '.').
- fHandle = dHandle:BUFFER-FIELD(cFeld).
- sFaknr = fHandle:BUFFER-VALUE().
-
- cFeld = ENTRY(2, cDatum , '.').
- fHandle = dHandle:BUFFER-FIELD(cFeld).
- sDatum = fHandle:BUFFER-VALUE().
- cFeld = ENTRY(2, cBetrag, '.').
- fHandle = dHandle:BUFFER-FIELD(cFeld).
- sBetrag = fHandle:BUFFER-VALUE().
- cFeld = ENTRY(2, cKonto , '.').
- fHandle = dHandle:BUFFER-FIELD(cFeld).
- sKonto = fHandle:BUFFER-VALUE().
- cFeld = ENTRY(2, cFrw , '.').
- fHandle = dHandle:BUFFER-FIELD(cFeld).
- sFrw = fHandle:BUFFER-VALUE().
- CREATE tSelektion.
- ASSIGN
- tSelektion.id = dHandle:RECID
- tSelektion.Knr = INTEGER(sKnr)
- tSelektion.Faknr = INTEGER(sFaknr)
- tSelektion.Datum = DATE (sDatum)
- tSelektion.Betrag = DECIMAL(sBetrag)
- tSelektion.Konto = sKonto
- tSelektion.Frw = sFrw.
- fErst = FALSE.
- END.
- qHandle:QUERY-CLOSE().
- DELETE OBJECT bHandle.
- DELETE OBJECT qHandle.
- FOR EACH tSelektion BREAK BY tSelektion.Knr:
- IF FIRST-OF ( tSelektion.Knr ) THEN
- DO:
- FIND Adresse USE-INDEX Adresse-k1
- WHERE Adresse.Firma = AdFirma
- AND Adresse.Knr = tSelektion.Knr NO-LOCK.
- cSuchbe = Adresse.Suchbe.
- cAdresse = Adresse.Anzeig_Br.
- IF Adresse.Firma1 <> '' THEN
- DO:
- cKurzAdr = TRIM(Adresse.Firma1 + ' ' + Adresse.Firma2).
- END.
- ELSE
- DO:
- cKurzAdr = TRIM(Adresse.Name + ' ' + Adresse.Vorname).
- END.
- cKurzAdr = cKurzAdr + ', '
- + Adresse.Lkz + ' '
- + Adresse.Plz + ' '
- + Adresse.Ort.
- END.
- ASSIGN
- tSelektion.Adresse = cAdresse
- tSelektion.KurzAdr = cKurzAdr.
- CASE R_Sort:
- WHEN 1 THEN
- ASSIGN
- tSelektion.Sort-1 = STRING(tSelektion.Faknr,'9999999')
- tSelektion.Sort-3 = STRING(tSelektion.Knr ,'999999').
- WHEN 2 THEN
- ASSIGN
- tSelektion.Sort-1 = STRING(tSelektion.Knr ,'999999')
- tSelektion.Sort-3 = STRING(tSelektion.Faknr,'9999999').
- WHEN 3 THEN
- ASSIGN
- tSelektion.Sort-1 = cSuchbe
- tSelektion.Sort-2 = STRING(tSelektion.Knr ,'999999')
- tSelektion.Sort-3 = STRING(tSelektion.Faknr,'9999999').
- WHEN 4 THEN
- ASSIGN
- tSelektion.Sort-1 = STRING(INTEGER(tSelektion.Datum),'99999999')
- tSelektion.Sort-2 = STRING(tSelektion.Knr ,'999999')
- tSelektion.Sort-3 = STRING(tSelektion.Faknr,'9999999').
- END CASE.
- END.
- DO WHILE TRUE:
- FIND FIRST tSelektion NO-ERROR.
- IF NOT AVAILABLE tSelektion THEN
- DO:
- DYNAMIC-FUNCTION('FEHLER', INPUT 1112) NO-ERROR.
- LEAVE.
- END.
- CASE Liste:
- WHEN 1 THEN RUN FAKTURA_JOURNAL.
- WHEN 2 THEN RUN ZAHLUNGS_JOURNAL.
- WHEN 3 THEN RUN UMSATZSTEUER_JOURNAL.
- WHEN 4 THEN RUN OFFENE_POSTEN.
- END CASE.
- LEAVE.
- END.
- DO WITH FRAME {&FRAME-NAME}:
- Btn_Faktura :SENSITIVE = TRUE .
- Btn_Zahlung :SENSITIVE = TRUE .
- Btn_Umsatz :SENSITIVE = TRUE .
- Btn_OP :SENSITIVE = TRUE .
- SESSION:SET-WAIT-STATE('').
- APPLY 'ENTRY' TO F_VonKnr.
- RETURN NO-APPLY.
- END.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SELEKTION fFrameWin
- PROCEDURE SELEKTION :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DO WITH FRAME {&FRAME-NAME}:
- ASSIGN {&List-6}.
- Frw = CB_Frw:SCREEN-VALUE.
- IF F_VonKnr = 0 AND
- F_BisKnr = 0 THEN F_BisKnr = 999999.
- IF F_BisKnr < F_VonKnr THEN F_BisKnr = F_VonKnr.
- IF F_VonFaknr = 0 AND
- F_BisFaknr = 0 THEN F_BisFaknr = 9999999.
- IF F_BisFaknr < F_VonFaknr THEN F_BisFaknr = F_VonFaknr.
- IF F_VonDatum = ? AND
- F_BisDatum = ? THEN
- ASSIGN F_VonDatum = DATE('01/01/1901')
- F_BisDatum = DATE('12/31/9999').
- IF F_BisDatum < F_VonDatum THEN F_BisDatum = F_VonDatum.
- IF F_VonKonto = '' AND
- F_BisKonto = '' THEN F_BisKonto = 'zzzzzzzzzzzz'.
- IF F_BisKonto < F_VonKonto THEN F_BisKonto = F_VonKonto.
- IF Frw = '...' THEN Frw = ''.
- DISPLAY {&List-6}.
- DO WITH FRAME {&FRAME-NAME}:
- PUT-KEY-VALUE SECTION 'FwDebJournale'
- KEY 'Knr'
- VALUE F_VonKnr:SCREEN-VALUE + ';' +
- F_BisKnr:SCREEN-VALUE NO-ERROR.
- PUT-KEY-VALUE SECTION 'FwDebJournale'
- KEY 'Faknr'
- VALUE F_VonFaknr:SCREEN-VALUE + ';' +
- F_BisFaknr:SCREEN-VALUE NO-ERROR.
- PUT-KEY-VALUE SECTION 'FwDebJournale'
- KEY 'Datum'
- VALUE F_VonDatum:SCREEN-VALUE + ';' +
- F_BisDatum:SCREEN-VALUE NO-ERROR.
- PUT-KEY-VALUE SECTION 'FwDebJournale'
- KEY 'Betrag'
- VALUE F_VonBetrag:SCREEN-VALUE + ';' +
- F_BisBetrag:SCREEN-VALUE NO-ERROR.
- PUT-KEY-VALUE SECTION 'FwDebJournale'
- KEY 'Konto'
- VALUE F_VonKonto:SCREEN-VALUE + ';' +
- F_BisKonto:SCREEN-VALUE NO-ERROR.
- PUT-KEY-VALUE SECTION 'FwDebJournale'
- KEY 'Frw'
- VALUE CB_Frw:SCREEN-VALUE NO-ERROR.
- PUT-KEY-VALUE SECTION 'FwDebJournale'
- KEY 'Sort'
- VALUE R_Sort:SCREEN-VALUE NO-ERROR.
- END.
- END.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE UMSATZSTEUER_JOURNAL fFrameWin
- PROCEDURE UMSATZSTEUER_JOURNAL :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE VARIABLE cDateiName AS CHARACTER NO-UNDO.
- DEFINE VARIABLE ja AS LOG NO-UNDO.
- DEFINE VARIABLE ix AS INTEGER NO-UNDO.
- DEFINE VARIABLE cFeld AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
- DEFINE VARIABLE GTotal AS DECIMAL EXTENT 5 NO-UNDO.
- DEFINE VARIABLE Cd AS INTEGER NO-UNDO.
- DEFINE VARIABLE Ans AS DECIMAL NO-UNDO.
- DEFINE VARIABLE cKonto AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cInkl AS CHARACTER NO-UNDO.
- DEFINE VARIABLE fErst AS LOG NO-UNDO.
- DEFINE VARIABLE xx AS INTEGER NO-UNDO.
- DEFINE VARIABLE nMwst AS DECIMAL NO-UNDO.
- DEFINE BUFFER BRekap FOR tRekap.
- cVorlage = 'MwStJournal.xls'.
- cDokument = 'MwStJournal.xls'.
- cDaten = 'MwStJournal.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) NO-MAP NO-CONVERT.
- GTotal = 0.
- FOR EACH tSelektion USE-INDEX tSelektion-k1 NO-LOCK:
- FIND Debwu WHERE RECID(Debwu) = tSelektion.id NO-LOCK.
- FIND Debop USE-INDEX Debop-k1
- WHERE Debop.Firma = Debwu.Firma
- AND Debop.Knr = Debwu.Knr
- AND Debop.Faknr = Debwu.Faknr NO-LOCK NO-ERROR.
- cString = Debwu.Konto.
- fErst = TRUE.
- xx = 0.
- EMPTY TEMP-TABLE TZeile .
- EMPTY TEMP-TABLE tInterf.
- FOR EACH Interf NO-LOCK USE-INDEX Interf-k1
- WHERE Interf.Firma = FBFirma
- AND Interf.TrNr1 = Debwu.TrNr1
- AND Interf.TrNr2 = Debwu.TrNr2
- AND Interf.BEBU = 0 :
- /* AND Interf.BEBU_Art = 0 : */
- /* AND Interf.MWST_Art < 5 */
- /* AND (Interf.Kto2 BEGINS '1' OR */
- /* Interf.Kto2 BEGINS '2'): */
- CREATE tInterf.
- BUFFER-COPY Interf TO tInterf.
- END.
- xx = xx + 1.
- CREATE TZeile.
- ASSIGN
- TZeile.Nummer = xx
- TZeile.Feld[01] = STRING(Debwu.Knr,'999999')
- TZeile.Feld[02] = tSelektion.KurzAdr
- TZeile.Feld[04] = STRING(Debwu.Faknr,'9999999')
- TZeile.Feld[05] = STRING(Debwu.Datum,'99.99.9999')
- TZeile.Feld[06] = Debwu.Frw
- TZeile.Feld[07] = TRIM(STRING(Debwu.Kurs,'zzzz9.9999'))
- TZeile.Feld[08] = TRIM(STRING(Debwu.Betrag_Frw,'->>>>>>>>9.99'))
- TZeile.Feld[09] = TRIM(STRING(Debwu.Betrag ,'->>>>>>>>9.99')).
-
- DO ix = 1 TO 11:
- IF Debwu.Wustpfl[ix] = 0 THEN NEXT.
- IF NOT fErst THEN
- DO:
- FIND BZeile WHERE BZeile.Nummer = 1.
- xx = xx + 1.
- CREATE TZeile.
- BUFFER-COPY BZeile EXCEPT Nummer TO TZeile
- ASSIGN
- TZeile.Nummer = xx
- TZeile.Feld[08] = ''
- TZeile.Feld[09] = ''
- TZeile.Feld[15] = ''.
- END.
- ASSIGN
- TZeile.Feld[10] = TRIM(STRING(Debwu.WustPfl[ix],'->>>>>>>>9.99'))
- TZeile.Feld[11] = TRIM(STRING(Debwu.Wust [ix],'->>>>>>>>9.99'))
- TZeile.Feld[12] = TRIM(STRING(ix,'z9'))
- TZeile.Feld[13] = cString.
- FIND FIRST tInterf NO-ERROR.
- IF AVAILABLE tInterf THEN
- DO:
- ASSIGN
- TZeile.Feld[13] = tInterf.Kto1
- TZeile.Feld[14] = tInterf.Kto2
- TZeile.Feld[15] = TRIM(STRING(tInterf.Betrag_Frw,'->>>>>>>>>9.99')).
- DELETE tInterf.
- END.
- fErst = FALSE.
- GTotal[03] = GTotal[03] + Debwu.Wustpfl[ix].
- GTotal[04] = GTotal[04] + Debwu.Wust [ix].
- cString = ''.
- END.
- FOR EACH tInterf:
- FIND BZeile WHERE BZeile.Nummer = 1 NO-ERROR.
- xx = xx + 1.
- CREATE TZeile.
- BUFFER-COPY BZeile EXCEPT Nummer TO TZeile
- ASSIGN
- TZeile.Nummer = xx
- TZeile.Feld[08] = ''
- TZeile.Feld[09] = ''
- TZeile.Feld[10] = ''
- TZeile.Feld[11] = ''
- TZeile.Feld[12] = ''
- TZeile.Feld[13] = ''
- TZeile.Feld[14] = ''
- TZeile.Feld[15] = ''.
- ASSIGN
- TZeile.Feld[13] = tInterf.Kto1
- TZeile.Feld[14] = tInterf.Kto2
- TZeile.Feld[15] = STRING(tInterf.Betrag_Frw,'->>>>>>>>>9.99').
- DELETE tInterf.
- END.
- FOR EACH TZeile:
- PUT CONTROL '£'
- TZeile.Feld[01] '£'
- TZeile.Feld[02] '£'
- TZeile.Feld[03] '£'
- TZeile.Feld[04] '£'
- TZeile.Feld[05] '£'
- TZeile.Feld[06] '£'
- TZeile.Feld[07] '£'
- TZeile.Feld[08] '£'
- TZeile.Feld[09] '£'
- TZeile.Feld[10] '£'
- TZeile.Feld[11] '£'
- TZeile.Feld[12] '£'
- TZeile.Feld[13] '£'
- TZeile.Feld[14] '£'
- TZeile.Feld[15] CHR(10).
- END.
- GTotal[01] = GTotal[01] + Debwu.Betrag_Frw.
- GTotal[02] = GTotal[02] + Debwu.Betrag .
- DO ix = 1 TO 11:
- IF Debwu.Wustpfl[ix] = 0 THEN NEXT.
- cFeld = STRING(ix,'99 ')
- + STRING(Debop.FakWPro[ix],'99.99').
- FIND FIRST tRekap USE-INDEX tRekap-k1
- WHERE tRekap.RecArt = 'MWST'
- AND tRekap.Feld = cFeld NO-ERROR.
- IF NOT AVAILABLE tRekap THEN
- DO:
- CREATE tRekap.
- ASSIGN
- tRekap.RecArt = 'MWST'
- tRekap.Feld = cFeld
- tRekap.Inkl = Debop.Fakincl[ix].
- END.
- IF Debop.Fakincl[ix] THEN nMwst = Debwu.Wustpfl[ix] * Debop.FakWPro[ix] / (100 + Debop.FakWPro[ix]).
- ELSE nMwst = Debwu.Wust [ix].
- ASSIGN
- tRekap.MwstPfli = tRekap.MwstPfli + Debwu.Wustpfl[ix] - (IF tRekap.Inkl THEN nMwst ELSE 0.00)
- tRekap.MwstBetr = tRekap.MwstBetr + nMwst.
- END.
- END.
- FOR EACH tRekap WHERE tRekap.RecArt = 'MWST':
- Cd = INTEGER(SUBSTRING(tRekap.Feld,01,02)).
- Ans = DECIMAL(SUBSTRING(tRekap.Feld,03,05)).
- FIND LAST MWStAns USE-INDEX MWStAns-k1
- WHERE MWStAns.MWST_Cd = Cd
- AND MWSTAns.Datum <= TODAY NO-LOCK NO-ERROR.
- cFeld = STRING(Cd ,'99')
- + STRING(MWSTAns.Konto,'x(12)')
- + STRING(Ans ,'99.99')
- + STRING(MWSTAns.incl ,'j/n').
- FIND FIRST BRekap USE-INDEX tRekap-k1
- WHERE BRekap.RecArt = 'MWSTKTO'
- AND BRekap.Feld = cFeld NO-ERROR.
- IF NOT AVAILABLE BRekap THEN
- DO:
- CREATE BRekap.
- ASSIGN
- BRekap.RecArt = 'MWSTKTO'
- BRekap.Feld = cFeld.
- END.
- ASSIGN
- BRekap.MwstPfli = BRekap.MwstPfli + tRekap.MwstPfli
- BRekap.MwstBetr = BRekap.MwstBetr + tRekap.MwstBetr.
- END.
- PUT CONTROL '£££Gesamttotal£'
- '££££'
- STRING(GTotal[01],'->>>>>>>>9.99') '£'
- STRING(GTotal[02],'->>>>>>>>9.99') '£'
- STRING(GTotal[03],'->>>>>>>>9.99') '£'
- STRING(GTotal[04],'->>>>>>>>9.99') CHR(10).
- PUT CONTROL '£' CHR(10)
- '£' CHR(10).
- GTotal = 0.
- ja = TRUE.
- /* FOR EACH tRekap USE-INDEX tRekap-k1 */
- /* WHERE tRekap.RecArt = 'MWST': */
- /* IF ja THEN PUT CONTROL '£££MwSt-Rekapitulation£'. */
- /* ELSE PUT CONTROL '££££'. */
- /* Cd = INTEGER(SUBSTRING(tRekap.Feld,01,02)). */
- /* Ans = DECIMAL(SUBSTRING(tRekap.Feld,04,05)). */
- /* cString = STRING(Cd ,'z9') */
- /* + ' / ' */
- /* + STRING(Ans,'zz9.99% '). */
- /* IF tRekap.MwstBetr = 0 THEN cString = cString + ' inkl'. */
- /* ELSE cString = cString + ' exkl'. */
- /* IF tRekap.MwstBetr = 0 THEN DO: */
- /* tRekap.MwstBetr = tRekap.MwstPfli * Ans / (100 + Ans). */
- /* tRekap.MwstBetr = tRekap.MwstBetr - tRekap.MwstBetr. */
- /* END. */
- /* GTotal[01] = GTotal[01] + tRekap.MwstPfli. */
- /* GTotal[02] = GTotal[02] + tRekap.MwstBetr. */
- /* PUT CONTROL '£££' */
- /* cString '£££' */
- /* STRING(tRekap.MwstPfli ,'->>>>>>>>9.99') '£' */
- /* STRING(tRekap.MwstBetr ,'->>>>>>>>9.99') CHR(10). */
- /* ja = FALSE. */
- /* END. */
- /* PUT CONTROL '£' CHR(10). */
- ja = TRUE.
- FOR EACH tRekap USE-INDEX tRekap-k1
- WHERE tRekap.RecArt = 'MWSTKTO':
- IF ja THEN PUT CONTROL '££MwSt-Konto/Ansatz-Rekapitulation££'.
- ELSE PUT CONTROL '££££'.
- Cd = INTEGER(SUBSTRING(tRekap.Feld,01,02)).
- cKonto = TRIM (SUBSTRING(tRekap.Feld,03,12)).
- Ans = DECIMAL(SUBSTRING(tRekap.Feld,15,05)).
- cInkl = TRIM (SUBSTRING(tRekap.Feld,20,01)).
- FIND LAST MwstAns NO-LOCK
- WHERE MwstAns.Mwst_Cd = Cd
- AND MwstAns.Ansatz = Ans NO-ERROR.
- cString = STRING(Cd,'z9 ')
- + cKonto
- + ' / '
- + MwstAns.Bez.
- IF tRekap.MwstBetr = 0 THEN
- DO:
- tRekap.MwstBetr = tRekap.MwstPfli * Ans / (100 + Ans).
- tRekap.MwstBetr = tRekap.MwstBetr - tRekap.MwstBetr.
- END.
- ASSIGN
- GTotal[01] = GTotal[01] + tRekap.MwstPfli
- GTotal[02] = GTotal[02] + tRekap.MwstBetr.
- PUT CONTROL '£'
- cString '£££££'
- STRING(tRekap.MwstPfli ,'->>>>>>>>9.99') '£'
- STRING(tRekap.MwstBetr ,'->>>>>>>>9.99') CHR(10).
- ja = FALSE.
- END.
- PUT CONTROL '£' CHR(10).
- PUT CONTROL '£££Gesamttotal£'
- '££££££'
- STRING(GTotal[01],'->>>>>>>>9.99') '£'
- STRING(GTotal[02],'->>>>>>>>9.99') CHR(10).
- OUTPUT CLOSE.
- excelAppl = DYNAMIC-FUNCTION('createExcel':U) NO-ERROR.
- IF NOT VALID-HANDLE(excelAppl) THEN
- DO:
- DYNAMIC-FUNCTION('FEHLER', INPUT 1035) NO-ERROR.
- RETURN.
- END.
- RUN OPENEXCEL ( INPUT excelAppl, INPUT cDokument, INPUT '', OUTPUT ja ).
- IF NOT ja THEN
- DO:
- DYNAMIC-FUNCTION('FEHLER', INPUT 1040) NO-ERROR.
- DYNAMIC-FUNCTION('ReleaseExcel':U, INPUT excelAppl ) NO-ERROR.
- RETURN NO-APPLY.
- END.
- cZelle = 'A6'.
- excelAppl:Range(cZelle):SELECT.
- excelAppl:SELECTION:FormulaR1C1 = 'TEXT;' + cDaten.
- excelAppl:APPLICATION:RUN ( 'DateiEinfuegen' ).
- RUN KOPF.
- cZelle = 'A1'.
- excelAppl:Range(cZelle):SELECT.
- DYNAMIC-FUNCTION('ReleaseExcel':U, INPUT excelAppl ) NO-ERROR.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ZAHLUNGS_JOURNAL fFrameWin
- PROCEDURE ZAHLUNGS_JOURNAL :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE VARIABLE cDateiName AS CHARACTER NO-UNDO.
- DEFINE VARIABLE ja AS LOG NO-UNDO.
- DEFINE VARIABLE ix AS INTEGER NO-UNDO.
- DEFINE VARIABLE cFeld AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
- DEFINE VARIABLE GTotal AS DECIMAL EXTENT 5 NO-UNDO.
- DEFINE VARIABLE Cd AS INTEGER NO-UNDO.
- DEFINE VARIABLE Ans AS DECIMAL NO-UNDO.
-
- cVorlage = 'ZahlungsJournal.xls'.
- cDokument = 'ZahlungsJournal.xls'.
- cDaten = 'ZahlungsJournal.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) NO-MAP NO-CONVERT.
- GTotal = 0.
- FOR EACH tSelektion USE-INDEX tSelektion-k1 NO-LOCK:
- FIND Debza WHERE RECID(Debza) = tSelektion.id NO-LOCK.
- FIND Debop USE-INDEX Debop-k1
- WHERE Debop.Firma = Debza.Firma
- AND Debop.Knr = Debza.Knr
- AND Debop.Faknr = Debza.Faknr NO-LOCK NO-ERROR.
- PUT CONTROL '£'
- STRING(Debza.Knr ,'999999') '£'
- tSelektion.Adresse '££'
- STRING(Debza.Faknr ,'9999999') '£'
- STRING(Debza.ZahDat ,'99.99.9999') '£'
- Debza.Kte '£'
- Debza.Frw '£'
- STRING(Debza.Kurs ,'zzzz9.9999') '£'
- STRING(Debza.ZahBetr_Frw,'->>>>>>>>9.99') '£'
- STRING(Debza.ZahBetr ,'->>>>>>>>9.99') '£'
- STRING(Debza.Skonto_Frw ,'->>>>>>>>9.99') '£'
- STRING(Debza.Skonto ,'->>>>>>>>9.99') '£'
- Debza.Konto CHR(10).
- GTotal[01] = GTotal[01] + Debza.ZahBetr_Frw.
- GTotal[02] = GTotal[02] + Debza.ZahBetr .
- GTotal[03] = GTotal[03] + Debza.Skonto_Frw .
- GTotal[04] = GTotal[04] + Debza.Skonto .
- FIND FIRST tRekap USE-INDEX tRekap-k1
- WHERE tRekap.RecArt = 'Konto'
- AND tRekap.Feld = Debza.Konto NO-ERROR.
- IF NOT AVAILABLE tRekap THEN
- DO:
- CREATE tRekap.
- ASSIGN
- tRekap.RecArt = 'Konto'
- tRekap.Feld = Debza.Konto.
- END.
- ASSIGN
- tRekap.Betrag = tRekap.Betrag + Debza.ZahBetr
- tRekap.Betrag_Frw = tRekap.Betrag_Frw + Debza.ZahBetr_Frw
- tRekap.Skonto = tRekap.Skonto + Debza.Skonto
- tRekap.Skonto_Frw = tRekap.Skonto_Frw + Debza.Skonto_Frw.
- FIND FIRST tRekap USE-INDEX tRekap-k1
- WHERE tRekap.RecArt = 'Frw'
- AND tRekap.Feld = Debza.Frw NO-ERROR.
- IF NOT AVAILABLE tRekap THEN
- DO:
- CREATE tRekap.
- ASSIGN
- tRekap.RecArt = 'Frw'
- tRekap.Feld = Debza.Frw.
- END.
- ASSIGN
- tRekap.Betrag = tRekap.Betrag + Debza.ZahBetr
- tRekap.Betrag_Frw = tRekap.Betrag_Frw + Debza.ZahBetr_Frw
- tRekap.Skonto = tRekap.Skonto + Debza.Skonto
- tRekap.Skonto_Frw = tRekap.Skonto_Frw + Debza.Skonto_Frw.
- END.
- PUT CONTROL '£££Gesamttotal££££££'
- STRING(GTotal[01],'->>>>>>>>9.99') '£'
- STRING(GTotal[02],'->>>>>>>>9.99') '£'
- STRING(GTotal[03],'->>>>>>>>9.99') '£'
- STRING(GTotal[04],'->>>>>>>>9.99') CHR(10).
- PUT CONTROL '£' CHR(10)
- '£' CHR(10).
- ja = TRUE.
- FOR EACH tRekap USE-INDEX tRekap-k1
- WHERE tRekap.RecArt = 'Konto':
- IF ja THEN PUT CONTROL '£££Kontorekapitulation£'.
- ELSE PUT CONTROL '££££'.
- PUT CONTROL '£££££'
- STRING(tRekap.Betrag_Frw,'->>>>>>>>9.99') '£'
- STRING(tRekap.Betrag ,'->>>>>>>>9.99') '£'
- STRING(tRekap.Skonto_Frw,'->>>>>>>>9.99') '£'
- STRING(tRekap.Skonto ,'->>>>>>>>9.99') '£'
- tRekap.Feld CHR(10).
- ja = FALSE.
- END.
- PUT CONTROL '£' CHR(10)
- '£' CHR(10).
- ja = TRUE.
- FOR EACH tRekap USE-INDEX tRekap-k1
- WHERE tRekap.RecArt = 'Frw':
- IF ja THEN PUT CONTROL '£££Rekapitulation nach Währung£'.
- ELSE PUT CONTROL '££££'.
- PUT CONTROL '£££'
- tRekap.Feld '££'
- STRING(tRekap.Betrag_Frw,'->>>>>>>>9.99') '£'
- STRING(tRekap.Betrag ,'->>>>>>>>9.99') '£'
- STRING(tRekap.Skonto_Frw,'->>>>>>>>9.99') '£'
- STRING(tRekap.Skonto ,'->>>>>>>>9.99') '£'
- CHR(10).
- ja = FALSE.
- END.
- OUTPUT CLOSE.
- excelAppl = DYNAMIC-FUNCTION('createExcel':U) NO-ERROR.
- IF NOT VALID-HANDLE(excelAppl) THEN
- DO:
- DYNAMIC-FUNCTION('FEHLER', INPUT 1035) NO-ERROR.
- RETURN.
- END.
- RUN OPENEXCEL ( INPUT excelAppl, INPUT cDokument, INPUT '', OUTPUT ja ).
- IF NOT ja THEN
- DO:
- DYNAMIC-FUNCTION('FEHLER', INPUT 1040) NO-ERROR.
- DYNAMIC-FUNCTION('ReleaseExcel':U, INPUT excelAppl ) NO-ERROR.
- RETURN NO-APPLY.
- END.
- cZelle = 'A6'.
- excelAppl:Range(cZelle):SELECT.
- excelAppl:SELECTION:FormulaR1C1 = 'TEXT;' + cDaten.
- excelAppl:APPLICATION:RUN ( 'DateiEinfuegen' ).
- RUN KOPF.
- cZelle = 'A1'.
- excelAppl:Range(cZelle):SELECT.
- DYNAMIC-FUNCTION('ReleaseExcel':U, INPUT excelAppl ) NO-ERROR.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
|