c-p_latorre.w 142 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264
  1. &ANALYZE-SUSPEND _VERSION-NUMBER UIB_v8r12 GUI
  2. &ANALYZE-RESUME
  3. /* Connected Databases
  4. anadat PROGRESS
  5. */
  6. &Scoped-define WINDOW-NAME C-Win
  7. /* Temp-Table and Buffer definitions */
  8. DEFINE NEW SHARED TEMP-TABLE XTermOut NO-UNDO LIKE TermOut.
  9. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS C-Win
  10. /*------------------------------------------------------------------------
  11. File:
  12. Description:
  13. Input Parameters:
  14. <none>
  15. Output Parameters:
  16. <none>
  17. Author:
  18. Created:
  19. ------------------------------------------------------------------------*/
  20. /* This .W file was created with the Progress UIB. */
  21. /*----------------------------------------------------------------------*/
  22. /* Create an unnamed pool to store all the widgets created
  23. by this procedure. This is a good default which assures
  24. that this procedure's triggers and internal procedures
  25. will execute in this procedure's storage, and that proper
  26. cleanup will occur on deletion of the procedure. */
  27. CREATE WIDGET-POOL.
  28. /* *************************** Definitions ************************** */
  29. /* Parameters Definitions --- */
  30. /* Local Variable Definitions --- */
  31. DEF VAR FDrucken AS LOG NO-UNDO.
  32. DEF VAR TRecid AS RECID NO-UNDO.
  33. DEF VAR RabText AS CHAR NO-UNDO.
  34. DEF VAR RabWert AS DEC NO-UNDO.
  35. DEF VAR VFak_Betr AS DEC DECIMALS 4 NO-UNDO.
  36. DEF VAR GTWpfl AS DEC EXTENT 12 NO-UNDO.
  37. DEF VAR GTWust AS DEC EXTENT 12 NO-UNDO.
  38. DEF VAR GTFak_Betr AS DEC NO-UNDO.
  39. DEF VAR GTSk_Ber AS DEC NO-UNDO.
  40. DEF VAR SFaknr AS INT NO-UNDO.
  41. DEF VAR FLetzt AS LOG NO-UNDO.
  42. DEF VAR FErste AS LOG NO-UNDO.
  43. DEF VAR VZeile AS CHAR FORMAT "x(180)" NO-UNDO.
  44. DEF VAR RZeile AS CHAR FORMAT "x(180)" NO-UNDO.
  45. DEF VAR LiKopf AS LOG NO-UNDO.
  46. DEF VAR StBreite AS INT NO-UNDO.
  47. DEF VAR VWC AS INT NO-UNDO.
  48. DEF VAR VZTot AS DEC DECIMALS 4 NO-UNDO.
  49. DEF VAR FDatum AS DATE FORMAT "99.99.9999" NO-UNDO.
  50. DEF VAR VFaknr AS INT NO-UNDO.
  51. DEF VAR VesrKnr AS INT NO-UNDO.
  52. DEF VAR VesrFnr AS INT NO-UNDO.
  53. DEF VAR VBesr AS INT NO-UNDO.
  54. DEF VAR VRabText AS CHAR FORMAT "x(20)" NO-UNDO.
  55. DEF VAR VZusText AS CHAR FORMAT "x(20)" NO-UNDO.
  56. DEF VAR VEpzText AS CHAR FORMAT "x(20)" NO-UNDO.
  57. DEF VAR XVersand AS CHAR NO-UNDO.
  58. DEF VAR XAblade AS CHAR NO-UNDO.
  59. DEF VAR XChauffeur AS CHAR NO-UNDO.
  60. DEF VAR XAuf_Text LIKE Aufko.Auf_Text NO-UNDO.
  61. DEF VAR XTelnr LIKE Aufko.Auf_Text NO-UNDO.
  62. DEF VAR VTemp AS CHAR FORMAT "x(100)" NO-UNDO.
  63. DEF VAR FPreis AS LOG NO-UNDO.
  64. DEF VAR FBetrag AS LOG NO-UNDO.
  65. DEF VAR FRabatt AS LOG NO-UNDO.
  66. DEF VAR FUeber AS LOG NO-UNDO.
  67. DEF VAR FSamm AS LOG NO-UNDO.
  68. DEF VAR VTabTexte LIKE TabTexte.Inhalt NO-UNDO.
  69. DEF VAR VDokArt AS CHAR NO-UNDO.
  70. DEF VAR VKopfArt AS CHAR NO-UNDO.
  71. DEF VAR BESRGedr AS LOG NO-UNDO.
  72. DEF VAR BOpen AS LOG NO-UNDO.
  73. DEF VAR BESRName AS CHAR NO-UNDO.
  74. DEF VAR LiefAdr AS CHAR NO-UNDO.
  75. DEF VAR iSprcd AS INT NO-UNDO.
  76. DEF VAR cUSER AS CHAR NO-UNDO.
  77. DEF VAR FormText AS CHAR FORMAT "x(80)" EXTENT 40.
  78. DEF BUFFER BAufko FOR Aufko.
  79. DEF BUFFER XAufko FOR Aufko.
  80. DEF BUFFER BAufze FOR Aufze.
  81. DEF BUFFER BAufGebKo FOR AufGebKo.
  82. DEF BUFFER FDebst FOR Debst.
  83. DEF BUFFER LDebst FOR Debst.
  84. DEF BUFFER BTabel FOR Tabel.
  85. DEF BUFFER TFakart FOR Tabel.
  86. DEF BUFFER TAufsta FOR Tabel.
  87. DEF BUFFER BAdresse FOR Adresse.
  88. DEF BUFFER LAdresse FOR Adresse.
  89. DEF VAR DebInkl AS LOG NO-UNDO.
  90. DEF VAR VWg_Grp AS INT INIT 0 NO-UNDO.
  91. DEF VAR VProd_Grp AS INT INIT 0 NO-UNDO.
  92. DEF VAR VArt_Grp AS INT INIT 0 NO-UNDO.
  93. DEF VAR AArtnr AS INT INIT 0 NO-UNDO.
  94. DEF VAR AInhalt AS INT INIT 0 NO-UNDO.
  95. DEF VAR AJahr AS INT INIT 0 NO-UNDO.
  96. DEF TEMP-TABLE TAufze FIELD Aufnr AS INT
  97. FIELD Sort1 AS CHAR
  98. FIELD Sort2 AS CHAR
  99. FIELD Sort3 AS CHAR
  100. FIELD Artnr AS INT
  101. FIELD Inhalt AS INT
  102. FIELD Jahr AS INT
  103. FIELD Pos AS INT
  104. FIELD Zeile AS RECID
  105. FIELD Preis AS DEC DECIMALS 4
  106. FIELD Aktion AS LOG.
  107. DEF TEMP-TABLE TGebKto FIELD Sort_Cd AS CHAR
  108. FIELD Geb_Cd AS CHAR
  109. FIELD Bez AS CHAR
  110. FIELD Preis AS DEC
  111. FIELD A_Anz AS DEC
  112. FIELD A_Betrag AS DEC
  113. FIELD E_Anz AS DEC
  114. FIELD E_Betrag AS DEC
  115. FIELD MWST_Art AS INT
  116. FIELD MWST_Cd AS INT.
  117. DEF TEMP-TABLE TRabSumm FIELD Rab_Summ AS INT
  118. FIELD Bez AS CHAR
  119. FIELD F_Rab_Art AS INT
  120. FIELD F_Wert AS DEC DECIMALS 4
  121. FIELD A_Rab_Art AS INT
  122. FIELD A_Wert AS DEC DECIMALS 4
  123. FIELD Auf_Rab AS DEC DECIMALS 4
  124. FIELD Abh_Rab AS DEC DECIMALS 4.
  125. DEF TEMP-TABLE TUmsGrp FIELD Ums_Grp AS INT
  126. FIELD Bez AS CHAR
  127. FIELD Ums_Betr AS DEC DECIMALS 4.
  128. DEF TEMP-TABLE TGebuehr FIELD MWST_Cd AS INT
  129. FIELD Anz AS DEC
  130. FIELD Betrag AS DEC.
  131. DEF TEMP-TABLE SammFak FIELD Knr AS INT
  132. FIELD Samm_Nr AS INT
  133. FIELD Aufnr AS INT
  134. FIELD RID AS RECID.
  135. DEF TEMP-TABLE TSpeRab FIELD Rab_Grp AS INT
  136. FIELD Auf_Betr AS DEC DECIMALS 4.
  137. DEF STREAM BESR_Stream.
  138. DEF STREAM Out_Stream.
  139. /* ---------- Globale Variablen ---------------------------------- */
  140. { v8/globvar.i" " " " "SHARED" }
  141. { v8/debivar.i " " " " "SHARED" }
  142. { v8/artivar.i " " " " "SHARED" }
  143. { v8/contvar.i " " " " "SHARED" }
  144. { v8/listtitv.i "NEW" "SHARED" }
  145. { v8/aufkototv.i "NEW" "SHARED" }
  146. /* _UIB-CODE-BLOCK-END */
  147. &ANALYZE-RESUME
  148. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  149. /* ******************** Preprocessor Definitions ******************** */
  150. &Scoped-define PROCEDURE-TYPE Window
  151. &Scoped-define DB-AWARE no
  152. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  153. &Scoped-define FRAME-NAME DEFAULT-FRAME
  154. /* Standard List Definitions */
  155. &Scoped-Define ENABLED-OBJECTS RECT-1 F_Drucker E_Adresse F_Schrift F_Tzz ~
  156. F_Kzz F_Fzz F_KOPIE F_Aufnr F_Faknr F_Datum F_Dokart F_Seite
  157. &Scoped-Define DISPLAYED-OBJECTS F_Drucker E_Adresse F_Schrift F_Tzz F_Kzz ~
  158. F_Fzz F_KOPIE F_Aufnr F_Faknr F_Datum F_Dokart F_Seite
  159. /* Custom List Definitions */
  160. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  161. &Scoped-define List-1 F_Drucker E_Adresse F_Schrift F_Tzz F_Kzz F_Fzz ~
  162. F_KOPIE F_Aufnr F_Faknr F_Datum F_Dokart F_Seite
  163. /* _UIB-PREPROCESSOR-BLOCK-END */
  164. &ANALYZE-RESUME
  165. /* *********************** Control Definitions ********************** */
  166. /* Define the widget handle for the window */
  167. DEFINE VAR C-Win AS WIDGET-HANDLE NO-UNDO.
  168. /* Definitions of the field level widgets */
  169. DEFINE VARIABLE E_Adresse AS CHARACTER
  170. VIEW-AS EDITOR MAX-CHARS 1000
  171. SIZE 47.6 BY 6.19
  172. BGCOLOR 15 NO-UNDO.
  173. DEFINE VARIABLE F_Aufnr AS INTEGER FORMAT "zzzzzz9":U INITIAL 0
  174. LABEL "Auftragsnummer"
  175. VIEW-AS FILL-IN NATIVE
  176. SIZE 14 BY 1
  177. BGCOLOR 15 NO-UNDO.
  178. DEFINE VARIABLE F_Datum AS DATE FORMAT "99.99.9999":U
  179. LABEL "Fakturadatum"
  180. VIEW-AS FILL-IN NATIVE
  181. SIZE 19.6 BY 1
  182. BGCOLOR 15 NO-UNDO.
  183. DEFINE VARIABLE F_Dokart AS CHARACTER FORMAT "x(50)":U
  184. LABEL "Dokumentart"
  185. VIEW-AS FILL-IN NATIVE
  186. SIZE 29.2 BY 1
  187. BGCOLOR 15 NO-UNDO.
  188. DEFINE VARIABLE F_Drucker AS CHARACTER FORMAT "x(50)":U
  189. LABEL "Drucker"
  190. VIEW-AS FILL-IN NATIVE
  191. SIZE 45 BY 1
  192. BGCOLOR 15 NO-UNDO.
  193. DEFINE VARIABLE F_Faknr AS INTEGER FORMAT "zzzzzzz":U INITIAL 0
  194. LABEL "Fakturanummer"
  195. VIEW-AS FILL-IN NATIVE
  196. SIZE 14 BY 1
  197. BGCOLOR 15 NO-UNDO.
  198. DEFINE VARIABLE F_Fzz AS INTEGER FORMAT "zz9":U INITIAL 0
  199. LABEL "Leere Fusszeilen"
  200. VIEW-AS FILL-IN NATIVE
  201. SIZE 7 BY 1
  202. BGCOLOR 15 NO-UNDO.
  203. DEFINE VARIABLE F_KOPIE AS INTEGER FORMAT "zz9":U INITIAL 0
  204. LABEL "Anz. Kopien"
  205. VIEW-AS FILL-IN NATIVE
  206. SIZE 7 BY 1
  207. BGCOLOR 15 NO-UNDO.
  208. DEFINE VARIABLE F_Kzz AS INTEGER FORMAT "zz9":U INITIAL 0
  209. LABEL "Leere Kopfzeilen"
  210. VIEW-AS FILL-IN NATIVE
  211. SIZE 7 BY 1
  212. BGCOLOR 15 NO-UNDO.
  213. DEFINE VARIABLE F_Schrift AS CHARACTER FORMAT "x(50)":U
  214. LABEL "Schriftbild"
  215. VIEW-AS FILL-IN NATIVE
  216. SIZE 45 BY 1
  217. BGCOLOR 15 NO-UNDO.
  218. DEFINE VARIABLE F_Seite AS INTEGER FORMAT "zz9":U INITIAL 0
  219. LABEL "Seite"
  220. VIEW-AS FILL-IN NATIVE
  221. SIZE 7 BY 1
  222. BGCOLOR 15 NO-UNDO.
  223. DEFINE VARIABLE F_Tzz AS INTEGER FORMAT "zz9":U INITIAL 0
  224. LABEL "Total Zeilen"
  225. VIEW-AS FILL-IN NATIVE
  226. SIZE 7 BY 1
  227. BGCOLOR 15 NO-UNDO.
  228. DEFINE RECTANGLE RECT-1
  229. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  230. SIZE 126 BY 10.
  231. /* ************************ Frame Definitions *********************** */
  232. DEFINE FRAME DEFAULT-FRAME
  233. F_Drucker AT ROW 2 COL 25.6 COLON-ALIGNED
  234. E_Adresse AT ROW 2 COL 76.6 NO-LABEL
  235. F_Schrift AT ROW 3 COL 25.6 COLON-ALIGNED
  236. F_Tzz AT ROW 4 COL 25.6 COLON-ALIGNED
  237. F_Kzz AT ROW 5 COL 25.6 COLON-ALIGNED
  238. F_Fzz AT ROW 6 COL 25.6 COLON-ALIGNED
  239. F_KOPIE AT ROW 6 COL 63.4 COLON-ALIGNED
  240. F_Aufnr AT ROW 7 COL 25.6 COLON-ALIGNED
  241. F_Faknr AT ROW 8 COL 25.6 COLON-ALIGNED
  242. F_Datum AT ROW 9 COL 25.6 COLON-ALIGNED
  243. F_Dokart AT ROW 9 COL 74.6 COLON-ALIGNED
  244. F_Seite AT ROW 9 COL 115.2 COLON-ALIGNED
  245. RECT-1 AT ROW 1.24 COL 2
  246. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY
  247. SIDE-LABELS NO-UNDERLINE THREE-D
  248. AT COL 1 ROW 1
  249. SIZE 134.8 BY 13.86.
  250. /* *********************** Procedure Settings ************************ */
  251. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  252. /* Settings for THIS-PROCEDURE
  253. Type: Window
  254. Allow: Basic,Browse,DB-Fields,Window,Query
  255. Other Settings: COMPILE
  256. Temp-Tables and Buffers:
  257. TABLE: XTermOut T "NEW SHARED" NO-UNDO AnaDat TermOut
  258. END-TABLES.
  259. */
  260. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  261. /* ************************* Create Window ************************** */
  262. &ANALYZE-SUSPEND _CREATE-WINDOW
  263. IF SESSION:DISPLAY-TYPE = "GUI":U THEN
  264. CREATE WINDOW C-Win ASSIGN
  265. HIDDEN = YES
  266. TITLE = "Drucken von Auftragsdokumenten"
  267. HEIGHT = 10.48
  268. WIDTH = 128
  269. MAX-HEIGHT = 46.52
  270. MAX-WIDTH = 256
  271. VIRTUAL-HEIGHT = 46.52
  272. VIRTUAL-WIDTH = 256
  273. RESIZE = yes
  274. SCROLL-BARS = no
  275. STATUS-AREA = no
  276. BGCOLOR = ?
  277. FGCOLOR = ?
  278. KEEP-FRAME-Z-ORDER = yes
  279. THREE-D = yes
  280. MESSAGE-AREA = no
  281. SENSITIVE = yes.
  282. ELSE {&WINDOW-NAME} = CURRENT-WINDOW.
  283. /* END WINDOW DEFINITION */
  284. &ANALYZE-RESUME
  285. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  286. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  287. /* SETTINGS FOR WINDOW C-Win
  288. VISIBLE,,RUN-PERSISTENT */
  289. /* SETTINGS FOR FRAME DEFAULT-FRAME
  290. FRAME-NAME */
  291. /* SETTINGS FOR EDITOR E_Adresse IN FRAME DEFAULT-FRAME
  292. 1 */
  293. ASSIGN
  294. E_Adresse:READ-ONLY IN FRAME DEFAULT-FRAME = TRUE.
  295. /* SETTINGS FOR FILL-IN F_Aufnr IN FRAME DEFAULT-FRAME
  296. 1 */
  297. /* SETTINGS FOR FILL-IN F_Datum IN FRAME DEFAULT-FRAME
  298. 1 */
  299. /* SETTINGS FOR FILL-IN F_Dokart IN FRAME DEFAULT-FRAME
  300. 1 */
  301. /* SETTINGS FOR FILL-IN F_Drucker IN FRAME DEFAULT-FRAME
  302. 1 */
  303. /* SETTINGS FOR FILL-IN F_Faknr IN FRAME DEFAULT-FRAME
  304. 1 */
  305. /* SETTINGS FOR FILL-IN F_Fzz IN FRAME DEFAULT-FRAME
  306. 1 */
  307. /* SETTINGS FOR FILL-IN F_KOPIE IN FRAME DEFAULT-FRAME
  308. 1 */
  309. /* SETTINGS FOR FILL-IN F_Kzz IN FRAME DEFAULT-FRAME
  310. 1 */
  311. /* SETTINGS FOR FILL-IN F_Schrift IN FRAME DEFAULT-FRAME
  312. 1 */
  313. /* SETTINGS FOR FILL-IN F_Seite IN FRAME DEFAULT-FRAME
  314. 1 */
  315. /* SETTINGS FOR FILL-IN F_Tzz IN FRAME DEFAULT-FRAME
  316. 1 */
  317. IF SESSION:DISPLAY-TYPE = "GUI":U AND VALID-HANDLE(C-Win)
  318. THEN C-Win:HIDDEN = no.
  319. /* _RUN-TIME-ATTRIBUTES-END */
  320. &ANALYZE-RESUME
  321. /* ************************ Control Triggers ************************ */
  322. &Scoped-define SELF-NAME C-Win
  323. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL C-Win C-Win
  324. ON END-ERROR OF C-Win /* Drucken von Auftragsdokumenten */
  325. OR ENDKEY OF {&WINDOW-NAME} ANYWHERE DO:
  326. /* This case occurs when the user presses the "Esc" key.
  327. In a persistently run window, just ignore this. If we did not, the
  328. application would exit. */
  329. IF THIS-PROCEDURE:PERSISTENT THEN RETURN NO-APPLY.
  330. END.
  331. /* _UIB-CODE-BLOCK-END */
  332. &ANALYZE-RESUME
  333. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL C-Win C-Win
  334. ON WINDOW-CLOSE OF C-Win /* Drucken von Auftragsdokumenten */
  335. DO:
  336. /* This event will close the window and terminate the procedure. */
  337. APPLY "CLOSE":U TO THIS-PROCEDURE.
  338. RETURN NO-APPLY.
  339. END.
  340. /* _UIB-CODE-BLOCK-END */
  341. &ANALYZE-RESUME
  342. &UNDEFINE SELF-NAME
  343. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK C-Win
  344. /* *************************** Main Block *************************** */
  345. /* Set CURRENT-WINDOW: this will parent dialog-boxes and frames. */
  346. ASSIGN CURRENT-WINDOW = {&WINDOW-NAME}
  347. THIS-PROCEDURE:CURRENT-WINDOW = {&WINDOW-NAME}.
  348. ON CLOSE OF THIS-PROCEDURE RUN disable_UI.
  349. PAUSE 0 BEFORE-HIDE.
  350. MAIN-BLOCK:
  351. DO ON ERROR UNDO MAIN-BLOCK, LEAVE MAIN-BLOCK
  352. ON END-KEY UNDO MAIN-BLOCK, LEAVE MAIN-BLOCK:
  353. RUN enable_UI.
  354. FDrucken = TRUE.
  355. cUSER = DYNAMIC-FUNCTION('getDBUser':U) NO-ERROR.
  356. VERARBEITEN:
  357. DO WHILE FDrucken:
  358. FIND FIRST Tabel USE-INDEX Tabel-k1
  359. WHERE Tabel.Firma = GVFirma
  360. AND Tabel.RecArt = 'AUFDRUCK'
  361. AND Tabel.CodeC = cUSER
  362. AND Tabel.Bez1 = '' NO-LOCK NO-ERROR.
  363. IF NOT AVAILABLE Tabel THEN DO:
  364. FDrucken = FALSE.
  365. NEXT.
  366. END.
  367. TRecid = RECID(Tabel).
  368. REPEAT TRANSACTION:
  369. FIND BTabel WHERE RECID(BTabel) = TRecid
  370. EXCLUSIVE-LOCK NO-WAIT NO-ERROR.
  371. IF AVAILABLE BTabel THEN DO:
  372. BTabel.Bez1 = 'A'.
  373. RELEASE BTabel.
  374. LEAVE.
  375. END.
  376. IF LOCKED BTabel THEN NEXT.
  377. TRecid = 0.
  378. LEAVE.
  379. END.
  380. IF TRecid = 0 THEN NEXT.
  381. FIND Tabel WHERE RECID(Tabel) = TRecid NO-LOCK.
  382. RUN DRUCKEN.
  383. REPEAT TRANSACTION:
  384. FIND BTabel WHERE RECID(BTabel) = TRecid.
  385. DELETE BTabel.
  386. RELEASE BTabel.
  387. LEAVE.
  388. END.
  389. END.
  390. /*
  391. IF NOT THIS-PROCEDURE:PERSISTENT THEN WAIT-FOR CLOSE OF THIS-PROCEDURE.
  392. */
  393. APPLY 'CLOSE' TO THIS-PROCEDURE.
  394. END.
  395. /* _UIB-CODE-BLOCK-END */
  396. &ANALYZE-RESUME
  397. /* ********************** Internal Procedures *********************** */
  398. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ABLADEVORSCHRIFT C-Win
  399. PROCEDURE ABLADEVORSCHRIFT :
  400. /*------------------------------------------------------------------------------
  401. Purpose:
  402. Parameters: <none>
  403. Notes:
  404. ------------------------------------------------------------------------------*/
  405. XAblade = ''.
  406. FIND Tabel USE-INDEX Tabel-k1
  407. WHERE Tabel.Firma = GVFirma
  408. AND Tabel.RecArt = 'ABLAD'
  409. AND Tabel.CodeC = ''
  410. AND Tabel.CodeI = BAufko.Ablad_Vor
  411. AND Tabel.Sprcd = 1 NO-LOCK NO-ERROR.
  412. IF NOT AVAILABLE tabel THEN DO:
  413. XAblade = BAufko.Ablad_Vor_Text.
  414. RETURN.
  415. END.
  416. IF LENGTH(Tabel.Bez1) > 4 THEN XAblade = Tabel.Bez1.
  417. IF BAufko.Ablad_Vor_Text <> '' THEN DO:
  418. IF XAblade <> '' THEN XAblade = XAblade + " / ".
  419. XAblade = BAufko.Ablad_Vor_Text.
  420. END.
  421. END PROCEDURE.
  422. /* _UIB-CODE-BLOCK-END */
  423. &ANALYZE-RESUME
  424. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ARTIKELZEILE C-Win
  425. PROCEDURE ARTIKELZEILE :
  426. /*------------------------------------------------------------------------------
  427. Purpose:
  428. Parameters: <none>
  429. Notes:
  430. ------------------------------------------------------------------------------*/
  431. VZeile = RZeile.
  432. DO WHILE Aufze.Artnr = 0:
  433. SUBSTRING(VZeile,036) = STRING(Aufze.Bez1,"x(30)").
  434. { v8/putstream.i "1" }
  435. IF Aufze.Bez2 <> '' THEN DO:
  436. VZeile = RZeile.
  437. SUBSTRING(VZeile,036) = STRING(Aufze.Bez2,"x(30)").
  438. { v8/putstream.i "1" }
  439. END.
  440. RETURN.
  441. END.
  442. FIND Artst OF Aufze NO-LOCK.
  443. FIND GGebinde WHERE GGebinde.Firma = GVFirma
  444. AND GGebinde.Geb_Cd = Aufze.GGeb_Cd NO-LOCK NO-ERROR.
  445. FIND VGebinde WHERE VGebinde.Firma = GVFirma
  446. AND VGebinde.Geb_Cd = Aufze.VGeb_Cd NO-LOCK NO-ERROR.
  447. FIND KGebinde WHERE KGebinde.Firma = GVFirma
  448. AND KGebinde.Geb_Cd = Aufze.KGeb_Cd NO-LOCK NO-ERROR.
  449. VZeile = RZeile.
  450. SUBSTRING(VZeile,001) = STRING(Aufze.Artnr,"999999").
  451. IF Aufze.GGeb_Me <> 0 THEN DO:
  452. SUBSTRING(VZeile,008) = STRING(Aufze.GGeb_Me ,"->9").
  453. SUBSTRING(VZeile,012) = STRING(GGebinde.KBez ,"x(08)").
  454. { v8/putstream.i "1" }
  455. VZeile = RZeile.
  456. END.
  457. IF Aufze.VGeb_Me <> 0 THEN DO:
  458. SUBSTRING(VZeile,008) = STRING(Aufze.VGeb_Me ,"->9").
  459. SUBSTRING(VZeile,012) = STRING(VGebinde.KBez ,"x(08)").
  460. END.
  461. SUBSTRING(VZeile,021) = STRING(Aufze.MGeli ,"->>>9").
  462. SUBSTRING(VZeile,027) = STRING(KGebinde.KBez ,"x(08)").
  463. SUBSTRING(VZeile,036) = STRING(Aufze.Bez1 ,"x(30)").
  464. IF Aufze.Alk_Gehalt <> 0 THEN DO:
  465. SUBSTRING(VZeile,066) = STRING(Aufze.Alk_Gehalt,"z9.9%").
  466. END.
  467. IF Aufze.Jahr > 9 THEN DO:
  468. SUBSTRING(VZeile,072) = SUBSTRING(STRING(Aufze.Jahr,"9999"),03).
  469. END.
  470. IF FPreis THEN DO:
  471. SUBSTRING(VZeile,075) = STRING(Aufze.Preis ,"zz9.99").
  472. END.
  473. IF FBetrag THEN DO:
  474. IF Aufze.Bru_Betr > 0 THEN SUBSTRING(VZeile,082) = STRING(Aufze.Bru_Betr ,">>>,>>9.99").
  475. ELSE SUBSTRING(VZeile,082) = STRING(Aufze.Bru_Betr ,"->>,>>9.99").
  476. SUBSTRING(VZeile,093) = STRING(Aufze.WuCd ,"z9").
  477. END.
  478. { v8/putstream.i "1" }
  479. IF Aufze.Bez2 <> '' THEN DO:
  480. VZeile = RZeile.
  481. SUBSTRING(VZeile,036) = STRING(Aufze.Bez2,"x(30)").
  482. { v8/putstream.i "1" }
  483. END.
  484. IF Aufze.Aktion THEN DO:
  485. VZeile = RZeile.
  486. SUBSTRING(VZeile,036) = STRING(Aufze.Aktion_Text,"x(30)").
  487. { v8/putstream.i "1" }
  488. END.
  489. DO WHILE FBetrag:
  490. IF Aufze.Rab_Betr = 0 THEN LEAVE.
  491. VZeile = RZeile.
  492. RabWert = ABSOLUTE(Aufze.Rab_Wert).
  493. IF Aufze.Rab_Art = 3 THEN RabText = VEpzText.
  494. ELSE DO:
  495. IF Aufze.Rab_Betr < 0 THEN RabText = VZusText.
  496. IF Aufze.Rab_Betr > 0 THEN RabText = VRabText.
  497. END.
  498. SUBSTRING(VZeile,036) = TRIM(RabText).
  499. IF Aufze.Rab_Art = 1
  500. THEN SUBSTRING(VZeile,055) = STRING(RabWert,"->9.9 %").
  501. IF Aufze.Rab_Art = 2 OR
  502. Aufze.Rab_Art = 3
  503. THEN SUBSTRING(VZeile,055) = STRING(RabWert,"-9.99 Fr.").
  504. SUBSTRING(VZeile,082) = STRING(- Aufze.Rab_Betr ,"->>,>>9.99").
  505. { v8/putstream.i "1" }
  506. LEAVE.
  507. END.
  508. DO WHILE FBetrag:
  509. IF Aufze.Zus_Betr = 0 THEN LEAVE.
  510. VZeile = RZeile.
  511. RabWert = ABSOLUTE(Aufze.Zus_Wert).
  512. IF Aufze.Zus_Art = 3 THEN RabText = VEpzText.
  513. ELSE DO:
  514. IF Aufze.Zus_Betr > 0 THEN RabText = VZusText.
  515. IF Aufze.Zus_Betr < 0 THEN RabText = VRabText.
  516. END.
  517. SUBSTRING(VZeile,036) = TRIM(RabText).
  518. IF Aufze.Zus_Art = 1
  519. THEN SUBSTRING(VZeile,055) = STRING(RabWert,"->9.9 %").
  520. IF Aufze.Zus_Art = 2 OR
  521. Aufze.Zus_Art = 3
  522. THEN SUBSTRING(VZeile,055) = STRING(RabWert,"-9.99 Fr.").
  523. SUBSTRING(VZeile,082) = STRING(+ Aufze.Zus_Betr ,"->>,>>9.99").
  524. { v8/putstream.i "1" }
  525. LEAVE.
  526. END.
  527. /* ---- Summengruppen-Total -------------------------------------------- */
  528. IF Aufze.Rab_Su_Grp <> 0 THEN DO:
  529. FIND FIRST TRabSumm WHERE TRabSumm.Rab_Summ = Aufze.Rab_Su_Grp NO-ERROR.
  530. IF AVAILABLE TRabSumm THEN DO:
  531. TRabSumm.Auf_Rab = TRabSumm.Auf_Rab + Aufze.Auf_Rab.
  532. TRabSumm.Abh_Rab = TRabSumm.Abh_Rab + Aufze.Abh_Rab.
  533. END.
  534. END.
  535. /* ---- Warengruppen-Totale -------------------------------------------- */
  536. FIND FIRST TUmsGrp WHERE TUmsGrp.Ums_Grp = Artst.Wg_Grp NO-ERROR.
  537. IF NOT AVAILABLE TUmsGrp THEN DO:
  538. FIND WarenGrp USE-INDEX WarenGrp-k1
  539. WHERE WarenGrp.Firma = GVFirma
  540. AND WarenGrp.Wgr = Artst.Wg_Grp NO-LOCK NO-ERROR.
  541. CREATE TUmsGrp.
  542. ASSIGN TUmsGrp.Ums_Grp = Artst.Wg_Grp.
  543. IF AVAILABLE WarenGrp THEN TUmsGrp.Bez = WarenGrp.Bez1.
  544. ELSE TUmsGrp.Bez = "??????????".
  545. END.
  546. TUmsGrp.Ums_Betr = TUmsGrp.Ums_Betr
  547. + Aufze.Net_Betr
  548. - Aufze.Auf_Rab
  549. - Aufze.Abh_Rab.
  550. END PROCEDURE.
  551. /* _UIB-CODE-BLOCK-END */
  552. &ANALYZE-RESUME
  553. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ARTIKELZEILE_KASSE C-Win
  554. PROCEDURE ARTIKELZEILE_KASSE :
  555. /*------------------------------------------------------------------------------
  556. Purpose:
  557. Parameters: <none>
  558. Notes:
  559. ------------------------------------------------------------------------------*/
  560. RZeile = ''.
  561. DO WHILE Aufze.Artnr = 0:
  562. SUBSTRING(VZeile,009) = STRING(Aufze.Bez1,"x(30)").
  563. { v8/putstream_epson_pos.i "1" }
  564. IF Aufze.Bez2 <> '' THEN DO:
  565. VZeile = RZeile.
  566. SUBSTRING(VZeile,009) = STRING(Aufze.Bez2,"x(30)").
  567. { v8/putstream_epson_pos.i "1" }
  568. END.
  569. { v8/putstream_epson_pos.i "1" }
  570. RETURN.
  571. END.
  572. FIND Artst OF Aufze NO-LOCK.
  573. FIND GGebinde WHERE GGebinde.Firma = GVFirma
  574. AND GGebinde.Geb_Cd = Aufze.GGeb_Cd NO-LOCK NO-ERROR.
  575. FIND VGebinde WHERE VGebinde.Firma = GVFirma
  576. AND VGebinde.Geb_Cd = Aufze.VGeb_Cd NO-LOCK NO-ERROR.
  577. FIND KGebinde WHERE KGebinde.Firma = GVFirma
  578. AND KGebinde.Geb_Cd = Aufze.KGeb_Cd NO-LOCK NO-ERROR.
  579. SUBSTRING(VZeile,001) = STRING(Aufze.Artnr,"999999").
  580. SUBSTRING(VZeile,009) = Aufze.Bez1 .
  581. VZeile = CHR(27) + 'G' + CHR(01) + VZeile + CHR(27) + 'G' + CHR(02).
  582. { v8/putstream_epson_pos.i "1" }
  583. IF Aufze.Bez2 <> '' THEN DO:
  584. SUBSTRING(VZeile,009) = Aufze.Bez2.
  585. VZeile = CHR(27) + 'G' + CHR(01) + VZeile + CHR(27) + 'G' + CHR(02).
  586. { v8/putstream_epson_pos.i "1" }
  587. END.
  588. SUBSTRING(VZeile,001) = STRING(KGebinde.KBez ,"x(08)").
  589. SUBSTRING(VZeile,011) = STRING(Aufze.MGeli ,"->>>9").
  590. SUBSTRING(VZeile,018) = STRING(Aufze.Preis ,"zz9.99").
  591. SUBSTRING(VZeile,029) = STRING(Aufze.Bru_Betr ,"->>>9.99").
  592. SUBSTRING(VZeile,039) = STRING(Aufze.WuCd ,"z9").
  593. { v8/putstream_epson_pos.i "1" }
  594. IF Aufze.Aktion THEN DO:
  595. SUBSTRING(VZeile,009) = Aufze.Aktion_Text.
  596. { v8/putstream_epson_pos.i "1" }
  597. END.
  598. DO WHILE FBetrag:
  599. IF Aufze.Rab_Betr = 0 THEN LEAVE.
  600. RabWert = ABSOLUTE(Aufze.Rab_Wert).
  601. IF Aufze.Rab_Art = 3 THEN RabText = VEpzText.
  602. ELSE DO:
  603. IF Aufze.Rab_Betr < 0 THEN RabText = VZusText.
  604. IF Aufze.Rab_Betr > 0 THEN RabText = VRabText.
  605. END.
  606. SUBSTRING(VZeile,001) = TRIM(RabText).
  607. IF Aufze.Rab_Art = 1
  608. THEN SUBSTRING(VZeile,016) = STRING(RabWert,"->>>9.9 %").
  609. IF Aufze.Rab_Art = 2 OR
  610. Aufze.Rab_Art = 3
  611. THEN SUBSTRING(VZeile,016) = STRING(RabWert,"->>>9.99Fr.").
  612. SUBSTRING(VZeile,029) = STRING(- Aufze.Rab_Betr ,"->>>9.99").
  613. { v8/putstream_epson_pos.i "1" }
  614. LEAVE.
  615. END.
  616. DO WHILE FBetrag:
  617. IF Aufze.Zus_Betr = 0 THEN LEAVE.
  618. RabWert = ABSOLUTE(Aufze.Zus_Wert).
  619. IF Aufze.Zus_Art = 3 THEN RabText = VEpzText.
  620. ELSE DO:
  621. IF Aufze.Zus_Betr > 0 THEN RabText = VZusText.
  622. IF Aufze.Zus_Betr < 0 THEN RabText = VRabText.
  623. END.
  624. SUBSTRING(VZeile,001) = TRIM(RabText).
  625. IF Aufze.Rab_Art = 1
  626. THEN SUBSTRING(VZeile,016) = STRING(RabWert,"->>>9.9 %").
  627. IF Aufze.Rab_Art = 2 OR
  628. Aufze.Rab_Art = 3
  629. THEN SUBSTRING(VZeile,016) = STRING(RabWert,"->>>9.99Fr.").
  630. SUBSTRING(VZeile,029) = STRING(+ Aufze.Zus_Betr ,"->>>9.99").
  631. { v8/putstream_epson_pos.i "1" }
  632. LEAVE.
  633. END.
  634. /*
  635. { v8/putstream_epson_pos.i "1" }
  636. */
  637. /* ---- Summengruppen-Total -------------------------------------------- */
  638. IF Aufze.Rab_Su_Grp <> 0 THEN DO:
  639. FIND FIRST TRabSumm WHERE TRabSumm.Rab_Summ = Aufze.Rab_Su_Grp NO-ERROR.
  640. IF AVAILABLE TRabSumm THEN DO:
  641. TRabSumm.Auf_Rab = TRabSumm.Auf_Rab + Aufze.Auf_Rab.
  642. TRabSumm.Abh_Rab = TRabSumm.Abh_Rab + Aufze.Abh_Rab.
  643. END.
  644. END.
  645. /* ---- Warengruppen-Totale -------------------------------------------- */
  646. FIND FIRST TUmsGrp WHERE TUmsGrp.Ums_Grp = Artst.Wg_Grp NO-ERROR.
  647. IF NOT AVAILABLE TUmsGrp THEN DO:
  648. FIND WarenGrp USE-INDEX WarenGrp-k1
  649. WHERE WarenGrp.Firma = GVFirma
  650. AND WarenGrp.Wgr = Artst.Wg_Grp NO-LOCK NO-ERROR.
  651. CREATE TUmsGrp.
  652. ASSIGN TUmsGrp.Ums_Grp = Artst.Wg_Grp.
  653. IF AVAILABLE WarenGrp THEN TUmsGrp.Bez = WarenGrp.Bez1.
  654. ELSE TUmsGrp.Bez = "??????????".
  655. END.
  656. TUmsGrp.Ums_Betr = TUmsGrp.Ums_Betr
  657. + Aufze.Net_Betr
  658. - Aufze.Auf_Rab
  659. - Aufze.Abh_Rab.
  660. END PROCEDURE.
  661. /* _UIB-CODE-BLOCK-END */
  662. &ANALYZE-RESUME
  663. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE BANKKONTO C-Win
  664. PROCEDURE BANKKONTO :
  665. /*------------------------------------------------------------------------------
  666. Purpose:
  667. Parameters: <none>
  668. Notes:
  669. ------------------------------------------------------------------------------*/
  670. DEF VAR X AS INT NO-UNDO.
  671. DEF VAR Y AS INT NO-UNDO.
  672. DEF VAR cString AS CHAR FORMAT "x(130)" NO-UNDO.
  673. PUT STREAM Out_Stream CONTROL CHR(27) "(s4102t0b0p0s17H".
  674. PUT STREAM Out_Stream CONTROL CHR(027) '9'.
  675. PUT STREAM Out_Stream CONTROL CHR(027) '*t300R'.
  676. X = 100.
  677. Y = 3010.
  678. cString = ''.
  679. PUT STREAM Out_Stream CONTROL CHR(027) '*p' STRING(Y) 'y' STRING(X) 'X'.
  680. PUT STREAM Out_Stream CONTROL cString CHR(10).
  681. /* X = 100. */
  682. /* Y = 3000. */
  683. cString = ''.
  684. SUBSTRING(cString,001) = 'Conto corrente postale'.
  685. SUBSTRING(cString,031) = 'Banca Cantonale GR'.
  686. SUBSTRING(cString,061) = 'Banca Raiffeisen'.
  687. SUBSTRING(cString,091) = 'B. Popolare Sondrio Suisse'.
  688. PUT STREAM Out_Stream CONTROL CHR(027) '*p' STRING(Y) 'y' STRING(X) 'X'.
  689. PUT STREAM Out_Stream CONTROL cString CHR(10).
  690. Y = Y + 40.
  691. cString = ''.
  692. SUBSTRING(cString,001) = 'Postcheck-Koknto Nr.'.
  693. SUBSTRING(cString,031) = 'Graubündner Kantonalbank'.
  694. SUBSTRING(cString,061) = 'Raiffeisenbank'.
  695. SUBSTRING(cString,091) = ''.
  696. PUT STREAM Out_Stream CONTROL CHR(027) '*p' STRING(Y) 'y' STRING(X) 'X'.
  697. PUT STREAM Out_Stream CONTROL cString CHR(10).
  698. Y = Y + 40.
  699. cString = ''.
  700. SUBSTRING(cString,001) = ' 60-610913-9'.
  701. SUBSTRING(cString,031) = 'CH26 0077 4110 1965 2630 0'.
  702. SUBSTRING(cString,061) = 'CH60 8110 3000 0043 2046 5'.
  703. SUBSTRING(cString,091) = 'CH04 0825 2012 0798 C000 C'.
  704. PUT STREAM Out_Stream CONTROL CHR(027) '*p' STRING(Y) 'y' STRING(X) 'X'.
  705. PUT STREAM Out_Stream CONTROL cString CHR(10).
  706. X = 0.
  707. Y = 0.
  708. PUT STREAM Out_Stream CONTROL CHR(027) '*p' STRING(Y) 'y' STRING(X) 'X'.
  709. PUT STREAM Out_Stream CONTROL CHR(027) "(s4102t0b0p0s12H".
  710. END PROCEDURE.
  711. /* _UIB-CODE-BLOCK-END */
  712. &ANALYZE-RESUME
  713. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE CHAUFFEUR C-Win
  714. PROCEDURE CHAUFFEUR :
  715. /*------------------------------------------------------------------------------
  716. Purpose:
  717. Parameters: <none>
  718. Notes:
  719. ------------------------------------------------------------------------------*/
  720. XChauffeur = ''.
  721. FIND Tabel USE-INDEX Tabel-k1
  722. WHERE Tabel.Firma = GVFirma
  723. AND Tabel.RecArt = 'FAHRER'
  724. AND Tabel.CodeC = ''
  725. AND Tabel.CodeI = BAufko.Fahrer
  726. AND Tabel.Sprcd = 1 NO-LOCK NO-ERROR.
  727. IF AVAILABLE Tabel THEN XChauffeur = Tabel.Bez1.
  728. END PROCEDURE.
  729. /* _UIB-CODE-BLOCK-END */
  730. &ANALYZE-RESUME
  731. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI C-Win _DEFAULT-DISABLE
  732. PROCEDURE disable_UI :
  733. /*------------------------------------------------------------------------------
  734. Purpose: DISABLE the User Interface
  735. Parameters: <none>
  736. Notes: Here we clean-up the user-interface by deleting
  737. dynamic widgets we have created and/or hide
  738. frames. This procedure is usually called when
  739. we are ready to "clean-up" after running.
  740. ------------------------------------------------------------------------------*/
  741. /* Delete the WINDOW we created */
  742. IF SESSION:DISPLAY-TYPE = "GUI":U AND VALID-HANDLE(C-Win)
  743. THEN DELETE WIDGET C-Win.
  744. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  745. END PROCEDURE.
  746. /* _UIB-CODE-BLOCK-END */
  747. &ANALYZE-RESUME
  748. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE DRUCKAUSGABE C-Win
  749. PROCEDURE DRUCKAUSGABE :
  750. /*------------------------------------------------------------------------------
  751. Purpose:
  752. Parameters: <none>
  753. Notes:
  754. ------------------------------------------------------------------------------*/
  755. DEF VAR AnzKopien AS INT NO-UNDO.
  756. DEF VAR iSize AS INT NO-UNDO.
  757. AnzKopien = BLiDruck.ListCopy.
  758. IF AnzKopien = 0 THEN AnzKopien = 1.
  759. IF BDrucker.Emul = 'TERMINAL' THEN AnzKopien = 1.
  760. iSize = DYNAMIC-FUNCTION('putDateiToPrinter':U, VTemp,
  761. RECID(bSchrift),
  762. 0,
  763. 250,
  764. 'IBM850',
  765. 1) NO-ERROR.
  766. /*
  767. DO VCopy = 1 TO AnzKopien:
  768. DO WHILE BDrucker.Emul <> "TERMINAL":
  769. /* IF F_TZZ = 0 THEN DO: */
  770. /* OUTPUT STREAM Out_Stream */
  771. /* TO PRINTER VALUE(BSchrift.Schname) */
  772. /* CONVERT TARGET "ibm850" PAGED PAGE-SIZE 5000. */
  773. /* END. */
  774. /* ELSE DO: */
  775. /* OUTPUT STREAM Out_Stream */
  776. /* TO PRINTER VALUE(BSchrift.Schname) */
  777. /* CONVERT TARGET "ibm850" PAGED PAGE-SIZE 5000. */
  778. /* END. */
  779. /* */
  780. /* PUT STREAM Out_Stream CONTROL BSchrift.Schseqbeg.
  781. * IF BLiDruck.Listlq THEN PUT STREAM Out_Stream CONTROL BDrucker.Drulqb.
  782. * IF BLiDruck.Schacht > 0 THEN PUT STREAM Out_Stream CONTROL BDrucker.DruSchacht[Schacht].*/
  783. SESSION:PRINTER-NAME = BSchrift.Schname.
  784. OUTPUT STREAM Out_Stream
  785. TO PRINTER
  786. CONVERT TARGET "ibm850" PAGED PAGE-SIZE 5000.
  787. INPUT STREAM In_Stream FROM VALUE(VTemp) NO-ECHO NO-MAP.
  788. REPEAT ON STOP UNDO, LEAVE WITH FRAME f_Print:
  789. IMPORT STREAM In_Stream UNFORMATTED VZeile.
  790. DISPLAY STREAM Out_Stream VZeile
  791. WITH FRAME f_Print NO-LABELS STREAM-IO
  792. NO-BOX USE-TEXT WIDTH 255.
  793. END.
  794. /* PUT STREAM Out_Stream CONTROL CHR(12). */
  795. OUTPUT STREAM Out_Stream CLOSE.
  796. INPUT STREAM In_Stream CLOSE.
  797. LEAVE.
  798. END.
  799. DO WHILE BDrucker.Emul = "TERMINAL":
  800. RUN "v8/d-liste.w" ( INPUT FormText[02] ).
  801. LEAVE.
  802. END.
  803. END.
  804. */
  805. END PROCEDURE.
  806. /* _UIB-CODE-BLOCK-END */
  807. &ANALYZE-RESUME
  808. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE DRUCKAUSGABE_BESR C-Win
  809. PROCEDURE DRUCKAUSGABE_BESR :
  810. /*------------------------------------------------------------------------------
  811. Purpose:
  812. Parameters: <none>
  813. Notes:
  814. ------------------------------------------------------------------------------*/
  815. RUN OCRB_LOAD ( BSchrift.Schname ).
  816. OUTPUT STREAM Out_Stream
  817. TO PRINTER VALUE(BSchrift.Schname)
  818. CONVERT TARGET "ibm850" PAGED PAGE-SIZE 5000.
  819. INPUT STREAM In_Stream FROM VALUE(BESRName) NO-ECHO NO-MAP.
  820. REPEAT ON STOP UNDO, LEAVE WITH FRAME f_Print:
  821. IMPORT STREAM In_Stream UNFORMATTED VZeile.
  822. DISPLAY STREAM Out_Stream VZeile
  823. WITH FRAME f_Print NO-LABELS STREAM-IO
  824. NO-BOX USE-TEXT WIDTH 255.
  825. END.
  826. /* PUT STREAM Out_Stream CONTROL CHR(12). */
  827. OUTPUT STREAM Out_Stream CLOSE.
  828. INPUT STREAM In_Stream CLOSE.
  829. END PROCEDURE.
  830. /* _UIB-CODE-BLOCK-END */
  831. &ANALYZE-RESUME
  832. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE DRUCKEN C-Win
  833. PROCEDURE DRUCKEN :
  834. /*------------------------------------------------------------------------------
  835. Purpose:
  836. Parameters: <none>
  837. Notes:
  838. ------------------------------------------------------------------------------*/
  839. DO WITH FRAME {&FRAME-NAME}:
  840. DEF VAR XFakArt AS INT NO-UNDO.
  841. DEF VAR XAufSta AS INT NO-UNDO.
  842. DEF VAR ARecid AS RECID NO-UNDO.
  843. DEF VAR BRecid AS RECID NO-UNDO.
  844. DEF VAR CRecid AS RECID NO-UNDO.
  845. ARecid = Tabel.Int_1.
  846. BRecid = Tabel.Int_2.
  847. CRecid = Tabel.Int_3.
  848. VBesr = Tabel.Dec_1.
  849. VDokArt = Tabel.Bez2.
  850. F_DokArt = Tabel.Bez2.
  851. SFaknr = 0.
  852. FIND BSteuer WHERE BSteuer.Firma = GVFirma NO-LOCK NO-ERROR.
  853. FIND BListen WHERE RECID(BListen) = ARecid NO-LOCK NO-ERROR.
  854. FIND BLiDruck WHERE RECID(BLiDruck) = BRecid NO-LOCK NO-ERROR.
  855. FIND BAufko WHERE RECID(BAufko) = CRecid NO-LOCK NO-ERROR.
  856. IF NOT AVAILABLE BAufko THEN RETURN.
  857. F_Aufnr = BAufko.Aufnr.
  858. F_Faknr = BAufko.Faknr.
  859. F_Datum = BAufko.Fak_Datum.
  860. IF F_Datum = ? THEN F_Datum = TODAY.
  861. FDatum = F_Datum.
  862. VSort = BListen.Sort.
  863. F_Drucker = BLiDruck.ListDru.
  864. F_Schrift = BLiDruck.ListBild.
  865. F_TZZ = BLiDruck.Listtzz.
  866. F_KZZ = BLiDruck.Listkzz.
  867. F_FZZ = BLiDruck.Listfzz.
  868. F_KOPIE = BLiDruck.ListCopy.
  869. FIND TFakart USE-INDEX Tabel-k1
  870. WHERE TFakart.Firma = GVFirma
  871. AND TFakart.RecArt = 'FAKART'
  872. AND TFakart.CodeC = ''
  873. AND TFakart.CodeI = BAufko.Fak_Art
  874. AND TFakart.Sprcd = 1 NO-LOCK NO-ERROR.
  875. F_Dokart = TFakart.Bez1.
  876. FIND TAufsta USE-INDEX Tabel-k1
  877. WHERE TAufsta.Firma = GVFirma
  878. AND TAufsta.RecArt = 'AUFSTATUS'
  879. AND TAufsta.CodeC = ''
  880. AND TAufsta.CodeI = BAufko.Auf_Sta
  881. AND TAufsta.Sprcd = 1 NO-LOCK NO-ERROR.
  882. FIND Adresse USE-INDEX Adresse-k1
  883. WHERE Adresse.Firma = AdFirma
  884. AND Adresse.Knr = BAufko.Fak_Knr NO-LOCK NO-ERROR.
  885. iSprcd = IF AVAILABLE Adresse THEN Adresse.Sprcd ELSE LVSprcd.
  886. E_Adresse = ''.
  887. IF BAufko.Adresse[05] <> '' THEN DO:
  888. E_Adresse = CHR(10)
  889. + CHR(10)
  890. + BAufko.Adresse[01] + CHR(10)
  891. + BAufko.Adresse[02] + CHR(10)
  892. + BAufko.Adresse[03] + CHR(10)
  893. + BAufko.Adresse[04] + CHR(10)
  894. + BAufko.Adresse[05].
  895. END.
  896. ELSE DO:
  897. E_Adresse = Adresse.Anschrift[04] + CHR(10) +
  898. Adresse.Anschrift[05] + CHR(10) +
  899. Adresse.Anschrift[06] + CHR(10) +
  900. Adresse.Anschrift[07] + CHR(10) +
  901. Adresse.Anschrift[08] + CHR(10) +
  902. Adresse.Anschrift[09] + CHR(10) +
  903. Adresse.Anschrift[10] + CHR(10) +
  904. Adresse.Anschrift[11].
  905. END.
  906. DISPLAY {&List-1}.
  907. RUN LIBILD.
  908. FOR EACH SammFak:
  909. DELETE SammFak.
  910. END.
  911. IF BAufko.Samm_Nr <> 0 AND
  912. NOT VDokArt BEGINS 'Ruest' THEN DO:
  913. RUN SAMMELSUCHEN.
  914. END.
  915. ELSE DO:
  916. CREATE SammFak.
  917. ASSIGN SammFak.Knr = BAufko.Fak_Knr
  918. SammFak.Aufnr = BAufko.Aufnr
  919. SammFak.Samm_Nr = BAufko.Aufnr
  920. SammFak.RID = RECID(BAufko).
  921. END.
  922. DOpen = FALSE.
  923. BOpen = FALSE.
  924. RUN WORKFILE.
  925. IF DOpen = TRUE THEN OUTPUT STREAM Out_Stream TO VALUE(VTemp).
  926. FOR EACH SammFak BREAK BY SammFak.Knr
  927. BY SammFak.Samm_Nr
  928. BY SammFak.Aufnr :
  929. FIND BAufko WHERE RECID(BAufko) = SammFak.RID NO-LOCK NO-ERROR.
  930. F_Aufnr = BAufko.Aufnr.
  931. DISPLAY F_Aufnr WITH FRAME {&FRAME-NAME}.
  932. VWg_Grp = 0.
  933. VProd_Grp = 0.
  934. VArt_Grp = 0.
  935. VFak_Betr = 0.
  936. FErste = FALSE.
  937. FOR EACH TAufze:
  938. DELETE TAufze.
  939. END.
  940. FOR EACH TGebKto:
  941. DELETE TGebKto.
  942. END.
  943. FOR EACH TRabSumm:
  944. DELETE TRabSumm.
  945. END.
  946. FOR EACH TSpeRab:
  947. DELETE TSpeRab.
  948. END.
  949. FOR EACH TGebuehr:
  950. DELETE TGebuehr.
  951. END.
  952. IF FIRST-OF ( SammFak.Samm_Nr ) THEN DO:
  953. FOR EACH TUmsGrp :
  954. DELETE TUmsGrp .
  955. END.
  956. GTWpfl = 0.
  957. GTWust = 0.
  958. GTFak_Betr = 0.
  959. GTSk_Ber = 0.
  960. FLetzt = FALSE.
  961. FErste = TRUE.
  962. TiDruck = TRUE.
  963. VSeite = 0.
  964. END.
  965. FOR EACH BAufze USE-INDEX Aufze-k1
  966. WHERE BAufze.Firma = BAufko.Firma
  967. AND BAufze.Aufnr = BAufko.Aufnr NO-LOCK:
  968. IF BAufze.Artnr <> 0 THEN DO:
  969. FIND GGebinde WHERE GGebinde.Firma = GVFirma
  970. AND GGebinde.Geb_Cd = BAufze.GGeb_Cd NO-LOCK NO-ERROR.
  971. FIND VGebinde WHERE VGebinde.Firma = GVFirma
  972. AND VGebinde.Geb_Cd = BAufze.VGeb_Cd NO-LOCK NO-ERROR.
  973. FIND KGebinde WHERE KGebinde.Firma = GVFirma
  974. AND KGebinde.Geb_Cd = BAufze.KGeb_Cd NO-LOCK NO-ERROR.
  975. END.
  976. CREATE TAufze.
  977. ASSIGN TAufze.Aufnr = BAufze.Aufnr
  978. TAufze.Artnr = BAufze.Artnr
  979. TAufze.Inhalt = BAufze.Inhalt
  980. TAufze.Jahr = BAufze.Jahr
  981. TAufze.Pos = BAufze.Pos
  982. TAufze.Zeile = RECID(BAufze)
  983. TAufze.Aktion = BAufze.Aktion
  984. TAufze.Preis = BAufze.Preis.
  985. IF BAufze.Artnr <> 0 THEN DO:
  986. FIND Artst OF BAufze NO-LOCK.
  987. VWg_Grp = Artst.Wg_Grp.
  988. VProd_Grp = Artst.Prod_Grp.
  989. VArt_Grp = Artst.Art_Grp.
  990. AArtnr = Artst.Artnr.
  991. AInhalt = Artst.Inhalt.
  992. AJahr = Artst.Jahr.
  993. END.
  994. IF VSort = 1 THEN DO:
  995. ASSIGN TAufze.Sort1 = STRING(VWg_Grp ,"999")
  996. TAufze.Sort2 = STRING(VProd_Grp ,"999")
  997. TAufze.Sort3 = STRING(VArt_Grp ,"999").
  998. END.
  999. IF BAufze.Artnr = 0 THEN DO:
  1000. ASSIGN TAufze.Artnr = AArtnr
  1001. TAufze.Inhalt = AInhalt
  1002. TAufze.Jahr = AJahr.
  1003. END.
  1004. IF BAufze.Artnr = 0 THEN NEXT.
  1005. /* Spezial-Auftrags-Rabatt -------------------------------------------- */
  1006. IF BAufze.Auf_Sp_Grp > 0 THEN DO:
  1007. FIND FIRST TSpeRab WHERE TSpeRab.Rab_Grp = BAufze.Auf_Sp_Grp NO-ERROR.
  1008. IF NOT AVAILABLE TSpeRab THEN DO:
  1009. CREATE TSpeRab.
  1010. ASSIGN TSpeRab.Rab_Grp = BAufze.Auf_Sp_Grp.
  1011. END.
  1012. TSpeRab.Auf_Betr = TSpeRab.Auf_Betr + BAufze.Auf_Sp_Rab.
  1013. END.
  1014. /* Summengruppen-Totale ------------------------------------------------ */
  1015. DO WHILE BAufze.Rab_Su_Grp > 0:
  1016. FIND FIRST TRabSumm WHERE TRabSumm.Rab_Summ = BAufze.Rab_Su_Grp NO-ERROR.
  1017. IF NOT AVAILABLE TRabSumm THEN DO:
  1018. FIND FIRST RabSumm USE-INDEX RabSumm-k1
  1019. WHERE RabSumm.Firma = GVFirma
  1020. AND RabSumm.Rab_Summ = BAufze.Rab_Su_Grp
  1021. NO-LOCK NO-ERROR.
  1022. IF NOT AVAILABLE RabSumm THEN LEAVE.
  1023. CREATE TRabSumm.
  1024. ASSIGN TRabSumm.Rab_Summ = BAufze.Rab_Su_Grp
  1025. TRabSumm.Bez = RabSumm.Bez
  1026. TRabSumm.Auf_Rab = 0
  1027. TRabSumm.Abh_Rab = 0.
  1028. END.
  1029. LEAVE.
  1030. END.
  1031. END.
  1032. IF LAST-OF ( SammFak.Samm_Nr ) THEN DO:
  1033. FLetzt = TRUE.
  1034. END.
  1035. RUN VALUE(VDokArt).
  1036. IF NOT FLetzt THEN NEXT.
  1037. END. /* FOR EACH SammFak */
  1038. IF DOpen THEN OUTPUT STREAM Out_Stream CLOSE.
  1039. DOpen = FALSE.
  1040. RUN DRUCKAUSGABE.
  1041. IF VTemp <> '' THEN OS-DELETE VALUE(VTemp).
  1042. IF BOpen THEN DO:
  1043. OUTPUT STREAM BESR_Stream CLOSE.
  1044. BOpen = FALSE.
  1045. RUN DRUCKAUSGABE_BESR.
  1046. END.
  1047. IF BESRName <> '' THEN OS-DELETE VALUE(BESRName) NO-ERROR.
  1048. REPEAT TRANSACTION:
  1049. FIND BListen WHERE RECID(BListen) = ARecid.
  1050. BListen.Listfl = ''.
  1051. RELEASE BListen.
  1052. LEAVE.
  1053. END.
  1054. END. /* DO WITH FRAME */
  1055. RETURN NO-APPLY.
  1056. END PROCEDURE.
  1057. /* _UIB-CODE-BLOCK-END */
  1058. &ANALYZE-RESUME
  1059. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE DRUCKPOSITION C-Win
  1060. PROCEDURE DRUCKPOSITION :
  1061. /*------------------------------------------------------------------------------
  1062. Purpose:
  1063. Parameters: <none>
  1064. Notes:
  1065. ------------------------------------------------------------------------------*/
  1066. DEF VAR SX AS INT INIT 0.
  1067. DEF VAR SY AS INT INIT 12.
  1068. DEF INPUT PARAMETER Aufloesung AS INT.
  1069. DEF INPUT PARAMETER X AS INT.
  1070. DEF INPUT PARAMETER Y AS INT.
  1071. X = X + SX.
  1072. Y = Y + SY.
  1073. PUT STREAM BESR_Stream CONTROL CHR(027) '9'.
  1074. PUT STREAM BESR_Stream CONTROL CHR(027) '*t' STRING(Aufloesung) 'R'.
  1075. PUT STREAM BESR_Stream CONTROL CHR(027) '*p' STRING(Y) 'y' STRING(X) 'X'.
  1076. END PROCEDURE.
  1077. /* _UIB-CODE-BLOCK-END */
  1078. &ANALYZE-RESUME
  1079. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI C-Win _DEFAULT-ENABLE
  1080. PROCEDURE enable_UI :
  1081. /*------------------------------------------------------------------------------
  1082. Purpose: ENABLE the User Interface
  1083. Parameters: <none>
  1084. Notes: Here we display/view/enable the widgets in the
  1085. user-interface. In addition, OPEN all queries
  1086. associated with each FRAME and BROWSE.
  1087. These statements here are based on the "Other
  1088. Settings" section of the widget Property Sheets.
  1089. ------------------------------------------------------------------------------*/
  1090. DISPLAY F_Drucker E_Adresse F_Schrift F_Tzz F_Kzz F_Fzz F_KOPIE F_Aufnr
  1091. F_Faknr F_Datum F_Dokart F_Seite
  1092. WITH FRAME DEFAULT-FRAME IN WINDOW C-Win.
  1093. ENABLE RECT-1 F_Drucker E_Adresse F_Schrift F_Tzz F_Kzz F_Fzz F_KOPIE F_Aufnr
  1094. F_Faknr F_Datum F_Dokart F_Seite
  1095. WITH FRAME DEFAULT-FRAME IN WINDOW C-Win.
  1096. {&OPEN-BROWSERS-IN-QUERY-DEFAULT-FRAME}
  1097. VIEW C-Win.
  1098. END PROCEDURE.
  1099. /* _UIB-CODE-BLOCK-END */
  1100. &ANALYZE-RESUME
  1101. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE FAKTURA C-Win
  1102. PROCEDURE FAKTURA :
  1103. /*------------------------------------------------------------------------------
  1104. Purpose:
  1105. Parameters: <none>
  1106. Notes:
  1107. ------------------------------------------------------------------------------*/
  1108. VSeite = 0.
  1109. VFak_Betr = 0.
  1110. LiKopf = TRUE.
  1111. FPreis = TRUE.
  1112. FBetrag = TRUE.
  1113. FRabatt = TRUE.
  1114. FUeber = TRUE.
  1115. FSamm = FALSE.
  1116. VKopfArt = 'FAKTURA_KOPF'.
  1117. RUN VALUE(VKopfArt).
  1118. FOR EACH TAufze NO-LOCK
  1119. BY TAufze.Aufnr
  1120. /*
  1121. BY TAufze.Sort1
  1122. BY TAufze.Sort2
  1123. BY TAufze.Sort3
  1124. BY TAufze.Artnr
  1125. BY TAufze.Inhalt
  1126. BY TAufze.Jahr
  1127. */
  1128. BY TAufze.Pos :
  1129. IF (BLiDruck.Listtzz - VLine - 2) < BLiDruck.Listfzz THEN DO:
  1130. RUN VALUE(VKopfArt).
  1131. END.
  1132. FIND Aufze WHERE RECID(Aufze) = TAufze.Zeile NO-LOCK.
  1133. RUN ARTIKELZEILE.
  1134. VFak_Betr = VFak_Betr + Aufze.Net_Betr.
  1135. END.
  1136. VZeile = FILL('-', StBreite).
  1137. { v8/putstream.i "1" }
  1138. SUBSTRING(VZeile,036) = TRIM(SUBSTRING(FormText[10],41,20)).
  1139. SUBSTRING(VZeile,081) = STRING(VFak_Betr,"->>>,>>9.99").
  1140. { v8/putstreamf.i "1" }
  1141. LiKopf = FALSE.
  1142. RUN SUMMENRABATTE.
  1143. { v8/putstream.i "1" }
  1144. RUN GEBINDE_SALDO.
  1145. RUN GEBINDE_ABRECHNUNG.
  1146. RUN MEHRWERTSTEUER.
  1147. SUBSTRING(VZeile,082) = '=========='.
  1148. { v8/putstream.i "2" }
  1149. FUeber = FALSE.
  1150. RUN ZAHLUNGSKONDITION.
  1151. RUN SCHLUSSTEXT.
  1152. RUN UMSATZVERTEILUNG.
  1153. RUN KOPF_MUTATION.
  1154. Rundbetr = VFak_Betr.
  1155. VesrKnr = BAufko.Fak_Knr.
  1156. VesrFnr = BAufko.Faknr.
  1157. RUN VESR_DRUCK.
  1158. END PROCEDURE.
  1159. /* _UIB-CODE-BLOCK-END */
  1160. &ANALYZE-RESUME
  1161. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE FAKTURAKIESEN C-Win
  1162. PROCEDURE FAKTURAKIESEN :
  1163. /*------------------------------------------------------------------------------
  1164. Purpose:
  1165. Parameters: <none>
  1166. Notes:
  1167. ------------------------------------------------------------------------------*/
  1168. RUN FAKTURA.
  1169. END PROCEDURE.
  1170. /* _UIB-CODE-BLOCK-END */
  1171. &ANALYZE-RESUME
  1172. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE FAKTURA_KOPF C-Win
  1173. PROCEDURE FAKTURA_KOPF :
  1174. /*------------------------------------------------------------------------------
  1175. Purpose:
  1176. Parameters: <none>
  1177. Notes:
  1178. ------------------------------------------------------------------------------*/
  1179. RUN NEUE_SEITE.
  1180. PUT STREAM Out_Stream CONTROL CHR(27) "&l0O" /* Hochformat */
  1181. CHR(27) "&l5H" /* Schacht 3 */
  1182. CHR(27) "(10U" /* CODEPAGE 850 */
  1183. CHR(27) "(s4102t0b0p0s12H". /* LetterGotic 12cpi */
  1184. RUN BANKKONTO. /* Fusszeile Bankkonto */
  1185. IF VSeite = 1 THEN DO:
  1186. IF SFaknr = 0 THEN DO:
  1187. SFaknr = BAufko.Faknr.
  1188. REPEAT WHILE SFaknr = 0 TRANSACTION:
  1189. RUN "v8/steunr.p" ( INPUT 2, OUTPUT VFaknr ).
  1190. IF RETURN-VALUE <> '' THEN NEXT.
  1191. SFaknr = VFaknr.
  1192. END.
  1193. END.
  1194. FIND Adresse USE-INDEX Adresse-k1
  1195. WHERE Adresse.Firma = AdFirma
  1196. AND Adresse.Knr = BAufko.Fak_Knr NO-LOCK NO-ERROR.
  1197. FIND LDebst USE-INDEX Debst-k1
  1198. WHERE LDebst.Firma = GVFirma
  1199. AND LDebst.Knr = BAufko.Knr NO-LOCK NO-ERROR.
  1200. FIND FDebst USE-INDEX Debst-k1
  1201. WHERE FDebst.Firma = GVFirma
  1202. AND FDebst.Knr = BAufko.Fak_Knr NO-LOCK NO-ERROR.
  1203. FIND Wust USE-INDEX Wust-k1
  1204. WHERE Wust.CodeK = LDebst.MWST
  1205. AND Wust.CodeA = 99 NO-LOCK NO-ERROR.
  1206. LVSprcd = Adresse.Sprcd.
  1207. DebInkl = FALSE.
  1208. IF AVAILABLE Wust THEN DebInkl = Wust.Incl.
  1209. XTelnr = ''.
  1210. IF DebInkl THEN DO:
  1211. IF Adresse.Tel-2 <> '' THEN XTelnr = Adresse.Tel-2.
  1212. ELSE XTelnr = Adresse.Tel-1.
  1213. END.
  1214. ELSE DO:
  1215. IF Adresse.Tel-1 <> '' THEN XTelnr = Adresse.Tel-1.
  1216. ELSE XTelnr = Adresse.Tel-2.
  1217. END.
  1218. END.
  1219. F_Seite = VSeite.
  1220. F_Faknr = SFaknr.
  1221. DISPLAY F_Seite
  1222. F_Faknr WITH FRAME {&FRAME-NAME}.
  1223. VZeile = ''.
  1224. { v8/putstream.i BLiDruck.Listkzz }.
  1225. IF BAufko.Adresse[05] <> '' THEN DO:
  1226. DO ix = 1 TO 5:
  1227. SUBSTRING(VZeile,012) = BAufko.Adresse[ix].
  1228. IF ix = 5 THEN DO: { v8/putstreamf.i "1" }. END.
  1229. ELSE DO: { v8/putstream.i "1" }. END.
  1230. END.
  1231. END.
  1232. ELSE DO:
  1233. DO ix = 7 TO 11:
  1234. SUBSTRING(VZeile,012) = Adresse.Anschrift[ix].
  1235. IF ix = 11 THEN DO: { v8/putstreamf.i "1" }. END.
  1236. ELSE DO: { v8/putstream.i "1" }. END.
  1237. END.
  1238. END.
  1239. SUBSTRING(VZeile,054) = TRIM(SUBSTRING(FormText[02],01,20))
  1240. + STRING(SFaknr,"z999999")
  1241. + " /"
  1242. + STRING(VSeite,"zz9").
  1243. { v8/putstreamf.i "1" }
  1244. SUBSTRING(VZeile,054) = TRIM(SUBSTRING(FormText[18],01,20))
  1245. + " "
  1246. + BSteuer.MWST_Nr.
  1247. { v8/putstream.i "1" }
  1248. SUBSTRING(VZeile,054) = TRIM(SUBSTRING(FormText[07],01,20))
  1249. + " "
  1250. + STRING(FDatum,"99.99.9999").
  1251. { v8/putstream.i "1" }
  1252. LiefAdr = ''.
  1253. IF BAufko.Knr <> BAufko.Fak_Knr THEN DO:
  1254. FIND BAdresse USE-INDEX Adresse-k1
  1255. WHERE BAdresse.Firma = AdFirma
  1256. AND BAdresse.Knr = BAufko.Knr NO-LOCK NO-ERROR.
  1257. LiefAdr = BAdresse.Anzeig_Br.
  1258. END.
  1259. IF LiefAdr <> '' THEN DO:
  1260. VZeile = LiefAdr.
  1261. { v8/putstreamf.i "1" }
  1262. END.
  1263. { v8/putstream.i "1" }
  1264. DO WHILE VSeite = 1.
  1265. SUBSTRING(VZeile,001) = TRIM(SUBSTRING(FormText[07],21,20))
  1266. + " "
  1267. + BAufko.I_Best.
  1268. { v8/putstream.i "1" }
  1269. SUBSTRING(VZeile,001) = TRIM(SUBSTRING(FormText[17],21,20))
  1270. + " "
  1271. + STRING(BAufko.Aufnr,"9999999").
  1272. SUBSTRING(VZeile,036) = TRIM(SUBSTRING(FormText[07],41,20))
  1273. + " "
  1274. + STRING(BAufko.Auf_Datum,"99.99.9999").
  1275. SUBSTRING(VZeile,071) = TRIM(SUBSTRING(FormText[08],01,20))
  1276. + " "
  1277. + STRING(BAufko.Fak_Knr,"9999999").
  1278. { v8/putstream.i "2" }
  1279. XAuf_Text = BAufko.Auf_Text.
  1280. i1 = INDEX(XAuf_Text, CHR(10)).
  1281. i2 = 0.
  1282. DO WHILE i1 > 0:
  1283. SUBSTRING(VZeile,001) = SUBSTRING(XAuf_Text,01,i1 - 1).
  1284. { v8/putstreamf.i "1" }
  1285. XAuf_Text = SUBSTRING(XAuf_Text,i1 + 1).
  1286. i1 = INDEX(XAuf_Text, CHR(10)).
  1287. i2 = i2 + 1.
  1288. END.
  1289. IF XAuf_Text <> '' THEN DO:
  1290. SUBSTRING(VZeile,001) = XAuf_Text.
  1291. { v8/putstreamf.i "1" }
  1292. i2 = i2 + 1.
  1293. END.
  1294. IF i2 > 0 THEN DO:
  1295. { v8/putstream.i "1" }
  1296. END.
  1297. XAuf_Text = BAufko.Abh_Text.
  1298. i1 = INDEX(XAuf_Text, CHR(10)).
  1299. i2 = 0.
  1300. DO WHILE i1 > 0:
  1301. SUBSTRING(VZeile,001) = SUBSTRING(XAuf_Text,01,i1 - 1).
  1302. { v8/putstreamf.i "1" }
  1303. XAuf_Text = SUBSTRING(XAuf_Text,i1 + 1).
  1304. i1 = INDEX(XAuf_Text, CHR(10)).
  1305. i2 = i2 + 1.
  1306. END.
  1307. IF XAuf_Text <> '' THEN DO:
  1308. SUBSTRING(VZeile,001) = XAuf_Text.
  1309. { v8/putstreamf.i "1" }
  1310. i2 = i2 + 1.
  1311. END.
  1312. IF i2 > 0 THEN DO:
  1313. { v8/putstream.i "1" }
  1314. END.
  1315. LEAVE.
  1316. END.
  1317. IF LiKopf THEN DO:
  1318. SUBSTRING(VZeile,001) = FormText[03].
  1319. SUBSTRING(VZeile,071) = FormText[04].
  1320. { v8/putstream.i "1" }
  1321. SUBSTRING(VZeile,001) = FormText[05].
  1322. SUBSTRING(VZeile,071) = FormText[06].
  1323. StBreite = LENGTH(VZeile).
  1324. { v8/putstream.i "1" }
  1325. END.
  1326. ELSE DO:
  1327. { v8/putstream.i "1" }
  1328. END.
  1329. IF VSeite > 1 AND
  1330. FUeber = TRUE THEN DO:
  1331. SUBSTRING(VZeile,036) = TRIM(SUBSTRING(FormText[09],41,20)).
  1332. SUBSTRING(VZeile,082) = STRING(VFak_Betr,"->>,>>9.99").
  1333. { v8/putstreamf.i "2" }
  1334. END.
  1335. END PROCEDURE.
  1336. /* _UIB-CODE-BLOCK-END */
  1337. &ANALYZE-RESUME
  1338. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE GEBINDE_ABRECHNUNG C-Win
  1339. PROCEDURE GEBINDE_ABRECHNUNG :
  1340. /*------------------------------------------------------------------------------
  1341. Purpose:
  1342. Parameters: <none>
  1343. Notes:
  1344. ------------------------------------------------------------------------------*/
  1345. Zuszz = 0.
  1346. FOR EACH AufGKon USE-INDEX AufGKon-k1
  1347. WHERE AufGKon.Firma = BAufko.Firma
  1348. AND AufGKon.Aufnr = BAufko.Aufnr
  1349. AND AufGKon.Depot <> 0 NO-LOCK:
  1350. IF AufGKon.Eingang = 0 AND
  1351. AufGKon.Ausgang = 0 THEN NEXT.
  1352. Zuszz = Zuszz + 1.
  1353. END.
  1354. Ja = FALSE.
  1355. IF Zuszz > 0 THEN DO:
  1356. Zuszz = Zuszz + 2.
  1357. Ja = TRUE.
  1358. END.
  1359. IF (BLiDruck.Listtzz - VLine - Zuszz) < BLiDruck.Listfzz THEN DO:
  1360. RUN VALUE(VKopfArt).
  1361. END.
  1362. i5 = 0.
  1363. VZTot = 0.
  1364. IF Ja THEN DO:
  1365. SUBSTRING(VZeile,001) = FormText[12].
  1366. SUBSTRING(VZeile,071) = FormText[13].
  1367. { v8/putstreamf.i "1" }
  1368. END.
  1369. FOR EACH AufGKon USE-INDEX AufGKon-k1
  1370. WHERE AufGKon.Firma = BAufko.Firma
  1371. AND AufGKon.Aufnr = BAufko.Aufnr
  1372. AND AufGKon.Depot <> 0 NO-LOCK:
  1373. IF AufGKon.Eingang = 0 AND
  1374. AufGKon.Ausgang = 0 THEN NEXT.
  1375. FIND GebKonto USE-INDEX GebKonto-k1
  1376. WHERE GebKonto.Firma = GVFirma
  1377. AND GebKonto.Geb_Cd = AufGKon.Geb_Cd NO-LOCK.
  1378. i1 = AufGKon.Ausgang - AufGKon.Eingang.
  1379. Rundbetr = AufGKon.Betrag.
  1380. VWC = AufGKon.MWSt_Cd.
  1381. VZTot = VZTot + Rundbetr.
  1382. SUBSTRING(VZeile,004) = GebKonto.Bez.
  1383. SUBSTRING(VZeile,035) = STRING(AufGKon.Ausgang,"->>,>>9").
  1384. SUBSTRING(VZeile,045) = STRING(AufGKon.Eingang,"->>,>>9").
  1385. SUBSTRING(VZeile,055) = STRING(i1 ,"->>,>>9").
  1386. SUBSTRING(VZeile,065) = STRING(Rundbetr ,"->>,>>9.99").
  1387. SUBSTRING(VZeile,093) = STRING(VWC ,"z9").
  1388. { v8/putstream.i "1" }
  1389. i5 = i5 + 1.
  1390. END.
  1391. IF i5 > 0 THEN DO:
  1392. SUBSTRING(VZeile,036) = TRIM(SUBSTRING(FormText[11],21,20)).
  1393. SUBSTRING(VZeile,082) = STRING(VZTot,"->>,>>9.99").
  1394. { v8/putstream.i "1" }
  1395. VFak_Betr = VFak_Betr + VZTot.
  1396. END.
  1397. IF NOT FSamm THEN DO:
  1398. SUBSTRING(VZeile,027) = FILL('-', StBreite - 026).
  1399. { v8/putstream.i "1" }
  1400. SUBSTRING(VZeile,027) = TRIM(SUBSTRING(FormText[15],21,20)).
  1401. SUBSTRING(VZeile,082) = STRING(VFak_Betr,"->>,>>9.99").
  1402. { v8/putstreamf.i "1" }
  1403. SUBSTRING(VZeile,027) = FILL('-', StBreite - 026).
  1404. { v8/putstream.i "1" }
  1405. END.
  1406. END PROCEDURE.
  1407. /* _UIB-CODE-BLOCK-END */
  1408. &ANALYZE-RESUME
  1409. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE GEBINDE_ABRECHNUNG_KASSE C-Win
  1410. PROCEDURE GEBINDE_ABRECHNUNG_KASSE :
  1411. /*------------------------------------------------------------------------------
  1412. Purpose:
  1413. Parameters: <none>
  1414. Notes:
  1415. ------------------------------------------------------------------------------*/
  1416. i5 = 0.
  1417. VZTot = 0.
  1418. /*
  1419. SUBSTRING(VZeile,001) = FormText[12].
  1420. { v8/putstream_epson_pos.i "1" }
  1421. */
  1422. IF NOT FDebst.Geb_Rg THEN RETURN.
  1423. FOR EACH AufGKon USE-INDEX AufGKon-k1
  1424. WHERE AufGKon.Firma = BAufko.Firma
  1425. AND AufGKon.Aufnr = BAufko.Aufnr
  1426. AND AufGKon.Depot <> 0 NO-LOCK:
  1427. IF AufGKon.Eingang = 0 AND
  1428. AufGKon.Ausgang = 0 THEN NEXT.
  1429. FIND GebKonto USE-INDEX GebKonto-k1
  1430. WHERE GebKonto.Firma = GVFirma
  1431. AND GebKonto.Geb_Cd = AufGKon.Geb_Cd NO-LOCK.
  1432. i1 = AufGKon.Ausgang - AufGKon.Eingang.
  1433. Rundbetr = AufGKon.Betrag.
  1434. VWC = AufGKon.MWSt_Cd.
  1435. VZTot = VZTot + Rundbetr.
  1436. SUBSTRING(VZeile,001) = STRING(GebKonto.Bez,"x(10)").
  1437. SUBSTRING(VZeile,011) = STRING(AufGKon.Ausgang,"->>>9").
  1438. SUBSTRING(VZeile,017) = STRING(AufGKon.Eingang,"->>>9").
  1439. SUBSTRING(VZeile,023) = STRING(i1 ,"->>>9").
  1440. SUBSTRING(VZeile,029) = STRING(Rundbetr ,"->>>9.99").
  1441. SUBSTRING(VZeile,039) = STRING(VWC ,"z9").
  1442. { v8/putstream_epson_pos.i "1" }
  1443. i5 = i5 + 1.
  1444. FIND FIRST TUmsGrp WHERE TUmsGrp.Ums_Grp = 1001 NO-ERROR.
  1445. IF NOT AVAILABLE TUmsGrp THEN DO:
  1446. FIND WarenGrp USE-INDEX WarenGrp-k1
  1447. WHERE WarenGrp.Firma = GVFirma
  1448. AND WarenGrp.Wgr = 1001 NO-LOCK NO-ERROR.
  1449. CREATE TUmsGrp.
  1450. ASSIGN TUmsGrp.Ums_Grp = 1001
  1451. TUmsGrp.Bez = 'Gebindesaldo'.
  1452. END.
  1453. TUmsGrp.Ums_Betr = TUmsGrp.Ums_Betr + AufGKon.Betrag.
  1454. END.
  1455. IF i5 > 0 THEN DO:
  1456. VFak_Betr = VFak_Betr + VZTot.
  1457. SUBSTRING(VZeile,001) = TRIM(SUBSTRING(FormText[11],21,20)).
  1458. SUBSTRING(VZeile,029) = STRING(VFak_Betr,"->>>9.99").
  1459. VZeile = CHR(27) + 'G' + CHR(01) + VZeile + CHR(27) + 'G' + CHR(02).
  1460. { v8/putstream_epson_pos.i "1" }
  1461. END.
  1462. END PROCEDURE.
  1463. /* _UIB-CODE-BLOCK-END */
  1464. &ANALYZE-RESUME
  1465. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE GEBINDE_LIEFERUNG C-Win
  1466. PROCEDURE GEBINDE_LIEFERUNG :
  1467. /*------------------------------------------------------------------------------
  1468. Purpose:
  1469. Parameters: <none>
  1470. Notes:
  1471. ------------------------------------------------------------------------------*/
  1472. Zuszz = 0.
  1473. FOR EACH TGebKto NO-LOCK:
  1474. Zuszz = Zuszz + 1.
  1475. END.
  1476. IF Zuszz > 0 THEN Zuszz = Zuszz + 2.
  1477. Zuszz = (Zuszz + 1) / 2.
  1478. IF (BLiDruck.Listtzz - VLine - Zuszz) < BLiDruck.Listfzz THEN DO:
  1479. RUN VALUE(VKopfArt).
  1480. END.
  1481. i5 = 0.
  1482. VZTot = 0.
  1483. SUBSTRING(VZeile,001) = BDrucker.DruUnterB
  1484. + TRIM(SUBSTRING(FormText[10],01,20))
  1485. + BDrucker.DruUnterE.
  1486. { v8/putstream.i "2" }
  1487. i1 = 1.
  1488. i2 = 0.
  1489. FOR EACH TGebKto BY TGebKto.Sort_Cd
  1490. BY TGebKto.Geb_Cd :
  1491. i2 = i2 + 1.
  1492. IF i2 MOD 2 = 0 THEN i1 = 41.
  1493. ELSE i1 = 01.
  1494. SUBSTRING(VZeile,i1) = STRING(TGebKto.A_Anz,"->>>>9")
  1495. + " "
  1496. + STRING(TGebKto.Bez,"x(30)").
  1497. IF i1 > 30 THEN DO:
  1498. { v8/putstream.i "1" }
  1499. i5 = i5 + 1.
  1500. END.
  1501. END.
  1502. IF VZeile <> '' THEN DO:
  1503. { v8/putstream.i "1" }
  1504. i5 = i5 + 1.
  1505. END.
  1506. IF i5 > 0 THEN DO:
  1507. { v8/putstream.i "1" }
  1508. END.
  1509. END PROCEDURE.
  1510. /* _UIB-CODE-BLOCK-END */
  1511. &ANALYZE-RESUME
  1512. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE GEBINDE_RUECKNAHME_TABELLE C-Win
  1513. PROCEDURE GEBINDE_RUECKNAHME_TABELLE :
  1514. /*------------------------------------------------------------------------------
  1515. Purpose:
  1516. Parameters: <none>
  1517. Notes:
  1518. ------------------------------------------------------------------------------*/
  1519. /* Gebinderücknahmetabelle ------------------------------------------- */
  1520. DEF VAR cTextArt AS CHAR NO-UNDO.
  1521. VTabTexte = ''.
  1522. cTextArt = SUBSTITUTE('GEBINDERETOUR&1', STRING(bAufko.Fak_Art,'99')).
  1523. FIND TabTexte NO-LOCK USE-INDEX TabTexte-k1
  1524. WHERE TabTexte.Firma = GVFirma
  1525. AND TabTexte.TextArt = cTextArt
  1526. AND TabTexte.Sprcd = LVSprcd NO-ERROR.
  1527. IF NOT AVAILABLE TabTexte THEN DO:
  1528. FIND TabTexte NO-LOCK USE-INDEX TabTexte-k1
  1529. WHERE TabTexte.Firma = GVFirma
  1530. AND TabTexte.TextArt = cTextArt
  1531. AND TabTexte.Sprcd = 1 NO-ERROR.
  1532. END.
  1533. IF NOT AVAILABLE TabTexte THEN DO:
  1534. cTextArt = 'GEBINDERETOUR'.
  1535. FIND TabTexte NO-LOCK USE-INDEX TabTexte-k1
  1536. WHERE TabTexte.Firma = GVFirma
  1537. AND TabTexte.TextArt = cTextArt
  1538. AND TabTexte.Sprcd = LVSprcd NO-ERROR.
  1539. END.
  1540. IF NOT AVAILABLE TabTexte THEN DO:
  1541. FIND TabTexte NO-LOCK USE-INDEX TabTexte-k1
  1542. WHERE TabTexte.Firma = GVFirma
  1543. AND TabTexte.TextArt = cTextArt
  1544. AND TabTexte.Sprcd = 1 NO-ERROR.
  1545. END.
  1546. IF AVAILABLE TabTexte THEN VTabTexte = TabTexte.Inhalt.
  1547. Zuszz = NUM-ENTRIES(VTabTexte, CHR(10)).
  1548. IF Zuszz > 0 THEN Zuszz = Zuszz + 2.
  1549. IF (BLiDruck.Listtzz - VLine - Zuszz) < BLiDruck.Listfzz THEN DO:
  1550. RUN VALUE(VKopfArt).
  1551. END.
  1552. DO WHILE TRUE:
  1553. ix = INDEX(VTabTexte, CHR(10)).
  1554. IF ix = 0 THEN DO:
  1555. VZeile = VTabTexte.
  1556. LEAVE.
  1557. END.
  1558. VZeile = SUBSTRING(VTabTexte,01,ix - 1).
  1559. VTabTexte = SUBSTRING(VTabTexte,ix + 1).
  1560. { v8/putstream.i "1" }.
  1561. END.
  1562. IF VZeile <> '' THEN DO:
  1563. { v8/putstream.i "1" }.
  1564. END.
  1565. END PROCEDURE.
  1566. /* _UIB-CODE-BLOCK-END */
  1567. &ANALYZE-RESUME
  1568. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE GEBINDE_SALDO C-Win
  1569. PROCEDURE GEBINDE_SALDO :
  1570. /*------------------------------------------------------------------------------
  1571. Purpose:
  1572. Parameters: <none>
  1573. Notes:
  1574. ------------------------------------------------------------------------------*/
  1575. FOR EACH AufGKon USE-INDEX AufGKon-k1
  1576. WHERE AufGKon.Firma = BAufko.Firma
  1577. AND AufGKon.Aufnr = BAufko.Aufnr NO-LOCK:
  1578. IF AufGKon.Eingang = 0 AND
  1579. AufGKon.Ausgang = 0 THEN NEXT.
  1580. FIND FIRST TGebKto WHERE TGebKto.Geb_Cd = AufGKon.Geb_Cd NO-ERROR.
  1581. IF NOT AVAILABLE TGebKto THEN DO:
  1582. FIND GebKonto USE-INDEX GebKonto-k1
  1583. WHERE GebKonto.Firma = AufGKon.Firma
  1584. AND GebKonto.Geb_Cd = AufGKon.Geb_Cd NO-LOCK.
  1585. CREATE TGebKto.
  1586. ASSIGN TGebKto.Sort_Cd = GebKonto.Sort_Cd
  1587. TGebKto.Geb_Cd = GebKonto.Geb_Cd
  1588. TGebKto.Bez = GebKonto.Bez
  1589. TGebKto.Preis = AufGKon.Depot
  1590. TGebKto.MWST_Cd = AufGKon.MWSt_Cd.
  1591. END.
  1592. TGebKto.A_Anz = TGebKto.A_Anz + AufGKon.Ausgang.
  1593. TGebKto.A_Betrag = TGebKto.A_Anz * TGebKto.Preis.
  1594. TGebKto.E_Anz = TGebKto.E_Anz + AufGKon.Eingang.
  1595. TGebKto.E_Betrag = TGebKto.E_Anz * TGebKto.Preis.
  1596. END.
  1597. END PROCEDURE.
  1598. /* _UIB-CODE-BLOCK-END */
  1599. &ANALYZE-RESUME
  1600. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE KASSE C-Win
  1601. PROCEDURE KASSE :
  1602. /*------------------------------------------------------------------------------
  1603. Purpose:
  1604. Parameters: <none>
  1605. Notes:
  1606. ------------------------------------------------------------------------------*/
  1607. VSeite = 0.
  1608. VFak_Betr = 0.
  1609. LiKopf = TRUE.
  1610. FPreis = TRUE.
  1611. FBetrag = TRUE.
  1612. FRabatt = TRUE.
  1613. FUeber = TRUE.
  1614. FSamm = FALSE.
  1615. VKopfArt = 'KASSE_KOPF'.
  1616. RUN VALUE(VKopfArt).
  1617. FOR EACH TAufze NO-LOCK
  1618. BY TAufze.Aufnr
  1619. BY TAufze.Sort1
  1620. BY TAufze.Sort2
  1621. BY TAufze.Sort3
  1622. BY TAufze.Artnr
  1623. BY TAufze.Inhalt
  1624. BY TAufze.Jahr
  1625. BY TAufze.Pos :
  1626. FIND Aufze WHERE RECID(Aufze) = TAufze.Zeile NO-LOCK.
  1627. RUN ARTIKELZEILE_KASSE.
  1628. VFak_Betr = VFak_Betr + Aufze.Net_Betr.
  1629. END.
  1630. SUBSTRING(VZeile,001) = TRIM(SUBSTRING(FormText[10],41,20)).
  1631. SUBSTRING(VZeile,029) = STRING(VFak_Betr,"->>>9.99").
  1632. VZeile = CHR(27) + 'G' + CHR(01) + VZeile + CHR(27) + 'G' + CHR(02).
  1633. { v8/putstream_epson_pos.i "1" }
  1634. RUN SUMMENRABATTE_KASSE.
  1635. RUN GEBINDE_SALDO.
  1636. RUN GEBINDE_ABRECHNUNG_KASSE.
  1637. RUN MEHRWERTSTEUER_KASSE.
  1638. RUN KASSE_ABSCHLUSS.
  1639. RUN KOPF_MUTATION.
  1640. END PROCEDURE.
  1641. /* _UIB-CODE-BLOCK-END */
  1642. &ANALYZE-RESUME
  1643. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE KASSE_ABSCHLUSS C-Win
  1644. PROCEDURE KASSE_ABSCHLUSS :
  1645. /*------------------------------------------------------------------------------
  1646. Purpose:
  1647. Parameters: <none>
  1648. Notes:
  1649. ------------------------------------------------------------------------------*/
  1650. IF BAufko.Bar_Betr <> 0 THEN DO:
  1651. { v8/putstream_epson_pos.i "1" }
  1652. SUBSTRING(VZeile,001) = TRIM(FormText[19]).
  1653. { v8/putstream_epson_pos.i "2" }
  1654. END.
  1655. SUBSTRING(VZeile,001) = TRIM(FormText[20]).
  1656. { v8/putstream_epson_pos.i "2" }
  1657. VZeile = ' '.
  1658. { v8/putstream_epson_pos.i "6" }
  1659. END PROCEDURE.
  1660. /* _UIB-CODE-BLOCK-END */
  1661. &ANALYZE-RESUME
  1662. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE KASSE_KOPF C-Win
  1663. PROCEDURE KASSE_KOPF :
  1664. /*------------------------------------------------------------------------------
  1665. Purpose:
  1666. Parameters: <none>
  1667. Notes:
  1668. ------------------------------------------------------------------------------*/
  1669. /*
  1670. RUN NEUE_SEITE.
  1671. */
  1672. IF SFaknr = 0 THEN DO:
  1673. SFaknr = BAufko.Faknr.
  1674. REPEAT WHILE SFaknr = 0 TRANSACTION:
  1675. IF BAufko.Fak_Art = 99 THEN VFaknr = BAufko.Aufnr.
  1676. ELSE DO:
  1677. RUN "v8/steunr.p" ( INPUT 2, OUTPUT VFaknr ).
  1678. IF RETURN-VALUE <> '' THEN NEXT.
  1679. END.
  1680. SFaknr = VFaknr.
  1681. END.
  1682. END.
  1683. FIND Adresse USE-INDEX Adresse-k1
  1684. WHERE Adresse.Firma = AdFirma
  1685. AND Adresse.Knr = BAufko.Fak_Knr NO-LOCK NO-ERROR.
  1686. FIND LDebst USE-INDEX Debst-k1
  1687. WHERE LDebst.Firma = GVFirma
  1688. AND LDebst.Knr = BAufko.Knr NO-LOCK NO-ERROR.
  1689. FIND FDebst USE-INDEX Debst-k1
  1690. WHERE FDebst.Firma = GVFirma
  1691. AND FDebst.Knr = BAufko.Fak_Knr NO-LOCK NO-ERROR.
  1692. FIND Wust USE-INDEX Wust-k1
  1693. WHERE Wust.CodeK = LDebst.MWST
  1694. AND Wust.CodeA = 99 NO-LOCK NO-ERROR.
  1695. LVSprcd = Adresse.Sprcd.
  1696. DebInkl = FALSE.
  1697. IF AVAILABLE Wust THEN DebInkl = Wust.Incl.
  1698. XTelnr = ''.
  1699. IF DebInkl THEN DO:
  1700. IF Adresse.Tel-2 <> '' THEN XTelnr = Adresse.Tel-2.
  1701. ELSE XTelnr = Adresse.Tel-1.
  1702. END.
  1703. ELSE DO:
  1704. IF Adresse.Tel-1 <> '' THEN XTelnr = Adresse.Tel-1.
  1705. ELSE XTelnr = Adresse.Tel-2.
  1706. END.
  1707. F_Seite = VSeite.
  1708. F_Faknr = SFaknr.
  1709. DISPLAY F_Seite
  1710. F_Faknr WITH FRAME {&FRAME-NAME}.
  1711. PUT STREAM Out_Stream CONTROL CHR(27) '@' CHR(27) '!' CHR(8).
  1712. VZeile = 'Quittung/Ricevuta'.
  1713. { v8/putstreamf_epson_pos.i "2" }
  1714. FIND Steuer USE-INDEX Steuer-k1
  1715. WHERE Steuer.Firma = GVFirma NO-LOCK NO-ERROR.
  1716. IF Steuer.Firma1 <> '' THEN DO:
  1717. SUBSTRING(VZeile,001) = Steuer.Firma1.
  1718. { v8/putstream_epson_pos.i "1" }
  1719. END.
  1720. IF Steuer.Firma2 <> '' THEN DO:
  1721. SUBSTRING(VZeile,001) = Steuer.Firma2.
  1722. { v8/putstream_epson_pos.i "1" }
  1723. END.
  1724. IF Steuer.Strasse <> '' THEN DO:
  1725. SUBSTRING(VZeile,001) = Steuer.Strasse.
  1726. { v8/putstream_epson_pos.i "1" }
  1727. END.
  1728. IF Steuer.Ort <> '' THEN DO:
  1729. SUBSTRING(VZeile,001) = Steuer.Ort.
  1730. { v8/putstream_epson_pos.i "1" }
  1731. END.
  1732. SUBSTRING(VZeile,001) = TRIM(TRIM(SUBSTRING(FormText[18],01,20))
  1733. + " "
  1734. + BSteuer.MWST_Nr).
  1735. { v8/putstream_epson_pos.i "1" }
  1736. SUBSTRING(VZeile,001) = TRIM(TRIM(SUBSTRING(FormText[07],01,20))
  1737. + " "
  1738. + STRING(FDatum,"99.99.9999")).
  1739. { v8/putstream_epson_pos.i "2" }
  1740. SUBSTRING(VZeile,001) = TRIM(TRIM(SUBSTRING(FormText[02],01,20))
  1741. + STRING(SFaknr,"z999999")
  1742. + " /"
  1743. + STRING(BAufko.Aufnr,"9999999")).
  1744. { v8/putstreamf_epson_pos.i "2" }
  1745. END PROCEDURE.
  1746. /* _UIB-CODE-BLOCK-END */
  1747. &ANALYZE-RESUME
  1748. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE KOPF_MUTATION C-Win
  1749. PROCEDURE KOPF_MUTATION :
  1750. /*------------------------------------------------------------------------------
  1751. Purpose:
  1752. Parameters: <none>
  1753. Notes:
  1754. ------------------------------------------------------------------------------*/
  1755. DO TRANSACTION WHILE TRUE:
  1756. FIND Tabel USE-INDEX Tabel-k1
  1757. WHERE Tabel.Firma = GVFirma
  1758. AND Tabel.RecArt = 'FAKART'
  1759. AND Tabel.CodeC = ''
  1760. AND Tabel.CodeI = BAufko.Fak_Art
  1761. AND Tabel.Sprcd = 1 NO-LOCK NO-ERROR.
  1762. IF Tabel.Int_3 > 2 THEN DO:
  1763. FIND Aufko WHERE RECID(Aufko) = RECID(BAufko).
  1764. Aufko.Fak_Datum = FDatum.
  1765. Aufko.Faknr = SFaknr.
  1766. RELEASE Aufko.
  1767. END.
  1768. RUN AUFTRAG_GEDRUCKT ( INPUT BAufko.Aufnr ).
  1769. RELEASE Aufko.
  1770. LEAVE.
  1771. END.
  1772. FIND Aufko WHERE RECID(Aufko) = RECID(BAufko) NO-LOCK.
  1773. END PROCEDURE.
  1774. /* _UIB-CODE-BLOCK-END */
  1775. &ANALYZE-RESUME
  1776. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LIBILD C-Win
  1777. PROCEDURE LIBILD :
  1778. /*------------------------------------------------------------------------------
  1779. Purpose:
  1780. Parameters: <none>
  1781. Notes:
  1782. ------------------------------------------------------------------------------*/
  1783. DEF VAR VProgName AS CHAR NO-UNDO.
  1784. VProgName = BSteuer.Fwc10 + ":" + VDokArt.
  1785. FormText = "".
  1786. DO WHILE TRUE:
  1787. FOR EACH LiBild USE-INDEX LiBild-k1
  1788. WHERE LiBild.Sprcd = iSprcd
  1789. AND LiBild.Prog = VProgname
  1790. AND LiBild.Tenr > 0 NO-LOCK
  1791. ix = 1 TO 40:
  1792. FormText[ix] = LiBild.Litext.
  1793. END.
  1794. IF iSprcd = LVSprcd THEN LEAVE.
  1795. IF ix > 1 THEN LEAVE.
  1796. iSprcd = LVSprcd.
  1797. END.
  1798. Fuell = SUBSTRING(FormText[01],01,01).
  1799. Breite = INTEGER(SUBSTRING(FormText[01],02,03)).
  1800. VRand = INTEGER(SUBSTRING(FormText[01],68,03)).
  1801. Dattxt = SUBSTRING(FormText[01],05,10).
  1802. Seitxt = SUBSTRING(FormText[01],15,10).
  1803. Zeitxt = SUBSTRING(FormText[01],25,10).
  1804. Firtxt = SUBSTRING(FormText[01],35,10).
  1805. Jahtxt = SUBSTRING(FormText[01],45,10).
  1806. Ueber1 = "".
  1807. Ueber2 = "".
  1808. Ueber3 = "".
  1809. ap = 1.
  1810. XDruDat = ?.
  1811. VRabText = TRIM(SUBSTRING(FormText[21],01,20)).
  1812. VZusText = TRIM(SUBSTRING(FormText[21],21,20)).
  1813. VEpzText = TRIM(SUBSTRING(FormText[21],41,20)).
  1814. SUBSTRING(VZeile,001) = FormText[05].
  1815. SUBSTRING(VZeile,071) = FormText[06].
  1816. StBreite = LENGTH(VZeile).
  1817. RZeile = FILL('|', Breite).
  1818. SUBSTRING(RZeile,001) = STRING(' ',"x(06)").
  1819. SUBSTRING(RZeile,008) = STRING(' ',"x(03)").
  1820. SUBSTRING(RZeile,012) = STRING(' ',"x(08)").
  1821. SUBSTRING(RZeile,021) = STRING(' ',"x(05)").
  1822. SUBSTRING(RZeile,027) = STRING(' ',"x(08)").
  1823. SUBSTRING(RZeile,036) = STRING(' ',"x(35)").
  1824. SUBSTRING(RZeile,072) = STRING(' ',"x(02)").
  1825. SUBSTRING(RZeile,075) = STRING(' ',"x(06)").
  1826. SUBSTRING(RZeile,082) = STRING(' ',"x(10)").
  1827. SUBSTRING(RZeile,093) = STRING(' ',"x(02)").
  1828. RZeile = SUBSTRING(RZeile,01,StBreite).
  1829. VZeile = ''.
  1830. END PROCEDURE.
  1831. /* _UIB-CODE-BLOCK-END */
  1832. &ANALYZE-RESUME
  1833. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LIEFERFAK C-Win
  1834. PROCEDURE LIEFERFAK :
  1835. /*------------------------------------------------------------------------------
  1836. Purpose:
  1837. Parameters: <none>
  1838. Notes:
  1839. ------------------------------------------------------------------------------*/
  1840. VSeite = 0.
  1841. VFak_Betr = 0.
  1842. LiKopf = TRUE.
  1843. FPreis = TRUE.
  1844. FBetrag = TRUE.
  1845. FRabatt = TRUE.
  1846. FUeber = TRUE.
  1847. FSamm = FALSE.
  1848. VKopfArt = 'LIEFERFAK_KOPF'.
  1849. RUN VALUE(VKopfArt).
  1850. FOR EACH TAufze NO-LOCK
  1851. BY TAufze.Aufnr
  1852. /*
  1853. BY TAufze.Sort1
  1854. BY TAufze.Sort2
  1855. BY TAufze.Sort3
  1856. BY TAufze.Artnr
  1857. BY TAufze.Inhalt
  1858. BY TAufze.Jahr
  1859. */
  1860. BY TAufze.Pos :
  1861. IF (BLiDruck.Listtzz - VLine - 2) < BLiDruck.Listfzz THEN DO:
  1862. RUN VALUE(VKopfArt).
  1863. END.
  1864. FIND Aufze WHERE RECID(Aufze) = TAufze.Zeile NO-LOCK.
  1865. RUN ARTIKELZEILE.
  1866. VFak_Betr = VFak_Betr + Aufze.Net_Betr.
  1867. END.
  1868. VZeile = FILL('-', StBreite).
  1869. { v8/putstream.i "1" }
  1870. SUBSTRING(VZeile,036) = TRIM(SUBSTRING(FormText[10],41,20)).
  1871. SUBSTRING(VZeile,081) = STRING(VFak_Betr,"->>>,>>9.99").
  1872. { v8/putstreamf.i "1" }
  1873. LiKopf = FALSE.
  1874. RUN SUMMENRABATTE.
  1875. { v8/putstream.i "1" }
  1876. RUN GEBINDE_SALDO.
  1877. RUN GEBINDE_ABRECHNUNG.
  1878. RUN MEHRWERTSTEUER.
  1879. { v8/putstream.i "1" }
  1880. SUBSTRING(VZeile,050) = TRIM(SUBSTRING(FormText[18],21,20)).
  1881. SUBSTRING(VZeile,082) = "__________".
  1882. { v8/putstreamf.i "2" }
  1883. SUBSTRING(VZeile,050) = TRIM(SUBSTRING(FormText[18],41,20)).
  1884. SUBSTRING(VZeile,082) = "__________".
  1885. { v8/putstreamf.i "2" }
  1886. RUN GEBINDE_RUECKNAHME_TABELLE.
  1887. RUN KOPF_MUTATION.
  1888. Rundbetr = 0.
  1889. VesrKnr = BAufko.Fak_Knr.
  1890. VesrFnr = BAufko.Faknr.
  1891. RUN VESR_DRUCK.
  1892. END PROCEDURE.
  1893. /* _UIB-CODE-BLOCK-END */
  1894. &ANALYZE-RESUME
  1895. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LIEFERFAKKIESEN C-Win
  1896. PROCEDURE LIEFERFAKKIESEN :
  1897. /*------------------------------------------------------------------------------
  1898. Purpose:
  1899. Parameters: <none>
  1900. Notes:
  1901. ------------------------------------------------------------------------------*/
  1902. RUN LIEFERFAK.
  1903. END PROCEDURE.
  1904. /* _UIB-CODE-BLOCK-END */
  1905. &ANALYZE-RESUME
  1906. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LIEFERFAK_KOPF C-Win
  1907. PROCEDURE LIEFERFAK_KOPF :
  1908. /*------------------------------------------------------------------------------
  1909. Purpose:
  1910. Parameters: <none>
  1911. Notes:
  1912. ------------------------------------------------------------------------------*/
  1913. RUN NEUE_SEITE.
  1914. PUT STREAM Out_Stream CONTROL CHR(27) "&l0O" /* Hochformat */
  1915. CHR(27) "&l5H" /* Schacht 3 */
  1916. CHR(27) "(10U" /* CODEPAGE 850 */
  1917. CHR(27) "(s4102t0b0p0s12H". /* LetterGotic 12cpi */
  1918. RUN BANKKONTO. /* Fusszeile Bankkonto */
  1919. IF VSeite = 1 THEN DO:
  1920. IF SFaknr = 0 THEN DO:
  1921. SFaknr = BAufko.Faknr.
  1922. REPEAT WHILE SFaknr = 0 TRANSACTION:
  1923. RUN "v8/steunr.p" ( INPUT 2, OUTPUT VFaknr ).
  1924. IF RETURN-VALUE <> '' THEN NEXT.
  1925. SFaknr = VFaknr.
  1926. END.
  1927. END.
  1928. FIND Adresse USE-INDEX Adresse-k1
  1929. WHERE Adresse.Firma = AdFirma
  1930. AND Adresse.Knr = BAufko.Fak_Knr NO-LOCK NO-ERROR.
  1931. FIND LDebst USE-INDEX Debst-k1
  1932. WHERE LDebst.Firma = GVFirma
  1933. AND LDebst.Knr = BAufko.Knr NO-LOCK NO-ERROR.
  1934. FIND FDebst USE-INDEX Debst-k1
  1935. WHERE FDebst.Firma = GVFirma
  1936. AND FDebst.Knr = BAufko.Fak_Knr NO-LOCK NO-ERROR.
  1937. FIND Wust USE-INDEX Wust-k1
  1938. WHERE Wust.CodeK = LDebst.MWST
  1939. AND Wust.CodeA = 99 NO-LOCK NO-ERROR.
  1940. LVSprcd = Adresse.Sprcd.
  1941. DebInkl = FALSE.
  1942. IF AVAILABLE Wust THEN DebInkl = Wust.Incl.
  1943. XTelnr = ''.
  1944. IF DebInkl THEN DO:
  1945. IF Adresse.Tel-2 <> '' THEN XTelnr = Adresse.Tel-2.
  1946. ELSE XTelnr = Adresse.Tel-1.
  1947. END.
  1948. ELSE DO:
  1949. IF Adresse.Tel-1 <> '' THEN XTelnr = Adresse.Tel-1.
  1950. ELSE XTelnr = Adresse.Tel-2.
  1951. END.
  1952. END.
  1953. F_Seite = VSeite.
  1954. F_Faknr = SFaknr.
  1955. DISPLAY F_Seite
  1956. F_Faknr WITH FRAME {&FRAME-NAME}.
  1957. VZeile = ''.
  1958. { v8/putstream.i BLiDruck.Listkzz }.
  1959. IF BAufko.Adresse[05] <> '' THEN DO:
  1960. DO ix = 1 TO 5:
  1961. SUBSTRING(VZeile,012) = BAufko.Adresse[ix].
  1962. IF ix = 5 THEN DO: { v8/putstreamf.i "1" }. END.
  1963. ELSE DO: { v8/putstream.i "1" }. END.
  1964. END.
  1965. END.
  1966. ELSE DO:
  1967. DO ix = 7 TO 11:
  1968. SUBSTRING(VZeile,012) = Adresse.Anschrift[ix].
  1969. IF ix = 11 THEN DO: { v8/putstreamf.i "1" }. END.
  1970. ELSE DO: { v8/putstream.i "1" }. END.
  1971. END.
  1972. END.
  1973. SUBSTRING(VZeile,054) = TRIM(SUBSTRING(FormText[02],01,20))
  1974. + STRING(SFaknr,"z999999")
  1975. + " /"
  1976. + STRING(VSeite,"zz9").
  1977. { v8/putstreamf.i "1" }
  1978. SUBSTRING(VZeile,054) = TRIM(SUBSTRING(FormText[18],01,20))
  1979. + " "
  1980. + BSteuer.MWST_Nr.
  1981. { v8/putstream.i "1" }
  1982. SUBSTRING(VZeile,054) = TRIM(SUBSTRING(FormText[07],01,20))
  1983. + " "
  1984. + STRING(FDatum,"99.99.9999").
  1985. { v8/putstream.i "2" }
  1986. DO WHILE VSeite = 1.
  1987. RUN ABLADEVORSCHRIFT.
  1988. RUN VERSANDART.
  1989. RUN CHAUFFEUR.
  1990. SUBSTRING(VZeile,001) = TRIM(SUBSTRING(FormText[07],21,20))
  1991. + " "
  1992. + BAufko.I_Best.
  1993. SUBSTRING(VZeile,061) = TRIM(SUBSTRING(FormText[08],21,20))
  1994. + STRING(BAufko.Gewicht,"zzz,zz9.999-").
  1995. { v8/putstream.i "1" }
  1996. SUBSTRING(VZeile,001) = TRIM(SUBSTRING(FormText[07],41,20))
  1997. + " "
  1998. + STRING(BAufko.Auf_Datum,"99.99.9999").
  1999. SUBSTRING(VZeile,033) = TRIM(SUBSTRING(FormText[08],01,20))
  2000. + STRING(BAufko.Knr,"zz999999").
  2001. SUBSTRING(VZeile,061) = TRIM(SUBSTRING(FormText[08],41,20))
  2002. + " "
  2003. + XTelnr.
  2004. { v8/putstream.i "1" }
  2005. SUBSTRING(VZeile,001) = TRIM(SUBSTRING(FormText[09],21,20))
  2006. + " "
  2007. + STRING(BAufko.Lief_Datum,"99.99.9999").
  2008. SUBSTRING(VZeile,033) = TRIM(SUBSTRING(FormText[09],01,20))
  2009. + " "
  2010. + XVersand.
  2011. { v8/putstream.i "1" }
  2012. SUBSTRING(VZeile,001) = TRIM(SUBSTRING(FormText[17],21,20))
  2013. + " "
  2014. + STRING(BAufko.Aufnr,"9999999").
  2015. SUBSTRING(VZeile,033) = TRIM(SUBSTRING(FormText[22],01,20))
  2016. + " "
  2017. + XChauffeur.
  2018. { v8/putstream.i "2" }
  2019. IF XAblade <> '' THEN DO:
  2020. SUBSTRING(VZeile,001) = XAblade.
  2021. { v8/putstreamf.i "2" }
  2022. END.
  2023. XAuf_Text = BAufko.Auf_Text.
  2024. i1 = INDEX(XAuf_Text, CHR(10)).
  2025. i2 = 0.
  2026. DO WHILE i1 > 0:
  2027. SUBSTRING(VZeile,001) = SUBSTRING(XAuf_Text,01,i1 - 1).
  2028. { v8/putstreamf.i "1" }
  2029. XAuf_Text = SUBSTRING(XAuf_Text,i1 + 1).
  2030. i1 = INDEX(XAuf_Text, CHR(10)).
  2031. i2 = i2 + 1.
  2032. END.
  2033. IF XAuf_Text <> '' THEN DO:
  2034. SUBSTRING(VZeile,001) = XAuf_Text.
  2035. { v8/putstreamf.i "1" }
  2036. i2 = i2 + 1.
  2037. END.
  2038. IF i2 > 0 THEN DO:
  2039. { v8/putstream.i "1" }
  2040. END.
  2041. XAuf_Text = BAufko.Abh_Text.
  2042. i1 = INDEX(XAuf_Text, CHR(10)).
  2043. i2 = 0.
  2044. DO WHILE i1 > 0:
  2045. SUBSTRING(VZeile,001) = SUBSTRING(XAuf_Text,01,i1 - 1).
  2046. { v8/putstreamf.i "1" }
  2047. XAuf_Text = SUBSTRING(XAuf_Text,i1 + 1).
  2048. i1 = INDEX(XAuf_Text, CHR(10)).
  2049. i2 = i2 + 1.
  2050. END.
  2051. IF XAuf_Text <> '' THEN DO:
  2052. SUBSTRING(VZeile,001) = XAuf_Text.
  2053. { v8/putstreamf.i "1" }
  2054. i2 = i2 + 1.
  2055. END.
  2056. IF i2 > 0 THEN DO:
  2057. { v8/putstream.i "1" }
  2058. END.
  2059. LEAVE.
  2060. END.
  2061. IF LiKopf THEN DO:
  2062. SUBSTRING(VZeile,001) = FormText[03].
  2063. SUBSTRING(VZeile,071) = FormText[04].
  2064. { v8/putstream.i "1" }
  2065. SUBSTRING(VZeile,001) = FormText[05].
  2066. SUBSTRING(VZeile,071) = FormText[06].
  2067. { v8/putstream.i "1" }
  2068. END.
  2069. ELSE DO:
  2070. { v8/putstream.i "1" }
  2071. END.
  2072. IF VSeite > 1 AND
  2073. FUeber = TRUE THEN DO:
  2074. SUBSTRING(VZeile,036) = TRIM(SUBSTRING(FormText[09],41,20)).
  2075. SUBSTRING(VZeile,082) = STRING(VFak_Betr,"->>,>>9.99").
  2076. { v8/putstreamf.i "2" }
  2077. END.
  2078. END PROCEDURE.
  2079. /* _UIB-CODE-BLOCK-END */
  2080. &ANALYZE-RESUME
  2081. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LIEFERPREIS C-Win
  2082. PROCEDURE LIEFERPREIS :
  2083. /*------------------------------------------------------------------------------
  2084. Purpose:
  2085. Parameters: <none>
  2086. Notes:
  2087. ------------------------------------------------------------------------------*/
  2088. VSeite = 0.
  2089. VFak_Betr = 0.
  2090. LiKopf = TRUE.
  2091. FPreis = TRUE.
  2092. FBetrag = FALSE.
  2093. FRabatt = FALSE.
  2094. FSamm = FALSE.
  2095. VKopfArt = 'LIEFERSCHEIN_KOPF'.
  2096. RUN VALUE(VKopfArt).
  2097. FOR EACH TAufze NO-LOCK
  2098. BY TAufze.Aufnr
  2099. /*
  2100. BY TAufze.Sort1
  2101. BY TAufze.Sort2
  2102. BY TAufze.Sort3
  2103. BY TAufze.Artnr
  2104. BY TAufze.Inhalt
  2105. BY TAufze.Jahr
  2106. */
  2107. BY TAufze.Pos :
  2108. IF (BLiDruck.Listtzz - VLine - 2) < BLiDruck.Listfzz THEN DO:
  2109. RUN VALUE(VKopfArt).
  2110. END.
  2111. FIND Aufze WHERE RECID(Aufze) = TAufze.Zeile NO-LOCK.
  2112. RUN ARTIKELZEILE.
  2113. VFak_Betr = VFak_Betr + Aufze.Net_Betr.
  2114. END.
  2115. VZeile = FILL('-', StBreite).
  2116. { v8/putstream.i "2" }
  2117. LiKopf = FALSE.
  2118. RUN GEBINDE_SALDO.
  2119. RUN GEBINDE_LIEFERUNG.
  2120. RUN GEBINDE_RUECKNAHME_TABELLE.
  2121. RUN KOPF_MUTATION.
  2122. END PROCEDURE.
  2123. /* _UIB-CODE-BLOCK-END */
  2124. &ANALYZE-RESUME
  2125. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LIEFERPREISKIESEN C-Win
  2126. PROCEDURE LIEFERPREISKIESEN :
  2127. /*------------------------------------------------------------------------------
  2128. Purpose:
  2129. Parameters: <none>
  2130. Notes:
  2131. ------------------------------------------------------------------------------*/
  2132. RUN LIEFERPREIS.
  2133. END PROCEDURE.
  2134. /* _UIB-CODE-BLOCK-END */
  2135. &ANALYZE-RESUME
  2136. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LIEFERSCHEIN C-Win
  2137. PROCEDURE LIEFERSCHEIN :
  2138. /*------------------------------------------------------------------------------
  2139. Purpose:
  2140. Parameters: <none>
  2141. Notes:
  2142. ------------------------------------------------------------------------------*/
  2143. VSeite = 0.
  2144. VFak_Betr = 0.
  2145. LiKopf = TRUE.
  2146. FPreis = FALSE.
  2147. FBetrag = FALSE.
  2148. FRabatt = FALSE.
  2149. FSamm = FALSE.
  2150. VKopfArt = 'LIEFERSCHEIN_KOPF'.
  2151. RUN VALUE(VKopfArt).
  2152. FOR EACH TAufze NO-LOCK
  2153. BY TAufze.Aufnr
  2154. /*
  2155. BY TAufze.Sort1
  2156. BY TAufze.Sort2
  2157. BY TAufze.Sort3
  2158. BY TAufze.Artnr
  2159. BY TAufze.Inhalt
  2160. BY TAufze.Jahr
  2161. */
  2162. BY TAufze.Pos :
  2163. IF (BLiDruck.Listtzz - VLine - 2) < BLiDruck.Listfzz THEN DO:
  2164. RUN VALUE(VKopfArt).
  2165. END.
  2166. FIND Aufze WHERE RECID(Aufze) = TAufze.Zeile NO-LOCK.
  2167. RUN ARTIKELZEILE.
  2168. VFak_Betr = VFak_Betr + Aufze.Net_Betr.
  2169. END.
  2170. VZeile = FILL('-', StBreite).
  2171. { v8/putstream.i "2" }
  2172. LiKopf = FALSE.
  2173. RUN GEBINDE_SALDO.
  2174. RUN GEBINDE_LIEFERUNG.
  2175. RUN GEBINDE_RUECKNAHME_TABELLE.
  2176. RUN KOPF_MUTATION.
  2177. END PROCEDURE.
  2178. /* _UIB-CODE-BLOCK-END */
  2179. &ANALYZE-RESUME
  2180. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LIEFERSCHEINKIESEN C-Win
  2181. PROCEDURE LIEFERSCHEINKIESEN :
  2182. /*------------------------------------------------------------------------------
  2183. Purpose:
  2184. Parameters: <none>
  2185. Notes:
  2186. ------------------------------------------------------------------------------*/
  2187. RUN LIEFERSCHEIN.
  2188. END PROCEDURE.
  2189. /* _UIB-CODE-BLOCK-END */
  2190. &ANALYZE-RESUME
  2191. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LIEFERSCHEIN_KOPF C-Win
  2192. PROCEDURE LIEFERSCHEIN_KOPF :
  2193. /*------------------------------------------------------------------------------
  2194. Purpose:
  2195. Parameters: <none>
  2196. Notes:
  2197. ------------------------------------------------------------------------------*/
  2198. RUN NEUE_SEITE.
  2199. PUT STREAM Out_Stream CONTROL BSchrift.Schseqbeg.
  2200. /* PUT STREAM Out_Stream CONTROL CHR(27) "&l0O" /* Hochformat */
  2201. * CHR(27) "&l4H" /* Schacht 2 */
  2202. * CHR(27) "(10U" /* CODEPAGE 850 */
  2203. * CHR(27) "(s4102t0b0p0s12H". /* LetterGotic 12cpi */*/
  2204. IF VSeite = 1 THEN DO:
  2205. FIND Adresse USE-INDEX Adresse-k1
  2206. WHERE Adresse.Firma = AdFirma
  2207. AND Adresse.Knr = BAufko.Knr NO-LOCK NO-ERROR.
  2208. FIND LDebst USE-INDEX Debst-k1
  2209. WHERE LDebst.Firma = GVFirma
  2210. AND LDebst.Knr = BAufko.Knr NO-LOCK NO-ERROR.
  2211. FIND FDebst USE-INDEX Debst-k1
  2212. WHERE FDebst.Firma = GVFirma
  2213. AND FDebst.Knr = BAufko.Fak_Knr NO-LOCK NO-ERROR.
  2214. FIND Wust USE-INDEX Wust-k1
  2215. WHERE Wust.CodeK = LDebst.MWST
  2216. AND Wust.CodeA = 99 NO-LOCK NO-ERROR.
  2217. LVSprcd = Adresse.Sprcd.
  2218. DebInkl = FALSE.
  2219. IF AVAILABLE Wust THEN DebInkl = Wust.Incl.
  2220. XTelnr = ''.
  2221. IF DebInkl THEN DO:
  2222. IF Adresse.Tel-2 <> '' THEN XTelnr = Adresse.Tel-2.
  2223. ELSE XTelnr = Adresse.Tel-1.
  2224. END.
  2225. ELSE DO:
  2226. IF Adresse.Tel-1 <> '' THEN XTelnr = Adresse.Tel-1.
  2227. ELSE XTelnr = Adresse.Tel-2.
  2228. END.
  2229. END.
  2230. F_Seite = VSeite.
  2231. F_Faknr = BAufko.Faknr.
  2232. DISPLAY F_Seite
  2233. F_Faknr WITH FRAME {&FRAME-NAME}.
  2234. VZeile = ''.
  2235. { v8/putstream.i BLiDruck.Listkzz }.
  2236. IF BAufko.Adresse[05] <> '' THEN DO:
  2237. DO ix = 1 TO 5:
  2238. SUBSTRING(VZeile,012) = BAufko.Adresse[ix].
  2239. IF ix = 5 THEN DO: { v8/putstreamf.i "1" }. END.
  2240. ELSE DO: { v8/putstream.i "1" }. END.
  2241. END.
  2242. END.
  2243. ELSE DO:
  2244. DO ix = 7 TO 11:
  2245. SUBSTRING(VZeile,012) = Adresse.Anschrift[ix].
  2246. IF ix = 11 THEN DO: { v8/putstreamf.i "1" }. END.
  2247. ELSE DO: { v8/putstream.i "1" }. END.
  2248. END.
  2249. END.
  2250. SUBSTRING(VZeile,054) = TRIM(SUBSTRING(FormText[02],01,20))
  2251. + STRING(BAufko.Aufnr,"z999999")
  2252. + " /"
  2253. + STRING(VSeite,"zz9").
  2254. { v8/putstreamf.i "1" }
  2255. SUBSTRING(VZeile,054) = TRIM(SUBSTRING(FormText[18],01,20))
  2256. + " "
  2257. + BSteuer.MWST_Nr.
  2258. { v8/putstream.i "1" }
  2259. SUBSTRING(VZeile,054) = TRIM(SUBSTRING(FormText[07],01,20))
  2260. + " "
  2261. + STRING(FDatum,"99.99.9999").
  2262. { v8/putstream.i "2" }
  2263. DO WHILE VSeite = 1.
  2264. RUN ABLADEVORSCHRIFT.
  2265. RUN VERSANDART.
  2266. RUN CHAUFFEUR.
  2267. SUBSTRING(VZeile,001) = TRIM(SUBSTRING(FormText[07],21,20))
  2268. + " "
  2269. + BAufko.I_Best.
  2270. SUBSTRING(VZeile,061) = TRIM(SUBSTRING(FormText[08],21,20))
  2271. + STRING(BAufko.Gewicht,"zzz,zz9.999-").
  2272. { v8/putstream.i "1" }
  2273. SUBSTRING(VZeile,001) = TRIM(SUBSTRING(FormText[07],41,20))
  2274. + " "
  2275. + STRING(BAufko.Auf_Datum,"99.99.9999").
  2276. SUBSTRING(VZeile,033) = TRIM(SUBSTRING(FormText[08],01,20))
  2277. + STRING(BAufko.Knr,"zz999999").
  2278. SUBSTRING(VZeile,061) = TRIM(SUBSTRING(FormText[08],41,20))
  2279. + " "
  2280. + XTelnr.
  2281. { v8/putstream.i "1" }
  2282. SUBSTRING(VZeile,001) = TRIM(SUBSTRING(FormText[09],21,20))
  2283. + " "
  2284. + STRING(BAufko.Lief_Datum,"99.99.9999").
  2285. SUBSTRING(VZeile,033) = TRIM(SUBSTRING(FormText[09],01,20))
  2286. + " "
  2287. + XVersand
  2288. + " / "
  2289. + XChauffeur.
  2290. { v8/putstream.i "2" }
  2291. /* SUBSTRING(VZeile,001) = TRIM(SUBSTRING(FormText[22],01,20))
  2292. * + " "
  2293. * + XChauffeur.
  2294. * { v8/putstream.i "2" }
  2295. * */
  2296. IF XAblade <> '' THEN DO:
  2297. SUBSTRING(VZeile,001) = XAblade.
  2298. { v8/putstreamf.i "2" }
  2299. END.
  2300. XAuf_Text = BAufko.Auf_Text.
  2301. i1 = INDEX(XAuf_Text, CHR(10)).
  2302. i2 = 0.
  2303. DO WHILE i1 > 0:
  2304. SUBSTRING(VZeile,001) = SUBSTRING(XAuf_Text,01,i1 - 1).
  2305. { v8/putstreamf.i "1" }
  2306. XAuf_Text = SUBSTRING(XAuf_Text,i1 + 1).
  2307. i1 = INDEX(XAuf_Text, CHR(10)).
  2308. i2 = i2 + 1.
  2309. END.
  2310. IF XAuf_Text <> '' THEN DO:
  2311. SUBSTRING(VZeile,001) = XAuf_Text.
  2312. { v8/putstreamf.i "1" }
  2313. i2 = i2 + 1.
  2314. END.
  2315. IF i2 > 0 THEN DO:
  2316. { v8/putstream.i "1" }
  2317. END.
  2318. XAuf_Text = BAufko.Abh_Text.
  2319. i1 = INDEX(XAuf_Text, CHR(10)).
  2320. i2 = 0.
  2321. DO WHILE i1 > 0:
  2322. SUBSTRING(VZeile,001) = SUBSTRING(XAuf_Text,01,i1 - 1).
  2323. { v8/putstreamf.i "1" }
  2324. XAuf_Text = SUBSTRING(XAuf_Text,i1 + 1).
  2325. i1 = INDEX(XAuf_Text, CHR(10)).
  2326. i2 = i2 + 1.
  2327. END.
  2328. IF XAuf_Text <> '' THEN DO:
  2329. SUBSTRING(VZeile,001) = XAuf_Text.
  2330. { v8/putstreamf.i "1" }
  2331. i2 = i2 + 1.
  2332. END.
  2333. IF i2 > 0 THEN DO:
  2334. { v8/putstream.i "1" }
  2335. END.
  2336. LEAVE.
  2337. END.
  2338. IF LiKopf THEN DO:
  2339. SUBSTRING(VZeile,001) = FormText[03].
  2340. SUBSTRING(VZeile,071) = FormText[04].
  2341. { v8/putstream.i "1" }
  2342. SUBSTRING(VZeile,001) = FormText[05].
  2343. SUBSTRING(VZeile,071) = FormText[06].
  2344. StBreite = LENGTH(VZeile).
  2345. { v8/putstream.i "1" }
  2346. END.
  2347. ELSE DO:
  2348. { v8/putstream.i "1" }
  2349. END.
  2350. END PROCEDURE.
  2351. /* _UIB-CODE-BLOCK-END */
  2352. &ANALYZE-RESUME
  2353. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE MEHRWERTSTEUER C-Win
  2354. PROCEDURE MEHRWERTSTEUER :
  2355. /*------------------------------------------------------------------------------
  2356. Purpose:
  2357. Parameters: <none>
  2358. Notes:
  2359. ------------------------------------------------------------------------------*/
  2360. VWpfl = 0.
  2361. VWust = 0.
  2362. Zuszz = 0.
  2363. DO ix = 1 TO 11:
  2364. IF BAufko.WPfl[ix] = 0 THEN NEXT.
  2365. VWpfl[ix] = BAufko.Wpfl[ix].
  2366. VWust[ix] = BAufko.Wust[ix].
  2367. Zuszz = Zuszz + 1.
  2368. END.
  2369. IF Zuszz > 0 THEN Zuszz + 4.
  2370. IF (BLiDruck.Listtzz - VLine - Zuszz) < BLiDruck.Listfzz THEN DO:
  2371. RUN VALUE(VKopfArt).
  2372. END.
  2373. DO ix = 1 TO 11:
  2374. IF VWpfl[ix] = 0 THEN NEXT.
  2375. FIND LAST MWSTAns USE-INDEX MWSTAns-k1
  2376. WHERE MWSTAns.MWST_Cd = ix
  2377. AND MWSTAns.Datum <= BAUfko.Kond_Datum NO-LOCK.
  2378. SUBSTRING(VZeile,027) = MWSTAns.Bez.
  2379. SUBSTRING(VZeile,064) = STRING(VWpfl[ix],"->>>,>>9.99").
  2380. SUBSTRING(VZeile,082) = STRING(VWust[ix],"->>,>>9.99").
  2381. SUBSTRING(VZeile,093) = STRING(ix ,"z9").
  2382. { v8/putstream.i "1" }
  2383. VFak_Betr = VFak_Betr + VWust[ix].
  2384. END.
  2385. Rundbetr = VFak_Betr.
  2386. Rundcode = 1.
  2387. RUN "v8/runden.p".
  2388. VFak_Betr = Rundbetr.
  2389. SUBSTRING(VZeile,027) = FILL('-', StBreite - 026).
  2390. { v8/putstream.i "1" }
  2391. SUBSTRING(VZeile,027) = TRIM(FormText[16]).
  2392. SUBSTRING(VZeile,081) = STRING(VFak_Betr,"->>>,>>9.99").
  2393. { v8/putstreamf.i "1" }
  2394. END PROCEDURE.
  2395. /* _UIB-CODE-BLOCK-END */
  2396. &ANALYZE-RESUME
  2397. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE MEHRWERTSTEUER_KASSE C-Win
  2398. PROCEDURE MEHRWERTSTEUER_KASSE :
  2399. /*------------------------------------------------------------------------------
  2400. Purpose:
  2401. Parameters: <none>
  2402. Notes:
  2403. ------------------------------------------------------------------------------*/
  2404. { v8/putstream_epson_pos.i "1" }
  2405. VWpfl = 0.
  2406. VWust = 0.
  2407. DO ix = 1 TO 11:
  2408. IF BAufko.WPfl[ix] = 0 THEN NEXT.
  2409. VWpfl[ix] = BAufko.Wpfl[ix].
  2410. VWust[ix] = BAufko.Wust[ix].
  2411. END.
  2412. DO ix = 1 TO 11:
  2413. IF VWpfl[ix] = 0 THEN NEXT.
  2414. FIND LAST MWSTAns USE-INDEX MWSTAns-k1
  2415. WHERE MWSTAns.MWST_Cd = ix
  2416. AND MWSTAns.Datum <= BAufko.Kond_Datum NO-LOCK.
  2417. SUBSTRING(VZeile,001) = SUBSTRING(MWSTAns.Bez,01,20).
  2418. SUBSTRING(VZeile,020) = STRING(VWpfl[ix],"->>>9.99").
  2419. SUBSTRING(VZeile,029) = STRING(VWust[ix],"->>>9.99").
  2420. SUBSTRING(VZeile,039) = STRING(ix ,"z9").
  2421. { v8/putstream_epson_pos.i "1" }
  2422. VFak_Betr = VFak_Betr + VWust[ix].
  2423. END.
  2424. Rundbetr = VFak_Betr.
  2425. Rundcode = 1.
  2426. RUN "v8/runden.p".
  2427. VFak_Betr = Rundbetr.
  2428. SUBSTRING(VZeile,001) = TRIM(FormText[16]).
  2429. SUBSTRING(VZeile,029) = STRING(VFak_Betr,"->>>9.99").
  2430. VZeile = CHR(27) + 'G' + CHR(01) + VZeile + CHR(27) + 'G' + CHR(02).
  2431. { v8/putstream_epson_pos.i "1" }
  2432. END PROCEDURE.
  2433. /* _UIB-CODE-BLOCK-END */
  2434. &ANALYZE-RESUME
  2435. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE NEUE_SEITE C-Win
  2436. PROCEDURE NEUE_SEITE :
  2437. /*------------------------------------------------------------------------------
  2438. Purpose:
  2439. Parameters: <none>
  2440. Notes:
  2441. ------------------------------------------------------------------------------*/
  2442. DEF VAR A AS INT NO-UNDO.
  2443. DEF VAR B AS INT NO-UNDO.
  2444. DO WHILE VSeite > 0:
  2445. IF DOpen THEN DO:
  2446. PUT STREAM Out_Stream CONTROL CHR(12).
  2447. LEAVE.
  2448. END.
  2449. A = BLiDruck.Listtzz.
  2450. DO B = VLine TO A:
  2451. VZNr = VZNr + 1.
  2452. CREATE XTermOut.
  2453. ASSIGN XTermOut.ZNr = VZNr
  2454. XTermOut.Zeile = ''.
  2455. END.
  2456. LEAVE.
  2457. END.
  2458. VLine = 0.
  2459. VSeite = VSeite + 1.
  2460. END PROCEDURE.
  2461. /* _UIB-CODE-BLOCK-END */
  2462. &ANALYZE-RESUME
  2463. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE OCRB_LOAD C-Win
  2464. PROCEDURE OCRB_LOAD :
  2465. /*------------------------------------------------------------------------------
  2466. Purpose:
  2467. Parameters: <none>
  2468. Notes:
  2469. ------------------------------------------------------------------------------*/
  2470. DEF INPUT PARAMETER ipAusgabe AS CHAR NO-UNDO.
  2471. DEF VAR FontDatei AS CHAR NO-UNDO.
  2472. DEF VAR mFont AS MEMPTR NO-UNDO.
  2473. DEF VAR iSize AS INT NO-UNDO.
  2474. DEF VAR cString AS CHAR NO-UNDO.
  2475. DEF VAR cDrucker AS CHAR NO-UNDO.
  2476. DEF VAR i1 AS INT NO-UNDO.
  2477. DEF VAR i2 AS INT NO-UNDO.
  2478. /*
  2479. FIND Tabel NO-LOCK USE-INDEX Tabel-k1
  2480. WHERE Tabel.Firma = GVFirma
  2481. AND Tabel.RecArt = 'OCRB'
  2482. AND Tabel.CodeI = 0
  2483. AND Tabel.CodeC = ''
  2484. AND Tabel.Sprcd = 1 NO-ERROR.
  2485. IF AVAILABLE Tabel THEN DO:
  2486. iSize = LENGTH(Tabel.BezL).
  2487. SET-SIZE(mFont) = iSize.
  2488. END.
  2489. FontDatei = 'ocrb\OCRB.sfp'.
  2490. FontDatei = SEARCH(FontDatei).
  2491. IF FontDatei = ? THEN DO:
  2492. MESSAGE 'OCRB-Font nicht gefunden ( ..\ocrb\ORCB.sfp )'
  2493. VIEW-AS ALERT-BOX ERROR.
  2494. RETURN.
  2495. END.
  2496. FILE-INFO:FILE-NAME = FontDatei.
  2497. iSize = FILE-INFO:FILE-SIZE.
  2498. SET-SIZE(mFont) = iSize.
  2499. FontDatei = FILE-INFO:FULL-PATHNAME.
  2500. /*COPY-LOB FILE FontDatei TO mFont NO-CONVERT NO-ERROR.*/
  2501. cDrucker = ''.
  2502. DO WHILE TRUE:
  2503. i2 = INDEX(ipAusgabe, 'Gugger').
  2504. IF i2 > 0 THEN DO:
  2505. cDrucker = '\\Gugger\HpDeskJet'.
  2506. LEAVE.
  2507. END.
  2508. END.
  2509. IF cDrucker = '' THEN RETURN.
  2510. OUTPUT STREAM Out_Stream TO PRINTER VALUE(cDrucker) BINARY NO-MAP NO-CONVERT.
  2511. cString = CHR(27) + 'E'
  2512. + CHR(27) + '*c0F'
  2513. + CHR(27) + '*c10D'.
  2514. PUT STREAM Out_Stream CONTROL cString.
  2515. DO i1 = 1 TO iSize:
  2516. i2 = GET-BYTE(mFont, i1).
  2517. IF i2 < 1 THEN PUT STREAM Out_Stream CONTROL NULL.
  2518. ELSE PUT STREAM Out_Stream CONTROL CHR(i2).
  2519. END.
  2520. cString = CHR(27) + '*c5F'
  2521. + CHR(27) + 'E'.
  2522. PUT STREAM Out_Stream CONTROL cString.
  2523. SET-SIZE(mFont) = 0.
  2524. OUTPUT STREAM Out_Stream CLOSE.
  2525. */
  2526. END PROCEDURE.
  2527. /* _UIB-CODE-BLOCK-END */
  2528. &ANALYZE-RESUME
  2529. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE PRUEFZIFFER C-Win
  2530. PROCEDURE PRUEFZIFFER :
  2531. /*------------------------------------------------------------------------------
  2532. Purpose:
  2533. Parameters: <none>
  2534. Notes:
  2535. ------------------------------------------------------------------------------*/
  2536. /* ------------------------------------------------------------------------- */
  2537. /* Prufziffer MODULO 10, Rekursiv (27 Stellig Ref.-Nr.) */
  2538. /* ------------------------------------------------------------------------- */
  2539. /* */
  2540. /* Uebergabe Variable: 1. String Betrag (12-stellig) */
  2541. /* 2. String Referenz (27-stellig) */
  2542. /* 3. String Teilnehmernummer ( 9-stellig) */
  2543. /* */
  2544. /* Erstellung der VESR-Codierzeile */
  2545. /* */
  2546. /*---------------------------------------------------------------------------*/
  2547. DEF INPUT-OUTPUT PARAMETER PZBetrag AS CHAR FORMAT "x(13)".
  2548. DEF INPUT-OUTPUT PARAMETER PZReferenz AS CHAR FORMAT "x(27)".
  2549. DEF INPUT-OUTPUT PARAMETER PZTNummer AS CHAR FORMAT "x(09)".
  2550. DEF OUTPUT PARAMETER VSZeile AS CHAR FORMAT "x(58)".
  2551. DEF VAR l1 AS INT.
  2552. DEF VAR l2 AS INT.
  2553. DEF VAR l3 AS INT.
  2554. DEF VAR PZ AS INT.
  2555. DEF VAR x1 AS INT.
  2556. DEF VAR x2 AS INT.
  2557. DEF VAR x3 AS INT.
  2558. DEF VAR VMOD10 AS CHAR FORMAT "x(11)" EXTENT 11.
  2559. VMOD10[01] = "09468271350".
  2560. VMOD10[02] = "94682713509".
  2561. VMOD10[03] = "46827135098".
  2562. VMOD10[04] = "68271350947".
  2563. VMOD10[05] = "82713509466".
  2564. VMOD10[06] = "27135094685".
  2565. VMOD10[07] = "71350946824".
  2566. VMOD10[08] = "13509468273".
  2567. VMOD10[09] = "35094682712".
  2568. VMOD10[10] = "50946827131".
  2569. l1 = 12.
  2570. l2 = 26.
  2571. l3 = 08.
  2572. DO WHILE SUBSTRING(PZBetrag,01,01) <> " ": /* Mit Betrag */
  2573. x2 = 1.
  2574. x1 = INT(SUBSTRING(PZBetrag ,01 ,01)).
  2575. x2 = INT(SUBSTRING(VMOD10[x2],x1 + 1,01)).
  2576. DO x3 = 2 TO 12:
  2577. x1 = INT(SUBSTRING(PZBetrag ,x3 ,01)).
  2578. x2 = INT(SUBSTRING(VMOD10[x2 + 1],x1 + 1,01)).
  2579. END.
  2580. PZ = INT(SUBSTRING(VMOD10[x2 + 1],11,1)).
  2581. SUBSTRING(PZBetrag,13) = STRING(PZ,"9").
  2582. LEAVE.
  2583. END.
  2584. DO WHILE SUBSTRING(PZBetrag,01,01) = " ": /* Ohne Betrag */
  2585. x2 = 11.
  2586. x1 = INT(SUBSTRING(PZBetrag ,01 ,01)).
  2587. x2 = INT(SUBSTRING(VMOD10[x2],x1 + 1,01)).
  2588. DO x3 = 12 TO 12:
  2589. x1 = INT(SUBSTRING(PZBetrag ,x3 ,01)).
  2590. x2 = INT(SUBSTRING(VMOD10[x2 + 1],x1 + 1,01)).
  2591. END.
  2592. PZ = INT(SUBSTRING(VMOD10[x2 + 1],11,1)).
  2593. SUBSTRING(PZBetrag,13) = STRING(PZ,"9").
  2594. LEAVE.
  2595. END.
  2596. DO WHILE l2 = 26:
  2597. x2 = 1.
  2598. x1 = INT(SUBSTRING(PZReferenz,01 ,01)).
  2599. x2 = INT(SUBSTRING(VMOD10[x2],x1 + 1,01)).
  2600. DO x3 = 2 TO 26:
  2601. x1 = INT(SUBSTRING(PZReferenz ,x3 ,01)).
  2602. x2 = INT(SUBSTRING(VMOD10[x2 + 1],x1 + 1,01)).
  2603. END.
  2604. PZ = INT(SUBSTRING(VMOD10[x2 + 1],11,1)).
  2605. SUBSTRING(PZReferenz,27) = STRING(PZ,"9").
  2606. LEAVE.
  2607. END.
  2608. DO WHILE l3 = 08:
  2609. x2 = 1.
  2610. x1 = INT(SUBSTRING(PZTNummer ,01 ,01)).
  2611. x2 = INT(SUBSTRING(VMOD10[x2],x1 + 1,01)).
  2612. DO x3 = 2 TO 08:
  2613. x1 = INT(SUBSTRING(PZTNummer ,x3 ,01)).
  2614. x2 = INT(SUBSTRING(VMOD10[x2 + 1],x1 + 1,01)).
  2615. END.
  2616. PZ = INT(SUBSTRING(VMOD10[x2 + 1],11,1)).
  2617. SUBSTRING(PZTNummer,09) = STRING(PZ,"9").
  2618. LEAVE.
  2619. END.
  2620. VSZeile = "".
  2621. SUBSTRING(VSZeile,01) = PZBetrag.
  2622. SUBSTRING(VSZeile,14) = ">".
  2623. SUBSTRING(VSZeile,15) = PZReferenz.
  2624. SUBSTRING(VSZeile,42) = "+ ".
  2625. SUBSTRING(VSZeile,44) = PZTNummer.
  2626. SUBSTRING(VSZeile,53) = ">".
  2627. SUBSTRING(VSZeile,58) = "H".
  2628. END PROCEDURE.
  2629. /* _UIB-CODE-BLOCK-END */
  2630. &ANALYZE-RESUME
  2631. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SAMMELSUCHEN C-Win
  2632. PROCEDURE SAMMELSUCHEN :
  2633. /*------------------------------------------------------------------------------
  2634. Purpose:
  2635. Parameters: <none>
  2636. Notes:
  2637. ------------------------------------------------------------------------------*/
  2638. FIND FIRST SammFak WHERE SammFak.Knr = BAufko.Fak_Knr
  2639. AND SammFak.Samm_Nr = BAufko.Samm_Nr NO-ERROR.
  2640. IF AVAILABLE SammFak THEN RETURN.
  2641. FOR EACH Aufko USE-INDEX Aufko-k5
  2642. WHERE Aufko.Firma = BAufko.Firma
  2643. AND Aufko.Fak_Art = BAufko.Fak_Art
  2644. AND Aufko.Samm_Nr = BAufko.Samm_Nr :
  2645. IF Aufko.Auf_Sta < 4 THEN DO:
  2646. Aufko.Faknr = 0.
  2647. NEXT.
  2648. END.
  2649. CREATE SammFak.
  2650. ASSIGN SammFak.Knr = Aufko.Fak_Knr
  2651. SammFak.Aufnr = Aufko.Aufnr
  2652. SammFak.Samm_Nr = Aufko.Samm_Nr
  2653. SammFak.RID = RECID(Aufko).
  2654. IF SFaknr = 0 THEN SFaknr = Aufko.Faknr.
  2655. END.
  2656. END PROCEDURE.
  2657. /* _UIB-CODE-BLOCK-END */
  2658. &ANALYZE-RESUME
  2659. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SAMMFAK C-Win
  2660. PROCEDURE SAMMFAK :
  2661. /*------------------------------------------------------------------------------
  2662. Purpose:
  2663. Parameters: <none>
  2664. Notes:
  2665. ------------------------------------------------------------------------------*/
  2666. Zuszz = 8.
  2667. LiKopf = TRUE.
  2668. FPreis = TRUE.
  2669. FBetrag = TRUE.
  2670. FRabatt = TRUE.
  2671. FUeber = FALSE.
  2672. FSamm = TRUE.
  2673. VKopfArt = 'SAMMFAK_KOPF'.
  2674. IF (BLiDruck.Listtzz - VLine - Zuszz ) < BLiDruck.Listfzz THEN DO:
  2675. TiDruck = TRUE.
  2676. END.
  2677. IF TiDruck THEN DO:
  2678. RUN VALUE(VKopfArt).
  2679. END.
  2680. ELSE DO:
  2681. { v8/putstream.i "2" }
  2682. SUBSTRING(VZeile,001) = TRIM(SUBSTRING(FormText[17],21,20))
  2683. + " "
  2684. + STRING(BAufko.Aufnr,"zzzzzzzzz9").
  2685. { v8/putstream.i "1" }
  2686. SUBSTRING(VZeile,001) = TRIM(SUBSTRING(FormText[07],41,20))
  2687. + " "
  2688. + STRING(BAufko.Auf_Datum,"99.99.9999").
  2689. { v8/putstream.i "2" }
  2690. SUBSTRING(VZeile,001) = FormText[03].
  2691. SUBSTRING(VZeile,071) = FormText[04].
  2692. { v8/putstream.i "1" }
  2693. SUBSTRING(VZeile,001) = FormText[05].
  2694. SUBSTRING(VZeile,071) = FormText[06].
  2695. { v8/putstream.i "1" }
  2696. END.
  2697. FOR EACH TAufze NO-LOCK
  2698. BY TAufze.Aufnr
  2699. /*
  2700. BY TAufze.Sort1
  2701. BY TAufze.Sort2
  2702. BY TAufze.Sort3
  2703. BY TAufze.Artnr
  2704. BY TAufze.Inhalt
  2705. BY TAufze.Jahr
  2706. */
  2707. BY TAufze.Pos :
  2708. IF (BLiDruck.Listtzz - VLine - 2) < BLiDruck.Listfzz THEN DO:
  2709. RUN VALUE(VKopfArt).
  2710. END.
  2711. FIND Aufze WHERE RECID(Aufze) = TAufze.Zeile NO-LOCK.
  2712. RUN ARTIKELZEILE.
  2713. VFak_Betr = VFak_Betr + Aufze.Net_Betr.
  2714. END.
  2715. VZeile = FILL('-', StBreite).
  2716. { v8/putstream.i "1" }
  2717. SUBSTRING(VZeile,036) = TRIM(SUBSTRING(FormText[10],41,20)).
  2718. SUBSTRING(VZeile,081) = STRING(VFak_Betr,"->>>,>>9.99").
  2719. { v8/putstreamf.i "1" }
  2720. LiKopf = FALSE.
  2721. RUN SUMMENRABATTE.
  2722. { v8/putstream.i "1" }
  2723. RUN GEBINDE_SALDO.
  2724. RUN GEBINDE_ABRECHNUNG.
  2725. DO ix = 1 TO 12:
  2726. GTWpfl[ix] = GTWpfl[ix] + BAufko.Wpfl[ix].
  2727. GTWust[ix] = GTWust[ix] + BAufko.Wust[ix].
  2728. END.
  2729. GTFak_Betr = GTFak_Betr + VFak_Betr.
  2730. GTSk_Ber = GTSk_Ber + BAufko.Sk_Ber.
  2731. RUN KOPF_MUTATION.
  2732. FIND Aufko WHERE RECID(Aufko) = RECID(BAufko) NO-LOCK.
  2733. TiDruck = FALSE.
  2734. IF FLetzt THEN RUN SAMMFAK_ENDE.
  2735. END PROCEDURE.
  2736. /* _UIB-CODE-BLOCK-END */
  2737. &ANALYZE-RESUME
  2738. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SAMMFAKKIESEN C-Win
  2739. PROCEDURE SAMMFAKKIESEN :
  2740. /*------------------------------------------------------------------------------
  2741. Purpose:
  2742. Parameters: <none>
  2743. Notes:
  2744. ------------------------------------------------------------------------------*/
  2745. RUN SAMMFAK.
  2746. END PROCEDURE.
  2747. /* _UIB-CODE-BLOCK-END */
  2748. &ANALYZE-RESUME
  2749. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SAMMFAK_ENDE C-Win
  2750. PROCEDURE SAMMFAK_ENDE :
  2751. /*------------------------------------------------------------------------------
  2752. Purpose:
  2753. Parameters: <none>
  2754. Notes:
  2755. ------------------------------------------------------------------------------*/
  2756. SUBSTRING(VZeile,027) = FILL('-', StBreite - 026).
  2757. { v8/putstream.i "1" }
  2758. SUBSTRING(VZeile,027) = TRIM(SUBSTRING(FormText[14],01,20)).
  2759. SUBSTRING(VZeile,081) = STRING(GTFak_Betr,"->>>,>>9.99").
  2760. { v8/putstreamf.i "1" }
  2761. SUBSTRING(VZeile,027) = FILL('-', StBreite - 026).
  2762. { v8/putstream.i "1" }
  2763. DO ix = 1 TO 11:
  2764. IF GTWpfl[ix] = 0 THEN NEXT.
  2765. GTFak_Betr = GTFak_Betr + GTWust[ix].
  2766. Zuszz = Zuszz + 1.
  2767. END.
  2768. IF Zuszz > 0 THEN Zuszz = Zuszz + 6.
  2769. IF (BLiDruck.Listtzz - VLine - Zuszz) < BLiDruck.Listfzz THEN DO:
  2770. RUN VALUE(VKopfArt).
  2771. END.
  2772. DO ix = 1 TO 11:
  2773. IF GTWpfl[ix] = 0 THEN NEXT.
  2774. FIND LAST MWSTAns USE-INDEX MWSTAns-k1
  2775. WHERE MWSTAns.MWST_Cd = ix
  2776. AND MWSTAns.Datum <= BAufko.Kond_Datum NO-LOCK.
  2777. SUBSTRING(VZeile,027) = MWSTAns.Bez.
  2778. SUBSTRING(VZeile,064) = STRING(GTWpfl[ix],"->>>,>>9.99").
  2779. SUBSTRING(VZeile,082) = STRING(GTWust[ix],"->>,>>9.99").
  2780. SUBSTRING(VZeile,093) = STRING(ix ,"z9").
  2781. { v8/putstream.i "1" }
  2782. END.
  2783. Rundbetr = GTFak_Betr.
  2784. Rundcode = 1.
  2785. RUN "v8/runden.p".
  2786. GTFak_Betr = Rundbetr.
  2787. SUBSTRING(VZeile,027) = FILL('-', StBreite - 026).
  2788. { v8/putstream.i "1" }
  2789. SUBSTRING(VZeile,027) = TRIM(FormText[16]).
  2790. SUBSTRING(VZeile,081) = STRING(GTFak_Betr,"->>>,>>9.99").
  2791. { v8/putstreamf.i "1" }
  2792. SUBSTRING(VZeile,082) = FILL('=', StBreite - 082).
  2793. { v8/putstream.i "2" }
  2794. FIND Kondi USE-INDEX Kondi-k1
  2795. WHERE Kondi.Kond = BAufko.Kond
  2796. AND Kondi.Sprcd = LVSprcd NO-LOCK NO-ERROR.
  2797. IF AVAILABLE Kondi THEN DO:
  2798. SUBSTRING(VZeile,001) = Kondi.KoText.
  2799. IF Kondi.Skonto[01] <> 0 THEN DO:
  2800. Rundbetr = GTSk_Ber * Kondi.Skonto[01] / 100.
  2801. Rundcode = 1.
  2802. RUN "v8/runden.p".
  2803. SUBSTRING(VZeile,081) = STRING(Rundbetr,"->>>,>>9.99").
  2804. END.
  2805. END.
  2806. ELSE DO:
  2807. SUBSTRING(VZeile,001) = FILL('?', 30).
  2808. END.
  2809. { v8/putstream.i "2" }
  2810. RUN SCHLUSSTEXT.
  2811. RUN UMSATZVERTEILUNG.
  2812. Rundbetr = GTFak_Betr.
  2813. VesrKnr = BAufko.Fak_Knr.
  2814. VesrFnr = BAufko.Faknr.
  2815. RUN VESR_DRUCK.
  2816. END PROCEDURE.
  2817. /* _UIB-CODE-BLOCK-END */
  2818. &ANALYZE-RESUME
  2819. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SAMMFAK_KOPF C-Win
  2820. PROCEDURE SAMMFAK_KOPF :
  2821. /*------------------------------------------------------------------------------
  2822. Purpose:
  2823. Parameters: <none>
  2824. Notes:
  2825. ------------------------------------------------------------------------------*/
  2826. DEF VAR cAdresse AS CHAR NO-UNDO.
  2827. RUN NEUE_SEITE.
  2828. PUT STREAM Out_Stream CONTROL CHR(27) "&l0O" /* Hochformat */
  2829. CHR(27) "&l5H" /* Schacht 3 */
  2830. CHR(27) "(10U" /* CODEPAGE 850 */
  2831. CHR(27) "(s4102t0b0p0s12H". /* LetterGotic 12cpi */
  2832. RUN BANKKONTO. /* Fusszeile Bankkonto */
  2833. IF VSeite = 1 THEN DO:
  2834. IF SFaknr = 0 THEN DO:
  2835. SFaknr = BAufko.Faknr.
  2836. REPEAT WHILE SFaknr = 0 TRANSACTION:
  2837. RUN "v8/steunr.p" ( INPUT 2, OUTPUT VFaknr ).
  2838. IF RETURN-VALUE <> '' THEN NEXT.
  2839. SFaknr = VFaknr.
  2840. END.
  2841. END.
  2842. FIND Adresse USE-INDEX Adresse-k1
  2843. WHERE Adresse.Firma = AdFirma
  2844. AND Adresse.Knr = BAufko.Fak_Knr NO-LOCK NO-ERROR.
  2845. FIND LDebst USE-INDEX Debst-k1
  2846. WHERE LDebst.Firma = GVFirma
  2847. AND LDebst.Knr = BAufko.Knr NO-LOCK NO-ERROR.
  2848. FIND FDebst USE-INDEX Debst-k1
  2849. WHERE FDebst.Firma = GVFirma
  2850. AND FDebst.Knr = BAufko.Fak_Knr NO-LOCK NO-ERROR.
  2851. FIND Wust USE-INDEX Wust-k1
  2852. WHERE Wust.CodeK = LDebst.MWST
  2853. AND Wust.CodeA = 99 NO-LOCK NO-ERROR.
  2854. LVSprcd = Adresse.Sprcd.
  2855. DebInkl = FALSE.
  2856. IF AVAILABLE Wust THEN DebInkl = Wust.Incl.
  2857. END.
  2858. F_Seite = VSeite.
  2859. F_Faknr = SFaknr.
  2860. DISPLAY F_Seite
  2861. F_Faknr WITH FRAME {&FRAME-NAME}.
  2862. cAdresse = ''.
  2863. VZeile = ''.
  2864. { v8/putstream.i BLiDruck.Listkzz }.
  2865. IF BAufko.Knr <> BAufko.Fak_Knr AND
  2866. BAufko.Fak_Knr <> 0 THEN DO:
  2867. FIND LAdresse NO-LOCK USE-INDEX Adresse-k1
  2868. WHERE LAdresse.Firma = AdFirma
  2869. AND LAdresse.Knr = BAufko.Knr NO-ERROR.
  2870. cAdresse = CHR(27) + "(s3b15H"
  2871. + "("
  2872. + LAdresse.Anzeig_br
  2873. + ")"
  2874. + CHR(27) + "(s3b12H".
  2875. END.
  2876. DO ix = 6 TO 12:
  2877. SUBSTRING(VZeile,012) = Adresse.Anschrift[ix].
  2878. IF ix = 11 THEN DO: { v8/putstreamf.i "1" }. END.
  2879. ELSE DO: { v8/putstream.i "1" }. END.
  2880. END.
  2881. SUBSTRING(VZeile,054) = TRIM(SUBSTRING(FormText[02],01,20))
  2882. + STRING(SFaknr,"z999999")
  2883. + " /"
  2884. + STRING(VSeite,"zz9").
  2885. { v8/putstreamf.i "1" }
  2886. SUBSTRING(VZeile,054) = TRIM(SUBSTRING(FormText[18],01,20))
  2887. + " "
  2888. + BSteuer.MWST_Nr.
  2889. { v8/putstream.i "1" }
  2890. SUBSTRING(VZeile,001) = TRIM(SUBSTRING(FormText[07],01,20)).
  2891. SUBSTRING(VZeile,012) = STRING(FDatum,"99.99.9999").
  2892. SUBSTRING(VZeile,053) = TRIM(SUBSTRING(FormText[08],01,20))
  2893. + STRING(BAufko.Fak_Knr,"zz999999").
  2894. { v8/putstream.i "2" }
  2895. IF VSeite = 1 THEN DO:
  2896. END.
  2897. DO WHILE TiDruck.
  2898. SUBSTRING(VZeile,001) = TRIM (SUBSTRING(FormText[17],21,20))
  2899. + " "
  2900. + STRING(BAufko.Aufnr,"zzzzzzzzz9").
  2901. { v8/putstream.i "1" }
  2902. SUBSTRING(VZeile,001) = TRIM (SUBSTRING(FormText[07],41,20))
  2903. + " "
  2904. + STRING(BAufko.Auf_Datum,"99.99.9999")
  2905. + " "
  2906. + cAdresse.
  2907. { v8/putstream.i "2" }
  2908. LEAVE.
  2909. END.
  2910. IF LiKopf THEN DO:
  2911. SUBSTRING(VZeile,001) = FormText[03].
  2912. SUBSTRING(VZeile,071) = FormText[04].
  2913. { v8/putstream.i "1" }
  2914. SUBSTRING(VZeile,001) = FormText[05].
  2915. SUBSTRING(VZeile,071) = FormText[06].
  2916. StBreite = LENGTH(VZeile).
  2917. { v8/putstream.i "1" }
  2918. END.
  2919. ELSE DO:
  2920. { v8/putstream.i "1" }
  2921. END.
  2922. IF VSeite > 1 AND
  2923. FUeber = TRUE THEN DO:
  2924. SUBSTRING(VZeile,036) = TRIM(SUBSTRING(FormText[09],41,20)).
  2925. SUBSTRING(VZeile,082) = STRING(VFak_Betr,"->>,>>9.99").
  2926. { v8/putstreamf.i "2" }
  2927. END.
  2928. END PROCEDURE.
  2929. /* _UIB-CODE-BLOCK-END */
  2930. &ANALYZE-RESUME
  2931. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SCHLUSSTEXT C-Win
  2932. PROCEDURE SCHLUSSTEXT :
  2933. /*------------------------------------------------------------------------------
  2934. Purpose:
  2935. Parameters: <none>
  2936. Notes:
  2937. ------------------------------------------------------------------------------*/
  2938. /* Schlusstext -------------------------------------------------------- */
  2939. FIND TabTexte USE-INDEX TabTexte-k1
  2940. WHERE TabTexte.Firma = GVFirma
  2941. AND TabTexte.TextArt = 'DOK' + STRING(BAufko.Fak_Art,'99')
  2942. AND TabTexte.Sprcd = LVSprcd NO-LOCK NO-ERROR.
  2943. IF NOT AVAILABLE TabTexte THEN DO:
  2944. FIND TabTexte USE-INDEX TabTexte-k1
  2945. WHERE TabTexte.Firma = GVFirma
  2946. AND TabTexte.TextArt = 'DOK' + STRING(BAufko.Fak_Art,'99')
  2947. AND TabTexte.Sprcd = 1 NO-LOCK NO-ERROR.
  2948. END.
  2949. IF AVAILABLE TabTexte THEN VTabTexte = TabTexte.Inhalt.
  2950. Zuszz = NUM-ENTRIES(VTabTexte, CHR(10)).
  2951. IF Zuszz > 0 THEN Zuszz = Zuszz + 2.
  2952. IF (BLiDruck.Listtzz - VLine - Zuszz) < BLiDruck.Listfzz THEN DO:
  2953. RUN VALUE(VKopfArt).
  2954. END.
  2955. DO WHILE TRUE:
  2956. ix = INDEX(VTabTexte, CHR(10)).
  2957. IF ix = 0 THEN DO:
  2958. VZeile = VTabTexte.
  2959. LEAVE.
  2960. END.
  2961. VZeile = SUBSTRING(VTabTexte,01,ix - 1).
  2962. VTabTexte = SUBSTRING(VTabTexte,ix + 1).
  2963. { v8/putstream.i "1" }.
  2964. END.
  2965. IF VZeile <> '' THEN DO:
  2966. { v8/putstream.i "1" }.
  2967. END.
  2968. END PROCEDURE.
  2969. /* _UIB-CODE-BLOCK-END */
  2970. &ANALYZE-RESUME
  2971. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SUMMENRABATTE C-Win
  2972. PROCEDURE SUMMENRABATTE :
  2973. /*------------------------------------------------------------------------------
  2974. Purpose:
  2975. Parameters: <none>
  2976. Notes:
  2977. ------------------------------------------------------------------------------*/
  2978. DEF VAR RText AS CHAR FORMAT "x(20)" NO-UNDO.
  2979. DEF VAR WText AS CHAR NO-UNDO.
  2980. DO WHILE FRabatt:
  2981. Zuszz = 0.
  2982. FOR EACH TRabSumm NO-LOCK:
  2983. IF TRabSumm.Auf_Rab <> 0 THEN Zuszz = Zuszz + 1.
  2984. IF TRabSumm.Abh_Rab <> 0 THEN Zuszz = Zuszz + 1.
  2985. END.
  2986. FOR EACH TSpeRab WHERE TSpeRab.Auf_Betr <> 0 NO-LOCK:
  2987. Zuszz = Zuszz + 1.
  2988. END.
  2989. /* Receycling */
  2990. FOR EACH AufGKon USE-INDEX AufGKon-k1
  2991. WHERE AufGKon.Firma = BAufko.Firma
  2992. AND AufGKon.Aufnr = BAufko.Aufnr
  2993. AND AufGKon.Gebuehr <> 0
  2994. AND AufGKon.Betrag <> 0 NO-LOCK:
  2995. Zuszz = Zuszz + 1.
  2996. END.
  2997. IF Zuszz > 0 THEN Zuszz = Zuszz + 3.
  2998. IF (BLiDruck.Listtzz - VLine - Zuszz) < BLiDruck.Listfzz THEN DO:
  2999. RUN VALUE(VKopfArt).
  3000. END.
  3001. LEAVE.
  3002. END.
  3003. /* Auftragsrabatt ---------------------------------------------------- */
  3004. i5 = 0.
  3005. FOR EACH TRabSumm WHERE TRabSumm.Auf_Rab <> 0
  3006. BY TRabSumm.Rab_Summ:
  3007. Rundbetr = TRabSumm.Auf_Rab.
  3008. VFak_Betr = VFak_Betr - Rundbetr.
  3009. IF NOT FRabatt THEN NEXT.
  3010. IF Rundbetr < 0 THEN RText = VZusText.
  3011. ELSE RText = VRabText.
  3012. FIND FIRST AufRabSu NO-LOCK USE-INDEX AufRabSu-k1
  3013. WHERE AufRabSu.Firma = BAufko.Firma
  3014. AND AufRabSu.Aufnr = BAufko.Aufnr
  3015. AND AufRabSu.Rab_Summ = TRabSumm.Rab_Summ.
  3016. IF AufRabSu.F_Proz_Betr THEN WText = "%".
  3017. ELSE WText = "Fr.".
  3018. RabWert = ABSOLUT(AufRabSu.F_Wert).
  3019. SUBSTRING(VZeile,036) = RText
  3020. + " "
  3021. + TRabSumm.Bez.
  3022. SUBSTRING(VZeile,055) = STRING(RabWert,"z9.99-")
  3023. + WText.
  3024. SUBSTRING(VZeile,081) = STRING(- Rundbetr,"->>>,>>9.99").
  3025. { v8/putstream.i "1" }
  3026. i5 = i5 + 1.
  3027. END.
  3028. /* Abholrabatt ------------------------------------------------------- */
  3029. FOR EACH TRabSumm WHERE TRabSumm.Abh_Rab <> 0
  3030. BY TRabSumm.Rab_Summ:
  3031. Rundbetr = TRabSumm.Abh_Rab.
  3032. VFak_Betr = VFak_Betr - Rundbetr.
  3033. IF NOT FRabatt THEN NEXT.
  3034. IF Rundbetr < 0 THEN RText = VZusText.
  3035. ELSE RText = VRabText.
  3036. FIND FIRST AufRabSu NO-LOCK USE-INDEX AufRabSu-k1
  3037. WHERE AufRabSu.Firma = BAufko.Firma
  3038. AND AufRabSu.Aufnr = BAufko.Aufnr
  3039. AND AufRabSu.Rab_Summ = TRabSumm.Rab_Summ.
  3040. IF AufRabSu.A_Proz_Betr THEN WText = "%".
  3041. ELSE WText = "Fr.".
  3042. RabWert = ABSOLUT(AufRabSu.A_Wert).
  3043. SUBSTRING(VZeile,036) = RText
  3044. + " "
  3045. + TRabSumm.Bez.
  3046. SUBSTRING(VZeile,055) = STRING(RabWert,"z9.99-")
  3047. + WText.
  3048. SUBSTRING(VZeile,081) = STRING(- Rundbetr,"->>>,>>9.99").
  3049. { v8/putstream.i "1" }
  3050. i5 = i5 + 1.
  3051. END.
  3052. /* Spezialpreis-Auftragsrabatte ---------------------------------------- */
  3053. FOR EACH TSpeRab WHERE TSpeRab.Auf_Betr <> 0
  3054. BY TSpeRab.Rab_Grp:
  3055. Rundbetr = TSpeRab.Auf_Betr.
  3056. VFak_Betr = VFak_Betr - Rundbetr.
  3057. IF NOT FRabatt THEN NEXT.
  3058. FIND Tabel USE-INDEX Tabel-k1
  3059. WHERE Tabel.Firma = GVFirma
  3060. AND Tabel.RecArt = 'ARABGRP'
  3061. AND Tabel.CodeC = ''
  3062. AND Tabel.CodeI = TSpeRab.Rab_Grp
  3063. AND Tabel.Sprcd = 1 NO-LOCK.
  3064. IF Rundbetr < 0 THEN RText = VZusText.
  3065. ELSE RText = VRabText.
  3066. FIND FIRST AufSpRab USE-INDEX AufSpRab-k1
  3067. WHERE AufSpRab.Firma = BAufko.Firma
  3068. AND AufSpRab.Aufnr = BAufko.Aufnr
  3069. AND AufSpRab.Rab_Grp = TSpeRab.Rab_Grp NO-LOCK.
  3070. IF AufSpRab.Auf_Proz_Betr THEN WText = "%".
  3071. ELSE WText = "Fr.".
  3072. RabWert = ABSOLUT(AufSpRab.Auf_Wert).
  3073. SUBSTRING(VZeile,036) = RText
  3074. + " "
  3075. + TRIM(Tabel.Bez1).
  3076. SUBSTRING(VZeile,055) = STRING(RabWert,"z9.99-")
  3077. + WText.
  3078. SUBSTRING(VZeile,081) = STRING(- Rundbetr,"->>>,>>9.99").
  3079. { v8/putstream.i "1" }
  3080. i5 = i5 + 1.
  3081. END.
  3082. IF i5 > 0 THEN DO:
  3083. SUBSTRING(VZeile,036) = TRIM(SUBSTRING(FormText[14],21,20)).
  3084. SUBSTRING(VZeile,081) = STRING(VFak_Betr,"->>>,>>9.99").
  3085. { v8/putstreamf.i "1" }
  3086. END.
  3087. /* Recycling-Gebühren ------------------------------------------------ */
  3088. i5 = 0.
  3089. FOR EACH AufGKon USE-INDEX AufGKon-k1
  3090. WHERE AufGKon.Firma = BAufko.Firma
  3091. AND AufGKon.Aufnr = BAufko.Aufnr
  3092. AND AufGKon.Gebuehr <> 0
  3093. AND AufGKon.Betrag <> 0 NO-LOCK:
  3094. VFak_Betr = VFak_Betr + AufGKon.Betrag.
  3095. IF NOT FRabatt THEN NEXT.
  3096. VWC = AufGKon.MWSt_Cd.
  3097. SUBSTRING(VZeile,036) = TRIM(SUBSTRING(FormText[11],41,20)).
  3098. SUBSTRING(VZeile,081) = STRING(AufGKon.Betrag ,"->>>,>>9.99").
  3099. SUBSTRING(VZeile,093) = STRING(AufGKon.MWSt_Cd ,"z9").
  3100. { v8/putstream.i "1" }
  3101. i5 = i5 + 1.
  3102. END.
  3103. IF i5 > 0 THEN DO:
  3104. SUBSTRING(VZeile,036) = TRIM(SUBSTRING(FormText[14],41,20)).
  3105. SUBSTRING(VZeile,081) = STRING(VFak_Betr,"->>>,>>9.99").
  3106. { v8/putstreamf.i "1" }
  3107. END.
  3108. END PROCEDURE.
  3109. /* _UIB-CODE-BLOCK-END */
  3110. &ANALYZE-RESUME
  3111. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SUMMENRABATTE_KASSE C-Win
  3112. PROCEDURE SUMMENRABATTE_KASSE :
  3113. /*------------------------------------------------------------------------------
  3114. Purpose:
  3115. Parameters: <none>
  3116. Notes:
  3117. ------------------------------------------------------------------------------*/
  3118. DEF VAR RText AS CHAR FORMAT "x(20)" NO-UNDO.
  3119. DEF VAR WText AS CHAR NO-UNDO.
  3120. DEF VAR xLeer AS LOG NO-UNDO.
  3121. DEF VAR fGedruckt AS LOG INIT FALSE NO-UNDO.
  3122. /* Auftragsrabatt ---------------------------------------------------- */
  3123. i5 = 0.
  3124. xLeer = FALSE.
  3125. FOR EACH TRabSumm WHERE TRabSumm.Auf_Rab <> 0
  3126. BY TRabSumm.Rab_Summ:
  3127. Rundbetr = TRabSumm.Auf_Rab.
  3128. VFak_Betr = VFak_Betr - Rundbetr.
  3129. IF NOT FRabatt THEN NEXT.
  3130. IF Rundbetr < 0 THEN RText = VZusText.
  3131. ELSE RText = VRabText.
  3132. FIND FIRST AufRabSu NO-LOCK USE-INDEX AufRabSu-k1
  3133. WHERE AufRabSu.Firma = BAufko.Firma
  3134. AND AufRabSu.Aufnr = BAufko.Aufnr
  3135. AND AufRabSu.Rab_Summ = TRabSumm.Rab_Summ.
  3136. IF AufRabSu.F_Proz_Betr THEN WText = "%".
  3137. ELSE WText = "Fr.".
  3138. RabWert = ABSOLUT(AufRabSu.F_Wert).
  3139. SUBSTRING(VZeile,001) = RText
  3140. + " "
  3141. + TRabSumm.Bez.
  3142. VZeile = TRIM(SUBSTRING(VZeile,01,20)).
  3143. SUBSTRING(VZeile,020) = STRING( RabWert ,"->>>9.99").
  3144. SUBSTRING(VZeile,029) = STRING(- Rundbetr,"->>>9.99").
  3145. { v8/putstream_epson_pos.i "1" }
  3146. i5 = i5 + 1.
  3147. END.
  3148. /* Abholrabatt ------------------------------------------------------- */
  3149. FOR EACH TRabSumm WHERE TRabSumm.Abh_Rab <> 0
  3150. BY TRabSumm.Rab_Summ:
  3151. Rundbetr = TRabSumm.Abh_Rab.
  3152. VFak_Betr = VFak_Betr - Rundbetr.
  3153. IF NOT FRabatt THEN NEXT.
  3154. IF Rundbetr < 0 THEN RText = VZusText.
  3155. ELSE RText = VRabText.
  3156. FIND FIRST AufRabSu NO-LOCK USE-INDEX AufRabSu-k1
  3157. WHERE AufRabSu.Firma = BAufko.Firma
  3158. AND AufRabSu.Aufnr = BAufko.Aufnr
  3159. AND AufRabSu.Rab_Summ = TRabSumm.Rab_Summ.
  3160. IF AufRabSu.A_Proz_Betr THEN WText = "%".
  3161. ELSE WText = "Fr.".
  3162. RabWert = ABSOLUT(AufRabSu.A_Wert).
  3163. SUBSTRING(VZeile,001) = RText
  3164. + " "
  3165. + TRabSumm.Bez.
  3166. VZeile = TRIM(SUBSTRING(VZeile,01,20)).
  3167. SUBSTRING(VZeile,020) = STRING( RabWert ,"->>>9.99").
  3168. SUBSTRING(VZeile,029) = STRING(- Rundbetr,"->>>9.99").
  3169. { v8/putstream_epson_pos.i "1" }
  3170. i5 = i5 + 1.
  3171. END.
  3172. /* Spezialpreis-Auftragsrabatte ---------------------------------------- */
  3173. FOR EACH TSpeRab WHERE TSpeRab.Auf_Betr <> 0
  3174. BY TSpeRab.Rab_Grp:
  3175. Rundbetr = TSpeRab.Auf_Betr.
  3176. VFak_Betr = VFak_Betr - Rundbetr.
  3177. IF NOT FRabatt THEN NEXT.
  3178. FIND Tabel USE-INDEX Tabel-k1
  3179. WHERE Tabel.Firma = GVFirma
  3180. AND Tabel.RecArt = 'ARABGRP'
  3181. AND Tabel.CodeC = ''
  3182. AND Tabel.CodeI = TSpeRab.Rab_Grp
  3183. AND Tabel.Sprcd = 1 NO-LOCK.
  3184. IF Rundbetr < 0 THEN RText = VZusText.
  3185. ELSE RText = VRabText.
  3186. FIND FIRST AufSpRab USE-INDEX AufSpRab-k1
  3187. WHERE AufSpRab.Firma = BAufko.Firma
  3188. AND AufSpRab.Aufnr = BAufko.Aufnr
  3189. AND AufSpRab.Rab_Grp = TSpeRab.Rab_Grp NO-LOCK.
  3190. IF AufSpRab.Auf_Proz_Betr THEN WText = "%".
  3191. ELSE WText = "Fr.".
  3192. RabWert = ABSOLUT(AufSpRab.Auf_Wert).
  3193. SUBSTRING(VZeile,001) = RText
  3194. + " "
  3195. + TRIM(Tabel.Bez1).
  3196. VZeile = TRIM(SUBSTRING(VZeile,01,20)).
  3197. SUBSTRING(VZeile,020) = STRING( RabWert ,"->>>9.99").
  3198. SUBSTRING(VZeile,029) = STRING(- Rundbetr,"->>>9.99").
  3199. { v8/putstream_epson_pos.i "1" }
  3200. i5 = i5 + 1.
  3201. END.
  3202. IF i5 > 0 THEN DO:
  3203. SUBSTRING(VZeile,001) = TRIM(SUBSTRING(FormText[14],21,20)).
  3204. SUBSTRING(VZeile,029) = STRING(VFak_Betr,"->>>9.99").
  3205. VZeile = CHR(27) + 'G' + CHR(01) + VZeile + CHR(27) + 'G' + CHR(02).
  3206. { v8/putstream_epson_pos.i "1" }
  3207. xLeer = TRUE.
  3208. fGedruckt = TRUE.
  3209. END.
  3210. /* Recycling-Gebühren ------------------------------------------------ */
  3211. i5 = 0.
  3212. FOR EACH AufGKon USE-INDEX AufGKon-k1
  3213. WHERE AufGKon.Firma = BAufko.Firma
  3214. AND AufGKon.Aufnr = BAufko.Aufnr
  3215. AND AufGKon.Gebuehr <> 0
  3216. AND AufGKon.Betrag <> 0 NO-LOCK:
  3217. VFak_Betr = VFak_Betr + AufGKon.Betrag.
  3218. IF NOT FRabatt THEN NEXT.
  3219. VWC = AufGKon.MWSt_Cd.
  3220. FIND GebKonto OF AufGKon NO-LOCK NO-ERROR.
  3221. IF AVAILABLE GebKonto THEN
  3222. SUBSTRING(VZeile,001) = TRIM(SUBSTRING(GebKonto.Bez,01,28)).
  3223. ELSE SUBSTRING(VZeile,001) = TRIM(SUBSTRING(FormText[11],41,20)).
  3224. SUBSTRING(VZeile,029) = STRING(AufGKon.Betrag ,"->>>9.99").
  3225. SUBSTRING(VZeile,039) = STRING(AufGKon.MWSt_Cd ,"z9").
  3226. { v8/putstream_epson_pos.i "1" }
  3227. i5 = i5 + 1.
  3228. FIND FIRST TUmsGrp WHERE TUmsGrp.Ums_Grp = 1000 NO-ERROR.
  3229. IF NOT AVAILABLE TUmsGrp THEN DO:
  3230. FIND WarenGrp USE-INDEX WarenGrp-k1
  3231. WHERE WarenGrp.Firma = GVFirma
  3232. AND WarenGrp.Wgr = 1000 NO-LOCK NO-ERROR.
  3233. CREATE TUmsGrp.
  3234. ASSIGN TUmsGrp.Ums_Grp = 1000
  3235. TUmsGrp.Bez = 'Recyclinggebühren'.
  3236. END.
  3237. TUmsGrp.Ums_Betr = TUmsGrp.Ums_Betr + AufGKon.Betrag.
  3238. END.
  3239. IF i5 > 0 THEN DO:
  3240. SUBSTRING(VZeile,001) = TRIM(SUBSTRING(FormText[14],41,20)).
  3241. SUBSTRING(VZeile,029) = STRING(VFak_Betr,"->>>9.99").
  3242. VZeile = CHR(27) + 'G' + CHR(01) + VZeile + CHR(27) + 'G' + CHR(02).
  3243. { v8/putstream_epson_pos.i "1" }
  3244. xLeer = TRUE.
  3245. fGedruckt = TRUE.
  3246. END.
  3247. IF NOT fGedruckt THEN RETURN.
  3248. { v8/putstream_epson_pos.i "1" }
  3249. END PROCEDURE.
  3250. /* _UIB-CODE-BLOCK-END */
  3251. &ANALYZE-RESUME
  3252. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE UMSATZVERTEILUNG C-Win
  3253. PROCEDURE UMSATZVERTEILUNG :
  3254. /*------------------------------------------------------------------------------
  3255. Purpose:
  3256. Parameters: <none>
  3257. Notes:
  3258. ------------------------------------------------------------------------------*/
  3259. Zuszz = 0.
  3260. Ja = FALSE.
  3261. FOR EACH TUmsGrp NO-LOCK:
  3262. Zuszz = Zuszz + 1.
  3263. END.
  3264. IF Zuszz > 0 THEN DO:
  3265. Zuszz = Zuszz + 2.
  3266. Ja = TRUE.
  3267. END.
  3268. IF (BLiDruck.Listtzz - VLine - Zuszz) < BLiDruck.Listfzz THEN DO:
  3269. RUN VALUE(VKopfArt).
  3270. END.
  3271. IF Ja THEN DO:
  3272. SUBSTRING(VZeile,001) = TRIM(SUBSTRING(FormText[15],41,20)).
  3273. { v8/putstreamf.i "1" }
  3274. END.
  3275. FOR EACH TUmsGrp WHERE TUmsGrp.Ums_Betr <> 0 NO-LOCK
  3276. BY TUmsGrp.Ums_Grp :
  3277. SUBSTRING(VZeile,001) = TUmsGrp.Bez.
  3278. SUBSTRING(VZeile,040) = BSteuer.Fwc03.
  3279. SUBSTRING(VZeile,050) = STRING(TUmsGrp.Ums_Betr,"->>>,>>9.99").
  3280. { v8/putstream.i "1" }
  3281. END.
  3282. END PROCEDURE.
  3283. /* _UIB-CODE-BLOCK-END */
  3284. &ANALYZE-RESUME
  3285. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE VERSANDART C-Win
  3286. PROCEDURE VERSANDART :
  3287. /*------------------------------------------------------------------------------
  3288. Purpose:
  3289. Parameters: <none>
  3290. Notes:
  3291. ------------------------------------------------------------------------------*/
  3292. XVersand = ''.
  3293. FIND Tabel USE-INDEX Tabel-k1
  3294. WHERE Tabel.Firma = GVFirma
  3295. AND Tabel.RecArt = 'LIEFART'
  3296. AND Tabel.CodeC = ''
  3297. AND Tabel.CodeI = BAufko.Lief_Bed
  3298. AND Tabel.Sprcd = 1 NO-LOCK NO-ERROR.
  3299. IF AVAILABLE Tabel THEN XVersand = Tabel.Bez1.
  3300. END PROCEDURE.
  3301. /* _UIB-CODE-BLOCK-END */
  3302. &ANALYZE-RESUME
  3303. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE VESR_DRUCK C-Win
  3304. PROCEDURE VESR_DRUCK :
  3305. /*------------------------------------------------------------------------------
  3306. Purpose:
  3307. Parameters: <none>
  3308. Notes:
  3309. ------------------------------------------------------------------------------*/
  3310. DEF VAR VVESR AS CHAR FORMAT "x(90)" EXTENT 25.
  3311. DEF VAR PZBetrag AS CHAR FORMAT "x(13)" NO-UNDO.
  3312. DEF VAR PZReferenz AS CHAR FORMAT "x(27)" NO-UNDO.
  3313. DEF VAR PZTNummer AS CHAR FORMAT "x(09)" NO-UNDO.
  3314. DEF VAR VSZeile AS CHAR FORMAT "x(58)" NO-UNDO.
  3315. DEF VAR VZeile AS CHAR FORMAT "x(58)" NO-UNDO.
  3316. DEF VAR cBESRZe AS CHAR EXTENT 20 NO-UNDO.
  3317. DEF VAR cBESRKo AS CHAR EXTENT 02 NO-UNDO.
  3318. DEF VAR cBESRTn AS CHAR NO-UNDO.
  3319. DEF VAR cBESRBn AS CHAR NO-UNDO.
  3320. DEF VAR XArt AS INT NO-UNDO.
  3321. DEF VAR XAnz AS INT NO-UNDO.
  3322. DEF VAR XBetr AS CHAR FORMAT "x(20)" NO-UNDO.
  3323. DEF VAR VESR_P AS CHAR FORMAT "x(02)" NO-UNDO.
  3324. DEF VAR VESR AS CHAR FORMAT "x(02)" NO-UNDO.
  3325. DEF VAR DruBetr AS DEC NO-UNDO.
  3326. DEF VAR XBetrag AS CHAR FORMAT "x(12)" NO-UNDO.
  3327. DEF VAR XCodeC AS CHAR NO-UNDO.
  3328. DEF VAR XP AS INT NO-UNDO.
  3329. DEF VAR YP AS INT NO-UNDO.
  3330. DEF BUFFER BESRTabel FOR Tabel.
  3331. IF VBesr = 0 THEN RETURN.
  3332. IF NOT BOpen THEN DO:
  3333. OUTPUT STREAM BESR_Stream TO VALUE(BESRName).
  3334. BOpen = TRUE.
  3335. END.
  3336. DruBetr = Rundbetr.
  3337. FIND Kondi USE-INDEX Kondi-k1
  3338. WHERE Kondi.Kond = BAufko.Kond
  3339. AND Kondi.Sprcd = LVSprcd NO-LOCK NO-ERROR.
  3340. IF AVAILABLE Kondi THEN DO:
  3341. IF Kondi.Skonto[01] <> 0 THEN DruBetr = 0.
  3342. END.
  3343. cBESRZe = ''.
  3344. cBESRKo = ''.
  3345. cBESRTn = ''.
  3346. cBESRBn = ''.
  3347. FOR EACH BESRTabel USE-INDEX Tabel-k1
  3348. WHERE BESRTabel.Firma = GVFirma
  3349. AND BESRTabel.RecArt = 'EZ'
  3350. AND BESRTabel.CodeC = STRING(FDebst.BESR_Art,'999999')
  3351. AND BESRTabel.Sprcd = 1 NO-LOCK:
  3352. CASE BESRTabel.CodeI:
  3353. WHEN 0 THEN DO:
  3354. cBESRKo[01] = BESRTabel.Bez1.
  3355. cBESRKo[02] = BESRTabel.Bez2.
  3356. cBESRBn = STRING(BESRTabel.Dec_1,'99999999999999').
  3357. cBESRTn = BESRTabel.BezL.
  3358. END.
  3359. OTHERWISE DO:
  3360. cBESRZe[BESRTabel.CodeI + 00] = BESRTabel.Bez1.
  3361. cBESRZe[BESRTabel.CodeI + 08] = BESRTabel.Bez2.
  3362. END.
  3363. END CASE.
  3364. END.
  3365. DO WHILE TRUE:
  3366. PZBetrag = ''.
  3367. IF DruBetr < 0 THEN DO:
  3368. PZBetrag = FILL('*', 13).
  3369. PZReferenz = FILL('*', 27).
  3370. PZTNummer = FILL('*', 09).
  3371. XBetrag = FILL('*', 12).
  3372. END.
  3373. ELSE DO:
  3374. IF DruBetr > 0 THEN DO:
  3375. PZBetrag = "01" + STRING(Rundbetr * 100,"9999999999 ").
  3376. XBetrag = STRING((Rundbetr * 100),"zz,zzz,zz999").
  3377. END.
  3378. IF DruBetr = 0 THEN DO:
  3379. PZBetrag = " 04 ".
  3380. END.
  3381. PZReferenz = SUBSTRING(cBESRBn,01,12)
  3382. + STRING(VesrKnr,"999999")
  3383. + "0"
  3384. + STRING(VesrFnr,"9999999")
  3385. + " ".
  3386. PZTNummer = cBESRTn.
  3387. RUN PRUEFZIFFER ( INPUT-OUTPUT PZBetrag , INPUT-OUTPUT PZReferenz,
  3388. INPUT-OUTPUT PZTNummer, OUTPUT VSZeile ).
  3389. END.
  3390. PUT STREAM BESR_Stream CONTROL CHR(27) "&l4H". /* Schacht 1 */
  3391. PUT STREAM BESR_Stream CONTROL CHR(27) "&l1O" /* Querformat */
  3392. CHR(27) "(10U" /* CODEPAGE 850 */
  3393. CHR(27) "(s4102t0b0p0s14H". /* LetterGotic 12cpi */
  3394. XP = 0980.
  3395. YP = 600.
  3396. VZeile = ''.
  3397. RUN DRUCKPOSITION ( INPUT 300, INPUT XP, INPUT YP ).
  3398. SUBSTRING(VZeile,001) = cBESRZe[01].
  3399. SUBSTRING(VZeile,036) = cBESRZe[09].
  3400. PUT STREAM BESR_Stream CONTROL VZeile CHR(10).
  3401. YP = YP + 50.
  3402. VZeile = ''.
  3403. RUN DRUCKPOSITION ( INPUT 300, INPUT XP, INPUT YP ).
  3404. SUBSTRING(VZeile,001) = cBESRZe[02].
  3405. SUBSTRING(VZeile,036) = cBESRZe[10].
  3406. PUT STREAM BESR_Stream CONTROL VZeile CHR(10).
  3407. YP = YP + 50.
  3408. VZeile = ''.
  3409. RUN DRUCKPOSITION ( INPUT 300, INPUT XP, INPUT YP ).
  3410. SUBSTRING(VZeile,001) = cBESRZe[03].
  3411. SUBSTRING(VZeile,036) = cBESRZe[11].
  3412. PUT STREAM BESR_Stream CONTROL VZeile CHR(10).
  3413. YP = YP + 50.
  3414. VZeile = ''.
  3415. RUN DRUCKPOSITION ( INPUT 300, INPUT XP, INPUT YP ).
  3416. SUBSTRING(VZeile,001) = cBESRZe[04].
  3417. SUBSTRING(VZeile,036) = cBESRZe[12].
  3418. PUT STREAM BESR_Stream CONTROL VZeile CHR(10).
  3419. YP = YP + 50.
  3420. VZeile = ''.
  3421. RUN DRUCKPOSITION ( INPUT 300, INPUT XP, INPUT YP ).
  3422. SUBSTRING(VZeile,001) = cBESRZe[05].
  3423. SUBSTRING(VZeile,036) = cBESRZe[13].
  3424. PUT STREAM BESR_Stream CONTROL VZeile CHR(10).
  3425. YP = YP + 50.
  3426. VZeile = ''.
  3427. RUN DRUCKPOSITION ( INPUT 300, INPUT XP, INPUT YP ).
  3428. SUBSTRING(VZeile,001) = cBESRZe[06].
  3429. SUBSTRING(VZeile,036) = cBESRZe[14].
  3430. PUT STREAM BESR_Stream CONTROL VZeile CHR(10).
  3431. YP = YP + 50.
  3432. VZeile = ''.
  3433. RUN DRUCKPOSITION ( INPUT 300, INPUT XP, INPUT YP ).
  3434. SUBSTRING(VZeile,001) = cBESRZe[07].
  3435. SUBSTRING(VZeile,036) = cBESRZe[15].
  3436. PUT STREAM BESR_Stream CONTROL VZeile CHR(10).
  3437. YP = YP + 50.
  3438. VZeile = ''.
  3439. RUN DRUCKPOSITION ( INPUT 300, INPUT XP, INPUT YP ).
  3440. SUBSTRING(VZeile,001) = cBESRZe[08].
  3441. SUBSTRING(VZeile,036) = cBESRZe[16].
  3442. PUT STREAM BESR_Stream CONTROL VZeile CHR(10).
  3443. YP = YP + 55.
  3444. VZeile = ''.
  3445. RUN DRUCKPOSITION ( INPUT 300, INPUT XP, INPUT YP ).
  3446. PUT STREAM BESR_Stream CONTROL CHR(27) "(10U" /* CODEPAGE 850 */
  3447. CHR(27) "(s4102t0b0p0s12H". /* LetterGotic 12cpi */
  3448. SUBSTRING(VZeile,013) = cBESRKo[01].
  3449. SUBSTRING(VZeile,043) = cBESRKo[02].
  3450. SUBSTRING(VZeile,062) = STRING(PZReferenz,"XX XXXXX XXXXX XXXXX XXXXX XXXXX").
  3451. PUT STREAM BESR_Stream CONTROL VZeile CHR(10).
  3452. YP = YP + 110.
  3453. XP = 0987.
  3454. VZeile = ''.
  3455. RUN DRUCKPOSITION ( INPUT 300, INPUT XP, INPUT YP ).
  3456. SUBSTRING(VZeile,004) = STRING(XBetrag,"XXXXXXXXXX XX").
  3457. SUBSTRING(VZeile,033) = STRING(XBetrag,"XXXXXXXXXX XX").
  3458. PUT STREAM BESR_Stream CONTROL VZeile CHR(10).
  3459. YP = YP + 90.
  3460. XP = 0980.
  3461. VZeile = ''.
  3462. RUN DRUCKPOSITION ( INPUT 300, INPUT XP, INPUT YP ).
  3463. PUT STREAM BESR_Stream CONTROL CHR(27) "(10U" /* CODEPAGE 850 */
  3464. CHR(27) "(s4102t0b0p0s16H". /* LetterGotic 16cpi */
  3465. SUBSTRING(VZeile,001) = STRING(PZReferenz,"XX XXXXX XXXXX XXXXX XXXXX XXXXX").
  3466. PUT STREAM BESR_Stream CONTROL VZeile CHR(10).
  3467. FIND Adresse USE-INDEX Adresse-k1
  3468. WHERE Adresse.Firma = AdFirma
  3469. AND Adresse.Knr = VesrKnr NO-LOCK NO-ERROR.
  3470. YP = YP + 160.
  3471. PUT STREAM BESR_Stream CONTROL CHR(27) "(10U" /* CODEPAGE 850 */
  3472. CHR(27) "(s4102t0b0p0s12H". /* LetterGotic 12cpi */
  3473. RUN DRUCKPOSITION ( INPUT 300, INPUT XP, INPUT YP ).
  3474. DO ix = 11 TO 6 BY -1:
  3475. VZeile = ''.
  3476. SUBSTRING(VZeile,059) = Adresse.Anschrift[ix].
  3477. IF ix = 11 THEN VZeile = BDrucker.Drufettb + VZeile + BDrucker.Drufette.
  3478. PUT STREAM BESR_Stream CONTROL VZeile CHR(10).
  3479. YP = YP - 48.
  3480. RUN DRUCKPOSITION ( INPUT 300, INPUT XP, INPUT YP ).
  3481. END.
  3482. YP = 1430.
  3483. PUT STREAM BESR_Stream CONTROL CHR(27) "(10U" /* CODEPAGE 850 */
  3484. CHR(27) "(s4102t0b0p0s13H". /* LetterGotic 14cpi */
  3485. RUN DRUCKPOSITION ( INPUT 300, INPUT XP, INPUT YP ).
  3486. DO ix = 11 TO 7 BY -1:
  3487. VZeile = ''.
  3488. SUBSTRING(VZeile,001) = STRING(Adresse.Anschrift[ix],"x(30)").
  3489. PUT STREAM BESR_Stream CONTROL VZeile CHR(10).
  3490. YP = YP - 43.
  3491. RUN DRUCKPOSITION ( INPUT 300, INPUT XP, INPUT YP ).
  3492. END.
  3493. YP = 1490.
  3494. VZeile = ''.
  3495. PUT STREAM BESR_Stream CONTROL CHR(27) "(1O" /* CODEPAGE OCR-B */
  3496. CHR(27) "(s110t1b0p0s10h12V". /* OCR-B 10 cpi */
  3497. XP = XP + 15.
  3498. RUN DRUCKPOSITION ( INPUT 300, INPUT XP, INPUT YP ).
  3499. XP = XP - 15.
  3500. SUBSTRING(VZeile,022) = "H".
  3501. SUBSTRING(VZeile,027) = STRING(VSZeile,"x(53)").
  3502. PUT STREAM BESR_Stream CONTROL VZeile CHR(10).
  3503. VLine = 0.
  3504. VSeite = 0.
  3505. LEAVE.
  3506. END.
  3507. END PROCEDURE.
  3508. /* _UIB-CODE-BLOCK-END */
  3509. &ANALYZE-RESUME
  3510. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE WORKFILE C-Win
  3511. PROCEDURE WORKFILE :
  3512. /*------------------------------------------------------------------------------
  3513. Purpose:
  3514. Parameters: <none>
  3515. Notes:
  3516. ------------------------------------------------------------------------------*/
  3517. FIND BSchrift USE-INDEX Schrift-k1
  3518. WHERE BSchrift.Schname = BLiDruck.ListDru
  3519. AND BSchrift.Schbild = BLiDruck.ListBild NO-LOCK NO-ERROR.
  3520. FIND BDrucker USE-INDEX Drucker-k1
  3521. WHERE BDrucker.Drucker = BSchrift.Schdru NO-LOCK NO-ERROR.
  3522. DOpen = FALSE.
  3523. VTemp = ''.
  3524. IF BDrucker.Emul = 'TERMINAL' THEN DO:
  3525. FOR EACH XTermOut:
  3526. DELETE XTermOut.
  3527. END.
  3528. VZNr = 0.
  3529. RETURN.
  3530. END.
  3531. DO WHILE TRUE TRANSACTION:
  3532. FIND Tabel USE-INDEX Tabel-k1
  3533. WHERE Tabel.Firma = GVFirma
  3534. AND Tabel.RecArt = 'TEMPFILE'
  3535. AND Tabel.CodeI = 0
  3536. AND Tabel.CodeC = 'AUFTRAG'
  3537. AND Tabel.Sprcd = 1 NO-ERROR.
  3538. IF NOT AVAILABLE Tabel THEN DO:
  3539. CREATE Tabel.
  3540. ASSIGN Tabel.Firma = GVFirma
  3541. Tabel.RecArt = 'TEMPFILE'
  3542. Tabel.CodeI = 0
  3543. Tabel.CodeC = 'AUFTRAG'
  3544. Tabel.Sprcd = 1
  3545. Tabel.Bez1 = SESSION:TEMP-DIR.
  3546. END.
  3547. Tabel.Int_1 = Tabel.Int_1 + 1.
  3548. VTemp = Tabel.Bez1 + 'Faktura' + STRING(Tabel.Int_1) + '.tmp'.
  3549. BESRName = Tabel.Bez1 + 'BESR' + STRING(Tabel.Int_1) + '.tmp'.
  3550. RELEASE Tabel.
  3551. LEAVE.
  3552. END.
  3553. DOpen = TRUE.
  3554. END PROCEDURE.
  3555. /* _UIB-CODE-BLOCK-END */
  3556. &ANALYZE-RESUME
  3557. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ZAHLUNGSKONDITION C-Win
  3558. PROCEDURE ZAHLUNGSKONDITION :
  3559. /*------------------------------------------------------------------------------
  3560. Purpose:
  3561. Parameters: <none>
  3562. Notes:
  3563. ------------------------------------------------------------------------------*/
  3564. FIND Kondi USE-INDEX Kondi-k1
  3565. WHERE Kondi.Kond = BAufko.Kond
  3566. AND Kondi.Sprcd = LVSprcd NO-LOCK NO-ERROR.
  3567. IF AVAILABLE Kondi THEN DO:
  3568. SUBSTRING(VZeile,001) = Kondi.KoText.
  3569. IF Kondi.Skonto[01] <> 0 THEN DO:
  3570. Rundbetr = BAufko.Sk_Ber * Kondi.Skonto[01] / 100.
  3571. IF DebInkl THEN DO:
  3572. Rundcode = 1.
  3573. RUN "v8/runden.p".
  3574. END.
  3575. SUBSTRING(VZeile,081) = STRING(Rundbetr,"->>>,>>9.99").
  3576. END.
  3577. END.
  3578. ELSE DO:
  3579. SUBSTRING(VZeile,001) = FILL('?', 30).
  3580. END.
  3581. { v8/putstream.i "2" }
  3582. END PROCEDURE.
  3583. /* _UIB-CODE-BLOCK-END */
  3584. &ANALYZE-RESUME