c-p_sanmartino.w 163 KB

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