c-p_wiederkehr-sk.w 145 KB

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