| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727 |
- &ANALYZE-SUSPEND _VERSION-NUMBER UIB_v8r12 GUI ADM1
- &ANALYZE-RESUME
- /* Connected Databases
- anadat PROGRESS
- */
- &Scoped-define WINDOW-NAME CURRENT-WINDOW
- /* Temp-Table and Buffer definitions */
- DEFINE TEMP-TABLE XSchrift NO-UNDO LIKE Schrift.
- DEFINE NEW SHARED TEMP-TABLE XTermOut NO-UNDO LIKE TermOut.
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS B-table-Win
- /*------------------------------------------------------------------------
- File:
- Description: from BROWSER.W - Basic SmartBrowser Object Template
- Input Parameters:
- <none>
- Output Parameters:
- <none>
- ------------------------------------------------------------------------*/
- /* This .W file was created with the Progress UIB. */
- /*----------------------------------------------------------------------*/
- /* 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 AltSchname LIKE Schrift.Schname NO-UNDO.
- DEFINE VARIABLE QOpen AS LOG NO-UNDO.
- DEFINE VARIABLE FOpen AS LOG NO-UNDO.
- DEFINE VARIABLE OBreite AS INTEGER NO-UNDO.
- DEFINE VARIABLE cInstallation AS CHARACTER NO-UNDO.
- DEFINE VARIABLE VProgname AS CHARACTER NO-UNDO.
- DEFINE VARIABLE ARecid AS RECID INIT -1 NO-UNDO.
- DEFINE VARIABLE BRecid AS RECID INIT -1 NO-UNDO.
- DEFINE VARIABLE FInit AS LOG NO-UNDO.
- DEFINE VARIABLE FVerbuchen AS LOG NO-UNDO.
- /* ------------------------------------------------------------------------- */
- DEFINE VARIABLE VZeile AS CHARACTER FORMAT "x(180)".
- DEFINE VARIABLE VPage AS INTEGER.
- DEFINE VARIABLE RRand AS INTEGER INIT 0.
- DEFINE VARIABLE VDatei AS CHARACTER FORMAT "x(30)".
- DEFINE VARIABLE VTage AS INTEGER FORMAT "99".
- DEFINE VARIABLE VDatum AS DATE FORMAT "99.99.9999".
- DEFINE VARIABLE BDatum AS DATE FORMAT "99.99.9999".
- DEFINE VARIABLE nDatum AS INTEGER NO-UNDO.
- DEFINE VARIABLE VName AS CHARACTER FORMAT "x(30)".
- DEFINE VARIABLE VOrt AS CHARACTER FORMAT "x(30)".
- DEFINE VARIABLE VTrArt AS INTEGER.
- DEFINE VARIABLE VTot AS DECIMAL EXTENT 10.
- DEFINE VARIABLE VDat AS INTEGER.
- DEFINE VARIABLE VAnzDat AS INTEGER.
- DEFINE VARIABLE VBuDat AS DATE FORMAT "99.99.9999".
- DEFINE VARIABLE VKonto AS CHARACTER FORMAT "x(12)".
- DEFINE VARIABLE VFirma AS CHARACTER FORMAT "x(08)".
- DEFINE VARIABLE AFirma AS CHARACTER FORMAT "x(08)".
- DEFINE VARIABLE VFaknr AS INTEGER.
- DEFINE VARIABLE VDebst AS LOG.
- DEFINE VARIABLE KnrPos AS INTEGER NO-UNDO.
- DEFINE VARIABLE FnrPos AS INTEGER NO-UNDO.
- DEFINE VARIABLE KnrLang AS INTEGER NO-UNDO.
- DEFINE VARIABLE FnrLang AS INTEGER NO-UNDO.
- DEFINE VARIABLE SperrDat AS DATE NO-UNDO.
- DEFINE VARIABLE cDrucker AS CHARACTER NO-UNDO.
- DEFINE VARIABLE XFakBetr AS DECIMAL.
- DEFINE VARIABLE XSaldo AS DECIMAL.
- DEFINE VARIABLE XSkBer AS DECIMAL.
- DEFINE VARIABLE XSkonto AS DECIMAL.
- DEFINE VARIABLE XFakDat AS DATE.
- DEFINE VARIABLE XKond AS INTEGER.
- DEFINE VARIABLE VSkonto AS DECIMAL.
- DEFINE VARIABLE VBetrag AS DECIMAL.
- DEFINE VARIABLE VTol AS DECIMAL.
- DEFINE VARIABLE VSk_Tol_Max AS DECIMAL.
- DEFINE VARIABLE VSk_Tol_% AS DECIMAL.
- DEFINE BUFFER BAdresse FOR Adresse.
- DEFINE BUFFER BDebst FOR Debst .
- DEFINE BUFFER BTabel FOR Tabel .
- DEFINE BUFFER CSteuer FOR Steuer .
- DEFINE VARIABLE VZaBetr AS DECIMAL.
- DEFINE VARIABLE VSkBetr AS DECIMAL.
- DEFINE VARIABLE XDatum AS DATE.
- DEFINE VARIABLE VTrNr1 AS INTEGER.
- DEFINE VARIABLE VTrNr2 AS INTEGER.
- DEFINE VARIABLE VHerk AS INTEGER.
- DEFINE VARIABLE VBankKto AS CHARACTER.
- DEFINE VARIABLE VSkoKto AS CHARACTER.
- DEFINE VARIABLE VDebKto AS CHARACTER.
- DEFINE VARIABLE VBuchtxt1 AS CHARACTER.
- DEFINE VARIABLE VBuchtxt2 AS CHARACTER.
- DEFINE VARIABLE VZahFl AS LOG.
- DEFINE VARIABLE FFehler AS LOG.
- DEFINE VARIABLE VKte AS CHARACTER.
- DEFINE VARIABLE VDateiName AS CHARACTER FORMAT "x(40)" NO-UNDO.
- DEFINE VARIABLE OKpressed AS LOG NO-UNDO.
- DEFINE VARIABLE zz AS INTEGER.
- DEFINE BUFFER BDebop FOR Debop.
- DEFINE BUFFER BDebza FOR Debza.
- DEFINE BUFFER BDebfa FOR Debfa.
- DEFINE VARIABLE VAntZ AS DECIMAL DECIMALS 4.
- DEFINE VARIABLE VAntS AS DECIMAL DECIMALS 4.
- DEFINE VARIABLE XTot AS DECIMAL EXTENT 12.
- DEFINE VARIABLE VZah AS DECIMAL EXTENT 12.
- DEFINE VARIABLE VSko AS DECIMAL EXTENT 12.
- DEFINE VARIABLE VZRes AS DECIMAL.
- DEFINE VARIABLE VSRes AS DECIMAL.
- DEFINE VARIABLE VMax AS INTEGER.
- DEFINE TEMP-TABLE WFile
- FIELD Kto1 AS CHARACTER
- FIELD Kto2 AS CHARACTER
- FIELD MWST_Cd AS INTEGER
- FIELD Betrag AS DECIMAL.
- /* ---------- Globale Variablen ---------------------------------- */
- { v8/globvar.i" " " " "SHARED" }
- { v8/debivar.i " " " " "SHARED" }
- { v8/artivar.i " " " " "SHARED" }
- { v8/contvar.i " " " " "SHARED" }
- { v8/listtitv.i "NEW" "SHARED" }
- { incl/ttcamt054_esr.i }
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
- /* ******************** Preprocessor Definitions ******************** */
- &Scoped-define PROCEDURE-TYPE SmartBrowser
- &Scoped-define DB-AWARE no
- &Scoped-define ADM-SUPPORTED-LINKS Record-Source,Record-Target,TableIO-Target
- /* Name of designated FRAME-NAME and/or first browse and/or first query */
- &Scoped-define FRAME-NAME F-Main
- &Scoped-define BROWSE-NAME Br_Druckername
- /* Internal Tables (found by Frame, Query & Browse Queries) */
- &Scoped-define INTERNAL-TABLES XSchrift Schrift
- /* Define KEY-PHRASE in case it is used by any query. */
- &Scoped-define KEY-PHRASE TRUE
- /* Definitions for BROWSE Br_Druckername */
- &Scoped-define FIELDS-IN-QUERY-Br_Druckername XSchrift.Schname
- &Scoped-define ENABLED-FIELDS-IN-QUERY-Br_Druckername
- &Scoped-define QUERY-STRING-Br_Druckername FOR EACH XSchrift WHERE ~{&KEY-PHRASE} NO-LOCK ~
- ~{&SORTBY-PHRASE}
- &Scoped-define OPEN-QUERY-Br_Druckername OPEN QUERY Br_Druckername FOR EACH XSchrift WHERE ~{&KEY-PHRASE} NO-LOCK ~
- ~{&SORTBY-PHRASE}.
- &Scoped-define TABLES-IN-QUERY-Br_Druckername XSchrift
- &Scoped-define FIRST-TABLE-IN-QUERY-Br_Druckername XSchrift
- /* Definitions for BROWSE Br_Schriftbild */
- &Scoped-define FIELDS-IN-QUERY-Br_Schriftbild Schrift.Schbild
- &Scoped-define ENABLED-FIELDS-IN-QUERY-Br_Schriftbild
- &Scoped-define QUERY-STRING-Br_Schriftbild FOR EACH Schrift NO-LOCK ~
- BY Schrift.Schbild
- &Scoped-define OPEN-QUERY-Br_Schriftbild OPEN QUERY Br_Schriftbild FOR EACH Schrift NO-LOCK ~
- BY Schrift.Schbild.
- &Scoped-define TABLES-IN-QUERY-Br_Schriftbild Schrift
- &Scoped-define FIRST-TABLE-IN-QUERY-Br_Schriftbild Schrift
- /* Definitions for FRAME F-Main */
- /* Standard List Definitions */
- &Scoped-Define ENABLED-FIELDS Listen.VFl[1] Listen.VCh[1] Listen.ENr[1] ~
- Listen.ECh[1] Listen.VDa[1] Listen.BDa[1] Listen.ENr[3]
- &Scoped-define ENABLED-TABLES Listen
- &Scoped-define FIRST-ENABLED-TABLE Listen
- &Scoped-Define ENABLED-OBJECTS Br_Druckername Br_Schriftbild F_Sort F_USER ~
- F_TZZ F_KZZ F_FZZ F_Programm F_LQ F_Zeichen F_KOPIE F_SCHACHT Btn_Start ~
- Btn_Ende S_Anzahl F_Bemerk RECT-10 RECT-11 RECT-12 RECT-13 RECT-17
- &Scoped-Define DISPLAYED-FIELDS Listen.VFl[1] Listen.VCh[1] Listen.ENr[1] ~
- Listen.ECh[1] Listen.VDa[1] Listen.BDa[1] Listen.ENr[3]
- &Scoped-define DISPLAYED-TABLES Listen
- &Scoped-define FIRST-DISPLAYED-TABLE Listen
- &Scoped-Define DISPLAYED-OBJECTS F_Sort F_USER F_TZZ F_KZZ F_FZZ F_Programm ~
- F_LQ F_Zeichen F_KOPIE F_SCHACHT S_Anzahl F_Bemerk
- /* Custom List Definitions */
- /* List-1,List-2,List-3,List-4,List-5,List-6 */
- &Scoped-define List-1 F_Sort F_TZZ F_KZZ F_FZZ F_LQ F_KOPIE F_SCHACHT
- &Scoped-define List-2 Listen.VFl[1] Listen.VCh[1] Listen.ENr[1] ~
- Listen.ECh[1] Listen.VDa[1] Listen.BDa[1] Listen.ENr[3]
- /* _UIB-PREPROCESSOR-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _XFTR "Foreign Keys" B-table-Win _INLINE
- /* Actions: ? adm/support/keyedit.w ? ? ? */
- /* STRUCTURED-DATA
- <KEY-OBJECT>
- &BROWSE-NAME
- </KEY-OBJECT>
- <FOREIGN-KEYS>
- </FOREIGN-KEYS
- ><EXECUTING-CODE>
- **************************
- * Set attributes related to FOREIGN KEYS
- */
- RUN set-attribute-list (
- 'Keys-Accepted = "",
- Keys-Supplied = ""':U).
- /**************************
- </EXECUTING-CODE> */
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _XFTR "Advanced Query Options" B-table-Win _INLINE
- /* Actions: ? adm/support/advqedit.w ? ? ? */
- /* STRUCTURED-DATA
- <KEY-OBJECT>
- &BROWSE-NAME
- </KEY-OBJECT>
- <SORTBY-OPTIONS>
- </SORTBY-OPTIONS>
- <SORTBY-RUN-CODE>
- ************************
- * Set attributes related to SORTBY-OPTIONS */
- RUN set-attribute-list (
- 'SortBy-Options = ""':U).
- /************************
- </SORTBY-RUN-CODE>
- <FILTER-ATTRIBUTES>
- </FILTER-ATTRIBUTES> */
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- /* *********************** Control Definitions ********************** */
- /* Definitions of the field level widgets */
- DEFINE BUTTON Btn_Ende
- LABEL "&Ende"
- SIZE 14 BY 1.
- DEFINE BUTTON Btn_Start
- LABEL "&Starten"
- SIZE 14 BY 1.
- DEFINE VARIABLE F_Bemerk AS CHARACTER FORMAT "X(256)":U
- VIEW-AS FILL-IN NATIVE
- SIZE 77 BY 1.05
- BGCOLOR 10 NO-UNDO.
- DEFINE VARIABLE F_FZZ AS INTEGER FORMAT "999":U INITIAL 0
- LABEL "Fusszeilen"
- VIEW-AS FILL-IN NATIVE
- SIZE 7 BY 1.05 TOOLTIP "Wieviele Zeilen müssen am Ende der Seite leer bleiben"
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_KOPIE AS INTEGER FORMAT "9":U INITIAL 0
- LABEL "Anz. Kopien"
- VIEW-AS FILL-IN NATIVE
- SIZE 4.2 BY 1.05 TOOLTIP "Anzahl Listenkopien"
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_KZZ AS INTEGER FORMAT "999":U INITIAL 0
- LABEL "Kopfzeilen"
- VIEW-AS FILL-IN NATIVE
- SIZE 7 BY 1.05 TOOLTIP "Wieviele leere Kopfzeilen müssen gedruckt werden"
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_LQ AS LOGICAL FORMAT "j/n":U INITIAL NO
- LABEL "Schönschrift"
- VIEW-AS FILL-IN NATIVE
- SIZE 4.2 BY 1.05 TOOLTIP "Wieviele Zeilen müssen am Ende der Seite leer bleiben"
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Programm AS CHARACTER FORMAT "X(20)":U INITIAL "VESREIN"
- LABEL "Programm"
- VIEW-AS FILL-IN NATIVE
- SIZE 25 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_SCHACHT AS INTEGER FORMAT "9":U INITIAL 0
- LABEL "Schacht"
- VIEW-AS FILL-IN NATIVE
- SIZE 4.2 BY 1.05 TOOLTIP "Welcher Schacht muss angesteuer werden"
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_TZZ AS INTEGER FORMAT "999":U INITIAL 0
- LABEL "Zeilen"
- VIEW-AS FILL-IN NATIVE
- SIZE 7 BY 1.05 TOOLTIP "Wieviele Zeilen hat die ganze Seite"
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_USER AS CHARACTER FORMAT "X(20)":U
- LABEL "Benutzer"
- VIEW-AS FILL-IN NATIVE
- SIZE 25 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Zeichen AS INTEGER FORMAT "zz9":U INITIAL 0
- LABEL "Anz. Zeichen"
- VIEW-AS FILL-IN NATIVE
- SIZE 6 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Sort AS INTEGER
- VIEW-AS RADIO-SET VERTICAL
- RADIO-BUTTONS
- "Kundennummer", 1
- SIZE 43.2 BY .95 NO-UNDO.
- DEFINE RECTANGLE RECT-10
- EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
- SIZE 47.6 BY 4.14.
- DEFINE RECTANGLE RECT-11
- EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
- SIZE 79.2 BY 9.43.
- DEFINE RECTANGLE RECT-12
- EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
- SIZE 47.6 BY 4.52.
- DEFINE RECTANGLE RECT-13
- EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
- SIZE 124 BY 1.81.
- DEFINE RECTANGLE RECT-17
- EDGE-PIXELS 5 GRAPHIC-EDGE NO-FILL
- SIZE 131 BY 18.14.
- DEFINE VARIABLE S_Anzahl AS INTEGER INITIAL 0
- VIEW-AS SLIDER MIN-VALUE 0 MAX-VALUE 500 HORIZONTAL
- TIC-MARKS BOTH FREQUENCY 20
- SIZE 20.8 BY 2.76 NO-UNDO.
- /* Query definitions */
- &ANALYZE-SUSPEND
- DEFINE QUERY Br_Druckername FOR
- XSchrift SCROLLING.
- DEFINE QUERY Br_Schriftbild FOR
- Schrift SCROLLING.
- &ANALYZE-RESUME
- /* Browse definitions */
- DEFINE BROWSE Br_Druckername
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS Br_Druckername B-table-Win _STRUCTURED
- QUERY Br_Druckername NO-LOCK DISPLAY
- XSchrift.Schname COLUMN-LABEL "Drucker" FORMAT "x(50)":U
- WIDTH 51
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- WITH NO-ASSIGN NO-ROW-MARKERS SEPARATORS SIZE 55 BY 9
- BGCOLOR 15 ROW-HEIGHT-CHARS .62.
- DEFINE BROWSE Br_Schriftbild
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _DISPLAY-FIELDS Br_Schriftbild B-table-Win _STRUCTURED
- QUERY Br_Schriftbild DISPLAY
- Schrift.Schbild FORMAT "x(30)":U
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- WITH NO-ROW-MARKERS SEPARATORS SIZE 20 BY 9
- BGCOLOR 15 .
- /* ************************ Frame Definitions *********************** */
- DEFINE FRAME F-Main
- Br_Druckername AT ROW 1.71 COL 4
- Br_Schriftbild AT ROW 1.71 COL 61
- Listen.VFl[1] AT ROW 16.38 COL 20 WIDGET-ID 2
- LABEL "ISO 20022"
- VIEW-AS TOGGLE-BOX
- SIZE 30 BY 1
- F_Sort AT ROW 6.62 COL 86 NO-LABELS
- F_USER AT ROW 2.14 COL 97.8 COLON-ALIGNED NO-TAB-STOP
- F_TZZ AT ROW 11.71 COL 11 COLON-ALIGNED
- F_KZZ AT ROW 11.71 COL 32 COLON-ALIGNED
- F_FZZ AT ROW 11.71 COL 53 COLON-ALIGNED
- F_Programm AT ROW 3.24 COL 97.8 COLON-ALIGNED NO-TAB-STOP
- F_LQ AT ROW 11.71 COL 77 COLON-ALIGNED
- F_Zeichen AT ROW 4.38 COL 97.8 COLON-ALIGNED NO-TAB-STOP
- F_KOPIE AT ROW 11.71 COL 98 COLON-ALIGNED
- F_SCHACHT AT ROW 11.71 COL 115 COLON-ALIGNED
- Listen.VCh[1] AT ROW 13.38 COL 18 COLON-ALIGNED
- LABEL "Dateiname" FORMAT "x(100)"
- VIEW-AS FILL-IN NATIVE
- SIZE 42.2 BY 1 TOOLTIP "mit rechter Maustaste kann Datei gesucht werden !"
- BGCOLOR 15
- Listen.ENr[1] AT ROW 14.38 COL 18 COLON-ALIGNED
- LABEL "Toleranztage" FORMAT "99"
- VIEW-AS FILL-IN NATIVE
- SIZE 5 BY 1
- BGCOLOR 15
- Listen.ECh[1] AT ROW 14.38 COL 41 COLON-ALIGNED
- LABEL "Konto" FORMAT "x(12)"
- VIEW-AS FILL-IN NATIVE
- SIZE 19.6 BY 1
- BGCOLOR 15
- Listen.VDa[1] AT ROW 15.38 COL 18 COLON-ALIGNED AUTO-RETURN
- LABEL "von - bis Datum" FORMAT "99.99.9999"
- VIEW-AS FILL-IN NATIVE
- SIZE 18.2 BY 1
- BGCOLOR 15
- Listen.BDa[1] AT ROW 15.38 COL 41 COLON-ALIGNED
- LABEL "-" FORMAT "99.99.9999"
- VIEW-AS FILL-IN NATIVE
- SIZE 18.2 BY 1
- BGCOLOR 15
- Listen.ENr[3] AT ROW 13.67 COL 69.2 NO-LABELS
- VIEW-AS RADIO-SET VERTICAL
- RADIO-BUTTONS
- "Einzahlungsdatum", 0,
- "Ueberweisungsdatum", 1,
- "Guschriftsdatum", 2
- SIZE 33.2 BY 2.29
- Btn_Start AT ROW 13.52 COL 112
- Btn_Ende AT ROW 14.67 COL 112
- S_Anzahl AT ROW 15.95 COL 104.8 NO-LABELS NO-TAB-STOP
- F_Bemerk AT ROW 17.81 COL 18 COLON-ALIGNED NO-LABELS NO-TAB-STOP
- RECT-10 AT ROW 1.71 COL 83.6
- RECT-11 AT ROW 1.48 COL 3
- RECT-12 AT ROW 6.38 COL 83.6
- RECT-13 AT ROW 11.33 COL 3.8
- RECT-17 AT ROW 1.24 COL 2
- WITH 1 DOWN KEEP-TAB-ORDER OVERLAY
- SIDE-LABELS NO-UNDERLINE THREE-D
- AT COL 1 ROW 1
- SIZE 132.6 BY 19.57
- TITLE "Aufbereiten der VESR-Daten ab Diskette".
- /* *********************** Procedure Settings ************************ */
- &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
- /* Settings for THIS-PROCEDURE
- Type: SmartBrowser
- Allow: Basic,Browse
- Frames: 1
- Add Fields to: EXTERNAL-TABLES
- Other Settings: PERSISTENT-ONLY COMPILE
- Temp-Tables and Buffers:
- TABLE: XSchrift T "?" NO-UNDO Anadat Schrift
- TABLE: XTermOut T "NEW SHARED" NO-UNDO AnaDat TermOut
- END-TABLES.
- */
- /* 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 B-table-Win ASSIGN
- HEIGHT = 19.57
- WIDTH = 132.6.
- /* END WINDOW DEFINITION */
- */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB B-table-Win
- /* ************************* Included-Libraries *********************** */
- {src/adm/method/browser.i}
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- /* *********** Runtime Attributes and AppBuilder Settings *********** */
- &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
- /* SETTINGS FOR WINDOW B-table-Win
- NOT-VISIBLE,,RUN-PERSISTENT */
- /* SETTINGS FOR FRAME F-Main
- NOT-VISIBLE FRAME-NAME Custom */
- /* BROWSE-TAB Br_Druckername 1 F-Main */
- /* BROWSE-TAB Br_Schriftbild Br_Druckername F-Main */
- ASSIGN
- FRAME F-Main:HIDDEN = TRUE.
- /* SETTINGS FOR FILL-IN Listen.BDa[1] IN FRAME F-Main
- 2 EXP-LABEL EXP-FORMAT */
- /* SETTINGS FOR FILL-IN Listen.ECh[1] IN FRAME F-Main
- 2 EXP-LABEL EXP-FORMAT */
- /* SETTINGS FOR FILL-IN Listen.ENr[1] IN FRAME F-Main
- 2 EXP-LABEL EXP-FORMAT */
- /* SETTINGS FOR RADIO-SET Listen.ENr[3] IN FRAME F-Main
- 2 */
- ASSIGN
- F_Bemerk:READ-ONLY IN FRAME F-Main = TRUE.
- /* SETTINGS FOR FILL-IN F_FZZ IN FRAME F-Main
- 1 */
- /* SETTINGS FOR FILL-IN F_KOPIE IN FRAME F-Main
- 1 */
- /* SETTINGS FOR FILL-IN F_KZZ IN FRAME F-Main
- 1 */
- /* SETTINGS FOR FILL-IN F_LQ IN FRAME F-Main
- 1 */
- ASSIGN
- F_Programm:READ-ONLY IN FRAME F-Main = TRUE.
- /* SETTINGS FOR FILL-IN F_SCHACHT IN FRAME F-Main
- 1 */
- /* SETTINGS FOR RADIO-SET F_Sort IN FRAME F-Main
- 1 */
- /* SETTINGS FOR FILL-IN F_TZZ IN FRAME F-Main
- 1 */
- ASSIGN
- F_USER:READ-ONLY IN FRAME F-Main = TRUE.
- ASSIGN
- F_Zeichen:READ-ONLY IN FRAME F-Main = TRUE.
- /* SETTINGS FOR FILL-IN Listen.VCh[1] IN FRAME F-Main
- 2 EXP-LABEL EXP-FORMAT */
- /* SETTINGS FOR FILL-IN Listen.VDa[1] IN FRAME F-Main
- 2 EXP-LABEL EXP-FORMAT */
- /* SETTINGS FOR TOGGLE-BOX Listen.VFl[1] IN FRAME F-Main
- 2 EXP-LABEL */
- /* _RUN-TIME-ATTRIBUTES-END */
- &ANALYZE-RESUME
- /* Setting information for Queries and Browse Widgets fields */
- &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE Br_Druckername
- /* Query rebuild information for BROWSE Br_Druckername
- _TblList = "Temp-Tables.XSchrift"
- _Options = "NO-LOCK KEY-PHRASE SORTBY-PHRASE"
- _FldNameList[1] > Temp-Tables.XSchrift.Schname
- "XSchrift.Schname" "Drucker" "x(50)" "character" ? ? ? ? ? ? no ? no no "51" yes no no "U" "" "" "" "" "" "" 0 no 0 no no
- _Query is NOT OPENED
- */ /* BROWSE Br_Druckername */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _QUERY-BLOCK BROWSE Br_Schriftbild
- /* Query rebuild information for BROWSE Br_Schriftbild
- _TblList = "Anadat.Schrift"
- _OrdList = "Anadat.Schrift.Schbild|yes"
- _FldNameList[1] = Anadat.Schrift.Schbild
- _Query is NOT OPENED
- */ /* BROWSE Br_Schriftbild */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _QUERY-BLOCK FRAME F-Main
- /* Query rebuild information for FRAME F-Main
- _Options = "NO-LOCK"
- _Query is NOT OPENED
- */ /* FRAME F-Main */
- &ANALYZE-RESUME
-
- /* ************************ Control Triggers ************************ */
- &Scoped-define SELF-NAME F-Main
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F-Main B-table-Win
- ON END-ERROR OF FRAME F-Main /* Aufbereiten der VESR-Daten ab Diskette */
- DO:
- RUN new-state ( INPUT 'ENDE, MAIN':U ).
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F-Main B-table-Win
- ON GO OF FRAME F-Main /* Aufbereiten der VESR-Daten ab Diskette */
- DO:
- DO TRANSACTION:
- FIND Listen WHERE RECID(Listen) = ARecid.
- Listen.Listfl = ''.
- END.
- RUN new-state ('drucken_ende':U).
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define BROWSE-NAME Br_Druckername
- &Scoped-define SELF-NAME Br_Druckername
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_Druckername B-table-Win
- ON ROW-ENTRY OF Br_Druckername IN FRAME F-Main
- DO:
- /* This code displays initial values for newly added or copied rows. */
- {src/adm/template/brsentry.i}
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_Druckername B-table-Win
- ON ROW-LEAVE OF Br_Druckername IN FRAME F-Main
- DO:
- /* Do not disable this code or no updates will take place except
- by pressing the Save button on an Update SmartPanel. */
- {src/adm/template/brsleave.i}
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_Druckername B-table-Win
- ON VALUE-CHANGED OF Br_Druckername IN FRAME F-Main
- DO:
- {src/adm/template/brschnge.i}
-
- ASchname = XSchrift.Schname.
-
- OPEN QUERY Br_Schriftbild
- FOR EACH Schrift WHERE Schrift.Schname = ASchname NO-LOCK.
- FIND BSchrift WHERE BSchrift.Schname = ASchname
- AND BSchrift.Schbild = ASchbild NO-LOCK NO-ERROR.
- IF AVAILABLE BSchrift THEN
- DO:
- REPOSITION Br_Schriftbild TO RECID RECID(BSchrift) NO-ERROR.
- Br_Schriftbild:SELECT-FOCUSED-ROW() IN FRAME {&FRAME-NAME}.
- Br_Schriftbild:FETCH-SELECTED-ROW(1) IN FRAME {&FRAME-NAME}.
- END.
- ELSE
- DO:
- APPLY 'VALUE-CHANGED' TO BROWSE Br_Schriftbild.
- END.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define BROWSE-NAME Br_Schriftbild
- &Scoped-define SELF-NAME Br_Schriftbild
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_Schriftbild B-table-Win
- ON ROW-ENTRY OF Br_Schriftbild IN FRAME F-Main
- DO:
- /* This code displays initial values for newly added or copied rows. */
- {src/adm/template/brsentry.i}
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_Schriftbild B-table-Win
- ON ROW-LEAVE OF Br_Schriftbild IN FRAME F-Main
- DO:
- /* Do not disable this code or no updates will take place except
- by pressing the Save button on an Update SmartPanel. */
- {src/adm/template/brsleave.i}
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Br_Schriftbild B-table-Win
- ON VALUE-CHANGED OF Br_Schriftbild IN FRAME F-Main
- DO:
- {src/adm/template/brschnge.i}
-
- IF ASchbild <> Schrift.Schbild THEN
- DO:
- ASSIGN
- F_TZZ = Schrift.Schzztot
- F_KZZ = Schrift.Schzzbeg
- F_FZZ = Schrift.Schzzend.
- DISPLAY {&List-1} WITH FRAME {&FRAME-NAME}.
- END.
- ASchbild = Schrift.Schbild.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME Btn_Ende
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Ende B-table-Win
- ON CHOOSE OF Btn_Ende IN FRAME F-Main /* Ende */
- DO:
- DO TRANSACTION:
- FIND Listen WHERE RECID(Listen) = ARecid.
- Listen.Listfl = ''.
- END.
-
- { v8/druck_ende.i }
-
- RUN new-state ( INPUT 'ENDE, MAIN':U ).
- APPLY 'GO' TO FRAME {&FRAME-NAME}.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME Btn_Start
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Start B-table-Win
- ON CHOOSE OF Btn_Start IN FRAME F-Main /* Starten */
- DO:
- DO WITH FRAME {&FRAME-NAME}:
- IF Listen.ECh[01]:SCREEN-VALUE = '' THEN
- DO:
- MESSAGE 'Kontonummer eingeben ! ' VIEW-AS ALERT-BOX ERROR.
- APPLY 'ENTRY' TO Listen.ECh[01].
- RETURN NO-APPLY.
- END.
- DEFINE VARIABLE DateiName AS CHARACTER NO-UNDO.
-
- DateiName = LC(VCh[01]:SCREEN-VALUE).
- IF DateiName = '' THEN
- DO:
- RUN FILESUCHEN ( INPUT-OUTPUT DateiName ).
- IF DateiName = '' THEN
- DO:
- APPLY 'ENTRY' TO VCh[01].
- RETURN NO-APPLY.
- END.
- Listen.VCh[01]:SCREEN-VALUE = DateiName.
- END.
- IF SEARCH(DateiName) = ? THEN
- DO:
- MESSAGE 'Datei ' DateiName ' ist nicht zu finden' VIEW-AS ALERT-BOX.
- APPLY 'ENTRY' TO Listen.VCh[01] IN FRAME {&FRAME-NAME}.
- RETURN NO-APPLY.
- END.
- FILE-INFO:FILE-NAME = SEARCH(DateiName).
- DateiName = FILE-INFO:FULL-PATHNAME.
- Listen.VCh[01]:SCREEN-VALUE = DateiName.
-
- IF VDa[01]:SCREEN-VALUE = ? THEN VDa[01]:SCREEN-VALUE = STRING(SperrDat + 1).
- IF VDa[01]:SCREEN-VALUE = '' THEN VDa[01]:SCREEN-VALUE = STRING(SperrDat + 1).
- IF BDa[01]:SCREEN-VALUE = ? THEN BDa[01]:SCREEN-VALUE = STRING(DATE(12,31,2099)).
- IF BDa[01]:SCREEN-VALUE = '' THEN BDa[01]:SCREEN-VALUE = STRING(DATE(12,31,2099)).
- END.
-
- IF XSchrift.Schname = "TERMINAL" THEN
- DO:
- { v8/fehler.i "0094" }
- REPEAT TRANSACTION WITH FRAME {&FRAME-NAME}:
- FIND Listen WHERE RECID(Listen) = ARecid.
- ASSIGN
- Listen.Listfl = ''.
- RELEASE Listen .
- LEAVE.
- END.
- FIND Listen WHERE RECID(Listen ) = ARecid NO-LOCK.
- APPLY 'CHOOSE' TO Btn_Ende IN FRAME {&FRAME-NAME}.
- RETURN NO-APPLY.
- END.
-
- DO TRANSACTION WITH FRAME {&FRAME-NAME}:
-
- DISABLE Btn_Start.
- DISABLE Btn_Ende.
-
- ASSIGN {&List-1}.
- FIND Listen WHERE RECID(Listen) = ARecid.
- FIND LiDruck WHERE RECID(LiDruck) = BRecid.
- ASSIGN
- Breite = F_Zeichen
- Listen.Sort = F_Sort
- LiDruck.Listtzz = F_TZZ
- LiDruck.Listkzz = F_KZZ
- LiDruck.Listfzz = F_FZZ
- LiDruck.Listlq = F_LQ
- LiDruck.ListCopy = F_KOPIE
- LiDruck.Schacht = F_SCHACHT
- LiDruck.Listdru = XSchrift.Schname
- LiDruck.Listbild = Schrift.Schbild.
-
- IF LiDruck.ListCopy = 0 THEN LiDruck.ListCopy = 1.
-
- ASSIGN {&List-2}.
-
- IF VDa[01] = ? THEN VDa[01] = SperrDat + 1.
- IF BDa[01] = ? THEN BDa[01] = DATE(31,12,YEAR(TODAY)).
- IF VDa[01] <= SperrDat THEN VDa[01] = SperrDat + 1.
-
- DateiName = LC(Listen.VCh[01]).
- IF SEARCH(DateiName) = ? THEN
- DO:
- MESSAGE 'Datei ist nicht zu finden' VIEW-AS ALERT-BOX.
- APPLY 'ENTRY' TO Listen.VCh[01] IN FRAME {&FRAME-NAME}.
- RETURN NO-APPLY.
- END.
- DateiName = SEARCH(DateiName).
-
- DISPLAY {&List-2} WITH FRAME {&FRAME-NAME}.
- ASSIGN
- LiDruck.ProgWahl = Listen.ProgWahl
- LiDruck.Listprog = TRIM(F_Programm) + STRING(Listen.ProgWahl,'99').
-
- RELEASE Listen .
- RELEASE LiDruck.
- END.
- FIND Listen WHERE RECID(Listen ) = ARecid NO-LOCK.
- FIND LiDruck WHERE RECID(LiDruck) = BRecid NO-LOCK.
- RUN LIBILD.
- FVerbuchen = FALSE.
- RUN DRUCKEN.
-
- IF FVerbuchen THEN RUN VERBUCHEN.
- DO TRANSACTION WITH FRAME {&FRAME-NAME}:
- FIND Listen WHERE RECID(Listen) = ARecid.
- ASSIGN
- Listen.Listfl = ''.
- RELEASE Listen .
- END.
- FIND Listen WHERE RECID(Listen) = ARecid NO-LOCK.
- DO WITH FRAME {&FRAME-NAME}:
- ENABLE Btn_Start.
- ENABLE Btn_Ende.
- APPLY 'CHOOSE' TO Btn_Ende IN FRAME {&FRAME-NAME}.
- RETURN NO-APPLY.
- END.
- TiDruck = TRUE.
-
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME Listen.ENr[3]
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Listen.ENr[3] B-table-Win
- ON RETURN OF Listen.ENr[3] IN FRAME F-Main /* ENr */
- DO:
- APPLY 'TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME Listen.VCh[1]
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Listen.VCh[1] B-table-Win
- ON RIGHT-MOUSE-CLICK OF Listen.VCh[1] IN FRAME F-Main /* Dateiname */
- DO:
- SYSTEM-DIALOG GET-FILE VDateiName
- TITLE "Auswahl der BESR-Datei ..."
- FILTERS "Alle Dateien (*.*)" "*.*"
- MUST-EXIST
- USE-FILENAME
- UPDATE OKpressed.
-
- IF OKpressed = FALSE THEN RETURN NO-APPLY.
- DO WITH FRAME {&FRAME-NAME}:
- Listen.VCh[01]:SCREEN-VALUE = VDateiName.
- END.
- APPLY 'ENTRY' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define BROWSE-NAME Br_Druckername
- &UNDEFINE SELF-NAME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK B-table-Win
- /* *************************** Main Block *************************** */
- FIND Steuer USE-INDEX Steuer-k1
- WHERE Steuer.Firma = GVFirma NO-LOCK NO-ERROR.
- FIND BSteuer USE-INDEX Steuer-k1
- WHERE BSteuer.Firma = GVFirma NO-LOCK NO-ERROR.
- KnrPos = INTEGER(SUBSTRING(STRING(Steuer.St07,'9999'),01,02)).
- KnrLang = INTEGER(SUBSTRING(STRING(Steuer.St07,'9999'),03,02)).
- FnrPos = INTEGER(SUBSTRING(STRING(Steuer.St08,'9999'),01,02)).
- FnrLang = INTEGER(SUBSTRING(STRING(Steuer.St08,'9999'),03,02)).
- IF KnrLang = 0 THEN KnrLang = 6.
- IF FnrLang = 0 THEN FnrLang = 6.
- IF KnrPos = 0 THEN KnrPos = 27 - KnrLang - FnrLang.
- IF FnrPos = 0 THEN FnrPos = 27 - FnrLang.
- cInstallation = DYNAMIC-FUNCTION('getInstallation') NO-ERROR.
- ON END-ERROR ANYWHERE
- DO:
- DO TRANSACTION:
- FIND Listen WHERE RECID(Listen) = ARecid.
- Listen.Listfl = ''.
- RELEASE Listen.
- END.
- END.
- &IF DEFINED(UIB_IS_RUNNING) <> 0 &THEN
- RUN dispatch IN THIS-PROCEDURE ('initialize':U).
- &ENDIF
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- /* ********************** Internal Procedures *********************** */
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-row-available B-table-Win _ADM-ROW-AVAILABLE
- PROCEDURE adm-row-available :
- /*------------------------------------------------------------------------------
- Purpose: Dispatched to this procedure when the Record-
- Source has a new row available. This procedure
- tries to get the new row (or foriegn keys) from
- the Record-Source and process it.
- Parameters: <none>
- ------------------------------------------------------------------------------*/
- /* Define variables needed by this internal procedure. */
- {src/adm/template/row-head.i}
- /* Process the newly available records (i.e. display fields,
- open queries, and/or pass records on to any RECORD-TARGETS). */
- {src/adm/template/row-end.i}
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE CREATE_ISO20022 B-table-Win
- PROCEDURE CREATE_ISO20022 :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE INPUT PARAMETER ipcDatei AS CHARACTER NO-UNDO.
- DEFINE VARIABLE iTT AS INTEGER NO-UNDO.
- DEFINE VARIABLE iMM AS INTEGER NO-UNDO.
- DEFINE VARIABLE iJJ AS INTEGER NO-UNDO.
- DEFINE VARIABLE iTrArt AS INTEGER NO-UNDO.
- DEFINE VARIABLE iAnz AS INTEGER NO-UNDO.
- DEFINE VARIABLE iTotBetr AS DECIMAL NO-UNDO.
- DEFINE VARIABLE iTotTax AS DECIMAL NO-UNDO.
- DEFINE VARIABLE iTeilnrNr AS INTEGER NO-UNDO.
- DEFINE VARIABLE cKto AS CHARACTER NO-UNDO.
- EMPTY TEMP-TABLE tHeader .
- EMPTY TEMP-TABLE tSubHeader .
- EMPTY TEMP-TABLE tZahlung .
- RUN read_camt054_esr.p ( ipcDatei ,
- INPUT-OUTPUT htHeader ,
- INPUT-OUTPUT htSubHeader,
- INPUT-OUTPUT htZahlung ).
-
- IF RETURN-VALUE <> '' THEN
- DO:
- MESSAGE 'Verarbeitung fehlerhaft'
- VIEW-AS ALERT-BOX.
- RETURN.
- END.
-
- ASSIGN
- VAnzahl = 0
- iTotBetr = 0
- iTotTax = 0
- iAnz = 0.
- FOR EACH tSubHeader WITH FRAME {&FRAME-NAME}:
- ASSIGN
- VAnzahl = VAnzahl + tSubHeader.Anzahl
- iTotBetr = iTotBetr + tSubHeader.Total
- iTotTax = iTotTax + tSubHeader.Taxen.
- FOR EACH tZahlung
- WHERE tZahlung.iSeq = tSubHeader.iSeq:
- FIND LAST VESRZahl NO-LOCK NO-ERROR.
- IF AVAILABLE VESRZahl THEN ix = VESRZahl.Trnr + 1.
- ELSE ix = 1.
- iTrArt = 1.
- IF SUBSTRING(tSubHeader.TeilnrNr,01,01) >= '0' AND
- SUBSTRING(tSubHeader.TeilnrNr,01,01) <= '9' THEN iTeilnrNr = INTEGER(SUBSTRING(tSubHeader.TeilnrNr,001,09)).
- ELSE
- DO:
- cKto = ''.
- DO ii = 13 TO LENGTH(tSubHeader.TeilnrNr):
- IF SUBSTRING(tSubHeader.TeilnrNr,ii,01) >= '0' AND
- SUBSTRING(tSubHeader.TeilnrNr,ii,01) <= '9' THEN cKto = cKto + SUBSTRING(tSubHeader.TeilnrNr,ii,01).
- IF LENGTH(cKto) >= 9 THEN LEAVE.
- END.
- iTeilnrNr = INTEGER(cKto).
- END.
- CREATE VESRZahl.
- ASSIGN
- VESRZahl.Trnr = ix
- VESRZahl.Tr_Art = iTrArt
- VESRZahl.Tn_Nr = iTeilnrNr
- VESRZahl.Referenz = tZahlung.Referenz
- VESRZahl.Betrag = tZahlung.Betrag
- VESRZahl.Aufg_Ref = tZahlung.AufRef
- VESRZahl.Mi_Fi_Nr = tZahlung.ServiceRef
- VESRZahl.Rj_Cd = ''
- VESRZahl.Taxen_02 = DECIMAL(tZahlung.Taxen).
-
- iJJ = INTEGER(SUBSTRING(tSubHeader.Buchdat,001,04)).
- iMM = INTEGER(SUBSTRING(tSubHeader.Buchdat,006,02)).
- iTT = INTEGER(SUBSTRING(tSubHeader.Buchdat,009,02)).
- VESRZahl.Aufg_Dat = DATE(iMM,iTT,iJJ).
- VESRZahl.Verb_Dat = DATE(iMM,iTT,iJJ).
-
- iJJ = INTEGER(SUBSTRING(tSubHeader.Valuta,001,04)).
- iMM = INTEGER(SUBSTRING(tSubHeader.Valuta,006,02)).
- iTT = INTEGER(SUBSTRING(tSubHeader.Valuta,009,02)).
- VESRZahl.Guts_Dat = DATE(iMM,iTT,iJJ).
-
- IF tZahlung.lStorno THEN
- DO:
- VESRZahl.Betrag = VESRZahl.Betrag * -1.
- VESRZahl.Taxen_02 = VESRZahl.Taxen_02 * -1.
- END.
-
- iAnz = iAnz + 1.
- S_Anzahl:SCREEN-VALUE = STRING(iAnz).
- END.
- END.
-
- FIND FIRST tHeader.
-
- ASSIGN
- ix = ix + 1
- iTrArt = 900.
-
- CREATE VESRZahl.
- ASSIGN
- VESRZahl.Trnr = ix
- VESRZahl.Tr_Art = iTrArt
- VESRZahl.Tn_Nr = 0
- VESRZahl.Referenz = tHeader.IBAN
- VESRZahl.Betrag = iTotBetr
- VESRZahl.Aufg_Ref = STRING(VAnzahl)
- VESRZahl.Mi_Fi_Nr = ''
- VESRZahl.Rj_Cd = ''
- VESRZahl.Taxen_02 = iTotTax.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE CREATE_V11 B-table-Win
- PROCEDURE CREATE_V11 :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE INPUT PARAMETER ipcDatei AS CHARACTER NO-UNDO.
- DEFINE VARIABLE VDatum1 AS DATE NO-UNDO.
- DEFINE VARIABLE VDatum2 AS DATE NO-UNDO.
- DEFINE VARIABLE VDatum3 AS DATE NO-UNDO.
- DEFINE VARIABLE iTeilnrNr AS INTEGER NO-UNDO.
- OUTPUT TO 'VESR.V11'.
- INPUT FROM VALUE(ipcdatei) NO-ECHO.
- VAnzahl = 0.
- B010:
- REPEAT WITH FRAME {&FRAME-NAME}:
- VZeile = "".
- ix = 0.
- DO WHILE TRUE:
- READKEY.
- IF INTEGER(LASTKEY) < 0 THEN LEAVE B010.
- IF INT(LASTKEY) = 13 OR
- INT(LASTKEY) = 10 THEN
- DO:
- IF ix > 0 THEN
- DO:
- PUT CONTROL CHR(34) VZeile CHR(34) CHR(10).
- VZeile = "".
- ix = 0.
- VAnzahl = VAnzahl + 1.
- S_Anzahl:SCREEN-VALUE = STRING(VAnzahl).
- END.
- NEXT.
- END.
- VZeile = VZeile + CHR(LASTKEY).
- ix = ix + 1.
- IF ix = 128 THEN
- DO:
- PUT CONTROL CHR(34) VZeile CHR(34) CHR(10).
- VZeile = "".
- ix = 0.
- VAnzahl = VAnzahl + 1.
- S_Anzahl:SCREEN-VALUE = STRING(VAnzahl).
- END.
- END.
- END.
- IF ix > 0 THEN
- DO:
- PUT CONTROL CHR(34) VZeile CHR(34) CHR(10).
- VZeile = "".
- ix = 0.
- VAnzahl = VAnzahl + 1.
- S_Anzahl:SCREEN-VALUE = STRING(VAnzahl).
- END.
- OUTPUT CLOSE.
- INPUT CLOSE.
- FIND Femeld NO-LOCK
- WHERE Femeld.Sprcd = GVSprcd
- AND Femeld.Fenr = 442 NO-ERROR.
- F_Bemerk = Femeld.Fetext.
- RELEASE Femeld.
- DISPLAY F_Bemerk WITH FRAME {&FRAME-NAME}.
-
- VAnzahl = 0.
- INPUT FROM "VESR.V11" NO-ECHO.
- B020:
- REPEAT:
- IMPORT VZeile.
- FIND LAST VESRZahl NO-LOCK NO-ERROR.
- IF AVAILABLE VESRZahl THEN ix = VESRZahl.Trnr + 1.
- ELSE ix = 1.
- VTrArt = INTEGER(SUBSTRING(VZeile,001,03)).
- IF VTrArt >= 900 THEN
- DO:
- IF INTEGER(SUBSTRING(VZeile,064,02)) < 90 THEN
- VDatum1 = DATE(INTEGER(SUBSTRING(VZeile,066,02)),
- INTEGER(SUBSTRING(VZeile,068,02)),
- INTEGER(SUBSTRING(VZeile,064,02)) + 2000).
- ELSE
- VDatum1 = DATE(INTEGER(SUBSTRING(VZeile,066,02)),
- INTEGER(SUBSTRING(VZeile,068,02)),
- INTEGER(SUBSTRING(VZeile,064,02)) + 1900).
- IF SUBSTRING(VZeile,04,01) >= '0' AND
- SUBSTRING(VZeile,04,01) <= '9' THEN iTeilnrNr = INTEGER(SUBSTRING(VZeile,004,09)).
- ELSE iTeilnrNr = 0.
- CREATE VESRZahl.
- ASSIGN
- VESRZahl.Trnr = ix
- VESRZahl.Tr_Art = VTrArt
- VESRZahl.Tn_Nr = iTeilnrNr
- VESRZahl.Referenz = SUBSTRING(VZeile,013,27)
- VESRZahl.Betrag = INTEGER(SUBSTRING(VZeile,040,12)) / 100
- VESRZahl.Aufg_Ref = SUBSTRING(VZeile,054,10)
- VESRZahl.Aufg_Dat = VDatum1
- VESRZahl.Taxen_01 = INTEGER(SUBSTRING(VZeile,070,09)) / 100
- VESRZahl.Taxen_02 = INTEGER(SUBSTRING(VZeile,079,09)) / 100.
- IF VTrArt = 995 THEN
- DO:
- VESRZahl.Betrag = VESRZahl.Betrag * -1.
- VESRZahl.Taxen_01 = VESRZahl.Taxen_01 * -1.
- END.
- NEXT.
- END.
- IF INTEGER(SUBSTRING(VZeile,060,02)) < 90 THEN
- VDatum1 = DATE(INTEGER(SUBSTRING(VZeile,062,02)),
- INTEGER(SUBSTRING(VZeile,064,02)),
- INTEGER(SUBSTRING(VZeile,060,02)) + 2000).
- ELSE
- VDatum1 = DATE(INTEGER(SUBSTRING(VZeile,062,02)),
- INTEGER(SUBSTRING(VZeile,064,02)),
- INTEGER(SUBSTRING(VZeile,060,02)) + 1900).
- IF INTEGER(SUBSTRING(VZeile,066,02)) < 90 THEN
- VDatum2 = DATE(INTEGER(SUBSTRING(VZeile,068,02)),
- INTEGER(SUBSTRING(VZeile,070,02)),
- INTEGER(SUBSTRING(VZeile,066,02)) + 2000).
- ELSE
- VDatum2 = DATE(INTEGER(SUBSTRING(VZeile,068,02)),
- INTEGER(SUBSTRING(VZeile,070,02)),
- INTEGER(SUBSTRING(VZeile,066,02)) + 1900).
- IF INTEGER(SUBSTRING(VZeile,072,02)) < 90 THEN
- VDatum3 = DATE(INTEGER(SUBSTRING(VZeile,074,02)),
- INTEGER(SUBSTRING(VZeile,076,02)),
- INTEGER(SUBSTRING(VZeile,072,02)) + 2000).
- ELSE
- VDatum3 = DATE(INTEGER(SUBSTRING(VZeile,074,02)),
- INTEGER(SUBSTRING(VZeile,076,02)),
- INTEGER(SUBSTRING(VZeile,072,02)) + 1900).
- IF SUBSTRING(VZeile,04,01) >= '0' AND
- SUBSTRING(VZeile,04,01) <= '9' THEN iTeilnrNr = INTEGER(SUBSTRING(VZeile,004,09)).
- ELSE iTeilnrNr = 0.
- CREATE VESRZahl.
- ASSIGN
- VESRZahl.Trnr = ix
- VESRZahl.Tr_Art = VTrArt
- VESRZahl.Tn_Nr = iTeilnrNr
- VESRZahl.Referenz = SUBSTRING(VZeile,013,27)
- VESRZahl.Betrag = INTEGER(SUBSTRING(VZeile,040,10)) / 100
- VESRZahl.Aufg_Ref = SUBSTRING(VZeile,050,10)
- VESRZahl.Aufg_Dat = VDatum1
- VESRZahl.Verb_Dat = VDatum2
- VESRZahl.Guts_Dat = VDatum3
- VESRZahl.Mi_Fi_Nr = SUBSTRING(VZeile,078,09)
- VESRZahl.Rj_Cd = SUBSTRING(VZeile,087,01)
- VESRZahl.Taxen_02 = INTEGER(SUBSTRING(VZeile,097,04)) / 100.
- IF VTrArt = 005 OR
- VTrArt = 015 OR
- VTrArt = 105 OR
- VTrArt = 115 THEN
- DO:
- VESRZahl.Betrag = VESRZahl.Betrag * -1.
- VESRZahl.Taxen_02 = VESRZahl.Taxen_02 * -1.
- END.
- VAnzahl = VAnzahl + 1.
- S_Anzahl:SCREEN-VALUE = STRING(VAnzahl).
- END.
- INPUT CLOSE.
- RETURN ''.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI B-table-Win _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 F-Main.
- IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE DRUCKEN B-table-Win
- PROCEDURE DRUCKEN :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE VARIABLE XHelptx AS CHARACTER FORMAT "x(70)".
- DEFINE VARIABLE TT AS INTEGER.
- DEFINE VARIABLE MM AS INTEGER.
- DEFINE VARIABLE JJ AS INTEGER.
- DEFINE VARIABLE cDateiName AS CHARACTER NO-UNDO.
- /* -------------------------------------------------------------------------- */
- FIND Steuer WHERE Steuer.Firma = GVFirma NO-LOCK NO-ERROR.
- VSort = Listen.Sort.
- VTage = Listen.ENr[01].
- VDatum = Listen.VDa[01].
- BDatum = Listen.BDa[01].
- VKonto = Listen.ECh[01].
- nDatum = Listen.ENr[03].
- cDateiName = Listen.VCh[01].
-
- XHelptx = Helptext[02].
- TitTxt = "".
- FIND Femeld NO-LOCK
- WHERE Femeld.Sprcd = GVSprcd
- AND Femeld.Fenr = 441 NO-ERROR.
- F_Bemerk = Femeld.Fetext.
- DISPLAY F_Bemerk WITH FRAME {&FRAME-NAME}.
- VAnzahl = 0.
- FOR EACH VESRZahl:
- DELETE VESRZahl.
- VAnzahl = VAnzahl + 1.
- S_Anzahl:SCREEN-VALUE = STRING(VAnzahl).
- END.
- VAnzahl = 0.
- FOR EACH Zahlung WHERE Zahlung.Zahl_Art = 99:
- DELETE Zahlung.
- VAnzahl = VAnzahl + 1.
- S_Anzahl:SCREEN-VALUE = STRING(VAnzahl).
- END.
- DO WHILE NOT VFl[01] :
- RUN CREATE_V11 ( cDateiName ).
- LEAVE.
- END.
- DO WHILE VFl[01] :
- RUN CREATE_ISO20022 ( cDateiName ).
- LEAVE.
- END.
- FIND Femeld NO-LOCK
- WHERE Femeld.Sprcd = GVSprcd
- AND Femeld.Fenr = 443 NO-ERROR.
- F_Bemerk = Femeld.Fetext.
- DISPLAY F_Bemerk WITH FRAME {&FRAME-NAME}.
- Linkcd = 8.
- DO WHILE Linkcd = 8:
- XHelptx = Helptext[02].
- TitTxt = "".
- RUN LISTTIT1.
- VCopy = 1.
- VKonto = TRIM(Listen.ECh[01]).
- VDat = 3.
- DO PRESELECT
- EACH VESRZahl NO-LOCK:
- DO VCopy = 1 TO LiDruck.ListCopy:
- LNeu = TRUE.
- /* -------------------------------------------------------------------------- */
- { v8/opendruck.i}
- /* -------------------------------------------------------------------------- */
- VLine = 0.
- VRand = 0.
- RRand = 0.
- VTot = 0.
- VAnzDat = 0.
- DruFl = TRUE.
- TiDruck = TRUE.
- Uebertrag = ''.
- FIND Steuer WHERE Steuer.Firma = GVFirma NO-LOCK NO-ERROR.
- REPEAT:
- IF LNeu THEN FIND FIRST VESRZahl NO-ERROR.
- ELSE FIND NEXT VESRZahl NO-ERROR.
- IF NOT AVAILABLE VESRZahl THEN LEAVE.
- LNeu = FALSE.
- RUN LISTTIT2.
- DO WHILE VESRZahl.Tr_Art < 900:
- LVKnr = INTEGER(SUBSTRING(VESRZahl.Refe,KnrPos,KnrLang)).
- LVFaknr = INTEGER(SUBSTRING(VESRZahl.Refe,FnrPos,FnrLang)).
- LVFirma = GVFirma.
- VBuDat = VESRZahl.Guts_Dat.
- CASE nDatum:
- WHEN 0 THEN
- VBuDat = VESRZahl.Aufg_Dat.
- WHEN 1 THEN
- VBuDat = VESRZahl.Verb_Dat.
- WHEN 2 THEN
- VBuDat = VESRZahl.Guts_Dat.
- END CASE.
- IF VDatum <> ? AND
- VBuDat < VDatum THEN VBuDat = VDatum.
- IF BDatum <> ? AND
- VBuDat > BDatum THEN VBuDat = BDatum.
- IF VBuDat <= SperrDat THEN VBuDat = SperrDat + 1.
- FIND CSteuer WHERE CSteuer.Firma = LVFirma NO-LOCK NO-ERROR.
- IF AVAILABLE CSteuer THEN AdFirma = CSteuer.AdFirma.
- ELSE AdFirma = LVFirma.
- FIND Adresse NO-LOCK USE-INDEX Adresse-k1
- WHERE Adresse.Firma = AdFirma
- AND Adresse.Knr = LVKnr NO-ERROR.
- FIND Debop NO-LOCK
- WHERE Debop.Firma = LVFirma
- AND Debop.Knr = LVKnr
- AND Debop.Faknr = LVFaknr NO-ERROR.
- /* ---------------------------------------------------------------------- */
- /* Wiederkehr temporärer Spezialfall 18.10.2016 */
- /* ---------------------------------------------------------------------- */
- DO WHILE NOT AVAILABLE Adresse OR
- NOT AVAILABLE Debop :
- IF NOT cInstallation BEGINS 'Wieder' THEN LEAVE.
-
- LVKnr = INTEGER(SUBSTRING(VESRZahl.Refe,13,06)).
- LVFaknr = INTEGER(SUBSTRING(VESRZahl.Refe,20,07)).
- FIND Adresse NO-LOCK USE-INDEX Adresse-k1
- WHERE Adresse.Firma = AdFirma
- AND Adresse.Knr = LVKnr NO-ERROR.
- FIND Debop NO-LOCK
- WHERE Debop.Firma = LVFirma
- AND Debop.Knr = LVKnr
- AND Debop.Faknr = LVFaknr NO-ERROR.
- IF AVAILABLE Debop THEN LEAVE.
-
- LVKnr = INTEGER(SUBSTRING(VESRZahl.Refe,KnrPos,KnrLang)).
- LVFaknr = INTEGER(SUBSTRING(VESRZahl.Refe,FnrPos,FnrLang)).
- LEAVE.
- END.
- PUT VESRZahl.Tr_Art FORMAT "999" AT 001
- LVKnr FORMAT "999999" AT 005.
- IF AVAILABLE Adresse THEN
- PUT Adresse.Anzeig_br FORMAT "x(35)" AT 014.
- ELSE
- PUT '????????????????????' FORMAT "x(35)" AT 014.
- PUT LVFaknr FORMAT "9999999" AT 051
- VBuDat FORMAT "99.99.9999" AT 059
- VESRZahl.Betrag FORMAT "zzz,zz9.99-" AT 070.
- PUT VESRZahl.Aufg_Ref FORMAT "x(10)" AT 083
- VESRZahl.Aufg_Dat FORMAT "99.99.9999" AT 096
- VESRZahl.Mi_Fi_Nr FORMAT "x(09)" AT 108 SKIP.
- VTot[01] = VTot[01] + VESRZahl.Betrag.
- VTot[02] = VTot[02] + VESRZahl.Taxen_02.
- VTot[03] = VTot[03] + 1.
-
- IF NOT AVAILABLE Adresse THEN
- DO:
- FIND Debop USE-INDEX Debop-k2
- WHERE Debop.Firma = GVFirma
- AND Debop.Faknr = LVFaknr NO-LOCK NO-ERROR.
- IF AVAILABLE Debop THEN LVKnr = Debop.Knr.
- END.
- FIND FIRST Zahlung USE-INDEX Zahlung-k2
- WHERE Zahlung.Firma = LVFirma
- AND Zahlung.Knr = LVKnr
- AND Zahlung.Zahl_Art = 99
- AND Zahlung.Faknr = STRING(LVFaknr,"9999999")
- AND Zahlung.Konto_S = VKonto
- AND Zahlung.Datum_1 = VBuDat
- AND NOT Zahlung.Verbucht NO-ERROR.
- IF NOT AVAILABLE Zahlung THEN
- DO:
- FIND LAST Zahlung USE-INDEX Zahlung-k1
- WHERE Zahlung.Firma = LVFirma NO-LOCK NO-ERROR.
- IF AVAILABLE Zahlung THEN i5 = Zahlung.Trnr + 1.
- ELSE i5 = 1.
- CREATE Zahlung.
- ASSIGN
- Zahlung.Firma = LVFirma
- Zahlung.Trnr = i5
- Zahlung.Knr = LVKnr
- Zahlung.Zahl_Art = 99
- Zahlung.Faknr = STRING(LVFaknr,"9999999")
- Zahlung.Konto_S = VKonto
- Zahlung.Datum_1 = VBuDat
- Zahlung.Verbucht = FALSE.
- END.
- Zahlung.Betrag = Zahlung.Betrag + VESRZahl.Betrag.
- LEAVE.
- END.
- DO WHILE VESRZahl.Tr_Art >= 900:
- PUT CONTROL Drufettb.
- PUT TRIM(SUBSTRING(Helptext[16],01,35))
- FORMAT "x(35)" AT 014
- VTot[03] FORMAT "zzz,zz9" AT 055
- VTot[01] FORMAT "zzz,zz9.99-" AT 070.
- PUT CONTROL Drufette.
- PUT "" SKIP(1).
- PUT CONTROL Drufettb.
- VTot[04] = VESRZahl.Betrag.
- VTot[05] = INTEGER(VESRZahl.Aufg_Ref).
- PUT TRIM(SUBSTRING(Helptext[16],36,35))
- FORMAT "x(35)" AT 014
- VTot[05] FORMAT "zzz,zz9" AT 055
- VTot[04] FORMAT "zzz,zz9.99-" AT 070
- VESRZahl.Taxen_01 FORMAT "z,zz9.99-" AT 082
- VESRZahl.Taxen_02 FORMAT "z,zz9.99-" AT 092.
- PUT CONTROL Drufette.
- PUT "" SKIP.
-
- VTot[06] = VTot[06] + VTot[03].
- VTot[07] = VTot[07] + VTot[01].
- VTot[08] = VTot[08] + VTot[05].
- VTot[09] = VTot[09] + VTot[04].
-
- VTot[01] = 0.
- VTot[02] = 0.
- VTot[03] = 0.
- VTot[04] = 0.
- VTot[05] = 0.
-
- VAnzDat = VAnzDat + 1.
-
- TiDruck = TRUE.
- LEAVE.
- END.
- END. /* FIND NEXT */
- IF VAnzDat > 1 THEN
- DO:
- PUT "" SKIP(1).
- PUT CONTROL Drufettb.
- PUT TRIM(SUBSTRING(Helptext[17],01,35))
- FORMAT "x(35)" AT 014
- VTot[06] FORMAT "zzz,zz9" AT 055
- VTot[07] FORMAT "zzz,zz9.99-" AT 070.
- PUT CONTROL Drufette.
- PUT "" SKIP(1).
- PUT CONTROL Drufettb.
- PUT TRIM(SUBSTRING(Helptext[17],36,35))
- FORMAT "x(35)" AT 014
- VTot[08] FORMAT "zzz,zz9" AT 055
- VTot[09] FORMAT "zzz,zz9.99-" AT 070.
- PUT CONTROL Drufette.
- PUT "" SKIP.
- END.
- END. /* KOPIEN */
- END. /* PRESELECT */
-
- Linkcd = 0.
- IF DOpen = TRUE THEN
- DO:
- OUTPUT CLOSE.
- IF lPDF THEN RUN datei2viper.p ( cDrucker ).
- END.
- ELSE
- DO:
- RUN "v8/d-liste.w" ( INPUT Helptext[02] ).
- END.
- IF VTot[06] = VTot[08] AND
- VTot[07] = VTot[09] THEN
- DO:
- Linkcd = 7.
- END.
- Helptext[02] = XHelpTx.
- END. /* Linkcd = 8 */
- DO WHILE Linkcd = 7:
- RUN VERARBEITEN.
-
- IF DOpen = TRUE THEN
- DO:
- OUTPUT CLOSE.
- IF lPDF THEN RUN datei2viper.p ( cDrucker ).
- END.
- ELSE
- DO:
- RUN "v8/d-liste.w" ( INPUT Helptext[02] ).
- END.
- LEAVE.
- END.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE FILESUCHEN B-table-Win
- PROCEDURE FILESUCHEN :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE INPUT-OUTPUT PARAMETER ipDateiName AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cDatei AS CHARACTER NO-UNDO.
- cDatei = ipDateiName.
- ipDateiName = ''.
- ja = FALSE.
- SYSTEM-DIALOG GET-FILE cDatei
- MUST-EXIST
- TITLE 'BESR-Dateiname ? '
- USE-FILENAME
- UPDATE Ja.
- IF Ja THEN ipDateiName = cDatei.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE INTERFACE B-table-Win
- PROCEDURE INTERFACE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- FOR EACH WFile WHERE WFile.Betrag <> 0
- BY WFile.Kto1:
- FIND LAST Interf USE-INDEX Interf-k1
- WHERE Interf.Firma = BSteuer.FBFirma
- AND Interf.TrNr1 = VTrNr1
- AND Interf.TrNr2 = VTrNr2 NO-LOCK NO-ERROR.
- IF AVAILABLE Interf THEN ix = Interf.Trnr + 1.
- ELSE ix = 1.
- CREATE Interf.
- ASSIGN
- Interf.Firma = BSteuer.FBFirma
- Interf.TrNr1 = VTrNr1
- Interf.TrNr2 = VTrNr2
- Interf.TrNr = ix
- Interf.Kto1 = WFile.Kto1
- Interf.Kto2 = WFile.Kto2
- Interf.Herk = TransNr.Herk
- Interf.Datum = BDebza.ZahDat
- Interf.Buchtxt1 = VBuchtxt1
- Interf.Buchtxt2 = VBuchtxt2
- Interf.Betrag = WFile.Betrag
- Interf.Betrag_Frw = WFile.Betrag
- Interf.FRW = BDebop.FRW
- Interf.Faktor = BDebop.Faktor
- Interf.Kurs = BDebop.Kurs
- Interf.Verbucht = FALSE
- Interf.Faknr = STRING(BDebop.Faknr,"9999999")
- Interf.Knr = BDebop.Knr
- Interf.MWST_Nr = ""
- Interf.MWST_Cd = WFile.MWST_Cd
- Interf.HKFirma = BDebop.Firma.
- DELETE WFile.
- END.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LIBILD B-table-Win
- PROCEDURE LIBILD :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- { v8/libild.i }
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LISTTIT1 B-table-Win
- PROCEDURE LISTTIT1 :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- { v8/listtit1.i }
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LISTTIT2 B-table-Win
- PROCEDURE LISTTIT2 :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- { v8/listtit2.i }
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-display-fields B-table-Win
- PROCEDURE local-display-fields :
- /*------------------------------------------------------------------------------
- Purpose: Override standard ADM method
- Notes:
- ------------------------------------------------------------------------------*/
- RUN dispatch IN THIS-PROCEDURE ( INPUT 'display-fields':U ) .
- DISPLAY {&List-1} WITH FRAME {&FRAME-NAME}.
- IF ARecid > -1 THEN
- DO:
- FIND Listen WHERE RECID(Listen) = ARecid NO-LOCK.
- DISPLAY {&List-2} WITH FRAME {&FRAME-NAME}.
- END.
- ENABLE {&List-2} WITH FRAME {&FRAME-NAME}.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-hide B-table-Win
- PROCEDURE local-hide :
- /*------------------------------------------------------------------------------
- Purpose: Override standard ADM method
- Notes:
- ------------------------------------------------------------------------------*/
- DO TRANSACTION:
- FIND Listen WHERE RECID(Listen) = ARecid.
- Listen.Listfl = ''.
- END.
- RUN dispatch IN THIS-PROCEDURE ( INPUT 'hide':U ) .
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-initialize B-table-Win
- PROCEDURE local-initialize :
- /*------------------------------------------------------------------------------
- Purpose: Override standard ADM method
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE BUFFER BListen FOR Listen.
-
- DEFINE VARIABLE VListnr LIKE Listen.Listnr.
- F_USER = DYNAMIC-FUNCTION('getDBUser':U) NO-ERROR.
- QOpen = FALSE.
- FInit = TRUE.
- RUN dispatch IN THIS-PROCEDURE ( INPUT 'initialize':U ) .
- VProgname = TRIM(F_USER) + '!' + TRIM(F_Programm).
- FIND FIRST Listen USE-INDEX Listen-k1
- WHERE Listen.Firma = GVFirma
- AND Listen.Progname = VProgname
- AND Listen.Listfl = '' NO-LOCK NO-ERROR.
-
- DO TRANSACTION:
- IF NOT AVAILABLE Listen THEN
- DO:
- FIND LAST BListen USE-INDEX Listen-k1
- WHERE BListen.Firma = GVFirma NO-LOCK NO-ERROR.
- IF AVAILABLE BListen THEN VListnr = BListen.Listnr + 1.
- ELSE VListnr = 1.
- CREATE Listen.
- ASSIGN
- Listen.Firma = GVFirma
- Listen.Listnr = VListnr
- Listen.Progname = VProgname
- Listen.Listfl = ''
- Listen.Jahr = GVJahr
- Listen.Sprcd = GVSprcd
- Listen.Sort = 1
- Listen.ProgWahl = 1.
- END.
- ARecid = RECID(Listen).
- FIND LiDruck USE-INDEX LiDruck-k1
- WHERE LiDruck.Firma = GVFirma
- AND LiDruck.Listnr = Listen.Listnr
- AND LiDruck.ProgWahl = Listen.ProgWahl NO-LOCK NO-ERROR.
- IF NOT AVAILABLE LiDruck THEN
- DO:
- CREATE LiDruck.
- ASSIGN
- LiDruck.Firma = GVFirma
- LiDruck.Listnr = Listen.Listnr
- LiDruck.ProgWahl = Listen.ProgWahl
- LiDruck.Listprog = TRIM(F_Programm) + STRING(Listen.ProgWahl,'99')
- LiDruck.ListCopy = 1
- LiDruck.Schacht = 0
- LiDruck.Listlq = FALSE.
- END.
- BRecid = RECID(LiDruck).
- FIND Listen WHERE RECID(Listen) = ARecid.
- Listen.Listfl = 'A'.
-
- SperrDat = DYNAMIC-FUNCTION('getSperrDatum':U) NO-ERROR.
- Listen.VDa[01] = SperrDat + 1.
- RELEASE Listen.
- RELEASE LiDruck.
-
- END. /* TRANSACTION */
-
- FIND Listen WHERE RECID(Listen) = ARecid NO-LOCK.
- FIND LiDruck WHERE RECID(LiDruck) = BRecid NO-LOCK.
-
- FOpen = TRUE.
- ASchname = LiDruck.ListDru.
- ASchbild = LiDruck.ListBild.
- RUN dispatch IN THIS-PROCEDURE ('open-query':U).
- FIND FIRST XSchrift WHERE XSchrift.Schname = ASchname NO-LOCK NO-ERROR.
- IF AVAILABLE XSchrift THEN
- DO:
- REPOSITION Br_Druckername TO RECID RECID(XSchrift) NO-ERROR.
- Br_Druckername:SELECT-FOCUSED-ROW() IN FRAME {&FRAME-NAME}.
- Br_Druckername:FETCH-SELECTED-ROW(1) IN FRAME {&FRAME-NAME}.
- END.
- ELSE
- DO:
- Br_Druckername:FETCH-SELECTED-ROW(1) IN FRAME {&FRAME-NAME}.
- END.
- APPLY 'VALUE-CHANGED' TO BROWSE Br_Druckername.
-
- RUN LIBILD.
- F_Zeichen = Breite.
- F_Sort = Listen.Sort.
- F_TZZ = LiDruck.Listtzz.
- F_KZZ = LiDruck.Listkzz.
- F_FZZ = LiDruck.Listfzz.
- F_LQ = LiDruck.Listlq.
- F_KOPIE = LiDruck.ListCopy.
- F_SCHACHT = LiDruck.Schacht.
- OBreite = Breite.
-
- RUN dispatch IN THIS-PROCEDURE ('display-fields':U).
-
- Helptext = ''.
- FOR EACH LiBild WHERE LiBild.Sprcd = GVSprcd
- AND LiBild.Prog = 'ZAHLUNG' NO-LOCK:
- Helptext[LiBild.Tenr] = LiBild.Litext.
- END.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-open-query B-table-Win
- PROCEDURE local-open-query :
- /*------------------------------------------------------------------------------
- Purpose: Override standard ADM method
- Notes:
- ------------------------------------------------------------------------------*/
- IF FOpen = FALSE THEN RETURN NO-APPLY.
-
- IF QOpen = TRUE THEN
- DO:
- CLOSE QUERY Br_Druckername.
- CLOSE QUERY Br_Schriftbild.
- END.
- QOpen = FALSE.
- FOR EACH XSchrift:
- DELETE XSchrift.
- END.
-
- AltSchname = ''.
- FOR EACH Schrift NO-LOCK:
- IF Schrift.Schname = AltSchname THEN NEXT.
- CREATE XSchrift.
- BUFFER-COPY Schrift TO XSchrift.
- AltSchname = Schrift.Schname.
- END.
-
- OPEN QUERY Br_Druckername
- FOR EACH XSchrift NO-LOCK.
- QOpen = TRUE.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-row-changed B-table-Win
- PROCEDURE local-row-changed :
- /*------------------------------------------------------------------------------
- Purpose: Override standard ADM method
- Notes:
- ------------------------------------------------------------------------------*/
- RUN dispatch IN THIS-PROCEDURE ( INPUT 'row-changed':U ) .
-
- OPEN QUERY Br_Schriftbild
- FOR EACH Schrift WHERE Schrift.Schname = XSchrift.Schname NO-LOCK.
- IF AVAILABLE LiDruck THEN
- DO:
- FIND BSchrift WHERE BSchrift.Schname = LiDruck.ListDru
- AND BSchrift.Schbild = LiDruck.ListBild NO-LOCK NO-ERROR.
- IF AVAILABLE BSchrift THEN
- DO:
- REPOSITION Br_Schriftbild TO RECID RECID(BSchrift) NO-ERROR.
- END.
- END.
- APPLY 'VALUE-CHANGED' TO BROWSE Br_Schriftbild.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE local-view B-table-Win
- PROCEDURE local-view :
- /*------------------------------------------------------------------------------
- Purpose: Override standard ADM method
- Notes:
- ------------------------------------------------------------------------------*/
- RUN dispatch IN THIS-PROCEDURE ( INPUT 'view':U ) .
- IF ARecid < 0 THEN RETURN.
-
- DO TRANSACTION:
- FIND Listen WHERE RECID(Listen) = ARecid.
- ASSIGN
- Listen.VNr[01] = XVAufnr
- Listen.BNr[01] = XVAufnr.
- RELEASE Listen.
- END.
- FIND Listen WHERE RECID(Listen) = ARecid NO-LOCK.
- RUN dispatch IN THIS-PROCEDURE ('display-fields':U).
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE MEHRWERTSTEUER B-table-Win
- PROCEDURE MEHRWERTSTEUER :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- XTot = 0.
- VZah = 0.
- VSko = 0.
- VMax = 0.
- VZRes = VZaBetr.
- VSRes = VSkBetr.
- VAntZ = VZaBetr * 100 / BDebop.FakBetr.
- VAntS = VSkBetr * 100 / BDebop.FakBetr.
- DO zz = 1 TO 11:
- XTot[zz] = BDebop.FakWpfl[zz] + BDebop.FakWust[zz].
- IF BDebop.FakWpfl[zz] <> 0 THEN VMax = zz.
- END.
- DO zz = 1 TO 11:
- IF XTot[zz] = 0 THEN NEXT.
- IF zz = VMax THEN
- DO:
- VZah[zz] = VZRes.
- VSko[zz] = VSRes.
- LEAVE.
- END.
- Rundbetr = XTot[zz] * VAntZ / 100.
- Rundcode = 1.
- RUN "v8/runden.p".
- VZah[zz] = Rundbetr.
- VZRes = VZRes - Rundbetr.
- Rundbetr = XTot[zz] * VAntS / 100.
- Rundcode = 1.
- RUN "v8/runden.p".
- VSko[zz] = Rundbetr.
- VSRes = VSRes - Rundbetr.
- END.
- DO zz = 1 TO 11:
- IF XTot[zz] = 0 THEN NEXT.
- Rundbetr = 0.
- IF NOT BDebop.FakIncl[zz] THEN
- DO:
- Rundbetr = VZah[zz] * BDebop.Fakwpro[zz]
- / (100 + BDebop.Fakwpro[zz]).
- Rundcode = 1.
- RUN "v8/runden.p".
- END.
- ASSIGN
- BDebza.ZahWpfl[zz] = VZah[zz] - Rundbetr
- BDebza.ZahWust[zz] = Rundbetr
- BDebza.ZahSkon[zz] = VSko[zz]
- BDebop.ZahWpfl[zz] = BDebop.ZahWpfl[zz] + BDebza.ZahWpfl[zz]
- BDebop.ZahWust[zz] = BDebop.ZahWust[zz] + BDebza.ZahWust[zz]
- BDebop.ZahSkon[zz] = BDebop.ZahSkon[zz] + BDebza.ZahSkon[zz].
- END.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE send-records B-table-Win _ADM-SEND-RECORDS
- PROCEDURE send-records :
- /*------------------------------------------------------------------------------
- Purpose: Send record ROWID's for all tables used by
- this file.
- Parameters: see template/snd-head.i
- ------------------------------------------------------------------------------*/
- /* Define variables needed by this internal procedure. */
- {src/adm/template/snd-head.i}
- /* For each requested table, put it's ROWID in the output list. */
- {src/adm/template/snd-list.i "Schrift"}
- {src/adm/template/snd-list.i "XSchrift"}
- /* Deal with any unexpected table requests before closing. */
- {src/adm/template/snd-end.i}
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE state-changed B-table-Win
- PROCEDURE state-changed :
- /* -----------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- -------------------------------------------------------------*/
- DEFINE INPUT PARAMETER p-issuer-hdl AS HANDLE NO-UNDO.
- DEFINE INPUT PARAMETER p-state AS CHARACTER NO-UNDO.
- CASE p-state:
- /* Object instance CASEs can go here to replace standard behavior
- or add new cases. */
- {src/adm/template/bstates.i}
- END CASE.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE VERARBEITEN B-table-Win
- PROCEDURE VERARBEITEN :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE BUFFER XSteuNr FOR SteuNr.
- /* -------------------------------------------------------------------------- */
- Helptext[03] = Helptext[12].
- Helptext[04] = Helptext[13].
- Helptext[05] = Helptext[14].
- Helptext[02] = Helptext[15].
- TitTxt = "".
- RUN LISTTIT1.
-
- { v8/opendruck.i }
- VTot = 0.
- AFirma = "".
- FOR EACH Zahlung USE-INDEX Zahlung-k2
- WHERE Zahlung.Zahl_Art = 99
- AND Zahlung.Verbucht = FALSE TRANSACTION:
- IF Zahlung.Betrag = 0 THEN
- DO:
- DELETE Zahlung.
- NEXT.
- END.
- IF AFirma = "" THEN AFirma = Zahlung.Firma.
- IF Zahlung.Firma <> AFirma THEN
- DO:
- PUT "" SKIP.
- PUT CONTROL Drufettb.
- PUT TRIM(SUBSTRING(Helptext[18],01,35))
- FORMAT "x(35)" AT 014
- VTot[01] FORMAT "zzz,zz9.99-" AT 076
- VTot[02] FORMAT "zzz,zz9.99-" AT 087.
- PUT CONTROL Drufette.
- PUT "" SKIP(1).
- IF VTot[06] <> 0 THEN
- DO:
- PUT CONTROL Drufettb.
- PUT TRIM(SUBSTRING(Helptext[18],36,35))
- FORMAT "x(35)" AT 014
- VTot[06] FORMAT "zzz,zz9.99-" AT 076
- VTot[07] FORMAT "zzz,zz9.99-" AT 087.
- PUT CONTROL Drufette.
- PUT "" SKIP(1).
- END.
- VTot[01] = 0.
- VTot[02] = 0.
- VTot[06] = 0.
- VTot[07] = 0.
- AFirma = Zahlung.Firma.
- Zuszz = 5.
- END.
- RUN LISTTIT2.
- VFirma = Zahlung.Firma.
- LVFirma = Zahlung.Firma.
- FIND XSteuNr WHERE XSteuNr.Firma = VFirma NO-LOCK NO-ERROR.
- FIND CSteuer WHERE CSteuer.Firma = VFirma NO-LOCK NO-ERROR.
- LVKnr = Zahlung.Knr.
- VFaknr = INTEGER(Zahlung.Faknr).
- LVFaknr = INTEGER(Zahlung.Faknr).
- LVDat = Zahlung.Datum_1.
- VDebst = TRUE.
- IF AVAILABLE CSteuer THEN AdFirma = CSteuer.AdFirma.
- ELSE AdFirma = FILL("!", 04).
- IF AVAILABLE XSteuNr THEN
- DO:
- VSK_Tol_Max = XSteuNr.Sk_Tol_Max.
- VSK_Tol_% = XSteuNr.Sk_Tol_%.
- END.
- ELSE
- DO:
- VSK_Tol_Max = 0.
- VSK_Tol_% = 0.
- END.
- FIND Debst USE-INDEX Debst-k1
- WHERE Debst.Firma = LVFirma
- AND Debst.Knr = LVKnr NO-LOCK NO-ERROR.
- IF NOT AVAILABLE Debst THEN VDebst = FALSE.
- FIND Adresse USE-INDEX Adresse-k1
- WHERE Adresse.Firma = AdFirma
- AND Adresse.Knr = LVKnr NO-LOCK NO-ERROR.
- IF NOT AVAILABLE Adresse THEN
- DO:
- VName = FILL("?", 20).
- VOrt = FILL("?", 20).
- VDebst = FALSE.
- END.
- ELSE
- DO:
- VName = Adresse.Anzeig_br.
- END.
- PUT VFirma FORMAT "x(06)" AT 001
- LVKnr FORMAT "999999" AT 008
- VName FORMAT "x(39)" AT 016
- VFaknr FORMAT "9999999" AT 057
- Zahlung.Datum_1 FORMAT VDatForm AT 065
- Zahlung.Betrag FORMAT "zzz,zz9.99-" AT 076.
- IF NOT VDebst THEN
- DO:
- { v8/femeld.i "0430" }
- PUT Fetext FORMAT "x(28)" AT 111 SKIP.
- VTot[06] = VTot[06] + Zahlung.Betrag.
- VTot[07] = VTot[07] + Zahlung.Skonto.
- VTot[08] = VTot[08] + Zahlung.Betrag.
- VTot[09] = VTot[09] + Zahlung.Skonto.
- DELETE Zahlung.
- NEXT.
- END.
- FIND Debop WHERE Debop.Firma = VFirma
- AND Debop.Knr = LVKnr
- AND Debop.Faknr = VFaknr NO-LOCK NO-ERROR.
- IF NOT AVAILABLE Debop THEN
- DO:
- { v8/femeld.i "0431" }
- PUT Fetext FORMAT "x(28)" AT 111 SKIP.
- VTot[06] = VTot[06] + Zahlung.Betrag.
- VTot[07] = VTot[07] + Zahlung.Skonto.
- VTot[08] = VTot[08] + Zahlung.Betrag.
- VTot[09] = VTot[09] + Zahlung.Skonto.
- DELETE Zahlung.
- NEXT.
- END.
- XFakBetr = Debop.FakBetr.
- XSaldo = Debop.Saldo.
- XFakDat = Debop.FakDat.
- XKond = Debop.Kond.
- XSkBer = Debop.SkBer.
- XSkonto = Debop.Skonto.
- IF XFakBetr > 0 AND Zahlung.Betrag > XSaldo THEN
- DO:
- { v8/femeld.i "0432" }
- PUT Fetext FORMAT "x(28)" AT 111 SKIP.
- VTot[06] = VTot[06] + Zahlung.Betrag.
- VTot[07] = VTot[07] + Zahlung.Skonto.
- VTot[08] = VTot[08] + Zahlung.Betrag.
- VTot[09] = VTot[09] + Zahlung.Skonto.
- DELETE Zahlung.
- NEXT.
- END.
- IF XFakBetr < 0 AND Zahlung.Betrag < XSaldo THEN
- DO:
- { v8/femeld.i "0433" }
- PUT Fetext FORMAT "x(28)" AT 111 SKIP.
- VTot[06] = VTot[06] + Zahlung.Betrag.
- VTot[07] = VTot[07] + Zahlung.Skonto.
- VTot[08] = VTot[08] + Zahlung.Betrag.
- VTot[09] = VTot[09] + Zahlung.Skonto.
- DELETE Zahlung.
- NEXT.
- END.
- VSkonto = 0.
- Rundbetr = XFakBetr * VSk_Tol_% / 100.
- RundCode = 1.
- RUN "v8/runden.p".
- VTol = Rundbetr.
- IF VTol > VSk_Tol_Max THEN VTol = XSteuNr.Sk_Tol_Max.
- DO WHILE XSaldo <> Zahlung.Betrag:
- IF XFakBetr > 0 AND Zahlung.Betrag > XSaldo THEN LEAVE.
- IF XFakBetr < 0 AND Zahlung.Betrag < XSaldo THEN LEAVE.
- FIND Kondi WHERE Kondi.Kond = XKond
- AND Kondi.Sprcd = GVSprcd NO-LOCK.
- IF (XFakDat + Kondi.Tage[02] + VTage >= LVDat) THEN
- DO:
- Rundbetr = XFakBetr * Kondi.Skonto[02] / 100.
- Rundcode = 1.
- RUN "v8/runden.p".
- VSkonto = Rundbetr - XSkonto.
- END.
- IF (XFakDat + Kondi.Tage[01] + VTage >= LVDat) THEN
- DO:
- Rundbetr = XFakBetr * Kondi.Skonto[01] / 100.
- Rundcode = 1.
- RUN "v8/runden.p".
- VSkonto = Rundbetr - XSkonto.
- END.
- IF XFakBetr > 0 AND
- (XSaldo - Zahlung.Betrag - VSkonto) < 0 THEN
- DO:
- VSkonto = XSaldo - Zahlung.Betrag.
- END.
- IF XFakBetr < 0 AND
- (XSaldo - Zahlung.Betrag - VSkonto) > 0 THEN
- DO:
- VSkonto = XSaldo - Zahlung.Betrag.
- END.
- VBetrag = XSaldo - Zahlung.Betrag - VSkonto.
- IF VBetrag = 0 THEN LEAVE.
- IF VBetrag < 0 THEN VBetrag = - VBetrag.
- IF VBetrag <= VTol THEN VSkonto = XSaldo - Zahlung.Betrag.
- LEAVE.
- END.
- Zahlung.Skonto = VSkonto.
- PUT Zahlung.Skonto FORMAT "zzz,zz9.99-" AT 087
- Zahlung.Konto_S FORMAT "x(12)" AT 099.
- IF (XSaldo - Zahlung.Betrag - Zahlung.Skonto) <> 0 THEN
- PUT "*** " FORMAT "x(20)" AT 111 SKIP.
- ELSE PUT " " FORMAT "x(20)" AT 111 SKIP.
- VTot[01] = VTot[01] + Zahlung.Betrag.
- VTot[02] = VTot[02] + Zahlung.Skonto.
- VTot[03] = VTot[03] + Zahlung.Betrag.
- VTot[04] = VTot[04] + Zahlung.Skonto.
- END.
- PUT "" SKIP.
- PUT CONTROL Drufettb.
- PUT TRIM(SUBSTRING(Helptext[18],01,35))
- FORMAT "x(35)" AT 014
- VTot[01] FORMAT "zzz,zz9.99-" AT 076
- VTot[02] FORMAT "zzz,zz9.99-" AT 087.
- PUT CONTROL Drufette.
- PUT "" SKIP(1).
- IF VTot[06] <> 0 THEN
- DO:
- PUT CONTROL Drufettb.
- PUT TRIM(SUBSTRING(Helptext[18],36,35))
- FORMAT "x(35)" AT 014
- VTot[06] FORMAT "zzz,zz9.99-" AT 076
- VTot[07] FORMAT "zzz,zz9.99-" AT 087.
- PUT CONTROL Drufette.
- PUT "" SKIP(1).
- END.
- IF VTot[06] = VTot[08] THEN
- DO:
- FVerbuchen = TRUE.
- LEAVE.
- END.
- PUT CONTROL Drufettb.
- PUT TRIM(SUBSTRING(Helptext[19],01,35))
- FORMAT "x(35)" AT 014
- VTot[03] FORMAT "zzz,zz9.99-" AT 076
- VTot[04] FORMAT "zzz,zz9.99-" AT 087.
- PUT CONTROL Drufette.
- PUT "" SKIP(1).
-
- IF VTot[08] <> 0 THEN
- DO:
- PUT CONTROL Drufettb.
- PUT TRIM(SUBSTRING(Helptext[19],36,35))
- FORMAT "x(35)" AT 014
- VTot[08] FORMAT "zzz,zz9.99-" AT 076
- VTot[09] FORMAT "zzz,zz9.99-" AT 087.
- PUT CONTROL Drufette.
- PUT "" SKIP(1).
- END.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE VERBUCHEN B-table-Win
- PROCEDURE VERBUCHEN :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- F_Bemerk = 'Zahlungen werden verbucht ...'.
- DISPLAY F_Bemerk WITH FRAME {&FRAME-NAME}.
-
- DEFINE VARIABLE VKnr AS INTEGER.
- DEFINE VARIABLE VFaknr AS INTEGER.
-
- Helptext = ''.
- i5 = 0.
- FOR EACH LiBild USE-INDEX LiBild-k1
- WHERE LiBild.Sprcd = GVSprcd
- AND LiBild.Prog = 'ZAHLUNG' NO-LOCK:
- i5 = i5 + 1.
- Helptext[i5] = LiBild.Litext.
- END.
-
- VAnzahl = 0.
-
- FOR EACH Zahlung USE-INDEX Zahlung-k1
- WHERE Zahlung.Firma = GVFirma
- AND Zahlung.Zahl_Art = 99
- AND Zahlung.Verbucht = FALSE TRANSACTION:
- VAnzahl = VAnzahl + 1.
- S_Anzahl:SCREEN-VALUE IN FRAME {&FRAME-NAME} = STRING(VAnzahl).
-
- VZaBetr = Zahlung.Betrag.
- VSkBetr = Zahlung.Skonto.
- VBankKto = Zahlung.Konto_S.
- VHerk = 63.
- DVKnr = Zahlung.Knr.
- DVFaknr = INTEGER(Zahlung.Faknr).
- XDatum = Zahlung.Datum_1.
- /*
- CASE nDatum:
- WHEN 0 THEN XDatum = Zahlung.Datum_1.
- WHEN 1 THEN XDatum = Zahlung.Datum_2.
- WHEN 2 THEN XDatum = Zahlung.Datum_3.
- END CASE.
- */
- FIND Debop USE-INDEX Debop-k1
- WHERE Debop.Firma = Zahlung.Firma
- AND Debop.Knr = DVKnr
- AND Debop.Faknr = DVFaknr NO-LOCK.
-
- FIND BDebop USE-INDEX Debop-k1
- WHERE BDebop.Firma = Debop.Firma
- AND BDebop.Knr = Debop.Knr
- AND BDebop.Faknr = Debop.Faknr.
- FIND BDebst USE-INDEX Debst-k1
- WHERE BDebst.Firma = Debop.Firma
- AND BDebst.Knr = Debop.Knr.
- FIND Adresse USE-INDEX Adresse-k1
- WHERE Adresse.Firma = AdFirma
- AND Adresse.Knr = Debop.Knr NO-LOCK.
- FIND Steuer WHERE Steuer.Firma = GVFirma NO-LOCK.
- FIND SteuNr WHERE SteuNr.Firma = GVFirma NO-LOCK.
- IF XDatum > BDebop.Faellig THEN VZahFl = FALSE.
- ELSE VZahFl = TRUE.
- IF VZahFl THEN VKte = TRIM(SUBSTRING(Helptext[02],21,04)).
- ELSE VKte = TRIM(SUBSTRING(Helptext[02],31,04)).
-
- IF VSkoKto = '' THEN
- DO:
- VSkoKto = SteuNr.Konto_Skonto.
- IF VSkoKto = '' THEN
- DO:
- FIND Waehrung NO-LOCK USE-INDEX Waehrung-k1
- WHERE Waehrung.Firma = GVFirma
- AND Waehrung.FRW = Steuer.Fwc03 NO-ERROR.
- IF AVAILABLE Waehrung THEN VSkoKto = Waehrung.DebSammKto.
- END.
- END.
- VDebKto = BDebop.Konto.
-
- FIND LAST TransNr USE-INDEX TransNr-k1
- WHERE TransNr.Firma = StFirma
- AND TransNr.TrNr1 = BDebop.TrNr1 NO-LOCK NO-ERROR.
- VTrNr1 = TransNr.TrNr1.
- VTrNr2 = TransNr.TrNr2 + 1.
- CREATE TransNr.
- ASSIGN
- TransNr.Firma = StFirma
- TransNr.TrNr1 = VTrNr1
- TransNr.TrNr2 = VTrNr2
- TransNr.Herk = VHerk.
- VBuchtxt1 = Adresse.Anzeig_Br.
- VBuchtxt2 = Helptext[01]
- + " "
- + STRING(BDebop.Faknr,"9999999").
- FOR EACH WFile:
- DELETE WFile.
- END.
- /* ---- Zahlung verarbeiten (Normal) --------------------------------------- */
- DO WHILE VZaBetr <> 0 OR VSkBetr <> 0:
- FIND LAST BDebza USE-INDEX Debza-k1
- WHERE BDebza.Firma = GVFirma
- AND BDebza.Knr = DVKnr
- AND BDebza.Faknr = DVFaknr NO-LOCK NO-ERROR.
- IF AVAILABLE BDebza THEN VTrnr = BDebza.Trnr + 1.
- ELSE VTrnr = 1.
- CREATE BDebza.
- ASSIGN
- BDebza.Firma = GVFirma
- BDebza.Knr = DVKnr
- BDebza.Faknr = DVFaknr
- BDebza.Trnr = VTrnr
- BDebza.Zahdat = XDatum
- BDebza.Zahbetr = VZaBetr
- BDebza.Skonto = VSkBetr
- BDebza.Konto = VBankKto
- BDebza.TrNr1 = VTrNr1
- BDebza.TrNr2 = VTrNr2
- BDebza.FRW = BDebop.Frw
- BDebza.Kurs = BDebop.Kurs
- BDebza.Faktor = BDebop.Faktor
- BDebza.Kte = VKte.
- RUN MEHRWERTSTEUER. /* MWSTBERECHNUNG */
- BDebop.Saldo = BDebop.Saldo - VZaBetr - VSkBetr.
- BDebop.Skonto = BDebop.Skonto + VSkBetr.
- BDebop.Zahbetr = BDebop.Zahbetr + VZaBetr.
- BDebop.Zahdat = XDatum.
- BDebst.Saldo = BDebst.Saldo - VZaBetr - VSkBetr.
- FIND LAST Debhi USE-INDEX Debhi-k1
- WHERE Debhi.Firma = GVFirma
- AND Debhi.Knr = DVKnr NO-LOCK NO-ERROR.
- IF AVAILABLE Debhi THEN VTrnr = Debhi.Trnr + 1.
- ELSE VTrnr = 1.
- CREATE Debhi.
- ASSIGN
- Debhi.Firma = BDebza.Firma
- Debhi.Knr = BDebza.Knr
- Debhi.Trnr = VTrnr
- Debhi.TrNr1 = VTrNr1
- Debhi.TrNr2 = VTrNr2
- Debhi.Datum = BDebza.Zahdat
- Debhi.Faknr = BDebza.Faknr
- Debhi.Haben = BDebza.Zahbetr
- Debhi.Kte = BDebza.Kte
- Debhi.Konto = BDebza.Konto
- Debhi.Skonto = BDebza.Skonto
- Debhi.Saldo = BDebst.Saldo
- Debhi.FRW = BDebop.Frw
- Debhi.Kurs = BDebop.Kurs
- Debhi.Faktor = BDebop.Faktor.
- IF NOT BDebop.Wustabr THEN
- DO:
- FIND LAST Debwu USE-INDEX Debwu-k1
- WHERE Debwu.Firma = GVFirma
- AND Debwu.Knr = BDebza.Knr
- AND Debwu.Faknr = BDebza.Faknr NO-LOCK NO-ERROR.
- IF AVAILABLE Debwu THEN VTrnr = Debwu.Trnr + 1.
- ELSE VTrnr = 1.
- CREATE Debwu.
- ASSIGN
- Debwu.Firma = BDebza.Firma
- Debwu.Knr = BDebza.Knr
- Debwu.Faknr = BDebza.Faknr
- Debwu.Trnr = VTrnr
- Debwu.TrNr1 = VTrNr1
- Debwu.TrNr2 = VTrNr2
- Debwu.Datum = BDebza.Zahdat
- Debwu.Betrag = BDebza.Zahbetr
- Debwu.Konto = BDebza.Konto
- Debwu.Kte = BDebza.Kte
- Debwu.FRW = BDebop.Frw
- Debwu.Kurs = BDebop.Kurs
- Debwu.Faktor = BDebop.Faktor.
- DO ix = 1 TO 11:
- ASSIGN
- Debwu.Wustpfl[ix] = BDebza.Zahwpfl[ix]
- Debwu.Wust [ix] = BDebza.Zahwust[ix]
- Debwu.Skonto [ix] = BDebza.ZahSkon[ix].
- END.
- END.
- /* ---- Interface fuer Zahlung, Skonto ------------------------------------- */
- FIND FIRST WFile WHERE WFile.Kto1 = BDebza.Konto
- AND WFile.Kto2 = BDebop.Konto NO-ERROR.
- IF NOT AVAILABLE WFile THEN
- DO:
- CREATE WFile.
- ASSIGN
- WFile.Kto1 = BDebza.Konto
- WFile.Kto2 = BDebop.Konto
- WFile.MWST_Cd = 0.
- END.
- ASSIGN
- WFile.Betrag = WFile.Betrag + VZaBetr.
- FIND FIRST WFile WHERE WFile.Kto1 = VSkoKto
- AND WFile.Kto2 = BDebop.Konto NO-ERROR.
- IF NOT AVAILABLE WFile THEN
- DO:
- CREATE WFile.
- ASSIGN
- WFile.Kto1 = VSkoKto
- WFile.Kto2 = BDebop.Konto
- WFile.MWST_Cd = 0.
- END.
- ASSIGN
- WFile.Betrag = WFile.Betrag + VSkBetr.
- /* ---- Interface fuer Mehrwertsteuer (Vereinnahmt und Skonto) ------------- */
- DO ix = 1 TO 10:
- IF BDebza.ZahWpfl[ix] = 0 AND
- BDebza.ZahSkon[ix] = 0 THEN NEXT.
- FIND FIRST Wust USE-INDEX Wust-k2
- WHERE Wust.WuCd = ix NO-LOCK.
- IF NOT BDebop.WustAbr AND
- BDebza.ZahWpfl[ix] <> 0 THEN
- DO:
- IF BDebop.Fakincl[ix] THEN
- DO:
- RundBetr = BDebza.ZahWpfl[ix]
- / (100 + BDebop.FakWPro[ix])
- * BDebop.FakWPro[ix].
- Rundcode = 1.
- RUN "v8/runden.p".
- END.
- ELSE
- DO:
- Rundbetr = BDebza.ZahWust[ix].
- END.
- FIND FIRST WFile WHERE WFile.Kto1 = SteuNr.Konto_Wust_H
- AND WFile.Kto2 = Wust.Konto NO-ERROR.
- IF NOT AVAILABLE WFile THEN
- DO:
- CREATE WFile.
- ASSIGN
- WFile.Kto1 = SteuNr.Konto_Wust_H
- WFile.Kto2 = Wust.Konto
- WFile.MWST_Cd = 0.
- END.
- ASSIGN
- WFile.Betrag = WFile.Betrag + Rundbetr.
- END.
- IF BDebza.ZahSkon[ix] <> 0 THEN
- DO:
- IF NOT BDebop.WustAbr THEN LVKto1 = SteuNr.Konto_Wust_H.
- ELSE LVKto1 = Wust.Konto.
- LVKto2 = VSkoKto.
- RundBetr = BDebza.ZahSkon[ix] * BDebop.FakWPro[ix]
- / (100 + BDebop.FakWPro[ix]).
- Rundcode = 1.
- RUN "v8/runden.p".
- FIND FIRST WFile WHERE WFile.Kto1 = LVKto1
- AND WFile.Kto2 = LVKto2 NO-ERROR.
- IF NOT AVAILABLE WFile THEN
- DO:
- CREATE WFile.
- ASSIGN
- WFile.Kto1 = LVKto1
- WFile.Kto2 = LVKto2
- WFile.MWST_Cd = 0.
- END.
- ASSIGN
- WFile.Betrag = WFile.Betrag + Rundbetr.
- END.
- END.
- RUN INTERFACE.
- DVFaknr = BDebop.Faknr.
- DVKnr = BDebop.Knr.
-
- RUN new-state ('zahlung_verbucht, *':U).
-
- LEAVE.
- END. /* Zahlung Normal */
-
- Zahlung.Verbucht = TRUE.
- END.
- DVKnr = VKnr.
- DVFaknr = VFaknr.
-
- F_Bemerk = 'Zahlungen sind verbucht'.
- DISPLAY F_Bemerk WITH FRAME {&FRAME-NAME}.
-
- FOR EACH Zahlung WHERE Zahlung.Firma = GVFirma
- AND Zahlung.Verbucht = TRUE TRANSACTION:
- DELETE Zahlung.
- END.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
|