c-p_winecellars.w 247 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093509450955096509750985099510051015102510351045105510651075108510951105111511251135114511551165117511851195120512151225123512451255126512751285129513051315132513351345135513651375138513951405141514251435144514551465147514851495150515151525153515451555156515751585159516051615162516351645165516651675168516951705171517251735174517551765177517851795180518151825183518451855186518751885189519051915192519351945195519651975198519952005201520252035204520552065207520852095210521152125213521452155216521752185219522052215222522352245225522652275228522952305231523252335234523552365237523852395240524152425243524452455246524752485249525052515252525352545255525652575258525952605261526252635264526552665267526852695270527152725273527452755276527752785279528052815282528352845285528652875288528952905291529252935294529552965297529852995300530153025303530453055306530753085309531053115312531353145315531653175318531953205321532253235324532553265327532853295330533153325333533453355336533753385339534053415342534353445345534653475348534953505351535253535354535553565357535853595360536153625363536453655366536753685369537053715372537353745375537653775378537953805381538253835384538553865387538853895390539153925393539453955396539753985399540054015402540354045405540654075408540954105411541254135414541554165417541854195420542154225423542454255426542754285429543054315432543354345435543654375438543954405441544254435444544554465447544854495450545154525453545454555456545754585459546054615462546354645465546654675468546954705471547254735474547554765477547854795480548154825483548454855486548754885489549054915492549354945495549654975498549955005501550255035504550555065507550855095510551155125513551455155516551755185519552055215522552355245525552655275528552955305531553255335534553555365537553855395540554155425543554455455546554755485549555055515552555355545555555655575558555955605561556255635564556555665567556855695570557155725573557455755576557755785579558055815582558355845585558655875588558955905591559255935594559555965597559855995600560156025603560456055606560756085609561056115612561356145615561656175618561956205621562256235624562556265627562856295630563156325633563456355636563756385639564056415642564356445645564656475648564956505651565256535654565556565657565856595660566156625663566456655666566756685669567056715672567356745675567656775678567956805681568256835684568556865687568856895690569156925693569456955696569756985699570057015702570357045705570657075708570957105711571257135714571557165717571857195720572157225723572457255726572757285729573057315732573357345735573657375738573957405741574257435744574557465747574857495750575157525753575457555756575757585759576057615762576357645765576657675768576957705771577257735774577557765777577857795780578157825783578457855786578757885789579057915792579357945795579657975798579958005801580258035804580558065807580858095810581158125813581458155816581758185819582058215822582358245825582658275828582958305831583258335834583558365837583858395840584158425843584458455846584758485849585058515852585358545855585658575858585958605861586258635864586558665867586858695870587158725873587458755876587758785879588058815882588358845885588658875888588958905891589258935894589558965897589858995900590159025903590459055906590759085909591059115912591359145915591659175918591959205921592259235924592559265927592859295930593159325933593459355936593759385939594059415942594359445945594659475948594959505951595259535954595559565957595859595960596159625963596459655966596759685969597059715972597359745975597659775978597959805981598259835984598559865987598859895990599159925993599459955996599759985999600060016002600360046005600660076008600960106011601260136014601560166017601860196020602160226023602460256026602760286029603060316032603360346035603660376038603960406041604260436044604560466047604860496050605160526053605460556056605760586059606060616062606360646065606660676068606960706071607260736074607560766077607860796080608160826083608460856086608760886089609060916092609360946095609660976098609961006101610261036104610561066107610861096110611161126113611461156116611761186119612061216122612361246125612661276128612961306131613261336134613561366137613861396140614161426143614461456146614761486149615061516152615361546155615661576158615961606161616261636164616561666167616861696170617161726173617461756176617761786179618061816182618361846185618661876188618961906191619261936194619561966197619861996200620162026203620462056206620762086209621062116212621362146215621662176218621962206221622262236224622562266227622862296230623162326233623462356236623762386239624062416242624362446245624662476248624962506251625262536254625562566257625862596260626162626263626462656266626762686269627062716272627362746275627662776278627962806281628262836284628562866287628862896290629162926293629462956296629762986299630063016302630363046305630663076308630963106311631263136314631563166317631863196320632163226323632463256326632763286329633063316332633363346335633663376338633963406341634263436344634563466347634863496350635163526353635463556356635763586359636063616362636363646365636663676368636963706371637263736374637563766377637863796380638163826383638463856386638763886389639063916392639363946395639663976398639964006401640264036404640564066407640864096410641164126413641464156416641764186419642064216422642364246425642664276428642964306431643264336434643564366437643864396440644164426443644464456446644764486449645064516452645364546455645664576458645964606461646264636464646564666467646864696470647164726473647464756476647764786479648064816482648364846485648664876488648964906491649264936494649564966497649864996500650165026503650465056506650765086509651065116512651365146515651665176518651965206521652265236524652565266527652865296530653165326533653465356536653765386539654065416542654365446545654665476548654965506551655265536554655565566557655865596560656165626563656465656566656765686569657065716572657365746575657665776578657965806581658265836584658565866587658865896590659165926593659465956596659765986599660066016602660366046605660666076608660966106611661266136614661566166617661866196620662166226623662466256626662766286629663066316632663366346635663666376638663966406641664266436644664566466647664866496650665166526653665466556656665766586659666066616662666366646665666666676668666966706671667266736674667566766677667866796680668166826683668466856686668766886689669066916692669366946695669666976698669967006701670267036704670567066707670867096710671167126713671467156716671767186719672067216722672367246725672667276728672967306731673267336734673567366737673867396740674167426743674467456746674767486749675067516752675367546755675667576758675967606761676267636764676567666767676867696770677167726773677467756776677767786779678067816782678367846785678667876788678967906791679267936794679567966797679867996800680168026803680468056806680768086809681068116812681368146815681668176818681968206821682268236824682568266827682868296830683168326833683468356836683768386839684068416842684368446845684668476848684968506851685268536854685568566857685868596860686168626863686468656866686768686869687068716872687368746875687668776878687968806881688268836884688568866887688868896890689168926893689468956896689768986899690069016902690369046905690669076908690969106911691269136914691569166917691869196920692169226923692469256926692769286929693069316932693369346935693669376938693969406941694269436944694569466947694869496950695169526953695469556956695769586959696069616962696369646965696669676968696969706971697269736974697569766977697869796980698169826983698469856986698769886989699069916992699369946995699669976998699970007001700270037004700570067007700870097010701170127013701470157016701770187019702070217022702370247025702670277028702970307031703270337034703570367037703870397040704170427043704470457046704770487049705070517052705370547055705670577058705970607061706270637064706570667067706870697070707170727073707470757076707770787079708070817082708370847085708670877088708970907091709270937094709570967097709870997100710171027103710471057106710771087109711071117112711371147115711671177118711971207121712271237124712571267127712871297130713171327133713471357136713771387139714071417142714371447145714671477148714971507151715271537154715571567157715871597160716171627163716471657166716771687169717071717172717371747175717671777178717971807181718271837184718571867187718871897190719171927193719471957196719771987199720072017202720372047205720672077208720972107211721272137214721572167217721872197220722172227223722472257226722772287229723072317232723372347235723672377238723972407241724272437244724572467247724872497250725172527253725472557256725772587259726072617262726372647265726672677268726972707271727272737274727572767277727872797280728172827283728472857286728772887289729072917292729372947295729672977298729973007301730273037304730573067307730873097310731173127313731473157316731773187319732073217322732373247325732673277328732973307331733273337334733573367337733873397340734173427343734473457346734773487349735073517352735373547355735673577358735973607361736273637364736573667367736873697370737173727373737473757376737773787379738073817382738373847385738673877388738973907391739273937394739573967397739873997400740174027403740474057406740774087409741074117412741374147415741674177418741974207421742274237424742574267427742874297430743174327433743474357436743774387439744074417442744374447445744674477448744974507451745274537454745574567457745874597460746174627463746474657466746774687469747074717472747374747475747674777478747974807481748274837484748574867487748874897490749174927493749474957496749774987499750075017502750375047505750675077508750975107511751275137514751575167517751875197520752175227523752475257526752775287529753075317532
  1. &ANALYZE-SUSPEND _VERSION-NUMBER UIB_v8r12 GUI
  2. &ANALYZE-RESUME
  3. /* Connected Databases
  4. anadat PROGRESS
  5. */
  6. &Scoped-define WINDOW-NAME C-Win
  7. /* Temp-Table and Buffer definitions */
  8. DEFINE NEW SHARED TEMP-TABLE XTermOut NO-UNDO LIKE TermOut.
  9. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS C-Win
  10. /*------------------------------------------------------------------------
  11. File:
  12. Description:
  13. Input Parameters:
  14. <none>
  15. Output Parameters:
  16. <none>
  17. Author:
  18. Created:
  19. ------------------------------------------------------------------------*/
  20. /* This .W file was created with the Progress UIB. */
  21. /*----------------------------------------------------------------------*/
  22. /* Create an unnamed pool to store all the widgets created
  23. by this procedure. This is a good default which assures
  24. that this procedure's triggers and internal procedures
  25. will execute in this procedure's storage, and that proper
  26. cleanup will occur on deletion of the procedure. */
  27. CREATE WIDGET-POOL.
  28. /* *************************** Definitions ************************** */
  29. /* Parameters Definitions --- */
  30. /* Local Variable Definitions --- */
  31. DEFINE VARIABLE FDrucken AS LOG NO-UNDO.
  32. DEFINE VARIABLE DruckFlag AS LOG NO-UNDO.
  33. DEFINE VARIABLE TRecid AS RECID NO-UNDO.
  34. DEFINE VARIABLE RabText AS CHARACTER NO-UNDO.
  35. DEFINE VARIABLE RabWert AS DECIMAL NO-UNDO.
  36. DEFINE VARIABLE VFak_Betr AS DECIMAL DECIMALS 4 NO-UNDO.
  37. DEFINE VARIABLE GTWpfl AS DECIMAL EXTENT 12 NO-UNDO.
  38. DEFINE VARIABLE GTWust AS DECIMAL EXTENT 12 NO-UNDO.
  39. DEFINE VARIABLE GTFak_Betr AS DECIMAL NO-UNDO.
  40. DEFINE VARIABLE GTSk_Ber AS DECIMAL NO-UNDO.
  41. DEFINE VARIABLE SFaknr AS INTEGER NO-UNDO.
  42. DEFINE VARIABLE FakArt AS INTEGER NO-UNDO.
  43. DEFINE VARIABLE FLetzt AS LOG NO-UNDO.
  44. DEFINE VARIABLE FErste AS LOG NO-UNDO.
  45. DEFINE VARIABLE VZeile AS CHARACTER FORMAT "x(180)" NO-UNDO.
  46. DEFINE VARIABLE RZeile AS CHARACTER FORMAT "x(180)" NO-UNDO.
  47. DEFINE VARIABLE LiKopf AS LOG NO-UNDO.
  48. DEFINE VARIABLE StBreite AS INTEGER NO-UNDO.
  49. DEFINE VARIABLE VWC AS INTEGER NO-UNDO.
  50. DEFINE VARIABLE VZTot AS DECIMAL DECIMALS 4 NO-UNDO.
  51. DEFINE VARIABLE FDatum AS DATE FORMAT "99.99.9999" NO-UNDO.
  52. DEFINE VARIABLE VFaknr AS INTEGER NO-UNDO.
  53. DEFINE VARIABLE VesrKnr AS INTEGER NO-UNDO.
  54. DEFINE VARIABLE VesrFnr AS INTEGER NO-UNDO.
  55. DEFINE VARIABLE VBesr AS INTEGER NO-UNDO.
  56. DEFINE VARIABLE VRabText AS CHARACTER FORMAT "x(20)" NO-UNDO.
  57. DEFINE VARIABLE VZusText AS CHARACTER FORMAT "x(20)" NO-UNDO.
  58. DEFINE VARIABLE VEpzText AS CHARACTER FORMAT "x(20)" NO-UNDO.
  59. DEFINE VARIABLE XVersand AS CHARACTER NO-UNDO.
  60. DEFINE VARIABLE XAblade AS CHARACTER NO-UNDO.
  61. DEFINE VARIABLE XAuf_Text LIKE Aufko.Auf_Text NO-UNDO.
  62. DEFINE VARIABLE XTelnr LIKE Aufko.Auf_Text NO-UNDO.
  63. DEFINE VARIABLE VTemp AS CHARACTER FORMAT "x(100)" NO-UNDO.
  64. DEFINE VARIABLE FPreis AS LOG NO-UNDO.
  65. DEFINE VARIABLE FBetrag AS LOG NO-UNDO.
  66. DEFINE VARIABLE FRabatt AS LOG NO-UNDO.
  67. DEFINE VARIABLE FUeber AS LOG NO-UNDO.
  68. DEFINE VARIABLE FSamm AS LOG NO-UNDO.
  69. DEFINE VARIABLE FLagOrt AS LOG NO-UNDO.
  70. DEFINE VARIABLE VTabTexte LIKE TabTexte.Inhalt NO-UNDO.
  71. DEFINE VARIABLE VDokArt AS CHARACTER NO-UNDO.
  72. DEFINE VARIABLE VKopfArt AS CHARACTER NO-UNDO.
  73. DEFINE VARIABLE VBesrArt AS CHARACTER NO-UNDO.
  74. DEFINE VARIABLE FwFRW AS CHARACTER NO-UNDO.
  75. DEFINE VARIABLE LiefAdr AS CHARACTER NO-UNDO.
  76. DEFINE VARIABLE XLieferbed AS CHARACTER NO-UNDO.
  77. DEFINE VARIABLE XWirtesonntag AS CHARACTER NO-UNDO.
  78. DEFINE VARIABLE XTour AS CHARACTER NO-UNDO.
  79. DEFINE VARIABLE iFirma AS INTEGER NO-UNDO.
  80. DEFINE VARIABLE cFrw AS CHARACTER NO-UNDO.
  81. DEFINE VARIABLE excelAppl AS COMPONENT-HANDLE NO-UNDO.
  82. DEFINE VARIABLE FormText AS CHARACTER FORMAT "x(80)" EXTENT 40.
  83. DEFINE VARIABLE Schacht1 AS CHARACTER NO-UNDO.
  84. DEFINE VARIABLE Schacht2 AS CHARACTER NO-UNDO.
  85. DEFINE VARIABLE Schacht3 AS CHARACTER NO-UNDO.
  86. DEFINE VARIABLE OCRB AS CHARACTER NO-UNDO.
  87. DEFINE VARIABLE InitCPI AS CHARACTER NO-UNDO.
  88. DEFINE VARIABLE cFormular AS CHARACTER NO-UNDO.
  89. DEFINE VARIABLE LiPos AS INTEGER NO-UNDO.
  90. DEFINE VARIABLE FoBreite AS INTEGER NO-UNDO.
  91. DEFINE VARIABLE TiHoehe AS INTEGER NO-UNDO.
  92. DEFINE VARIABLE SchO AS INTEGER NO-UNDO.
  93. DEFINE VARIABLE SchK AS INTEGER NO-UNDO.
  94. DEFINE VARIABLE SchB AS INTEGER NO-UNDO.
  95. DEFINE VARIABLE cBESRZe AS CHARACTER EXTENT 20 NO-UNDO.
  96. DEFINE VARIABLE cBESRKo AS CHARACTER EXTENT 02 NO-UNDO.
  97. DEFINE VARIABLE cBESRTn AS CHARACTER NO-UNDO.
  98. DEFINE VARIABLE cBESRBn AS CHARACTER NO-UNDO.
  99. DEFINE VARIABLE iBesr AS INTEGER NO-UNDO.
  100. DEFINE VARIABLE fBesr AS LOG INIT FALSE NO-UNDO.
  101. DEFINE VARIABLE fZeiDruck AS LOG INIT FALSE NO-UNDO.
  102. DEFINE BUFFER BESRTabel FOR Tabel.
  103. DEFINE BUFFER BAufko FOR Aufko.
  104. DEFINE BUFFER XAufko FOR Aufko.
  105. DEFINE BUFFER BAufze FOR Aufze.
  106. DEFINE BUFFER BAufGebKo FOR AufGebKo.
  107. DEFINE BUFFER FDebst FOR Debst.
  108. DEFINE BUFFER LDebst FOR Debst.
  109. DEFINE BUFFER BTabel FOR Tabel.
  110. DEFINE BUFFER TFakart FOR Tabel.
  111. DEFINE BUFFER TAufsta FOR Tabel.
  112. DEFINE BUFFER BAdresse FOR Adresse.
  113. DEFINE BUFFER LAdresse FOR Adresse.
  114. DEFINE VARIABLE DebInkl AS LOG NO-UNDO.
  115. DEFINE VARIABLE VWg_Grp AS INTEGER INIT 0 NO-UNDO.
  116. DEFINE VARIABLE VProd_Grp AS INTEGER INIT 0 NO-UNDO.
  117. DEFINE VARIABLE VArt_Grp AS INTEGER INIT 0 NO-UNDO.
  118. DEFINE VARIABLE AArtnr AS INTEGER INIT 0 NO-UNDO.
  119. DEFINE VARIABLE AInhalt AS INTEGER INIT 0 NO-UNDO.
  120. DEFINE VARIABLE AJahr AS INTEGER INIT 0 NO-UNDO.
  121. DEFINE WORKFILE WDrucker LIKE Drucker.
  122. DEFINE WORKFILE WSchrift LIKE Schrift.
  123. DEFINE TEMP-TABLE TAufze
  124. FIELD Aufnr AS INTEGER
  125. FIELD Sort1 AS CHARACTER
  126. FIELD Sort2 AS CHARACTER
  127. FIELD Sort3 AS CHARACTER
  128. FIELD Artnr AS INTEGER
  129. FIELD Inhalt AS INTEGER
  130. FIELD Jahr AS INTEGER
  131. FIELD Pos AS INTEGER
  132. FIELD Zeile AS RECID
  133. FIELD Preis AS DECIMAL DECIMALS 4
  134. FIELD Aktion AS LOG
  135. FIELD LagOrt AS CHARACTER.
  136. DEFINE TEMP-TABLE TGebKto
  137. FIELD Sort_Cd AS CHARACTER
  138. FIELD Geb_Cd AS CHARACTER
  139. FIELD Bez AS CHARACTER
  140. FIELD Preis AS DECIMAL
  141. FIELD A_Anz AS DECIMAL
  142. FIELD A_Betrag AS DECIMAL
  143. FIELD E_Anz AS DECIMAL
  144. FIELD E_Betrag AS DECIMAL
  145. FIELD MWST_Art AS INTEGER
  146. FIELD MWST_Cd AS INTEGER.
  147. DEFINE TEMP-TABLE TRabSumm
  148. FIELD Rab_Summ AS INTEGER
  149. FIELD Bez AS CHARACTER
  150. FIELD F_Rab_Art AS INTEGER
  151. FIELD F_Wert AS DECIMAL DECIMALS 4
  152. FIELD A_Rab_Art AS INTEGER
  153. FIELD A_Wert AS DECIMAL DECIMALS 4
  154. FIELD Auf_Rab AS DECIMAL DECIMALS 4
  155. FIELD Abh_Rab AS DECIMAL DECIMALS 4.
  156. DEFINE TEMP-TABLE TUmsGrp
  157. FIELD Ums_Grp AS INTEGER
  158. FIELD Bez AS CHARACTER
  159. FIELD Ums_Betr AS DECIMAL DECIMALS 4
  160. FIELD Ums_Recy AS DECIMAL DECIMALS 4.
  161. DEFINE TEMP-TABLE TGebuehr
  162. FIELD MWST_Cd AS INTEGER
  163. FIELD Anz AS DECIMAL
  164. FIELD Betrag AS DECIMAL.
  165. DEFINE TEMP-TABLE SammFak NO-UNDO
  166. FIELD Knr AS INTEGER
  167. FIELD Samm_Nr AS INTEGER
  168. FIELD LS_Knr AS INTEGER
  169. FIELD Aufnr AS INTEGER
  170. FIELD Faknr AS INTEGER
  171. FIELD RID AS RECID.
  172. DEFINE TEMP-TABLE TSpeRab
  173. FIELD Rab_Grp AS INTEGER
  174. FIELD Auf_Betr AS DECIMAL DECIMALS 4.
  175. DEFINE BUFFER XSchrift FOR Schrift.
  176. DEFINE BUFFER XDrucker FOR Drucker.
  177. DEFINE VARIABLE VTempVESR AS CHARACTER FORMAT "x(100)" NO-UNDO.
  178. DEFINE VARIABLE XSchacht AS INTEGER NO-UNDO.
  179. DEFINE STREAM In_Stream.
  180. DEFINE STREAM Out_Stream.
  181. /* ---------- Globale Variablen ---------------------------------- */
  182. { globvar.i " " " " "SHARED" }
  183. { debivar.i " " " " "SHARED" }
  184. { artivar.i " " " " "SHARED" }
  185. { contvar.i " " " " "SHARED" }
  186. { listtitv.i "NEW" "SHARED" }
  187. { aufkototv.i "NEW" "SHARED" }
  188. { properties.i }
  189. /* _UIB-CODE-BLOCK-END */
  190. &ANALYZE-RESUME
  191. &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
  192. /* ******************** Preprocessor Definitions ******************** */
  193. &Scoped-define PROCEDURE-TYPE Window
  194. &Scoped-define DB-AWARE no
  195. /* Name of designated FRAME-NAME and/or first browse and/or first query */
  196. &Scoped-define FRAME-NAME DEFAULT-FRAME
  197. /* Standard List Definitions */
  198. &Scoped-Define ENABLED-OBJECTS Btn_Drucken Btn_Abbrechen F_Drucker ~
  199. F_Schrift E_Adresse F_Tzz F_Kzz F_Fzz F_KOPIE F_Aufnr F_Faknr F_Datum ~
  200. F_Dokart F_Seite F_Papier RECT-1
  201. &Scoped-Define DISPLAYED-OBJECTS F_Drucker F_Schrift E_Adresse F_Tzz F_Kzz ~
  202. F_Fzz F_KOPIE F_Aufnr F_Faknr F_Datum F_Dokart F_Seite F_Papier
  203. /* Custom List Definitions */
  204. /* List-1,List-2,List-3,List-4,List-5,List-6 */
  205. &Scoped-define List-1 F_Drucker F_Schrift E_Adresse F_Tzz F_Kzz F_Fzz ~
  206. F_KOPIE F_Aufnr F_Faknr F_Datum F_Dokart F_Seite F_Papier
  207. /* _UIB-PREPROCESSOR-BLOCK-END */
  208. &ANALYZE-RESUME
  209. /* ************************ Function Prototypes ********************** */
  210. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD schreibenFirmaInKopf C-Win
  211. FUNCTION schreibenFirmaInKopf RETURNS LOGICAL
  212. ( ipLinks AS INTEGER ) FORWARD.
  213. /* _UIB-CODE-BLOCK-END */
  214. &ANALYZE-RESUME
  215. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD schreibenFusszeile C-Win
  216. FUNCTION schreibenFusszeile RETURNS LOGICAL
  217. ( ) FORWARD.
  218. /* _UIB-CODE-BLOCK-END */
  219. &ANALYZE-RESUME
  220. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD schreibenLinie C-Win
  221. FUNCTION schreibenLinie RETURNS LOGICAL
  222. ( ipLinks AS INTEGER, ipBreite AS INTEGER ) FORWARD.
  223. /* _UIB-CODE-BLOCK-END */
  224. &ANALYZE-RESUME
  225. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD schreibenUeberschrift C-Win
  226. FUNCTION schreibenUeberschrift RETURNS LOGICAL
  227. ( ipLinks AS INTEGER, ipBreite AS INTEGER, ipHoehe AS INTEGER ) FORWARD.
  228. /* _UIB-CODE-BLOCK-END */
  229. &ANALYZE-RESUME
  230. /* *********************** Control Definitions ********************** */
  231. /* Define the widget handle for the window */
  232. DEFINE VAR C-Win AS WIDGET-HANDLE NO-UNDO.
  233. /* Definitions of the field level widgets */
  234. DEFINE BUTTON Btn_Abbrechen
  235. LABEL "&Abbrechen"
  236. SIZE 12 BY 1.
  237. DEFINE BUTTON Btn_Drucken
  238. LABEL "&Drucken"
  239. SIZE 12 BY 1.
  240. DEFINE VARIABLE E_Adresse AS CHARACTER
  241. VIEW-AS EDITOR MAX-CHARS 1000
  242. SIZE 47.6 BY 6
  243. BGCOLOR 15 NO-UNDO.
  244. DEFINE VARIABLE F_Aufnr AS INTEGER FORMAT "zzzzzz9":U INITIAL 0
  245. LABEL "Auftragsnummer"
  246. VIEW-AS FILL-IN NATIVE
  247. SIZE 14 BY 1
  248. BGCOLOR 15 NO-UNDO.
  249. DEFINE VARIABLE F_Datum AS DATE FORMAT "99.99.9999":U
  250. LABEL "Fakturadatum"
  251. VIEW-AS FILL-IN NATIVE
  252. SIZE 19.6 BY 1
  253. BGCOLOR 15 NO-UNDO.
  254. DEFINE VARIABLE F_Dokart AS CHARACTER FORMAT "x(50)":U
  255. LABEL "Dokumentart"
  256. VIEW-AS FILL-IN NATIVE
  257. SIZE 29.2 BY 1
  258. BGCOLOR 15 NO-UNDO.
  259. DEFINE VARIABLE F_Drucker AS CHARACTER FORMAT "x(50)":U
  260. LABEL "Drucker"
  261. VIEW-AS FILL-IN NATIVE
  262. SIZE 44.6 BY 1
  263. BGCOLOR 15 NO-UNDO.
  264. DEFINE VARIABLE F_Faknr AS INTEGER FORMAT "zzzzzzz":U INITIAL 0
  265. LABEL "Fakturanummer"
  266. VIEW-AS FILL-IN NATIVE
  267. SIZE 14 BY 1
  268. BGCOLOR 15 NO-UNDO.
  269. DEFINE VARIABLE F_Fzz AS INTEGER FORMAT "zz9":U INITIAL 0
  270. LABEL "Leere Fusszeilen"
  271. VIEW-AS FILL-IN NATIVE
  272. SIZE 7 BY 1
  273. BGCOLOR 15 NO-UNDO.
  274. DEFINE VARIABLE F_KOPIE AS INTEGER FORMAT "zz9":U INITIAL 0
  275. LABEL "Anz. Kopien"
  276. VIEW-AS FILL-IN NATIVE
  277. SIZE 7 BY 1
  278. BGCOLOR 15 NO-UNDO.
  279. DEFINE VARIABLE F_Kzz AS INTEGER FORMAT "zz9":U INITIAL 0
  280. LABEL "Leere Kopfzeilen"
  281. VIEW-AS FILL-IN NATIVE
  282. SIZE 7 BY 1
  283. BGCOLOR 15 NO-UNDO.
  284. DEFINE VARIABLE F_Papier AS CHARACTER FORMAT "x(50)":U
  285. LABEL "Auftragspapier"
  286. VIEW-AS FILL-IN NATIVE
  287. SIZE 47.6 BY 1
  288. BGCOLOR 15 NO-UNDO.
  289. DEFINE VARIABLE F_Schrift AS CHARACTER FORMAT "x(50)":U
  290. LABEL "Schriftbild"
  291. VIEW-AS FILL-IN NATIVE
  292. SIZE 44.6 BY 1
  293. BGCOLOR 15 NO-UNDO.
  294. DEFINE VARIABLE F_Seite AS INTEGER FORMAT "zz9":U INITIAL 0
  295. LABEL "Seite"
  296. VIEW-AS FILL-IN NATIVE
  297. SIZE 7 BY 1
  298. BGCOLOR 15 NO-UNDO.
  299. DEFINE VARIABLE F_Tzz AS INTEGER FORMAT "zz9":U INITIAL 0
  300. LABEL "Total Zeilen"
  301. VIEW-AS FILL-IN NATIVE
  302. SIZE 7 BY 1
  303. BGCOLOR 15 NO-UNDO.
  304. DEFINE RECTANGLE RECT-1
  305. EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
  306. SIZE 124 BY 12.38.
  307. /* ************************ Frame Definitions *********************** */
  308. DEFINE FRAME DEFAULT-FRAME
  309. Btn_Drucken AT ROW 12 COL 76.6
  310. Btn_Abbrechen AT ROW 12 COL 101
  311. F_Drucker AT ROW 2 COL 25 COLON-ALIGNED
  312. F_Schrift AT ROW 3 COL 25 COLON-ALIGNED
  313. E_Adresse AT ROW 2 COL 76.6 NO-LABEL NO-TAB-STOP
  314. F_Tzz AT ROW 4 COL 25 COLON-ALIGNED
  315. F_Kzz AT ROW 5 COL 25 COLON-ALIGNED
  316. F_Fzz AT ROW 6 COL 25 COLON-ALIGNED
  317. F_KOPIE AT ROW 6 COL 62 COLON-ALIGNED
  318. F_Aufnr AT ROW 7 COL 25 COLON-ALIGNED
  319. F_Faknr AT ROW 8 COL 25 COLON-ALIGNED
  320. F_Datum AT ROW 9 COL 25 COLON-ALIGNED
  321. F_Dokart AT ROW 9 COL 74.6 COLON-ALIGNED
  322. F_Seite AT ROW 9 COL 115 COLON-ALIGNED NO-TAB-STOP
  323. F_Papier AT ROW 10 COL 74.6 COLON-ALIGNED
  324. RECT-1 AT ROW 1.24 COL 2
  325. WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY
  326. SIDE-LABELS NO-UNDERLINE THREE-D
  327. AT COL 1 ROW 1
  328. SIZE 126 BY 13.1
  329. DEFAULT-BUTTON Btn_Drucken.
  330. /* *********************** Procedure Settings ************************ */
  331. &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
  332. /* Settings for THIS-PROCEDURE
  333. Type: Window
  334. Allow: Basic,Browse,DB-Fields,Window,Query
  335. Other Settings: COMPILE
  336. Temp-Tables and Buffers:
  337. TABLE: XTermOut T "NEW SHARED" NO-UNDO AnaDat TermOut
  338. END-TABLES.
  339. */
  340. &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
  341. /* ************************* Create Window ************************** */
  342. &ANALYZE-SUSPEND _CREATE-WINDOW
  343. IF SESSION:DISPLAY-TYPE = "GUI":U THEN
  344. CREATE WINDOW C-Win ASSIGN
  345. HIDDEN = YES
  346. TITLE = "Drucken von Auftragsdokumenten"
  347. HEIGHT = 13.1
  348. WIDTH = 126
  349. MAX-HEIGHT = 33.86
  350. MAX-WIDTH = 204.6
  351. VIRTUAL-HEIGHT = 33.86
  352. VIRTUAL-WIDTH = 204.6
  353. RESIZE = YES
  354. SCROLL-BARS = NO
  355. STATUS-AREA = NO
  356. BGCOLOR = ?
  357. FGCOLOR = ?
  358. KEEP-FRAME-Z-ORDER = YES
  359. THREE-D = YES
  360. MESSAGE-AREA = NO
  361. SENSITIVE = YES.
  362. ELSE {&WINDOW-NAME} = CURRENT-WINDOW.
  363. /* END WINDOW DEFINITION */
  364. &ANALYZE-RESUME
  365. /* *********** Runtime Attributes and AppBuilder Settings *********** */
  366. &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
  367. /* SETTINGS FOR WINDOW C-Win
  368. VISIBLE,,RUN-PERSISTENT */
  369. /* SETTINGS FOR FRAME DEFAULT-FRAME
  370. FRAME-NAME Custom */
  371. /* SETTINGS FOR EDITOR E_Adresse IN FRAME DEFAULT-FRAME
  372. 1 */
  373. ASSIGN
  374. E_Adresse:RETURN-INSERTED IN FRAME DEFAULT-FRAME = TRUE
  375. E_Adresse:READ-ONLY IN FRAME DEFAULT-FRAME = TRUE.
  376. /* SETTINGS FOR FILL-IN F_Aufnr IN FRAME DEFAULT-FRAME
  377. 1 */
  378. /* SETTINGS FOR FILL-IN F_Datum IN FRAME DEFAULT-FRAME
  379. 1 */
  380. /* SETTINGS FOR FILL-IN F_Dokart IN FRAME DEFAULT-FRAME
  381. 1 */
  382. /* SETTINGS FOR FILL-IN F_Drucker IN FRAME DEFAULT-FRAME
  383. 1 */
  384. /* SETTINGS FOR FILL-IN F_Faknr IN FRAME DEFAULT-FRAME
  385. 1 */
  386. /* SETTINGS FOR FILL-IN F_Fzz IN FRAME DEFAULT-FRAME
  387. 1 */
  388. /* SETTINGS FOR FILL-IN F_KOPIE IN FRAME DEFAULT-FRAME
  389. 1 */
  390. /* SETTINGS FOR FILL-IN F_Kzz IN FRAME DEFAULT-FRAME
  391. 1 */
  392. /* SETTINGS FOR FILL-IN F_Papier IN FRAME DEFAULT-FRAME
  393. 1 */
  394. /* SETTINGS FOR FILL-IN F_Schrift IN FRAME DEFAULT-FRAME
  395. 1 */
  396. /* SETTINGS FOR FILL-IN F_Seite IN FRAME DEFAULT-FRAME
  397. 1 */
  398. ASSIGN
  399. F_Seite:READ-ONLY IN FRAME DEFAULT-FRAME = TRUE.
  400. /* SETTINGS FOR FILL-IN F_Tzz IN FRAME DEFAULT-FRAME
  401. 1 */
  402. IF SESSION:DISPLAY-TYPE = "GUI":U AND VALID-HANDLE(C-Win)
  403. THEN C-Win:HIDDEN = NO.
  404. /* _RUN-TIME-ATTRIBUTES-END */
  405. &ANALYZE-RESUME
  406. /* ************************ Control Triggers ************************ */
  407. &Scoped-define SELF-NAME C-Win
  408. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL C-Win C-Win
  409. ON END-ERROR OF C-Win /* Drucken von Auftragsdokumenten */
  410. OR ENDKEY OF {&WINDOW-NAME} ANYWHERE
  411. DO:
  412. /* This case occurs when the user presses the "Esc" key.
  413. In a persistently run window, just ignore this. If we did not, the
  414. application would exit. */
  415. IF THIS-PROCEDURE:PERSISTENT THEN RETURN NO-APPLY.
  416. END.
  417. /* _UIB-CODE-BLOCK-END */
  418. &ANALYZE-RESUME
  419. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL C-Win C-Win
  420. ON WINDOW-CLOSE OF C-Win /* Drucken von Auftragsdokumenten */
  421. DO:
  422. /* This event will close the window and terminate the procedure. */
  423. APPLY "CLOSE":U TO THIS-PROCEDURE.
  424. RETURN NO-APPLY.
  425. END.
  426. /* _UIB-CODE-BLOCK-END */
  427. &ANALYZE-RESUME
  428. &Scoped-define SELF-NAME Btn_Abbrechen
  429. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Abbrechen C-Win
  430. ON CHOOSE OF Btn_Abbrechen IN FRAME DEFAULT-FRAME /* Abbrechen */
  431. DO:
  432. DruckFlag = FALSE.
  433. END.
  434. /* _UIB-CODE-BLOCK-END */
  435. &ANALYZE-RESUME
  436. &Scoped-define SELF-NAME Btn_Drucken
  437. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Drucken C-Win
  438. ON CHOOSE OF Btn_Drucken IN FRAME DEFAULT-FRAME /* Drucken */
  439. DO:
  440. DruckFlag = TRUE.
  441. END.
  442. /* _UIB-CODE-BLOCK-END */
  443. &ANALYZE-RESUME
  444. &Scoped-define SELF-NAME F_Papier
  445. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Papier C-Win
  446. ON ENTRY OF F_Papier IN FRAME DEFAULT-FRAME /* Auftragspapier */
  447. DO:
  448. APPLY 'TAB' TO SELF.
  449. RETURN NO-APPLY.
  450. END.
  451. /* _UIB-CODE-BLOCK-END */
  452. &ANALYZE-RESUME
  453. &UNDEFINE SELF-NAME
  454. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK C-Win
  455. /* *************************** Main Block *************************** */
  456. /* Set CURRENT-WINDOW: this will parent dialog-boxes and frames. */
  457. ASSIGN CURRENT-WINDOW = {&WINDOW-NAME}
  458. THIS-PROCEDURE:CURRENT-WINDOW = {&WINDOW-NAME}.
  459. ON CLOSE OF THIS-PROCEDURE RUN disable_UI.
  460. PROCEDURE ShellExecuteA EXTERNAL "shell32.dll":
  461. DEFINE INPUT PARAMETER hwnd AS LONG. /* Handle to parent window */
  462. DEFINE INPUT PARAMETER lpOperation AS CHARACTER. /* Operation to perform: open, print */
  463. DEFINE INPUT PARAMETER lpFile AS CHARACTER. /* Document or executable name */
  464. DEFINE INPUT PARAMETER lpParameters AS CHARACTER. /* Command line parameters to executable in lpFile */
  465. DEFINE INPUT PARAMETER lpDirectory AS CHARACTER. /* Default directory */
  466. DEFINE INPUT PARAMETER nShowCmd AS LONG. /* whether shown when opened:
  467. 0 hidden, 1 normal, minimized 2, maximized 3,
  468. 0 if lpFile is a document */
  469. DEFINE RETURN PARAMETER hInstance AS LONG. /* Less than or equal to 32 */
  470. END PROCEDURE.
  471. PAUSE 0 BEFORE-HIDE.
  472. MAIN-BLOCK:
  473. DO ON ERROR UNDO MAIN-BLOCK, LEAVE MAIN-BLOCK
  474. ON END-KEY UNDO MAIN-BLOCK, LEAVE MAIN-BLOCK:
  475. RUN enable_UI.
  476. GET-KEY-VALUE SECTION 'FwSteuer' KEY 'FwFRW' VALUE FwFRW.
  477. IF FwFRW = ? THEN FwFRW = 'CHF'.
  478. FDrucken = TRUE.
  479. DruckFlag = TRUE.
  480. VERARBEITEN:
  481. DO WHILE FDrucken:
  482. FIND FIRST Tabel USE-INDEX Tabel-k1
  483. WHERE Tabel.Firma = GVFirma
  484. AND Tabel.RecArt = 'AUFDRUCK'
  485. AND Tabel.CodeC = USERID("AnaDat")
  486. AND Tabel.Bez1 = '' NO-LOCK NO-ERROR.
  487. IF NOT AVAILABLE Tabel THEN
  488. DO:
  489. FDrucken = FALSE.
  490. NEXT.
  491. END.
  492. TRecid = RECID(Tabel).
  493. REPEAT TRANSACTION:
  494. FIND BTabel WHERE RECID(BTabel) = TRecid
  495. EXCLUSIVE-LOCK NO-WAIT NO-ERROR.
  496. IF AVAILABLE BTabel THEN
  497. DO:
  498. BTabel.Bez1 = 'A'.
  499. RELEASE BTabel.
  500. LEAVE.
  501. END.
  502. IF LOCKED BTabel THEN NEXT.
  503. TRecid = 0.
  504. LEAVE.
  505. END.
  506. IF TRecid = 0 THEN NEXT.
  507. FIND Tabel WHERE RECID(Tabel) = TRecid NO-LOCK.
  508. RUN DRUCKEN.
  509. REPEAT TRANSACTION:
  510. FIND BTabel WHERE RECID(BTabel) = TRecid.
  511. DELETE BTabel.
  512. RELEASE BTabel.
  513. LEAVE.
  514. END.
  515. END.
  516. /*
  517. IF NOT THIS-PROCEDURE:PERSISTENT THEN WAIT-FOR CLOSE OF THIS-PROCEDURE.
  518. APPLY 'CLOSE' TO THIS-PROCEDURE.
  519. */
  520. END.
  521. /* _UIB-CODE-BLOCK-END */
  522. &ANALYZE-RESUME
  523. /* ********************** Internal Procedures *********************** */
  524. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ABLADEVORSCHRIFT C-Win
  525. PROCEDURE ABLADEVORSCHRIFT :
  526. /*------------------------------------------------------------------------------
  527. Purpose:
  528. Parameters: <none>
  529. Notes:
  530. ------------------------------------------------------------------------------*/
  531. XAblade = ''.
  532. FIND Tabel USE-INDEX Tabel-k1
  533. WHERE Tabel.Firma = GVFirma
  534. AND Tabel.RecArt = 'ABLAD'
  535. AND Tabel.CodeC = ''
  536. AND Tabel.CodeI = BAufko.Ablad_Vor
  537. AND Tabel.Sprcd = 1 NO-LOCK NO-ERROR.
  538. IF NOT AVAILABLE tabel THEN
  539. DO:
  540. XAblade = BAufko.Ablad_Vor_Text.
  541. RETURN.
  542. END.
  543. IF LENGTH(Tabel.Bez1) > 4 THEN XAblade = Tabel.Bez1.
  544. IF BAufko.Ablad_Vor_Text <> '' THEN
  545. DO:
  546. IF XAblade <> '' THEN XAblade = XAblade + " / ".
  547. XAblade = BAufko.Ablad_Vor_Text.
  548. END.
  549. END PROCEDURE.
  550. /* _UIB-CODE-BLOCK-END */
  551. &ANALYZE-RESUME
  552. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ARTIKELZEILE_LIEFERFAK C-Win
  553. PROCEDURE ARTIKELZEILE_LIEFERFAK :
  554. /*------------------------------------------------------------------------------
  555. Purpose:
  556. Parameters: <none>
  557. Notes:
  558. ------------------------------------------------------------------------------*/
  559. DEFINE VARIABLE cJG AS CHARACTER NO-UNDO.
  560. DEFINE VARIABLE cGebinde AS CHARACTER NO-UNDO.
  561. VZeile = ''.
  562. IF Aufze.Artnr = 0 THEN
  563. DO:
  564. SUBSTRING(VZeile,009) = TRIM(Aufze.Bez1 + ' ' + Aufze.Bez2).
  565. { putstream.i "1" }
  566. RETURN.
  567. END.
  568. FIND Artst OF Aufze NO-LOCK.
  569. FIND GGebinde WHERE GGebinde.Firma = GVFirma
  570. AND GGebinde.Geb_Cd = Aufze.GGeb_Cd NO-LOCK NO-ERROR.
  571. FIND VGebinde WHERE VGebinde.Firma = GVFirma
  572. AND VGebinde.Geb_Cd = Aufze.VGeb_Cd NO-LOCK NO-ERROR.
  573. FIND KGebinde WHERE KGebinde.Firma = GVFirma
  574. AND KGebinde.Geb_Cd = Aufze.KGeb_Cd NO-LOCK NO-ERROR.
  575. cJG = ''.
  576. cGebinde = ''.
  577. IF Aufze.Jahr > 9 THEN cJG = STRING(Aufze.Jahr,'9999').
  578. IF Aufze.Alk_Gehalt > 0 THEN
  579. DO:
  580. IF cJG <> '' THEN cJG = cJG + ' / '.
  581. cJG = cJG + TRIM(STRING(Aufze.Alk_Gehalt,'>>.9%')).
  582. END.
  583. IF Aufze.VGeb_Me <> 0 THEN cGebinde = STRING(Aufze.VGeb_Me,"->>>9")
  584. + 'x '
  585. + VGebinde.KBez.
  586. SUBSTRING(VZeile,001) = STRING(Aufze.Artnr ,"999999").
  587. SUBSTRING(VZeile,009) = Aufze.Bez1.
  588. IF Aufze.Jahr > 9 THEN SUBSTRING(VZeile,041) = STRING(Aufze.Jahr,"9999").
  589. IF Aufze.Alk_Gehalt > 0 THEN SUBSTRING(VZeile,046) = STRING(Aufze.Alk_Gehalt,'>>.9%').
  590. SUBSTRING(VZeile,051) = cGebinde.
  591. SUBSTRING(VZeile,066) = IF Aufze.MGel > 0 THEN STRING(Aufze.MGel,">>>>9") ELSE STRING(Aufze.MGel,"->>>9").
  592. SUBSTRING(VZeile,072) = STRING(KGebinde.Inhalt,">>>9cl").
  593. SUBSTRING(VZeile,078) = STRING(Aufze.Preis ,">>>>9.99").
  594. SUBSTRING(VZeile,086) = STRING(Aufze.Bru_Betr ,"->>,>>9.99").
  595. SUBSTRING(VZeile,097) = STRING(Aufze.WuCd ,"z9").
  596. { putstream.i "1" }
  597. IF Aufze.Bez2 <> '' THEN
  598. DO:
  599. SUBSTRING(VZeile,009) = Aufze.Bez2.
  600. { putstream.i "1" }
  601. END.
  602. IF Aufze.Aktion THEN
  603. DO:
  604. SUBSTRING(VZeile,009) = Aufze.Aktion_Text.
  605. { putstream.i "1" }
  606. END.
  607. DO WHILE TRUE:
  608. IF Aufze.Rab_Betr = 0 THEN LEAVE.
  609. RabWert = ABSOLUTE(Aufze.Rab_Wert).
  610. IF Aufze.Rab_Art = 3 THEN RabText = VEpzText.
  611. ELSE
  612. DO:
  613. IF Aufze.Rab_Betr < 0 THEN RabText = VZusText.
  614. IF Aufze.Rab_Betr > 0 THEN RabText = VRabText.
  615. END.
  616. SUBSTRING(VZeile,009) = TRIM(RabText).
  617. IF Aufze.Rab_Art = 1
  618. THEN SUBSTRING(VZeile,030) = STRING(RabWert,"->9.9 %").
  619. IF Aufze.Rab_Art = 2 OR
  620. Aufze.Rab_Art = 3
  621. THEN SUBSTRING(VZeile,030) = STRING(RabWert,"-9.99 Fr.").
  622. SUBSTRING(VZeile,086) = STRING(- Aufze.Rab_Betr ,"->>,>>9.99").
  623. { putstream.i "1" }
  624. LEAVE.
  625. END.
  626. DO WHILE TRUE:
  627. IF Aufze.Zus_Betr = 0 THEN LEAVE.
  628. RabWert = ABSOLUTE(Aufze.Zus_Wert).
  629. IF Aufze.Zus_Art = 3 THEN RabText = VEpzText.
  630. ELSE
  631. DO:
  632. IF Aufze.Zus_Betr > 0 THEN RabText = VZusText.
  633. IF Aufze.Zus_Betr < 0 THEN RabText = VRabText.
  634. END.
  635. SUBSTRING(VZeile,009) = TRIM(RabText).
  636. IF Aufze.Zus_Art = 1
  637. THEN SUBSTRING(VZeile,030) = STRING(RabWert,"->9.9 %").
  638. IF Aufze.Zus_Art = 2 OR
  639. Aufze.Zus_Art = 3
  640. THEN SUBSTRING(VZeile,030) = STRING(RabWert,"-9.99 Fr.").
  641. SUBSTRING(VZeile,086) = STRING(+ Aufze.Zus_Betr ,"->>,>>9.99").
  642. { putstream.i "1" }
  643. LEAVE.
  644. END.
  645. /* ---- Summengruppen-Total -------------------------------------------- */
  646. IF Aufze.Rab_Su_Grp <> 0 THEN
  647. DO:
  648. FIND FIRST TRabSumm WHERE TRabSumm.Rab_Summ = Aufze.Rab_Su_Grp NO-ERROR.
  649. IF AVAILABLE TRabSumm THEN
  650. DO:
  651. TRabSumm.Auf_Rab = TRabSumm.Auf_Rab + Aufze.Auf_Rab.
  652. TRabSumm.Abh_Rab = TRabSumm.Abh_Rab + Aufze.Abh_Rab.
  653. END.
  654. END.
  655. /* ---- Warengruppen-Totale -------------------------------------------- */
  656. FIND FIRST TUmsGrp WHERE TUmsGrp.Ums_Grp = Artst.Wg_Grp NO-ERROR.
  657. IF NOT AVAILABLE TUmsGrp THEN
  658. DO:
  659. FIND WarenGrp USE-INDEX WarenGrp-k1
  660. WHERE WarenGrp.Firma = GVFirma
  661. AND WarenGrp.Wgr = Artst.Wg_Grp NO-LOCK NO-ERROR.
  662. CREATE TUmsGrp.
  663. ASSIGN
  664. TUmsGrp.Ums_Grp = Artst.Wg_Grp.
  665. IF AVAILABLE WarenGrp THEN TUmsGrp.Bez = WarenGrp.Bez1.
  666. ELSE TUmsGrp.Bez = "??????????".
  667. END.
  668. TUmsGrp.Ums_Betr = TUmsGrp.Ums_Betr
  669. + Aufze.Net_Betr
  670. - Aufze.Auf_Rab
  671. - Aufze.Abh_Rab.
  672. TUmsGrp.Ums_Recy = TUmsGrp.Ums_Recy + ( Aufze.MGeli * KGebinde.Gebuehr ).
  673. END PROCEDURE.
  674. /* _UIB-CODE-BLOCK-END */
  675. &ANALYZE-RESUME
  676. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ARTIKELZEILE_LIEFERSCHEIN C-Win
  677. PROCEDURE ARTIKELZEILE_LIEFERSCHEIN :
  678. /*------------------------------------------------------------------------------
  679. Purpose:
  680. Parameters: <none>
  681. Notes:
  682. ------------------------------------------------------------------------------*/
  683. DEFINE VARIABLE cJG AS CHARACTER NO-UNDO.
  684. DEFINE VARIABLE cGebinde AS CHARACTER NO-UNDO.
  685. VZeile = ''.
  686. IF Aufze.Artnr = 0 THEN
  687. DO:
  688. SUBSTRING(VZeile,009) = TRIM(Aufze.Bez1 + ' ' + Aufze.Bez2).
  689. { putstream.i "1" }
  690. RETURN.
  691. END.
  692. FIND Artst OF Aufze NO-LOCK.
  693. FIND GGebinde WHERE GGebinde.Firma = GVFirma
  694. AND GGebinde.Geb_Cd = Aufze.GGeb_Cd NO-LOCK NO-ERROR.
  695. FIND VGebinde WHERE VGebinde.Firma = GVFirma
  696. AND VGebinde.Geb_Cd = Aufze.VGeb_Cd NO-LOCK NO-ERROR.
  697. FIND KGebinde WHERE KGebinde.Firma = GVFirma
  698. AND KGebinde.Geb_Cd = Aufze.KGeb_Cd NO-LOCK NO-ERROR.
  699. cJG = ''.
  700. cGebinde = ''.
  701. IF Aufze.Jahr > 9 THEN cJG = STRING(Aufze.Jahr,'9999').
  702. IF Aufze.Alk_Gehalt > 0 THEN
  703. DO:
  704. IF cJG <> '' THEN cJG = cJG + ' / '.
  705. cJG = cJG + TRIM(STRING(Aufze.Alk_Gehalt,'>>.9%')).
  706. END.
  707. IF Aufze.VGeb_Me <> 0 THEN cGebinde = STRING(Aufze.VGeb_Me,"->>>9")
  708. + 'x '
  709. + VGebinde.KBez.
  710. SUBSTRING(VZeile,001) = STRING(Aufze.Artnr ,"999999").
  711. SUBSTRING(VZeile,009) = Aufze.Bez1.
  712. IF Aufze.Jahr > 9 THEN SUBSTRING(VZeile,042) = STRING(Aufze.Jahr,"9999").
  713. IF Aufze.Alk_Gehalt > 0 THEN SUBSTRING(VZeile,048) = STRING(Aufze.Alk_Gehalt,'>>.9%').
  714. SUBSTRING(VZeile,055) = cGebinde.
  715. SUBSTRING(VZeile,071) = STRING(Aufze.MGel ,"->>>>9").
  716. SUBSTRING(VZeile,078) = STRING(KGebinde.Inhalt,">>>9 cl").
  717. SUBSTRING(VZeile,087) = STRING(Aufze.Gewicht ,"->>>9.99").
  718. { putstream.i "1" }
  719. IF Aufze.Bez2 <> '' THEN
  720. DO:
  721. SUBSTRING(VZeile,009) = Aufze.Bez2.
  722. { putstream.i "1" }
  723. END.
  724. END PROCEDURE.
  725. /* _UIB-CODE-BLOCK-END */
  726. &ANALYZE-RESUME
  727. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ARTIKELZEILE_LIEFERSCHEIN_EXCEL C-Win
  728. PROCEDURE ARTIKELZEILE_LIEFERSCHEIN_EXCEL :
  729. /*------------------------------------------------------------------------------
  730. Purpose:
  731. Parameters: <none>
  732. Notes:
  733. ------------------------------------------------------------------------------*/
  734. DEFINE VARIABLE cJG AS CHARACTER NO-UNDO.
  735. DEFINE VARIABLE cGebinde AS CHARACTER NO-UNDO.
  736. IF Aufze.Artnr = 0 THEN
  737. DO:
  738. PUT CONTROL '£' TRIM(Aufze.Bez1 + ' ' + Aufze.Bez2) CHR(10).
  739. RETURN.
  740. END.
  741. FIND Artst OF Aufze NO-LOCK.
  742. FIND GGebinde WHERE GGebinde.Firma = GVFirma
  743. AND GGebinde.Geb_Cd = Aufze.GGeb_Cd NO-LOCK NO-ERROR.
  744. FIND VGebinde WHERE VGebinde.Firma = GVFirma
  745. AND VGebinde.Geb_Cd = Aufze.VGeb_Cd NO-LOCK NO-ERROR.
  746. FIND KGebinde WHERE KGebinde.Firma = GVFirma
  747. AND KGebinde.Geb_Cd = Aufze.KGeb_Cd NO-LOCK NO-ERROR.
  748. cJG = ''.
  749. cGebinde = ''.
  750. IF Aufze.Jahr > 9 THEN cJG = STRING(Aufze.Jahr,'9999').
  751. IF Aufze.Alk_Gehalt > 0 THEN
  752. DO:
  753. IF cJG <> '' THEN cJG = cJG + ' / '.
  754. cJG = cJG + TRIM(STRING(Aufze.Alk_Gehalt,'>>.9%')).
  755. END.
  756. IF Aufze.VGeb_Me <> 0 THEN cGebinde = STRING(Aufze.VGeb_Me,"->>>9")
  757. + 'x '
  758. + VGebinde.KBez.
  759. PUT CONTROL STRING(Aufze.Artnr ,"999999")
  760. '£' Aufze.Bez1
  761. '££££'.
  762. IF Aufze.Jahr > 9 THEN PUT CONTROL STRING(Aufze.Jahr,"9999").
  763. PUT CONTROL '£'.
  764. IF Aufze.Alk_Gehalt > 0 THEN PUT CONTROL STRING(Aufze.Alk_Gehalt,'>>.9%').
  765. PUT CONTROL '£'
  766. cGebinde
  767. '£'
  768. (IF Aufze.MGel > 0 THEN STRING(Aufze.MGel,">>>>9") ELSE STRING(Aufze.MGel,"->>>9"))
  769. '£'
  770. STRING(KGebinde.Inhalt,">>>9cl")
  771. '£'
  772. STRING(Aufze.Gewicht ,">>>9.99-Kg")
  773. CHR(10).
  774. IF Aufze.Bez2 <> '' THEN PUT CONTROL '£' Aufze.Bez2 CHR(10).
  775. IF Aufze.Aktion THEN PUT CONTROL '£' Aufze.Aktion_Text CHR(10).
  776. DO WHILE TRUE:
  777. IF Aufze.Rab_Betr = 0 THEN LEAVE.
  778. RabWert = ABSOLUTE(Aufze.Rab_Wert).
  779. IF Aufze.Rab_Art = 3 THEN RabText = VEpzText.
  780. ELSE
  781. DO:
  782. IF Aufze.Rab_Betr < 0 THEN RabText = VZusText.
  783. IF Aufze.Rab_Betr > 0 THEN RabText = VRabText.
  784. END.
  785. PUT CONTROL '£' TRIM(RabText)
  786. '££££££'.
  787. IF Aufze.Rab_Art = 1
  788. THEN PUT CONTROL STRING(RabWert,"->9.9 %").
  789. IF Aufze.Rab_Art = 2 OR
  790. Aufze.Rab_Art = 3
  791. THEN PUT CONTROL STRING(RabWert,"-9.99 Fr.").
  792. PUT CONTROL '££' STRING(- Aufze.Rab_Betr ,"->>,>>9.99") CHR(10).
  793. LEAVE.
  794. END.
  795. DO WHILE TRUE:
  796. IF Aufze.Zus_Betr = 0 THEN LEAVE.
  797. RabWert = ABSOLUTE(Aufze.Zus_Wert).
  798. IF Aufze.Zus_Art = 3 THEN RabText = VEpzText.
  799. ELSE
  800. DO:
  801. IF Aufze.Zus_Betr > 0 THEN RabText = VZusText.
  802. IF Aufze.Zus_Betr < 0 THEN RabText = VRabText.
  803. END.
  804. PUT CONTROL '£' TRIM(RabText)
  805. '£££££'.
  806. IF Aufze.Zus_Art = 1
  807. THEN PUT CONTROL STRING(RabWert,"->9.9 %").
  808. IF Aufze.Zus_Art = 2 OR
  809. Aufze.Zus_Art = 3
  810. THEN PUT CONTROL STRING(RabWert,"-9.99 Fr.").
  811. PUT CONTROL '££' STRING(+ Aufze.Zus_Betr ,"->>,>>9.99") CHR(10).
  812. LEAVE.
  813. END.
  814. /* ---- Summengruppen-Total -------------------------------------------- */
  815. IF Aufze.Rab_Su_Grp <> 0 THEN
  816. DO:
  817. FIND FIRST TRabSumm WHERE TRabSumm.Rab_Summ = Aufze.Rab_Su_Grp NO-ERROR.
  818. IF AVAILABLE TRabSumm THEN
  819. DO:
  820. TRabSumm.Auf_Rab = TRabSumm.Auf_Rab + Aufze.Auf_Rab.
  821. TRabSumm.Abh_Rab = TRabSumm.Abh_Rab + Aufze.Abh_Rab.
  822. END.
  823. END.
  824. /* ---- Warengruppen-Totale -------------------------------------------- */
  825. FIND FIRST TUmsGrp WHERE TUmsGrp.Ums_Grp = Artst.Wg_Grp NO-ERROR.
  826. IF NOT AVAILABLE TUmsGrp THEN
  827. DO:
  828. FIND WarenGrp USE-INDEX WarenGrp-k1
  829. WHERE WarenGrp.Firma = GVFirma
  830. AND WarenGrp.Wgr = Artst.Wg_Grp NO-LOCK NO-ERROR.
  831. CREATE TUmsGrp.
  832. ASSIGN
  833. TUmsGrp.Ums_Grp = Artst.Wg_Grp.
  834. IF AVAILABLE WarenGrp THEN TUmsGrp.Bez = WarenGrp.Bez1.
  835. ELSE TUmsGrp.Bez = "??????????".
  836. END.
  837. TUmsGrp.Ums_Betr = TUmsGrp.Ums_Betr
  838. + Aufze.Net_Betr
  839. - Aufze.Auf_Rab
  840. - Aufze.Abh_Rab.
  841. TUmsGrp.Ums_Recy = TUmsGrp.Ums_Recy + ( Aufze.MGeli * KGebinde.Gebuehr ).
  842. END PROCEDURE.
  843. /* _UIB-CODE-BLOCK-END */
  844. &ANALYZE-RESUME
  845. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ARTIKELZEILE_PROFORMA_EXCEL C-Win
  846. PROCEDURE ARTIKELZEILE_PROFORMA_EXCEL :
  847. /*------------------------------------------------------------------------------
  848. Purpose:
  849. Parameters: <none>
  850. Notes:
  851. ------------------------------------------------------------------------------*/
  852. DEFINE VARIABLE cJG AS CHARACTER NO-UNDO.
  853. DEFINE VARIABLE cGebinde AS CHARACTER NO-UNDO.
  854. IF Aufze.Artnr = 0 THEN
  855. DO:
  856. PUT CONTROL '££' TRIM(Aufze.Bez1 + ' ' + Aufze.Bez2) CHR(10).
  857. RETURN.
  858. END.
  859. FIND Artst OF Aufze NO-LOCK.
  860. FIND GGebinde WHERE GGebinde.Firma = GVFirma
  861. AND GGebinde.Geb_Cd = Aufze.GGeb_Cd NO-LOCK NO-ERROR.
  862. FIND VGebinde WHERE VGebinde.Firma = GVFirma
  863. AND VGebinde.Geb_Cd = Aufze.VGeb_Cd NO-LOCK NO-ERROR.
  864. FIND KGebinde WHERE KGebinde.Firma = GVFirma
  865. AND KGebinde.Geb_Cd = Aufze.KGeb_Cd NO-LOCK NO-ERROR.
  866. cJG = ''.
  867. cGebinde = ''.
  868. IF Aufze.Jahr > 9 THEN cJG = STRING(Aufze.Jahr,'9999').
  869. IF Aufze.Alk_Gehalt > 0 THEN
  870. DO:
  871. IF cJG <> '' THEN cJG = cJG + ' / '.
  872. cJG = cJG + TRIM(STRING(Aufze.Alk_Gehalt,'>>.9%')).
  873. END.
  874. IF Aufze.VGeb_Me <> 0 THEN cGebinde = STRING(Aufze.VGeb_Me,"->>>9")
  875. + 'x '
  876. + VGebinde.KBez.
  877. PUT CONTROL '£'
  878. STRING(Aufze.Artnr ,"999999")
  879. '£' Aufze.Bez1
  880. '££££'.
  881. IF Aufze.Jahr > 9 THEN PUT CONTROL STRING(Aufze.Jahr,"9999").
  882. PUT CONTROL '£'.
  883. IF Aufze.Alk_Gehalt > 0 THEN PUT CONTROL STRING(Aufze.Alk_Gehalt,'>>.9%').
  884. PUT CONTROL '£'
  885. cGebinde
  886. '£'
  887. (IF Aufze.MGel > 0 THEN TRIM(STRING(Aufze.MGel,">>>>>>9")) ELSE TRIM(STRING(Aufze.MGel,"->>>9")))
  888. '£'
  889. TRIM(STRING(KGebinde.Inhalt,">>>>9cl"))
  890. '£'
  891. TRIM(STRING(Aufze.Preis,">>>>>>>9.99"))
  892. '£'
  893. TRIM(STRING(Aufze.Bru_Betr,"->>>>>>>9.99"))
  894. '£'
  895. STRING(Aufze.WuCd,">9")
  896. CHR(10).
  897. IF Aufze.Bez2 <> '' THEN PUT CONTROL '££' Aufze.Bez2 CHR(10).
  898. IF Aufze.Aktion THEN PUT CONTROL '££' Aufze.Aktion_Text CHR(10).
  899. DO WHILE TRUE:
  900. IF Aufze.Rab_Betr = 0 THEN LEAVE.
  901. RabWert = ABSOLUTE(Aufze.Rab_Wert).
  902. IF Aufze.Rab_Art = 3 THEN RabText = VEpzText.
  903. ELSE
  904. DO:
  905. IF Aufze.Rab_Betr < 0 THEN RabText = VZusText.
  906. IF Aufze.Rab_Betr > 0 THEN RabText = VRabText.
  907. END.
  908. PUT CONTROL '££' TRIM(RabText)
  909. '££££££'.
  910. IF Aufze.Rab_Art = 1
  911. THEN PUT CONTROL STRING(RabWert,"->>9.9 %").
  912. IF Aufze.Rab_Art = 2 OR
  913. Aufze.Rab_Art = 3
  914. THEN PUT CONTROL STRING(RabWert,"->>9.99 Fr.").
  915. PUT CONTROL '££' STRING(- Aufze.Rab_Betr ,"->>,>>9.99") CHR(10).
  916. LEAVE.
  917. END.
  918. DO WHILE TRUE:
  919. IF Aufze.Zus_Betr = 0 THEN LEAVE.
  920. RabWert = ABSOLUTE(Aufze.Zus_Wert).
  921. IF Aufze.Zus_Art = 3 THEN RabText = VEpzText.
  922. ELSE
  923. DO:
  924. IF Aufze.Zus_Betr > 0 THEN RabText = VZusText.
  925. IF Aufze.Zus_Betr < 0 THEN RabText = VRabText.
  926. END.
  927. PUT CONTROL '££' TRIM(RabText)
  928. '£££££'.
  929. IF Aufze.Zus_Art = 1
  930. THEN PUT CONTROL STRING(RabWert,"->>9.9 %").
  931. IF Aufze.Zus_Art = 2 OR
  932. Aufze.Zus_Art = 3
  933. THEN PUT CONTROL STRING(RabWert,"->>9.99 Fr.").
  934. PUT CONTROL '££' STRING(+ Aufze.Zus_Betr ,"->>,>>9.99") CHR(10).
  935. LEAVE.
  936. END.
  937. /* ---- Summengruppen-Total -------------------------------------------- */
  938. IF Aufze.Rab_Su_Grp <> 0 THEN
  939. DO:
  940. FIND FIRST TRabSumm WHERE TRabSumm.Rab_Summ = Aufze.Rab_Su_Grp NO-ERROR.
  941. IF AVAILABLE TRabSumm THEN
  942. DO:
  943. TRabSumm.Auf_Rab = TRabSumm.Auf_Rab + Aufze.Auf_Rab.
  944. TRabSumm.Abh_Rab = TRabSumm.Abh_Rab + Aufze.Abh_Rab.
  945. END.
  946. END.
  947. /* ---- Warengruppen-Totale -------------------------------------------- */
  948. FIND FIRST TUmsGrp WHERE TUmsGrp.Ums_Grp = Artst.Wg_Grp NO-ERROR.
  949. IF NOT AVAILABLE TUmsGrp THEN
  950. DO:
  951. FIND WarenGrp USE-INDEX WarenGrp-k1
  952. WHERE WarenGrp.Firma = GVFirma
  953. AND WarenGrp.Wgr = Artst.Wg_Grp NO-LOCK NO-ERROR.
  954. CREATE TUmsGrp.
  955. ASSIGN
  956. TUmsGrp.Ums_Grp = Artst.Wg_Grp.
  957. IF AVAILABLE WarenGrp THEN TUmsGrp.Bez = WarenGrp.Bez1.
  958. ELSE TUmsGrp.Bez = "??????????".
  959. END.
  960. TUmsGrp.Ums_Betr = TUmsGrp.Ums_Betr
  961. + Aufze.Net_Betr
  962. - Aufze.Auf_Rab
  963. - Aufze.Abh_Rab.
  964. TUmsGrp.Ums_Recy = TUmsGrp.Ums_Recy + ( Aufze.MGeli * KGebinde.Gebuehr ).
  965. END PROCEDURE.
  966. /* _UIB-CODE-BLOCK-END */
  967. &ANALYZE-RESUME
  968. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ARTIKELZEILE_RETOUREN C-Win
  969. PROCEDURE ARTIKELZEILE_RETOUREN :
  970. /*------------------------------------------------------------------------------
  971. Purpose:
  972. Parameters: <none>
  973. Notes:
  974. ------------------------------------------------------------------------------*/
  975. DEFINE VARIABLE cJG AS CHARACTER NO-UNDO.
  976. DEFINE VARIABLE cGebinde AS CHARACTER NO-UNDO.
  977. VZeile = ''.
  978. IF Aufze.Artnr = 0 THEN
  979. DO:
  980. SUBSTRING(VZeile,009) = TRIM(Aufze.Bez1 + ' ' + Aufze.Bez2).
  981. { putstream.i "1" }
  982. RETURN.
  983. END.
  984. FIND Artst OF Aufze NO-LOCK.
  985. FIND GGebinde WHERE GGebinde.Firma = GVFirma
  986. AND GGebinde.Geb_Cd = Aufze.GGeb_Cd NO-LOCK NO-ERROR.
  987. FIND VGebinde WHERE VGebinde.Firma = GVFirma
  988. AND VGebinde.Geb_Cd = Aufze.VGeb_Cd NO-LOCK NO-ERROR.
  989. FIND KGebinde WHERE KGebinde.Firma = GVFirma
  990. AND KGebinde.Geb_Cd = Aufze.KGeb_Cd NO-LOCK NO-ERROR.
  991. cGebinde = ''.
  992. IF Aufze.VGeb_Me <> 0 THEN cGebinde = STRING(Aufze.VGeb_Me,"->>>9")
  993. + 'x '
  994. + VGebinde.KBez.
  995. SUBSTRING(VZeile,001) = STRING(Aufze.Artnr ,"999999").
  996. SUBSTRING(VZeile,009) = Aufze.Bez1.
  997. /* SUBSTRING(VZeile,041) = cGebinde. */
  998. SUBSTRING(VZeile,041) = KGebinde.KBez.
  999. SUBSTRING(VZeile,055) = STRING(Aufze.MGel ,"->>>>9").
  1000. SUBSTRING(VZeile,066) = '________ ________ ________'.
  1001. { putstream.i "1" }
  1002. IF Aufze.Bez2 <> '' THEN
  1003. DO:
  1004. SUBSTRING(VZeile,009) = Aufze.Bez2.
  1005. { putstream.i "1" }
  1006. END.
  1007. END PROCEDURE.
  1008. /* _UIB-CODE-BLOCK-END */
  1009. &ANALYZE-RESUME
  1010. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE BESR_DATEN C-Win
  1011. PROCEDURE BESR_DATEN :
  1012. /*------------------------------------------------------------------------------
  1013. Purpose:
  1014. Parameters: <none>
  1015. Notes:
  1016. ------------------------------------------------------------------------------*/
  1017. DEFINE INPUT PARAMETER ipArt AS INTEGER NO-UNDO.
  1018. cBESRZe = ''.
  1019. cBESRKo = ''.
  1020. cBESRTn = ''.
  1021. cBESRBn = ''.
  1022. FOR EACH BESRTabel USE-INDEX Tabel-k1
  1023. WHERE BESRTabel.Firma = GVFirma
  1024. AND BESRTabel.RecArt = 'EZ'
  1025. AND BESRTabel.CodeC = STRING(ipArt,'999999')
  1026. AND BESRTabel.Sprcd = 1 NO-LOCK:
  1027. CASE BESRTabel.CodeI:
  1028. WHEN 0 THEN
  1029. DO:
  1030. cBESRKo[01] = BESRTabel.Bez1.
  1031. cBESRKo[02] = BESRTabel.Bez2.
  1032. cBESRBn = STRING(BESRTabel.Dec_1,'99999999999999').
  1033. cBESRTn = BESRTabel.BezL.
  1034. END.
  1035. OTHERWISE
  1036. DO:
  1037. cBESRZe[BESRTabel.CodeI + 00] = BESRTabel.Bez1.
  1038. cBESRZe[BESRTabel.CodeI + 08] = BESRTabel.Bez2.
  1039. END.
  1040. END CASE.
  1041. END.
  1042. END PROCEDURE.
  1043. /* _UIB-CODE-BLOCK-END */
  1044. &ANALYZE-RESUME
  1045. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI C-Win _DEFAULT-DISABLE
  1046. PROCEDURE disable_UI :
  1047. /*------------------------------------------------------------------------------
  1048. Purpose: DISABLE the User Interface
  1049. Parameters: <none>
  1050. Notes: Here we clean-up the user-interface by deleting
  1051. dynamic widgets we have created and/or hide
  1052. frames. This procedure is usually called when
  1053. we are ready to "clean-up" after running.
  1054. ------------------------------------------------------------------------------*/
  1055. /* Delete the WINDOW we created */
  1056. IF SESSION:DISPLAY-TYPE = "GUI":U AND VALID-HANDLE(C-Win)
  1057. THEN DELETE WIDGET C-Win.
  1058. IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
  1059. END PROCEDURE.
  1060. /* _UIB-CODE-BLOCK-END */
  1061. &ANALYZE-RESUME
  1062. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE DRUCKAUSGABE C-Win
  1063. PROCEDURE DRUCKAUSGABE :
  1064. /* ---------------------------------------------------------------------------
  1065. Purpose:
  1066. Parameters: <none>
  1067. Notes:
  1068. ------------------------------------------------------------------------------*/
  1069. DEFINE VARIABLE AnzKopien AS INTEGER NO-UNDO.
  1070. DEFINE VARIABLE XSchname AS CHARACTER NO-UNDO.
  1071. DEFINE VARIABLE XSchbild AS CHARACTER NO-UNDO.
  1072. DEFINE VARIABLE iSchacht AS INTEGER NO-UNDO.
  1073. DEFINE VARIABLE cFirma1 AS CHARACTER NO-UNDO.
  1074. DEFINE VARIABLE cFirma2 AS CHARACTER NO-UNDO.
  1075. DEFINE VARIABLE cSchrift AS CHARACTER NO-UNDO.
  1076. DEFINE VARIABLE cPrPort AS CHARACTER NO-UNDO.
  1077. XSchname = TRIM(SUBSTRING(FormText[30],01,30)).
  1078. XSchbild = TRIM(SUBSTRING(FormText[30],31,30)).
  1079. AnzKopien = F_Kopie.
  1080. cFirma1 = (IF iFirma = 1 THEN '3001' ELSE '2001').
  1081. cFirma2 = (IF iFirma = 1 THEN '3002' ELSE '2002').
  1082. IF AnzKopien = 0 THEN AnzKopien = 1.
  1083. IF BDrucker.Emul = 'TERMINAL' THEN AnzKopien = 1.
  1084. FOR EACH WDrucker:
  1085. DELETE WDrucker.
  1086. END.
  1087. FOR EACH WSchrift:
  1088. DELETE WSchrift.
  1089. END.
  1090. CREATE WDrucker.
  1091. CREATE WSchrift.
  1092. BUFFER-COPY BDrucker TO WDrucker.
  1093. BUFFER-COPY BSchrift TO WSchrift.
  1094. DO VCopy = 1 TO AnzKopien:
  1095. DO WHILE WDrucker.Emul <> "TERMINAL":
  1096. DO WHILE TRUE:
  1097. IF VCopy = 1 THEN LEAVE.
  1098. IF VDokArt BEGINS 'LIEF' THEN LEAVE.
  1099. IF VDokArt BEGINS 'RUES' THEN LEAVE.
  1100. IF XSchname = '' THEN LEAVE.
  1101. FIND Schrift USE-INDEX Schrift-k1
  1102. WHERE Schrift.Schname = XSchname
  1103. AND Schrift.Schbild = XSchbild NO-LOCK NO-ERROR.
  1104. IF NOT AVAILABLE Schrift THEN LEAVE.
  1105. FIND Drucker WHERE Drucker.Drucker = Schrift.Schdru NO-LOCK NO-ERROR.
  1106. IF NOT AVAILABLE Drucker THEN LEAVE.
  1107. FIND FIRST WDrucker.
  1108. FIND FIRST WSchrift.
  1109. BUFFER-COPY Drucker TO WDrucker.
  1110. BUFFER-COPY Schrift TO WSchrift.
  1111. LEAVE.
  1112. END.
  1113. FIND FIRST WDrucker.
  1114. FIND FIRST WSchrift.
  1115. iSchacht = IF VCopy = 1 THEN SchO ELSE SchK.
  1116. IF iSchacht > 3 THEN iSchacht = 0.
  1117. cSchrift = WSchrift.Schname.
  1118. IF INDEX(cSchrift, 'pdf') > 0 THEN
  1119. DO:
  1120. cSchrift = SESSION:TEMP-DIR + 'PDF_'
  1121. + STRING(TODAY,'99999999')
  1122. + STRING(TIME,'999999')
  1123. + '.pcl'.
  1124. OUTPUT STREAM Out_Stream TO VALUE(cSchrift)
  1125. CONVERT TARGET "ibm850".
  1126. END.
  1127. ELSE
  1128. DO:
  1129. GET-KEY-VALUE SECTION 'Grundeinstellungen'
  1130. KEY cSchrift
  1131. VALUE cPrPort.
  1132. IF cPrPort = '' OR
  1133. cPrPort = ? THEN
  1134. DO:
  1135. SYSTEM-DIALOG PRINTER-SETUP
  1136. UPDATE ja.
  1137. IF ja THEN cPrPort = SESSION:PRINTER-NAME.
  1138. ELSE cPrPort = cSchrift.
  1139. PUT-KEY-VALUE SECTION 'Grundeinstellungen'
  1140. KEY cSchrift
  1141. VALUE cPrPort NO-ERROR.
  1142. END.
  1143. OUTPUT STREAM Out_Stream
  1144. TO PRINTER VALUE(cPrPort)
  1145. CONVERT TARGET "ibm850" PAGED PAGE-SIZE 80.
  1146. END.
  1147. PUT STREAM Out_Stream CONTROL WSchrift.Schseqbeg.
  1148. CASE iSchacht:
  1149. WHEN 1 THEN
  1150. PUT STREAM Out_Stream CONTROL Schacht1.
  1151. WHEN 2 THEN
  1152. PUT STREAM Out_Stream CONTROL Schacht2.
  1153. WHEN 3 THEN
  1154. PUT STREAM Out_Stream CONTROL Schacht3.
  1155. END CASE.
  1156. cFormular = IF BDrucker.Drucker BEGINS 'Konica' THEN BDrucker.DruLqb ELSE ''.
  1157. CASE VDokArt:
  1158. WHEN 'KASSE' THEN
  1159. cFormular = ''.
  1160. WHEN 'RUESTSCHEIN' THEN
  1161. cFormular = ''.
  1162. OTHERWISE
  1163. DO:
  1164. IF VCopy = 1 THEN cFormular = REPLACE(cFormular, '%%', cFirma1).
  1165. ELSE cFormular = REPLACE(cFormular, '%%', cFirma2).
  1166. END.
  1167. END CASE.
  1168. IF cFormular <> '' THEN PUT STREAM Out_Stream CONTROL cFormular.
  1169. INPUT STREAM In_Stream FROM VALUE(VTemp) NO-ECHO NO-MAP.
  1170. REPEAT ON STOP UNDO, LEAVE WITH FRAME f_Print:
  1171. IMPORT STREAM In_Stream UNFORMATTED VZeile.
  1172. DISPLAY STREAM Out_Stream VZeile
  1173. WITH FRAME f_Print NO-LABELS STREAM-IO
  1174. NO-BOX USE-TEXT WIDTH 255.
  1175. END.
  1176. IF VDokArt BEGINS "KASS" THEN PUT STREAM Out_Stream CONTROL CHR(29) 'V1'.
  1177. ELSE PUT STREAM Out_Stream CONTROL CHR(13).
  1178. OUTPUT STREAM Out_Stream CLOSE.
  1179. INPUT STREAM In_Stream CLOSE.
  1180. DO WHILE TRUE:
  1181. IF INDEX(cSchrift, 'PDF') = 0 THEN LEAVE.
  1182. DEFINE VARIABLE cDir AS CHARACTER NO-UNDO.
  1183. DEFINE VARIABLE cFont AS CHARACTER NO-UNDO.
  1184. DEFINE VARIABLE cOut AS CHARACTER NO-UNDO.
  1185. DEFINE VARIABLE cInp AS CHARACTER NO-UNDO.
  1186. DEFINE VARIABLE cMail AS CHARACTER NO-UNDO.
  1187. cDir = SEARCH('pcl6.exe') NO-ERROR.
  1188. IF cDir = ? THEN LEAVE.
  1189. FILE-INFO:FILE-NAME = cDir.
  1190. IF FILE-INFO:FULL-PATHNAME = ? THEN
  1191. DO:
  1192. MESSAGE 'PDF kann nicht erstellt werden' VIEW-AS ALERT-BOX.
  1193. LEAVE.
  1194. END.
  1195. cDir = REPLACE(FILE-INFO:FULL-PATHNAME, 'pcl6.exe', '').
  1196. cDir = REPLACE(cDir, '\', '/').
  1197. cFont = cDir + 'fonts/'.
  1198. cInp = cSchrift.
  1199. cOut = REPLACE(cInp, '.pcl', '.pdf').
  1200. OS-COMMAND SILENT 'makepdf.cmd' VALUE(cDir) VALUE(cFont) VALUE(cInp) VALUE(cOut).
  1201. IF SEARCH(cOut) <> ? THEN OS-DELETE VALUE(cInp).
  1202. DEFINE VARIABLE Inst AS INTEGER NO-UNDO.
  1203. RUN ShellExecuteA(INPUT 0 ,
  1204. INPUT 'open' ,
  1205. INPUT cOut ,
  1206. INPUT '' ,
  1207. INPUT '' ,
  1208. INPUT 0 ,
  1209. OUTPUT Inst ).
  1210. GET-KEY-VALUE SECTION 'Grundeinstellungen'
  1211. KEY 'LieferscheinMail'
  1212. VALUE cMail.
  1213. IF cMail = '' THEN LEAVE.
  1214. RUN SEND_MAIL ( cMail, 0, 'Lieferung', 'Bitte liefern Sie gemäss Lieferschein', cOut ).
  1215. LEAVE.
  1216. END.
  1217. IF VCopy = 1 AND
  1218. VTempVESR <> '' THEN
  1219. DO:
  1220. RUN DRUCKAUSGABE_VESR.
  1221. OS-DELETE VALUE(VTempVESR).
  1222. END.
  1223. LEAVE.
  1224. END.
  1225. DO WHILE WDrucker.Emul = "TERMINAL":
  1226. RUN d-liste.w ( INPUT FormText[02] ).
  1227. LEAVE.
  1228. END.
  1229. END.
  1230. END PROCEDURE.
  1231. /* _UIB-CODE-BLOCK-END */
  1232. &ANALYZE-RESUME
  1233. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE DRUCKAUSGABE_VESR C-Win
  1234. PROCEDURE DRUCKAUSGABE_VESR :
  1235. /*------------------------------------------------------------------------------
  1236. Purpose:
  1237. Parameters: <none>
  1238. Notes:
  1239. ------------------------------------------------------------------------------*/
  1240. FIND FIRST WDrucker.
  1241. FIND FIRST WSchrift.
  1242. OUTPUT STREAM Out_Stream TO VALUE(WSchrift.Schname)
  1243. CONVERT TARGET "ibm850".
  1244. PUT STREAM Out_Stream CONTROL WSchrift.Schseqbeg.
  1245. CASE SchB:
  1246. WHEN 1 THEN
  1247. PUT STREAM Out_Stream CONTROL Schacht1.
  1248. WHEN 2 THEN
  1249. PUT STREAM Out_Stream CONTROL Schacht2.
  1250. WHEN 3 THEN
  1251. PUT STREAM Out_Stream CONTROL Schacht3.
  1252. END CASE.
  1253. INPUT STREAM In_Stream FROM VALUE(VTempVESR) NO-ECHO NO-MAP.
  1254. REPEAT ON STOP UNDO, LEAVE WITH FRAME f_Print:
  1255. IMPORT STREAM In_Stream UNFORMATTED VZeile.
  1256. DISPLAY STREAM Out_Stream VZeile
  1257. WITH FRAME f_Print NO-LABELS STREAM-IO
  1258. NO-BOX USE-TEXT WIDTH 255.
  1259. END.
  1260. OUTPUT STREAM Out_Stream CLOSE.
  1261. INPUT STREAM In_Stream CLOSE.
  1262. END PROCEDURE.
  1263. /* _UIB-CODE-BLOCK-END */
  1264. &ANALYZE-RESUME
  1265. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE DRUCKEN C-Win
  1266. PROCEDURE DRUCKEN :
  1267. /*------------------------------------------------------------------------------
  1268. Purpose:
  1269. Parameters: <none>
  1270. Notes:
  1271. ------------------------------------------------------------------------------*/
  1272. DO WITH FRAME {&FRAME-NAME}:
  1273. DEFINE VARIABLE XFakArt AS INTEGER NO-UNDO.
  1274. DEFINE VARIABLE XAufSta AS INTEGER NO-UNDO.
  1275. DEFINE VARIABLE ARecid AS RECID NO-UNDO.
  1276. DEFINE VARIABLE BRecid AS RECID NO-UNDO.
  1277. DEFINE VARIABLE CRecid AS RECID NO-UNDO.
  1278. DEFINE VARIABLE DRecid AS RECID NO-UNDO.
  1279. FIND Tabel WHERE RECID(Tabel) = TRecid NO-LOCK.
  1280. ASSIGN
  1281. ARecid = Tabel.Int_1
  1282. BRecid = Tabel.Int_2
  1283. CRecid = Tabel.Int_3
  1284. DRecid = INTEGER(Tabel.Dec_2).
  1285. FIND BSteuer WHERE BSteuer.Firma = GVFirma NO-LOCK NO-ERROR.
  1286. FIND BListen WHERE RECID(BListen) = ARecid NO-LOCK NO-ERROR.
  1287. FIND BLiDruck WHERE RECID(BLiDruck) = BRecid NO-LOCK NO-ERROR.
  1288. FIND BAufko WHERE RECID(BAufko) = CRecid NO-LOCK NO-ERROR.
  1289. FIND HilfsTab WHERE RECID(HilfsTab) = DRecid NO-LOCK NO-ERROR.
  1290. IF NOT AVAILABLE BAufko THEN RETURN.
  1291. F_Aufnr = BAufko.Aufnr.
  1292. F_Faknr = BAufko.Faknr.
  1293. F_Datum = BAufko.Fak_Datum.
  1294. IF F_Datum = ? THEN F_Datum = TODAY.
  1295. FDatum = F_Datum.
  1296. VSort = BListen.Sort.
  1297. ASSIGN
  1298. F_Drucker = HilfsTab.Zeichen_1
  1299. F_Schrift = HilfsTab.Zeichen_2
  1300. F_TZZ = HilfsTab.Zahl[01]
  1301. F_KZZ = HilfsTab.Zahl[02]
  1302. F_FZZ = HilfsTab.Zahl[03]
  1303. F_KOPIE = HilfsTab.Zahl[04]
  1304. SchO = HilfsTab.Zahl[05]
  1305. SchK = HilfsTab.Zahl[06]
  1306. VBesr = HilfsTab.Zahl[07]
  1307. SchB = HilfsTab.Zahl[08]
  1308. VDokArt = HilfsTab.Sort_2
  1309. F_DokArt = HilfsTab.Sort_2.
  1310. FIND TFakart USE-INDEX Tabel-k1
  1311. WHERE TFakart.Firma = GVFirma
  1312. AND TFakart.RecArt = 'FAKART'
  1313. AND TFakart.CodeC = ''
  1314. AND TFakart.CodeI = BAufko.Fak_Art
  1315. AND TFakart.Sprcd = 1 NO-LOCK NO-ERROR.
  1316. F_Papier = TFakart.Bez1.
  1317. FakArt = BAufko.Fak_Art.
  1318. FIND TAufsta USE-INDEX Tabel-k1
  1319. WHERE TAufsta.Firma = GVFirma
  1320. AND TAufsta.RecArt = 'AUFSTATUS'
  1321. AND TAufsta.CodeC = ''
  1322. AND TAufsta.CodeI = BAufko.Auf_Sta
  1323. AND TAufsta.Sprcd = 1 NO-LOCK NO-ERROR.
  1324. FIND Adresse USE-INDEX Adresse-k1
  1325. WHERE Adresse.Firma = AdFirma
  1326. AND Adresse.Knr = BAufko.Fak_Knr NO-LOCK NO-ERROR.
  1327. E_Adresse = ''.
  1328. IF BAufko.Adresse[05] <> '' THEN
  1329. DO:
  1330. E_Adresse = CHR(10)
  1331. + CHR(10)
  1332. + BAufko.Adresse[01] + CHR(10)
  1333. + BAufko.Adresse[02] + CHR(10)
  1334. + BAufko.Adresse[03] + CHR(10)
  1335. + BAufko.Adresse[04] + CHR(10)
  1336. + BAufko.Adresse[05].
  1337. END.
  1338. ELSE
  1339. DO:
  1340. E_Adresse = Adresse.Anschrift[05] + CHR(10) +
  1341. Adresse.Anschrift[06] + CHR(10) +
  1342. Adresse.Anschrift[07] + CHR(10) +
  1343. Adresse.Anschrift[08] + CHR(10) +
  1344. Adresse.Anschrift[09] + CHR(10) +
  1345. Adresse.Anschrift[10] + CHR(10) +
  1346. Adresse.Anschrift[11] + CHR(10) +
  1347. Adresse.Anschrift[12].
  1348. END.
  1349. DISPLAY {&List-1}.
  1350. F_DokArt:BGCOLOR = 14.
  1351. F_Papier:BGCOLOR = 14.
  1352. IF TFakart.Int_3 = 3 OR
  1353. TFakart.Int_3 = 4 OR
  1354. TFakart.Int_3 = 9 THEN
  1355. DO:
  1356. DruckFlag = FALSE.
  1357. APPLY 'ENTRY' TO F_Kopie.
  1358. WAIT-FOR CHOOSE OF Btn_Drucken OR
  1359. CHOOSE OF Btn_Abbrechen.
  1360. END.
  1361. IF NOT DruckFlag THEN
  1362. DO:
  1363. REPEAT TRANSACTION:
  1364. FIND BListen WHERE RECID(BListen) = ARecid.
  1365. BListen.Listfl = ''.
  1366. RELEASE BListen.
  1367. LEAVE.
  1368. END.
  1369. RETURN NO-APPLY.
  1370. END.
  1371. ASSIGN {&List-1}.
  1372. RUN LIBILD.
  1373. EMPTY TEMP-TABLE SammFak.
  1374. IF BAufko.Samm_Nr <> 0 AND
  1375. NOT VDokArt BEGINS 'Ruest' THEN
  1376. DO:
  1377. RUN SAMMELSUCHEN.
  1378. END.
  1379. ELSE
  1380. DO:
  1381. CREATE SammFak.
  1382. ASSIGN
  1383. SammFak.Knr = BAufko.Fak_Knr
  1384. SammFak.LS_Knr = BAufko.Knr
  1385. SammFak.Aufnr = BAufko.Aufnr
  1386. SammFak.Samm_Nr = BAufko.Aufnr
  1387. SammFak.Faknr = BAufko.Faknr
  1388. SammFak.RID = RECID(BAufko).
  1389. END.
  1390. VTemp = ''.
  1391. VTempVESR = ''.
  1392. RUN WORKFILE.
  1393. IF DOpen = TRUE THEN OUTPUT STREAM Out_Stream TO VALUE(VTemp).
  1394. FOR EACH SammFak BREAK BY SammFak.Knr
  1395. BY SammFak.Samm_Nr
  1396. BY SammFak.LS_Knr
  1397. BY SammFak.Aufnr :
  1398. FIND BAufko WHERE RECID(BAufko) = SammFak.RID NO-LOCK NO-ERROR.
  1399. F_Aufnr = BAufko.Aufnr.
  1400. DISPLAY F_Aufnr WITH FRAME {&FRAME-NAME}.
  1401. VWg_Grp = 0.
  1402. VProd_Grp = 0.
  1403. VArt_Grp = 0.
  1404. VFak_Betr = 0.
  1405. FErste = FALSE.
  1406. FOR EACH TAufze:
  1407. DELETE TAufze.
  1408. END.
  1409. FOR EACH TGebKto:
  1410. DELETE TGebKto.
  1411. END.
  1412. FOR EACH TRabSumm:
  1413. DELETE TRabSumm.
  1414. END.
  1415. FOR EACH TSpeRab:
  1416. DELETE TSpeRab.
  1417. END.
  1418. FOR EACH TGebuehr:
  1419. DELETE TGebuehr.
  1420. END.
  1421. IF FIRST-OF ( SammFak.Samm_Nr ) THEN
  1422. DO:
  1423. FOR EACH TUmsGrp :
  1424. DELETE TUmsGrp .
  1425. END.
  1426. GTWpfl = 0.
  1427. GTWust = 0.
  1428. GTFak_Betr = 0.
  1429. GTSk_Ber = 0.
  1430. SFaknr = SammFak.Faknr.
  1431. FLetzt = FALSE.
  1432. FErste = TRUE.
  1433. TiDruck = TRUE.
  1434. VSeite = 0.
  1435. END.
  1436. LiefAdr = ''.
  1437. IF FIRST-OF ( SammFak.LS_Knr ) AND
  1438. SammFak.LS_Knr <> SammFak.Knr AND
  1439. SammFak.LS_Knr <> 0 THEN
  1440. DO:
  1441. FIND BAdresse USE-INDEX Adresse-k1
  1442. WHERE BAdresse.Firma = AdFirma
  1443. AND BAdresse.Knr = SammFak.LS_Knr NO-LOCK NO-ERROR.
  1444. LiefAdr = 'Lieferadresse : ' + BAdresse.Anzeig_Br.
  1445. END.
  1446. FOR EACH BAufze USE-INDEX Aufze-k1
  1447. WHERE BAufze.Firma = BAufko.Firma
  1448. AND BAufze.Aufnr = BAufko.Aufnr NO-LOCK:
  1449. IF BAufze.Artnr <> 0 THEN
  1450. DO:
  1451. FIND GGebinde WHERE GGebinde.Firma = GVFirma
  1452. AND GGebinde.Geb_Cd = BAufze.GGeb_Cd NO-LOCK NO-ERROR.
  1453. FIND VGebinde WHERE VGebinde.Firma = GVFirma
  1454. AND VGebinde.Geb_Cd = BAufze.VGeb_Cd NO-LOCK NO-ERROR.
  1455. FIND KGebinde WHERE KGebinde.Firma = GVFirma
  1456. AND KGebinde.Geb_Cd = BAufze.KGeb_Cd NO-LOCK NO-ERROR.
  1457. END.
  1458. CREATE TAufze.
  1459. ASSIGN
  1460. TAufze.Aufnr = BAufze.Aufnr
  1461. TAufze.Artnr = BAufze.Artnr
  1462. TAufze.Inhalt = BAufze.Inhalt
  1463. TAufze.Jahr = BAufze.Jahr
  1464. TAufze.Pos = BAufze.Pos
  1465. TAufze.Zeile = RECID(BAufze)
  1466. TAufze.Aktion = BAufze.Aktion
  1467. TAufze.Preis = BAufze.Preis.
  1468. IF BAufze.Artnr <> 0 THEN
  1469. DO:
  1470. FIND Artst OF BAufze NO-LOCK.
  1471. VWg_Grp = Artst.Wg_Grp.
  1472. VProd_Grp = Artst.Prod_Grp.
  1473. VArt_Grp = Artst.Art_Grp.
  1474. AArtnr = Artst.Artnr.
  1475. AInhalt = Artst.Inhalt.
  1476. AJahr = Artst.Jahr.
  1477. TAufze.LagOrt = DYNAMIC-FUNCTION('GETLAGERORT':U, INPUT BAufze.Lager,
  1478. INPUT BAufze.Artnr,
  1479. INPUT BAufze.Inhalt,
  1480. INPUT BAufze.Jahr ) NO-ERROR.
  1481. END.
  1482. IF VSort = 1 THEN
  1483. DO:
  1484. ASSIGN
  1485. TAufze.Sort1 = STRING(BAufze.Pos,"99999")
  1486. TAufze.Sort2 = ''
  1487. TAufze.Sort3 = ''.
  1488. END.
  1489. IF BAufze.Artnr = 0 THEN
  1490. DO:
  1491. ASSIGN
  1492. TAufze.Artnr = AArtnr
  1493. TAufze.Inhalt = AInhalt
  1494. TAufze.Jahr = AJahr.
  1495. END.
  1496. IF BAufze.Artnr = 0 THEN NEXT.
  1497. /* Spezial-Auftrags-Rabatt -------------------------------------------- */
  1498. IF BAufze.Auf_Sp_Grp > 0 THEN
  1499. DO:
  1500. FIND FIRST TSpeRab WHERE TSpeRab.Rab_Grp = BAufze.Auf_Sp_Grp NO-ERROR.
  1501. IF NOT AVAILABLE TSpeRab THEN
  1502. DO:
  1503. CREATE TSpeRab.
  1504. ASSIGN
  1505. TSpeRab.Rab_Grp = BAufze.Auf_Sp_Grp.
  1506. END.
  1507. TSpeRab.Auf_Betr = TSpeRab.Auf_Betr + BAufze.Auf_Sp_Rab.
  1508. END.
  1509. /* Summengruppen-Totale ------------------------------------------------ */
  1510. DO WHILE BAufze.Rab_Su_Grp > 0:
  1511. FIND FIRST TRabSumm WHERE TRabSumm.Rab_Summ = BAufze.Rab_Su_Grp NO-ERROR.
  1512. IF NOT AVAILABLE TRabSumm THEN
  1513. DO:
  1514. FIND FIRST RabSumm USE-INDEX RabSumm-k1
  1515. WHERE RabSumm.Firma = GVFirma
  1516. AND RabSumm.Rab_Summ = BAufze.Rab_Su_Grp
  1517. NO-LOCK NO-ERROR.
  1518. IF NOT AVAILABLE RabSumm THEN LEAVE.
  1519. CREATE TRabSumm.
  1520. ASSIGN
  1521. TRabSumm.Rab_Summ = BAufze.Rab_Su_Grp
  1522. TRabSumm.Bez = RabSumm.Bez
  1523. TRabSumm.Auf_Rab = 0
  1524. TRabSumm.Abh_Rab = 0.
  1525. END.
  1526. LEAVE.
  1527. END.
  1528. END.
  1529. IF LAST-OF ( SammFak.Samm_Nr ) THEN FLetzt = TRUE.
  1530. RUN VALUE(VDokArt).
  1531. END. /* FOR EACH SammFak */
  1532. IF DOpen THEN OUTPUT STREAM Out_Stream CLOSE.
  1533. DOpen = FALSE.
  1534. IF NOT VDokArt BEGINS 'EXCEL' THEN RUN DRUCKAUSGABE.
  1535. IF VTemp <> '' THEN OS-DELETE VALUE(VTemp).
  1536. REPEAT TRANSACTION:
  1537. FIND BListen WHERE RECID(BListen) = ARecid.
  1538. BListen.Listfl = ''.
  1539. RELEASE BListen.
  1540. LEAVE.
  1541. END.
  1542. END. /* DO WITH FRAME */
  1543. RETURN NO-APPLY.
  1544. END PROCEDURE.
  1545. /* _UIB-CODE-BLOCK-END */
  1546. &ANALYZE-RESUME
  1547. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE DRUCKPOSITION C-Win
  1548. PROCEDURE DRUCKPOSITION :
  1549. /*------------------------------------------------------------------------------
  1550. Purpose:
  1551. Parameters: <none>
  1552. Notes:
  1553. ------------------------------------------------------------------------------*/
  1554. DEFINE INPUT PARAMETER X AS INTEGER.
  1555. DEFINE INPUT PARAMETER Y AS INTEGER.
  1556. DEFINE VARIABLE SX AS INTEGER INIT 0.
  1557. DEFINE VARIABLE SY AS INTEGER INIT 0.
  1558. X = X + SX.
  1559. Y = Y + SY.
  1560. PUT STREAM Out_Stream CONTROL CHR(027) '9'.
  1561. PUT STREAM Out_Stream CONTROL CHR(027) '*t300R'.
  1562. PUT STREAM Out_Stream CONTROL CHR(027) '*p' STRING(Y) 'y'
  1563. STRING(X) 'X'.
  1564. END PROCEDURE.
  1565. /* _UIB-CODE-BLOCK-END */
  1566. &ANALYZE-RESUME
  1567. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI C-Win _DEFAULT-ENABLE
  1568. PROCEDURE enable_UI :
  1569. /*------------------------------------------------------------------------------
  1570. Purpose: ENABLE the User Interface
  1571. Parameters: <none>
  1572. Notes: Here we display/view/enable the widgets in the
  1573. user-interface. In addition, OPEN all queries
  1574. associated with each FRAME and BROWSE.
  1575. These statements here are based on the "Other
  1576. Settings" section of the widget Property Sheets.
  1577. ------------------------------------------------------------------------------*/
  1578. DISPLAY F_Drucker F_Schrift E_Adresse F_Tzz F_Kzz F_Fzz F_KOPIE F_Aufnr
  1579. F_Faknr F_Datum F_Dokart F_Seite F_Papier
  1580. WITH FRAME DEFAULT-FRAME IN WINDOW C-Win.
  1581. ENABLE Btn_Drucken Btn_Abbrechen F_Drucker F_Schrift E_Adresse F_Tzz F_Kzz
  1582. F_Fzz F_KOPIE F_Aufnr F_Faknr F_Datum F_Dokart F_Seite F_Papier RECT-1
  1583. WITH FRAME DEFAULT-FRAME IN WINDOW C-Win.
  1584. {&OPEN-BROWSERS-IN-QUERY-DEFAULT-FRAME}
  1585. VIEW C-Win.
  1586. END PROCEDURE.
  1587. /* _UIB-CODE-BLOCK-END */
  1588. &ANALYZE-RESUME
  1589. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE EXCEL C-Win
  1590. PROCEDURE EXCEL :
  1591. /*------------------------------------------------------------------------------
  1592. Purpose:
  1593. Parameters: <none>
  1594. Notes:
  1595. ------------------------------------------------------------------------------*/
  1596. DEFINE VARIABLE io AS LOG NO-UNDO.
  1597. DEFINE VARIABLE ExZeile AS INTEGER NO-UNDO.
  1598. DEFINE VARIABLE ODatei AS CHARACTER NO-UNDO.
  1599. DEFINE VARIABLE cDaten AS CHARACTER NO-UNDO.
  1600. excelAppl = DYNAMIC-FUNCTION('CREATEEXCEL':U) NO-ERROR.
  1601. IF NOT VALID-HANDLE(excelAppl) THEN RETURN NO-APPLY.
  1602. oDatei = "Auftragsbestätigung.xls" + CHR(01) + "Auftragsbestätigung.xls".
  1603. RUN CREATEDATEI ( INPUT oDatei ).
  1604. oDatei = SESSION:TEMP-DIR + "Auftragsbestätigung.xls".
  1605. RUN OPENEXCEL ( INPUT excelAppl, INPUT oDatei,
  1606. INPUT '', OUTPUT io ).
  1607. IF NOT io THEN
  1608. DO:
  1609. RUN RELEASEEXCEL ( INPUT excelAppl ).
  1610. RETURN NO-APPLY.
  1611. END.
  1612. VFak_Betr = 0.
  1613. LiKopf = FALSE.
  1614. FPreis = TRUE.
  1615. FBetrag = FALSE.
  1616. FRabatt = FALSE.
  1617. FSamm = FALSE.
  1618. ExZeile = 5.
  1619. VKopfArt = 'EXCEL_KOPF'.
  1620. /*
  1621. RUN VALUE(VKopfArt).
  1622. */
  1623. FIND Adresse USE-INDEX Adresse-k1
  1624. WHERE Adresse.Firma = AdFirma
  1625. AND Adresse.Knr = BAufko.Knr NO-LOCK NO-ERROR.
  1626. FIND LDebst USE-INDEX Debst-k1
  1627. WHERE LDebst.Firma = GVFirma
  1628. AND LDebst.Knr = BAufko.Knr NO-LOCK NO-ERROR.
  1629. FIND FDebst USE-INDEX Debst-k1
  1630. WHERE FDebst.Firma = GVFirma
  1631. AND FDebst.Knr = BAufko.Fak_Knr NO-LOCK NO-ERROR.
  1632. FIND Wust USE-INDEX Wust-k1
  1633. WHERE Wust.CodeK = LDebst.MWST
  1634. AND Wust.CodeA = 99 NO-LOCK NO-ERROR.
  1635. LVSprcd = Adresse.Sprcd.
  1636. DebInkl = FALSE.
  1637. IF AVAILABLE Wust THEN DebInkl = Wust.Incl.
  1638. XTelnr = ''.
  1639. IF DebInkl THEN
  1640. DO:
  1641. IF Adresse.Tel-2 <> '' THEN XTelnr = Adresse.Tel-2.
  1642. ELSE XTelnr = Adresse.Tel-1.
  1643. END.
  1644. ELSE
  1645. DO:
  1646. IF Adresse.Tel-1 <> '' THEN XTelnr = Adresse.Tel-1.
  1647. ELSE XTelnr = Adresse.Tel-2.
  1648. END.
  1649. F_Seite = VSeite.
  1650. F_Faknr = BAufko.Aufnr.
  1651. DISPLAY F_Seite
  1652. F_Faknr WITH FRAME {&FRAME-NAME}.
  1653. VZeile = ''.
  1654. IF BAufko.Adresse[05] <> '' THEN
  1655. DO:
  1656. DO ix = 1 TO 5:
  1657. RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'E',
  1658. INPUT ExZeile, INPUT BAufko.Adresse[ix] ).
  1659. ExZeile = ExZeile + 1.
  1660. END.
  1661. END.
  1662. ELSE
  1663. DO:
  1664. DO ix = 7 TO 11:
  1665. RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'E',
  1666. INPUT ExZeile, INPUT Adresse.Anschrift[ix] ).
  1667. ExZeile = ExZeile + 1.
  1668. END.
  1669. END.
  1670. cDaten = STRING(TODAY,'99.99.9999').
  1671. ExZeile = ExZeile + 1.
  1672. RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'E',
  1673. INPUT ExZeile, INPUT cDaten ).
  1674. ExZeile = 29.
  1675. ZEILEN:
  1676. FOR EACH TAufze NO-LOCK
  1677. BY TAufze.Aufnr
  1678. BY TAufze.Sort1
  1679. BY TAufze.Sort2
  1680. BY TAufze.Sort3
  1681. BY TAufze.Artnr
  1682. BY TAufze.Inhalt
  1683. BY TAufze.Jahr
  1684. BY TAufze.Pos :
  1685. FIND Aufze WHERE RECID(Aufze) = TAufze.Zeile NO-LOCK.
  1686. DO WHILE Aufze.Artnr = 0:
  1687. ExZeile = ExZeile + 1.
  1688. RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'B',
  1689. INPUT ExZeile, INPUT Aufze.Bez1 ).
  1690. IF Aufze.Bez2 <> '' THEN
  1691. DO:
  1692. ExZeile = ExZeile + 1.
  1693. RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'B',
  1694. INPUT ExZeile, INPUT Aufze.Bez2 ).
  1695. END.
  1696. NEXT ZEILEN.
  1697. END.
  1698. FIND Artst OF Aufze NO-LOCK.
  1699. FIND GGebinde WHERE GGebinde.Firma = GVFirma
  1700. AND GGebinde.Geb_Cd = Aufze.GGeb_Cd NO-LOCK NO-ERROR.
  1701. FIND VGebinde WHERE VGebinde.Firma = GVFirma
  1702. AND VGebinde.Geb_Cd = Aufze.VGeb_Cd NO-LOCK NO-ERROR.
  1703. FIND KGebinde WHERE KGebinde.Firma = GVFirma
  1704. AND KGebinde.Geb_Cd = Aufze.KGeb_Cd NO-LOCK NO-ERROR.
  1705. ExZeile = ExZeile + 1.
  1706. cDaten = STRING(Aufze.Artnr,'999999 ')
  1707. + Aufze.Bez1.
  1708. RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'A',
  1709. INPUT ExZeile, INPUT cDaten ).
  1710. RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'D',
  1711. INPUT ExZeile, INPUT KGebinde.KBez ).
  1712. RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'E',
  1713. INPUT ExZeile, INPUT STRING(Aufze.MGeli,'->>>>>9')).
  1714. RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'F',
  1715. INPUT ExZeile, INPUT STRING(Aufze.Preis,">>>>>>9.999")).
  1716. RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'G',
  1717. INPUT ExZeile, INPUT STRING(Aufze.Net_Betr,"->>>>>>9.999")).
  1718. VFak_Betr = VFak_Betr + Aufze.Net_Betr.
  1719. END.
  1720. DYNAMIC-FUNCTION('RELEASEEXCEL':U, INPUT excelAppl ).
  1721. END PROCEDURE.
  1722. /* _UIB-CODE-BLOCK-END */
  1723. &ANALYZE-RESUME
  1724. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE EXCELOFFERTE C-Win
  1725. PROCEDURE EXCELOFFERTE :
  1726. /*------------------------------------------------------------------------------
  1727. Purpose:
  1728. Parameters: <none>
  1729. Notes:
  1730. ------------------------------------------------------------------------------*/
  1731. DEFINE VARIABLE excelAppl AS COMPONENT-HANDLE NO-UNDO.
  1732. DEFINE VARIABLE io AS LOG NO-UNDO.
  1733. DEFINE VARIABLE ExZeile AS INTEGER NO-UNDO.
  1734. DEFINE VARIABLE ODatei AS CHARACTER NO-UNDO.
  1735. DEFINE VARIABLE cDaten AS CHARACTER NO-UNDO.
  1736. excelAppl = DYNAMIC-FUNCTION('CREATEEXCEL':U) NO-ERROR.
  1737. IF NOT VALID-HANDLE(excelAppl) THEN RETURN NO-APPLY.
  1738. oDatei = "Offerte_Rauch.xls" + CHR(01) + "Offerte_Rauch.xls".
  1739. RUN CREATEDATEI ( INPUT oDatei ).
  1740. oDatei = SESSION:TEMP-DIR + "Offerte_Rauch.xls".
  1741. RUN OPENEXCEL ( INPUT excelAppl, INPUT oDatei,
  1742. INPUT '', OUTPUT io ).
  1743. IF NOT io THEN
  1744. DO:
  1745. RUN RELEASEEXCEL ( INPUT excelAppl ).
  1746. RETURN NO-APPLY.
  1747. END.
  1748. VFak_Betr = 0.
  1749. LiKopf = FALSE.
  1750. FPreis = TRUE.
  1751. FBetrag = FALSE.
  1752. FRabatt = FALSE.
  1753. FSamm = FALSE.
  1754. ExZeile = 5.
  1755. VKopfArt = 'EXCEL_KOPF'.
  1756. /*
  1757. RUN VALUE(VKopfArt).
  1758. */
  1759. FIND Adresse USE-INDEX Adresse-k1
  1760. WHERE Adresse.Firma = AdFirma
  1761. AND Adresse.Knr = BAufko.Knr NO-LOCK NO-ERROR.
  1762. FIND LDebst USE-INDEX Debst-k1
  1763. WHERE LDebst.Firma = GVFirma
  1764. AND LDebst.Knr = BAufko.Knr NO-LOCK NO-ERROR.
  1765. FIND FDebst USE-INDEX Debst-k1
  1766. WHERE FDebst.Firma = GVFirma
  1767. AND FDebst.Knr = BAufko.Fak_Knr NO-LOCK NO-ERROR.
  1768. FIND Wust USE-INDEX Wust-k1
  1769. WHERE Wust.CodeK = LDebst.MWST
  1770. AND Wust.CodeA = 99 NO-LOCK NO-ERROR.
  1771. LVSprcd = Adresse.Sprcd.
  1772. DebInkl = FALSE.
  1773. IF AVAILABLE Wust THEN DebInkl = Wust.Incl.
  1774. XTelnr = ''.
  1775. IF DebInkl THEN
  1776. DO:
  1777. IF Adresse.Tel-2 <> '' THEN XTelnr = Adresse.Tel-2.
  1778. ELSE XTelnr = Adresse.Tel-1.
  1779. END.
  1780. ELSE
  1781. DO:
  1782. IF Adresse.Tel-1 <> '' THEN XTelnr = Adresse.Tel-1.
  1783. ELSE XTelnr = Adresse.Tel-2.
  1784. END.
  1785. F_Seite = VSeite.
  1786. F_Faknr = BAufko.Aufnr.
  1787. DISPLAY F_Seite
  1788. F_Faknr WITH FRAME {&FRAME-NAME}.
  1789. VZeile = ''.
  1790. IF BAufko.Adresse[05] <> '' THEN
  1791. DO:
  1792. DO ix = 1 TO 5:
  1793. RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'E',
  1794. INPUT ExZeile, INPUT BAufko.Adresse[ix] ).
  1795. ExZeile = ExZeile + 1.
  1796. END.
  1797. END.
  1798. ELSE
  1799. DO:
  1800. DO ix = 7 TO 11:
  1801. RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'E',
  1802. INPUT ExZeile, INPUT Adresse.Anschrift[ix] ).
  1803. ExZeile = ExZeile + 1.
  1804. END.
  1805. END.
  1806. cDaten = STRING(TODAY,'99.99.9999').
  1807. ExZeile = ExZeile + 1.
  1808. RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'E',
  1809. INPUT ExZeile, INPUT cDaten ).
  1810. ExZeile = 15.
  1811. RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'A',
  1812. INPUT ExZeile, INPUT Adresse.BriefAnr ).
  1813. ExZeile = 21.
  1814. ZEILEN:
  1815. FOR EACH TAufze NO-LOCK
  1816. BY TAufze.Aufnr
  1817. BY TAufze.Sort1
  1818. BY TAufze.Sort2
  1819. BY TAufze.Sort3
  1820. BY TAufze.Artnr
  1821. BY TAufze.Inhalt
  1822. BY TAufze.Jahr
  1823. BY TAufze.Pos :
  1824. FIND Aufze WHERE RECID(Aufze) = TAufze.Zeile NO-LOCK.
  1825. DO WHILE Aufze.Artnr = 0:
  1826. ExZeile = ExZeile + 1.
  1827. RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'B',
  1828. INPUT ExZeile, INPUT Aufze.Bez1 ).
  1829. IF Aufze.Bez2 <> '' THEN
  1830. DO:
  1831. ExZeile = ExZeile + 1.
  1832. RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'B',
  1833. INPUT ExZeile, INPUT Aufze.Bez2 ).
  1834. END.
  1835. NEXT ZEILEN.
  1836. END.
  1837. FIND Artst OF Aufze NO-LOCK.
  1838. FIND GGebinde WHERE GGebinde.Firma = GVFirma
  1839. AND GGebinde.Geb_Cd = Aufze.GGeb_Cd NO-LOCK NO-ERROR.
  1840. FIND VGebinde WHERE VGebinde.Firma = GVFirma
  1841. AND VGebinde.Geb_Cd = Aufze.VGeb_Cd NO-LOCK NO-ERROR.
  1842. FIND KGebinde WHERE KGebinde.Firma = GVFirma
  1843. AND KGebinde.Geb_Cd = Aufze.KGeb_Cd NO-LOCK NO-ERROR.
  1844. ExZeile = ExZeile + 1.
  1845. cDaten = STRING(Aufze.Artnr ,'999999').
  1846. IF Aufze.Jahr > 100 THEN cDaten = cDaten + ' / '
  1847. + STRING(Aufze.Jahr,'9999').
  1848. RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'A',
  1849. INPUT ExZeile, INPUT cDaten ).
  1850. RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'B',
  1851. INPUT ExZeile, INPUT Aufze.Bez1 ).
  1852. RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'E',
  1853. INPUT ExZeile, INPUT STRING(KGebinde.Inhalt,'>>>9')).
  1854. RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'F',
  1855. INPUT ExZeile, INPUT STRING(Aufze.Bru_Betr,'->>>>>9.999')).
  1856. RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'G',
  1857. INPUT ExZeile, INPUT STRING(Aufze.Rab_Wert,"->>>>>9.999")).
  1858. RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'H',
  1859. INPUT ExZeile, INPUT STRING(Aufze.Net_Betr,"->>>>>9.999")).
  1860. VFak_Betr = VFak_Betr + Aufze.Net_Betr.
  1861. IF Aufze.Bez2 <> '' THEN
  1862. DO:
  1863. ExZeile = ExZeile + 1.
  1864. RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'B',
  1865. INPUT ExZeile, INPUT Aufze.Bez2 ).
  1866. END.
  1867. END.
  1868. DYNAMIC-FUNCTION('RELEASEEXCEL':U, INPUT excelAppl ).
  1869. END PROCEDURE.
  1870. /* _UIB-CODE-BLOCK-END */
  1871. &ANALYZE-RESUME
  1872. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE EXCEL_FAKTURA C-Win
  1873. PROCEDURE EXCEL_FAKTURA :
  1874. /*------------------------------------------------------------------------------
  1875. Purpose:
  1876. Parameters: <none>
  1877. Notes:
  1878. ------------------------------------------------------------------------------*/
  1879. DEFINE VARIABLE cVorlage AS CHARACTER NO-UNDO.
  1880. DEFINE VARIABLE cDokument AS CHARACTER NO-UNDO.
  1881. DEFINE VARIABLE cDaten AS CHARACTER NO-UNDO.
  1882. DEFINE VARIABLE cPfad AS CHARACTER NO-UNDO.
  1883. DEFINE VARIABLE fSprcd AS INTEGER NO-UNDO.
  1884. FIND BAdresse USE-INDEX Adresse-k1
  1885. WHERE BAdresse.Firma = AdFirma
  1886. AND BAdresse.Knr = (IF BAufko.Fak_Knr > 0 THEN BAufko.Fak_Knr ELSE BAufko.Knr) NO-LOCK NO-ERROR.
  1887. FIND LAdresse USE-INDEX Adresse-k1
  1888. WHERE LAdresse.Firma = AdFirma
  1889. AND LAdresse.Knr = BAufko.Knr NO-LOCK NO-ERROR.
  1890. FIND LDebst USE-INDEX Debst-k1
  1891. WHERE LDebst.Firma = GVFirma
  1892. AND LDebst.Knr = BAufko.Knr NO-LOCK NO-ERROR.
  1893. FIND FDebst USE-INDEX Debst-k1
  1894. WHERE FDebst.Firma = GVFirma
  1895. AND FDebst.Knr = (IF BAufko.Fak_Knr > 0 THEN BAufko.Fak_Knr ELSE BAufko.Knr) NO-LOCK NO-ERROR.
  1896. FIND Wust USE-INDEX Wust-k1
  1897. WHERE Wust.CodeK = LDebst.MWST
  1898. AND Wust.CodeA = 99 NO-LOCK NO-ERROR.
  1899. iFirma = FDebst.Ku_Grp.
  1900. cFrw = FDebst.Frw.
  1901. LVSprcd = BAdresse.Sprcd.
  1902. fSprcd = (IF BAdresse.Sprcd = 1 THEN 1 ELSE 2).
  1903. iBesr = FDebst.BESR_Art.
  1904. VFak_Betr = 0.
  1905. DebInkl = FALSE.
  1906. IF AVAILABLE Wust THEN DebInkl = Wust.Incl.
  1907. IF SFaknr = 0 THEN
  1908. DO:
  1909. SFaknr = BAufko.Faknr.
  1910. REPEAT WHILE SFaknr = 0 TRANSACTION:
  1911. RUN steunr.p ( INPUT 2, OUTPUT VFaknr ).
  1912. IF RETURN-VALUE <> '' THEN NEXT.
  1913. SFaknr = VFaknr.
  1914. END.
  1915. END.
  1916. cPfad = SEARCH('NichtLoeschen.pdf').
  1917. IF cPfad = ? THEN cPfad = ''.
  1918. IF cPfad = '' THEN cPfad = SESSION:TEMP-DIR.
  1919. ELSE
  1920. DO:
  1921. FILE-INFO:FILE-NAME = cPfad.
  1922. cPfad = FILE-INFO:FULL-PATHNAME.
  1923. cPfad = REPLACE(cPfad, '\', '/').
  1924. cPfad = SUBSTRING(cPfad, 01, R-INDEX(cPfad, '/') - 1).
  1925. END.
  1926. cVorlage = 'Rechnung_' + STRING(SFaknr,'999999') + '_' + STRING(BAdresse.Knr,'999999')
  1927. + '.xls'
  1928. + CHR(01)
  1929. + 'Rechnung_' + STRING(BAufko.Ku_Grp,'99') + '_' + STRING(fSprcd,'99') + '_' + BAufko.Frw
  1930. + '.xls'
  1931. + CHR(01)
  1932. + cPfad.
  1933. RUN CREATEDATEI ( cVorlage ).
  1934. cDokument = RETURN-VALUE.
  1935. IF cDokument BEGINS 'ERROR' THEN RETURN 'ERROR'.
  1936. cDaten = SESSION:TEMP-DIR + 'Faktura_' + STRING(TIME,'999999') + '.txt'.
  1937. OUTPUT TO VALUE(cDaten).
  1938. IF BAufko.Fak_Knr <> BAufko.Knr THEN
  1939. DO:
  1940. PUT CONTROL LAdresse.Anzeig_br CHR(10)
  1941. '£' CHR(10).
  1942. END.
  1943. FOR EACH TAufze NO-LOCK
  1944. BY TAufze.Aufnr
  1945. BY TAufze.Sort1
  1946. BY TAufze.Sort2
  1947. BY TAufze.Sort3
  1948. BY TAufze.Artnr
  1949. BY TAufze.Inhalt
  1950. BY TAufze.Jahr
  1951. BY TAufze.Pos :
  1952. FIND Aufze WHERE RECID(Aufze) = TAufze.Zeile NO-LOCK.
  1953. RUN ARTIKELZEILE_PROFORMA_EXCEL.
  1954. VFak_Betr = VFak_Betr + Aufze.Net_Betr.
  1955. END.
  1956. PUT CONTROL '£' CHR(10).
  1957. CASE LVSprcd:
  1958. WHEN 1 THEN
  1959. PUT CONTROL '££Total££££££££££'.
  1960. OTHERWISE
  1961. PUT CONTROL '££Total££££££££££'.
  1962. END CASE.
  1963. PUT CONTROL STRING(VFak_Betr,"->>>>>>9.99") CHR(10)
  1964. '£' CHR(10).
  1965. /*
  1966. RUN SUMMENRABATTE.
  1967. { putstream.i "1" }
  1968. RUN GEBINDE_SALDO.
  1969. RUN GEBINDE_ABRECHNUNG.
  1970. */
  1971. RUN MEHRWERTSTEUER_EXCEL.
  1972. RUN ZAHLUNGSKONDITION_EXCEL ( BAufko.Sk_Ber ).
  1973. RUN SCHLUSS_TEXT_EXCEL.
  1974. OUTPUT CLOSE.
  1975. RUN EXCEL_PROFORMA_KOPF ( cDokument, cDaten ).
  1976. excelAppl:ActiveWorkbook:Close( TRUE ).
  1977. DYNAMIC-FUNCTION('RELEASEEXCEL':U, INPUT excelAppl ) NO-ERROR.
  1978. OS-DELETE VALUE(cDaten) NO-ERROR.
  1979. RUN KOPF_MUTATION.
  1980. END PROCEDURE.
  1981. /* _UIB-CODE-BLOCK-END */
  1982. &ANALYZE-RESUME
  1983. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE EXCEL_LIEFERSCHEIN C-Win
  1984. PROCEDURE EXCEL_LIEFERSCHEIN :
  1985. /*------------------------------------------------------------------------------
  1986. Purpose:
  1987. Parameters: <none>
  1988. Notes:
  1989. ------------------------------------------------------------------------------*/
  1990. DEFINE VARIABLE cVorlage AS CHARACTER NO-UNDO.
  1991. DEFINE VARIABLE cDokument AS CHARACTER NO-UNDO.
  1992. DEFINE VARIABLE cDaten AS CHARACTER NO-UNDO.
  1993. DEFINE VARIABLE cPfad AS CHARACTER NO-UNDO.
  1994. DEFINE VARIABLE fSprcd AS INTEGER NO-UNDO.
  1995. FIND BAdresse USE-INDEX Adresse-k1
  1996. WHERE BAdresse.Firma = AdFirma
  1997. AND BAdresse.Knr = BAufko.Knr NO-LOCK NO-ERROR.
  1998. FIND LDebst USE-INDEX Debst-k1
  1999. WHERE LDebst.Firma = GVFirma
  2000. AND LDebst.Knr = BAufko.Knr NO-LOCK NO-ERROR.
  2001. FIND FDebst USE-INDEX Debst-k1
  2002. WHERE FDebst.Firma = GVFirma
  2003. AND FDebst.Knr = (IF BAufko.Fak_Knr > 0 THEN BAufko.Fak_Knr ELSE BAufko.Knr) NO-LOCK NO-ERROR.
  2004. FIND Wust USE-INDEX Wust-k1
  2005. WHERE Wust.CodeK = LDebst.MWST
  2006. AND Wust.CodeA = 99 NO-LOCK NO-ERROR.
  2007. iFirma = FDebst.Ku_Grp.
  2008. cFrw = FDebst.Frw.
  2009. LVSprcd = BAdresse.Sprcd.
  2010. fSprcd = (IF BAdresse.Sprcd = 1 THEN 1 ELSE 2).
  2011. iBesr = FDebst.BESR_Art.
  2012. DebInkl = FALSE.
  2013. IF AVAILABLE Wust THEN DebInkl = Wust.Incl.
  2014. XTelnr = ''.
  2015. IF DebInkl THEN
  2016. DO:
  2017. IF BAdresse.Tel-2 <> '' THEN XTelnr = BAdresse.Tel-2.
  2018. ELSE XTelnr = BAdresse.Tel-1.
  2019. END.
  2020. ELSE
  2021. DO:
  2022. IF BAdresse.Tel-1 <> '' THEN XTelnr = BAdresse.Tel-1.
  2023. ELSE XTelnr = BAdresse.Tel-2.
  2024. END.
  2025. cPfad = SEARCH('NichtLoeschen.pdf').
  2026. IF cPfad = ? THEN cPfad = ''.
  2027. IF cPfad = '' THEN cPfad = SESSION:TEMP-DIR.
  2028. ELSE
  2029. DO:
  2030. FILE-INFO:FILE-NAME = cPfad.
  2031. cPfad = FILE-INFO:FULL-PATHNAME.
  2032. cPfad = REPLACE(cPfad, '\', '/').
  2033. cPfad = SUBSTRING(cPfad, 01, R-INDEX(cPfad, '/') - 1).
  2034. END.
  2035. cVorlage = 'Lieferschein_' + STRING(BAufko.Aufnr,'999999') + '_' + STRING(BAdresse.Knr,'999999')
  2036. + '.xls'
  2037. + CHR(01)
  2038. + 'viper\realwines\Lieferschein_' + STRING(BAufko.Ku_Grp,'99') + '_' + STRING(fSprcd,'99')
  2039. + '.xls'
  2040. + CHR(01)
  2041. + cPfad.
  2042. RUN CREATEDATEI ( cVorlage ).
  2043. cDokument = RETURN-VALUE.
  2044. IF cDokument BEGINS 'ERROR' THEN RETURN 'ERROR'.
  2045. cDaten = SESSION:TEMP-DIR + 'Lieferschein_' + STRING(TIME,'999999') + '.txt'.
  2046. OUTPUT TO VALUE(cDaten).
  2047. FOR EACH TAufze NO-LOCK
  2048. BY TAufze.Aufnr
  2049. BY TAufze.Sort1
  2050. BY TAufze.Sort2
  2051. BY TAufze.Sort3
  2052. BY TAufze.Artnr
  2053. BY TAufze.Inhalt
  2054. BY TAufze.Jahr
  2055. BY TAufze.Pos :
  2056. FIND Aufze WHERE RECID(Aufze) = TAufze.Zeile NO-LOCK.
  2057. RUN ARTIKELZEILE_LIEFERSCHEIN_EXCEL.
  2058. VFak_Betr = VFak_Betr + Aufze.Net_Betr.
  2059. END.
  2060. RUN SCHLUSS_TEXT_EXCEL.
  2061. OUTPUT CLOSE.
  2062. RUN EXCEL_LIEFERSCHEIN_KOPF ( cDokument, cDaten ).
  2063. excelAppl:ActiveWorkbook:Close( TRUE ).
  2064. DYNAMIC-FUNCTION('RELEASEEXCEL':U, INPUT excelAppl ) NO-ERROR.
  2065. OS-DELETE VALUE(cDaten) NO-ERROR.
  2066. RUN KOPF_MUTATION.
  2067. END PROCEDURE.
  2068. /* _UIB-CODE-BLOCK-END */
  2069. &ANALYZE-RESUME
  2070. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE EXCEL_LIEFERSCHEIN_KOPF C-Win
  2071. PROCEDURE EXCEL_LIEFERSCHEIN_KOPF :
  2072. /*------------------------------------------------------------------------------
  2073. Purpose:
  2074. Parameters: <none>
  2075. Notes:
  2076. ------------------------------------------------------------------------------*/
  2077. DEFINE INPUT PARAMETER cDokument AS CHARACTER NO-UNDO.
  2078. DEFINE INPUT PARAMETER cDaten AS CHARACTER NO-UNDO.
  2079. DEFINE VARIABLE io AS LOG NO-UNDO.
  2080. DEFINE VARIABLE Zelle AS CHARACTER NO-UNDO.
  2081. DEFINE VARIABLE ix AS INTEGER NO-UNDO.
  2082. DEFINE VARIABLE ExZeile AS INTEGER NO-UNDO.
  2083. DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
  2084. DEFINE VARIABLE cSection AS CHARACTER NO-UNDO.
  2085. XTelnr = ''.
  2086. IF DebInkl THEN
  2087. DO:
  2088. IF BAdresse.Tel-2 <> '' THEN XTelnr = BAdresse.Tel-2.
  2089. ELSE XTelnr = BAdresse.Tel-1.
  2090. END.
  2091. ELSE
  2092. DO:
  2093. IF BAdresse.Tel-1 <> '' THEN XTelnr = BAdresse.Tel-1.
  2094. ELSE XTelnr = BAdresse.Tel-2.
  2095. END.
  2096. excelAppl = DYNAMIC-FUNCTION('CREATEEXCEL':U) NO-ERROR.
  2097. IF NOT VALID-HANDLE(excelAppl) THEN RETURN NO-APPLY.
  2098. RUN OPENEXCEL ( INPUT excelAppl, INPUT cDokument,
  2099. INPUT '', OUTPUT io ).
  2100. IF NOT io THEN
  2101. DO:
  2102. RUN RELEASEEXCEL ( INPUT excelAppl ).
  2103. RETURN NO-APPLY.
  2104. END.
  2105. excelAppl:VISIBLE = FALSE.
  2106. Zelle = 'A25'.
  2107. excelAppl:Range(Zelle):SELECT.
  2108. excelAppl:Selection:FormulaR1C1 = 'TEXT;' + cDaten.
  2109. excelAppl:APPLICATION:RUN ( 'DateiEinfuegen' ).
  2110. ExZeile = 10.
  2111. IF BAufko.Adresse[05] <> '' THEN
  2112. DO:
  2113. ExZeile = ExZeile + 1.
  2114. DO ix = 1 TO 5:
  2115. RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'H',
  2116. INPUT ExZeile, INPUT BAufko.Adresse[ix] ).
  2117. ExZeile = ExZeile + 1.
  2118. END.
  2119. END.
  2120. ELSE
  2121. DO:
  2122. DO ix = 7 TO 12:
  2123. RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'H',
  2124. INPUT ExZeile, INPUT BAdresse.Anschrift[ix] ).
  2125. ExZeile = ExZeile + 1.
  2126. END.
  2127. END.
  2128. ExZeile = ExZeile + 2.
  2129. cString = STRING(BAufko.Aufnr,'999999').
  2130. RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'C',
  2131. INPUT ExZeile, INPUT cString ).
  2132. ExZeile = ExZeile + 2.
  2133. cString = STRING(BAdresse.Knr,'999999') + '/' + XTelNr.
  2134. RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'C',
  2135. INPUT ExZeile, INPUT cString ).
  2136. RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'J',
  2137. INPUT ExZeile, INPUT BAufko.I_Best ).
  2138. ExZeile = ExZeile + 1.
  2139. cString = STRING(BAufko.Gewicht,'zzz9.99-Kg').
  2140. RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'C',
  2141. INPUT ExZeile, INPUT cString ).
  2142. RUN VERSANDART.
  2143. ExZeile = ExZeile + 1.
  2144. cString = STRING(BAufko.Lief_Dat,'99.99.9999') + ' /' + XVersand.
  2145. RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'C',
  2146. INPUT ExZeile, INPUT cString ).
  2147. cString = STRING(TODAY,'99.99.9999').
  2148. RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'K',
  2149. INPUT ExZeile, INPUT cString ).
  2150. ExZeile = 29.
  2151. Zelle = 'A1'.
  2152. excelAppl:Range(Zelle):SELECT.
  2153. cString = REPLACE(cDokument, 'xls', 'pdf').
  2154. cString = SEARCH(cString).
  2155. IF cString <> ? THEN
  2156. DO:
  2157. DO WHILE SEARCH(cString) <> ?:
  2158. ix = ETIME(TRUE).
  2159. OS-DELETE VALUE(cString) NO-ERROR.
  2160. DO WHILE ETIME(FALSE) < 100:
  2161. END.
  2162. END.
  2163. END.
  2164. cString = SESSION:GET-PRINTERS().
  2165. MESSAGE cString
  2166. VIEW-AS ALERT-BOX INFORMATION BUTTONS OK.
  2167. /*
  2168. DO ix = 1 TO NUM-ENTRIES(cString, ','):
  2169. IF INDEX(ENTRY(ix, cString, ','), 'PDF') = 0 THEN NEXT.
  2170. SESSION:PRINTER-NAME = ENTRY(ix, cString, ',').
  2171. LEAVE.
  2172. END.
  2173. cString = SESSION:PRINTER-NAME + ' auf ' + SESSION:PRINTER-PORT.
  2174. excelAppl:APPLICATION:ActivePrinter = cString NO-ERROR.
  2175. IF ERROR-STATUS:ERROR THEN DO:
  2176. cString = SESSION:PRINTER-NAME + ' on ' + SESSION:PRINTER-PORT.
  2177. excelAppl:APPLICATION:ActivePrinter = cString NO-ERROR.
  2178. END.
  2179. IF ERROR-STATUS:ERROR THEN DO:
  2180. excelAppl:VISIBLE = TRUE.
  2181. MESSAGE 'Kann ' SESSION:PRINTER-NAME ' auf ' SESSION:PRINTER-PORT
  2182. ' nicht dem Excel zuweisen ' VIEW-AS ALERT-BOX.
  2183. END.
  2184. ELSE DO:
  2185. excelAppl:ActiveWindow:SelectedSheets:PrintOut (1, TRUE).
  2186. END.
  2187. */
  2188. END PROCEDURE.
  2189. /* _UIB-CODE-BLOCK-END */
  2190. &ANALYZE-RESUME
  2191. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE EXCEL_PROFORMA C-Win
  2192. PROCEDURE EXCEL_PROFORMA :
  2193. /*------------------------------------------------------------------------------
  2194. Purpose:
  2195. Parameters: <none>
  2196. Notes:
  2197. ------------------------------------------------------------------------------*/
  2198. DEFINE VARIABLE cVorlage AS CHARACTER NO-UNDO.
  2199. DEFINE VARIABLE cDokument AS CHARACTER NO-UNDO.
  2200. DEFINE VARIABLE cDaten AS CHARACTER NO-UNDO.
  2201. DEFINE VARIABLE cPfad AS CHARACTER NO-UNDO.
  2202. DEFINE VARIABLE fSprcd AS INTEGER NO-UNDO.
  2203. FIND BAdresse USE-INDEX Adresse-k1
  2204. WHERE BAdresse.Firma = AdFirma
  2205. AND BAdresse.Knr = (IF BAufko.Fak_Knr > 0 THEN BAufko.Fak_Knr ELSE BAufko.Knr) NO-LOCK NO-ERROR.
  2206. FIND LAdresse USE-INDEX Adresse-k1
  2207. WHERE LAdresse.Firma = AdFirma
  2208. AND LAdresse.Knr = BAufko.Knr NO-LOCK NO-ERROR.
  2209. FIND LDebst USE-INDEX Debst-k1
  2210. WHERE LDebst.Firma = GVFirma
  2211. AND LDebst.Knr = BAufko.Knr NO-LOCK NO-ERROR.
  2212. FIND FDebst USE-INDEX Debst-k1
  2213. WHERE FDebst.Firma = GVFirma
  2214. AND FDebst.Knr = (IF BAufko.Fak_Knr > 0 THEN BAufko.Fak_Knr ELSE BAufko.Knr) NO-LOCK NO-ERROR.
  2215. FIND Wust USE-INDEX Wust-k1
  2216. WHERE Wust.CodeK = LDebst.MWST
  2217. AND Wust.CodeA = 99 NO-LOCK NO-ERROR.
  2218. iFirma = FDebst.Ku_Grp.
  2219. cFrw = FDebst.Frw.
  2220. LVSprcd = BAdresse.Sprcd.
  2221. fSprcd = (IF BAdresse.Sprcd = 1 THEN 1 ELSE 2).
  2222. iBesr = FDebst.BESR_Art.
  2223. VFak_Betr = 0.
  2224. DebInkl = FALSE.
  2225. IF AVAILABLE Wust THEN DebInkl = Wust.Incl.
  2226. IF SFaknr = 0 THEN
  2227. DO:
  2228. SFaknr = BAufko.Faknr.
  2229. REPEAT WHILE SFaknr = 0 TRANSACTION:
  2230. RUN steunr.p ( INPUT 2, OUTPUT VFaknr ).
  2231. IF RETURN-VALUE <> '' THEN NEXT.
  2232. SFaknr = VFaknr.
  2233. END.
  2234. END.
  2235. cPfad = SEARCH('NichtLoeschen.pdf').
  2236. IF cPfad = ? THEN cPfad = ''.
  2237. IF cPfad = '' THEN cPfad = SESSION:TEMP-DIR.
  2238. ELSE
  2239. DO:
  2240. FILE-INFO:FILE-NAME = cPfad.
  2241. cPfad = FILE-INFO:FULL-PATHNAME.
  2242. cPfad = REPLACE(cPfad, '\', '/').
  2243. cPfad = SUBSTRING(cPfad, 01, R-INDEX(cPfad, '/') - 1).
  2244. END.
  2245. cVorlage = 'Proforma_' + STRING(SFaknr,'999999') + '_' + STRING(BAdresse.Knr,'999999')
  2246. + '.xls'
  2247. + CHR(01)
  2248. + 'Proforma_' + STRING(BAufko.Ku_Grp,'99') + '_' + STRING(fSprcd,'99') + '_' + BAufko.Frw
  2249. + '.xls'
  2250. + CHR(01)
  2251. + cPfad.
  2252. RUN CREATEDATEI ( cVorlage ).
  2253. cDokument = RETURN-VALUE.
  2254. IF cDokument BEGINS 'ERROR' THEN RETURN 'ERROR'.
  2255. cDaten = SESSION:TEMP-DIR + 'Proforma_' + STRING(TIME,'999999') + '.txt'.
  2256. OUTPUT TO VALUE(cDaten).
  2257. IF BAufko.Fak_Knr <> BAufko.Knr THEN
  2258. DO:
  2259. PUT CONTROL LAdresse.Anzeig_br CHR(10)
  2260. '£' CHR(10).
  2261. END.
  2262. FOR EACH TAufze NO-LOCK
  2263. BY TAufze.Aufnr
  2264. BY TAufze.Sort1
  2265. BY TAufze.Sort2
  2266. BY TAufze.Sort3
  2267. BY TAufze.Artnr
  2268. BY TAufze.Inhalt
  2269. BY TAufze.Jahr
  2270. BY TAufze.Pos :
  2271. FIND Aufze WHERE RECID(Aufze) = TAufze.Zeile NO-LOCK.
  2272. RUN ARTIKELZEILE_PROFORMA_EXCEL.
  2273. VFak_Betr = VFak_Betr + Aufze.Net_Betr.
  2274. END.
  2275. PUT CONTROL '£' CHR(10).
  2276. CASE LVSprcd:
  2277. WHEN 1 THEN
  2278. PUT CONTROL '££Total££££££££££'.
  2279. OTHERWISE
  2280. PUT CONTROL '££Total££££££££££'.
  2281. END CASE.
  2282. PUT CONTROL STRING(VFak_Betr,"->>>>>>9.99") CHR(10)
  2283. '£' CHR(10).
  2284. /*
  2285. RUN SUMMENRABATTE.
  2286. { putstream.i "1" }
  2287. RUN GEBINDE_SALDO.
  2288. RUN GEBINDE_ABRECHNUNG.
  2289. */
  2290. RUN MEHRWERTSTEUER_EXCEL.
  2291. RUN ZAHLUNGSKONDITION_EXCEL ( BAufko.Sk_Ber ).
  2292. RUN SCHLUSS_TEXT_EXCEL.
  2293. OUTPUT CLOSE.
  2294. RUN EXCEL_PROFORMA_KOPF ( cDokument, cDaten ).
  2295. excelAppl:ActiveWorkbook:Close( TRUE ).
  2296. DYNAMIC-FUNCTION('RELEASEEXCEL':U, INPUT excelAppl ) NO-ERROR.
  2297. OS-DELETE VALUE(cDaten) NO-ERROR.
  2298. RUN KOPF_MUTATION.
  2299. END PROCEDURE.
  2300. /* _UIB-CODE-BLOCK-END */
  2301. &ANALYZE-RESUME
  2302. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE EXCEL_PROFORMA_KOPF C-Win
  2303. PROCEDURE EXCEL_PROFORMA_KOPF :
  2304. /*------------------------------------------------------------------------------
  2305. Purpose:
  2306. Parameters: <none>
  2307. Notes:
  2308. ------------------------------------------------------------------------------*/
  2309. DEFINE INPUT PARAMETER cDokument AS CHARACTER NO-UNDO.
  2310. DEFINE INPUT PARAMETER cDaten AS CHARACTER NO-UNDO.
  2311. DEFINE VARIABLE io AS LOG NO-UNDO.
  2312. DEFINE VARIABLE Zelle AS CHARACTER NO-UNDO.
  2313. DEFINE VARIABLE ix AS INTEGER NO-UNDO.
  2314. DEFINE VARIABLE ExZeile AS INTEGER NO-UNDO.
  2315. DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
  2316. DEFINE VARIABLE cSection AS CHARACTER NO-UNDO.
  2317. excelAppl = DYNAMIC-FUNCTION('CREATEEXCEL':U) NO-ERROR.
  2318. IF NOT VALID-HANDLE(excelAppl) THEN RETURN NO-APPLY.
  2319. RUN OPENEXCEL ( INPUT excelAppl, INPUT cDokument,
  2320. INPUT '', OUTPUT io ).
  2321. IF NOT io THEN
  2322. DO:
  2323. RUN RELEASEEXCEL ( INPUT excelAppl ).
  2324. RETURN NO-APPLY.
  2325. END.
  2326. excelAppl:VISIBLE = FALSE.
  2327. Zelle = 'A25'.
  2328. excelAppl:Range(Zelle):SELECT.
  2329. excelAppl:Selection:FormulaR1C1 = 'TEXT;' + cDaten.
  2330. excelAppl:APPLICATION:RUN ( 'DateiEinfuegen' ).
  2331. ExZeile = 10.
  2332. IF BAufko.Adresse[05] <> '' THEN
  2333. DO:
  2334. ExZeile = ExZeile + 1.
  2335. DO ix = 1 TO 5:
  2336. RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'I',
  2337. INPUT ExZeile, INPUT BAufko.Adresse[ix] ).
  2338. ExZeile = ExZeile + 1.
  2339. END.
  2340. END.
  2341. ELSE
  2342. DO:
  2343. DO ix = 7 TO 12:
  2344. RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'I',
  2345. INPUT ExZeile, INPUT BAdresse.Anschrift[ix] ).
  2346. ExZeile = ExZeile + 1.
  2347. END.
  2348. END.
  2349. ExZeile = ExZeile + 2.
  2350. cString = STRING(SFaknr,'999999').
  2351. RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'E',
  2352. INPUT ExZeile, INPUT cString ).
  2353. ExZeile = ExZeile + 2.
  2354. cString = STRING(BAufko.Aufnr,'999999').
  2355. RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'E',
  2356. INPUT ExZeile, INPUT cString ).
  2357. RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'J',
  2358. INPUT ExZeile, INPUT BAufko.I_Best ).
  2359. ExZeile = ExZeile + 1.
  2360. cString = STRING(BAufko.Knr,'999999').
  2361. RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'E',
  2362. INPUT ExZeile, INPUT cString ).
  2363. ExZeile = ExZeile + 1.
  2364. cString = STRING(FDatum,'99.99.9999').
  2365. RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'E',
  2366. INPUT ExZeile, INPUT cString ).
  2367. cString = STRING(TODAY,'99.99.9999').
  2368. RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'N',
  2369. INPUT ExZeile, INPUT cString ).
  2370. ExZeile = 29.
  2371. Zelle = 'A1'.
  2372. excelAppl:Range(Zelle):SELECT.
  2373. cString = REPLACE(cDokument, 'xls', 'pdf').
  2374. cString = SEARCH(cString).
  2375. IF cString <> ? THEN
  2376. DO:
  2377. DO WHILE SEARCH(cString) <> ?:
  2378. ix = ETIME(TRUE).
  2379. OS-DELETE VALUE(cString) NO-ERROR.
  2380. DO WHILE ETIME(FALSE) < 100:
  2381. END.
  2382. END.
  2383. END.
  2384. cString = SESSION:GET-PRINTERS().
  2385. DO ix = 1 TO NUM-ENTRIES(cString, ','):
  2386. IF INDEX(ENTRY(ix, cString, ','), 'ADPRPR001') = 0 THEN NEXT.
  2387. /* IF INDEX(ENTRY(ix, cString, ','), 'PDF') = 0 THEN NEXT. */
  2388. SESSION:PRINTER-NAME = ENTRY(ix, cString, ',').
  2389. LEAVE.
  2390. END.
  2391. cString = SESSION:PRINTER-NAME + ' auf ' + SESSION:PRINTER-PORT.
  2392. excelAppl:APPLICATION:ActivePrinter = cString NO-ERROR.
  2393. IF ERROR-STATUS:ERROR THEN
  2394. DO:
  2395. cString = SESSION:PRINTER-NAME + ' on ' + SESSION:PRINTER-PORT.
  2396. excelAppl:APPLICATION:ActivePrinter = cString NO-ERROR.
  2397. END.
  2398. IF ERROR-STATUS:ERROR THEN
  2399. DO:
  2400. excelAppl:VISIBLE = TRUE.
  2401. MESSAGE 'Kann ' SESSION:PRINTER-NAME ' auf ' SESSION:PRINTER-PORT
  2402. ' nicht dem Excel zuweisen ' VIEW-AS ALERT-BOX.
  2403. END.
  2404. ELSE
  2405. DO:
  2406. excelAppl:ActiveWindow:SelectedSheets:PrintOut (1, TRUE).
  2407. END.
  2408. END PROCEDURE.
  2409. /* _UIB-CODE-BLOCK-END */
  2410. &ANALYZE-RESUME
  2411. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE FAKTURA C-Win
  2412. PROCEDURE FAKTURA :
  2413. /*------------------------------------------------------------------------------
  2414. Purpose:
  2415. Parameters: <none>
  2416. Notes:
  2417. ------------------------------------------------------------------------------*/
  2418. RUN PROFORMA.
  2419. RETURN.
  2420. /* VSeite = 0. */
  2421. /* VFak_Betr = 0. */
  2422. /* LiKopf = TRUE. */
  2423. /* FPreis = TRUE. */
  2424. /* FBetrag = TRUE. */
  2425. /* FRabatt = TRUE. */
  2426. /* FUeber = TRUE. */
  2427. /* FSamm = FALSE. */
  2428. /* FLagOrt = FALSE. */
  2429. /* LiPos = 200. */
  2430. /* FoBreite = 2080. */
  2431. /* TiHoehe = 120. */
  2432. /* OCRB = BDrucker.DruFont [03]. */
  2433. /* Schacht3 = BDrucker.DruSchacht[03]. */
  2434. /* VKopfArt = 'PROFORMA_KOPF'. */
  2435. /* */
  2436. /* RUN VALUE(VKopfArt). */
  2437. /* */
  2438. /* LiefAdr = ''. */
  2439. /* IF BAufko.Knr <> BAufko.Fak_Knr THEN */
  2440. /* DO: */
  2441. /* FIND BAdresse USE-INDEX Adresse-k1 */
  2442. /* WHERE BAdresse.Firma = AdFirma */
  2443. /* AND BAdresse.Knr = BAufko.Knr NO-LOCK NO-ERROR. */
  2444. /* LiefAdr = BAdresse.Anzeig_Br. */
  2445. /* END. */
  2446. /* IF LiefAdr <> '' THEN */
  2447. /* DO: */
  2448. /* VZeile = LiefAdr. */
  2449. /* { putstreamf.i "2" } */
  2450. /* END. */
  2451. /* */
  2452. /* FOR EACH TAufze NO-LOCK */
  2453. /* BY TAufze.Aufnr */
  2454. /* BY TAufze.Sort1 */
  2455. /* BY TAufze.Sort2 */
  2456. /* BY TAufze.Sort3 */
  2457. /* BY TAufze.Artnr */
  2458. /* BY TAufze.Inhalt */
  2459. /* BY TAufze.Jahr */
  2460. /* BY TAufze.Pos : */
  2461. /* */
  2462. /* IF (BLiDruck.Listtzz - VLine - 6) < BLiDruck.Listfzz THEN */
  2463. /* DO: */
  2464. /* RUN VALUE(VKopfArt). */
  2465. /* END. */
  2466. /* */
  2467. /* FIND Aufze WHERE RECID(Aufze) = TAufze.Zeile NO-LOCK. */
  2468. /* */
  2469. /* RUN ARTIKELZEILE_LIEFERFAK. */
  2470. /* */
  2471. /* VFak_Betr = VFak_Betr + Aufze.Net_Betr. */
  2472. /* END. */
  2473. /* */
  2474. /* DYNAMIC-FUNCTION('schreibenLinie':U, LiPos, FoBreite) NO-ERROR.*/
  2475. /* { putstream.i "1" } */
  2476. /* */
  2477. /* SUBSTRING(VZeile,009) = TRIM(SUBSTRING(FormText[10],41,20)). */
  2478. /* SUBSTRING(VZeile,086) = STRING(VFak_Betr,"->>,>>9.99"). */
  2479. /* { putstreamf.i "1" } */
  2480. /* */
  2481. /* LiKopf = FALSE. */
  2482. /* */
  2483. /* RUN SUMMENRABATTE. */
  2484. /* */
  2485. /* { putstream.i "1" } */
  2486. /* */
  2487. /* RUN GEBINDE_SALDO. */
  2488. /* RUN GEBINDE_ABRECHNUNG. */
  2489. /* RUN MEHRWERTSTEUER. */
  2490. /* */
  2491. /* SUBSTRING(VZeile,086) = '=========='. */
  2492. /* { putstream.i "2" } */
  2493. /* FUeber = FALSE. */
  2494. /* */
  2495. /* RUN ZAHLUNGSKONDITION ( BAufko.Sk_Ber ). */
  2496. /* RUN GEBINDE_RUECKNAHME_TABELLE. */
  2497. /* IF VBesr = 0 THEN */
  2498. /* DO: */
  2499. /* RUN UMSATZVERTEILUNG. */
  2500. /* RUN SCHLUSS_TEXT. */
  2501. /* END. */
  2502. /* RUN KOPF_MUTATION. */
  2503. /* */
  2504. /* Rundbetr = VFak_Betr. */
  2505. /* VesrKnr = BAufko.Fak_Knr. */
  2506. /* VesrFnr = BAufko.Faknr. */
  2507. /* VBesrArt = 'VESR_DRUCK' + STRING(VBesr,"99"). */
  2508. /* IF Kondi.Skonto[01] <> 0 THEN Rundbetr = 0. */
  2509. /* IF VBesr > 0 THEN RUN VALUE(VBesrArt). */
  2510. END PROCEDURE.
  2511. /* _UIB-CODE-BLOCK-END */
  2512. &ANALYZE-RESUME
  2513. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE FAKTURA_KOPF C-Win
  2514. PROCEDURE FAKTURA_KOPF :
  2515. /*------------------------------------------------------------------------------
  2516. Purpose:
  2517. Parameters: <none>
  2518. Notes:
  2519. ------------------------------------------------------------------------------*/
  2520. DEFINE VARIABLE cWochentag AS CHARACTER NO-UNDO
  2521. INIT 'Sonntag,Montag,Dienstag,Mittwoch,Donnerstag,Freitag,Samstag'.
  2522. RUN NEUE_SEITE.
  2523. IF VSeite = 1 THEN
  2524. DO:
  2525. IF SFaknr = 0 THEN
  2526. DO:
  2527. SFaknr = BAufko.Faknr.
  2528. REPEAT WHILE SFaknr = 0 TRANSACTION:
  2529. RUN steunr.p ( INPUT 2, OUTPUT VFaknr ).
  2530. IF RETURN-VALUE <> '' THEN NEXT.
  2531. SFaknr = VFaknr.
  2532. END.
  2533. END.
  2534. FIND Adresse USE-INDEX Adresse-k1
  2535. WHERE Adresse.Firma = AdFirma
  2536. AND Adresse.Knr = (IF BAufko.Fak_Knr > 0 THEN BAufko.Fak_Knr ELSE BAufko.Knr) NO-LOCK NO-ERROR.
  2537. FIND LDebst USE-INDEX Debst-k1
  2538. WHERE LDebst.Firma = GVFirma
  2539. AND LDebst.Knr = BAufko.Knr NO-LOCK NO-ERROR.
  2540. FIND FDebst USE-INDEX Debst-k1
  2541. WHERE FDebst.Firma = GVFirma
  2542. AND FDebst.Knr = (IF BAufko.Fak_Knr > 0 THEN BAufko.Fak_Knr ELSE BAufko.Knr) NO-LOCK NO-ERROR.
  2543. FIND Wust USE-INDEX Wust-k1
  2544. WHERE Wust.CodeK = LDebst.MWST
  2545. AND Wust.CodeA = 99 NO-LOCK NO-ERROR.
  2546. LVSprcd = Adresse.Sprcd.
  2547. iBesr = FDebst.BESR_Art.
  2548. DebInkl = FALSE.
  2549. IF AVAILABLE Wust THEN DebInkl = Wust.Incl.
  2550. XTelnr = ''.
  2551. IF DebInkl THEN
  2552. DO:
  2553. IF Adresse.Tel-2 <> '' THEN XTelnr = Adresse.Tel-2.
  2554. ELSE XTelnr = Adresse.Tel-1.
  2555. END.
  2556. ELSE
  2557. DO:
  2558. IF Adresse.Tel-1 <> '' THEN XTelnr = Adresse.Tel-1.
  2559. ELSE XTelnr = Adresse.Tel-2.
  2560. END.
  2561. END.
  2562. F_Seite = VSeite.
  2563. F_Faknr = SFaknr.
  2564. DISPLAY F_Seite
  2565. F_Faknr WITH FRAME {&FRAME-NAME}.
  2566. FIND Femeld NO-LOCK USE-INDEX Femeld-k1
  2567. WHERE Femeld.Sprcd = LVSprcd
  2568. AND Femeld.FeNr = 1100 NO-ERROR.
  2569. IF NOT AVAILABLE Femeld THEN
  2570. DO:
  2571. FIND Femeld NO-LOCK USE-INDEX Femeld-k1
  2572. WHERE Femeld.Sprcd = 1
  2573. AND Femeld.FeNr = 1100 NO-ERROR.
  2574. END.
  2575. IF AVAILABLE Femeld AND
  2576. Femeld.FeText <> '' THEN cWochentag = Femeld.FeText.
  2577. VZeile = ''.
  2578. { putstream.i BLiDruck.Listkzz }.
  2579. IF BAufko.Adresse[05] <> '' THEN
  2580. DO:
  2581. { putstream.i 1 }
  2582. DO ix = 1 TO 5:
  2583. SUBSTRING(VZeile,060) = BAufko.Adresse[ix].
  2584. IF ix = 5 THEN
  2585. DO: { putstreamf.i "1" }.
  2586. END.
  2587. ELSE
  2588. DO: { putstream.i "1" }.
  2589. END.
  2590. END.
  2591. END.
  2592. ELSE
  2593. DO:
  2594. DO ix = 6 TO 11:
  2595. SUBSTRING(VZeile,060) = Adresse.Anschrift[ix].
  2596. IF ix = 11 THEN
  2597. DO: { putstreamf.i "1" }.
  2598. END.
  2599. ELSE
  2600. DO: { putstream.i "1" }.
  2601. END.
  2602. END.
  2603. END.
  2604. { putstream.i "2" }
  2605. SUBSTRING(VZeile,001) = BDrucker.Dru12cpi
  2606. + BDrucker.DruFettb
  2607. + TRIM(SUBSTRING(FormText[02],01,20))
  2608. + STRING(SFaknr,"z999999")
  2609. + " /"
  2610. + STRING(VSeite,"zz9")
  2611. + BDrucker.DruFont[06].
  2612. IF VSeite = 1 THEN
  2613. DO:
  2614. { putstreamf.i "1" }
  2615. END.
  2616. ELSE
  2617. DO:
  2618. { putstreamf.i "2" }
  2619. END.
  2620. DO WHILE VSeite = 1:
  2621. SUBSTRING(VZeile,001) = TRIM(SUBSTRING(FormText[18],01,20))
  2622. + " "
  2623. + BSteuer.MWST_Nr.
  2624. { putstream.i "1" }
  2625. SUBSTRING(VZeile,001) = TRIM(SUBSTRING(FormText[17],21,20))
  2626. + " "
  2627. + STRING(BAufko.Aufnr,'999999').
  2628. { putstream.i "2" }
  2629. RUN VERSANDART.
  2630. SUBSTRING(VZeile,001) = TRIM (SUBSTRING(FormText[08],01,20))
  2631. + ' '
  2632. + STRING(BAufko.Knr,"999999")
  2633. + ' / '
  2634. + XTelnr.
  2635. SUBSTRING(VZeile,060) = TRIM (SUBSTRING(FormText[07],01,20))
  2636. + ' '
  2637. + STRING(FDatum,"99.99.9999").
  2638. { putstream.i "2" }
  2639. SUBSTRING(VZeile,001) = TRIM(SUBSTRING(FormText[22],01,20))
  2640. + " "
  2641. + BAufko.U_Ref.
  2642. { putstream.i "1" }
  2643. IF BAufko.I_Best <> '' THEN
  2644. DO:
  2645. SUBSTRING(VZeile,001) = TRIM(SUBSTRING(FormText[07],21,20))
  2646. + " "
  2647. + BAufko.I_Best.
  2648. { putstream.i "1" }
  2649. END.
  2650. SUBSTRING(VZeile,001) = TRIM(SUBSTRING(FormText[07],41,20))
  2651. + " "
  2652. + ENTRY(WEEKDAY(BAufko.Auf_Datum), cWochentag, ',')
  2653. + ", "
  2654. + STRING(BAufko.Auf_Datum,"99.99.9999").
  2655. { putstream.i "1" }
  2656. SUBSTRING(VZeile,001) = TRIM(SUBSTRING(FormText[09],21,20))
  2657. + " "
  2658. + ENTRY(WEEKDAY(BAufko.Lief_Datum), cWochentag, ',')
  2659. + ", "
  2660. + STRING(BAufko.Lief_Datum,"99.99.9999").
  2661. SUBSTRING(VZeile,060) = TRIM(SUBSTRING(FormText[09],01,20))
  2662. + " "
  2663. + XVersand.
  2664. { putstream.i "1" }
  2665. LEAVE.
  2666. END.
  2667. IF LiKopf THEN
  2668. DO:
  2669. DYNAMIC-FUNCTION('schreibenUeberschrift':U, LiPos, FoBreite, TiHoehe) NO-ERROR.
  2670. { putstream.i "1" }
  2671. SUBSTRING(VZeile,001) = FormText[03].
  2672. SUBSTRING(VZeile,071) = FormText[04].
  2673. { putstreamf.i "1" }
  2674. SUBSTRING(VZeile,001) = FormText[05].
  2675. SUBSTRING(VZeile,071) = FormText[06].
  2676. { putstreamf.i "2" }
  2677. END.
  2678. ELSE
  2679. DO:
  2680. { putstream.i "1" }
  2681. END.
  2682. IF VSeite > 1 AND
  2683. FUeber = TRUE THEN
  2684. DO:
  2685. SUBSTRING(VZeile,009) = TRIM(SUBSTRING(FormText[09],41,20)).
  2686. SUBSTRING(VZeile,086) = STRING(VFak_Betr,"->>,>>9.99").
  2687. { putstreamf.i "2" }
  2688. END.
  2689. END PROCEDURE.
  2690. /* _UIB-CODE-BLOCK-END */
  2691. &ANALYZE-RESUME
  2692. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE GEBINDE_ABRECHNUNG C-Win
  2693. PROCEDURE GEBINDE_ABRECHNUNG :
  2694. /*------------------------------------------------------------------------------
  2695. Purpose:
  2696. Parameters: <none>
  2697. Notes:
  2698. ------------------------------------------------------------------------------*/
  2699. Zuszz = 0.
  2700. fZeiDruck = FALSE.
  2701. FOR EACH AufGKon USE-INDEX AufGKon-k1
  2702. WHERE AufGKon.Firma = BAufko.Firma
  2703. AND AufGKon.Aufnr = BAufko.Aufnr
  2704. AND AufGKon.Depot <> 0 NO-LOCK:
  2705. IF AufGKon.Eingang = 0 AND
  2706. AufGKon.Ausgang = 0 THEN NEXT.
  2707. Zuszz = Zuszz + 1.
  2708. END.
  2709. Ja = FALSE.
  2710. IF Zuszz > 0 THEN
  2711. DO:
  2712. Zuszz = Zuszz + 6.
  2713. Ja = TRUE.
  2714. END.
  2715. IF (BLiDruck.Listtzz - VLine - Zuszz) < BLiDruck.Listfzz THEN
  2716. DO:
  2717. RUN VALUE(VKopfArt).
  2718. END.
  2719. i5 = 0.
  2720. VZTot = 0.
  2721. IF Ja THEN
  2722. DO:
  2723. SUBSTRING(VZeile,009) = FormText[12].
  2724. SUBSTRING(VZeile,079) = FormText[13].
  2725. { putstreamf.i "1" }
  2726. fZeiDruck = TRUE.
  2727. END.
  2728. FOR EACH AufGKon USE-INDEX AufGKon-k1
  2729. WHERE AufGKon.Firma = BAufko.Firma
  2730. AND AufGKon.Aufnr = BAufko.Aufnr
  2731. AND AufGKon.Depot <> 0 NO-LOCK:
  2732. IF AufGKon.Eingang = 0 AND
  2733. AufGKon.Ausgang = 0 THEN NEXT.
  2734. FIND GebKonto USE-INDEX GebKonto-k1
  2735. WHERE GebKonto.Firma = GVFirma
  2736. AND GebKonto.Geb_Cd = AufGKon.Geb_Cd NO-LOCK.
  2737. i1 = AufGKon.Ausgang - AufGKon.Eingang.
  2738. Rundbetr = AufGKon.Betrag.
  2739. VWC = AufGKon.MWSt_Cd.
  2740. VZTot = VZTot + Rundbetr.
  2741. SUBSTRING(VZeile,009) = GebKonto.Bez.
  2742. SUBSTRING(VZeile,042) = STRING(AufGKon.Ausgang,"->>,>>9").
  2743. SUBSTRING(VZeile,053) = STRING(AufGKon.Eingang,"->>,>>9").
  2744. SUBSTRING(VZeile,063) = STRING(i1 ,"->>,>>9").
  2745. SUBSTRING(VZeile,073) = STRING(Rundbetr ,"->>,>>9.99").
  2746. SUBSTRING(VZeile,097) = STRING(VWC ,"z9").
  2747. { putstream.i "1" }
  2748. i5 = i5 + 1.
  2749. fZeiDruck = TRUE.
  2750. FIND FIRST TUmsGrp WHERE TUmsGrp.Ums_Grp = 1001 NO-ERROR.
  2751. IF NOT AVAILABLE TUmsGrp THEN
  2752. DO:
  2753. FIND WarenGrp USE-INDEX WarenGrp-k1
  2754. WHERE WarenGrp.Firma = GVFirma
  2755. AND WarenGrp.Wgr = 1001 NO-LOCK NO-ERROR.
  2756. CREATE TUmsGrp.
  2757. ASSIGN
  2758. TUmsGrp.Ums_Grp = 1001
  2759. TUmsGrp.Bez = 'Gebindesaldo'.
  2760. END.
  2761. TUmsGrp.Ums_Betr = TUmsGrp.Ums_Betr + AufGKon.Betrag.
  2762. END.
  2763. IF i5 > 0 THEN
  2764. DO:
  2765. SUBSTRING(VZeile,040) = TRIM(SUBSTRING(FormText[11],21,20)).
  2766. SUBSTRING(VZeile,086) = STRING(VZTot,"->>,>>9.99").
  2767. { putstream.i "1" }
  2768. VFak_Betr = VFak_Betr + VZTot.
  2769. END.
  2770. IF NOT FSamm AND
  2771. fZeiDruck THEN
  2772. DO:
  2773. DYNAMIC-FUNCTION('schreibenLinie':U, 200, 2080) NO-ERROR.
  2774. { putstream.i "1" }
  2775. SUBSTRING(VZeile,009) = TRIM(SUBSTRING(FormText[15],21,20)).
  2776. SUBSTRING(VZeile,086) = STRING(VFak_Betr,"->>,>>9.99").
  2777. { putstreamf.i "1" }
  2778. DYNAMIC-FUNCTION('schreibenLinie':U, 200, 2080) NO-ERROR.
  2779. { putstream.i "1" }
  2780. END.
  2781. END PROCEDURE.
  2782. /* _UIB-CODE-BLOCK-END */
  2783. &ANALYZE-RESUME
  2784. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE GEBINDE_ABRECHNUNG_KASSE C-Win
  2785. PROCEDURE GEBINDE_ABRECHNUNG_KASSE :
  2786. /*------------------------------------------------------------------------------
  2787. Purpose:
  2788. Parameters: <none>
  2789. Notes:
  2790. ------------------------------------------------------------------------------*/
  2791. i5 = 0.
  2792. VZTot = 0.
  2793. SUBSTRING(VZeile,001) = FormText[12].
  2794. { putstreamf.i "1" }
  2795. FOR EACH AufGKon USE-INDEX AufGKon-k1
  2796. WHERE AufGKon.Firma = BAufko.Firma
  2797. AND AufGKon.Aufnr = BAufko.Aufnr
  2798. AND AufGKon.Depot <> 0 NO-LOCK:
  2799. IF AufGKon.Eingang = 0 AND
  2800. AufGKon.Ausgang = 0 THEN NEXT.
  2801. FIND GebKonto USE-INDEX GebKonto-k1
  2802. WHERE GebKonto.Firma = GVFirma
  2803. AND GebKonto.Geb_Cd = AufGKon.Geb_Cd NO-LOCK.
  2804. i1 = AufGKon.Ausgang - AufGKon.Eingang.
  2805. Rundbetr = AufGKon.Betrag.
  2806. VWC = AufGKon.MWSt_Cd.
  2807. VZTot = VZTot + Rundbetr.
  2808. SUBSTRING(VZeile,001) = STRING(GebKonto.Bez,"x(10)").
  2809. SUBSTRING(VZeile,011) = STRING(AufGKon.Ausgang,"->>>9").
  2810. SUBSTRING(VZeile,017) = STRING(AufGKon.Eingang,"->>>9").
  2811. SUBSTRING(VZeile,023) = STRING(i1 ,"->>>9").
  2812. SUBSTRING(VZeile,029) = STRING(Rundbetr ,"->>>9.99").
  2813. SUBSTRING(VZeile,039) = STRING(VWC ,"z9").
  2814. { putstream.i "1" }
  2815. i5 = i5 + 1.
  2816. FIND FIRST TUmsGrp WHERE TUmsGrp.Ums_Grp = 1001 NO-ERROR.
  2817. IF NOT AVAILABLE TUmsGrp THEN
  2818. DO:
  2819. FIND WarenGrp USE-INDEX WarenGrp-k1
  2820. WHERE WarenGrp.Firma = GVFirma
  2821. AND WarenGrp.Wgr = 1001 NO-LOCK NO-ERROR.
  2822. CREATE TUmsGrp.
  2823. ASSIGN
  2824. TUmsGrp.Ums_Grp = 1001
  2825. TUmsGrp.Bez = 'Gebindesaldo'.
  2826. END.
  2827. TUmsGrp.Ums_Betr = TUmsGrp.Ums_Betr + AufGKon.Betrag.
  2828. END.
  2829. IF i5 > 0 THEN
  2830. DO:
  2831. SUBSTRING(VZeile,001) = TRIM(SUBSTRING(FormText[11],21,20)).
  2832. SUBSTRING(VZeile,029) = STRING(VZTot,"->>>9.99").
  2833. { putstream.i "1" }
  2834. VFak_Betr = VFak_Betr + VZTot.
  2835. END.
  2836. END PROCEDURE.
  2837. /* _UIB-CODE-BLOCK-END */
  2838. &ANALYZE-RESUME
  2839. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE GEBINDE_LIEFERUNG C-Win
  2840. PROCEDURE GEBINDE_LIEFERUNG :
  2841. /*------------------------------------------------------------------------------
  2842. Purpose:
  2843. Parameters: <none>
  2844. Notes:
  2845. ------------------------------------------------------------------------------*/
  2846. Zuszz = 0.
  2847. FOR EACH TGebKto NO-LOCK:
  2848. Zuszz = Zuszz + 1.
  2849. END.
  2850. IF Zuszz > 0 THEN Zuszz = Zuszz + 2.
  2851. Zuszz = (Zuszz + 1) / 2.
  2852. IF (BLiDruck.Listtzz - VLine - Zuszz) < BLiDruck.Listfzz THEN
  2853. DO:
  2854. RUN VALUE(VKopfArt).
  2855. END.
  2856. i5 = 0.
  2857. VZTot = 0.
  2858. SUBSTRING(VZeile,001) = BDrucker.DruUnterB
  2859. + TRIM(SUBSTRING(FormText[10],01,20))
  2860. + BDrucker.DruUnterE.
  2861. { putstream.i "2" }
  2862. i1 = 1.
  2863. i2 = 0.
  2864. FOR EACH TGebKto BY TGebKto.Sort_Cd
  2865. BY TGebKto.Geb_Cd :
  2866. i2 = i2 + 1.
  2867. IF i2 MOD 2 = 0 THEN i1 = 41.
  2868. ELSE i1 = 01.
  2869. SUBSTRING(VZeile,i1) = STRING(TGebKto.A_Anz,"->>>>9")
  2870. + " "
  2871. + STRING(TGebKto.Bez,"x(30)").
  2872. IF i1 > 30 THEN
  2873. DO:
  2874. { putstream.i "1" }
  2875. i5 = i5 + 1.
  2876. END.
  2877. END.
  2878. IF VZeile <> '' THEN
  2879. DO:
  2880. { putstream.i "1" }
  2881. i5 = i5 + 1.
  2882. END.
  2883. DYNAMIC-FUNCTION('schreibenLinie':U, LiPos, FoBreite) NO-ERROR.
  2884. IF i5 > 0 THEN
  2885. DO:
  2886. { putstream.i "1" }
  2887. END.
  2888. END PROCEDURE.
  2889. /* _UIB-CODE-BLOCK-END */
  2890. &ANALYZE-RESUME
  2891. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE GEBINDE_RUECKNAHME_TABELLE C-Win
  2892. PROCEDURE GEBINDE_RUECKNAHME_TABELLE :
  2893. /*------------------------------------------------------------------------------
  2894. Purpose:
  2895. Parameters: <none>
  2896. Notes:
  2897. ------------------------------------------------------------------------------*/
  2898. DEFINE VARIABLE cTextArt AS CHARACTER NO-UNDO.
  2899. cTextArt = 'GEBINDERETOUR' + STRING(FakArt,'99').
  2900. FIND TabTexte USE-INDEX TabTexte-k1
  2901. WHERE TabTexte.Firma = GVFirma
  2902. AND TabTexte.TextArt = cTextArt
  2903. AND TabTexte.Sprcd = LVSprcd NO-LOCK NO-ERROR.
  2904. IF NOT AVAILABLE TabTexte THEN RETURN.
  2905. VTabTexte = TabTexte.Inhalt.
  2906. Zuszz = NUM-ENTRIES(VTabTexte, CHR(10)).
  2907. IF Zuszz > 0 THEN Zuszz = Zuszz + 2.
  2908. IF (BLiDruck.Listtzz - VLine - Zuszz) < BLiDruck.Listfzz THEN
  2909. DO:
  2910. RUN VALUE(VKopfArt).
  2911. END.
  2912. DO ix = 1 TO NUM-ENTRIES(VTabTexte, CHR(10)):
  2913. VZeile = ENTRY(ix, VTabTexte, CHR(10)).
  2914. IF ix = 1 THEN
  2915. DO:
  2916. VZeile = TRIM(BDrucker.DruUnterB)
  2917. + VZeile
  2918. + TRIM(BDrucker.DruUnterE).
  2919. END.
  2920. ELSE
  2921. DO:
  2922. VZeile = TRIM(BDrucker.DruUnterE)
  2923. + VZeile.
  2924. END.
  2925. { putstream.i "1" }
  2926. END.
  2927. END PROCEDURE.
  2928. /* _UIB-CODE-BLOCK-END */
  2929. &ANALYZE-RESUME
  2930. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE GEBINDE_SALDO C-Win
  2931. PROCEDURE GEBINDE_SALDO :
  2932. /*------------------------------------------------------------------------------
  2933. Purpose:
  2934. Parameters: <none>
  2935. Notes:
  2936. ------------------------------------------------------------------------------*/
  2937. FOR EACH AufGKon USE-INDEX AufGKon-k1
  2938. WHERE AufGKon.Firma = BAufko.Firma
  2939. AND AufGKon.Aufnr = BAufko.Aufnr
  2940. AND AufGKon.Depot <> 0
  2941. AND AufGKon.Betrag <> 0 NO-LOCK:
  2942. FIND FIRST TGebKto WHERE TGebKto.Geb_Cd = AufGKon.Geb_Cd NO-ERROR.
  2943. IF NOT AVAILABLE TGebKto THEN
  2944. DO:
  2945. FIND GebKonto USE-INDEX GebKonto-k1
  2946. WHERE GebKonto.Firma = AufGKon.Firma
  2947. AND GebKonto.Geb_Cd = AufGKon.Geb_Cd NO-LOCK.
  2948. CREATE TGebKto.
  2949. ASSIGN
  2950. TGebKto.Sort_Cd = GebKonto.Sort_Cd
  2951. TGebKto.Geb_Cd = GebKonto.Geb_Cd
  2952. TGebKto.Bez = GebKonto.Bez
  2953. TGebKto.Preis = AufGKon.Depot
  2954. TGebKto.MWST_Cd = AufGKon.MWSt_Cd.
  2955. END.
  2956. TGebKto.A_Anz = TGebKto.A_Anz + AufGKon.Ausgang.
  2957. TGebKto.A_Betrag = TGebKto.A_Anz * TGebKto.Preis.
  2958. TGebKto.E_Anz = TGebKto.E_Anz + AufGKon.Eingang.
  2959. TGebKto.E_Betrag = TGebKto.E_Anz * TGebKto.Preis.
  2960. END.
  2961. END PROCEDURE.
  2962. /* _UIB-CODE-BLOCK-END */
  2963. &ANALYZE-RESUME
  2964. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE KOPF_MUTATION C-Win
  2965. PROCEDURE KOPF_MUTATION :
  2966. /*------------------------------------------------------------------------------
  2967. Purpose:
  2968. Parameters: <none>
  2969. Notes:
  2970. ------------------------------------------------------------------------------*/
  2971. DO TRANSACTION WHILE TRUE:
  2972. FIND Tabel USE-INDEX Tabel-k1
  2973. WHERE Tabel.Firma = GVFirma
  2974. AND Tabel.RecArt = 'FAKART'
  2975. AND Tabel.CodeC = ''
  2976. AND Tabel.CodeI = BAufko.Fak_Art
  2977. AND Tabel.Sprcd = 1 NO-LOCK NO-ERROR.
  2978. IF Tabel.Int_3 > 2 THEN
  2979. DO:
  2980. FIND Aufko WHERE RECID(Aufko) = RECID(BAufko).
  2981. Aufko.Fak_Datum = FDatum.
  2982. Aufko.Faknr = SFaknr.
  2983. RELEASE Aufko.
  2984. END.
  2985. RUN AUFTRAG_GEDRUCKT ( INPUT BAufko.Aufnr ).
  2986. RELEASE Aufko.
  2987. LEAVE.
  2988. END.
  2989. FIND Aufko WHERE RECID(Aufko) = RECID(BAufko) NO-LOCK.
  2990. END PROCEDURE.
  2991. /* _UIB-CODE-BLOCK-END */
  2992. &ANALYZE-RESUME
  2993. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LIBILD C-Win
  2994. PROCEDURE LIBILD :
  2995. /*------------------------------------------------------------------------------
  2996. Purpose:
  2997. Parameters: <none>
  2998. Notes:
  2999. ------------------------------------------------------------------------------*/
  3000. DEFINE VARIABLE VProgName AS CHARACTER NO-UNDO.
  3001. VProgName = BSteuer.Fwc10 + ":" + VDokArt.
  3002. FormText = "".
  3003. FOR EACH LiBild USE-INDEX LiBild-k1
  3004. WHERE LiBild.Sprcd = GVSprcd
  3005. AND LiBild.Prog = VProgname
  3006. AND LiBild.Tenr > 0 NO-LOCK
  3007. ix = 1 TO 40:
  3008. FormText[ix] = LiBild.Litext.
  3009. END.
  3010. Fuell = SUBSTRING(FormText[01],01,01).
  3011. Breite = INTEGER(SUBSTRING(FormText[01],02,03)).
  3012. VRand = INTEGER(SUBSTRING(FormText[01],68,03)).
  3013. Dattxt = SUBSTRING(FormText[01],05,10).
  3014. Seitxt = SUBSTRING(FormText[01],15,10).
  3015. Zeitxt = SUBSTRING(FormText[01],25,10).
  3016. Firtxt = SUBSTRING(FormText[01],35,10).
  3017. Jahtxt = SUBSTRING(FormText[01],45,10).
  3018. Ueber1 = "".
  3019. Ueber2 = "".
  3020. Ueber3 = "".
  3021. ap = 1.
  3022. XDruDat = ?.
  3023. VRabText = TRIM(SUBSTRING(FormText[21],01,20)).
  3024. VZusText = TRIM(SUBSTRING(FormText[21],21,20)).
  3025. VEpzText = TRIM(SUBSTRING(FormText[21],41,20)).
  3026. SUBSTRING(VZeile,001) = FormText[05].
  3027. SUBSTRING(VZeile,071) = FormText[06].
  3028. StBreite = LENGTH(VZeile).
  3029. RZeile = FILL('|', Breite).
  3030. SUBSTRING(RZeile,001) = STRING(' ',"x(06)").
  3031. SUBSTRING(RZeile,008) = STRING(' ',"x(03)").
  3032. SUBSTRING(RZeile,012) = STRING(' ',"x(08)").
  3033. SUBSTRING(RZeile,021) = STRING(' ',"x(05)").
  3034. SUBSTRING(RZeile,027) = STRING(' ',"x(08)").
  3035. SUBSTRING(RZeile,036) = STRING(' ',"x(30)").
  3036. SUBSTRING(RZeile,067) = STRING(' ',"x(02)").
  3037. SUBSTRING(RZeile,070) = STRING(' ',"x(07)").
  3038. SUBSTRING(RZeile,078) = STRING(' ',"x(10)").
  3039. SUBSTRING(RZeile,089) = STRING(' ',"x(02)").
  3040. RZeile = SUBSTRING(RZeile,01,StBreite).
  3041. VZeile = ''.
  3042. END PROCEDURE.
  3043. /* _UIB-CODE-BLOCK-END */
  3044. &ANALYZE-RESUME
  3045. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LIEFERBEDINGUNG C-Win
  3046. PROCEDURE LIEFERBEDINGUNG :
  3047. /*------------------------------------------------------------------------------
  3048. Purpose:
  3049. Parameters: <none>
  3050. Notes:
  3051. ------------------------------------------------------------------------------*/
  3052. XLieferbed = ''.
  3053. FIND Tabel USE-INDEX Tabel-k1
  3054. WHERE Tabel.Firma = GVFirma
  3055. AND Tabel.RecArt = 'LIEFBED'
  3056. AND Tabel.CodeC = ''
  3057. AND Tabel.CodeI = BAufko.Lief_Bed
  3058. AND Tabel.Sprcd = 1 NO-LOCK NO-ERROR.
  3059. IF AVAILABLE Tabel THEN XLieferbed = Tabel.Bez1.
  3060. END PROCEDURE.
  3061. /* _UIB-CODE-BLOCK-END */
  3062. &ANALYZE-RESUME
  3063. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LIEFERFAK C-Win
  3064. PROCEDURE LIEFERFAK :
  3065. /*------------------------------------------------------------------------------
  3066. Purpose:
  3067. Parameters: <none>
  3068. Notes:
  3069. ------------------------------------------------------------------------------*/
  3070. VSeite = 0.
  3071. VFak_Betr = 0.
  3072. LiKopf = TRUE.
  3073. FPreis = TRUE.
  3074. FBetrag = TRUE.
  3075. FRabatt = TRUE.
  3076. FUeber = TRUE.
  3077. FSamm = FALSE.
  3078. FLagOrt = FALSE.
  3079. LiPos = 200.
  3080. FoBreite = 2080.
  3081. TiHoehe = 120.
  3082. VKopfArt = 'LIEFERFAK_KOPF'.
  3083. OCRB = BDrucker.DruFont [03].
  3084. Schacht3 = BDrucker.DruSchacht[03].
  3085. RUN VALUE(VKopfArt).
  3086. FOR EACH TAufze NO-LOCK
  3087. BY TAufze.Aufnr
  3088. BY TAufze.Sort1
  3089. BY TAufze.Sort2
  3090. BY TAufze.Sort3
  3091. BY TAufze.Artnr
  3092. BY TAufze.Inhalt
  3093. BY TAufze.Jahr
  3094. BY TAufze.Pos :
  3095. IF (BLiDruck.Listtzz - VLine - 2) < BLiDruck.Listfzz THEN
  3096. DO:
  3097. RUN VALUE(VKopfArt).
  3098. END.
  3099. FIND Aufze WHERE RECID(Aufze) = TAufze.Zeile NO-LOCK.
  3100. RUN ARTIKELZEILE_LIEFERFAK.
  3101. VFak_Betr = VFak_Betr + Aufze.Net_Betr.
  3102. END.
  3103. DYNAMIC-FUNCTION('schreibenLinie':U, LiPos, FoBreite) NO-ERROR.
  3104. { putstream.i "1" }
  3105. SUBSTRING(VZeile,009) = TRIM(SUBSTRING(FormText[10],41,20)).
  3106. SUBSTRING(VZeile,086) = STRING(VFak_Betr,"->>,>>9.99").
  3107. { putstreamf.i "1" }
  3108. LiKopf = FALSE.
  3109. RUN SUMMENRABATTE.
  3110. { putstream.i "1" }
  3111. RUN GEBINDE_SALDO.
  3112. RUN GEBINDE_ABRECHNUNG.
  3113. RUN MEHRWERTSTEUER.
  3114. { putstream.i "1" }
  3115. SUBSTRING(VZeile,040) = TRIM(SUBSTRING(FormText[18],21,20)).
  3116. SUBSTRING(VZeile,086) = "__________".
  3117. { putstreamf.i "2" }
  3118. SUBSTRING(VZeile,040) = TRIM(SUBSTRING(FormText[18],41,20)).
  3119. SUBSTRING(VZeile,086) = "__________".
  3120. { putstreamf.i "1" }
  3121. RUN ZAHLUNGSKONDITION ( BAufko.Sk_Ber ).
  3122. RUN GEBINDE_RUECKNAHME_TABELLE.
  3123. RUN SCHLUSS_TEXT.
  3124. RUN KOPF_MUTATION.
  3125. VesrKnr = BAufko.Fak_Knr.
  3126. VesrFnr = BAufko.Faknr.
  3127. Rundbetr = 0.
  3128. VBesrArt = 'VESR_DRUCK' + STRING(VBesr,"99").
  3129. IF VBesr > 0 THEN RUN VALUE(VBesrArt).
  3130. END PROCEDURE.
  3131. /* _UIB-CODE-BLOCK-END */
  3132. &ANALYZE-RESUME
  3133. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LIEFERFAK_KOPF C-Win
  3134. PROCEDURE LIEFERFAK_KOPF :
  3135. /*------------------------------------------------------------------------------
  3136. Purpose:
  3137. Parameters: <none>
  3138. Notes:
  3139. ------------------------------------------------------------------------------*/
  3140. DEFINE VARIABLE cWochentag AS CHARACTER NO-UNDO
  3141. INIT 'Sonntag,Montag,Dienstag,Mittwoch,Donnerstag,Freitag,Samstag'.
  3142. RUN NEUE_SEITE.
  3143. IF VSeite = 1 THEN
  3144. DO:
  3145. IF SFaknr = 0 THEN
  3146. DO:
  3147. SFaknr = BAufko.Faknr.
  3148. REPEAT WHILE SFaknr = 0 TRANSACTION:
  3149. RUN steunr.p ( INPUT 2, OUTPUT VFaknr ).
  3150. IF RETURN-VALUE <> '' THEN NEXT.
  3151. SFaknr = VFaknr.
  3152. END.
  3153. END.
  3154. FIND Adresse USE-INDEX Adresse-k1
  3155. WHERE Adresse.Firma = AdFirma
  3156. AND Adresse.Knr = (IF BAufko.Fak_Knr > 0 THEN BAufko.Fak_Knr ELSE BAufko.Knr) NO-LOCK NO-ERROR.
  3157. FIND LDebst USE-INDEX Debst-k1
  3158. WHERE LDebst.Firma = GVFirma
  3159. AND LDebst.Knr = BAufko.Knr NO-LOCK NO-ERROR.
  3160. FIND FDebst USE-INDEX Debst-k1
  3161. WHERE FDebst.Firma = GVFirma
  3162. AND FDebst.Knr = (IF BAufko.Fak_Knr > 0 THEN BAufko.Fak_Knr ELSE BAufko.Knr) NO-LOCK NO-ERROR.
  3163. FIND Wust USE-INDEX Wust-k1
  3164. WHERE Wust.CodeK = LDebst.MWST
  3165. AND Wust.CodeA = 99 NO-LOCK NO-ERROR.
  3166. LVSprcd = Adresse.Sprcd.
  3167. iBesr = FDebst.BESR_Art.
  3168. DebInkl = FALSE.
  3169. IF AVAILABLE Wust THEN DebInkl = Wust.Incl.
  3170. XTelnr = ''.
  3171. IF DebInkl THEN
  3172. DO:
  3173. IF Adresse.Tel-2 <> '' THEN XTelnr = Adresse.Tel-2.
  3174. ELSE XTelnr = Adresse.Tel-1.
  3175. END.
  3176. ELSE
  3177. DO:
  3178. IF Adresse.Tel-1 <> '' THEN XTelnr = Adresse.Tel-1.
  3179. ELSE XTelnr = Adresse.Tel-2.
  3180. END.
  3181. END.
  3182. F_Seite = VSeite.
  3183. F_Faknr = SFaknr.
  3184. DISPLAY F_Seite
  3185. F_Faknr WITH FRAME {&FRAME-NAME}.
  3186. FIND Femeld NO-LOCK USE-INDEX Femeld-k1
  3187. WHERE Femeld.Sprcd = LVSprcd
  3188. AND Femeld.FeNr = 1100 NO-ERROR.
  3189. IF NOT AVAILABLE Femeld THEN
  3190. DO:
  3191. FIND Femeld NO-LOCK USE-INDEX Femeld-k1
  3192. WHERE Femeld.Sprcd = 1
  3193. AND Femeld.FeNr = 1100 NO-ERROR.
  3194. END.
  3195. IF AVAILABLE Femeld AND
  3196. Femeld.FeText <> '' THEN cWochentag = Femeld.FeText.
  3197. VZeile = ''.
  3198. { putstream.i BLiDruck.Listkzz }.
  3199. IF BAufko.Adresse[05] <> '' THEN
  3200. DO:
  3201. { putstream.i 1 }
  3202. DO ix = 1 TO 5:
  3203. SUBSTRING(VZeile,060) = BAufko.Adresse[ix].
  3204. IF ix = 5 THEN
  3205. DO: { putstreamf.i "1" }.
  3206. END.
  3207. ELSE
  3208. DO: { putstream.i "1" }.
  3209. END.
  3210. END.
  3211. END.
  3212. ELSE
  3213. DO:
  3214. DO ix = 6 TO 11:
  3215. SUBSTRING(VZeile,060) = Adresse.Anschrift[ix].
  3216. IF ix = 11 THEN
  3217. DO: { putstreamf.i "1" }.
  3218. END.
  3219. ELSE
  3220. DO: { putstream.i "1" }.
  3221. END.
  3222. END.
  3223. END.
  3224. { putstream.i "2" }
  3225. SUBSTRING(VZeile,001) = BDrucker.Dru12cpi
  3226. + BDrucker.DruFettb
  3227. + TRIM(SUBSTRING(FormText[02],01,20))
  3228. + STRING(SFaknr,"z999999")
  3229. + " /"
  3230. + STRING(VSeite,"zz9")
  3231. + BDrucker.DruFont[06].
  3232. IF VSeite = 1 THEN
  3233. DO:
  3234. { putstreamf.i "1" }
  3235. END.
  3236. ELSE
  3237. DO:
  3238. { putstreamf.i "2" }
  3239. END.
  3240. DO WHILE VSeite = 1.
  3241. SUBSTRING(VZeile,001) = TRIM(SUBSTRING(FormText[18],01,20))
  3242. + " "
  3243. + BSteuer.MWST_Nr.
  3244. { putstream.i "1" }
  3245. SUBSTRING(VZeile,001) = TRIM(SUBSTRING(FormText[17],21,20))
  3246. + " "
  3247. + STRING(BAufko.Aufnr,'999999').
  3248. { putstream.i "2" }
  3249. RUN ABLADEVORSCHRIFT.
  3250. RUN VERSANDART.
  3251. RUN TOURENPLAN.
  3252. SUBSTRING(VZeile,001) = TRIM (SUBSTRING(FormText[08],01,20))
  3253. + ' '
  3254. + STRING(BAufko.Knr,"999999")
  3255. + ' / '
  3256. + XTelnr.
  3257. SUBSTRING(VZeile,060) = TRIM (SUBSTRING(FormText[07],01,20))
  3258. + ' '
  3259. + STRING(FDatum,"99.99.9999").
  3260. { putstream.i "2" }
  3261. SUBSTRING(VZeile,001) = TRIM(SUBSTRING(FormText[22],01,20))
  3262. + " "
  3263. + BAufko.U_Ref.
  3264. SUBSTRING(VZeile,060) = TRIM(SUBSTRING(FormText[08],21,20))
  3265. + STRING(BAufko.Gewicht,"zzz,zz9.999 Kg").
  3266. { putstream.i "1" }
  3267. SUBSTRING(VZeile,001) = TRIM(SUBSTRING(FormText[07],21,20))
  3268. + " "
  3269. + BAufko.I_Best.
  3270. SUBSTRING(VZeile,060) = TRIM(SUBSTRING(FormText[17],41,20))
  3271. + " "
  3272. + XTour + ' ' + BAufko.Tour_Nr2.
  3273. { putstream.i "1" }
  3274. SUBSTRING(VZeile,001) = TRIM(SUBSTRING(FormText[07],41,20))
  3275. + " "
  3276. + ENTRY(WEEKDAY(BAufko.Auf_Datum), cWochentag, ',')
  3277. + ", "
  3278. + STRING(BAufko.Auf_Datum,"99.99.9999").
  3279. SUBSTRING(VZeile,060) = TRIM(BDrucker.DruFettb)
  3280. + XAblade
  3281. + TRIM(BDrucker.DruFette).
  3282. { putstream.i "1" }
  3283. SUBSTRING(VZeile,001) = TRIM(SUBSTRING(FormText[09],21,20))
  3284. + " "
  3285. + ENTRY(WEEKDAY(BAufko.Lief_Datum), cWochentag, ',')
  3286. + ", "
  3287. + STRING(BAufko.Lief_Datum,"99.99.9999").
  3288. SUBSTRING(VZeile,060) = TRIM(SUBSTRING(FormText[09],01,20))
  3289. + " "
  3290. + XVersand.
  3291. { putstream.i "1" }
  3292. LEAVE.
  3293. END.
  3294. IF LiKopf THEN
  3295. DO:
  3296. DYNAMIC-FUNCTION('schreibenUeberschrift':U, LiPos, FoBreite, TiHoehe) NO-ERROR.
  3297. { putstream.i "1" }
  3298. SUBSTRING(VZeile,001) = FormText[03].
  3299. SUBSTRING(VZeile,071) = FormText[04].
  3300. { putstreamf.i "1" }
  3301. SUBSTRING(VZeile,001) = FormText[05].
  3302. SUBSTRING(VZeile,071) = FormText[06].
  3303. { putstreamf.i "2" }
  3304. END.
  3305. ELSE
  3306. DO:
  3307. { putstream.i "1" }
  3308. END.
  3309. IF VSeite > 1 AND
  3310. FUeber = TRUE THEN
  3311. DO:
  3312. SUBSTRING(VZeile,009) = TRIM(SUBSTRING(FormText[09],41,20)).
  3313. SUBSTRING(VZeile,086) = STRING(VFak_Betr,"->>,>>9.99").
  3314. { putstreamf.i "2" }
  3315. END.
  3316. END PROCEDURE.
  3317. /* _UIB-CODE-BLOCK-END */
  3318. &ANALYZE-RESUME
  3319. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LIEFERSCHEIN C-Win
  3320. PROCEDURE LIEFERSCHEIN :
  3321. /*------------------------------------------------------------------------------
  3322. Purpose:
  3323. Parameters: <none>
  3324. Notes:
  3325. ------------------------------------------------------------------------------*/
  3326. VSeite = 0.
  3327. VFak_Betr = 0.
  3328. LiKopf = TRUE.
  3329. FPreis = FALSE.
  3330. FBetrag = FALSE.
  3331. FRabatt = FALSE.
  3332. FSamm = FALSE.
  3333. FLagOrt = FALSE.
  3334. LiPos = 200.
  3335. FoBreite = 1985.
  3336. TiHoehe = 120.
  3337. VKopfArt = 'LIEFERSCHEIN_KOPF'.
  3338. RUN VALUE(VKopfArt).
  3339. FOR EACH TAufze NO-LOCK
  3340. BY TAufze.Aufnr
  3341. BY TAufze.Sort1
  3342. BY TAufze.Sort2
  3343. BY TAufze.Sort3
  3344. BY TAufze.Artnr
  3345. BY TAufze.Inhalt
  3346. BY TAufze.Jahr
  3347. BY TAufze.Pos :
  3348. IF (BLiDruck.Listtzz - VLine - 2) < BLiDruck.Listfzz THEN
  3349. DO:
  3350. RUN VALUE(VKopfArt).
  3351. END.
  3352. FIND Aufze WHERE RECID(Aufze) = TAufze.Zeile NO-LOCK.
  3353. RUN ARTIKELZEILE_LIEFERSCHEIN.
  3354. VFak_Betr = VFak_Betr + Aufze.Net_Betr.
  3355. END.
  3356. DYNAMIC-FUNCTION('schreibenLinie':U, LiPos, FoBreite) NO-ERROR.
  3357. { putstream.i "1" }
  3358. LiKopf = FALSE.
  3359. RUN SCHLUSS_TEXT.
  3360. RUN KOPF_MUTATION.
  3361. END PROCEDURE.
  3362. /* _UIB-CODE-BLOCK-END */
  3363. &ANALYZE-RESUME
  3364. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LIEFERSCHEINWO C-Win
  3365. PROCEDURE LIEFERSCHEINWO :
  3366. /*------------------------------------------------------------------------------
  3367. Purpose:
  3368. Parameters: <none>
  3369. Notes:
  3370. ------------------------------------------------------------------------------*/
  3371. RUN LIEFERSCHEIN.
  3372. /* VSeite = 0. */
  3373. /* VFak_Betr = 0. */
  3374. /* LiKopf = TRUE. */
  3375. /* FPreis = FALSE. */
  3376. /* FBetrag = FALSE. */
  3377. /* FRabatt = FALSE. */
  3378. /* FSamm = FALSE. */
  3379. /* FLagOrt = FALSE. */
  3380. /* VKopfArt = 'LIEFERSCHEIN_KOPF'. */
  3381. /* */
  3382. /* RUN VALUE(VKopfArt). */
  3383. /* */
  3384. /* FOR EACH TAufze NO-LOCK */
  3385. /* BY TAufze.Aufnr */
  3386. /* BY TAufze.Sort1 */
  3387. /* BY TAufze.Sort2 */
  3388. /* BY TAufze.Sort3 */
  3389. /* BY TAufze.Artnr */
  3390. /* BY TAufze.Inhalt */
  3391. /* BY TAufze.Jahr */
  3392. /* BY TAufze.Pos : */
  3393. /* */
  3394. /* IF (BLiDruck.Listtzz - VLine - 2) < BLiDruck.Listfzz THEN DO: */
  3395. /* RUN VALUE(VKopfArt). */
  3396. /* END. */
  3397. /* */
  3398. /* FIND Aufze WHERE RECID(Aufze) = TAufze.Zeile NO-LOCK. */
  3399. /* */
  3400. /* RUN ARTIKELZEILE_LIEFERSCHEIN. */
  3401. /* */
  3402. /* VFak_Betr = VFak_Betr + Aufze.Net_Betr. */
  3403. /* END. */
  3404. /* */
  3405. /* DYNAMIC-FUNCTION('schreibenLinie':U, 200, 1985) NO-ERROR. */
  3406. /* { putstream.i "1" } */
  3407. /* */
  3408. /* LiKopf = FALSE. */
  3409. /* */
  3410. /* RUN GEBINDE_SALDO. */
  3411. /* RUN GEBINDE_LIEFERUNG. */
  3412. /* RUN GEBINDE_RUECKNAHME_TABELLE. */
  3413. /* RUN SCHLUSS_TEXT. */
  3414. /* RUN KOPF_MUTATION. */
  3415. END PROCEDURE.
  3416. /* _UIB-CODE-BLOCK-END */
  3417. &ANALYZE-RESUME
  3418. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LIEFERSCHEIN_KOPF C-Win
  3419. PROCEDURE LIEFERSCHEIN_KOPF :
  3420. /*------------------------------------------------------------------------------
  3421. Purpose:
  3422. Parameters: <none>
  3423. Notes:
  3424. ------------------------------------------------------------------------------*/
  3425. DEFINE VARIABLE cWochentag AS CHARACTER NO-UNDO
  3426. INIT 'Sonntag,Montag,Dienstag,Mittwoch,Donnerstag,Freitag,Samstag'.
  3427. RUN NEUE_SEITE.
  3428. IF VSeite = 1 THEN
  3429. DO:
  3430. FIND Adresse USE-INDEX Adresse-k1
  3431. WHERE Adresse.Firma = AdFirma
  3432. AND Adresse.Knr = BAufko.Knr NO-LOCK NO-ERROR.
  3433. FIND LDebst USE-INDEX Debst-k1
  3434. WHERE LDebst.Firma = GVFirma
  3435. AND LDebst.Knr = BAufko.Knr NO-LOCK NO-ERROR.
  3436. FIND FDebst USE-INDEX Debst-k1
  3437. WHERE FDebst.Firma = GVFirma
  3438. AND FDebst.Knr = BAufko.Fak_Knr NO-LOCK NO-ERROR.
  3439. FIND Wust USE-INDEX Wust-k1
  3440. WHERE Wust.CodeK = LDebst.MWST
  3441. AND Wust.CodeA = 99 NO-LOCK NO-ERROR.
  3442. LVSprcd = Adresse.Sprcd.
  3443. DebInkl = FALSE.
  3444. IF AVAILABLE Wust THEN DebInkl = Wust.Incl.
  3445. XTelnr = ''.
  3446. IF DebInkl THEN
  3447. DO:
  3448. IF Adresse.Tel-2 <> '' THEN XTelnr = Adresse.Tel-2.
  3449. ELSE XTelnr = Adresse.Tel-1.
  3450. END.
  3451. ELSE
  3452. DO:
  3453. IF Adresse.Tel-1 <> '' THEN XTelnr = Adresse.Tel-1.
  3454. ELSE XTelnr = Adresse.Tel-2.
  3455. END.
  3456. END.
  3457. F_Seite = VSeite.
  3458. F_Faknr = BAufko.Faknr.
  3459. DISPLAY F_Seite
  3460. F_Faknr WITH FRAME {&FRAME-NAME}.
  3461. FIND Femeld NO-LOCK USE-INDEX Femeld-k1
  3462. WHERE Femeld.Sprcd = LVSprcd
  3463. AND Femeld.FeNr = 1100 NO-ERROR.
  3464. IF NOT AVAILABLE Femeld THEN
  3465. DO:
  3466. FIND Femeld NO-LOCK USE-INDEX Femeld-k1
  3467. WHERE Femeld.Sprcd = 1
  3468. AND Femeld.FeNr = 1100 NO-ERROR.
  3469. END.
  3470. IF AVAILABLE Femeld AND
  3471. Femeld.FeText <> '' THEN cWochentag = Femeld.FeText.
  3472. VZeile = ''.
  3473. { putstream.i BLiDruck.Listkzz }.
  3474. IF BAufko.Adresse[05] <> '' THEN
  3475. DO:
  3476. { putstream.i "1" }
  3477. DO ix = 1 TO 5:
  3478. SUBSTRING(VZeile,060) = BAufko.Adresse[ix].
  3479. IF ix = 5 THEN
  3480. DO: { putstreamf.i "1" }.
  3481. END.
  3482. ELSE
  3483. DO: { putstream.i "1" }.
  3484. END.
  3485. END.
  3486. END.
  3487. ELSE
  3488. DO:
  3489. DO ix = 6 TO 11:
  3490. SUBSTRING(VZeile,060) = Adresse.Anschrift[ix].
  3491. IF ix = 11 THEN
  3492. DO: { putstreamf.i "1" }.
  3493. END.
  3494. ELSE
  3495. DO: { putstream.i "1" }.
  3496. END.
  3497. END.
  3498. END.
  3499. { putstream.i "2" }
  3500. SUBSTRING(VZeile,001) = CHR(27)
  3501. + '(s11H'
  3502. + BDrucker.DruFettb
  3503. + TRIM(SUBSTRING(FormText[02],01,20))
  3504. + STRING(BAufko.Aufnr,"z999999")
  3505. + " /"
  3506. + STRING(VSeite,"zz9")
  3507. + InitCPI.
  3508. { putstreamf.i "1" }
  3509. SUBSTRING(VZeile,001) = CHR(27)
  3510. + '(s16H'
  3511. + TRIM(SUBSTRING(FormText[18],01,20))
  3512. + " "
  3513. + BSteuer.MWST_Nr
  3514. + InitCPI.
  3515. { putstream.i "2" }
  3516. DO WHILE VSeite = 1.
  3517. RUN ABLADEVORSCHRIFT.
  3518. RUN VERSANDART.
  3519. RUN TOURENPLAN.
  3520. SUBSTRING(VZeile,001) = TRIM (SUBSTRING(FormText[08],01,20))
  3521. + ' '
  3522. + STRING(BAufko.Knr,"999999")
  3523. + ' / '
  3524. + XTelnr.
  3525. SUBSTRING(VZeile,060) = TRIM (SUBSTRING(FormText[07],01,20))
  3526. + ' '
  3527. + STRING(FDatum,"99.99.9999").
  3528. { putstream.i "2" }
  3529. SUBSTRING(VZeile,001) = TRIM(SUBSTRING(FormText[22],01,20))
  3530. + " "
  3531. + BAufko.U_Ref.
  3532. SUBSTRING(VZeile,060) = TRIM(SUBSTRING(FormText[08],21,20))
  3533. + STRING(BAufko.Gewicht,"zzz,zz9.999 Kg").
  3534. { putstream.i "1" }
  3535. SUBSTRING(VZeile,001) = TRIM(SUBSTRING(FormText[09],21,20))
  3536. + " "
  3537. + ENTRY(WEEKDAY(BAufko.Lief_Datum), cWochentag, ',')
  3538. + ", "
  3539. + STRING(BAufko.Lief_Datum,"99.99.9999").
  3540. SUBSTRING(VZeile,060) = TRIM(SUBSTRING(FormText[09],01,20))
  3541. + " "
  3542. + XVersand.
  3543. { putstream.i "1" }
  3544. LEAVE.
  3545. END.
  3546. IF LiKopf THEN
  3547. DO:
  3548. DYNAMIC-FUNCTION('schreibenUeberschrift':U, LiPos, FoBreite, TiHoehe) NO-ERROR.
  3549. { putstream.i "1" }
  3550. SUBSTRING(VZeile,001) = FormText[03].
  3551. SUBSTRING(VZeile,071) = FormText[04].
  3552. { putstreamf.i "1" }
  3553. SUBSTRING(VZeile,001) = FormText[05].
  3554. SUBSTRING(VZeile,071) = FormText[06].
  3555. StBreite = LENGTH(VZeile).
  3556. { putstreamf.i "2" }
  3557. END.
  3558. ELSE
  3559. DO:
  3560. { putstream.i "1" }
  3561. END.
  3562. END PROCEDURE.
  3563. /* _UIB-CODE-BLOCK-END */
  3564. &ANALYZE-RESUME
  3565. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LSFA C-Win
  3566. PROCEDURE LSFA :
  3567. /*------------------------------------------------------------------------------
  3568. Purpose:
  3569. Parameters: <none>
  3570. Notes:
  3571. ------------------------------------------------------------------------------*/
  3572. RUN LIEFERSCHEIN.
  3573. END PROCEDURE.
  3574. /* _UIB-CODE-BLOCK-END */
  3575. &ANALYZE-RESUME
  3576. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE MEHRWERTSTEUER C-Win
  3577. PROCEDURE MEHRWERTSTEUER :
  3578. /*------------------------------------------------------------------------------
  3579. Purpose:
  3580. Parameters: <none>
  3581. Notes:
  3582. ------------------------------------------------------------------------------*/
  3583. VWpfl = 0.
  3584. VWust = 0.
  3585. Zuszz = 0.
  3586. DO ix = 1 TO 11:
  3587. IF BAufko.WPfl[ix] = 0 THEN NEXT.
  3588. VWpfl[ix] = BAufko.Wpfl[ix].
  3589. VWust[ix] = BAufko.Wust[ix].
  3590. Zuszz = Zuszz + 1.
  3591. END.
  3592. IF Zuszz > 0 THEN Zuszz = Zuszz + 8.
  3593. IF (BLiDruck.Listtzz - VLine - Zuszz) < BLiDruck.Listfzz THEN
  3594. DO:
  3595. RUN VALUE(VKopfArt).
  3596. END.
  3597. DO ix = 1 TO 11:
  3598. IF VWpfl[ix] = 0 THEN NEXT.
  3599. FIND LAST MWSTAns USE-INDEX MWSTAns-k1
  3600. WHERE MWSTAns.MWST_Cd = ix
  3601. AND MWSTAns.Datum <= BAufko.Kond_Datum NO-LOCK.
  3602. SUBSTRING(VZeile,040) = MWSTAns.Bez.
  3603. SUBSTRING(VZeile,075) = STRING(VWpfl[ix],"->>,>>9.99").
  3604. SUBSTRING(VZeile,086) = STRING(VWust[ix],"->>,>>9.99").
  3605. SUBSTRING(VZeile,097) = STRING(ix ,"z9").
  3606. { putstream.i "1" }
  3607. VFak_Betr = VFak_Betr + VWust[ix].
  3608. END.
  3609. Rundbetr = VFak_Betr.
  3610. Rundcode = 1.
  3611. RUN runden.p.
  3612. VFak_Betr = Rundbetr.
  3613. DYNAMIC-FUNCTION('schreibenLinie':U, 200, 2080) NO-ERROR.
  3614. { putstream.i "1" }
  3615. SUBSTRING(VZeile,009) = TRIM(FormText[16]).
  3616. SUBSTRING(VZeile,086) = STRING(VFak_Betr,"->>,>>9.99") + ' ' + FDebst.Frw.
  3617. { putstreamf.i "1" }
  3618. END PROCEDURE.
  3619. /* _UIB-CODE-BLOCK-END */
  3620. &ANALYZE-RESUME
  3621. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE MEHRWERTSTEUER_EXCEL C-Win
  3622. PROCEDURE MEHRWERTSTEUER_EXCEL :
  3623. /*------------------------------------------------------------------------------
  3624. Purpose:
  3625. Parameters: <none>
  3626. Notes:
  3627. ------------------------------------------------------------------------------*/
  3628. VWpfl = 0.
  3629. VWust = 0.
  3630. DO ix = 1 TO 11:
  3631. IF BAufko.WPfl[ix] = 0 THEN NEXT.
  3632. VWpfl[ix] = BAufko.Wpfl[ix].
  3633. VWust[ix] = BAufko.Wust[ix].
  3634. END.
  3635. DO ix = 1 TO 11:
  3636. IF VWpfl[ix] = 0 THEN NEXT.
  3637. FIND LAST MWSTAns USE-INDEX MWSTAns-k1
  3638. WHERE MWSTAns.MWST_Cd = ix
  3639. AND MWSTAns.Datum <= BAufko.Kond_Datum NO-LOCK.
  3640. PUT CONTROL '££££'
  3641. '£' MWSTAns.Bez
  3642. '££££££' STRING(VWpfl[ix],"->>,>>9.99")
  3643. '£' STRING(VWust[ix],"->>,>>9.99")
  3644. '£' STRING(ix ,"z9")
  3645. CHR(10).
  3646. VFak_Betr = VFak_Betr + VWust[ix].
  3647. END.
  3648. Rundbetr = VFak_Betr.
  3649. Rundcode = 1.
  3650. RUN runden.p.
  3651. VFak_Betr = Rundbetr.
  3652. PUT CONTROL CHR(10).
  3653. PUT CONTROL '££'.
  3654. CASE LVSprcd:
  3655. WHEN 1 THEN
  3656. PUT CONTROL 'Fakturatotal'.
  3657. OTHERWISE
  3658. PUT CONTROL 'Invoice total'.
  3659. END.
  3660. PUT CONTROL '££££££££££' STRING(VFak_Betr,"->>,>>9.99") + ' ' + FDebst.Frw CHR(10).
  3661. END PROCEDURE.
  3662. /* _UIB-CODE-BLOCK-END */
  3663. &ANALYZE-RESUME
  3664. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE MEHRWERTSTEUER_KASSE C-Win
  3665. PROCEDURE MEHRWERTSTEUER_KASSE :
  3666. /*------------------------------------------------------------------------------
  3667. Purpose:
  3668. Parameters: <none>
  3669. Notes:
  3670. ------------------------------------------------------------------------------*/
  3671. { putstream.i "1" }
  3672. VWpfl = 0.
  3673. VWust = 0.
  3674. DO ix = 1 TO 11:
  3675. IF BAufko.WPfl[ix] = 0 THEN NEXT.
  3676. VWpfl[ix] = BAufko.Wpfl[ix].
  3677. VWust[ix] = BAufko.Wust[ix].
  3678. END.
  3679. DO ix = 1 TO 11:
  3680. IF VWpfl[ix] = 0 THEN NEXT.
  3681. FIND LAST MWSTAns USE-INDEX MWSTAns-k1
  3682. WHERE MWSTAns.MWST_Cd = ix
  3683. AND MWSTAns.Datum <= BAufko.Kond_Datum NO-LOCK.
  3684. SUBSTRING(VZeile,001) = SUBSTRING(MWSTAns.Bez,01,20).
  3685. SUBSTRING(VZeile,020) = STRING(VWpfl[ix],"->>>9.99").
  3686. SUBSTRING(VZeile,029) = STRING(VWust[ix],"->>>9.99").
  3687. SUBSTRING(VZeile,039) = STRING(ix ,"z9").
  3688. { putstream.i "1" }
  3689. VFak_Betr = VFak_Betr + VWust[ix].
  3690. END.
  3691. Rundbetr = VFak_Betr.
  3692. Rundcode = 1.
  3693. RUN runden.p.
  3694. VFak_Betr = Rundbetr.
  3695. SUBSTRING(VZeile,001) = TRIM(FormText[16]).
  3696. SUBSTRING(VZeile,029) = STRING(VFak_Betr,"->>>9.99").
  3697. { putstreamf.i "1" }
  3698. END PROCEDURE.
  3699. /* _UIB-CODE-BLOCK-END */
  3700. &ANALYZE-RESUME
  3701. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE NEUE_SEITE C-Win
  3702. PROCEDURE NEUE_SEITE :
  3703. /*------------------------------------------------------------------------------
  3704. Purpose:
  3705. Parameters: <none>
  3706. Notes:
  3707. ------------------------------------------------------------------------------*/
  3708. DEFINE VARIABLE A AS INTEGER NO-UNDO.
  3709. DEFINE VARIABLE B AS INTEGER NO-UNDO.
  3710. DO WHILE VSeite > 0:
  3711. IF fBesr THEN LEAVE.
  3712. IF DOpen THEN
  3713. DO:
  3714. PUT STREAM Out_Stream CHR(12).
  3715. LEAVE.
  3716. END.
  3717. A = BLiDruck.Listtzz.
  3718. DO B = VLine TO A:
  3719. VZNr = VZNr + 1.
  3720. CREATE XTermOut.
  3721. ASSIGN
  3722. XTermOut.ZNr = VZNr
  3723. XTermOut.Zeile = ''.
  3724. END.
  3725. LEAVE.
  3726. END.
  3727. VLine = 0.
  3728. VSeite = VSeite + 1.
  3729. END PROCEDURE.
  3730. /* _UIB-CODE-BLOCK-END */
  3731. &ANALYZE-RESUME
  3732. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE PROFORMA C-Win
  3733. PROCEDURE PROFORMA :
  3734. /*------------------------------------------------------------------------------
  3735. Purpose:
  3736. Parameters: <none>
  3737. Notes:
  3738. ------------------------------------------------------------------------------*/
  3739. VSeite = 0.
  3740. VFak_Betr = 0.
  3741. LiKopf = TRUE.
  3742. FPreis = TRUE.
  3743. FBetrag = TRUE.
  3744. FRabatt = TRUE.
  3745. FUeber = TRUE.
  3746. FSamm = FALSE.
  3747. FLagOrt = FALSE.
  3748. LiPos = 200.
  3749. FoBreite = 2080.
  3750. TiHoehe = 120.
  3751. VKopfArt = 'PROFORMA_KOPF'.
  3752. OCRB = BDrucker.DruFont [03].
  3753. Schacht3 = BDrucker.DruSchacht[03].
  3754. RUN VALUE(VKopfArt).
  3755. FOR EACH TAufze NO-LOCK
  3756. BY TAufze.Aufnr
  3757. BY TAufze.Sort1
  3758. BY TAufze.Sort2
  3759. BY TAufze.Sort3
  3760. BY TAufze.Artnr
  3761. BY TAufze.Inhalt
  3762. BY TAufze.Jahr
  3763. BY TAufze.Pos :
  3764. IF (BLiDruck.Listtzz - VLine - 2) < BLiDruck.Listfzz THEN
  3765. DO:
  3766. RUN VALUE(VKopfArt).
  3767. END.
  3768. FIND Aufze WHERE RECID(Aufze) = TAufze.Zeile NO-LOCK.
  3769. RUN ARTIKELZEILE_LIEFERFAK.
  3770. VFak_Betr = VFak_Betr + Aufze.Net_Betr.
  3771. END.
  3772. DYNAMIC-FUNCTION('schreibenLinie':U, LiPos, FoBreite) NO-ERROR.
  3773. { putstream.i "1" }
  3774. SUBSTRING(VZeile,009) = TRIM(SUBSTRING(FormText[10],41,20)).
  3775. SUBSTRING(VZeile,086) = STRING(VFak_Betr,"->>,>>9.99").
  3776. { putstreamf.i "1" }
  3777. LiKopf = FALSE.
  3778. fZeiDruck = FALSE.
  3779. RUN SUMMENRABATTE.
  3780. { putstream.i "1" }
  3781. RUN GEBINDE_SALDO.
  3782. RUN GEBINDE_ABRECHNUNG.
  3783. RUN MEHRWERTSTEUER.
  3784. { putstream.i "1" }
  3785. RUN ZAHLUNGSKONDITION ( BAufko.Sk_Ber ).
  3786. RUN SCHLUSS_TEXT.
  3787. DYNAMIC-FUNCTION('schreibenFusszeile':U) NO-ERROR.
  3788. RUN KOPF_MUTATION.
  3789. VesrKnr = BAufko.Fak_Knr.
  3790. VesrFnr = BAufko.Faknr.
  3791. Rundbetr = 0.
  3792. VBesrArt = 'VESR_DRUCK' + STRING(VBesr,"99").
  3793. IF VBesr > 0 THEN RUN VALUE(VBesrArt).
  3794. END PROCEDURE.
  3795. /* _UIB-CODE-BLOCK-END */
  3796. &ANALYZE-RESUME
  3797. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE PROFORMA_KOPF C-Win
  3798. PROCEDURE PROFORMA_KOPF :
  3799. /*------------------------------------------------------------------------------
  3800. Purpose:
  3801. Parameters: <none>
  3802. Notes:
  3803. ------------------------------------------------------------------------------*/
  3804. DEFINE VARIABLE cWochentag AS CHARACTER NO-UNDO
  3805. INIT 'Sonntag,Montag,Dienstag,Mittwoch,Donnerstag,Freitag,Samstag'.
  3806. RUN NEUE_SEITE.
  3807. IF VSeite = 1 THEN
  3808. DO:
  3809. IF SFaknr = 0 THEN
  3810. DO:
  3811. SFaknr = BAufko.Faknr.
  3812. REPEAT WHILE SFaknr = 0 TRANSACTION:
  3813. RUN steunr.p ( INPUT 2, OUTPUT VFaknr ).
  3814. IF RETURN-VALUE <> '' THEN NEXT.
  3815. SFaknr = VFaknr.
  3816. END.
  3817. END.
  3818. FIND Adresse USE-INDEX Adresse-k1
  3819. WHERE Adresse.Firma = AdFirma
  3820. AND Adresse.Knr = (IF BAufko.Fak_Knr > 0 THEN BAufko.Fak_Knr ELSE BAufko.Knr) NO-LOCK NO-ERROR.
  3821. FIND LDebst USE-INDEX Debst-k1
  3822. WHERE LDebst.Firma = GVFirma
  3823. AND LDebst.Knr = BAufko.Knr NO-LOCK NO-ERROR.
  3824. FIND FDebst USE-INDEX Debst-k1
  3825. WHERE FDebst.Firma = GVFirma
  3826. AND FDebst.Knr = (IF BAufko.Fak_Knr > 0 THEN BAufko.Fak_Knr ELSE BAufko.Knr) NO-LOCK NO-ERROR.
  3827. iFirma = FDebst.Ku_Grp.
  3828. FIND Wust USE-INDEX Wust-k1
  3829. WHERE Wust.CodeK = LDebst.MWST
  3830. AND Wust.CodeA = 99 NO-LOCK NO-ERROR.
  3831. LVSprcd = Adresse.Sprcd.
  3832. iBesr = FDebst.BESR_Art.
  3833. DebInkl = FALSE.
  3834. IF AVAILABLE Wust THEN DebInkl = Wust.Incl.
  3835. XTelnr = ''.
  3836. IF DebInkl THEN
  3837. DO:
  3838. IF Adresse.Tel-2 <> '' THEN XTelnr = Adresse.Tel-2.
  3839. ELSE XTelnr = Adresse.Tel-1.
  3840. END.
  3841. ELSE
  3842. DO:
  3843. IF Adresse.Tel-1 <> '' THEN XTelnr = Adresse.Tel-1.
  3844. ELSE XTelnr = Adresse.Tel-2.
  3845. END.
  3846. END.
  3847. F_Seite = VSeite.
  3848. F_Faknr = SFaknr.
  3849. DISPLAY F_Seite
  3850. F_Faknr WITH FRAME {&FRAME-NAME}.
  3851. FIND Femeld NO-LOCK USE-INDEX Femeld-k1
  3852. WHERE Femeld.Sprcd = LVSprcd
  3853. AND Femeld.FeNr = 1100 NO-ERROR.
  3854. IF NOT AVAILABLE Femeld THEN
  3855. DO:
  3856. FIND Femeld NO-LOCK USE-INDEX Femeld-k1
  3857. WHERE Femeld.Sprcd = 1
  3858. AND Femeld.FeNr = 1100 NO-ERROR.
  3859. END.
  3860. IF AVAILABLE Femeld AND
  3861. Femeld.FeText <> '' THEN cWochentag = Femeld.FeText.
  3862. VZeile = ''.
  3863. { putstream.i BLiDruck.Listkzz }.
  3864. IF BAufko.Adresse[05] <> '' THEN
  3865. DO:
  3866. { putstream.i "1" }
  3867. DO ix = 1 TO 5:
  3868. SUBSTRING(VZeile,060) = BAufko.Adresse[ix].
  3869. IF ix = 5 THEN
  3870. DO: { putstreamf.i "1" }.
  3871. END.
  3872. ELSE
  3873. DO: { putstream.i "1" }.
  3874. END.
  3875. END.
  3876. END.
  3877. ELSE
  3878. DO:
  3879. DO ix = 6 TO 11:
  3880. SUBSTRING(VZeile,060) = Adresse.Anschrift[ix].
  3881. IF ix = 11 THEN
  3882. DO: { putstreamf.i "1" }.
  3883. END.
  3884. ELSE
  3885. DO: { putstream.i "1" }.
  3886. END.
  3887. END.
  3888. END.
  3889. { putstream.i "2" }
  3890. SUBSTRING(VZeile,001) = CHR(27)
  3891. + '(s11H'
  3892. + TRIM(SUBSTRING(FormText[02],01,20))
  3893. + STRING(SFaknr,"z999999")
  3894. + " /"
  3895. + STRING(VSeite,"zz9")
  3896. + CHR(27)
  3897. + '(s14H'.
  3898. IF VSeite = 1 THEN
  3899. DO:
  3900. { putstreamf.i "1" }
  3901. END.
  3902. ELSE
  3903. DO:
  3904. { putstreamf.i "2" }
  3905. END.
  3906. DO WHILE VSeite = 1.
  3907. SUBSTRING(VZeile,001) = TRIM(SUBSTRING(FormText[18],01,20))
  3908. + " "
  3909. + BSteuer.MWST_Nr.
  3910. VZeile = CHR(27) + '(s16H' + VZeile + CHR(27) + '(s14H'.
  3911. { putstream.i "1" }
  3912. SUBSTRING(VZeile,001) = TRIM(SUBSTRING(FormText[17],21,20))
  3913. + " "
  3914. + STRING(BAufko.Aufnr,'999999').
  3915. VZeile = CHR(27) + '(s16H' + VZeile + CHR(27) + '(s14H'.
  3916. { putstream.i "2" }
  3917. SUBSTRING(VZeile,001) = TRIM (SUBSTRING(FormText[08],01,20))
  3918. + ' '
  3919. + STRING(BAufko.Knr,"999999")
  3920. + ' / '
  3921. + XTelnr.
  3922. SUBSTRING(VZeile,060) = TRIM (SUBSTRING(FormText[07],01,20))
  3923. + ' '
  3924. + STRING(FDatum,"99.99.9999").
  3925. { putstream.i "2" }
  3926. LEAVE.
  3927. END.
  3928. IF LiKopf THEN
  3929. DO:
  3930. DYNAMIC-FUNCTION('schreibenUeberschrift':U, LiPos, FoBreite, TiHoehe) NO-ERROR.
  3931. { putstream.i "1" }
  3932. SUBSTRING(VZeile,001) = FormText[03].
  3933. SUBSTRING(VZeile,071) = FormText[04].
  3934. DO WHILE INDEX(VZeile, '£') > 0:
  3935. SUBSTRING(VZeile,INDEX(VZeile, '£')) = FDebst.Frw.
  3936. END.
  3937. VZeile = CHR(27) + '(s13H' + VZeile + CHR(27) + '(s14H'.
  3938. { putstreamf.i "1" }
  3939. SUBSTRING(VZeile,001) = FormText[05].
  3940. SUBSTRING(VZeile,071) = FormText[06].
  3941. DO WHILE INDEX(VZeile, '£') > 0:
  3942. SUBSTRING(VZeile,INDEX(VZeile, '£')) = FDebst.Frw.
  3943. END.
  3944. VZeile = CHR(27) + '(s13H' + VZeile + CHR(27) + '(s14H'.
  3945. { putstreamf.i "2" }
  3946. END.
  3947. ELSE
  3948. DO:
  3949. { putstream.i "1" }
  3950. END.
  3951. IF VSeite > 1 AND
  3952. FUeber = TRUE THEN
  3953. DO:
  3954. SUBSTRING(VZeile,009) = TRIM(SUBSTRING(FormText[09],41,20)).
  3955. SUBSTRING(VZeile,086) = STRING(VFak_Betr,"->>,>>9.99").
  3956. { putstreamf.i "2" }
  3957. END.
  3958. END PROCEDURE.
  3959. /* _UIB-CODE-BLOCK-END */
  3960. &ANALYZE-RESUME
  3961. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE PRUEFZIFFER C-Win
  3962. PROCEDURE PRUEFZIFFER :
  3963. /*------------------------------------------------------------------------------
  3964. Purpose:
  3965. Parameters: <none>
  3966. Notes:
  3967. ------------------------------------------------------------------------------*/
  3968. /* ------------------------------------------------------------------------- */
  3969. /* Prufziffer MODULO 10, Rekursiv (27 Stellig Ref.-Nr.) */
  3970. /* ------------------------------------------------------------------------- */
  3971. /* */
  3972. /* Uebergabe Variable: 1. String Betrag (12-stellig) */
  3973. /* 2. String Referenz (27-stellig) */
  3974. /* 3. String Teilnehmernummer ( 9-stellig) */
  3975. /* */
  3976. /* Erstellung der VESR-Codierzeile */
  3977. /* */
  3978. /*---------------------------------------------------------------------------*/
  3979. DEFINE INPUT-OUTPUT PARAMETER PZBetrag AS CHARACTER FORMAT "x(13)".
  3980. DEFINE INPUT-OUTPUT PARAMETER PZReferenz AS CHARACTER FORMAT "x(27)".
  3981. DEFINE INPUT-OUTPUT PARAMETER PZTNummer AS CHARACTER FORMAT "x(09)".
  3982. DEFINE OUTPUT PARAMETER VSZeile AS CHARACTER FORMAT "x(58)".
  3983. DEFINE VARIABLE l1 AS INTEGER.
  3984. DEFINE VARIABLE l2 AS INTEGER.
  3985. DEFINE VARIABLE l3 AS INTEGER.
  3986. DEFINE VARIABLE PZ AS INTEGER.
  3987. DEFINE VARIABLE x1 AS INTEGER.
  3988. DEFINE VARIABLE x2 AS INTEGER.
  3989. DEFINE VARIABLE x3 AS INTEGER.
  3990. DEFINE VARIABLE VMOD10 AS CHARACTER FORMAT "x(11)" EXTENT 11.
  3991. VMOD10[01] = "09468271350".
  3992. VMOD10[02] = "94682713509".
  3993. VMOD10[03] = "46827135098".
  3994. VMOD10[04] = "68271350947".
  3995. VMOD10[05] = "82713509466".
  3996. VMOD10[06] = "27135094685".
  3997. VMOD10[07] = "71350946824".
  3998. VMOD10[08] = "13509468273".
  3999. VMOD10[09] = "35094682712".
  4000. VMOD10[10] = "50946827131".
  4001. l1 = 12.
  4002. l2 = 26.
  4003. l3 = 08.
  4004. DO WHILE SUBSTRING(PZBetrag,01,01) <> " ": /* Mit Betrag */
  4005. x2 = 1.
  4006. x1 = INT(SUBSTRING(PZBetrag ,01 ,01)).
  4007. x2 = INT(SUBSTRING(VMOD10[x2],x1 + 1,01)).
  4008. DO x3 = 2 TO 12:
  4009. x1 = INT(SUBSTRING(PZBetrag ,x3 ,01)).
  4010. x2 = INT(SUBSTRING(VMOD10[x2 + 1],x1 + 1,01)).
  4011. END.
  4012. PZ = INT(SUBSTRING(VMOD10[x2 + 1],11,1)).
  4013. SUBSTRING(PZBetrag,13) = STRING(PZ,"9").
  4014. LEAVE.
  4015. END.
  4016. DO WHILE SUBSTRING(PZBetrag,01,01) = " ": /* Ohne Betrag */
  4017. x2 = 11.
  4018. x1 = INT(SUBSTRING(PZBetrag ,01 ,01)).
  4019. x2 = INT(SUBSTRING(VMOD10[x2],x1 + 1,01)).
  4020. DO x3 = 12 TO 12:
  4021. x1 = INT(SUBSTRING(PZBetrag ,x3 ,01)).
  4022. x2 = INT(SUBSTRING(VMOD10[x2 + 1],x1 + 1,01)).
  4023. END.
  4024. PZ = INT(SUBSTRING(VMOD10[x2 + 1],11,1)).
  4025. SUBSTRING(PZBetrag,13) = STRING(PZ,"9").
  4026. LEAVE.
  4027. END.
  4028. DO WHILE l2 = 26:
  4029. x2 = 1.
  4030. x1 = INT(SUBSTRING(PZReferenz,01 ,01)).
  4031. x2 = INT(SUBSTRING(VMOD10[x2],x1 + 1,01)).
  4032. DO x3 = 2 TO 26:
  4033. x1 = INT(SUBSTRING(PZReferenz ,x3 ,01)).
  4034. x2 = INT(SUBSTRING(VMOD10[x2 + 1],x1 + 1,01)).
  4035. END.
  4036. PZ = INT(SUBSTRING(VMOD10[x2 + 1],11,1)).
  4037. SUBSTRING(PZReferenz,27) = STRING(PZ,"9").
  4038. LEAVE.
  4039. END.
  4040. DO WHILE l3 = 08:
  4041. x2 = 1.
  4042. x1 = INT(SUBSTRING(PZTNummer ,01 ,01)).
  4043. x2 = INT(SUBSTRING(VMOD10[x2],x1 + 1,01)).
  4044. DO x3 = 2 TO 08:
  4045. x1 = INT(SUBSTRING(PZTNummer ,x3 ,01)).
  4046. x2 = INT(SUBSTRING(VMOD10[x2 + 1],x1 + 1,01)).
  4047. END.
  4048. PZ = INT(SUBSTRING(VMOD10[x2 + 1],11,1)).
  4049. SUBSTRING(PZTNummer,09) = STRING(PZ,"9").
  4050. LEAVE.
  4051. END.
  4052. VSZeile = "".
  4053. SUBSTRING(VSZeile,01) = PZBetrag.
  4054. SUBSTRING(VSZeile,14) = ">".
  4055. SUBSTRING(VSZeile,15) = PZReferenz.
  4056. SUBSTRING(VSZeile,42) = "+ ".
  4057. SUBSTRING(VSZeile,44) = PZTNummer.
  4058. SUBSTRING(VSZeile,53) = ">".
  4059. SUBSTRING(VSZeile,58) = "H".
  4060. END PROCEDURE.
  4061. /* _UIB-CODE-BLOCK-END */
  4062. &ANALYZE-RESUME
  4063. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE RETOUREN C-Win
  4064. PROCEDURE RETOUREN :
  4065. /*------------------------------------------------------------------------------
  4066. Purpose:
  4067. Parameters: <none>
  4068. Notes:
  4069. ------------------------------------------------------------------------------*/
  4070. DEFINE VARIABLE RFakArt AS INTEGER NO-UNDO.
  4071. VSeite = 0.
  4072. VFak_Betr = 0.
  4073. LiKopf = TRUE.
  4074. FPreis = FALSE.
  4075. FBetrag = FALSE.
  4076. FRabatt = FALSE.
  4077. FSamm = FALSE.
  4078. FLagOrt = FALSE.
  4079. LiPos = 200.
  4080. FoBreite = 1985.
  4081. TiHoehe = 070.
  4082. VKopfArt = 'RETOUREN_KOPF'.
  4083. RUN VALUE(VKopfArt).
  4084. FOR EACH TAufze NO-LOCK
  4085. BY TAufze.Aufnr
  4086. BY TAufze.Sort1
  4087. BY TAufze.Sort2
  4088. BY TAufze.Sort3
  4089. BY TAufze.Artnr
  4090. BY TAufze.Inhalt
  4091. BY TAufze.Jahr
  4092. BY TAufze.Pos :
  4093. IF (BLiDruck.Listtzz - VLine - 2) < BLiDruck.Listfzz THEN
  4094. DO:
  4095. RUN VALUE(VKopfArt).
  4096. END.
  4097. FIND Aufze WHERE RECID(Aufze) = TAufze.Zeile NO-LOCK.
  4098. RUN ARTIKELZEILE_RETOUREN.
  4099. VFak_Betr = VFak_Betr + Aufze.Net_Betr.
  4100. END.
  4101. DYNAMIC-FUNCTION('schreibenLinie':U, LiPos, FoBreite) NO-ERROR.
  4102. { putstream.i "1" }
  4103. LiKopf = FALSE.
  4104. /* RUN GEBINDE_SALDO. */
  4105. /* RUN GEBINDE_LIEFERUNG. */
  4106. RFakArt = FakArt.
  4107. FakArt = 89.
  4108. RUN GEBINDE_RUECKNAHME_TABELLE.
  4109. FakArt = RFakArt.
  4110. /* RUN SCHLUSS_TEXT. */
  4111. /* RUN KOPF_MUTATION. */
  4112. END PROCEDURE.
  4113. /* _UIB-CODE-BLOCK-END */
  4114. &ANALYZE-RESUME
  4115. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE RETOUREN_KOPF C-Win
  4116. PROCEDURE RETOUREN_KOPF :
  4117. /*------------------------------------------------------------------------------
  4118. Purpose:
  4119. Parameters: <none>
  4120. Notes:
  4121. ------------------------------------------------------------------------------*/
  4122. DEFINE VARIABLE cWochentag AS CHARACTER NO-UNDO
  4123. INIT 'Sonntag,Montag,Dienstag,Mittwoch,Donnerstag,Freitag,Samstag'.
  4124. RUN NEUE_SEITE.
  4125. IF VSeite = 1 THEN
  4126. DO:
  4127. FIND Adresse USE-INDEX Adresse-k1
  4128. WHERE Adresse.Firma = AdFirma
  4129. AND Adresse.Knr = BAufko.Knr NO-LOCK NO-ERROR.
  4130. FIND LDebst USE-INDEX Debst-k1
  4131. WHERE LDebst.Firma = GVFirma
  4132. AND LDebst.Knr = BAufko.Knr NO-LOCK NO-ERROR.
  4133. FIND FDebst USE-INDEX Debst-k1
  4134. WHERE FDebst.Firma = GVFirma
  4135. AND FDebst.Knr = BAufko.Fak_Knr NO-LOCK NO-ERROR.
  4136. FIND Wust USE-INDEX Wust-k1
  4137. WHERE Wust.CodeK = LDebst.MWST
  4138. AND Wust.CodeA = 99 NO-LOCK NO-ERROR.
  4139. LVSprcd = Adresse.Sprcd.
  4140. DebInkl = FALSE.
  4141. IF AVAILABLE Wust THEN DebInkl = Wust.Incl.
  4142. XTelnr = ''.
  4143. IF DebInkl THEN
  4144. DO:
  4145. IF Adresse.Tel-2 <> '' THEN XTelnr = Adresse.Tel-2.
  4146. ELSE XTelnr = Adresse.Tel-1.
  4147. END.
  4148. ELSE
  4149. DO:
  4150. IF Adresse.Tel-1 <> '' THEN XTelnr = Adresse.Tel-1.
  4151. ELSE XTelnr = Adresse.Tel-2.
  4152. END.
  4153. END.
  4154. F_Seite = VSeite.
  4155. F_Faknr = BAufko.Faknr.
  4156. DISPLAY F_Seite
  4157. F_Faknr WITH FRAME {&FRAME-NAME}.
  4158. FIND Femeld NO-LOCK USE-INDEX Femeld-k1
  4159. WHERE Femeld.Sprcd = LVSprcd
  4160. AND Femeld.FeNr = 1100 NO-ERROR.
  4161. IF NOT AVAILABLE Femeld THEN
  4162. DO:
  4163. FIND Femeld NO-LOCK USE-INDEX Femeld-k1
  4164. WHERE Femeld.Sprcd = 1
  4165. AND Femeld.FeNr = 1100 NO-ERROR.
  4166. END.
  4167. IF AVAILABLE Femeld AND
  4168. Femeld.FeText <> '' THEN cWochentag = Femeld.FeText.
  4169. VZeile = ''.
  4170. { putstream.i BLiDruck.Listkzz }.
  4171. IF BAufko.Adresse[05] <> '' THEN
  4172. DO:
  4173. { putstream.i "1" }
  4174. DO ix = 1 TO 5:
  4175. SUBSTRING(VZeile,060) = BAufko.Adresse[ix].
  4176. IF ix = 5 THEN
  4177. DO: { putstreamf.i "1" }.
  4178. END.
  4179. ELSE
  4180. DO: { putstream.i "1" }.
  4181. END.
  4182. END.
  4183. END.
  4184. ELSE
  4185. DO:
  4186. DO ix = 6 TO 11:
  4187. SUBSTRING(VZeile,060) = Adresse.Anschrift[ix].
  4188. IF ix = 11 THEN
  4189. DO: { putstreamf.i "1" }.
  4190. END.
  4191. ELSE
  4192. DO: { putstream.i "1" }.
  4193. END.
  4194. END.
  4195. END.
  4196. { putstream.i "2" }
  4197. SUBSTRING(VZeile,001) = BDrucker.Dru12cpi
  4198. + BDrucker.DruFettb
  4199. + TRIM(SUBSTRING(FormText[02],01,30))
  4200. + STRING(BAufko.Aufnr,"z999999")
  4201. + " /"
  4202. + STRING(VSeite,"zz9")
  4203. + BDrucker.DruFont[06].
  4204. { putstream.i "2" }
  4205. DO WHILE VSeite = 1.
  4206. RUN ABLADEVORSCHRIFT.
  4207. RUN VERSANDART.
  4208. RUN TOURENPLAN.
  4209. SUBSTRING(VZeile,001) = TRIM (SUBSTRING(FormText[08],01,20))
  4210. + ' '
  4211. + STRING(BAufko.Knr,"999999")
  4212. + ' / '
  4213. + XTelnr.
  4214. SUBSTRING(VZeile,060) = TRIM (SUBSTRING(FormText[07],01,20))
  4215. + ' '
  4216. + STRING(FDatum,"99.99.9999").
  4217. { putstream.i "2" }
  4218. /* SUBSTRING(VZeile,001) = TRIM(SUBSTRING(FormText[22],01,20)) */
  4219. /* + " " */
  4220. /* + BAufko.U_Ref. */
  4221. /* SUBSTRING(VZeile,060) = TRIM(SUBSTRING(FormText[08],21,20)) */
  4222. /* + STRING(BAufko.Gewicht,"zzz,zz9.999 Kg"). */
  4223. /* { putstream.i "1" } */
  4224. /* */
  4225. /* SUBSTRING(VZeile,001) = TRIM(SUBSTRING(FormText[07],21,20)) */
  4226. /* + " " */
  4227. /* + BAufko.I_Best. */
  4228. /* SUBSTRING(VZeile,060) = TRIM(SUBSTRING(FormText[18],21,20)) */
  4229. /* + " " */
  4230. /* + XTour + ' ' + BAufko.Tour_Nr2. */
  4231. /* { putstream.i "1" } */
  4232. /* */
  4233. /* SUBSTRING(VZeile,001) = TRIM(SUBSTRING(FormText[07],41,20)) */
  4234. /* + " " */
  4235. /* + ENTRY(WEEKDAY(BAufko.Auf_Datum), cWochentag, ',') */
  4236. /* + ", " */
  4237. /* + STRING(BAufko.Auf_Datum,"99.99.9999"). */
  4238. /* SUBSTRING(VZeile,060) = TRIM(BDrucker.DruFettb) */
  4239. /* + XAblade */
  4240. /* + TRIM(BDrucker.DruFette). */
  4241. /* { putstream.i "1" } */
  4242. /* */
  4243. /* SUBSTRING(VZeile,001) = TRIM(SUBSTRING(FormText[09],21,20)) */
  4244. /* + " " */
  4245. /* + ENTRY(WEEKDAY(BAufko.Lief_Datum), cWochentag, ',') */
  4246. /* + ", " */
  4247. /* + STRING(BAufko.Lief_Datum,"99.99.9999"). */
  4248. /* SUBSTRING(VZeile,060) = TRIM(SUBSTRING(FormText[09],01,20)) */
  4249. /* + " " */
  4250. /* + XVersand. */
  4251. /* { putstream.i "1" } */
  4252. LEAVE.
  4253. END.
  4254. IF LiKopf THEN
  4255. DO:
  4256. DYNAMIC-FUNCTION('schreibenUeberschrift':U, LiPos, FoBreite, TiHoehe) NO-ERROR.
  4257. { putstream.i "1" }
  4258. SUBSTRING(VZeile,001) = FormText[03].
  4259. SUBSTRING(VZeile,071) = FormText[04].
  4260. { putstreamf.i "2" }
  4261. END.
  4262. ELSE
  4263. DO:
  4264. { putstream.i "1" }
  4265. END.
  4266. END PROCEDURE.
  4267. /* _UIB-CODE-BLOCK-END */
  4268. &ANALYZE-RESUME
  4269. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE RUESTSCHEIN C-Win
  4270. PROCEDURE RUESTSCHEIN :
  4271. /*------------------------------------------------------------------------------
  4272. Purpose:
  4273. Parameters: <none>
  4274. Notes:
  4275. ------------------------------------------------------------------------------*/
  4276. DEFINE VARIABLE Menge AS INTEGER NO-UNDO.
  4277. DEFINE VARIABLE Gebinde AS INTEGER NO-UNDO.
  4278. VSeite = 0.
  4279. VFak_Betr = 0.
  4280. Menge = 0.
  4281. Gebinde = 0.
  4282. LiKopf = TRUE.
  4283. FPreis = FALSE.
  4284. FBetrag = FALSE.
  4285. FRabatt = FALSE.
  4286. FSamm = FALSE.
  4287. FLagOrt = TRUE .
  4288. LiPos = 140.
  4289. FoBreite = 2120.
  4290. TiHoehe = 120.
  4291. VKopfArt = 'RUESTSCHEIN_KOPF'.
  4292. RUN VALUE(VKopfArt).
  4293. FOR EACH TAufze NO-LOCK
  4294. BY TAufze.Aufnr
  4295. BY TAufze.LagOrt
  4296. BY TAufze.Sort1
  4297. BY TAufze.Sort2
  4298. BY TAufze.Sort3
  4299. BY TAufze.Artnr
  4300. BY TAufze.Inhalt
  4301. BY TAufze.Jahr
  4302. BY TAufze.Pos :
  4303. IF (BLiDruck.Listtzz - VLine - 2) < BLiDruck.Listfzz THEN
  4304. DO:
  4305. RUN VALUE(VKopfArt).
  4306. END.
  4307. FIND Aufze WHERE RECID(Aufze) = TAufze.Zeile NO-LOCK.
  4308. RUN ARTIKELZEILE_RUESTSCHEIN.
  4309. VFak_Betr = VFak_Betr + Aufze.Net_Betr.
  4310. Gebinde = Gebinde + Aufze.VGeb_Me .
  4311. Menge = Menge + Aufze.MGel .
  4312. END.
  4313. DYNAMIC-FUNCTION('schreibenLinie':U, LiPos, FoBreite) NO-ERROR.
  4314. { putstream.i "2" }
  4315. SUBSTRING(VZeile,050) = TRIM(SUBSTRING(FormText[22],21,20)).
  4316. SUBSTRING(VZeile,070) = STRING(Menge ,"->>>>9").
  4317. SUBSTRING(VZeile,090) = STRING(BAufko.Gewicht,"->>>>>9.999").
  4318. { putstreamf.i "1" }
  4319. SUBSTRING(VZeile,050) = TRIM(SUBSTRING(FormText[22],41,20)).
  4320. SUBSTRING(VZeile,070) = STRING(Gebinde ,"->>>>9").
  4321. { putstreamf.i "1" }
  4322. DEFINE VARIABLE aa AS INTEGER NO-UNDO.
  4323. aa = FakArt.
  4324. FakArt = 60.
  4325. RUN SCHLUSS_TEXT.
  4326. FakArt = aa.
  4327. RUN KOPF_MUTATION.
  4328. LiKopf = FALSE.
  4329. END PROCEDURE.
  4330. /* _UIB-CODE-BLOCK-END */
  4331. &ANALYZE-RESUME
  4332. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE RUESTSCHEIN_KOPF C-Win
  4333. PROCEDURE RUESTSCHEIN_KOPF :
  4334. /*------------------------------------------------------------------------------
  4335. Purpose:
  4336. Parameters: <none>
  4337. Notes:
  4338. ------------------------------------------------------------------------------*/
  4339. DEFINE VARIABLE cWochentag AS CHARACTER NO-UNDO
  4340. INIT 'Sonntag,Montag,Dienstag,Mittwoch,Donnerstag,Freitag,Samstag'.
  4341. RUN NEUE_SEITE.
  4342. IF VSeite = 1 THEN
  4343. DO:
  4344. FIND Adresse USE-INDEX Adresse-k1
  4345. WHERE Adresse.Firma = AdFirma
  4346. AND Adresse.Knr = BAufko.Knr NO-LOCK NO-ERROR.
  4347. FIND LDebst USE-INDEX Debst-k1
  4348. WHERE LDebst.Firma = GVFirma
  4349. AND LDebst.Knr = BAufko.Knr NO-LOCK NO-ERROR.
  4350. FIND FDebst USE-INDEX Debst-k1
  4351. WHERE FDebst.Firma = GVFirma
  4352. AND FDebst.Knr = BAufko.Fak_Knr NO-LOCK NO-ERROR.
  4353. FIND Wust USE-INDEX Wust-k1
  4354. WHERE Wust.CodeK = LDebst.MWST
  4355. AND Wust.CodeA = 99 NO-LOCK NO-ERROR.
  4356. LVSprcd = Adresse.Sprcd.
  4357. DebInkl = FALSE.
  4358. IF AVAILABLE Wust THEN DebInkl = Wust.Incl.
  4359. XTelnr = ''.
  4360. IF DebInkl THEN
  4361. DO:
  4362. IF Adresse.Tel-2 <> '' THEN XTelnr = Adresse.Tel-2.
  4363. ELSE XTelnr = Adresse.Tel-1.
  4364. END.
  4365. ELSE
  4366. DO:
  4367. IF Adresse.Tel-1 <> '' THEN XTelnr = Adresse.Tel-1.
  4368. ELSE XTelnr = Adresse.Tel-2.
  4369. END.
  4370. END.
  4371. F_Seite = VSeite.
  4372. F_Faknr = BAufko.Faknr.
  4373. DISPLAY F_Seite
  4374. F_Faknr WITH FRAME {&FRAME-NAME}.
  4375. FIND Femeld NO-LOCK USE-INDEX Femeld-k1
  4376. WHERE Femeld.Sprcd = LVSprcd
  4377. AND Femeld.FeNr = 1100 NO-ERROR.
  4378. IF NOT AVAILABLE Femeld THEN
  4379. DO:
  4380. FIND Femeld NO-LOCK USE-INDEX Femeld-k1
  4381. WHERE Femeld.Sprcd = 1
  4382. AND Femeld.FeNr = 1100 NO-ERROR.
  4383. END.
  4384. IF AVAILABLE Femeld AND
  4385. Femeld.FeText <> '' THEN cWochentag = Femeld.FeText.
  4386. VZeile = ''.
  4387. { putstream.i BLiDruck.Listkzz }.
  4388. FIND Steuer USE-INDEX Steuer-k1
  4389. WHERE Steuer.Firma = GVFirma NO-LOCK NO-ERROR.
  4390. IF BAufko.Adresse[05] <> '' THEN
  4391. DO:
  4392. { putstream.i 1 }
  4393. DO ix = 1 TO 5:
  4394. SUBSTRING(VZeile,060) = BAufko.Adresse[ix].
  4395. IF ix = 5 THEN
  4396. DO: { putstreamf.i "1" }.
  4397. END.
  4398. ELSE
  4399. DO: { putstream.i "1" }.
  4400. END.
  4401. END.
  4402. END.
  4403. ELSE
  4404. DO:
  4405. DO ix = 6 TO 11:
  4406. SUBSTRING(VZeile,060) = Adresse.Anschrift[ix].
  4407. IF ix = 11 THEN
  4408. DO: { putstreamf.i "1" }.
  4409. END.
  4410. ELSE
  4411. DO: { putstream.i "1" }.
  4412. END.
  4413. END.
  4414. END.
  4415. { putstream.i "3" }
  4416. SUBSTRING(VZeile,001) = BDrucker.Dru10cpi
  4417. + BDrucker.DruFettb
  4418. + TRIM(SUBSTRING(FormText[02],01,20))
  4419. + STRING(BAufko.Aufnr,"z999999")
  4420. + " /"
  4421. + STRING(VSeite,"zz9")
  4422. + BDrucker.DruFont[06].
  4423. { putstreamf.i "2" }
  4424. DO WHILE VSeite = 1.
  4425. RUN ABLADEVORSCHRIFT.
  4426. RUN VERSANDART.
  4427. RUN LIEFERBEDINGUNG.
  4428. RUN WIRTESONNTAG.
  4429. RUN TOURENPLAN.
  4430. SUBSTRING(VZeile,001) = TRIM (SUBSTRING(FormText[08],01,20))
  4431. + ' '
  4432. + STRING(BAufko.Knr,"999999")
  4433. + ' / '
  4434. + XTelnr.
  4435. SUBSTRING(VZeile,060) = TRIM (SUBSTRING(FormText[07],01,20))
  4436. + ' '
  4437. + STRING(FDatum,"99.99.9999").
  4438. { putstream.i "2" }
  4439. SUBSTRING(VZeile,001) = TRIM (SUBSTRING(FormText[07],21,20))
  4440. + " "
  4441. + BAufko.I_Best.
  4442. SUBSTRING(VZeile,060) = TRIM (SUBSTRING(FormText[22],01,20))
  4443. + " "
  4444. + BAufko.U_Ref.
  4445. { putstream.i "1" }
  4446. SUBSTRING(VZeile,001) = TRIM (SUBSTRING(FormText[07],41,20))
  4447. + " "
  4448. + ENTRY(WEEKDAY(BAufko.Auf_Datum), cWochentag, ',')
  4449. + ", "
  4450. + STRING(BAufko.Auf_Datum,"99.99.9999").
  4451. SUBSTRING(VZeile,060) = TRIM (SUBSTRING(FormText[19],21,20))
  4452. + " "
  4453. + XWirtesonntag + ' ' + BAufko.Wirt_So_Text.
  4454. { putstream.i "1" }
  4455. SUBSTRING(VZeile,001) = TRIM (SUBSTRING(FormText[09],21,20))
  4456. + " "
  4457. + ENTRY(WEEKDAY(BAufko.Lief_Datum), cWochentag, ',')
  4458. + ", "
  4459. + STRING(BAufko.Lief_Datum,"99.99.9999").
  4460. SUBSTRING(VZeile,060) = TRIM (SUBSTRING(FormText[19],01,20))
  4461. + " "
  4462. + XLieferbed.
  4463. { putstreamf.i "1" }
  4464. SUBSTRING(VZeile,001) = TRIM (SUBSTRING(FormText[19],41,20))
  4465. + " "
  4466. + XTour + ' ' + BAufko.Tour_Nr2.
  4467. SUBSTRING(VZeile,060) = TRIM(BDrucker.DruFettb)
  4468. + XAblade
  4469. + TRIM(BDrucker.DruFette).
  4470. { putstream.i "2" }
  4471. LEAVE.
  4472. END.
  4473. IF LiKopf THEN
  4474. DO:
  4475. DYNAMIC-FUNCTION('schreibenUeberschrift':U, LiPos, FoBreite, TiHoehe) NO-ERROR.
  4476. { putstream.i "1" }
  4477. SUBSTRING(VZeile,001) = FormText[03].
  4478. SUBSTRING(VZeile,071) = FormText[04].
  4479. { putstreamf.i "1" }
  4480. SUBSTRING(VZeile,001) = FormText[05].
  4481. SUBSTRING(VZeile,071) = FormText[06].
  4482. StBreite = LENGTH(VZeile).
  4483. { putstreamf.i "2" }
  4484. END.
  4485. ELSE
  4486. DO:
  4487. { putstream.i "2" }
  4488. END.
  4489. END PROCEDURE.
  4490. /* _UIB-CODE-BLOCK-END */
  4491. &ANALYZE-RESUME
  4492. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SAMMELSUCHEN C-Win
  4493. PROCEDURE SAMMELSUCHEN :
  4494. /*------------------------------------------------------------------------------
  4495. Purpose:
  4496. Parameters: <none>
  4497. Notes:
  4498. ------------------------------------------------------------------------------*/
  4499. FIND FIRST SammFak WHERE SammFak.Knr = BAufko.Fak_Knr
  4500. AND SammFak.Samm_Nr = BAufko.Samm_Nr NO-ERROR.
  4501. IF AVAILABLE SammFak THEN RETURN.
  4502. SFaknr = 0.
  4503. FOR EACH Aufko USE-INDEX Aufko-k5
  4504. WHERE Aufko.Firma = BAufko.Firma
  4505. AND Aufko.Fak_Art = BAufko.Fak_Art
  4506. AND Aufko.Samm_Nr = BAufko.Samm_Nr :
  4507. /*
  4508. IF Aufko.Auf_Sta < 4 THEN DO:
  4509. Aufko.Faknr = 0.
  4510. NEXT.
  4511. END.
  4512. */
  4513. IF SFaknr = 0 THEN SFaknr = Aufko.Faknr.
  4514. CREATE SammFak.
  4515. ASSIGN
  4516. SammFak.Knr = Aufko.Fak_Knr
  4517. SammFak.LS_Knr = Aufko.Knr
  4518. SammFak.Aufnr = Aufko.Aufnr
  4519. SammFak.Samm_Nr = Aufko.Samm_Nr
  4520. SammFak.RID = RECID(Aufko).
  4521. END.
  4522. FOR EACH SammFak:
  4523. SammFak.Faknr = SFaknr.
  4524. END.
  4525. END PROCEDURE.
  4526. /* _UIB-CODE-BLOCK-END */
  4527. &ANALYZE-RESUME
  4528. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SAMMFAK C-Win
  4529. PROCEDURE SAMMFAK :
  4530. /*------------------------------------------------------------------------------
  4531. Purpose:
  4532. Parameters: <none>
  4533. Notes:
  4534. ------------------------------------------------------------------------------*/
  4535. DEFINE VARIABLE cWochentag AS CHARACTER NO-UNDO
  4536. INIT 'Sonntag,Montag,Dienstag,Mittwoch,Donnerstag,Freitag,Samstag'.
  4537. Zuszz = 10.
  4538. LiKopf = TRUE.
  4539. FPreis = TRUE.
  4540. FBetrag = TRUE.
  4541. FRabatt = TRUE.
  4542. FUeber = FALSE.
  4543. FSamm = TRUE.
  4544. FLagOrt = FALSE.
  4545. LiPos = 200.
  4546. FoBreite = 2080.
  4547. TiHoehe = 70.
  4548. OCRB = BDrucker.DruFont [03].
  4549. Schacht3 = BDrucker.DruSchacht[03].
  4550. VKopfArt = 'SAMMFAK_KOPF'.
  4551. IF (BLiDruck.Listtzz - VLine - Zuszz ) < BLiDruck.Listfzz THEN
  4552. DO:
  4553. TiDruck = TRUE.
  4554. END.
  4555. IF TiDruck THEN
  4556. DO:
  4557. RUN VALUE(VKopfArt).
  4558. END.
  4559. ELSE
  4560. DO:
  4561. { putstream.i "2" }
  4562. SUBSTRING(VZeile,001) = TRIM(SUBSTRING(FormText[17],21,20))
  4563. + " "
  4564. + STRING(BAufko.Aufnr,"999999").
  4565. { putstream.i "1" }
  4566. SUBSTRING(VZeile,001) = TRIM(SUBSTRING(FormText[07],41,20))
  4567. + " "
  4568. + STRING(BAufko.Auf_Datum,"99.99.9999").
  4569. { putstream.i "1" }
  4570. DYNAMIC-FUNCTION('schreibenUeberschrift':U, LiPos, FoBreite, TiHoehe) NO-ERROR.
  4571. { putstream.i "1" }
  4572. SUBSTRING(VZeile,001) = FormText[03].
  4573. SUBSTRING(VZeile,071) = FormText[04].
  4574. { putstreamf.i "2" }
  4575. END.
  4576. /* LiefAdr = ''. */
  4577. /* IF BAufko.Knr <> BAufko.Fak_Knr THEN DO: */
  4578. /* FIND BAdresse USE-INDEX Adresse-k1 */
  4579. /* WHERE BAdresse.Firma = AdFirma */
  4580. /* AND BAdresse.Knr = BAufko.Knr NO-LOCK NO-ERROR. */
  4581. /* LiefAdr = BAdresse.Anzeig_Br. */
  4582. /* END. */
  4583. IF LiefAdr <> '' THEN
  4584. DO:
  4585. VZeile = LiefAdr.
  4586. { putstreamf.i "1" }
  4587. END.
  4588. FOR EACH TAufze NO-LOCK
  4589. BY TAufze.Aufnr
  4590. BY TAufze.Sort1
  4591. BY TAufze.Sort2
  4592. BY TAufze.Sort3
  4593. BY TAufze.Artnr
  4594. BY TAufze.Inhalt
  4595. BY TAufze.Jahr
  4596. BY TAufze.Pos :
  4597. IF (BLiDruck.Listtzz - VLine - 2) < BLiDruck.Listfzz THEN
  4598. DO:
  4599. RUN VALUE(VKopfArt).
  4600. END.
  4601. FIND Aufze WHERE RECID(Aufze) = TAufze.Zeile NO-LOCK.
  4602. RUN ARTIKELZEILE_LIEFERFAK.
  4603. VFak_Betr = VFak_Betr + Aufze.Net_Betr.
  4604. END.
  4605. DYNAMIC-FUNCTION('schreibenLinie':U, LiPos, FoBreite) NO-ERROR.
  4606. { putstream.i "1" }
  4607. SUBSTRING(VZeile,009) = TRIM(SUBSTRING(FormText[10],41,20)).
  4608. SUBSTRING(VZeile,086) = STRING(VFak_Betr,"->>,>>9.99").
  4609. { putstreamf.i "1" }
  4610. LiKopf = FALSE.
  4611. RUN SUMMENRABATTE.
  4612. { putstream.i "1" }
  4613. RUN GEBINDE_SALDO.
  4614. RUN GEBINDE_ABRECHNUNG.
  4615. DO ix = 1 TO 12:
  4616. GTWpfl[ix] = GTWpfl[ix] + BAufko.Wpfl[ix].
  4617. GTWust[ix] = GTWust[ix] + BAufko.Wust[ix].
  4618. END.
  4619. GTFak_Betr = GTFak_Betr + VFak_Betr.
  4620. GTSk_Ber = GTSk_Ber + BAufko.Sk_Ber.
  4621. RUN KOPF_MUTATION.
  4622. FIND Aufko WHERE RECID(Aufko) = RECID(BAufko) NO-LOCK.
  4623. TiDruck = FALSE.
  4624. IF FLetzt THEN RUN SAMMFAK_ENDE.
  4625. END PROCEDURE.
  4626. /* _UIB-CODE-BLOCK-END */
  4627. &ANALYZE-RESUME
  4628. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SAMMFAK_ENDE C-Win
  4629. PROCEDURE SAMMFAK_ENDE :
  4630. /*------------------------------------------------------------------------------
  4631. Purpose:
  4632. Parameters: <none>
  4633. Notes:
  4634. ------------------------------------------------------------------------------*/
  4635. DYNAMIC-FUNCTION('schreibenLinie':U, Lipos, FoBreite) NO-ERROR.
  4636. { putstream.i "1" }
  4637. SUBSTRING(VZeile,009) = TRIM(SUBSTRING(FormText[14],01,20)).
  4638. SUBSTRING(VZeile,086) = STRING(GTFak_Betr,"->>,>>9.99").
  4639. { putstreamf.i "2" }
  4640. FUeber = TRUE.
  4641. VFak_Betr = GTFak_Betr.
  4642. DO ix = 1 TO 11:
  4643. IF GTWpfl[ix] = 0 THEN NEXT.
  4644. GTFak_Betr = GTFak_Betr + GTWust[ix].
  4645. Zuszz = Zuszz + 1.
  4646. END.
  4647. IF Zuszz > 0 THEN Zuszz = Zuszz + 6.
  4648. IF (BLiDruck.Listtzz - VLine - Zuszz) < BLiDruck.Listfzz THEN
  4649. DO:
  4650. RUN VALUE(VKopfArt).
  4651. END.
  4652. DO ix = 1 TO 11:
  4653. IF GTWpfl[ix] = 0 THEN NEXT.
  4654. FIND LAST MWSTAns USE-INDEX MWSTAns-k1
  4655. WHERE MWSTAns.MWST_Cd = ix
  4656. AND MWSTAns.Datum <= BAufko.Kond_Datum NO-LOCK.
  4657. SUBSTRING(VZeile,040) = MWSTAns.Bez.
  4658. SUBSTRING(VZeile,073) = STRING(GTWpfl[ix],"->>,>>9.99").
  4659. SUBSTRING(VZeile,086) = STRING(GTWust[ix],"->>,>>9.99").
  4660. SUBSTRING(VZeile,097) = STRING(ix ,"z9").
  4661. { putstream.i "1" }
  4662. END.
  4663. Rundbetr = GTFak_Betr.
  4664. Rundcode = 1.
  4665. RUN runden.p.
  4666. GTFak_Betr = Rundbetr.
  4667. DYNAMIC-FUNCTION('schreibenLinie':U, 200, 2080) NO-ERROR.
  4668. { putstream.i "1" }
  4669. SUBSTRING(VZeile,009) = TRIM(FormText[16]).
  4670. SUBSTRING(VZeile,086) = STRING(GTFak_Betr,"->>,>>9.99").
  4671. { putstreamf.i "1" }
  4672. SUBSTRING(VZeile,086) = '=========='.
  4673. { putstreamf.i "2" }
  4674. FUeber = FALSE.
  4675. RUN ZAHLUNGSKONDITION ( GTSk_Ber ).
  4676. IF VBesr = 0 THEN
  4677. DO:
  4678. RUN UMSATZVERTEILUNG.
  4679. RUN SCHLUSS_TEXT.
  4680. END.
  4681. Rundbetr = GTFak_Betr.
  4682. VesrKnr = BAufko.Fak_Knr.
  4683. VesrFnr = BAufko.Faknr.
  4684. VBesrArt = 'VESR_DRUCK' + STRING(VBesr,"99").
  4685. IF Kondi.Skonto[01] <> 0 THEN Rundbetr = 0.
  4686. IF VBesr > 0 THEN RUN VALUE(VBesrArt).
  4687. END PROCEDURE.
  4688. /* _UIB-CODE-BLOCK-END */
  4689. &ANALYZE-RESUME
  4690. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SAMMFAK_KOPF C-Win
  4691. PROCEDURE SAMMFAK_KOPF :
  4692. /*------------------------------------------------------------------------------
  4693. Purpose:
  4694. Parameters: <none>
  4695. Notes:
  4696. ------------------------------------------------------------------------------*/
  4697. RUN NEUE_SEITE.
  4698. IF VSeite = 1 THEN
  4699. DO:
  4700. REPEAT WHILE SFaknr = 0 TRANSACTION:
  4701. RUN steunr.p ( INPUT 2, OUTPUT VFaknr ).
  4702. IF RETURN-VALUE <> '' THEN NEXT.
  4703. SFaknr = VFaknr.
  4704. END.
  4705. FIND Adresse USE-INDEX Adresse-k1
  4706. WHERE Adresse.Firma = AdFirma
  4707. AND Adresse.Knr = (IF BAufko.Fak_Knr > 0 THEN BAufko.Fak_Knr ELSE BAufko.Knr) NO-LOCK NO-ERROR.
  4708. FIND LDebst USE-INDEX Debst-k1
  4709. WHERE LDebst.Firma = GVFirma
  4710. AND LDebst.Knr = BAufko.Knr NO-LOCK NO-ERROR.
  4711. FIND FDebst USE-INDEX Debst-k1
  4712. WHERE FDebst.Firma = GVFirma
  4713. AND FDebst.Knr = (IF BAufko.Fak_Knr > 0 THEN BAufko.Fak_Knr ELSE BAufko.Knr) NO-LOCK NO-ERROR.
  4714. FIND Wust USE-INDEX Wust-k1
  4715. WHERE Wust.CodeK = LDebst.MWST
  4716. AND Wust.CodeA = 99 NO-LOCK NO-ERROR.
  4717. LVSprcd = Adresse.Sprcd.
  4718. DebInkl = FALSE.
  4719. IF AVAILABLE Wust THEN DebInkl = Wust.Incl.
  4720. XTelnr = ''.
  4721. IF DebInkl THEN
  4722. DO:
  4723. IF Adresse.Tel-2 <> '' THEN XTelnr = Adresse.Tel-2.
  4724. ELSE XTelnr = Adresse.Tel-1.
  4725. END.
  4726. ELSE
  4727. DO:
  4728. IF Adresse.Tel-1 <> '' THEN XTelnr = Adresse.Tel-1.
  4729. ELSE XTelnr = Adresse.Tel-2.
  4730. END.
  4731. END.
  4732. F_Seite = VSeite.
  4733. F_Faknr = SFaknr.
  4734. DISPLAY F_Seite
  4735. F_Faknr WITH FRAME {&FRAME-NAME}.
  4736. VZeile = ''.
  4737. { putstream.i BLiDruck.Listkzz }.
  4738. DO ix = 6 TO 11:
  4739. SUBSTRING(VZeile,060) = Adresse.Anschrift[ix].
  4740. IF ix = 11 THEN
  4741. DO: { putstreamf.i "1" }.
  4742. END.
  4743. ELSE
  4744. DO: { putstream.i "1" }.
  4745. END.
  4746. END.
  4747. { putstream.i "1" }
  4748. SUBSTRING(VZeile,001) = BDrucker.Dru12cpi
  4749. + BDrucker.DruFettb
  4750. + TRIM(SUBSTRING(FormText[02],01,20))
  4751. + STRING(SFaknr,"z999999")
  4752. + " /"
  4753. + STRING(VSeite,"zz9")
  4754. + BDrucker.DruFont[06].
  4755. IF VSeite = 1 THEN
  4756. DO:
  4757. { putstreamf.i "1" }
  4758. SUBSTRING(VZeile,001) = TRIM(SUBSTRING(FormText[18],01,20))
  4759. + " "
  4760. + BSteuer.MWST_Nr.
  4761. { putstream.i "1" }
  4762. SUBSTRING(VZeile,001) = TRIM (SUBSTRING(FormText[08],01,20))
  4763. + ' '
  4764. + STRING(BAufko.Knr,"999999")
  4765. + ' / '
  4766. + XTelnr.
  4767. SUBSTRING(VZeile,060) = TRIM (SUBSTRING(FormText[07],01,20))
  4768. + ' '
  4769. + STRING(FDatum,"99.99.9999").
  4770. { putstream.i "2" }
  4771. END.
  4772. ELSE
  4773. DO:
  4774. { putstreamf.i "2" }
  4775. END.
  4776. DO WHILE TiDruck.
  4777. SUBSTRING(VZeile,001) = TRIM(SUBSTRING(FormText[17],21,20))
  4778. + " "
  4779. + STRING(BAufko.Aufnr,"999999").
  4780. { putstream.i "1" }
  4781. SUBSTRING(VZeile,001) = TRIM(SUBSTRING(FormText[07],41,20))
  4782. + " "
  4783. + STRING(BAufko.Auf_Datum,"99.99.9999").
  4784. { putstream.i "1" }
  4785. LEAVE.
  4786. END.
  4787. IF LiKopf THEN
  4788. DO:
  4789. DYNAMIC-FUNCTION('schreibenUeberschrift':U, LiPos, FoBreite, TiHoehe) NO-ERROR.
  4790. { putstream.i "1" }
  4791. SUBSTRING(VZeile,001) = FormText[03].
  4792. SUBSTRING(VZeile,071) = FormText[04].
  4793. { putstreamf.i "2" }
  4794. END.
  4795. ELSE
  4796. DO:
  4797. { putstream.i "1" }
  4798. END.
  4799. IF VSeite > 1 AND
  4800. FUeber = TRUE THEN
  4801. DO:
  4802. SUBSTRING(VZeile,009) = TRIM(SUBSTRING(FormText[09],41,20)).
  4803. SUBSTRING(VZeile,086) = STRING(VFak_Betr,"->>,>>9.99").
  4804. { putstreamf.i "2" }
  4805. END.
  4806. END PROCEDURE.
  4807. /* _UIB-CODE-BLOCK-END */
  4808. &ANALYZE-RESUME
  4809. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SCHLUSS_TEXT C-Win
  4810. PROCEDURE SCHLUSS_TEXT :
  4811. /*------------------------------------------------------------------------------
  4812. Purpose:
  4813. Parameters: <none>
  4814. Notes:
  4815. ------------------------------------------------------------------------------*/
  4816. DEFINE VARIABLE cTextArt AS CHARACTER NO-UNDO.
  4817. cTextArt = 'DOK' + STRING(FakArt,'99').
  4818. FIND TabTexte USE-INDEX TabTexte-k1
  4819. WHERE TabTexte.Firma = GVFirma
  4820. AND TabTexte.TextArt = cTextArt
  4821. AND TabTexte.Sprcd = LVSprcd NO-LOCK NO-ERROR.
  4822. IF NOT AVAILABLE TabTexte THEN RETURN.
  4823. VTabTexte = TabTexte.Inhalt.
  4824. Zuszz = NUM-ENTRIES(VTabTexte, CHR(10)).
  4825. IF Zuszz > 0 THEN Zuszz = Zuszz + 2.
  4826. IF VBesr = 0 OR
  4827. VDokArt BEGINS 'LIEFER' THEN
  4828. DO:
  4829. IF (BLiDruck.Listtzz - VLine - Zuszz) < BLiDruck.Listfzz THEN
  4830. DO:
  4831. RUN VALUE(VKopfArt).
  4832. END.
  4833. END.
  4834. VZeile = ''.
  4835. DO ix = 1 TO NUM-ENTRIES(VTabTexte, CHR(10)):
  4836. VZeile = ENTRY(ix, VTabTexte, CHR(10)).
  4837. { putstream.i "1" }.
  4838. END.
  4839. IF VZeile <> '' THEN
  4840. DO:
  4841. { putstream.i "1" }.
  4842. END.
  4843. END PROCEDURE.
  4844. /* _UIB-CODE-BLOCK-END */
  4845. &ANALYZE-RESUME
  4846. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SCHLUSS_TEXT_EXCEL C-Win
  4847. PROCEDURE SCHLUSS_TEXT_EXCEL :
  4848. /*------------------------------------------------------------------------------
  4849. Purpose:
  4850. Parameters: <none>
  4851. Notes:
  4852. ------------------------------------------------------------------------------*/
  4853. DEFINE VARIABLE cTextArt AS CHARACTER NO-UNDO.
  4854. cTextArt = 'DOK' + STRING(FakArt,'99').
  4855. FIND TabTexte NO-LOCK USE-INDEX TabTexte-k1
  4856. WHERE TabTexte.Firma = GVFirma
  4857. AND TabTexte.TextArt = cTextArt
  4858. AND TabTexte.Sprcd = LVSprcd NO-ERROR.
  4859. IF NOT AVAILABLE TabTexte THEN RETURN.
  4860. VTabTexte = TabTexte.Inhalt.
  4861. IF vTabTexte <> '' THEN PUT CONTROL '£' CHR(10) '£' CHR(10).
  4862. DO ix = 1 TO NUM-ENTRIES(VTabTexte, CHR(10)):
  4863. PUT CONTROL '£' ENTRY(ix, VTabTexte, CHR(10)) CHR(10).
  4864. END.
  4865. END PROCEDURE.
  4866. /* _UIB-CODE-BLOCK-END */
  4867. &ANALYZE-RESUME
  4868. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SUMMENRABATTE C-Win
  4869. PROCEDURE SUMMENRABATTE :
  4870. /*------------------------------------------------------------------------------
  4871. Purpose:
  4872. Parameters: <none>
  4873. Notes:
  4874. ------------------------------------------------------------------------------*/
  4875. DEFINE VARIABLE RText AS CHARACTER FORMAT "x(20)" NO-UNDO.
  4876. DEFINE VARIABLE WText AS CHARACTER NO-UNDO.
  4877. DO WHILE FRabatt:
  4878. Zuszz = 0.
  4879. FOR EACH TRabSumm NO-LOCK:
  4880. IF TRabSumm.Auf_Rab <> 0 THEN Zuszz = Zuszz + 1.
  4881. IF TRabSumm.Abh_Rab <> 0 THEN Zuszz = Zuszz + 1.
  4882. END.
  4883. FOR EACH TSpeRab WHERE TSpeRab.Auf_Betr <> 0 NO-LOCK:
  4884. Zuszz = Zuszz + 1.
  4885. END.
  4886. /* Receycling */
  4887. FOR EACH AufGKon USE-INDEX AufGKon-k1
  4888. WHERE AufGKon.Firma = BAufko.Firma
  4889. AND AufGKon.Aufnr = BAufko.Aufnr
  4890. AND AufGKon.Gebuehr <> 0
  4891. AND AufGKon.Betrag <> 0 NO-LOCK:
  4892. Zuszz = Zuszz + 1.
  4893. END.
  4894. IF Zuszz > 0 THEN Zuszz = Zuszz + 09.
  4895. IF (BLiDruck.Listtzz - VLine - Zuszz) < BLiDruck.Listfzz THEN
  4896. DO:
  4897. RUN VALUE(VKopfArt).
  4898. END.
  4899. LEAVE.
  4900. END.
  4901. /* Auftragsrabatt ---------------------------------------------------- */
  4902. i5 = 0.
  4903. FOR EACH TRabSumm WHERE TRabSumm.Auf_Rab <> 0
  4904. BY TRabSumm.Rab_Summ:
  4905. Rundbetr = TRabSumm.Auf_Rab.
  4906. VFak_Betr = VFak_Betr - Rundbetr.
  4907. IF NOT FRabatt THEN NEXT.
  4908. IF Rundbetr < 0 THEN RText = VZusText.
  4909. ELSE RText = VRabText.
  4910. FIND FIRST AufRabSu USE-INDEX AufRabSu-k1
  4911. WHERE AufRabSu.Firma = BAufko.Firma
  4912. AND AufRabSu.Aufnr = BAufko.Aufnr
  4913. AND AufRabSu.Rab_Summ = TRabSumm.Rab_Summ NO-LOCK.
  4914. IF AufRabSu.F_Art = 1 THEN WText = "%".
  4915. ELSE WText = "Fr.".
  4916. RabWert = ABSOLUT(AufRabSu.F_Wert).
  4917. SUBSTRING(VZeile,040) = RText
  4918. + " "
  4919. + TRabSumm.Bez.
  4920. SUBSTRING(VZeile,078) = STRING(RabWert,"->>9.99 ")
  4921. + WText.
  4922. SUBSTRING(VZeile,086) = STRING(- Rundbetr,"->>,>>9.99").
  4923. { putstream.i "1" }
  4924. i5 = i5 + 1.
  4925. fZeiDruck = TRUE.
  4926. END.
  4927. /* Abholrabatt ------------------------------------------------------- */
  4928. FOR EACH TRabSumm WHERE TRabSumm.Abh_Rab <> 0
  4929. BY TRabSumm.Rab_Summ:
  4930. Rundbetr = TRabSumm.Abh_Rab.
  4931. VFak_Betr = VFak_Betr - Rundbetr.
  4932. IF NOT FRabatt THEN NEXT.
  4933. IF Rundbetr < 0 THEN RText = VZusText.
  4934. ELSE RText = VRabText.
  4935. FIND FIRST AufRabSu USE-INDEX AufRabSu-k1
  4936. WHERE AufRabSu.Firma = BAufko.Firma
  4937. AND AufRabSu.Aufnr = BAufko.Aufnr
  4938. AND AufRabSu.Rab_Summ = TRabSumm.Rab_Summ NO-LOCK.
  4939. IF AufRabSu.A_Art = 1 THEN WText = "%".
  4940. ELSE WText = "Fr.".
  4941. RabWert = ABSOLUT(AufRabSu.A_Wert).
  4942. SUBSTRING(VZeile,040) = RText
  4943. + " "
  4944. + TRabSumm.Bez.
  4945. SUBSTRING(VZeile,078) = STRING(RabWert,"->>9.99 ")
  4946. + WText.
  4947. SUBSTRING(VZeile,086) = STRING(- Rundbetr,"->>,>>9.99").
  4948. { putstream.i "1" }
  4949. i5 = i5 + 1.
  4950. fZeiDruck = TRUE.
  4951. END.
  4952. /* Spezialpreis-Auftragsrabatte ---------------------------------------- */
  4953. FOR EACH TSpeRab WHERE TSpeRab.Auf_Betr <> 0
  4954. BY TSpeRab.Rab_Grp:
  4955. Rundbetr = TSpeRab.Auf_Betr.
  4956. VFak_Betr = VFak_Betr - Rundbetr.
  4957. IF NOT FRabatt THEN NEXT.
  4958. FIND Tabel USE-INDEX Tabel-k1
  4959. WHERE Tabel.Firma = GVFirma
  4960. AND Tabel.RecArt = 'ARABGRP'
  4961. AND Tabel.CodeC = ''
  4962. AND Tabel.CodeI = TSpeRab.Rab_Grp
  4963. AND Tabel.Sprcd = 1 NO-LOCK.
  4964. IF Rundbetr < 0 THEN RText = VZusText.
  4965. ELSE RText = VRabText.
  4966. FIND FIRST AufSpRab USE-INDEX AufSpRab-k1
  4967. WHERE AufSpRab.Firma = BAufko.Firma
  4968. AND AufSpRab.Aufnr = BAufko.Aufnr
  4969. AND AufSpRab.Rab_Grp = TSpeRab.Rab_Grp NO-LOCK.
  4970. IF AufSpRab.Auf_Proz_Betr THEN WText = "%".
  4971. ELSE WText = "Fr.".
  4972. RabWert = ABSOLUT(AufSpRab.Auf_Wert).
  4973. SUBSTRING(VZeile,040) = RText
  4974. + " "
  4975. + TRIM(Tabel.Bez1).
  4976. SUBSTRING(VZeile,078) = STRING(RabWert,"->>9.99 ")
  4977. + WText.
  4978. SUBSTRING(VZeile,086) = STRING(- Rundbetr,"->>,>>9.99").
  4979. { putstream.i "1" }
  4980. i5 = i5 + 1.
  4981. fZeiDruck = TRUE.
  4982. END.
  4983. IF i5 > 0 THEN
  4984. DO:
  4985. SUBSTRING(VZeile,040) = TRIM(SUBSTRING(FormText[14],21,20)).
  4986. SUBSTRING(VZeile,086) = STRING(VFak_Betr,"->>,>>9.99").
  4987. { putstreamf.i "1" }
  4988. END.
  4989. /* Recycling-Gebühren ------------------------------------------------ */
  4990. i5 = 0.
  4991. FOR EACH AufGKon USE-INDEX AufGKon-k1
  4992. WHERE AufGKon.Firma = BAufko.Firma
  4993. AND AufGKon.Aufnr = BAufko.Aufnr
  4994. AND AufGKon.Gebuehr <> 0
  4995. AND AufGKon.Betrag <> 0 NO-LOCK:
  4996. VFak_Betr = VFak_Betr + AufGKon.Betrag.
  4997. IF NOT FRabatt THEN NEXT.
  4998. VWC = AufGKon.MWSt_Cd.
  4999. SUBSTRING(VZeile,040) = TRIM(SUBSTRING(FormText[11],41,20)).
  5000. SUBSTRING(VZeile,086) = STRING(AufGKon.Betrag ,"->>,>>9.99").
  5001. SUBSTRING(VZeile,097) = STRING(AufGKon.MWSt_Cd ,"z9").
  5002. { putstream.i "1" }
  5003. i5 = i5 + 1.
  5004. fZeiDruck = TRUE.
  5005. FIND FIRST TUmsGrp WHERE TUmsGrp.Ums_Grp = 1000 NO-ERROR.
  5006. IF NOT AVAILABLE TUmsGrp THEN
  5007. DO:
  5008. FIND WarenGrp USE-INDEX WarenGrp-k1
  5009. WHERE WarenGrp.Firma = GVFirma
  5010. AND WarenGrp.Wgr = 1000 NO-LOCK NO-ERROR.
  5011. CREATE TUmsGrp.
  5012. ASSIGN
  5013. TUmsGrp.Ums_Grp = 1000
  5014. TUmsGrp.Bez = 'Recyclinggebühren'.
  5015. END.
  5016. TUmsGrp.Ums_Betr = TUmsGrp.Ums_Betr + AufGKon.Betrag.
  5017. END.
  5018. IF i5 > 0 THEN
  5019. DO:
  5020. SUBSTRING(VZeile,040) = TRIM(SUBSTRING(FormText[14],41,20)).
  5021. SUBSTRING(VZeile,086) = STRING(VFak_Betr,"->>,>>9.99").
  5022. { putstreamf.i "1" }
  5023. END.
  5024. END PROCEDURE.
  5025. /* _UIB-CODE-BLOCK-END */
  5026. &ANALYZE-RESUME
  5027. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SUMMENRABATTE_KASSE C-Win
  5028. PROCEDURE SUMMENRABATTE_KASSE :
  5029. /*------------------------------------------------------------------------------
  5030. Purpose:
  5031. Parameters: <none>
  5032. Notes:
  5033. ------------------------------------------------------------------------------*/
  5034. DEFINE VARIABLE RText AS CHARACTER FORMAT "x(20)" NO-UNDO.
  5035. DEFINE VARIABLE WText AS CHARACTER NO-UNDO.
  5036. DEFINE VARIABLE xLeer AS LOG NO-UNDO.
  5037. /* Auftragsrabatt ---------------------------------------------------- */
  5038. i5 = 0.
  5039. xLeer = FALSE.
  5040. FOR EACH TRabSumm WHERE TRabSumm.Auf_Rab <> 0
  5041. BY TRabSumm.Rab_Summ:
  5042. Rundbetr = TRabSumm.Auf_Rab.
  5043. VFak_Betr = VFak_Betr - Rundbetr.
  5044. IF NOT FRabatt THEN NEXT.
  5045. IF Rundbetr < 0 THEN RText = VZusText.
  5046. ELSE RText = VRabText.
  5047. FIND FIRST AufRabSu USE-INDEX AufRabSu-k1
  5048. WHERE AufRabSu.Firma = BAufko.Firma
  5049. AND AufRabSu.Aufnr = BAufko.Aufnr
  5050. AND AufRabSu.Rab_Summ = TRabSumm.Rab_Summ NO-LOCK.
  5051. IF AufRabSu.F_Art = 1 THEN WText = "%".
  5052. ELSE WText = "Fr.".
  5053. RabWert = ABSOLUT(AufRabSu.F_Wert).
  5054. SUBSTRING(VZeile,001) = RText
  5055. + " "
  5056. + TRabSumm.Bez.
  5057. VZeile = TRIM(SUBSTRING(VZeile,01,20)).
  5058. SUBSTRING(VZeile,020) = STRING( RabWert ,"->>>9.99").
  5059. SUBSTRING(VZeile,029) = STRING(- Rundbetr,"->>>9.99").
  5060. { putstream.i "1" }
  5061. i5 = i5 + 1.
  5062. END.
  5063. /* Abholrabatt ------------------------------------------------------- */
  5064. FOR EACH TRabSumm WHERE TRabSumm.Abh_Rab <> 0
  5065. BY TRabSumm.Rab_Summ:
  5066. Rundbetr = TRabSumm.Abh_Rab.
  5067. VFak_Betr = VFak_Betr - Rundbetr.
  5068. IF NOT FRabatt THEN NEXT.
  5069. IF Rundbetr < 0 THEN RText = VZusText.
  5070. ELSE RText = VRabText.
  5071. FIND FIRST AufRabSu USE-INDEX AufRabSu-k1
  5072. WHERE AufRabSu.Firma = BAufko.Firma
  5073. AND AufRabSu.Aufnr = BAufko.Aufnr
  5074. AND AufRabSu.Rab_Summ = TRabSumm.Rab_Summ NO-LOCK.
  5075. IF AufRabSu.A_Art = 1 THEN WText = "%".
  5076. ELSE WText = "Fr.".
  5077. RabWert = ABSOLUT(AufRabSu.A_Wert).
  5078. SUBSTRING(VZeile,001) = RText
  5079. + " "
  5080. + TRabSumm.Bez.
  5081. VZeile = TRIM(SUBSTRING(VZeile,01,20)).
  5082. SUBSTRING(VZeile,020) = STRING( RabWert ,"->>>9.99").
  5083. SUBSTRING(VZeile,029) = STRING(- Rundbetr,"->>>9.99").
  5084. { putstream.i "1" }
  5085. i5 = i5 + 1.
  5086. END.
  5087. /* Spezialpreis-Auftragsrabatte ---------------------------------------- */
  5088. FOR EACH TSpeRab WHERE TSpeRab.Auf_Betr <> 0
  5089. BY TSpeRab.Rab_Grp:
  5090. Rundbetr = TSpeRab.Auf_Betr.
  5091. VFak_Betr = VFak_Betr - Rundbetr.
  5092. IF NOT FRabatt THEN NEXT.
  5093. FIND Tabel USE-INDEX Tabel-k1
  5094. WHERE Tabel.Firma = GVFirma
  5095. AND Tabel.RecArt = 'ARABGRP'
  5096. AND Tabel.CodeC = ''
  5097. AND Tabel.CodeI = TSpeRab.Rab_Grp
  5098. AND Tabel.Sprcd = 1 NO-LOCK.
  5099. IF Rundbetr < 0 THEN RText = VZusText.
  5100. ELSE RText = VRabText.
  5101. FIND FIRST AufSpRab USE-INDEX AufSpRab-k1
  5102. WHERE AufSpRab.Firma = BAufko.Firma
  5103. AND AufSpRab.Aufnr = BAufko.Aufnr
  5104. AND AufSpRab.Rab_Grp = TSpeRab.Rab_Grp NO-LOCK.
  5105. IF AufSpRab.Auf_Proz_Betr THEN WText = "%".
  5106. ELSE WText = "Fr.".
  5107. RabWert = ABSOLUT(AufSpRab.Auf_Wert).
  5108. SUBSTRING(VZeile,001) = RText
  5109. + " "
  5110. + TRIM(Tabel.Bez1).
  5111. VZeile = TRIM(SUBSTRING(VZeile,01,20)).
  5112. SUBSTRING(VZeile,020) = STRING( RabWert ,"->>>9.99").
  5113. SUBSTRING(VZeile,029) = STRING(- Rundbetr,"->>>9.99").
  5114. { putstream.i "1" }
  5115. i5 = i5 + 1.
  5116. END.
  5117. IF i5 > 0 THEN
  5118. DO:
  5119. SUBSTRING(VZeile,001) = TRIM(SUBSTRING(FormText[14],21,20)).
  5120. SUBSTRING(VZeile,029) = STRING(VFak_Betr,"->>>9.99").
  5121. { putstreamf.i "1" }
  5122. xLeer = TRUE.
  5123. END.
  5124. /* Recycling-Gebühren ------------------------------------------------ */
  5125. i5 = 0.
  5126. FOR EACH AufGKon USE-INDEX AufGKon-k1
  5127. WHERE AufGKon.Firma = BAufko.Firma
  5128. AND AufGKon.Aufnr = BAufko.Aufnr
  5129. AND AufGKon.Gebuehr <> 0
  5130. AND AufGKon.Betrag <> 0 NO-LOCK:
  5131. VFak_Betr = VFak_Betr + AufGKon.Betrag.
  5132. IF NOT FRabatt THEN NEXT.
  5133. VWC = AufGKon.MWSt_Cd.
  5134. FIND GebKonto OF AufGKon NO-LOCK NO-ERROR.
  5135. IF AVAILABLE GebKonto THEN
  5136. SUBSTRING(VZeile,001) = TRIM(SUBSTRING(GebKonto.Bez,01,28)).
  5137. ELSE SUBSTRING(VZeile,001) = TRIM(SUBSTRING(FormText[11],41,20)).
  5138. SUBSTRING(VZeile,029) = STRING(AufGKon.Betrag ,"->>>9.99").
  5139. SUBSTRING(VZeile,039) = STRING(AufGKon.MWSt_Cd ,"z9").
  5140. { putstream.i "1" }
  5141. i5 = i5 + 1.
  5142. FIND FIRST TUmsGrp WHERE TUmsGrp.Ums_Grp = 1000 NO-ERROR.
  5143. IF NOT AVAILABLE TUmsGrp THEN
  5144. DO:
  5145. FIND WarenGrp USE-INDEX WarenGrp-k1
  5146. WHERE WarenGrp.Firma = GVFirma
  5147. AND WarenGrp.Wgr = 1000 NO-LOCK NO-ERROR.
  5148. CREATE TUmsGrp.
  5149. ASSIGN
  5150. TUmsGrp.Ums_Grp = 1000
  5151. TUmsGrp.Bez = 'Recyclinggebühren'.
  5152. END.
  5153. TUmsGrp.Ums_Betr = TUmsGrp.Ums_Betr + AufGKon.Betrag.
  5154. END.
  5155. IF i5 > 0 THEN
  5156. DO:
  5157. SUBSTRING(VZeile,001) = TRIM(SUBSTRING(FormText[14],41,20)).
  5158. SUBSTRING(VZeile,029) = STRING(VFak_Betr,"->>>9.99").
  5159. { putstreamf.i "1" }
  5160. xLeer = TRUE.
  5161. END.
  5162. { putstream.i "1" }
  5163. END PROCEDURE.
  5164. /* _UIB-CODE-BLOCK-END */
  5165. &ANALYZE-RESUME
  5166. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE TOURENPLAN C-Win
  5167. PROCEDURE TOURENPLAN :
  5168. /*------------------------------------------------------------------------------
  5169. Purpose:
  5170. Parameters: <none>
  5171. Notes:
  5172. ------------------------------------------------------------------------------*/
  5173. XTour = ''.
  5174. IF BAufko.Tour_Nr2 <> '' THEN XTour = BAufko.Tour_Nr2.
  5175. ELSE
  5176. DO:
  5177. FIND Tabel USE-INDEX Tabel-k1
  5178. WHERE Tabel.Firma = GVFirma
  5179. AND Tabel.RecArt = 'TOUR1'
  5180. AND Tabel.CodeC = ''
  5181. AND Tabel.CodeI = BAufko.Tour_Nr1
  5182. AND Tabel.Sprcd = 1 NO-LOCK NO-ERROR.
  5183. IF AVAILABLE Tabel THEN XTour = Tabel.Bez1.
  5184. END.
  5185. END PROCEDURE.
  5186. /* _UIB-CODE-BLOCK-END */
  5187. &ANALYZE-RESUME
  5188. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE UMSATZVERTEILUNG C-Win
  5189. PROCEDURE UMSATZVERTEILUNG :
  5190. /*------------------------------------------------------------------------------
  5191. Purpose:
  5192. Parameters: <none>
  5193. Notes:
  5194. ------------------------------------------------------------------------------*/
  5195. Zuszz = 0.
  5196. Ja = FALSE.
  5197. FOR EACH TUmsGrp NO-LOCK:
  5198. Zuszz = Zuszz + 1.
  5199. END.
  5200. IF Zuszz > 0 THEN
  5201. DO:
  5202. Zuszz = Zuszz + 2.
  5203. Ja = TRUE.
  5204. END.
  5205. IF VBesr = 0 THEN
  5206. DO:
  5207. IF (BLiDruck.Listtzz - VLine - Zuszz) < BLiDruck.Listfzz THEN
  5208. DO:
  5209. RUN VALUE(VKopfArt).
  5210. END.
  5211. END.
  5212. IF Ja THEN
  5213. DO:
  5214. SUBSTRING(VZeile,009) = TRIM(SUBSTRING(FormText[15],41,20)).
  5215. { putstreamf.i "1" }
  5216. END.
  5217. FOR EACH TUmsGrp WHERE TUmsGrp.Ums_Betr <> 0 NO-LOCK
  5218. BY TUmsGrp.Ums_Grp :
  5219. SUBSTRING(VZeile,009) = TUmsGrp.Bez.
  5220. SUBSTRING(VZeile,040) = FwFRW.
  5221. SUBSTRING(VZeile,050) = STRING(TUmsGrp.Ums_Betr,"->>>,>>9.99").
  5222. IF TUmsGrp.Ums_Recy <> 0 THEN
  5223. SUBSTRING(VZeile,065) = STRING(TUmsGrp.Ums_Recy,"->>>,>>9.99").
  5224. { putstream.i "1" }
  5225. END.
  5226. IF Ja THEN
  5227. DO:
  5228. { putstream.i "1" }
  5229. END.
  5230. END PROCEDURE.
  5231. /* _UIB-CODE-BLOCK-END */
  5232. &ANALYZE-RESUME
  5233. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE VERSANDART C-Win
  5234. PROCEDURE VERSANDART :
  5235. /*--------------------------------------------------------------------------
  5236. Purpose:
  5237. Parameters: <none>
  5238. Notes:
  5239. --------------------------------------------------------------------------*/
  5240. XVersand = ''.
  5241. FIND Tabel USE-INDEX Tabel-k1
  5242. WHERE Tabel.Firma = GVFirma
  5243. AND Tabel.RecArt = 'LIEFART'
  5244. AND Tabel.CodeC = ''
  5245. AND Tabel.CodeI = BAufko.Lief_Bed
  5246. AND Tabel.Sprcd = 1 NO-LOCK NO-ERROR.
  5247. IF AVAILABLE Tabel THEN XVersand = Tabel.Bez1.
  5248. END PROCEDURE.
  5249. /* _UIB-CODE-BLOCK-END */
  5250. &ANALYZE-RESUME
  5251. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE VESR_DRUCK C-Win
  5252. PROCEDURE VESR_DRUCK :
  5253. /*------------------------------------------------------------------------------
  5254. Purpose:
  5255. Parameters: <none>
  5256. Notes:
  5257. ------------------------------------------------------------------------------*/
  5258. IF VBesr = 0 THEN RETURN.
  5259. /* FIND Kondi USE-INDEX Kondi-k1
  5260. * WHERE Kondi.Kond = BAufko.Kond
  5261. * AND Kondi.Sprcd = LVSprcd NO-LOCK NO-ERROR.
  5262. * IF AVAILABLE Kondi THEN DO:
  5263. * IF Kondi.Skonto[01] <> 0 THEN Rundbetr = 0.
  5264. * END.*/
  5265. DEFINE VARIABLE VVESR AS CHARACTER FORMAT "x(90)" EXTENT 25.
  5266. DEFINE VARIABLE PZBetrag AS CHARACTER FORMAT "x(13)" NO-UNDO.
  5267. DEFINE VARIABLE PZReferenz AS CHARACTER FORMAT "x(27)" NO-UNDO.
  5268. DEFINE VARIABLE PZTNummer AS CHARACTER FORMAT "x(09)" NO-UNDO.
  5269. DEFINE VARIABLE VSZeile AS CHARACTER FORMAT "x(58)" NO-UNDO.
  5270. DEFINE VARIABLE VZeile AS CHARACTER FORMAT "x(58)" NO-UNDO.
  5271. DEFINE VARIABLE XArt AS INTEGER NO-UNDO.
  5272. DEFINE VARIABLE XAnz AS INTEGER NO-UNDO.
  5273. DEFINE VARIABLE XBetr AS CHARACTER FORMAT "x(20)" NO-UNDO.
  5274. DEFINE VARIABLE VESR_P AS CHARACTER FORMAT "x(02)" NO-UNDO.
  5275. DEFINE VARIABLE VESR AS CHARACTER FORMAT "x(02)" NO-UNDO.
  5276. DEFINE VARIABLE XBetrag AS CHARACTER FORMAT "x(12)" NO-UNDO.
  5277. DEFINE VARIABLE XCodeC AS CHARACTER NO-UNDO.
  5278. DEFINE VARIABLE XP AS INTEGER NO-UNDO.
  5279. DEFINE VARIABLE YP AS INTEGER NO-UNDO.
  5280. RUN BESR_DATEN ( INPUT FDebst.BESR_Art ).
  5281. XCodeC = 'BESR' + STRING(VBesr,"99").
  5282. FIND Tabel USE-INDEX Tabel-k1
  5283. WHERE Tabel.Firma = GVFirma
  5284. AND Tabel.RecArt = 'FAKDRU'
  5285. AND Tabel.CodeC = XCodeC
  5286. AND Tabel.CodeI = 0
  5287. AND Tabel.Sprcd = 1 NO-LOCK NO-ERROR.
  5288. IF NOT AVAILABLE Tabel THEN RETURN.
  5289. FIND XSchrift USE-INDEX Schrift-k1
  5290. WHERE XSchrift.Schname = Tabel.Bez1
  5291. AND XSchrift.Schbild = Tabel.Bez2 NO-LOCK NO-ERROR.
  5292. IF NOT AVAILABLE XSchrift THEN RETURN.
  5293. FIND XDrucker USE-INDEX Drucker-k1
  5294. WHERE XDrucker.Drucker = XSchrift.Schdru NO-LOCK NO-ERROR.
  5295. IF NOT AVAILABLE XDrucker THEN RETURN.
  5296. VTempVESR = VTemp + "VESR".
  5297. XSchacht = Tabel.Dec_3.
  5298. OUTPUT STREAM Out_Stream TO VALUE(VTempVESR).
  5299. DO WHILE TRUE:
  5300. PZBetrag = ''.
  5301. IF Rundbetr <= 0 THEN
  5302. DO:
  5303. PZBetrag = FILL('*', 13).
  5304. PZReferenz = FILL('*', 27).
  5305. PZTNummer = FILL('*', 09).
  5306. XBetrag = FILL('*', 12).
  5307. END.
  5308. ELSE
  5309. DO:
  5310. PZBetrag = "01".
  5311. PZBetrag = PZBetrag + STRING((Rundbetr * 100),"9999999999 ").
  5312. PZReferenz = cBESRBn
  5313. + STRING(VesrKnr,"999999")
  5314. + "00"
  5315. + STRING(VesrFnr,"999999").
  5316. PZTNummer = cBESRTn.
  5317. XBetrag = STRING((Rundbetr * 100),"zz,zzz,zz999").
  5318. RUN PRUEFZIFFER ( INPUT-OUTPUT PZBetrag , INPUT-OUTPUT PZReferenz,
  5319. INPUT-OUTPUT PZTNummer, OUTPUT VSZeile ).
  5320. END.
  5321. PUT STREAM Out_Stream CONTROL CHR(27) "&l4H". /* Schacht 2 */
  5322. PUT STREAM Out_Stream CONTROL CHR(27) "&l1O" /* Querformat */
  5323. CHR(27) "(10U" /* CODEPAGE 850 */
  5324. CHR(27) "(s4102t0b0p0s12h10V". /* LetterGotic 12cpi */
  5325. XP = 980.
  5326. YP = 610.
  5327. VZeile = ''.
  5328. RUN DRUCKPOSITION ( INPUT 300, INPUT XP, INPUT YP ).
  5329. SUBSTRING(VZeile,001) = "Raiffeisenbank Flums".
  5330. SUBSTRING(VZeile,030) = "Raiffeisenbank Flums".
  5331. PUT STREAM Out_Stream CONTROL VZeile CHR(10).
  5332. YP = YP + 50.
  5333. VZeile = ''.
  5334. RUN DRUCKPOSITION ( INPUT 300, INPUT XP, INPUT YP ).
  5335. SUBSTRING(VZeile,001) = "8890 Flums".
  5336. SUBSTRING(VZeile,030) = "8890 Flums".
  5337. PUT STREAM Out_Stream CONTROL VZeile CHR(10).
  5338. YP = YP + 150.
  5339. VZeile = ''.
  5340. RUN DRUCKPOSITION ( INPUT 300, INPUT XP, INPUT YP ).
  5341. SUBSTRING(VZeile,001) = "Wilhaber Getränke".
  5342. SUBSTRING(VZeile,030) = "Wilhaber Getränke".
  5343. PUT STREAM Out_Stream CONTROL VZeile CHR(10).
  5344. YP = YP + 50.
  5345. VZeile = ''.
  5346. RUN DRUCKPOSITION ( INPUT 300, INPUT XP, INPUT YP ).
  5347. SUBSTRING(VZeile,001) = "Lochriet".
  5348. SUBSTRING(VZeile,030) = "Lochriet".
  5349. PUT STREAM Out_Stream CONTROL VZeile CHR(10).
  5350. YP = YP + 50.
  5351. VZeile = ''.
  5352. RUN DRUCKPOSITION ( INPUT 300, INPUT XP, INPUT YP ).
  5353. SUBSTRING(VZeile,001) = "8890 Flums".
  5354. SUBSTRING(VZeile,030) = "8890 Flums".
  5355. PUT STREAM Out_Stream CONTROL VZeile CHR(10).
  5356. YP = YP + 93.
  5357. VZeile = ''.
  5358. RUN DRUCKPOSITION ( INPUT 300, INPUT XP, INPUT YP ).
  5359. SUBSTRING(VZeile,013) = "01-1046-8".
  5360. SUBSTRING(VZeile,041) = "01-1046-8".
  5361. SUBSTRING(VZeile,062) = STRING(PZReferenz,"XX XXXXX XXXXX XXXXX XXXXX XXXXX").
  5362. PUT STREAM Out_Stream CONTROL VZeile CHR(10).
  5363. YP = YP + 110.
  5364. XP = 985.
  5365. VZeile = ''.
  5366. RUN DRUCKPOSITION ( INPUT 300, INPUT XP, INPUT YP ).
  5367. SUBSTRING(VZeile,004) = STRING(XBetrag,"XXXXXXXXXX XX").
  5368. SUBSTRING(VZeile,033) = STRING(XBetrag,"XXXXXXXXXX XX").
  5369. PUT STREAM Out_Stream CONTROL VZeile CHR(10).
  5370. YP = YP + 90.
  5371. XP = 980.
  5372. VZeile = ''.
  5373. RUN DRUCKPOSITION ( INPUT 300, INPUT XP, INPUT YP ).
  5374. PUT STREAM Out_Stream CONTROL CHR(27) "(10U" /* CODEPAGE 850 */
  5375. CHR(27) "(s4102t0b0p0s16h8V". /* LetterGotic 16cpi */
  5376. SUBSTRING(VZeile,001) = STRING(PZReferenz,"XX XXXXX XXXXX XXXXX XXXXX XXXXX").
  5377. PUT STREAM Out_Stream CONTROL VZeile CHR(10).
  5378. FIND Adresse USE-INDEX Adresse-k1
  5379. WHERE Adresse.Firma = AdFirma
  5380. AND Adresse.Knr = VesrKnr NO-LOCK NO-ERROR.
  5381. YP = YP + 160.
  5382. PUT STREAM Out_Stream CONTROL CHR(27) "(10U" /* CODEPAGE 850 */
  5383. CHR(27) "(s4102t0b0p0s12h10V". /* LetterGotic 12cpi */
  5384. RUN DRUCKPOSITION ( INPUT 300, INPUT XP, INPUT YP ).
  5385. DO ix = 12 TO 7 BY -1:
  5386. VZeile = ''.
  5387. SUBSTRING(VZeile,059) = Adresse.Anschrift[ix].
  5388. IF ix = 12 THEN VZeile = XDrucker.Drufettb + VZeile + XDrucker.Drufette.
  5389. PUT STREAM Out_Stream CONTROL VZeile CHR(10).
  5390. YP = YP - 48.
  5391. RUN DRUCKPOSITION ( INPUT 300, INPUT XP, INPUT YP ).
  5392. END.
  5393. YP = 1430.
  5394. PUT STREAM Out_Stream CONTROL CHR(27) "(10U" /* CODEPAGE 850 */
  5395. CHR(27) "(s4102t0b0p0s13h09V". /* LetterGotic 14cpi */
  5396. RUN DRUCKPOSITION ( INPUT 300, INPUT XP, INPUT YP ).
  5397. DO ix = 12 TO 8 BY -1:
  5398. VZeile = ''.
  5399. SUBSTRING(VZeile,001) = STRING(Adresse.Anschrift[ix],"x(30)").
  5400. PUT STREAM Out_Stream CONTROL VZeile CHR(10).
  5401. YP = YP - 43.
  5402. RUN DRUCKPOSITION ( INPUT 300, INPUT XP, INPUT YP ).
  5403. END.
  5404. YP = 1505.
  5405. VZeile = ''.
  5406. PUT STREAM Out_Stream CONTROL CHR(27) "(1O" /* CODEPAGE OCR-B */
  5407. CHR(27) "(s110t0b0p0s10h12V" /* OCR-B 10 cpi */
  5408. /*CHR(13)*/.
  5409. XP = XP + 15.
  5410. RUN DRUCKPOSITION ( INPUT 300, INPUT XP, INPUT YP ).
  5411. XP = XP - 15.
  5412. SUBSTRING(VZeile,022) = "H".
  5413. SUBSTRING(VZeile,027) = STRING(VSZeile,"x(53)").
  5414. PUT STREAM Out_Stream CONTROL VZeile CHR(10).
  5415. PUT STREAM Out_Stream CONTROL XDrucker.Dru10cpi.
  5416. PUT STREAM Out_Stream CONTROL '£' CHR(12) CHR(13).
  5417. LEAVE.
  5418. END.
  5419. OUTPUT STREAM Out_Stream CLOSE.
  5420. END PROCEDURE.
  5421. /* _UIB-CODE-BLOCK-END */
  5422. &ANALYZE-RESUME
  5423. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE VESR_DRUCK01 C-Win
  5424. PROCEDURE VESR_DRUCK01 :
  5425. /*------------------------------------------------------------------------------
  5426. Purpose:
  5427. Parameters: <none>
  5428. Notes:
  5429. ------------------------------------------------------------------------------*/
  5430. /* ENDLOSGARNITUREN */
  5431. DEFINE VARIABLE VVESR AS CHARACTER FORMAT "x(90)" EXTENT 25.
  5432. DEFINE VARIABLE PZBetrag AS CHARACTER FORMAT "x(13)" NO-UNDO.
  5433. DEFINE VARIABLE PZReferenz AS CHARACTER FORMAT "x(27)" NO-UNDO.
  5434. DEFINE VARIABLE PZTNummer AS CHARACTER FORMAT "x(09)" NO-UNDO.
  5435. DEFINE VARIABLE VSZeile AS CHARACTER FORMAT "x(58)" NO-UNDO.
  5436. DEFINE VARIABLE VZeile AS CHARACTER FORMAT "x(58)" NO-UNDO.
  5437. DEFINE VARIABLE XArt AS INTEGER NO-UNDO.
  5438. DEFINE VARIABLE XAnz AS INTEGER NO-UNDO.
  5439. DEFINE VARIABLE XBetr AS CHARACTER FORMAT "x(20)" NO-UNDO.
  5440. DEFINE VARIABLE VESR_P AS CHARACTER FORMAT "x(02)" NO-UNDO.
  5441. DEFINE VARIABLE VESR AS CHARACTER FORMAT "x(02)" NO-UNDO.
  5442. DEFINE VARIABLE XBetrag AS CHARACTER FORMAT "x(12)" NO-UNDO.
  5443. DEFINE VARIABLE XCodeC AS CHARACTER NO-UNDO.
  5444. DEFINE VARIABLE YP AS INTEGER NO-UNDO.
  5445. DEFINE VARIABLE AdrGedruckt AS LOG NO-UNDO.
  5446. RUN BESR_DATEN ( INPUT FDebst.BESR_Art ).
  5447. DO WHILE TRUE:
  5448. IF BAufko.Auf_Sta < 3 THEN Rundbetr = 0.
  5449. PZBetrag = ''.
  5450. IF Rundbetr < 0 THEN
  5451. DO:
  5452. PZBetrag = FILL('*', 13).
  5453. PZReferenz = FILL('*', 27).
  5454. PZTNummer = FILL('*', 09).
  5455. XBetrag = FILL('*', 12).
  5456. END.
  5457. ELSE
  5458. DO:
  5459. IF Rundbetr > 0 THEN
  5460. DO:
  5461. PZBetrag = "01".
  5462. PZBetrag = PZBetrag + STRING((Rundbetr * 100),"9999999999 ").
  5463. PZReferenz = cBESRBn
  5464. + STRING(VesrKnr,"999999")
  5465. + STRING(VesrFnr,"999999").
  5466. PZTNummer = cBESRTn.
  5467. XBetrag = STRING((Rundbetr * 100),"zz,zzz,zz999").
  5468. RUN PRUEFZIFFER ( INPUT-OUTPUT PZBetrag , INPUT-OUTPUT PZReferenz,
  5469. INPUT-OUTPUT PZTNummer, OUTPUT VSZeile ).
  5470. END.
  5471. ELSE
  5472. DO:
  5473. PZBetrag = " 04".
  5474. PZReferenz = cBESRBn
  5475. + STRING(VesrKnr,"999999")
  5476. + STRING(VesrFnr,"999999").
  5477. PZTNummer = cBESRTn.
  5478. XBetrag = "".
  5479. RUN PRUEFZIFFER ( INPUT-OUTPUT PZBetrag , INPUT-OUTPUT PZReferenz,
  5480. INPUT-OUTPUT PZTNummer, OUTPUT VSZeile ).
  5481. END.
  5482. END.
  5483. ix = BLiDruck.Listtzz - BLiDruck.Listfzz - VLine.
  5484. VZeile = ''.
  5485. { putstream.i ix }
  5486. FIND Adresse USE-INDEX Adresse-k1
  5487. WHERE Adresse.Firma = AdFirma
  5488. AND Adresse.Knr = VesrKnr NO-LOCK NO-ERROR.
  5489. VVesr = ''.
  5490. YP = 1.
  5491. SUBSTRING(VVesr[YP],001) = cBESRZe[01].
  5492. SUBSTRING(VVesr[YP],030) = cBESRZe[09].
  5493. YP = YP + 1.
  5494. SUBSTRING(VVesr[YP],001) = cBESRZe[02].
  5495. SUBSTRING(VVesr[YP],030) = cBESRZe[10].
  5496. YP = YP + 1.
  5497. SUBSTRING(VVesr[YP],001) = cBESRZe[03].
  5498. SUBSTRING(VVesr[YP],030) = cBESRZe[11].
  5499. YP = YP + 1.
  5500. SUBSTRING(VVesr[YP],001) = cBESRZe[04].
  5501. SUBSTRING(VVesr[YP],030) = cBESRZe[12].
  5502. YP = YP + 1.
  5503. SUBSTRING(VVesr[YP],001) = cBESRZe[05].
  5504. SUBSTRING(VVesr[YP],030) = cBESRZe[13].
  5505. YP = YP + 1.
  5506. SUBSTRING(VVesr[YP],001) = cBESRZe[06].
  5507. SUBSTRING(VVesr[YP],030) = cBESRZe[14].
  5508. YP = YP + 1.
  5509. SUBSTRING(VVesr[YP],001) = cBESRZe[07].
  5510. SUBSTRING(VVesr[YP],030) = cBESRZe[15].
  5511. SUBSTRING(VVesr[YP],062) = STRING(PZReferenz,"XX XXXXX XXXXX XXXXX XXXXX XXXXX").
  5512. YP = YP + 1.
  5513. SUBSTRING(VVesr[YP],001) = cBESRZe[08].
  5514. SUBSTRING(VVesr[YP],030) = cBESRZe[16].
  5515. YP = YP + 1.
  5516. SUBSTRING(VVesr[YP],015) = cBESRKo[01].
  5517. SUBSTRING(VVesr[YP],043) = cBESRKo[02].
  5518. YP = YP + 2.
  5519. SUBSTRING(VVesr[YP],010) = STRING(XBetrag,"XXXXXXXXXX XX").
  5520. SUBSTRING(VVesr[YP],038) = STRING(XBetrag,"XXXXXXXXXX XX").
  5521. YP = YP + 2.
  5522. SUBSTRING(VVesr[YP + 0],019) = STRING(PZReferenz,"XX XXXXX").
  5523. SUBSTRING(VVesr[YP + 1],004) = STRING(PZReferenz,"XXXXX XXXXX XXXXX XXXXX").
  5524. AdrGedruckt = FALSE.
  5525. DO WHILE TRUE:
  5526. IF NOT BAufko.Passant THEN LEAVE.
  5527. IF BAufko.Adresse[01] = '' AND
  5528. BAufko.Adresse[02] = '' AND
  5529. BAufko.Adresse[03] = '' AND
  5530. BAufko.Adresse[04] = '' AND
  5531. BAufko.Adresse[05] = '' THEN LEAVE.
  5532. YP = YP + 5.
  5533. DO ix = 05 TO 1 BY -1:
  5534. IF ix > 1
  5535. THEN SUBSTRING(VVesr[YP],001) = SUBSTRING(BAufko.Adresse[ix],01,25).
  5536. SUBSTRING(VVesr[YP - 2],065) = SUBSTRING(BAufko.Adresse[ix],01,40).
  5537. YP = YP - 1.
  5538. END.
  5539. AdrGedruckt = TRUE.
  5540. LEAVE.
  5541. END.
  5542. DO WHILE TRUE:
  5543. IF AdrGedruckt THEN LEAVE.
  5544. YP = YP + 5.
  5545. DO ix = 11 TO 6 BY -1:
  5546. IF ix > 7
  5547. THEN SUBSTRING(VVesr[YP],001) = SUBSTRING(Adresse.Anschrift[ix],01,25).
  5548. SUBSTRING(VVesr[YP - 2],065) = SUBSTRING(Adresse.Anschrift[ix],01,40).
  5549. YP = YP - 1.
  5550. END.
  5551. LEAVE.
  5552. END.
  5553. DO ix = 1 TO 18:
  5554. VZeile = VVesr[ix].
  5555. { putstream.i "1" }
  5556. END.
  5557. SUBSTRING(VZeile,027) = STRING(VSZeile,"x(53)").
  5558. SUBSTRING(VZeile,083) = "H".
  5559. VZeile = Druinvb + VZeile + Druinve.
  5560. { putstream.i "1" }
  5561. LEAVE.
  5562. END.
  5563. END PROCEDURE.
  5564. /* _UIB-CODE-BLOCK-END */
  5565. &ANALYZE-RESUME
  5566. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE VESR_DRUCK02 C-Win
  5567. PROCEDURE VESR_DRUCK02 :
  5568. /*------------------------------------------------------------------------------
  5569. Purpose:
  5570. Parameters: <none>
  5571. Notes:
  5572. ------------------------------------------------------------------------------*/
  5573. DEFINE VARIABLE VVESR AS CHARACTER FORMAT "x(90)" EXTENT 25.
  5574. DEFINE VARIABLE PZBetrag AS CHARACTER FORMAT "x(13)" NO-UNDO.
  5575. DEFINE VARIABLE PZReferenz AS CHARACTER FORMAT "x(27)" NO-UNDO.
  5576. DEFINE VARIABLE PZTNummer AS CHARACTER FORMAT "x(09)" NO-UNDO.
  5577. DEFINE VARIABLE VSZeile AS CHARACTER FORMAT "x(58)" NO-UNDO.
  5578. DEFINE VARIABLE VZeile AS CHARACTER FORMAT "x(58)" NO-UNDO.
  5579. DEFINE VARIABLE XArt AS INTEGER NO-UNDO.
  5580. DEFINE VARIABLE XAnz AS INTEGER NO-UNDO.
  5581. DEFINE VARIABLE XBetr AS CHARACTER FORMAT "x(20)" NO-UNDO.
  5582. DEFINE VARIABLE VESR_P AS CHARACTER FORMAT "x(02)" NO-UNDO.
  5583. DEFINE VARIABLE VESR AS CHARACTER FORMAT "x(02)" NO-UNDO.
  5584. DEFINE VARIABLE XBetrag AS CHARACTER FORMAT "x(12)" NO-UNDO.
  5585. DEFINE VARIABLE XCodeC AS CHARACTER NO-UNDO.
  5586. DEFINE VARIABLE YP AS INTEGER NO-UNDO.
  5587. DEFINE VARIABLE AdrGedruckt AS LOG NO-UNDO.
  5588. RUN BESR_DATEN ( INPUT FDebst.BESR_Art ).
  5589. DO WHILE TRUE:
  5590. IF BAufko.Auf_Sta < 3 THEN Rundbetr = 0.
  5591. PZBetrag = ''.
  5592. IF Rundbetr < 0 THEN
  5593. DO:
  5594. PZBetrag = FILL('*', 13).
  5595. PZReferenz = FILL('*', 27).
  5596. PZTNummer = FILL('*', 09).
  5597. XBetrag = FILL('*', 12).
  5598. END.
  5599. ELSE
  5600. DO:
  5601. IF Rundbetr > 0 THEN
  5602. DO:
  5603. PZBetrag = "01".
  5604. PZBetrag = PZBetrag + STRING((Rundbetr * 100),"9999999999 ").
  5605. PZReferenz = cBESRBn
  5606. + STRING(VesrKnr,"999999")
  5607. + STRING(VesrFnr,"999999").
  5608. PZTNummer = cBESRTn.
  5609. XBetrag = STRING((Rundbetr * 100),"zz,zzz,zz999").
  5610. RUN PRUEFZIFFER ( INPUT-OUTPUT PZBetrag , INPUT-OUTPUT PZReferenz,
  5611. INPUT-OUTPUT PZTNummer, OUTPUT VSZeile ).
  5612. END.
  5613. ELSE
  5614. DO:
  5615. PZBetrag = " 04".
  5616. PZReferenz = cBESRBn
  5617. + STRING(VesrKnr,"999999")
  5618. + STRING(VesrFnr,"999999").
  5619. PZTNummer = cBESRTn.
  5620. XBetrag = ''.
  5621. RUN PRUEFZIFFER ( INPUT-OUTPUT PZBetrag , INPUT-OUTPUT PZReferenz,
  5622. INPUT-OUTPUT PZTNummer, OUTPUT VSZeile ).
  5623. END.
  5624. END.
  5625. ix = BLiDruck.Listtzz - BLiDruck.Listfzz - VLine.
  5626. VZeile = ''.
  5627. { putstream.i ix }
  5628. FIND Adresse USE-INDEX Adresse-k1
  5629. WHERE Adresse.Firma = AdFirma
  5630. AND Adresse.Knr = VesrKnr NO-LOCK NO-ERROR.
  5631. VVesr = ''.
  5632. YP = 1.
  5633. SUBSTRING(VVesr[YP],001) = cBESRZe[01].
  5634. SUBSTRING(VVesr[YP],030) = cBESRZe[09].
  5635. YP = YP + 1.
  5636. SUBSTRING(VVesr[YP],001) = cBESRZe[02].
  5637. SUBSTRING(VVesr[YP],030) = cBESRZe[10].
  5638. YP = YP + 1.
  5639. SUBSTRING(VVesr[YP],001) = cBESRZe[03].
  5640. SUBSTRING(VVesr[YP],030) = cBESRZe[11].
  5641. YP = YP + 1.
  5642. SUBSTRING(VVesr[YP],001) = cBESRZe[04].
  5643. SUBSTRING(VVesr[YP],030) = cBESRZe[12].
  5644. YP = YP + 1.
  5645. SUBSTRING(VVesr[YP],001) = cBESRZe[05].
  5646. SUBSTRING(VVesr[YP],030) = cBESRZe[13].
  5647. YP = YP + 1.
  5648. SUBSTRING(VVesr[YP],001) = cBESRZe[06].
  5649. SUBSTRING(VVesr[YP],030) = cBESRZe[14].
  5650. YP = YP + 1.
  5651. SUBSTRING(VVesr[YP],001) = cBESRZe[07].
  5652. SUBSTRING(VVesr[YP],030) = cBESRZe[15].
  5653. YP = YP + 1.
  5654. SUBSTRING(VVesr[YP],001) = cBESRZe[08].
  5655. SUBSTRING(VVesr[YP],030) = cBESRZe[16].
  5656. YP = YP + 1.
  5657. SUBSTRING(VVesr[YP],015) = cBESRKo[01].
  5658. SUBSTRING(VVesr[YP],043) = cBESRKo[02].
  5659. SUBSTRING(VVesr[YP],062) = STRING(PZReferenz,"XX XXXXX XXXXX XXXXX XXXXX XXXXX").
  5660. YP = YP + 2.
  5661. SUBSTRING(VVesr[YP],004) = STRING(XBetrag,"XXXXXXXXXX XX").
  5662. SUBSTRING(VVesr[YP],033) = STRING(XBetrag,"XXXXXXXXXX XX").
  5663. YP = YP + 2.
  5664. SUBSTRING(VVesr[YP + 0],019) = STRING(PZReferenz,"XX XXXXX").
  5665. SUBSTRING(VVesr[YP + 1],004) = STRING(PZReferenz,"XXXXX XXXXX XXXXX XXXXX").
  5666. AdrGedruckt = FALSE.
  5667. DO WHILE TRUE:
  5668. IF NOT BAufko.Passant THEN LEAVE.
  5669. IF BAufko.Adresse[01] = '' AND
  5670. BAufko.Adresse[02] = '' AND
  5671. BAufko.Adresse[03] = '' AND
  5672. BAufko.Adresse[04] = '' AND
  5673. BAufko.Adresse[05] = '' THEN LEAVE.
  5674. YP = YP + 5.
  5675. DO ix = 05 TO 1 BY -1:
  5676. IF ix > 1
  5677. THEN SUBSTRING(VVesr[YP],001) = SUBSTRING(BAufko.Adresse[ix],01,25).
  5678. SUBSTRING(VVesr[YP - 2],065) = SUBSTRING(BAufko.Adresse[ix],01,40).
  5679. YP = YP - 1.
  5680. END.
  5681. AdrGedruckt = TRUE.
  5682. LEAVE.
  5683. END.
  5684. DO WHILE TRUE:
  5685. IF AdrGedruckt THEN LEAVE.
  5686. YP = YP + 5.
  5687. DO ix = 11 TO 6 BY -1:
  5688. IF ix > 7
  5689. THEN SUBSTRING(VVesr[YP],001) = SUBSTRING(Adresse.Anschrift[ix],01,25).
  5690. SUBSTRING(VVesr[YP - 2],065) = SUBSTRING(Adresse.Anschrift[ix],01,40).
  5691. YP = YP - 1.
  5692. END.
  5693. LEAVE.
  5694. END.
  5695. DO ix = 1 TO 18:
  5696. VZeile = VVesr[ix].
  5697. { putstream.i "1" }
  5698. END.
  5699. SUBSTRING(VZeile,027) = STRING(VSZeile,"x(53)").
  5700. SUBSTRING(VZeile,083) = "H".
  5701. VZeile = Druinvb + VZeile + Druinve.
  5702. { putstream.i "1" }
  5703. LEAVE.
  5704. END.
  5705. END PROCEDURE.
  5706. /* _UIB-CODE-BLOCK-END */
  5707. &ANALYZE-RESUME
  5708. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE VESR_DRUCK11 C-Win
  5709. PROCEDURE VESR_DRUCK11 :
  5710. /*------------------------------------------------------------------------------
  5711. Purpose:
  5712. Parameters: <none>
  5713. Notes:
  5714. ------------------------------------------------------------------------------*/
  5715. /* LASER */
  5716. DEFINE VARIABLE VVESR AS CHARACTER FORMAT "x(90)" EXTENT 25.
  5717. DEFINE VARIABLE PZBetrag AS CHARACTER FORMAT "x(13)" NO-UNDO.
  5718. DEFINE VARIABLE PZReferenz AS CHARACTER FORMAT "x(27)" NO-UNDO.
  5719. DEFINE VARIABLE PZTNummer AS CHARACTER FORMAT "x(09)" NO-UNDO.
  5720. DEFINE VARIABLE VSZeile AS CHARACTER FORMAT "x(58)" NO-UNDO.
  5721. DEFINE VARIABLE VZeile AS CHARACTER FORMAT "x(58)" NO-UNDO.
  5722. DEFINE VARIABLE XArt AS INTEGER NO-UNDO.
  5723. DEFINE VARIABLE XAnz AS INTEGER NO-UNDO.
  5724. DEFINE VARIABLE XBetr AS CHARACTER FORMAT "x(20)" NO-UNDO.
  5725. DEFINE VARIABLE VESR_P AS CHARACTER FORMAT "x(02)" NO-UNDO.
  5726. DEFINE VARIABLE VESR AS CHARACTER FORMAT "x(02)" NO-UNDO.
  5727. DEFINE VARIABLE XBetrag AS CHARACTER FORMAT "x(12)" NO-UNDO.
  5728. DEFINE VARIABLE XCodeC AS CHARACTER NO-UNDO.
  5729. DEFINE VARIABLE YP AS INTEGER NO-UNDO.
  5730. DEFINE VARIABLE XX AS INTEGER NO-UNDO.
  5731. DEFINE VARIABLE YY AS INTEGER NO-UNDO.
  5732. DEFINE VARIABLE RRand AS INTEGER NO-UNDO.
  5733. DEFINE VARIABLE AdrGedruckt AS LOG NO-UNDO.
  5734. RUN BESR_DATEN ( INPUT iBesr ).
  5735. DO WHILE TRUE:
  5736. IF BDrucker.Emul = 'TERMINAL' THEN RETURN.
  5737. IF BAufko.Auf_Sta < 3 THEN Rundbetr = 0.
  5738. PZBetrag = ''.
  5739. IF Rundbetr < 0 THEN
  5740. DO:
  5741. PZBetrag = FILL('*', 13).
  5742. PZReferenz = FILL('*', 27).
  5743. PZTNummer = FILL('*', 09).
  5744. XBetrag = FILL('*', 12).
  5745. END.
  5746. ELSE
  5747. DO:
  5748. IF Rundbetr > 0 THEN
  5749. DO:
  5750. PZBetrag = "01".
  5751. PZBetrag = PZBetrag + STRING((Rundbetr * 100),"9999999999 ").
  5752. PZReferenz = cBESRBn
  5753. + STRING(VesrKnr,"999999")
  5754. + STRING(VesrFnr,"999999").
  5755. PZTNummer = cBESRTn.
  5756. XBetrag = STRING((Rundbetr * 100),"zz,zzz,zz999").
  5757. RUN PRUEFZIFFER ( INPUT-OUTPUT PZBetrag , INPUT-OUTPUT PZReferenz,
  5758. INPUT-OUTPUT PZTNummer, OUTPUT VSZeile ).
  5759. END.
  5760. ELSE
  5761. DO:
  5762. PZBetrag = " 04".
  5763. PZReferenz = cBESRBn
  5764. + STRING(VesrKnr,"999999")
  5765. + STRING(VesrFnr,"999999").
  5766. PZTNummer = cBESRTn.
  5767. XBetrag = "".
  5768. RUN PRUEFZIFFER ( INPUT-OUTPUT PZBetrag , INPUT-OUTPUT PZReferenz,
  5769. INPUT-OUTPUT PZTNummer, OUTPUT VSZeile ).
  5770. END.
  5771. END.
  5772. IF DOpen = TRUE THEN OUTPUT STREAM Out_Stream CLOSE.
  5773. VTempVESR = VTemp.
  5774. i1 = INDEX(VTemp, 'Faktura').
  5775. VTempVESR = SUBSTRING(VTemp,01,i1 - 1)
  5776. + 'VESR'
  5777. + SUBSTRING(VTemp,i1 + 7).
  5778. OUTPUT STREAM Out_Stream TO VALUE(VTempVESR).
  5779. LiKopf = FALSE.
  5780. fUeber = FALSE.
  5781. fBesr = TRUE.
  5782. RUN VALUE(VKopfArt).
  5783. RUN UMSATZVERTEILUNG.
  5784. IF NOT VDokArt BEGINS 'LIEFER' THEN RUN SCHLUSS_TEXT.
  5785. RRand = VRand.
  5786. VRand = 0.
  5787. XX = 0.
  5788. YY = 2182.
  5789. RUN DRUCKPOSITION ( INPUT XX, INPUT YY ).
  5790. FIND Adresse USE-INDEX Adresse-k1
  5791. WHERE Adresse.Firma = AdFirma
  5792. AND Adresse.Knr = VesrKnr NO-LOCK NO-ERROR.
  5793. VVesr = ''.
  5794. YP = 1.
  5795. SUBSTRING(VVesr[YP],001) = cBESRZe[01].
  5796. SUBSTRING(VVesr[YP],035) = cBESRZe[09].
  5797. YP = YP + 1.
  5798. SUBSTRING(VVesr[YP],001) = cBESRZe[02].
  5799. SUBSTRING(VVesr[YP],035) = cBESRZe[10].
  5800. YP = YP + 1.
  5801. SUBSTRING(VVesr[YP],001) = cBESRZe[03].
  5802. SUBSTRING(VVesr[YP],035) = cBESRZe[11].
  5803. YP = YP + 1.
  5804. SUBSTRING(VVesr[YP],001) = cBESRZe[04].
  5805. SUBSTRING(VVesr[YP],035) = cBESRZe[12].
  5806. YP = YP + 1.
  5807. SUBSTRING(VVesr[YP],001) = cBESRZe[05].
  5808. SUBSTRING(VVesr[YP],035) = cBESRZe[13].
  5809. YP = YP + 1.
  5810. SUBSTRING(VVesr[YP],001) = cBESRZe[06].
  5811. SUBSTRING(VVesr[YP],035) = cBESRZe[14].
  5812. YP = YP + 1.
  5813. SUBSTRING(VVesr[YP],001) = cBESRZe[07].
  5814. SUBSTRING(VVesr[YP],035) = cBESRZe[15].
  5815. SUBSTRING(VVesr[YP],072) = STRING(PZReferenz,'XX XXXXX XXXXX XXXXX XXXXX XXXXX').
  5816. YP = YP + 1.
  5817. SUBSTRING(VVesr[YP],001) = cBESRZe[08].
  5818. SUBSTRING(VVesr[YP],035) = cBESRZe[16].
  5819. YP = YP + 1.
  5820. SUBSTRING(VVesr[YP],015) = cBESRKo[01].
  5821. SUBSTRING(VVesr[YP],049) = cBESRKo[02].
  5822. YP = YP + 2.
  5823. SUBSTRING(VVesr[YP],011) = STRING(XBetrag,"XXXXXXXXXX XX").
  5824. SUBSTRING(VVesr[YP],045) = STRING(XBetrag,"XXXXXXXXXX XX").
  5825. YP = YP + 2.
  5826. SUBSTRING(VVesr[YP],001) = PZReferenz.
  5827. AdrGedruckt = FALSE.
  5828. DO WHILE TRUE:
  5829. IF NOT BAufko.Passant THEN LEAVE.
  5830. IF BAufko.Adresse[01] = '' AND
  5831. BAufko.Adresse[02] = '' AND
  5832. BAufko.Adresse[03] = '' AND
  5833. BAufko.Adresse[04] = '' AND
  5834. BAufko.Adresse[05] = '' THEN LEAVE.
  5835. YP = YP + 5.
  5836. DO ix = 05 TO 1 BY -1:
  5837. IF ix > 1
  5838. THEN SUBSTRING(VVesr[YP],001) = SUBSTRING(BAufko.Adresse[ix],01,25).
  5839. SUBSTRING(VVesr[YP - 2],072) = SUBSTRING(BAufko.Adresse[ix],01,40).
  5840. YP = YP - 1.
  5841. END.
  5842. AdrGedruckt = TRUE.
  5843. LEAVE.
  5844. END.
  5845. DO WHILE TRUE:
  5846. IF AdrGedruckt THEN LEAVE.
  5847. YP = YP + 5.
  5848. DO ix = 11 TO 6 BY -1:
  5849. IF ix > 7
  5850. THEN SUBSTRING(VVesr[YP],001) = SUBSTRING(Adresse.Anschrift[ix],01,25).
  5851. SUBSTRING(VVesr[YP - 2],072) = SUBSTRING(Adresse.Anschrift[ix],01,40).
  5852. YP = YP - 1.
  5853. END.
  5854. LEAVE.
  5855. END.
  5856. YY = YY + 20.
  5857. DO ix = 1 TO 18:
  5858. YY = YY + 50.
  5859. RUN DRUCKPOSITION ( INPUT XX, INPUT YY ).
  5860. VZeile = VVesr[ix].
  5861. { putstream.i "1" }
  5862. END.
  5863. SUBSTRING(VZeile,026) = STRING(VSZeile,"x(53)").
  5864. VZeile = OCRB + VZeile + InitCPI.
  5865. { putstream.i "1" }
  5866. VRand = RRand.
  5867. fBesr = FALSE.
  5868. LEAVE.
  5869. END.
  5870. END PROCEDURE.
  5871. /* _UIB-CODE-BLOCK-END */
  5872. &ANALYZE-RESUME
  5873. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE VESR_DRUCK12 C-Win
  5874. PROCEDURE VESR_DRUCK12 :
  5875. /*------------------------------------------------------------------------------
  5876. Purpose:
  5877. Parameters: <none>
  5878. Notes:
  5879. ------------------------------------------------------------------------------*/
  5880. DEFINE VARIABLE VVESR AS CHARACTER FORMAT "x(90)" EXTENT 25.
  5881. DEFINE VARIABLE PZBetrag AS CHARACTER FORMAT "x(13)" NO-UNDO.
  5882. DEFINE VARIABLE PZReferenz AS CHARACTER FORMAT "x(27)" NO-UNDO.
  5883. DEFINE VARIABLE PZTNummer AS CHARACTER FORMAT "x(09)" NO-UNDO.
  5884. DEFINE VARIABLE VSZeile AS CHARACTER FORMAT "x(58)" NO-UNDO.
  5885. DEFINE VARIABLE VZeile AS CHARACTER FORMAT "x(58)" NO-UNDO.
  5886. DEFINE VARIABLE XArt AS INTEGER NO-UNDO.
  5887. DEFINE VARIABLE XAnz AS INTEGER NO-UNDO.
  5888. DEFINE VARIABLE XBetr AS CHARACTER FORMAT "x(20)" NO-UNDO.
  5889. DEFINE VARIABLE VESR_P AS CHARACTER FORMAT "x(02)" NO-UNDO.
  5890. DEFINE VARIABLE VESR AS CHARACTER FORMAT "x(02)" NO-UNDO.
  5891. DEFINE VARIABLE XBetrag AS CHARACTER FORMAT "x(12)" NO-UNDO.
  5892. DEFINE VARIABLE XCodeC AS CHARACTER NO-UNDO.
  5893. DEFINE VARIABLE YP AS INTEGER NO-UNDO.
  5894. DEFINE VARIABLE XX AS INTEGER NO-UNDO.
  5895. DEFINE VARIABLE YY AS INTEGER NO-UNDO.
  5896. DEFINE VARIABLE RRand AS INTEGER NO-UNDO.
  5897. DEFINE VARIABLE AdrGedruckt AS LOG NO-UNDO.
  5898. DO WHILE TRUE:
  5899. IF BDrucker.Emul = 'TERMINAL' THEN RETURN.
  5900. IF BAufko.Auf_Sta < 3 THEN Rundbetr = 0.
  5901. PZBetrag = ''.
  5902. IF Rundbetr < 0 THEN
  5903. DO:
  5904. PZBetrag = FILL('*', 13).
  5905. PZReferenz = FILL('*', 27).
  5906. PZTNummer = FILL('*', 09).
  5907. XBetrag = FILL('*', 12).
  5908. END.
  5909. ELSE
  5910. DO:
  5911. IF Rundbetr > 0 THEN
  5912. DO:
  5913. PZBetrag = "01".
  5914. PZBetrag = PZBetrag + STRING((Rundbetr * 100),"9999999999 ").
  5915. PZReferenz = "80106100000002"
  5916. + STRING(VesrKnr,"999999")
  5917. + STRING(VesrFnr,"999999").
  5918. PZTNummer = "01000591".
  5919. XBetrag = STRING((Rundbetr * 100),"zz,zzz,zz999").
  5920. RUN PRUEFZIFFER ( INPUT-OUTPUT PZBetrag , INPUT-OUTPUT PZReferenz,
  5921. INPUT-OUTPUT PZTNummer, OUTPUT VSZeile ).
  5922. END.
  5923. ELSE
  5924. DO:
  5925. PZBetrag = " 04".
  5926. PZReferenz = "80106100000002"
  5927. + STRING(VesrKnr,"999999")
  5928. + STRING(VesrFnr,"999999").
  5929. PZTNummer = "01000591".
  5930. XBetrag = ''.
  5931. RUN PRUEFZIFFER ( INPUT-OUTPUT PZBetrag , INPUT-OUTPUT PZReferenz,
  5932. INPUT-OUTPUT PZTNummer, OUTPUT VSZeile ).
  5933. END.
  5934. END.
  5935. IF DOpen = TRUE THEN OUTPUT STREAM Out_Stream CLOSE.
  5936. VTempVESR = VTemp.
  5937. i1 = INDEX(VTemp, 'Faktura').
  5938. VTempVESR = SUBSTRING(VTemp,01,i1 - 1)
  5939. + 'VESR'
  5940. + SUBSTRING(VTemp,i1 + 7).
  5941. OUTPUT STREAM Out_Stream TO VALUE(VTempVESR).
  5942. RRand = VRand.
  5943. VRand = 0.
  5944. XX = 0.
  5945. YY = 2325.
  5946. RUN DRUCKPOSITION ( INPUT XX, INPUT YY ).
  5947. FIND Adresse USE-INDEX Adresse-k1
  5948. WHERE Adresse.Firma = AdFirma
  5949. AND Adresse.Knr = VesrKnr NO-LOCK NO-ERROR.
  5950. VVesr = ''.
  5951. YP = 1.
  5952. SUBSTRING(VVesr[YP],001) = "Bank Linth".
  5953. SUBSTRING(VVesr[YP],030) = "Bank Linth".
  5954. YP = YP + 1.
  5955. SUBSTRING(VVesr[YP],001) = "8730 Uznach".
  5956. SUBSTRING(VVesr[YP],030) = "8730 Uznach".
  5957. YP = YP + 2.
  5958. SUBSTRING(VVesr[YP],001) = "". /* zu Gunsten von */
  5959. SUBSTRING(VVesr[YP],030) = "".
  5960. YP = YP + 1.
  5961. SUBSTRING(VVesr[YP],001) = "Rutishuser + Rauch AG".
  5962. SUBSTRING(VVesr[YP],030) = "Rutishuser + Rauch AG".
  5963. YP = YP + 1.
  5964. SUBSTRING(VVesr[YP],001) = "Getränke-Center".
  5965. SUBSTRING(VVesr[YP],030) = "Getränke-Center".
  5966. YP = YP + 1.
  5967. SUBSTRING(VVesr[YP],001) = "8645 Jona".
  5968. SUBSTRING(VVesr[YP],030) = "8645 Jona".
  5969. SUBSTRING(VVesr[YP],060) = STRING(PZReferenz,"XX XXXXX XXXXX XXXXX XXXXX XXXXX").
  5970. YP = YP + 2.
  5971. SUBSTRING(VVesr[YP],013) = " 01-591-5".
  5972. SUBSTRING(VVesr[YP],041) = " 01-591-5".
  5973. YP = YP + 2.
  5974. SUBSTRING(VVesr[YP],008) = STRING(XBetrag,"XXXXXXXXXX XX").
  5975. SUBSTRING(VVesr[YP],037) = STRING(XBetrag,"XXXXXXXXXX XX").
  5976. YP = YP + 1.
  5977. /* SUBSTRING(VVesr[YP + 0],017) = STRING(PZReferenz,"XX XXXXX"). */
  5978. SUBSTRING(VVesr[YP + 1],002) = STRING(PZReferenz,"XXXXX XXXXX XXXXX XXXXX").
  5979. AdrGedruckt = FALSE.
  5980. DO WHILE TRUE:
  5981. IF NOT BAufko.Passant THEN LEAVE.
  5982. IF BAufko.Adresse[01] = '' AND
  5983. BAufko.Adresse[02] = '' AND
  5984. BAufko.Adresse[03] = '' AND
  5985. BAufko.Adresse[04] = '' AND
  5986. BAufko.Adresse[05] = '' THEN LEAVE.
  5987. YP = YP + 5.
  5988. DO ix = 05 TO 1 BY -1:
  5989. IF ix > 1
  5990. THEN SUBSTRING(VVesr[YP],001) = SUBSTRING(BAufko.Adresse[ix],01,25).
  5991. SUBSTRING(VVesr[YP - 1],065) = SUBSTRING(BAufko.Adresse[ix],01,40).
  5992. YP = YP - 1.
  5993. END.
  5994. AdrGedruckt = TRUE.
  5995. LEAVE.
  5996. END.
  5997. DO WHILE TRUE:
  5998. IF AdrGedruckt THEN LEAVE.
  5999. YP = YP + 5.
  6000. DO ix = 11 TO 6 BY -1:
  6001. IF ix > 7
  6002. THEN SUBSTRING(VVesr[YP],001) = SUBSTRING(Adresse.Anschrift[ix],01,25).
  6003. SUBSTRING(VVesr[YP - 1],065) = SUBSTRING(Adresse.Anschrift[ix],01,40).
  6004. YP = YP - 1.
  6005. END.
  6006. LEAVE.
  6007. END.
  6008. DO ix = 1 TO 18:
  6009. YY = YY + 50.
  6010. RUN DRUCKPOSITION ( INPUT XX, INPUT YY ).
  6011. VZeile = VVesr[ix].
  6012. { putstream.i "1" }
  6013. END.
  6014. SUBSTRING(VZeile,034) = STRING(VSZeile,"x(53)").
  6015. VZeile = OCRB + VZeile + InitCPI.
  6016. { putstream.i "1" }
  6017. VRand = RRand.
  6018. LEAVE.
  6019. END.
  6020. END PROCEDURE.
  6021. /* _UIB-CODE-BLOCK-END */
  6022. &ANALYZE-RESUME
  6023. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE WIRTESONNTAG C-Win
  6024. PROCEDURE WIRTESONNTAG :
  6025. /*------------------------------------------------------------------------------
  6026. Purpose:
  6027. Parameters: <none>
  6028. Notes:
  6029. ------------------------------------------------------------------------------*/
  6030. XWirtesonntag = ''.
  6031. FIND Tabel USE-INDEX Tabel-k1
  6032. WHERE Tabel.Firma = GVFirma
  6033. AND Tabel.RecArt = 'WISO'
  6034. AND Tabel.CodeC = ''
  6035. AND Tabel.CodeI = BAufko.Wirt_So
  6036. AND Tabel.Sprcd = 1 NO-LOCK NO-ERROR.
  6037. IF AVAILABLE Tabel THEN XWirtesonntag = Tabel.Bez1.
  6038. END PROCEDURE.
  6039. /* _UIB-CODE-BLOCK-END */
  6040. &ANALYZE-RESUME
  6041. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE WORKFILE C-Win
  6042. PROCEDURE WORKFILE :
  6043. /*------------------------------------------------------------------------------
  6044. Purpose:
  6045. Parameters: <none>
  6046. Notes:
  6047. ------------------------------------------------------------------------------*/
  6048. FIND BSchrift USE-INDEX Schrift-k1
  6049. WHERE BSchrift.Schname = F_Drucker
  6050. AND BSchrift.Schbild = F_Schrift NO-LOCK NO-ERROR.
  6051. FIND BDrucker USE-INDEX Drucker-k1
  6052. WHERE BDrucker.Drucker = BSchrift.Schdru NO-LOCK NO-ERROR.
  6053. DOpen = FALSE.
  6054. VTemp = ''.
  6055. IF BDrucker.Emul = 'TERMINAL' THEN
  6056. DO:
  6057. FOR EACH XTermOut:
  6058. DELETE XTermOut.
  6059. END.
  6060. VZNr = 0.
  6061. RETURN.
  6062. END.
  6063. ASSIGN
  6064. Schacht1 = BDrucker.DruSchacht[01]
  6065. Schacht2 = BDrucker.DruSchacht[02]
  6066. Schacht3 = BDrucker.DruSchacht[03]
  6067. OCRB = BDrucker.DruFont [02]
  6068. InitCPI = BDrucker.DruFont [06].
  6069. DO WHILE TRUE TRANSACTION:
  6070. FIND Tabel USE-INDEX Tabel-k1
  6071. WHERE Tabel.Firma = GVFirma
  6072. AND Tabel.RecArt = 'TEMPFILE'
  6073. AND Tabel.CodeI = 0
  6074. AND Tabel.CodeC = 'AUFTRAG'
  6075. AND Tabel.Sprcd = 1 NO-ERROR.
  6076. IF NOT AVAILABLE Tabel THEN
  6077. DO:
  6078. CREATE Tabel.
  6079. ASSIGN
  6080. Tabel.Firma = GVFirma
  6081. Tabel.RecArt = 'TEMPFILE'
  6082. Tabel.CodeI = 0
  6083. Tabel.CodeC = 'AUFTRAG'
  6084. Tabel.Sprcd = 1
  6085. Tabel.Bez1 = cGemisTemp.
  6086. END.
  6087. Tabel.Int_1 = Tabel.Int_1 + 1.
  6088. VTemp = Tabel.Bez1 + 'Faktura' + STRING(Tabel.Int_1) + '.tmp'.
  6089. RELEASE Tabel.
  6090. LEAVE.
  6091. END.
  6092. DOpen = TRUE.
  6093. END PROCEDURE.
  6094. /* _UIB-CODE-BLOCK-END */
  6095. &ANALYZE-RESUME
  6096. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ZAHLUNGSKONDITION C-Win
  6097. PROCEDURE ZAHLUNGSKONDITION :
  6098. /*------------------------------------------------------------------------------
  6099. Purpose:
  6100. Parameters: <none>
  6101. Notes:
  6102. ------------------------------------------------------------------------------*/
  6103. DEFINE INPUT PARAMETER ipBetr AS DECIMAL NO-UNDO.
  6104. DYNAMIC-FUNCTION('schreibenUeberschrift':U, 200, 2080, 70) NO-ERROR.
  6105. { putstream.i "1" }
  6106. FIND Kondi USE-INDEX Kondi-k1
  6107. WHERE Kondi.Kond = BAufko.Kond
  6108. AND Kondi.Sprcd = LVSprcd NO-LOCK NO-ERROR.
  6109. IF NOT AVAILABLE Kondi THEN
  6110. DO:
  6111. FIND FIRST Kondi USE-INDEX Kondi-k1
  6112. WHERE Kondi.Kond = BAufko.Kond NO-LOCK NO-ERROR.
  6113. END.
  6114. IF AVAILABLE Kondi THEN
  6115. DO:
  6116. SUBSTRING(VZeile,009) = Kondi.KoText.
  6117. IF Kondi.Skonto[01] <> 0 THEN
  6118. DO:
  6119. Rundbetr = ipBetr * Kondi.Skonto[01] / 100.
  6120. IF DebInkl THEN
  6121. DO:
  6122. Rundcode = 1.
  6123. RUN runden.p.
  6124. END.
  6125. SUBSTRING(VZeile,086) = STRING(Rundbetr,"->>,>>9.99").
  6126. END.
  6127. END.
  6128. ELSE
  6129. DO:
  6130. SUBSTRING(VZeile,009) = FILL(' ', 30).
  6131. END.
  6132. { putstreamf.i "2" }
  6133. END PROCEDURE.
  6134. /* _UIB-CODE-BLOCK-END */
  6135. &ANALYZE-RESUME
  6136. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ZAHLUNGSKONDITION_EXCEL C-Win
  6137. PROCEDURE ZAHLUNGSKONDITION_EXCEL :
  6138. /*------------------------------------------------------------------------------
  6139. Purpose:
  6140. Parameters: <none>
  6141. Notes:
  6142. ------------------------------------------------------------------------------*/
  6143. DEFINE INPUT PARAMETER ipBetr AS DECIMAL NO-UNDO.
  6144. PUT CONTROL '£' CHR(10)
  6145. '£' CHR(10)
  6146. '££'.
  6147. FIND Kondi USE-INDEX Kondi-k1
  6148. WHERE Kondi.Kond = BAufko.Kond
  6149. AND Kondi.Sprcd = LVSprcd NO-LOCK NO-ERROR.
  6150. IF NOT AVAILABLE Kondi THEN
  6151. DO:
  6152. FIND FIRST Kondi USE-INDEX Kondi-k1
  6153. WHERE Kondi.Kond = BAufko.Kond NO-LOCK NO-ERROR.
  6154. END.
  6155. IF AVAILABLE Kondi THEN
  6156. DO:
  6157. PUT CONTROL Kondi.KoText CHR(10).
  6158. END.
  6159. END PROCEDURE.
  6160. /* _UIB-CODE-BLOCK-END */
  6161. &ANALYZE-RESUME
  6162. /* ************************ Function Implementations ***************** */
  6163. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION schreibenFirmaInKopf C-Win
  6164. FUNCTION schreibenFirmaInKopf RETURNS LOGICAL
  6165. ( ipLinks AS INTEGER ) :
  6166. /*------------------------------------------------------------------------------
  6167. Purpose:
  6168. Notes:
  6169. ------------------------------------------------------------------------------*/
  6170. DEFINE VARIABLE YPos AS INTEGER NO-UNDO.
  6171. DEFINE VARIABLE cFirma AS CHARACTER NO-UNDO.
  6172. /* DO WHILE TRUE: */
  6173. /* IF VDokArt BEGINS 'RUEST' THEN LEAVE. */
  6174. /* IF VDokArt BEGINS 'LIEFER' THEN LEAVE. */
  6175. /* RETURN FALSE. */
  6176. /* END. */
  6177. CASE GVFirma:
  6178. WHEN '1000' THEN
  6179. cFirma = 'MR'.
  6180. WHEN '2000' THEN
  6181. cFirma = 'MRW'.
  6182. END CASE.
  6183. cFirma = CHR(027) + '(s8h0b0s0P'
  6184. + cFirma
  6185. + BDrucker.DruFont[06].
  6186. YPos = 500.
  6187. IF VDokArt BEGINS 'RUEST' THEN YPos = 300.
  6188. PUT STREAM Out_Stream CONTROL CHR(027) "&f0S". /* Sichern Cursorposition */
  6189. PUT STREAM Out_Stream CONTROL CHR(027) "*t300R".
  6190. PUT STREAM Out_Stream CONTROL CHR(027) "*r1A". /* Start Rastergrafik */
  6191. PUT STREAM Out_Stream CONTROL CHR(027) "*p" STRING(YPos) "y"
  6192. STRING(ipLinks) "X".
  6193. PUT STREAM Out_Stream CONTROL CHR(027) "*rB". /* Stop Rastergrafik */
  6194. PUT STREAM Out_Stream CONTROL cFirma.
  6195. PUT STREAM Out_Stream CONTROL CHR(027) "&f1S". /* Ruecksetzen Cursorposition */
  6196. RETURN TRUE.
  6197. END FUNCTION.
  6198. /* _UIB-CODE-BLOCK-END */
  6199. &ANALYZE-RESUME
  6200. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION schreibenFusszeile C-Win
  6201. FUNCTION schreibenFusszeile RETURNS LOGICAL
  6202. ( ):
  6203. /*------------------------------------------------------------------------------
  6204. Purpose:
  6205. Notes:
  6206. ------------------------------------------------------------------------------*/
  6207. DEFINE VARIABLE cBank_1 AS CHARACTER NO-UNDO INIT 'Zuercher Kantonalbank'.
  6208. DEFINE VARIABLE cBank_2 AS CHARACTER NO-UNDO INIT 'Zürcher Kantonalbank'.
  6209. DEFINE VARIABLE cStrasse AS CHARACTER NO-UNDO INIT 'Gotthardstrasse 29'.
  6210. DEFINE VARIABLE cOrt AS CHARACTER NO-UNDO INIT 'CH-8801 Thalwil'.
  6211. DEFINE VARIABLE cClear_1 AS CHARACTER NO-UNDO INIT 'Clearing No 700 / EUR Account No 1300-7284.136'.
  6212. DEFINE VARIABLE cClear_2 AS CHARACTER NO-UNDO INIT 'Clearing No 700 / CHF Account No 1100-2236.011'.
  6213. DEFINE VARIABLE cClear_3 AS CHARACTER NO-UNDO INIT 'Clearing Nr 700 / CHF Konto Nr 1100-2236.011'.
  6214. DEFINE VARIABLE cSwift AS CHARACTER NO-UNDO INIT 'SWIFT: ZKBKCHZZ80A'.
  6215. DEFINE VARIABLE cIBAN_1 AS CHARACTER NO-UNDO INIT 'IBAN: CH76 0070 0130 0072 8413 6'.
  6216. DEFINE VARIABLE cIBAN_2 AS CHARACTER NO-UNDO INIT 'IBAN: CH25 0070 0110 0022 3601 1'.
  6217. DEFINE VARIABLE xx AS INTEGER NO-UNDO INIT 200.
  6218. DEFINE VARIABLE yy AS INTEGER NO-UNDO INIT 3180.
  6219. DEFINE VARIABLE cClear AS CHARACTER NO-UNDO.
  6220. DEFINE VARIABLE cIBAN AS CHARACTER NO-UNDO.
  6221. xx = LiPos.
  6222. PUT STREAM Out_Stream CONTROL CHR(027) '*p' STRING(yy) 'y'
  6223. STRING(xx) 'X'.
  6224. PUT STREAM Out_Stream CONTROL CHR(027) "*t300R".
  6225. PUT STREAM Out_Stream CONTROL CHR(027) "*r1A". /* Start Rastergrafik */
  6226. PUT STREAM Out_Stream CONTROL CHR(027) "*p" STRING(LiPos) "X".
  6227. PUT STREAM Out_Stream CONTROL CHR(027) "*c" STRING(FoBreite) "a"
  6228. STRING(1) "B".
  6229. PUT STREAM Out_Stream CONTROL CHR(027) "*c0P".
  6230. PUT STREAM Out_Stream CONTROL CHR(027) "*rB". /* Stop Rastergrafik */
  6231. PUT STREAM Out_Stream CONTROL CHR(27) '(s20H' CHR(27) '&l8D' CHR(10) .
  6232. IF cFrw <> 'CHF' THEN
  6233. DO:
  6234. cClear = cClear_1.
  6235. cIBAN = cIBAN_1.
  6236. END.
  6237. ELSE
  6238. DO:
  6239. IF LVSprcd = 1 THEN ASSIGN cClear = cClear_3
  6240. cIBAN = cIBAN_2.
  6241. ELSE ASSIGN cClear = cClear_2
  6242. cIBAN = cIBAN_2.
  6243. END.
  6244. VZeile = ''.
  6245. IF iFirma = 1 THEN
  6246. DO:
  6247. VZeile = cBank_1.
  6248. SUBSTRING(VZeile,138 - LENGTH(cClear_1)) = cClear.
  6249. { putstreamf.i "1" }
  6250. VZeile = cStrasse.
  6251. SUBSTRING(VZeile,138 - LENGTH(cSwift)) = cSwift.
  6252. { putstreamf.i "1" }
  6253. VZeile = cOrt.
  6254. SUBSTRING(VZeile,138 - LENGTH(cIBAN_1)) = cIBAN.
  6255. { putstreamf.i "1" }
  6256. END.
  6257. IF iFirma = 2 THEN
  6258. DO:
  6259. IF LVSprcd = 1 THEN
  6260. DO:
  6261. VZeile = cBank_2.
  6262. SUBSTRING(VZeile,138 - LENGTH(cClear_3)) = cClear.
  6263. { putstreamf.i "1" }
  6264. VZeile = cStrasse.
  6265. SUBSTRING(VZeile,138 - LENGTH(cSwift)) = cSwift.
  6266. { putstreamf.i "1" }
  6267. VZeile = cOrt.
  6268. SUBSTRING(VZeile,138 - LENGTH(cIBAN_2)) = cIBAN.
  6269. { putstreamf.i "1" }
  6270. END.
  6271. ELSE
  6272. DO:
  6273. VZeile = cBank_1.
  6274. SUBSTRING(VZeile,138 - LENGTH(cClear_2)) = cClear.
  6275. { putstreamf.i "1" }
  6276. VZeile = cStrasse.
  6277. SUBSTRING(VZeile,138 - LENGTH(cSwift)) = cSwift.
  6278. { putstreamf.i "1" }
  6279. VZeile = cOrt.
  6280. SUBSTRING(VZeile,138 - LENGTH(cIBAN_2)) = cIBAN.
  6281. { putstreamf.i "1" }
  6282. END.
  6283. END.
  6284. PUT STREAM Out_Stream CONTROL CHR(027) '*p' STRING(0) 'y'
  6285. STRING(0) 'X'.
  6286. PUT STREAM Out_Stream CONTROL initCPI CHR(27) '&l6D' CHR(13).
  6287. RETURN TRUE.
  6288. END FUNCTION.
  6289. /* _UIB-CODE-BLOCK-END */
  6290. &ANALYZE-RESUME
  6291. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION schreibenLinie C-Win
  6292. FUNCTION schreibenLinie RETURNS LOGICAL
  6293. ( ipLinks AS INTEGER, ipBreite AS INTEGER ) :
  6294. /*------------------------------------------------------------------------------
  6295. Purpose:
  6296. Notes:
  6297. ------------------------------------------------------------------------------*/
  6298. PUT STREAM Out_Stream CONTROL CHR(027) "&f0S". /* Sichern Cursorposition */
  6299. PUT STREAM Out_Stream CONTROL CHR(027) "*t300R".
  6300. PUT STREAM Out_Stream CONTROL CHR(027) "*r1A". /* Start Rastergrafik */
  6301. PUT STREAM Out_Stream CONTROL CHR(027) "*p" STRING(ipLinks) "X".
  6302. PUT STREAM Out_Stream CONTROL CHR(027) "*c" STRING(ipBreite) "a"
  6303. STRING(1) "B".
  6304. PUT STREAM Out_Stream CONTROL CHR(027) "*c0P".
  6305. PUT STREAM Out_Stream CONTROL CHR(027) "*rB". /* Stop Rastergrafik */
  6306. PUT STREAM Out_Stream CONTROL CHR(027) "&f1S". /* Ruecksetzen Cursorposition */
  6307. RETURN TRUE.
  6308. END FUNCTION.
  6309. /* _UIB-CODE-BLOCK-END */
  6310. &ANALYZE-RESUME
  6311. &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION schreibenUeberschrift C-Win
  6312. FUNCTION schreibenUeberschrift RETURNS LOGICAL
  6313. ( ipLinks AS INTEGER, ipBreite AS INTEGER, ipHoehe AS INTEGER ) :
  6314. /*------------------------------------------------------------------------------
  6315. Purpose:
  6316. Notes:
  6317. ------------------------------------------------------------------------------*/
  6318. DEFINE VARIABLE Vorschub AS DECIMAL DECIMALS 4 NO-UNDO.
  6319. Vorschub = ipHoehe * 48 / 300.
  6320. PUT STREAM Out_Stream CONTROL CHR(027) "&f0S". /* Sichern Cursorposition */
  6321. PUT STREAM Out_Stream CONTROL CHR(027) "*t300R".
  6322. PUT STREAM Out_Stream CONTROL CHR(027) "*r1A". /* Start Rastergrafik */
  6323. PUT STREAM Out_Stream CONTROL CHR(027) "*p" STRING(ipLinks) "X".
  6324. PUT STREAM Out_Stream CONTROL CHR(027) "*c" STRING(ipBreite) "a"
  6325. STRING(1) "B".
  6326. PUT STREAM Out_Stream CONTROL CHR(027) "*c0P".
  6327. PUT STREAM Out_Stream CONTROL CHR(027) "*p" STRING(ipLinks) "X".
  6328. PUT STREAM Out_Stream CONTROL CHR(027) "*c" STRING(ipBreite) "a"
  6329. STRING(ipHoehe) "B".
  6330. PUT STREAM Out_Stream CONTROL CHR(027) "*c6G".
  6331. PUT STREAM Out_Stream CONTROL CHR(027) "*c2P".
  6332. PUT STREAM Out_Stream CONTROL CHR(027) "*rB". /* Stop Rastergrafik */
  6333. PUT STREAM Out_Stream CONTROL CHR(027) "&l" STRING(Vorschub,'9999') "C".
  6334. PUT STREAM Out_Stream CONTROL CHR(010) CHR(027) "&l6D".
  6335. PUT STREAM Out_Stream CONTROL CHR(027) "*r1A".
  6336. PUT STREAM Out_Stream CONTROL CHR(027) "*p" STRING(ipLinks) "X".
  6337. PUT STREAM Out_Stream CONTROL CHR(027) "*c" STRING(ipBreite) "a"
  6338. STRING(1) "B".
  6339. PUT STREAM Out_Stream CONTROL CHR(027) "*c0P".
  6340. PUT STREAM Out_Stream CONTROL CHR(027) "*rB". /* Stop Rastergrafik */
  6341. PUT STREAM Out_Stream CONTROL CHR(027) "&f1S". /* Ruecksetzen Cursorposition */
  6342. RETURN TRUE.
  6343. END FUNCTION.
  6344. /* _UIB-CODE-BLOCK-END */
  6345. &ANALYZE-RESUME