| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156415741584159416041614162416341644165416641674168416941704171417241734174417541764177417841794180418141824183418441854186418741884189419041914192419341944195419641974198419942004201420242034204420542064207420842094210421142124213421442154216421742184219422042214222422342244225422642274228422942304231423242334234423542364237423842394240424142424243424442454246424742484249425042514252425342544255425642574258425942604261426242634264426542664267426842694270427142724273427442754276427742784279428042814282428342844285428642874288428942904291429242934294429542964297429842994300430143024303430443054306430743084309431043114312431343144315431643174318431943204321432243234324432543264327432843294330433143324333433443354336433743384339434043414342434343444345434643474348434943504351435243534354435543564357435843594360436143624363436443654366436743684369437043714372437343744375437643774378437943804381438243834384438543864387438843894390439143924393439443954396439743984399440044014402440344044405440644074408440944104411441244134414441544164417441844194420442144224423442444254426442744284429443044314432443344344435443644374438443944404441444244434444444544464447444844494450445144524453445444554456445744584459446044614462446344644465446644674468446944704471447244734474447544764477447844794480448144824483448444854486448744884489449044914492449344944495449644974498449945004501450245034504450545064507450845094510451145124513451445154516451745184519452045214522452345244525452645274528452945304531453245334534453545364537453845394540454145424543454445454546454745484549455045514552455345544555455645574558455945604561456245634564456545664567456845694570457145724573457445754576457745784579458045814582458345844585458645874588458945904591459245934594459545964597459845994600460146024603460446054606460746084609461046114612461346144615461646174618461946204621462246234624462546264627462846294630463146324633463446354636463746384639464046414642464346444645464646474648464946504651465246534654465546564657465846594660466146624663466446654666466746684669467046714672467346744675467646774678467946804681468246834684468546864687468846894690469146924693469446954696469746984699470047014702470347044705470647074708470947104711471247134714471547164717471847194720472147224723472447254726472747284729473047314732473347344735473647374738473947404741474247434744474547464747474847494750475147524753475447554756475747584759476047614762476347644765476647674768476947704771477247734774477547764777477847794780478147824783478447854786478747884789479047914792479347944795479647974798479948004801480248034804480548064807480848094810481148124813481448154816481748184819482048214822482348244825482648274828482948304831483248334834483548364837483848394840484148424843484448454846484748484849485048514852485348544855485648574858485948604861486248634864486548664867486848694870487148724873487448754876487748784879488048814882488348844885488648874888488948904891489248934894489548964897489848994900490149024903490449054906490749084909491049114912491349144915491649174918491949204921492249234924492549264927492849294930493149324933493449354936493749384939494049414942494349444945494649474948494949504951495249534954495549564957495849594960496149624963496449654966496749684969497049714972497349744975497649774978497949804981498249834984498549864987498849894990499149924993499449954996499749984999500050015002500350045005500650075008500950105011501250135014501550165017501850195020502150225023502450255026502750285029503050315032503350345035503650375038503950405041504250435044504550465047504850495050505150525053505450555056505750585059506050615062506350645065506650675068506950705071507250735074507550765077507850795080508150825083508450855086508750885089509050915092509350945095509650975098509951005101510251035104510551065107510851095110511151125113511451155116511751185119512051215122512351245125512651275128512951305131513251335134513551365137513851395140514151425143514451455146514751485149515051515152515351545155515651575158515951605161516251635164516551665167516851695170517151725173517451755176517751785179518051815182518351845185518651875188518951905191519251935194519551965197519851995200520152025203520452055206520752085209521052115212521352145215521652175218521952205221522252235224522552265227522852295230523152325233523452355236523752385239524052415242524352445245524652475248524952505251525252535254525552565257525852595260526152625263526452655266526752685269527052715272527352745275527652775278527952805281528252835284528552865287528852895290529152925293529452955296529752985299530053015302530353045305530653075308530953105311531253135314531553165317531853195320532153225323532453255326532753285329533053315332533353345335533653375338533953405341534253435344534553465347534853495350535153525353535453555356535753585359536053615362536353645365536653675368536953705371537253735374537553765377537853795380538153825383538453855386538753885389539053915392539353945395539653975398539954005401540254035404540554065407540854095410541154125413541454155416541754185419542054215422542354245425542654275428542954305431543254335434543554365437543854395440544154425443544454455446544754485449545054515452545354545455545654575458545954605461546254635464546554665467546854695470547154725473547454755476547754785479548054815482548354845485548654875488548954905491549254935494549554965497549854995500550155025503550455055506550755085509551055115512551355145515551655175518551955205521552255235524552555265527552855295530553155325533553455355536553755385539554055415542554355445545554655475548554955505551555255535554555555565557555855595560556155625563556455655566556755685569557055715572557355745575557655775578557955805581558255835584558555865587558855895590559155925593559455955596559755985599560056015602560356045605560656075608560956105611561256135614561556165617561856195620562156225623562456255626562756285629563056315632563356345635563656375638563956405641564256435644564556465647564856495650565156525653565456555656565756585659566056615662566356645665566656675668566956705671567256735674567556765677567856795680568156825683568456855686568756885689569056915692569356945695569656975698569957005701570257035704570557065707570857095710571157125713571457155716571757185719572057215722572357245725572657275728572957305731573257335734573557365737573857395740574157425743574457455746574757485749575057515752575357545755575657575758575957605761576257635764576557665767576857695770577157725773577457755776577757785779578057815782578357845785578657875788578957905791579257935794579557965797579857995800580158025803580458055806580758085809581058115812581358145815581658175818581958205821582258235824582558265827582858295830583158325833583458355836583758385839584058415842584358445845584658475848584958505851585258535854585558565857585858595860586158625863586458655866586758685869587058715872587358745875587658775878587958805881588258835884588558865887588858895890589158925893589458955896589758985899590059015902590359045905590659075908590959105911591259135914591559165917591859195920592159225923592459255926592759285929593059315932593359345935593659375938593959405941594259435944594559465947594859495950595159525953595459555956595759585959596059615962596359645965596659675968596959705971597259735974597559765977597859795980598159825983598459855986598759885989599059915992599359945995599659975998599960006001600260036004600560066007600860096010601160126013601460156016601760186019602060216022602360246025602660276028602960306031603260336034603560366037603860396040604160426043604460456046604760486049605060516052605360546055605660576058605960606061606260636064606560666067606860696070607160726073607460756076607760786079608060816082608360846085608660876088608960906091609260936094609560966097609860996100610161026103610461056106610761086109611061116112611361146115611661176118611961206121612261236124612561266127612861296130613161326133613461356136613761386139614061416142614361446145614661476148614961506151615261536154615561566157615861596160616161626163616461656166616761686169617061716172617361746175617661776178617961806181618261836184618561866187618861896190619161926193619461956196619761986199620062016202620362046205620662076208620962106211621262136214621562166217621862196220622162226223622462256226622762286229623062316232623362346235623662376238623962406241624262436244624562466247624862496250625162526253625462556256625762586259626062616262626362646265626662676268626962706271627262736274627562766277627862796280628162826283628462856286628762886289629062916292629362946295629662976298629963006301630263036304630563066307630863096310631163126313631463156316631763186319632063216322632363246325632663276328632963306331633263336334633563366337633863396340634163426343634463456346634763486349635063516352635363546355635663576358635963606361636263636364636563666367636863696370637163726373637463756376637763786379638063816382638363846385638663876388638963906391639263936394639563966397639863996400640164026403640464056406640764086409641064116412641364146415641664176418641964206421642264236424642564266427642864296430643164326433643464356436643764386439644064416442644364446445644664476448644964506451645264536454645564566457645864596460646164626463646464656466646764686469647064716472647364746475647664776478647964806481648264836484648564866487648864896490649164926493649464956496649764986499650065016502650365046505650665076508650965106511651265136514651565166517651865196520652165226523652465256526652765286529653065316532653365346535653665376538653965406541654265436544654565466547654865496550655165526553655465556556655765586559656065616562656365646565656665676568656965706571657265736574657565766577657865796580658165826583658465856586658765886589659065916592659365946595659665976598659966006601660266036604660566066607660866096610661166126613661466156616661766186619662066216622662366246625662666276628662966306631663266336634663566366637663866396640664166426643664466456646664766486649665066516652665366546655665666576658665966606661666266636664666566666667666866696670667166726673667466756676667766786679668066816682668366846685668666876688668966906691669266936694669566966697669866996700670167026703670467056706670767086709671067116712671367146715671667176718671967206721672267236724672567266727672867296730673167326733673467356736673767386739674067416742674367446745674667476748674967506751675267536754675567566757675867596760676167626763676467656766676767686769677067716772677367746775677667776778677967806781678267836784678567866787678867896790679167926793679467956796679767986799680068016802680368046805680668076808680968106811681268136814681568166817681868196820682168226823682468256826682768286829683068316832683368346835683668376838683968406841684268436844684568466847684868496850685168526853685468556856685768586859686068616862686368646865686668676868686968706871687268736874687568766877687868796880688168826883688468856886688768886889689068916892689368946895689668976898689969006901690269036904690569066907690869096910691169126913691469156916691769186919692069216922692369246925692669276928692969306931693269336934693569366937693869396940694169426943694469456946694769486949695069516952695369546955695669576958695969606961696269636964696569666967696869696970697169726973697469756976697769786979698069816982698369846985698669876988698969906991699269936994699569966997699869997000700170027003700470057006700770087009701070117012701370147015701670177018701970207021702270237024702570267027702870297030703170327033703470357036703770387039704070417042704370447045704670477048704970507051705270537054705570567057705870597060706170627063706470657066706770687069707070717072707370747075707670777078707970807081708270837084708570867087708870897090709170927093709470957096709770987099710071017102710371047105710671077108710971107111711271137114711571167117711871197120712171227123712471257126712771287129713071317132713371347135713671377138713971407141714271437144714571467147714871497150715171527153715471557156715771587159716071617162716371647165716671677168716971707171717271737174717571767177717871797180718171827183718471857186718771887189719071917192719371947195719671977198719972007201720272037204720572067207720872097210721172127213721472157216721772187219722072217222722372247225722672277228722972307231723272337234723572367237723872397240724172427243724472457246724772487249725072517252725372547255725672577258725972607261726272637264726572667267726872697270727172727273727472757276727772787279728072817282728372847285728672877288728972907291729272937294729572967297729872997300730173027303730473057306730773087309731073117312731373147315731673177318731973207321732273237324732573267327732873297330733173327333733473357336733773387339734073417342734373447345734673477348734973507351735273537354735573567357735873597360736173627363736473657366736773687369737073717372737373747375737673777378737973807381738273837384738573867387738873897390739173927393739473957396739773987399740074017402740374047405740674077408740974107411741274137414741574167417741874197420742174227423742474257426742774287429743074317432743374347435743674377438743974407441744274437444744574467447744874497450745174527453745474557456745774587459746074617462746374647465746674677468746974707471747274737474747574767477747874797480748174827483748474857486748774887489749074917492749374947495749674977498749975007501750275037504750575067507750875097510751175127513751475157516751775187519752075217522752375247525752675277528752975307531753275337534753575367537753875397540754175427543754475457546754775487549755075517552755375547555755675577558755975607561756275637564756575667567756875697570757175727573757475757576757775787579758075817582758375847585758675877588758975907591759275937594759575967597759875997600760176027603760476057606760776087609761076117612761376147615761676177618761976207621762276237624762576267627762876297630763176327633763476357636763776387639764076417642764376447645764676477648764976507651765276537654765576567657765876597660766176627663766476657666766776687669767076717672767376747675767676777678767976807681768276837684768576867687768876897690769176927693769476957696769776987699770077017702770377047705770677077708770977107711 |
- &ANALYZE-SUSPEND _VERSION-NUMBER UIB_v8r12 GUI
- &ANALYZE-RESUME
- /* Connected Databases
- anadat PROGRESS
- */
- &Scoped-define WINDOW-NAME C-Win
- /* Temp-Table and Buffer definitions */
- DEFINE NEW SHARED TEMP-TABLE XTermOut NO-UNDO LIKE TermOut.
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS C-Win
- /*------------------------------------------------------------------------
- File:
- Description:
- Input Parameters:
- <none>
- Output Parameters:
- <none>
- Author:
- Created:
- ------------------------------------------------------------------------*/
- /* This .W file was created with the Progress UIB. */
- /*----------------------------------------------------------------------*/
- /* Create an unnamed pool to store all the widgets created
- by this procedure. This is a good default which assures
- that this procedure's triggers and internal procedures
- will execute in this procedure's storage, and that proper
- cleanup will occur on deletion of the procedure. */
- CREATE WIDGET-POOL.
- /* *************************** Definitions ************************** */
- /* Parameters Definitions --- */
- /* Local Variable Definitions --- */
- DEF VAR DruckFlag AS LOG NO-UNDO.
- DEF VAR FDrucken AS LOG NO-UNDO.
- DEF VAR TRecid AS RECID NO-UNDO.
- DEF VAR RabText AS CHAR NO-UNDO.
- DEF VAR RabWert AS DEC NO-UNDO.
- DEF VAR VFak_Betr AS DEC DECIMALS 4 NO-UNDO.
- DEF VAR GTWpfl AS DEC EXTENT 12 NO-UNDO.
- DEF VAR DTWpfl AS DEC EXTENT 12 NO-UNDO.
- DEF VAR GTWust AS DEC EXTENT 12 NO-UNDO.
- DEF VAR DWpfl AS DEC EXTENT 12 NO-UNDO.
- DEF VAR GTFak_Betr AS DEC NO-UNDO.
- DEF VAR GTSk_Ber AS DEC NO-UNDO.
- DEF VAR SFaknr AS INT NO-UNDO.
- DEF VAR FLetzt AS LOG NO-UNDO.
- DEF VAR FErste AS LOG NO-UNDO.
- DEF VAR VZeile AS CHAR FORMAT "x(250)" NO-UNDO.
- DEF VAR RZeile AS CHAR FORMAT "x(250)" NO-UNDO.
- DEF VAR LiKopf AS LOG NO-UNDO.
- DEF VAR StBreite AS INT NO-UNDO.
- DEF VAR VWC AS INT NO-UNDO.
- DEF VAR VZTot AS DEC DECIMALS 4 NO-UNDO.
- DEF VAR FDatum AS DATE FORMAT "99.99.9999" NO-UNDO.
- DEF VAR VFaknr AS INT NO-UNDO.
- DEF VAR VesrKnr AS INT NO-UNDO.
- DEF VAR VesrFnr AS INT NO-UNDO.
- DEF VAR VBesr AS INT NO-UNDO.
- DEF VAR VRabText AS CHAR FORMAT "x(20)" NO-UNDO.
- DEF VAR VZusText AS CHAR FORMAT "x(20)" NO-UNDO.
- DEF VAR VEpzText AS CHAR FORMAT "x(20)" NO-UNDO.
- DEF VAR VTabTexte LIKE TabTexte.Inhalt NO-UNDO.
- DEF VAR XVersand AS CHAR NO-UNDO.
- DEF VAR XAblade AS CHAR NO-UNDO.
- DEF VAR XWirtesonntag AS CHAR NO-UNDO.
- DEF VAR XAuf_Text LIKE Aufko.Auf_Text NO-UNDO.
- DEF VAR XTelnr LIKE Aufko.Auf_Text NO-UNDO.
- DEF VAR VTemp AS CHAR FORMAT "x(100)" NO-UNDO.
- DEF VAR VDokart AS CHAR NO-UNDO.
- DEF VAR FPreis AS LOG NO-UNDO.
- DEF VAR WW AS DEC EXTENT 12 NO-UNDO.
- DEF VAR SK AS DEC EXTENT 12 NO-UNDO.
- DEF VAR VDetail AS DEC EXTENT 20 NO-UNDO.
- DEF VAR VNetto AS DEC EXTENT 20 NO-UNDO.
- DEF VAR VPreis_Grp AS INT NO-UNDO.
- DEF VAR VPreis AS DEC DECIMALS 4 NO-UNDO.
- DEF VAR VBetrag AS DEC DECIMALS 4 NO-UNDO.
- DEF VAR VAnkTot AS DEC DECIMALS 4 NO-UNDO.
- DEF VAR VDetTot AS DEC DECIMALS 4 NO-UNDO.
- DEF VAR VSchacht AS INT NO-UNDO.
- DEF VAR cTextArt AS CHAR NO-UNDO.
- DEF VAR fBatch AS LOG NO-UNDO.
- DEF VAR VKopf AS CHAR FORMAT "x(100)" EXTENT 20 NO-UNDO.
- DEF VAR VBesrKopf AS CHAR FORMAT "x(100)" EXTENT 20 NO-UNDO.
- DEF VAR iSeiZZ AS INT NO-UNDO.
- DEF VAR cSeiZeile AS CHAR NO-UNDO.
- DEF VAR cUSER AS CHAR NO-UNDO.
- DEF VAR cBenutzer AS CHAR NO-UNDO.
- DEF VAR FBetrag AS LOG NO-UNDO.
- DEF VAR FRabatt AS LOG NO-UNDO.
- DEF VAR FUeber AS LOG NO-UNDO.
- DEF VAR FSamm AS LOG NO-UNDO.
- DEF VAR FLagOrt AS LOG NO-UNDO.
- DEF VAR VKopfArt AS CHAR NO-UNDO.
- DEF VAR excelAppl AS COM-HANDLE NO-UNDO.
- DEF VAR ExZeile AS INT NO-UNDO.
- DEF VAR lRuestText AS LOG NO-UNDO.
- DEF VAR iLauf AS INT NO-UNDO.
- DEF VAR lViper AS LOG INIT TRUE NO-UNDO.
- DEF VAR iZaehler AS INT NO-UNDO.
- DEF VAR cTray AS CHAR EXTENT 10 NO-UNDO.
- DEF VAR FormText AS CHAR FORMAT "x(80)" EXTENT 40.
- DEF BUFFER BAufko FOR Aufko.
- DEF BUFFER XAufko FOR Aufko.
- DEF BUFFER BAufze FOR Aufze.
- DEF BUFFER BAufGebKo FOR AufGebKo.
- DEF BUFFER FDebst FOR Debst.
- DEF BUFFER LDebst FOR Debst.
- DEF BUFFER BTabel FOR Tabel.
- DEF BUFFER TFakart FOR Tabel.
- DEF BUFFER TAufsta FOR Tabel.
- DEF BUFFER BAdresse FOR Adresse.
- DEF BUFFER LAdresse FOR Adresse.
- DEF VAR DebInkl AS LOG NO-UNDO.
- DEF VAR VWg_Grp AS INT INIT 0 NO-UNDO.
- DEF VAR VProd_Grp AS INT INIT 0 NO-UNDO.
- DEF VAR VArt_Grp AS INT INIT 0 NO-UNDO.
- DEF VAR AArtnr AS INT INIT 0 NO-UNDO.
- DEF VAR AInhalt AS INT INIT 0 NO-UNDO.
- DEF VAR AJahr AS INT INIT 0 NO-UNDO.
- DEF TEMP-TABLE tAufze FIELD Aufnr AS INT
- FIELD Sort1 AS CHAR
- FIELD Sort2 AS CHAR
- FIELD Sort3 AS CHAR
- FIELD Artnr AS INT
- FIELD Inhalt AS INT
- FIELD Jahr AS INT
- FIELD Pos AS INT
- FIELD Zeile AS RECID
- FIELD Preis AS DEC DECIMALS 4
- FIELD Aktion AS LOG
- FIELD LagOrt AS CHAR
- FIELD MGeli AS DEC
- FIELD MRuek AS DEC
- INDEX tAufze-k1 IS PRIMARY
- Aufnr
- Sort1
- Sort2
- Sort3.
- DEF TEMP-TABLE TGebKto FIELD Sort_Cd AS CHAR
- FIELD Geb_Cd AS CHAR
- FIELD Bez AS CHAR
- FIELD Preis AS DEC
- FIELD A_Anz AS DEC
- FIELD A_Betrag AS DEC
- FIELD E_Anz AS DEC
- FIELD E_Betrag AS DEC
- FIELD MWST_Art AS INT
- FIELD MWST_Cd AS INT.
-
- DEF TEMP-TABLE TRabSumm FIELD Rab_Summ AS INT
- FIELD Bez AS CHAR
- FIELD F_Rab_Art AS INT
- FIELD F_Wert AS DEC DECIMALS 4
- FIELD A_Rab_Art AS INT
- FIELD A_Wert AS DEC DECIMALS 4
- FIELD Auf_Rab AS DEC DECIMALS 4
- FIELD Abh_Rab AS DEC DECIMALS 4.
- DEF TEMP-TABLE TUmsGrp FIELD Ums_Grp AS INT
- FIELD Mwst AS INT
- FIELD Ansatz AS DEC
- FIELD Bez AS CHAR
- FIELD Ums_Betr AS DEC DECIMALS 4.
-
- DEF TEMP-TABLE TGebuehr FIELD MWST_Cd AS INT
- FIELD Anz AS DEC
- FIELD Betrag AS DEC.
- DEF TEMP-TABLE SAMMFAK FIELD Knr AS INT
- FIELD Samm_Nr AS INT
- FIELD Aufnr AS INT
- FIELD RID AS RECID.
- DEF TEMP-TABLE TSpeRab FIELD Rab_Grp AS INT
- FIELD Auf_Betr AS DEC DECIMALS 4.
-
- DEF TEMP-TABLE TFiliale FIELD Fak_Knr AS INT
- FIELD Lie_Knr AS INT
- FIELD Det_Preis AS DEC DECIMALS 4
- FIELD Net_Preis AS DEC DECIMALS 4
- FIELD MWST_Cd AS INT
- FIELD Faknr AS INT.
- DEF TEMP-TABLE TMonat FIELD Lie_Knr AS INT
- FIELD Artnr AS INT
- FIELD Inhalt AS INT
- FIELD Jahr AS INT
- FIELD Det_Preis AS DEC DECIMALS 4
- FIELD Net_Preis AS DEC DECIMALS 4
- FIELD MWST_Cd AS INT
- FIELD Faknr AS INT
- FIELD Fak_Knr AS INT.
-
- DEF TEMP-TABLE TMonGeb FIELD Knr AS INT
- FIELD MWST_Cd AS INT
- FIELD Betrag AS DEC DECIMALS 4.
- DEF TEMP-TABLE tTexte FIELD Pos AS INT
- FIELD cText1 AS CHAR
- FIELD cText2 AS CHAR
- FIELD iRecid AS RECID.
-
- DEF TEMP-TABLE tRueckst LIKE tAufze.
- DEF TEMP-TABLE tViper NO-UNDO
- FIELD cGruppe AS CHAR
- FIELD cName AS CHAR
- FIELD iHoehe AS INT
- FIELD iBreite AS INT
- FIELD cInhalt AS CHAR.
-
- DEF VAR cvpr_Dokument AS CHAR NO-UNDO.
- DEF VAR iArtZeile AS INT NO-UNDO.
- DEF VAR iVPagePos AS INT NO-UNDO.
- DEF VAR iVGroupPos AS INT NO-UNDO.
- DEF VAR iVMaxPos AS INT INIT 2650 NO-UNDO.
- DEF TEMP-TABLE tTabTexte
- FIELD cRecArt AS CHAR
- FIELD iZeile AS INT
- FIELD cFeld1 AS CHAR
- FIELD cFeld2 AS CHAR
- FIELD cFeld3 AS CHAR
- FIELD iFeld1 AS INT
- FIELD iFeld2 AS INT
- FIELD iFeld3 AS INT
-
- INDEX tTabTexte-k1 IS PRIMARY
- cRecArt
- iZeile.
- DEF TEMP-TABLE tDrucker NO-UNDO
- FIELD cDrucker AS CHAR.
-
- DEF TEMP-TABLE tDokument
- FIELD cGruppe AS CHAR
- FIELD iZeile AS INT
- FIELD cFeld AS CHAR
- FIELD cInhalt AS CHAR
-
- INDEX tDokument-k1 IS PRIMARY
- cGruppe
- iZeile
- cFeld.
- DEF BUFFER XSchrift FOR Schrift.
- DEF BUFFER XDrucker FOR Drucker.
- DEF VAR VTempVESR AS CHAR FORMAT "x(100)" NO-UNDO.
- DEF VAR XSchacht AS INT NO-UNDO.
- DEF STREAM VIn_Stream.
- DEF STREAM VOut_Stream.
- /* ---------- Globale Variablen ---------------------------------- */
- { v8/globvar.i " " " " "SHARED" }
- { v8/debivar.i " " " " "SHARED" }
- { v8/artivar.i " " " " "SHARED" }
- { v8/contvar.i " " " " "SHARED" }
- { v8/listtitv.i "NEW" "SHARED" }
- { v8/aufkototv.i "NEW" "SHARED" }
- { windows.i }
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
- /* ******************** Preprocessor Definitions ******************** */
- &Scoped-define PROCEDURE-TYPE Window
- &Scoped-define DB-AWARE no
- /* Name of designated FRAME-NAME and/or first browse and/or first query */
- &Scoped-define FRAME-NAME DEFAULT-FRAME
- /* Standard List Definitions */
- &Scoped-Define ENABLED-OBJECTS RECT-1 F_Drucker E_Adresse F_Schrift F_Tzz ~
- F_Kzz F_Fzz F_Aufnr F_KOPIE F_Faknr F_Datum F_Dokart F_Seite F_Papier ~
- Btn_Drucken Btn_Abbrechen
- &Scoped-Define DISPLAYED-OBJECTS F_Drucker E_Adresse F_Schrift F_Tzz F_Kzz ~
- F_Fzz F_Aufnr F_KOPIE F_Faknr F_Datum F_Dokart F_Seite F_Papier
- /* Custom List Definitions */
- /* List-1,List-2,List-3,List-4,List-5,List-6 */
- &Scoped-define List-1 F_Drucker E_Adresse F_Schrift F_Tzz F_Kzz F_Fzz ~
- F_Aufnr F_KOPIE F_Faknr F_Datum F_Dokart F_Seite F_Papier
- /* _UIB-PREPROCESSOR-BLOCK-END */
- &ANALYZE-RESUME
- /* *********************** Control Definitions ********************** */
- /* Define the widget handle for the window */
- DEFINE VAR C-Win AS WIDGET-HANDLE NO-UNDO.
- /* Definitions of the field level widgets */
- DEFINE BUTTON Btn_Abbrechen
- LABEL "&Abbrechen"
- SIZE 15 BY 1.
- DEFINE BUTTON Btn_Drucken
- LABEL "&Drucken"
- SIZE 15 BY 1.
- DEFINE VARIABLE E_Adresse AS CHARACTER
- VIEW-AS EDITOR MAX-CHARS 1000
- SIZE 45 BY 6.19
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Aufnr AS INTEGER FORMAT "zzzzzz9":U INITIAL 0
- LABEL "Auftragsnummer"
- VIEW-AS FILL-IN NATIVE
- SIZE 13 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Datum AS DATE FORMAT "99.99.9999":U
- LABEL "Fakturadatum"
- VIEW-AS FILL-IN NATIVE
- SIZE 16 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Dokart AS CHARACTER FORMAT "x(50)":U
- LABEL "Dokumentart"
- VIEW-AS FILL-IN NATIVE
- SIZE 28 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Drucker AS CHARACTER FORMAT "x(50)":U
- LABEL "Drucker"
- VIEW-AS FILL-IN NATIVE
- SIZE 40 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Faknr AS INTEGER FORMAT "zzzzzzz":U INITIAL 0
- LABEL "Fakturanummer"
- VIEW-AS FILL-IN NATIVE
- SIZE 13 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Fzz AS INTEGER FORMAT "zz9":U INITIAL 0
- LABEL "Leere Fusszeilen"
- VIEW-AS FILL-IN NATIVE
- SIZE 7 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_KOPIE AS INTEGER FORMAT "zz9":U INITIAL 0
- LABEL "Anz. Kopien"
- VIEW-AS FILL-IN NATIVE
- SIZE 7 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Kzz AS INTEGER FORMAT "zz9":U INITIAL 0
- LABEL "Leere Kopfzeilen"
- VIEW-AS FILL-IN NATIVE
- SIZE 7 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Papier AS CHARACTER FORMAT "x(50)":U
- LABEL "Auftragspapier"
- VIEW-AS FILL-IN NATIVE
- SIZE 45 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Schrift AS CHARACTER FORMAT "x(50)":U
- LABEL "Schriftbild"
- VIEW-AS FILL-IN NATIVE
- SIZE 40 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Seite AS INTEGER FORMAT "zz9":U INITIAL 0
- LABEL "Seite"
- VIEW-AS FILL-IN NATIVE
- SIZE 7 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Tzz AS INTEGER FORMAT "zz9":U INITIAL 0
- LABEL "Total Zeilen"
- VIEW-AS FILL-IN NATIVE
- SIZE 7 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE RECTANGLE RECT-1
- EDGE-PIXELS 3 GRAPHIC-EDGE NO-FILL
- SIZE 116 BY 12.14.
- /* ************************ Frame Definitions *********************** */
- DEFINE FRAME DEFAULT-FRAME
- F_Drucker AT ROW 2 COL 21 COLON-ALIGNED
- E_Adresse AT ROW 2 COL 70 NO-LABEL NO-TAB-STOP
- F_Schrift AT ROW 3 COL 21 COLON-ALIGNED
- F_Tzz AT ROW 4 COL 21 COLON-ALIGNED
- F_Kzz AT ROW 5 COL 21 COLON-ALIGNED
- F_Fzz AT ROW 6 COL 21 COLON-ALIGNED
- F_Aufnr AT ROW 7 COL 21 COLON-ALIGNED
- F_KOPIE AT ROW 7 COL 53 COLON-ALIGNED
- F_Faknr AT ROW 8 COL 21 COLON-ALIGNED
- F_Datum AT ROW 9 COL 21 COLON-ALIGNED
- F_Dokart AT ROW 9 COL 68 COLON-ALIGNED
- F_Seite AT ROW 9 COL 106 COLON-ALIGNED
- F_Papier AT ROW 10 COL 68 COLON-ALIGNED
- Btn_Drucken AT ROW 11.52 COL 70
- Btn_Abbrechen AT ROW 11.52 COL 100
- RECT-1 AT ROW 1 COL 1
- WITH 1 DOWN NO-BOX KEEP-TAB-ORDER OVERLAY
- SIDE-LABELS NO-UNDERLINE THREE-D
- AT COL 1 ROW 1
- SIZE 126.41 BY 13.85
- DEFAULT-BUTTON Btn_Drucken CANCEL-BUTTON Btn_Abbrechen.
- /* *********************** Procedure Settings ************************ */
- &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
- /* Settings for THIS-PROCEDURE
- Type: Window
- Allow: Basic,Browse,DB-Fields,Window,Query
- Other Settings: COMPILE
- Temp-Tables and Buffers:
- TABLE: XTermOut T "NEW SHARED" NO-UNDO AnaDat TermOut
- END-TABLES.
- */
- &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
- /* ************************* Create Window ************************** */
- &ANALYZE-SUSPEND _CREATE-WINDOW
- IF SESSION:DISPLAY-TYPE = "GUI":U THEN
- CREATE WINDOW C-Win ASSIGN
- HIDDEN = YES
- TITLE = "Drucken von Auftragsdokumenten"
- HEIGHT = 12.86
- WIDTH = 120.6
- MAX-HEIGHT = 26.57
- MAX-WIDTH = 203
- VIRTUAL-HEIGHT = 26.57
- VIRTUAL-WIDTH = 203
- RESIZE = yes
- SCROLL-BARS = no
- STATUS-AREA = no
- BGCOLOR = ?
- FGCOLOR = ?
- KEEP-FRAME-Z-ORDER = yes
- THREE-D = yes
- MESSAGE-AREA = no
- SENSITIVE = yes.
- ELSE {&WINDOW-NAME} = CURRENT-WINDOW.
- /* END WINDOW DEFINITION */
- &ANALYZE-RESUME
- /* *********** Runtime Attributes and AppBuilder Settings *********** */
- &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
- /* SETTINGS FOR WINDOW C-Win
- VISIBLE,,RUN-PERSISTENT */
- /* SETTINGS FOR FRAME DEFAULT-FRAME
- FRAME-NAME */
- /* SETTINGS FOR EDITOR E_Adresse IN FRAME DEFAULT-FRAME
- 1 */
- ASSIGN
- E_Adresse:RETURN-INSERTED IN FRAME DEFAULT-FRAME = TRUE
- E_Adresse:READ-ONLY IN FRAME DEFAULT-FRAME = TRUE.
- /* SETTINGS FOR FILL-IN F_Aufnr IN FRAME DEFAULT-FRAME
- 1 */
- /* SETTINGS FOR FILL-IN F_Datum IN FRAME DEFAULT-FRAME
- 1 */
- /* SETTINGS FOR FILL-IN F_Dokart IN FRAME DEFAULT-FRAME
- 1 */
- /* SETTINGS FOR FILL-IN F_Drucker IN FRAME DEFAULT-FRAME
- 1 */
- /* SETTINGS FOR FILL-IN F_Faknr IN FRAME DEFAULT-FRAME
- 1 */
- /* SETTINGS FOR FILL-IN F_Fzz IN FRAME DEFAULT-FRAME
- 1 */
- /* SETTINGS FOR FILL-IN F_KOPIE IN FRAME DEFAULT-FRAME
- 1 */
- /* SETTINGS FOR FILL-IN F_Kzz IN FRAME DEFAULT-FRAME
- 1 */
- /* SETTINGS FOR FILL-IN F_Papier IN FRAME DEFAULT-FRAME
- 1 */
- /* SETTINGS FOR FILL-IN F_Schrift IN FRAME DEFAULT-FRAME
- 1 */
- /* SETTINGS FOR FILL-IN F_Seite IN FRAME DEFAULT-FRAME
- 1 */
- /* SETTINGS FOR FILL-IN F_Tzz IN FRAME DEFAULT-FRAME
- 1 */
- IF SESSION:DISPLAY-TYPE = "GUI":U AND VALID-HANDLE(C-Win)
- THEN C-Win:HIDDEN = no.
- /* _RUN-TIME-ATTRIBUTES-END */
- &ANALYZE-RESUME
-
- /* ************************ Control Triggers ************************ */
- &Scoped-define SELF-NAME C-Win
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL C-Win C-Win
- ON END-ERROR OF C-Win /* Drucken von Auftragsdokumenten */
- OR ENDKEY OF {&WINDOW-NAME} ANYWHERE DO:
- /* This case occurs when the user presses the "Esc" key.
- In a persistently run window, just ignore this. If we did not, the
- application would exit. */
- IF THIS-PROCEDURE:PERSISTENT THEN RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL C-Win C-Win
- ON WINDOW-CLOSE OF C-Win /* Drucken von Auftragsdokumenten */
- DO:
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME Btn_Abbrechen
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Abbrechen C-Win
- ON CHOOSE OF Btn_Abbrechen IN FRAME DEFAULT-FRAME /* Abbrechen */
- DO:
- DruckFlag = FALSE.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME Btn_Drucken
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Drucken C-Win
- ON CHOOSE OF Btn_Drucken IN FRAME DEFAULT-FRAME /* Drucken */
- DO:
- DruckFlag = TRUE.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME E_Adresse
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL E_Adresse C-Win
- ON ENTRY OF E_Adresse IN FRAME DEFAULT-FRAME
- DO:
- APPLY 'TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_Aufnr
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Aufnr C-Win
- ON ENTRY OF F_Aufnr IN FRAME DEFAULT-FRAME /* Auftragsnummer */
- DO:
- APPLY 'TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_Datum
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Datum C-Win
- ON ENTRY OF F_Datum IN FRAME DEFAULT-FRAME /* Fakturadatum */
- DO:
- APPLY 'TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_Dokart
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Dokart C-Win
- ON ENTRY OF F_Dokart IN FRAME DEFAULT-FRAME /* Dokumentart */
- DO:
- APPLY 'TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_Drucker
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Drucker C-Win
- ON ENTRY OF F_Drucker IN FRAME DEFAULT-FRAME /* Drucker */
- DO:
- APPLY 'TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_Faknr
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Faknr C-Win
- ON ENTRY OF F_Faknr IN FRAME DEFAULT-FRAME /* Fakturanummer */
- DO:
- APPLY 'TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_Fzz
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Fzz C-Win
- ON ENTRY OF F_Fzz IN FRAME DEFAULT-FRAME /* Leere Fusszeilen */
- DO:
- APPLY 'TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_Kzz
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Kzz C-Win
- ON ENTRY OF F_Kzz IN FRAME DEFAULT-FRAME /* Leere Kopfzeilen */
- DO:
- APPLY 'TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_Papier
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Papier C-Win
- ON ENTRY OF F_Papier IN FRAME DEFAULT-FRAME /* Auftragspapier */
- DO:
- APPLY 'TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_Schrift
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Schrift C-Win
- ON ENTRY OF F_Schrift IN FRAME DEFAULT-FRAME /* Schriftbild */
- DO:
- APPLY 'TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_Seite
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Seite C-Win
- ON ENTRY OF F_Seite IN FRAME DEFAULT-FRAME /* Seite */
- DO:
- APPLY 'TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_Tzz
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Tzz C-Win
- ON ENTRY OF F_Tzz IN FRAME DEFAULT-FRAME /* Total Zeilen */
- DO:
- APPLY 'TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &UNDEFINE SELF-NAME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _MAIN-BLOCK C-Win
- /* *************************** Main Block *************************** */
- /* Set CURRENT-WINDOW: this will parent dialog-boxes and frames. */
- ASSIGN CURRENT-WINDOW = {&WINDOW-NAME}
- THIS-PROCEDURE:CURRENT-WINDOW = {&WINDOW-NAME}.
- ON CLOSE OF THIS-PROCEDURE RUN disable_UI.
- PAUSE 0 BEFORE-HIDE.
- ASSIGN cTray[01] = '261'
- cTray[02] = '260'
- cTray[03] = '259'
- cTray[04] = '258'
- cTray[05] = '257'.
- /* ASSIGN cTray[01] = '259' */
- /* cTray[02] = '260' */
- /* cTray[03] = '261' */
- /* cTray[04] = '258' */
- /* cTray[05] = '257'. */
- MAIN-BLOCK:
- DO ON ERROR UNDO MAIN-BLOCK, LEAVE MAIN-BLOCK
- ON END-KEY UNDO MAIN-BLOCK, LEAVE MAIN-BLOCK:
-
- RUN enable_UI.
-
- FDrucken = TRUE.
- DruckFlag = TRUE.
- cUSER = DYNAMIC-FUNCTION('getDBUser':U) NO-ERROR.
- cBenutzer = DYNAMIC-FUNCTION('getBenutzer':U) NO-ERROR.
-
- FIND BSteuer USE-INDEX Steuer-k1
- WHERE BSteuer.Firma = GVFirma NO-LOCK NO-ERROR.
- { vpr.i function_header }
- { vpr.i INIT }
- { vpr.i START }
-
- VERARBEITEN:
- DO WHILE FDrucken:
- FIND FIRST Tabel USE-INDEX Tabel-k1
- WHERE Tabel.Firma = GVFirma
- AND Tabel.RecArt = 'AUFDRUCK'
- AND Tabel.CodeC = cUSER
- AND Tabel.Bez1 = '' NO-LOCK NO-ERROR.
- IF NOT AVAILABLE Tabel THEN DO:
- FIND FIRST Tabel USE-INDEX Tabel-k1
- WHERE Tabel.Firma = GVFirma
- AND Tabel.RecArt = 'AUFDRUCK'
- AND Tabel.CodeC = cBenutzer
- AND Tabel.Bez1 = '' NO-LOCK NO-ERROR.
- END.
- IF NOT AVAILABLE Tabel THEN DO:
- FDrucken = FALSE.
- NEXT.
- END.
- TRecid = RECID(Tabel).
-
- REPEAT TRANSACTION:
- FIND BTabel WHERE RECID(BTabel) = TRecid
- EXCLUSIVE-LOCK NO-WAIT NO-ERROR.
- IF AVAILABLE BTabel THEN DO:
- BTabel.Bez1 = 'A'.
- RELEASE BTabel.
- LEAVE.
- END.
- IF LOCKED BTabel THEN NEXT.
- TRecid = 0.
- LEAVE.
- END.
- IF TRecid = 0 THEN NEXT.
- FIND Tabel WHERE RECID(Tabel) = TRecid NO-LOCK.
- RUN DRUCKEN.
- DYNAMIC-FUNCTION('setBatch':U, FALSE) NO-ERROR.
- REPEAT TRANSACTION:
- FIND BTabel WHERE RECID(BTabel) = TRecid NO-ERROR.
- DELETE BTabel.
- RELEASE BTabel.
- LEAVE.
- END.
-
- END.
- { vpr.i STOP }
- APPLY 'GO' TO FRAME {&FRAME-NAME}.
- APPLY 'CLOSE' TO THIS-PROCEDURE.
- RETURN.
- END.
- PROCEDURE ShellExecuteA EXTERNAL "shell32.dll" :
- DEFINE INPUT PARAMETER lphwnd AS LONG.
- DEFINE INPUT PARAMETER lpOperation AS CHAR.
- DEFINE INPUT PARAMETER lpFile AS CHAR.
- DEFINE INPUT PARAMETER lpParameters AS CHAR.
- DEFINE INPUT PARAMETER lpDirectory AS CHAR.
- DEFINE INPUT PARAMETER nShowCmd AS LONG.
- DEFINE RETURN PARAMETER hInstance AS LONG.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- /* ********************** Internal Procedures *********************** */
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ABLADEVORSCHRIFT C-Win
- PROCEDURE ABLADEVORSCHRIFT :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- XAblade = ''.
- FIND Tabel USE-INDEX Tabel-k1
- WHERE Tabel.Firma = GVFirma
- AND Tabel.RecArt = 'ABLAD'
- AND Tabel.CodeC = ''
- AND Tabel.CodeI = BAufko.Ablad_Vor
- AND Tabel.Sprcd = 1 NO-LOCK NO-ERROR.
- IF NOT AVAILABLE Tabel THEN DO:
- XAblade = BAufko.Ablad_Vor_Text.
- RETURN.
- END.
-
- IF LENGTH(Tabel.Bez1) > 4 THEN XAblade = Tabel.Bez1.
- IF BAufko.Ablad_Vor_Text <> '' THEN DO:
- IF XAblade <> '' THEN XAblade = XAblade + " / ".
- XAblade = XAblade + BAufko.Ablad_Vor_Text.
- END.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ARTIKELZEILE C-Win
- PROCEDURE ARTIKELZEILE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DO WHILE Aufze.Artnr = 0:
- SUBSTRING(VZeile,015) = STRING(Aufze.Bez1,"x(30)").
- { v8/putstream.i "1" }
- IF Aufze.Bez2 <> '' THEN DO:
- VZeile = RZeile.
- SUBSTRING(VZeile,015) = STRING(Aufze.Bez2,"x(30)").
- { v8/putstream.i "1" }
- END.
- RETURN.
- END.
-
- FIND Artst OF Aufze NO-LOCK.
-
- FIND GGebinde WHERE GGebinde.Firma = GVFirma
- AND GGebinde.Geb_Cd = Aufze.GGeb_Cd NO-LOCK NO-ERROR.
- FIND VGebinde WHERE VGebinde.Firma = GVFirma
- AND VGebinde.Geb_Cd = Aufze.VGeb_Cd NO-LOCK NO-ERROR.
- FIND KGebinde WHERE KGebinde.Firma = GVFirma
- AND KGebinde.Geb_Cd = Aufze.KGeb_Cd NO-LOCK NO-ERROR.
- SUBSTRING(VZeile,008) = STRING(Aufze.Artnr ,"999999").
- SUBSTRING(VZeile,015) = STRING(Aufze.Bez1 ,"x(30)").
- SUBSTRING(VZeile,045) = STRING(KGebinde.KBez,"x(08)").
- IF Aufze.VGeb_Me <> 0 THEN DO:
- SUBSTRING(VZeile,053) = STRING(Aufze.VGeb_Me,"->>9x ")
- + STRING(VGebinde.KBez,"x(06)").
- END.
- SUBSTRING(VZeile,066) = STRING(Aufze.MGeli ,"->>>9").
-
- IF Aufze.Alk_Gehalt <> 0 THEN DO:
- SUBSTRING(VZeile,038) = STRING(Aufze.Alk_Gehalt,"zz9.9%").
- END.
- IF Aufze.Jahr > 9 THEN DO:
- SUBSTRING(VZeile,041) = ' '
- + SUBSTRING(STRING(Aufze.Jahr,"9999"),03).
- END.
- IF FPreis THEN DO:
- SUBSTRING(VZeile,072) = STRING(Aufze.Preis ,"zz9.999").
- SUBSTRING(VZeile,081) = STRING(Aufze.Bru_Betr ,"->>,>>9.99").
- SUBSTRING(VZeile,092) = STRING(Aufze.WuCd ,"z9").
- END.
- { v8/putstream.i "1" }
-
- IF Aufze.Bez2 <> '' THEN DO:
- SUBSTRING(VZeile,015) = STRING(Aufze.Bez2,"x(30)").
- { v8/putstream.i "1" }
- END.
-
- IF Aufze.Aktion THEN DO:
- SUBSTRING(VZeile,015) = STRING(Aufze.Aktion_Text,"x(30)").
- { v8/putstream.i "1" }
- END.
- DO WHILE FPreis:
- IF Aufze.Rab_Betr = 0 THEN LEAVE.
-
- RabWert = ABSOLUTE(Aufze.Rab_Wert).
- IF Aufze.Rab_Art = 3 THEN RabText = VEpzText.
- ELSE DO:
- IF Aufze.Rab_Betr < 0 THEN RabText = VZusText.
- IF Aufze.Rab_Betr > 0 THEN RabText = VRabText.
- END.
- SUBSTRING(VZeile,015) = TRIM(RabText).
-
- IF Aufze.Rab_Art = 1
- THEN SUBSTRING(VZeile,035) = STRING(RabWert,"->9.9 %").
-
- IF Aufze.Rab_Art = 2 OR
- Aufze.Rab_Art = 3
- THEN SUBSTRING(VZeile,035) = STRING(RabWert,"-9.99 Fr.").
-
- SUBSTRING(VZeile,081) = STRING(- Aufze.Rab_Betr ,"->>,>>9.99").
- { v8/putstream.i "1" }
- LEAVE.
- END.
-
- DO WHILE FPreis:
- IF Aufze.Zus_Betr = 0 THEN LEAVE.
-
- RabWert = ABSOLUTE(Aufze.Zus_Wert).
- IF Aufze.Zus_Art = 3 THEN RabText = VEpzText.
- ELSE DO:
- IF Aufze.Zus_Betr < 0 THEN RabText = VRabText.
- IF Aufze.Zus_Betr > 0 THEN RabText = VZusText.
- END.
- SUBSTRING(VZeile,015) = TRIM(RabText).
-
- IF Aufze.Zus_Art = 1
- THEN SUBSTRING(VZeile,035) = STRING(RabWert,"->9.9 %").
-
- IF Aufze.Zus_Art = 2 OR
- Aufze.Zus_Art = 3
- THEN SUBSTRING(VZeile,035) = STRING(RabWert,"-9.99 Fr.").
-
- SUBSTRING(VZeile,081) = STRING(+ Aufze.Zus_Betr ,"->>,>>9.99").
- { v8/putstream.i "1" }
- LEAVE.
- END.
-
- /* ---- Summengruppen-Total -------------------------------------------- */
-
- IF Aufze.Rab_Su_Grp <> 0 THEN DO:
- FIND FIRST TRabSumm WHERE TRabSumm.Rab_Summ = Aufze.Rab_Su_Grp NO-ERROR.
- IF AVAILABLE TRabSumm THEN DO:
- TRabSumm.Auf_Rab = TRabSumm.Auf_Rab + Aufze.Auf_Rab.
- TRabSumm.Abh_Rab = TRabSumm.Abh_Rab + Aufze.Abh_Rab.
- END.
- END.
-
- /* ---- Warengruppen-Totale -------------------------------------------- */
-
- FIND FIRST TUmsGrp WHERE TUmsGrp.Ums_Grp = Artst.Wg_Grp
- AND TUmsGrp.MWst = Aufze.WuCd NO-ERROR.
- IF NOT AVAILABLE TUmsGrp THEN DO:
- FIND WarenGrp USE-INDEX WarenGrp-k1
- WHERE WarenGrp.Firma = GVFirma
- AND WarenGrp.Wgr = Artst.Wg_Grp NO-LOCK NO-ERROR.
- CREATE TUmsGrp.
- ASSIGN TUmsGrp.Ums_Grp = Artst.Wg_Grp
- TUmsGrp.Mwst = Aufze.WuCd.
- IF AVAILABLE WarenGrp THEN TUmsGrp.Bez = WarenGrp.Bez1.
- ELSE TUmsGrp.Bez = "??????????".
- END.
-
- TUmsGrp.Ums_Betr = TUmsGrp.Ums_Betr
- + Aufze.Net_Betr
- - Aufze.Auf_Rab
- - Aufze.Abh_Rab.
- RETURN.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ARTIKELZEILE_NEU C-Win
- PROCEDURE ARTIKELZEILE_NEU :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF INPUT PARAMETER ipRecid AS RECID NO-UNDO.
- FIND tAufze WHERE RECID(tAufze) = ipRecid NO-LOCK.
- FIND Aufze WHERE RECID(Aufze) = tAufze.Zeile NO-LOCK.
-
- DO WHILE Aufze.Artnr = 0:
- SUBSTRING(VZeile,044) = STRING(Aufze.Bez1,"x(30)").
- { v8/putstream.i "1" }
- IF Aufze.Bez2 <> '' THEN DO:
- VZeile = RZeile.
- SUBSTRING(VZeile,044) = STRING(Aufze.Bez2,"x(30)").
- { v8/putstream.i "1" }
- END.
- RETURN.
- END.
- FIND Artst OF Aufze NO-LOCK.
-
- FIND GGebinde WHERE GGebinde.Firma = GVFirma
- AND GGebinde.Geb_Cd = Aufze.GGeb_Cd NO-LOCK NO-ERROR.
- FIND VGebinde WHERE VGebinde.Firma = GVFirma
- AND VGebinde.Geb_Cd = Aufze.VGeb_Cd NO-LOCK NO-ERROR.
- FIND KGebinde WHERE KGebinde.Firma = GVFirma
- AND KGebinde.Geb_Cd = Aufze.KGeb_Cd NO-LOCK NO-ERROR.
- SUBSTRING(VZeile,008) = STRING(KGebinde.KBez,"x(10)").
- IF Aufze.VGeb_Me <> 0 THEN DO:
- SUBSTRING(VZeile,019) = STRING(Aufze.VGeb_Me,'->>>')
- + 'x '
- + STRING(VGebinde.KBez,'x(10)').
- END.
- SUBSTRING(VZeile,035) = STRING(Aufze.MGeli ,"->>,>>9").
- SUBSTRING(VZeile,044) = STRING(Aufze.Bez1 ,"x(30)").
- IF Aufze.Jahr > 9 THEN SUBSTRING(VZeile,073) = STRING(Aufze.Jahr,"9999").
- IF Aufze.Alk_Gehalt <> 0 THEN SUBSTRING(VZeile,078) = STRING(Aufze.Alk_Gehalt,"zz9.9%").
- SUBSTRING(VZeile,086) = STRING(Aufze.Artnr ,"999999").
- IF FPreis THEN DO:
- SUBSTRING(VZeile,095) = STRING(Aufze.Preis ,">,>>9.999").
- SUBSTRING(VZeile,104) = STRING(Aufze.Bru_Betr ,"->>>,>>9.99").
- SUBSTRING(VZeile,116) = STRING(Aufze.WuCd ,"z9").
- END.
- VZeile = SUBSTRING(VZeile,001,018)
- + BDrucker.Drufettb
- + SUBSTRING(VZeile,019,016)
- + BDrucker.Drufette
- + SUBSTRING(VZeile,035).
- { v8/putstream.i "1" }
-
- IF Aufze.Bez2 <> '' THEN DO:
- SUBSTRING(VZeile,044) = STRING(Aufze.Bez2,"x(30)").
- { v8/putstream.i "1" }
- END.
- IF Aufze.Aktion THEN DO:
- SUBSTRING(VZeile,044) = STRING(Aufze.Aktion_Text,"x(30)").
- { v8/putstream.i "1" }
- END.
- DO WHILE FPreis:
- IF Aufze.Rab_Betr = 0 THEN LEAVE.
-
- RabWert = ABSOLUTE(Aufze.Rab_Wert).
- IF Aufze.Rab_Art = 3 THEN RabText = VEpzText.
- ELSE DO:
- IF Aufze.Rab_Betr < 0 THEN RabText = VZusText.
- IF Aufze.Rab_Betr > 0 THEN RabText = VRabText.
- END.
- SUBSTRING(VZeile,044) = TRIM(RabText).
-
- IF Aufze.Rab_Art = 1
- THEN SUBSTRING(VZeile,099) = STRING(RabWert,"->9.9%").
-
- IF Aufze.Rab_Art = 2 OR
- Aufze.Rab_Art = 3
- THEN SUBSTRING(VZeile,099) = STRING(RabWert,"-9.99").
-
- SUBSTRING(VZeile,104) = STRING(- Aufze.Rab_Betr ,"->>>,>>9.99").
- { v8/putstream.i "1" }
- LEAVE.
- END.
-
- DO WHILE FPreis:
- IF Aufze.Zus_Betr = 0 THEN LEAVE.
-
- RabWert = ABSOLUTE(Aufze.Zus_Wert).
- IF Aufze.Zus_Art = 3 THEN RabText = VEpzText.
- ELSE DO:
- IF Aufze.Zus_Betr < 0 THEN RabText = VRabText.
- IF Aufze.Zus_Betr > 0 THEN RabText = VZusText.
- END.
- SUBSTRING(VZeile,044) = TRIM(RabText).
-
- IF Aufze.Zus_Art = 1
- THEN SUBSTRING(VZeile,099) = STRING(RabWert,"->9.9%").
-
- IF Aufze.Zus_Art = 2 OR
- Aufze.Zus_Art = 3
- THEN SUBSTRING(VZeile,099) = STRING(RabWert,"-9.99").
-
- SUBSTRING(VZeile,104) = STRING(+ Aufze.Zus_Betr ,"->>>,>>9.99").
- { v8/putstream.i "1" }
- LEAVE.
- END.
-
- /* ---- Summengruppen-Total -------------------------------------------- */
-
- IF Aufze.Rab_Su_Grp <> 0 THEN DO:
- FIND FIRST TRabSumm WHERE TRabSumm.Rab_Summ = Aufze.Rab_Su_Grp NO-ERROR.
- IF AVAILABLE TRabSumm THEN DO:
- TRabSumm.Auf_Rab = TRabSumm.Auf_Rab + Aufze.Auf_Rab.
- TRabSumm.Abh_Rab = TRabSumm.Abh_Rab + Aufze.Abh_Rab.
- END.
- END.
-
- /* ---- Warengruppen-Totale -------------------------------------------- */
-
- FIND FIRST TUmsGrp WHERE TUmsGrp.Ums_Grp = Artst.Wg_Grp
- AND TUmsGrp.MWst = Aufze.WuCd NO-ERROR.
- IF NOT AVAILABLE TUmsGrp THEN DO:
- FIND WarenGrp USE-INDEX WarenGrp-k1
- WHERE WarenGrp.Firma = GVFirma
- AND WarenGrp.Wgr = Artst.Wg_Grp NO-LOCK NO-ERROR.
- CREATE TUmsGrp.
- ASSIGN TUmsGrp.Ums_Grp = Artst.Wg_Grp
- TUmsGrp.Mwst = Aufze.WuCd.
- IF AVAILABLE WarenGrp THEN TUmsGrp.Bez = WarenGrp.Bez1.
- ELSE TUmsGrp.Bez = "??????????".
- END.
-
- TUmsGrp.Ums_Betr = TUmsGrp.Ums_Betr
- + Aufze.Net_Betr
- - Aufze.Auf_Rab
- - Aufze.Abh_Rab.
- IF Aufze.MRuek > 0 THEN DO:
- CREATE tRueckst.
- BUFFER-COPY tAufze TO tRueckst.
- END.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ARTIKELZEILE_RUECKSTAND C-Win
- PROCEDURE ARTIKELZEILE_RUECKSTAND :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF INPUT PARAMETER ipRecid AS RECID NO-UNDO.
- FIND tRueckst WHERE RECID(tRueckst) = ipRecid NO-LOCK.
- FIND Aufze WHERE RECID(Aufze) = tRueckst.Zeile NO-LOCK.
-
- FIND Artst OF Aufze NO-LOCK.
-
- FIND VGebinde WHERE VGebinde.Firma = GVFirma
- AND VGebinde.Geb_Cd = Aufze.VGeb_Cd NO-LOCK NO-ERROR.
- FIND KGebinde WHERE KGebinde.Firma = GVFirma
- AND KGebinde.Geb_Cd = Aufze.KGeb_Cd NO-LOCK NO-ERROR.
-
- SUBSTRING(VZeile,008) = STRING(KGebinde.KBez,"x(10)").
- IF Aufze.VGeb_Ru <> 0 THEN DO:
- SUBSTRING(VZeile,019) = STRING(Aufze.VGeb_Ru,'->>>')
- + 'x '
- + STRING(VGebinde.KBez,'x(10)').
- END.
- SUBSTRING(VZeile,035) = STRING(Aufze.MRuek ,"->>,>>9").
- SUBSTRING(VZeile,044) = STRING(Aufze.Bez1 ,"x(30)").
- IF Aufze.Jahr > 9 THEN SUBSTRING(VZeile,073) = STRING(Aufze.Jahr,"9999").
- IF Aufze.Alk_Gehalt <> 0 THEN SUBSTRING(VZeile,078) = STRING(Aufze.Alk_Gehalt,"zz9.9%").
-
- SUBSTRING(VZeile,086) = STRING(Aufze.Artnr ,"999999").
- VZeile = SUBSTRING(VZeile,001,018)
- + BDrucker.Drufettb
- + SUBSTRING(VZeile,019,016)
- + BDrucker.Drufette
- + SUBSTRING(VZeile,035).
- { v8/putstream.i "1" }
- IF Aufze.Bez2 <> '' THEN DO:
- SUBSTRING(VZeile,044) = STRING(Aufze.Bez2,"x(30)").
- { v8/putstream.i "1" }
- END.
- IF Aufze.Aktion THEN DO:
- SUBSTRING(VZeile,044) = STRING(Aufze.Aktion_Text,"x(30)").
- { v8/putstream.i "1" }
- END.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ARTIKELZEILE_RUEST C-Win
- PROCEDURE ARTIKELZEILE_RUEST :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF INPUT PARAMETER ipRecid AS RECID NO-UNDO.
- DEF VAR cBarCode AS CHAR NO-UNDO.
- DEF VAR oBarCode AS CHAR NO-UNDO.
- /*
- DEF VAR cCodeArt AS CHAR INIT 'P0205075' NO-UNDO.
- */
- DEF VAR cCodeArt AS CHAR INIT 'P0205080' NO-UNDO.
- FIND tAufze WHERE RECID(tAufze) = ipRecid NO-LOCK.
- FIND Aufze WHERE RECID(Aufze) = tAufze.Zeile NO-LOCK.
- DO WHILE Aufze.Artnr = 0:
- SUBSTRING(VZeile,036) = STRING(Aufze.Bez1,"x(30)").
- { v8/putstream.i "1" }
- IF Aufze.Bez2 <> '' THEN DO:
- VZeile = RZeile.
- SUBSTRING(VZeile,036) = STRING(Aufze.Bez2,"x(30)").
- { v8/putstream.i "1" }
- END.
- RETURN.
- END.
-
- FIND Artst OF Aufze NO-LOCK.
-
- FIND GGebinde WHERE GGebinde.Firma = GVFirma
- AND GGebinde.Geb_Cd = Aufze.GGeb_Cd NO-LOCK NO-ERROR.
- FIND VGebinde WHERE VGebinde.Firma = GVFirma
- AND VGebinde.Geb_Cd = Aufze.VGeb_Cd NO-LOCK NO-ERROR.
- FIND KGebinde WHERE KGebinde.Firma = GVFirma
- AND KGebinde.Geb_Cd = Aufze.KGeb_Cd NO-LOCK NO-ERROR.
- FIND FIRST ArtLief NO-LOCK
- WHERE ArtLief.Firma = GVFirma
- AND ArtLief.Artnr = Aufze.Artnr
- AND ArtLief.Inhalt = Aufze.Inhalt
- AND ArtLief.Jahr = Aufze.Jahr NO-ERROR.
- cBarCode = ''.
- oBarCode = ''.
- IF Artst.Strichcode = '' THEN DO:
- cBarCode = TRIM(STRING(Aufze.Artnr ,'zzzzz9'))
- + '/'
- + TRIM(STRING(Aufze.Inhalt,'zzz9'))
- + '/'
- + TRIM(STRING(Aufze.Jahr ,'zzz9')).
- .
- RUN BAR-CODE-39 ( INPUT cBarCode,
- INPUT cCodeArt,
- OUTPUT oBarCode ).
- END.
- /*
- IF AVAILABLE ArtLief THEN DO:
- IF ArtLief.Strichcode_KGeb <> '' THEN cBarCode = ArtLief.Strichcode_KGeb.
- ELSE IF Artst.Strichcode <> '' THEN cBarCode = Artst.Strichcode .
- END.
- */
- SUBSTRING(VZeile,001) = STRING(KGebinde.KBez,"x(10)").
- IF Aufze.VGeb_Me <> 0 THEN DO:
- SUBSTRING(VZeile,012) = STRING(Aufze.VGeb_Me,'->>>')
- + 'x '
- + VGebinde.KBez.
- END.
- SUBSTRING(VZeile,028) = STRING(Aufze.MGeli ,"->>>>9").
- SUBSTRING(VZeile,036) = STRING(Aufze.Bez1 ,"x(30)").
- IF Aufze.Alk_Gehalt <> 0 THEN SUBSTRING(VZeile,068) = STRING(Aufze.Alk_Gehalt,"zz9.9%").
- IF Aufze.Jahr > 9 THEN SUBSTRING(VZeile,075) = STRING(Aufze.Jahr,"9999").
- SUBSTRING(VZeile,081) = STRING(Aufze.Artnr ,"999999").
- SUBSTRING(VZeile,089) = STRING(tAufze.LagOrt,'x(08)').
- IF oBarCode <> '' THEN DO:
- SUBSTRING(VZeile,099) = CHR(27) + "&f0S" /* Cursorposition speichern */
- + CHR(27) + "*p" /* Cursor neu Positionieren anhand der Zeile */
- + STRING((VLine * 50) - 50,"9999") + "Y"
- + oBarcode
- + CHR(027) + "&f1S". /* Cusrorposition zurückholen */
- END.
- VZeile = BDrucker.Drufettb
- + SUBSTRING(VZeile,001,027)
- + BDrucker.Drufette
- + SUBSTRING(VZeile,028,061)
- + BDrucker.Drufettb
- + SUBSTRING(VZeile,089,010)
- + BDrucker.Drufette
- + SUBSTRING(VZeile,099).
- { v8/putstream.i "1" }
-
- IF Aufze.Bez2 <> '' THEN DO:
- SUBSTRING(VZeile,036) = STRING(Aufze.Bez2,"x(30)").
- { v8/putstream.i "1 }
- END.
- { v8/putstream.i "1 }
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ARTIKELZEILE_RUESTSCHEIN C-Win
- PROCEDURE ARTIKELZEILE_RUESTSCHEIN :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF INPUT PARAMETER ipRecid AS RECID NO-UNDO.
- DEF VAR cBarCode AS CHAR NO-UNDO.
- DEF VAR oBarCode AS CHAR NO-UNDO.
- /*
- DEF VAR cCodeArt AS CHAR INIT 'P0205075' NO-UNDO.
- */
- DEF VAR cCodeArt AS CHAR INIT 'P0205080' NO-UNDO.
- FIND tAufze WHERE RECID(tAufze) = ipRecid NO-LOCK.
- FIND Aufze WHERE RECID(Aufze) = tAufze.Zeile NO-LOCK.
- DO WHILE Aufze.Artnr = 0:
- SUBSTRING(VZeile,036) = STRING(Aufze.Bez1,"x(30)").
- { v8/putstream.i "1" }
- IF Aufze.Bez2 <> '' THEN DO:
- VZeile = RZeile.
- SUBSTRING(VZeile,036) = STRING(Aufze.Bez2,"x(30)").
- { v8/putstream.i "1" }
- END.
- RETURN.
- END.
-
- FIND Artst OF Aufze NO-LOCK.
-
- FIND GGebinde WHERE GGebinde.Firma = GVFirma
- AND GGebinde.Geb_Cd = Aufze.GGeb_Cd NO-LOCK NO-ERROR.
- FIND VGebinde WHERE VGebinde.Firma = GVFirma
- AND VGebinde.Geb_Cd = Aufze.VGeb_Cd NO-LOCK NO-ERROR.
- FIND KGebinde WHERE KGebinde.Firma = GVFirma
- AND KGebinde.Geb_Cd = Aufze.KGeb_Cd NO-LOCK NO-ERROR.
- FIND FIRST ArtLief NO-LOCK
- WHERE ArtLief.Firma = GVFirma
- AND ArtLief.Artnr = Aufze.Artnr
- AND ArtLief.Inhalt = Aufze.Inhalt
- AND ArtLief.Jahr = Aufze.Jahr NO-ERROR.
- cBarCode = ''.
- oBarCode = ''.
-
- IF AVAILABLE ArtLief THEN DO:
- IF ArtLief.Strichcode_KGeb <> '' THEN cBarCode = ArtLief.Strichcode_KGeb.
- ELSE IF Artst.Strichcode <> '' THEN cBarCode = Artst.Strichcode .
- END.
- /*
- cBarCode = TRIM(STRING(Aufze.Artnr ,'zzzzz9'))
- + '.'
- + TRIM(STRING(Aufze.Inhalt,'zzz9'))
- + '.'
- + TRIM(STRING(Aufze.Jahr ,'zzz9')).
- .
- RUN BAR-CODE-39 ( INPUT cBarCode,
- INPUT cCodeArt,
- OUTPUT oBarCode ).
- */
- SUBSTRING(VZeile,001) = STRING(KGebinde.KBez,"x(10)").
- IF Aufze.VGeb_Me <> 0 THEN DO:
- SUBSTRING(VZeile,012) = STRING(Aufze.VGeb_Me,'->>>')
- + 'x '
- + VGebinde.KBez.
- END.
- SUBSTRING(VZeile,028) = STRING(Aufze.MBest ,"->>>>9").
- SUBSTRING(VZeile,036) = STRING(Aufze.Bez1 ,"x(30)").
- IF Aufze.Alk_Gehalt <> 0 THEN SUBSTRING(VZeile,068) = STRING(Aufze.Alk_Gehalt,"zz9.9%").
- IF Aufze.Jahr > 9 THEN SUBSTRING(VZeile,075) = STRING(Aufze.Jahr,"9999").
- SUBSTRING(VZeile,081) = STRING(Aufze.Artnr ,"999999").
- SUBSTRING(VZeile,089) = STRING(tAufze.LagOrt,'x(08)').
- VZeile = BDrucker.Drufettb
- + SUBSTRING(VZeile,001,027)
- + BDrucker.Drufette
- + SUBSTRING(VZeile,028,061)
- + BDrucker.Drufettb
- + SUBSTRING(VZeile,089,008)
- + BDrucker.Drufette
- + SUBSTRING(VZeile,097).
- { v8/putstream.i "1" }
-
- IF Aufze.Bez2 <> '' THEN DO:
- SUBSTRING(VZeile,036) = STRING(Aufze.Bez2,"x(30)").
- { v8/putstream.i "1 }
- END.
- IF oBarCode <> '' THEN DO:
- SUBSTRING(VZeile,036) = CHR(27) + "&f0S" /* Cursorposition speichern */
- + CHR(27) + "*p" /* Cursor neu Positionieren anhand der Zeile */
- + STRING((VLine * 50) - 25,"9999") + "Y"
- + oBarcode
- + CHR(027) + "&f1S". /* Cusrorposition zurückholen */
- { v8/putstream.i "2" }
- END.
- ELSE DO:
- { v8/putstream.i "1" }
- END.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ARTIKELZEILE_SAMMFAK C-Win
- PROCEDURE ARTIKELZEILE_SAMMFAK :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF INPUT PARAMETER ipRecid AS RECID NO-UNDO.
- FIND tAufze WHERE RECID(tAufze) = ipRecid NO-LOCK.
- FIND Aufze WHERE RECID(Aufze) = tAufze.Zeile NO-LOCK.
-
- DO WHILE Aufze.Artnr = 0:
- SUBSTRING(VZeile,042) = STRING(Aufze.Bez1,"x(30)").
- { v8/putstream.i "1" }
- IF Aufze.Bez2 <> '' THEN DO:
- VZeile = RZeile.
- SUBSTRING(VZeile,042) = STRING(Aufze.Bez2,"x(30)").
- { v8/putstream.i "1" }
- END.
- RETURN.
- END.
-
- FIND Artst OF Aufze NO-LOCK.
-
- FIND GGebinde WHERE GGebinde.Firma = GVFirma
- AND GGebinde.Geb_Cd = Aufze.GGeb_Cd NO-LOCK NO-ERROR.
- FIND VGebinde WHERE VGebinde.Firma = GVFirma
- AND VGebinde.Geb_Cd = Aufze.VGeb_Cd NO-LOCK NO-ERROR.
- FIND KGebinde WHERE KGebinde.Firma = GVFirma
- AND KGebinde.Geb_Cd = Aufze.KGeb_Cd NO-LOCK NO-ERROR.
-
- SUBSTRING(VZeile,006) = STRING(KGebinde.KBez,"x(10)").
- IF Aufze.VGeb_Me <> 0 THEN DO:
- SUBSTRING(VZeile,017) = STRING(Aufze.VGeb_Me,'->>>')
- + 'x '
- + STRING(VGebinde.KBez,'x(10)').
- END.
- SUBSTRING(VZeile,033) = STRING(Aufze.MGeli ,"->>,>>9").
- SUBSTRING(VZeile,042) = STRING(Aufze.Bez1 ,"x(30)").
- IF Aufze.Jahr > 9 THEN SUBSTRING(VZeile,073) = STRING(Aufze.Jahr,"9999").
- IF Aufze.Alk_Gehalt <> 0 THEN SUBSTRING(VZeile,078) = STRING(Aufze.Alk_Gehalt,"zz9.9%").
- SUBSTRING(VZeile,086) = STRING(Aufze.Artnr ,"999999").
- IF FPreis THEN DO:
- SUBSTRING(VZeile,093) = STRING(Aufze.Preis ,">,>>9.999").
- SUBSTRING(VZeile,102) = STRING(Aufze.Bru_Betr ,"->>>,>>9.99").
- SUBSTRING(VZeile,114) = STRING(Aufze.WuCd ,"z9").
- END.
- VZeile = SUBSTRING(VZeile,001,018)
- + BDrucker.Drufettb
- + SUBSTRING(VZeile,019,016)
- + BDrucker.Drufette
- + SUBSTRING(VZeile,035).
- { v8/putstream.i "1" }
- IF Aufze.Bez2 <> '' THEN DO:
- SUBSTRING(VZeile,042) = STRING(Aufze.Bez2,"x(30)").
- { v8/putstream.i "1" }
- END.
- IF Aufze.Aktion THEN DO:
- SUBSTRING(VZeile,042) = STRING(Aufze.Aktion_Text,"x(30)").
- { v8/putstream.i "1" }
- END.
- DO WHILE FPreis:
- IF Aufze.Rab_Betr = 0 THEN LEAVE.
-
- RabWert = ABSOLUTE(Aufze.Rab_Wert).
- IF Aufze.Rab_Art = 3 THEN RabText = VEpzText.
- ELSE DO:
- IF Aufze.Rab_Betr < 0 THEN RabText = VZusText.
- IF Aufze.Rab_Betr > 0 THEN RabText = VRabText.
- END.
- SUBSTRING(VZeile,042) = TRIM(RabText).
-
- IF Aufze.Rab_Art = 1
- THEN SUBSTRING(VZeile,097) = STRING(RabWert,"->9.9%").
-
- IF Aufze.Rab_Art = 2 OR
- Aufze.Rab_Art = 3
- THEN SUBSTRING(VZeile,097) = STRING(RabWert,"-9.99").
-
- SUBSTRING(VZeile,102) = STRING(- Aufze.Rab_Betr ,"->>>,>>9.99").
- { v8/putstream.i "1" }
- LEAVE.
- END.
-
- DO WHILE FPreis:
- IF Aufze.Zus_Betr = 0 THEN LEAVE.
-
- RabWert = ABSOLUTE(Aufze.Zus_Wert).
- IF Aufze.Zus_Art = 3 THEN RabText = VEpzText.
- ELSE DO:
- IF Aufze.Zus_Betr < 0 THEN RabText = VRabText.
- IF Aufze.Zus_Betr > 0 THEN RabText = VZusText.
- END.
- SUBSTRING(VZeile,042) = TRIM(RabText).
-
- IF Aufze.Zus_Art = 1
- THEN SUBSTRING(VZeile,097) = STRING(RabWert,"->9.9%").
-
- IF Aufze.Zus_Art = 2 OR
- Aufze.Zus_Art = 3
- THEN SUBSTRING(VZeile,097) = STRING(RabWert,"-9.99").
-
- SUBSTRING(VZeile,102) = STRING(+ Aufze.Zus_Betr ,"->>>,>>9.99").
- { v8/putstream.i "1" }
- LEAVE.
- END.
-
- /* ---- Summengruppen-Total -------------------------------------------- */
-
- IF Aufze.Rab_Su_Grp <> 0 THEN DO:
- FIND FIRST TRabSumm WHERE TRabSumm.Rab_Summ = Aufze.Rab_Su_Grp NO-ERROR.
- IF AVAILABLE TRabSumm THEN DO:
- TRabSumm.Auf_Rab = TRabSumm.Auf_Rab + Aufze.Auf_Rab.
- TRabSumm.Abh_Rab = TRabSumm.Abh_Rab + Aufze.Abh_Rab.
- END.
- END.
-
- /* ---- Warengruppen-Totale -------------------------------------------- */
-
- FIND FIRST TUmsGrp WHERE TUmsGrp.Ums_Grp = Artst.Wg_Grp
- AND TUmsGrp.MWst = Aufze.WuCd NO-ERROR.
- IF NOT AVAILABLE TUmsGrp THEN DO:
- FIND WarenGrp USE-INDEX WarenGrp-k1
- WHERE WarenGrp.Firma = GVFirma
- AND WarenGrp.Wgr = Artst.Wg_Grp NO-LOCK NO-ERROR.
- CREATE TUmsGrp.
- ASSIGN TUmsGrp.Ums_Grp = Artst.Wg_Grp
- TUmsGrp.Mwst = Aufze.WuCd.
- IF AVAILABLE WarenGrp THEN TUmsGrp.Bez = WarenGrp.Bez1.
- ELSE TUmsGrp.Bez = "??????????".
- END.
-
- TUmsGrp.Ums_Betr = TUmsGrp.Ums_Betr
- + Aufze.Net_Betr
- - Aufze.Auf_Rab
- - Aufze.Abh_Rab.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE AUFTRAGSSCHEIN C-Win
- PROCEDURE AUFTRAGSSCHEIN :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR cCrLf AS CHAR NO-UNDO.
- DEF VAR xDokArt AS CHAR NO-UNDO.
- VSeite = 0.
- VFak_Betr = 0.
- cCrLf = CHR(13) + CHR(10).
- FPreis = TRUE.
- xDokArt = vDokArt.
- vDokArt = 'AUFTRAGSSCHEIN'.
- RUN LIBILD.
-
- RUN AUFTRAGSSCHEIN_KOPF.
-
- FOR EACH tAufze NO-LOCK
- BY tAufze.Aufnr
- BY tAufze.Sort1
- BY tAufze.Sort2
- BY tAufze.Sort3
- BY tAufze.Pos :
-
- IF (BLiDruck.Listtzz - VLine - 2) < BLiDruck.Listfzz THEN DO:
- RUN AUFTRAGSSCHEIN_KOPF.
- END.
-
- FIND Aufze WHERE RECID(Aufze) = tAufze.Zeile NO-LOCK.
- PUT STREAM Out_Stream CONTROL BDrucker.Dru15cpi.
- RUN AUFTRAGSSCHEIN_ARTIKELZEILE ( RECID(tAufze) ).
- VFak_Betr = VFak_Betr + Aufze.Net_Betr.
- END.
- IF FPreis = TRUE THEN DO:
- PUT STREAM Out_Stream CONTROL BDrucker.Dru15cpi.
- SUBSTRING(VZeile,040) = SUBSTRING(FormText[15],21,20).
- SUBSTRING(VZeile,100) = STRING(VFak_Betr,"->>>,>>9.99").
- { v8/putstream.i "1" }
- PUT STREAM Out_Stream CONTROL BDrucker.Dru12cpi.
- END.
- { v8/putstream.i "1" }
- IF BAufko.Auf_Text <> '' THEN DO:
- XAuf_Text = BAufko.Auf_Text.
- i1 = NUM-ENTRIES(XAuf_Text, CHR(10)).
- IF i1 > 0 THEN Zuszz = Zuszz + i1 + 1.
- END.
-
- IF Zuszz > 0 THEN Zuszz = Zuszz + 2.
- IF (BLiDruck.Listtzz - VLine - Zuszz) < BLiDruck.Listfzz THEN DO:
- RUN AUFTRAGSSCHEIN_KOPF.
- END.
-
-
- /* Auftragstext ------------------------------------------------------ */
- XAuf_Text = BAufko.Auf_Text.
- IF XAuf_Text <> '' THEN DO:
- i2 = 0.
- DO i1 = 1 TO NUM-ENTRIES(XAuf_Text, CHR(10)):
- SUBSTRING(VZeile,005) = ENTRY(i1, XAuf_Text, CHR(10)).
- { v8/putstreamf.i "1" }
- i2 = i2 + 1.
- END.
- END.
- IF i2 > 0 THEN DO:
- { v8/putstream.i "1" }
- END.
-
- RUN NEUE_SEITE.
- vDokArt = xDokArt.
- RUN LIBILD.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE AUFTRAGSSCHEIN_ARTIKELZEILE C-Win
- PROCEDURE AUFTRAGSSCHEIN_ARTIKELZEILE :
- /*--------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF INPUT PARAMETER ipRecid AS RECID NO-UNDO.
- FIND tAufze WHERE RECID(tAufze) = ipRecid NO-LOCK.
- FIND Aufze WHERE RECID(Aufze) = tAufze.Zeile NO-LOCK.
-
- DO WHILE Aufze.Artnr = 0:
- SUBSTRING(VZeile,040) = STRING(Aufze.Bez1,"x(30)").
- { v8/putstream.i "1" }
- IF Aufze.Bez2 <> '' THEN DO:
- VZeile = RZeile.
- SUBSTRING(VZeile,040) = STRING(Aufze.Bez2,"x(30)").
- { v8/putstream.i "1" }
- END.
- RETURN.
- END.
-
- FIND Artst OF Aufze NO-LOCK.
-
- FIND GGebinde WHERE GGebinde.Firma = GVFirma
- AND GGebinde.Geb_Cd = Aufze.GGeb_Cd NO-LOCK NO-ERROR.
- FIND VGebinde WHERE VGebinde.Firma = GVFirma
- AND VGebinde.Geb_Cd = Aufze.VGeb_Cd NO-LOCK NO-ERROR.
- FIND KGebinde WHERE KGebinde.Firma = GVFirma
- AND KGebinde.Geb_Cd = Aufze.KGeb_Cd NO-LOCK NO-ERROR.
-
- SUBSTRING(VZeile,003) = STRING(KGebinde.KBez,"x(10)").
- IF Aufze.VGeb_Me <> 0 THEN DO:
- SUBSTRING(VZeile,015) = STRING(Aufze.VGeb_Me,'->>>')
- + 'x '
- + STRING(VGebinde.KBez,'x(10)').
- END.
- SUBSTRING(VZeile,031) = STRING(Aufze.MGeli ,"->>,>>9").
- SUBSTRING(VZeile,040) = STRING(Aufze.Bez1 ,"x(30)").
- IF Aufze.Jahr > 9 THEN SUBSTRING(VZeile,069) = STRING(Aufze.Jahr,"9999").
- IF Aufze.Alk_Gehalt <> 0 THEN SUBSTRING(VZeile,074) = STRING(Aufze.Alk_Gehalt,"zz9.9%").
- SUBSTRING(VZeile,082) = STRING(Aufze.Artnr ,"999999").
- IF FPreis THEN DO:
- SUBSTRING(VZeile,091) = STRING(Aufze.Preis ,">,>>9.999").
- SUBSTRING(VZeile,100) = STRING(Aufze.Bru_Betr ,"->>>,>>9.99").
- SUBSTRING(VZeile,112) = STRING(Aufze.WuCd ,"z9").
- END.
- VZeile = SUBSTRING(VZeile,001,014)
- + BDrucker.Drufettb
- + SUBSTRING(VZeile,015,016)
- + BDrucker.Drufette
- + SUBSTRING(VZeile,031).
- { v8/putstream.i "1" }
- IF Aufze.Bez2 <> '' THEN DO:
- SUBSTRING(VZeile,040) = STRING(Aufze.Bez2,"x(30)").
- { v8/putstream.i "1" }
- END.
- IF Aufze.Aktion THEN DO:
- SUBSTRING(VZeile,040) = STRING(Aufze.Aktion_Text,"x(30)").
- { v8/putstream.i "1" }
- END.
- DO WHILE FPreis:
- IF Aufze.Rab_Betr = 0 THEN LEAVE.
-
- RabWert = ABSOLUTE(Aufze.Rab_Wert).
- IF Aufze.Rab_Art = 3 THEN RabText = VEpzText.
- ELSE DO:
- IF Aufze.Rab_Betr < 0 THEN RabText = VZusText.
- IF Aufze.Rab_Betr > 0 THEN RabText = VRabText.
- END.
- SUBSTRING(VZeile,040) = TRIM(RabText).
-
- IF Aufze.Rab_Art = 1
- THEN SUBSTRING(VZeile,095) = STRING(RabWert,"->9.9%").
-
- IF Aufze.Rab_Art = 2 OR
- Aufze.Rab_Art = 3
- THEN SUBSTRING(VZeile,095) = STRING(RabWert,"-9.99").
-
- SUBSTRING(VZeile,100) = STRING(- Aufze.Rab_Betr ,"->>>,>>9.99").
- { v8/putstream.i "1" }
- LEAVE.
- END.
-
- DO WHILE FPreis:
- IF Aufze.Zus_Betr = 0 THEN LEAVE.
-
- RabWert = ABSOLUTE(Aufze.Zus_Wert).
- IF Aufze.Zus_Art = 3 THEN RabText = VEpzText.
- ELSE DO:
- IF Aufze.Zus_Betr < 0 THEN RabText = VRabText.
- IF Aufze.Zus_Betr > 0 THEN RabText = VZusText.
- END.
- SUBSTRING(VZeile,040) = TRIM(RabText).
-
- IF Aufze.Zus_Art = 1
- THEN SUBSTRING(VZeile,095) = STRING(RabWert,"->9.9%").
-
- IF Aufze.Zus_Art = 2 OR
- Aufze.Zus_Art = 3
- THEN SUBSTRING(VZeile,095) = STRING(RabWert,"-9.99").
-
- SUBSTRING(VZeile,100) = STRING(+ Aufze.Zus_Betr ,"->>>,>>9.99").
- { v8/putstream.i "1" }
- LEAVE.
- END.
-
- /* ---- Summengruppen-Total -------------------------------------------- */
-
- IF Aufze.Rab_Su_Grp <> 0 THEN DO:
- FIND FIRST TRabSumm WHERE TRabSumm.Rab_Summ = Aufze.Rab_Su_Grp NO-ERROR.
- IF AVAILABLE TRabSumm THEN DO:
- TRabSumm.Auf_Rab = TRabSumm.Auf_Rab + Aufze.Auf_Rab.
- TRabSumm.Abh_Rab = TRabSumm.Abh_Rab + Aufze.Abh_Rab.
- END.
- END.
-
- /* ---- Warengruppen-Totale -------------------------------------------- */
-
- FIND FIRST TUmsGrp WHERE TUmsGrp.Ums_Grp = Artst.Wg_Grp
- AND TUmsGrp.MWst = Aufze.WuCd NO-ERROR.
- IF NOT AVAILABLE TUmsGrp THEN DO:
- FIND WarenGrp USE-INDEX WarenGrp-k1
- WHERE WarenGrp.Firma = GVFirma
- AND WarenGrp.Wgr = Artst.Wg_Grp NO-LOCK NO-ERROR.
- CREATE TUmsGrp.
- ASSIGN TUmsGrp.Ums_Grp = Artst.Wg_Grp
- TUmsGrp.Mwst = Aufze.WuCd.
- IF AVAILABLE WarenGrp THEN TUmsGrp.Bez = WarenGrp.Bez1.
- ELSE TUmsGrp.Bez = "??????????".
- END.
-
- TUmsGrp.Ums_Betr = TUmsGrp.Ums_Betr
- + Aufze.Net_Betr
- - Aufze.Auf_Rab
- - Aufze.Abh_Rab.
- IF Aufze.MRuek > 0 THEN DO:
- CREATE tRueckst.
- BUFFER-COPY tAufze TO tRueckst.
- END.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE AUFTRAGSSCHEIN_KOPF C-Win
- PROCEDURE AUFTRAGSSCHEIN_KOPF :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR kk AS INT NO-UNDO.
- DEF VAR iAnzPal AS INT NO-UNDO.
-
- RUN NEUE_SEITE.
- IF VSeite = 1 THEN DO:
- SFaknr = BAufko.Aufnr.
-
- FIND Adresse USE-INDEX Adresse-k1
- WHERE Adresse.Firma = AdFirma
- AND Adresse.Knr = BAufko.Knr NO-LOCK NO-ERROR.
- FIND LDebst USE-INDEX Debst-k1
- WHERE LDebst.Firma = GVFirma
- AND LDebst.Knr = BAufko.Knr NO-LOCK NO-ERROR.
- FIND FDebst USE-INDEX Debst-k1
- WHERE FDebst.Firma = GVFirma
- AND FDebst.Knr = BAufko.Fak_Knr NO-LOCK NO-ERROR.
- FIND Wust USE-INDEX Wust-k1
- WHERE Wust.CodeK = LDebst.MWST
- AND Wust.CodeA = 99 NO-LOCK NO-ERROR.
- LVSprcd = Adresse.Sprcd.
- DebInkl = FALSE.
- IF AVAILABLE Wust THEN DebInkl = Wust.Incl.
- END.
- ASSIGN VKopf = ''
- VZeile = ''
- kk = 3.
- { v8/putstream.i BLiDruck.Listkzz }.
-
- IF BAufko.Adresse[05] <> '' THEN DO:
- kk = kk + 2.
- DO ix = 1 TO 5:
- IF ix = 5 THEN SUBSTRING(VZeile,003) = Drufettb + BAufko.Adresse[ix] + Drufette.
- ELSE SUBSTRING(VZeile,003) = BAufko.Adresse[ix].
- kk = kk + 1.
- VKopf[kk] = VZeile.
- VZeile = ''.
- END.
- END.
- ELSE DO:
- DO ix = 5 TO 11:
- IF ix = 11 THEN SUBSTRING(VZeile,003) = Drufettb + Adresse.Anschrift[ix] + Drufette.
- ELSE SUBSTRING(VZeile,003) = Adresse.Anschrift[ix].
- kk = kk + 1.
- VKopf[kk] = VZeile.
- VZeile = ''.
- END.
- END.
-
- kk = 12.
- IF BAufko.Auf_Tot >= 0
- THEN SUBSTRING(VKopf[kk],067) = TRIM(SUBSTRING(FormText[02],01,20)).
- ELSE SUBSTRING(VKopf[kk],067) = TRIM(SUBSTRING(FormText[02],21,20)).
- VKopf[kk] = VKopf[kk] + STRING(BAufko.Aufnr,"zz999999").
- VKopf[kk] = SUBSTRING(VKopf[kk],001,066)
- + BDrucker.Drufettb
- + SUBSTRING(VKopf[kk],067)
- + BDrucker.Drufette.
- kk = kk + 2.
- IF VSeite = 1 THEN DO:
- RUN ABLADEVORSCHRIFT.
- IF XAblade <> '' THEN DO:
- SUBSTRING(VKopf[kk],003) = TRIM(SUBSTRING(FormText[19],01,20))
- + TRIM(BDrucker.Drufettb)
- + ' '
- + XAblade
- + TRIM(BDrucker.Drufette).
- VZeile = ''.
- kk = kk + 1.
- END.
- RUN WIRTESONNTAG.
- IF XWirtesonntag <> '' THEN DO:
- SUBSTRING(VKopf[kk],003) = TRIM(SUBSTRING(FormText[19],21,20))
- + TRIM(BDrucker.Drufettb)
- + ' '
- + XWirtesonntag
- + TRIM(BDrucker.Drufette).
- VZeile = ''.
- kk = kk + 1.
- END.
-
- SUBSTRING(VKopf[kk],003) = TRIM(SUBSTRING(FormText[07],41,20))
- + " "
- + STRING(BAufko.Auf_Datum,"99.99.9999").
- SUBSTRING(VKopf[kk],034) = TRIM(SUBSTRING(FormText[08],01,20))
- + STRING(BAufko.Knr,"zzzzzzz999999").
- SUBSTRING(VKopf[kk],067) = TRIM(SUBSTRING(FormText[07],01,20))
- + " "
- + STRING(FDatum,"99.99.9999").
- VZeile = ''.
- kk = kk + 1.
-
- SUBSTRING(VKopf[kk],003) = TRIM(SUBSTRING(FormText[09],21,20))
- + " "
- + STRING(BAufko.Lief_Datum,"99.99.9999").
- SUBSTRING(VKopf[kk],034) = TRIM(SUBSTRING(FormText[08],21,20))
- + STRING(BAufko.Gewicht,"z,zzz,zz9.999-").
- SUBSTRING(VKopf[kk],067) = TRIM(SUBSTRING(FormText[20],01,20))
- + STRING(VSeite,'z9').
- VKopf[kk] = SUBSTRING(VKopf[kk],01,33)
- + BDrucker.Drufettb
- + SUBSTRING(VKopf[kk],34,33)
- + BDrucker.Drufette
- + SUBSTRING(VKopf[kk],67).
- VZeile = ''.
- kk = kk + 1.
- SUBSTRING(VKopf[kk],003) = TRIM(SUBSTRING(FormText[07],21,20))
- + " "
- + STRING(BAufko.U_Ref,'x(20)').
- SUBSTRING(VKopf[kk],067) = TRIM(SUBSTRING(FormText[08],41,20))
- + " "
- + Adresse.Tel-1.
- VZeile = ''.
- END.
- ELSE DO:
- kk = kk + 2.
- SUBSTRING(VKopf[kk],067) = TRIM(SUBSTRING(FormText[20],01,20))
- + STRING(VSeite,'z9').
- kk = kk + 1.
- END.
-
- kk = kk + 2.
- VZeile = 'Inhalt Gebinde Menge Bezeichnung JG Alk% ArtNr Preis Betrag C'.
- SUBSTRING(VKopf[kk],003) = BDrucker.Druunterb
- + VZeile
- + BDrucker.Druuntere.
- SUBSTRING(VKopf[kk - 1],003) = BDrucker.Druunterb
- + FILL(' ', LENGTH(VZeile))
- + BDrucker.Druuntere.
- VKopf[kk - 1] = BDrucker.Dru15cpi + BDrucker.Drufettb
- + VKopf[kk - 1]
- + BDrucker.Drufettb + BDrucker.Dru12cpi.
- VKopf[kk] = BDrucker.Dru15cpi + BDrucker.Drufettb
- + VKopf[kk]
- + BDrucker.Drufettb + BDrucker.Dru12cpi.
- kk = kk + 1.
- VZeile = ''.
-
- DO ix = 1 TO kk:
- VZeile = VKopf[ix].
- { v8/putstream.i "1" }.
- END.
- IF VSeite = 1 AND
- BAufko.Abh_Text <> '' THEN DO:
- XAuf_Text = BAufko.Abh_Text.
- i2 = 0.
- DO i1 = 1 TO NUM-ENTRIES(XAuf_Text, CHR(10)):
- SUBSTRING(VZeile,003) = ENTRY(i1, XAuf_Text, CHR(10)).
- { v8/putstreamf.i "1" }
- i2 = i2 + 1.
- END.
- IF i2 > 0 THEN DO:
- { v8/putstream.i "1" }
- END.
- END.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE BAR-CODE-39 C-Win
- PROCEDURE BAR-CODE-39 :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF INPUT PARAMETER ipWert AS CHAR NO-UNDO.
- DEF INPUT PARAMETER ipCodeArt AS CHAR NO-UNDO.
- DEF OUTPUT PARAMETER opBarCode AS CHAR NO-UNDO.
- DEF VAR clr AS LOG INIT TRUE NO-UNDO.
- DEF VAR wk AS CHAR NO-UNDO.
- DEF VAR drw AS CHAR NO-UNDO.
- DEF VAR cDir AS CHAR NO-UNDO.
- DEF VAR k AS CHAR NO-UNDO.
- DEF VAR att AS CHAR NO-UNDO.
- DEF VAR kod AS CHAR NO-UNDO
- INIT "1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ.Ø *$/+%".
- att =
- "100100001001100001101100000000110001100110000001110000000100101100100100"
- + "001100100000110100100001001001001001101001000000011001100011000001011000"
- + "000001101100001100001001100000011100100000011001000011101000010000010011"
- + "100010010001010010000000111100000110001000110000010110110000001011000001"
- + "111000000010010001110010000011010000010000101110000100011000100010010100"
- + "010101000010100010010001010000101010".
- DEF VAR i AS INT NO-UNDO.
- DEF VAR j AS INT NO-UNDO.
- DEF VAR l AS INT NO-UNDO.
- DEF VAR brd AS INT NO-UNDO.
- DEF VAR jst AS INT NO-UNDO.
- ASSIGN i = (IF SUBSTRING (ipCodeArt, 1, 1) = "P" THEN 1 ELSE 2)
- opBarCode = "~E&f0S~E*c100G"
- drw = SUBSTRING("ab" , i, 1)
- + SUBSTRING(ipCodeArt, 6)
- + SUBSTRING("ba" , i, 1)
- + "P"
- cDir = SUBSTRING("XY", i, 1)
- k = "*" + ipWert + "*" .
- DO i = 1 TO LENGTH(k):
- ASSIGN j = INDEX(kod, SUBSTRING (k, i, 1)) * 9 - 8
- wk = SUBSTRING (att, j, 9) + "0" .
- DO l = 1 TO 10:
- ASSIGN brd = IF SUBSTRING(wk,l,1) = "0" THEN 2 ELSE 4
- opBarCode = opBarCode
- + (IF clr THEN "~E*c" + SUBSTRING (ipCodeArt, brd, 2) + drw
- ELSE "~E*p+" + STRING(INTEGER(SUBSTRING(ipCodeArt, brd, 2))
- + jst) + cDir)
- jst = integer (SUBSTRING (ipCodeArt, brd, 2))
- clr = NOT clr.
- END. /* of looping 1 to 10 */
- END. /* of going through string 'k' */
- ASSIGN opBarCode = opBarCode + "~E&f1S"
- wk = "".
- /*
- DEF INPUT PARAMETER ipWert AS CHAR NO-UNDO.
- DEF INPUT PARAMETER ipCodeArt AS CHAR NO-UNDO.
- DEF OUTPUT PARAMETER opBarCode AS CHAR NO-UNDO.
- DEF VAR clr AS LOG INIT TRUE NO-UNDO.
- DEF VAR wk AS CHAR NO-UNDO.
- DEF VAR drw AS CHAR NO-UNDO.
- DEF VAR cDir AS CHAR NO-UNDO.
- DEF VAR k AS CHAR NO-UNDO.
- DEF VAR att AS CHAR NO-UNDO.
- DEF VAR kod AS CHAR NO-UNDO
- INIT "1234567890ABCDEFGHIJKLMNOPQRSTUVWXYZ.Ï *$/+%".
- att =
- "100100001001100001101100000000110001100110000001110000000100101100100100"
- + "001100100000110100100001001001001001101001000000011001100011000001011000"
- + "000001101100001100001001100000011100100000011001000011101000010000010011"
- + "100010010001010010000000111100000110001000110000010110110000001011000001"
- + "111000000010010001110010000011010000010000101110000100011000100010010100"
- + "010101000010100010010001010000101010".
- DEF VAR i AS INT NO-UNDO.
- DEF VAR j AS INT NO-UNDO.
- DEF VAR l AS INT NO-UNDO.
- DEF VAR brd AS INT NO-UNDO.
- DEF VAR jst AS INT NO-UNDO.
- ASSIGN i = IF SUBSTRING (ipCodeArt, 1, 1) = "P" THEN 1 ELSE 2
- opBarCode = "~E&f0S~E*c100G"
- drw = SUBSTRING("ab" , i, 1)
- + SUBSTRING(ipCodeArt, 6)
- + SUBSTRING("ba" , i, 1)
- + "P"
- cDir = SUBSTRING("XY", i, 1)
- k = "*" + ipWert + "*" .
- DO i = 1 TO LENGTH(k):
- ASSIGN j = INDEX(kod, SUBSTRING (k, i, 1)) * 9 - 8
- wk = SUBSTRING (att, j, 9) + "0" .
- DO l = 1 TO 10:
- ASSIGN brd = IF SUBSTRING(wk,l,1) = "0" THEN 2 ELSE 4
- opBarCode = opBarCode
- + (IF clr THEN "~E*c" + SUBSTRING (ipCodeArt, brd, 2) + drw
- ELSE "~E*p+" + STRING(INTEGER(SUBSTRING(ipCodeArt, brd, 2))
- + jst) + cDir)
- jst = integer (SUBSTRING (ipCodeArt, brd, 2))
- clr = NOT clr.
- END. /* of looping 1 to 10 */
- END. /* of going through string 'k' */
- ASSIGN opBarCode = opBarCode + "~E&f1S"
- wk = "".
- */
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI C-Win _DEFAULT-DISABLE
- PROCEDURE disable_UI :
- /*------------------------------------------------------------------------------
- Purpose: DISABLE the User Interface
- Parameters: <none>
- Notes: Here we clean-up the user-interface by deleting
- dynamic widgets we have created and/or hide
- frames. This procedure is usually called when
- we are ready to "clean-up" after running.
- ------------------------------------------------------------------------------*/
- /* Delete the WINDOW we created */
- IF SESSION:DISPLAY-TYPE = "GUI":U AND VALID-HANDLE(C-Win)
- THEN DELETE WIDGET C-Win.
- IF THIS-PROCEDURE:PERSISTENT THEN DELETE PROCEDURE THIS-PROCEDURE.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE DRUCKAUSGABE C-Win
- PROCEDURE DRUCKAUSGABE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR AnzKopien AS INT NO-UNDO.
- DEF VAR sRecid AS RECID NO-UNDO.
- DEF VAR iSize AS INT NO-UNDO.
- IF BAufko.AlsOfferte THEN RETURN.
- AnzKopien = F_Kopie.
- IF AnzKopien = 0 THEN AnzKopien = 1.
-
- DO VCopy = 1 TO AnzKopien:
- sRecid = RECID(BSchrift).
- VSchacht = BLiDruck.Schacht.
- IF VSchacht > 0 THEN DO:
- IF VCopy < AnzKopien THEN VSchacht = 3.
- IF VCopy = AnzKopien THEN VSchacht = 2.
- END.
- IF VDokArt = 'SammFak' THEN DO:
- IF VCopy = AnzKopien THEN DO:
- FIND FIRST Schrift NO-LOCK
- WHERE Schrift.Schname = '\\SBSHUBER\GEMIS SCHACHT-2'.
- sRecid = RECID(Schrift).
- SESSION:PRINTER-NAME = Schrift.Schname.
- VSchacht = 0.
- END.
- ELSE DO:
- FIND FIRST Schrift NO-LOCK
- WHERE Schrift.Schname = '\\SBSHUBER\GEMIS SCHACHT-5'.
- sRecid = RECID(Schrift).
- SESSION:PRINTER-NAME = Schrift.Schname.
- VSchacht = 3.
- END.
- END.
- iSize = DYNAMIC-FUNCTION('putDateiToPrinter':U, VTemp ,
- sRecid ,
- VSchacht ,
- 240 , /* Blockgrösse */
- 'ibm850' ,
- 1 ). /* Anzahl Kopien */
- IF iSize = 0 THEN DO:
- MESSAGE 'Druckvorgang gescheitert !!! '
- VIEW-AS ALERT-BOX ERROR.
- END.
-
- ETIME(TRUE).
- DO WHILE ETIME(FALSE) < 250:
- END.
- END.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE DRUCKAUSGABE_VESR C-Win
- PROCEDURE DRUCKAUSGABE_VESR :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- IF BAufko.AlsOfferte THEN RETURN.
- IF NOT AVAILABLE XSchrift THEN RETURN.
- IF NOT AVAILABLE XDrucker THEN RETURN.
- IF XDrucker.Emul = 'TERMINAL' THEN RETURN.
- DEF VAR sRecid AS RECID NO-UNDO.
- DEF VAR iSize AS INT NO-UNDO.
- DEF VAR ja AS LOG NO-UNDO.
- sRecid = RECID(XSchrift).
- IF VBesr = 04 OR
- VBesr = 02 THEN DO:
- ja = DYNAMIC-FUNCTION('loadOCRBFont':U, XSchrift.Schname).
- IF NOT ja THEN DO:
- MESSAGE 'OCRB-Font konnte nicht geladen werden !!! '
- VIEW-AS ALERT-BOX ERROR.
- END.
- VSchacht = 4.
- END.
- ELSE DO:
- VSchacht = 0.
- END.
- iSize = DYNAMIC-FUNCTION('putDateiToPrinter':U, VTempVESR ,
- sRecid ,
- VSchacht ,
- 300 , /* Blockgrösse */
- 'ibm850' ,
- 1 ).
- IF iSize = 0 THEN DO:
- MESSAGE 'Druckvorgang gescheitert !!! '
- VIEW-AS ALERT-BOX ERROR.
- END.
-
- ETIME(TRUE).
- DO WHILE ETIME(FALSE) < 250:
- END.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE DRUCKEN C-Win
- PROCEDURE DRUCKEN :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR iSortZeile AS INT NO-UNDO.
- DEF VAR iAbPos AS INT NO-UNDO.
- DEF VAR iPlusMinus AS INT NO-UNDO.
- DEF VAR hbAufko AS HANDLE NO-UNDO.
- DEF VAR htTabTexte AS HANDLE NO-UNDO.
- DEF VAR cDruckers AS CHAR NO-UNDO.
- DO WITH FRAME {&FRAME-NAME}:
- DEF VAR XFakArt AS INT NO-UNDO.
- DEF VAR XAufSta AS INT NO-UNDO.
- DEF VAR ARecid AS RECID NO-UNDO.
- DEF VAR BRecid AS RECID NO-UNDO.
- DEF VAR CRecid AS RECID NO-UNDO.
- DEF VAR cLagOrt AS CHAR NO-UNDO.
- DEF VAR xLagOrt AS CHAR NO-UNDO.
- DEF VAR cGeschoss AS CHAR NO-UNDO.
- DEF VAR kGeschoss AS CHAR INIT 'zz' NO-UNDO.
-
- FIND Tabel NO-LOCK WHERE RECID(Tabel) = TRecid.
- ARecid = Tabel.Int_1.
- BRecid = Tabel.Int_2.
- CRecid = Tabel.Int_3.
- VBesr = Tabel.Dec_1.
- VSchacht = Tabel.Dec_3.
- VDokArt = Tabel.Bez2.
- F_DokArt = Tabel.Bez2.
- fBatch = DYNAMIC-FUNCTION('getBatch':U) NO-ERROR.
- cLagOrt = ''.
-
- FIND BSteuer WHERE BSteuer.Firma = GVFirma NO-LOCK NO-ERROR.
- FIND BListen WHERE RECID(BListen) = ARecid NO-LOCK NO-ERROR.
- FIND BLiDruck WHERE RECID(BLiDruck) = BRecid NO-LOCK NO-ERROR.
- FIND BAufko WHERE RECID(BAufko) = CRecid NO-LOCK NO-ERROR.
- IF NOT AVAILABLE BAufko THEN RETURN.
-
- hbAufko = BUFFER BAufko:HANDLE.
- htTabTexte = TEMP-TABLE tTabTexte:DEFAULT-BUFFER-HANDLE.
- RUN CREATE_TABTEXTE ( INPUT hbAufko, INPUT htTabTexte ).
-
- IF BAufko.AlsOfferte THEN DO:
- ASSIGN F_DokArt = 'EXCEL_OFFERTE'
- fBatch = FALSE.
- END.
-
- F_Aufnr = BAufko.Aufnr.
- F_Faknr = BAufko.Faknr.
- F_Datum = BAufko.Fak_Datum.
- IF F_Datum = ? THEN F_Datum = TODAY.
- IF BAufko.AlsOfferte THEN VDokArt = 'EXCEL_OFFERTE'.
- IF BAufko.Auf_Sta = 0 THEN VDokArt = 'RUESTSCHEIN'.
- FDatum = F_Datum.
- VSort = BListen.Sort.
- F_Drucker = BLiDruck.ListDru.
- F_Schrift = BLiDruck.ListBild.
- F_TZZ = BLiDruck.Listtzz.
- F_KZZ = BLiDruck.Listkzz.
- F_FZZ = BLiDruck.Listfzz.
- F_KOPIE = BLiDruck.ListCopy.
- DISPLAY {&List-1}.
- /* ------------------------------------------------------ */
- /* Test auf Windows-Printers */
- /* ------------------------------------------------------ */
- EMPTY TEMP-TABLE tDrucker.
- cDruckers = SESSION:GET-PRINTERS().
- DO ix = 1 TO NUM-ENTRIES(cDruckers, ','):
- CREATE tDrucker.
- ASSIGN tDrucker.cDrucker = ENTRY(ix, cDruckers, ',').
- END.
- FIND FIRST tDrucker NO-LOCK
- WHERE tDrucker.cDrucker = F_Drucker NO-ERROR.
- IF NOT AVAILABLE tDrucker THEN DO:
- ja = TRUE.
- MESSAGE 'Der gewünschte Drucker "' F_Drucker '" ist nicht verfügbar ' SKIP
- 'Bitte wählen Sie einen Drucker aus <Ja> oder brechen Sie den Druck ab <Nein>'
- VIEW-AS ALERT-BOX INFORMATION BUTTONS YES-NO
- UPDATE ja.
- IF NOT Ja THEN RETURN ERROR.
-
- SYSTEM-DIALOG PRINTER-SETUP
- NUM-COPIES F_Kopie
- PORTRAIT
- UPDATE ja.
- IF NOT Ja THEN RETURN ERROR.
- END.
- ELSE SESSION:PRINTER-NAME = F_Drucker.
-
- F_Drucker = SESSION:PRINTER-NAME.
- DISPLAY F_Drucker.
-
- FIND FIRST tTabTexte WHERE tTabTexte.cRecArt = 'FAKART' NO-ERROR.
- /*
- IF AVAILABLE tTabTexte THEN F_Dokart = tTabTexte.cFeld1.
- */
- FIND FIRST tTabTexte WHERE tTabTexte.cRecArt = 'AUFSTATUS' NO-ERROR.
- IF AVAILABLE tTabTexte THEN F_Papier = tTabTexte.cFeld1.
- FIND Adresse USE-INDEX Adresse-k1
- WHERE Adresse.Firma = AdFirma
- AND Adresse.Knr = BAufko.Fak_Knr NO-LOCK NO-ERROR.
- E_Adresse = ''.
- IF BAufko.Adresse[05] <> '' THEN DO:
- E_Adresse = CHR(10)
- + CHR(10)
- + BAufko.Adresse[01] + CHR(10)
- + BAufko.Adresse[02] + CHR(10)
- + BAufko.Adresse[03] + CHR(10)
- + BAufko.Adresse[04] + CHR(10)
- + BAufko.Adresse[05].
- END.
- ELSE DO:
- E_Adresse = Adresse.Anschrift[03] + CHR(10) +
- Adresse.Anschrift[04] + CHR(10) +
- Adresse.Anschrift[05] + CHR(10) +
- Adresse.Anschrift[06] + CHR(10) +
- Adresse.Anschrift[07] + CHR(10) +
- Adresse.Anschrift[08] + CHR(10) +
- Adresse.Anschrift[09] + CHR(10) +
- Adresse.Anschrift[10].
- END.
- DISPLAY {&List-1}.
- F_DokArt:BGCOLOR = 14.
- F_Papier:BGCOLOR = 14.
- FIND FIRST tTabTexte WHERE tTabTexte.cRecArt = 'FAKART' NO-ERROR.
- IF NOT fBatch AND
- NOT BAufko.AlsOfferte THEN DO:
- IF tTabTexte.iFeld3 <> 4 OR
- VDokArt BEGINS 'Ruest' THEN DO:
- APPLY 'ENTRY' TO Btn_Drucken.
- WAIT-FOR CHOOSE OF Btn_Drucken OR
- CHOOSE OF Btn_Abbrechen.
- END.
- END.
-
- IF NOT DruckFlag THEN DO:
- REPEAT TRANSACTION:
- FIND BListen WHERE RECID(BListen) = ARecid.
- BListen.Listfl = ''.
- RELEASE BListen.
- LEAVE.
- END.
- RETURN NO-APPLY.
- END.
- ASSIGN {&List-1}.
- RUN LIBILD.
- EMPTY TEMP-TABLE SAMMFAK.
- IF BAufko.Samm_Nr <> 0 AND
- NOT VDokArt BEGINS 'Ruest' THEN DO:
- RUN SAMMELSUCHEN.
- END.
- ELSE DO:
- CREATE SAMMFAK.
- ASSIGN SAMMFAK.Knr = BAufko.Fak_Knr
- SAMMFAK.Aufnr = BAufko.Aufnr
- SAMMFAK.Samm_Nr = BAufko.Aufnr
- SAMMFAK.RID = RECID(BAufko).
- END.
- VTemp = ''.
- VTempVESR = ''.
- IF NOT bAufko.AlsOfferte THEN RUN WORKFILE.
-
- IF DOpen = TRUE THEN OUTPUT STREAM Out_Stream TO VALUE(VTemp).
-
- IF VDokArt BEGINS 'Samm' THEN iLauf = F_Kopie.
- ELSE iLauf = 1.
- DO iZaehler = 1 TO iLauf:
- FOR EACH SAMMFAK BREAK BY SAMMFAK.Knr
- BY SAMMFAK.Samm_Nr
- BY SAMMFAK.Aufnr :
- FIND BAufko WHERE RECID(BAufko) = SAMMFAK.RID NO-LOCK NO-ERROR.
-
- F_Aufnr = BAufko.Aufnr.
- DISPLAY F_Aufnr WITH FRAME {&FRAME-NAME}.
-
- VWg_Grp = 0.
- VProd_Grp = 0.
- VArt_Grp = 0.
- VFak_Betr = 0.
- VPreis_Grp = BAufko.Preis_Grp.
- FErste = FALSE.
-
- EMPTY TEMP-TABLE tAufze.
- EMPTY TEMP-TABLE tRueckst.
- EMPTY TEMP-TABLE TGebKto.
- EMPTY TEMP-TABLE TRabSumm.
- EMPTY TEMP-TABLE TSpeRab.
- EMPTY TEMP-TABLE TGebuehr.
- EMPTY TEMP-TABLE tTexte .
-
- IF FIRST-OF ( SAMMFAK.Samm_Nr ) THEN DO:
- EMPTY TEMP-TABLE TUmsGrp.
- EMPTY TEMP-TABLE TFiliale.
- EMPTY TEMP-TABLE TMonat.
- EMPTY TEMP-TABLE TMonGeb.
-
- ASSIGN GTWpfl = 0
- GTWust = 0
- DTWpfl = 0
- GTFak_Betr = 0
- GTSk_Ber = 0
- SFaknr = 0
- FLetzt = FALSE
- FErste = TRUE
- TiDruck = TRUE
- VSeite = 0
- VDetail = 0
- iSortZeile = 9999
- cLagOrt = ''
- cGeschoss = ''.
- END.
- RUN FUELLEN_tAufze ( BAufko.Aufnr ).
-
- xLagOrt = ''.
- FOR EACH tAufze USE-INDEX tAufze-k1
- WHERE tAufze.Artnr > 0:
-
- FIND Artst NO-LOCK
- WHERE Artst.Firma = GVFirma
- AND Artst.Artnr = tAufze.Artnr
- AND Artst.Inhalt = tAufze.Inhalt
- AND Artst.Jahr = tAufze.Jahr .
- FIND bAufze NO-LOCK WHERE RECID(bAufze) = tAufze.Zeile.
-
- ASSIGN VWg_Grp = Artst.Wg_Grp
- VProd_Grp = Artst.Prod_Grp
- VArt_Grp = Artst.Art_Grp
- AArtnr = Artst.Artnr
- AInhalt = Artst.Inhalt.
-
-
- /* Spezial-Auftrags-Rabatt -------------------------------------------- */
-
- IF bAufze.Auf_Sp_Grp > 0 THEN DO:
- FIND FIRST TSpeRab WHERE TSpeRab.Rab_Grp = bAufze.Auf_Sp_Grp NO-ERROR.
- IF NOT AVAILABLE TSpeRab THEN DO:
- CREATE TSpeRab.
- ASSIGN TSpeRab.Rab_Grp = bAufze.Auf_Sp_Grp.
- END.
- TSpeRab.Auf_Betr = TSpeRab.Auf_Betr + bAufze.Auf_Sp_Rab.
- END.
-
- /* Summengruppen-Totale ------------------------------------------------ */
-
- DO WHILE bAufze.Rab_Su_Grp > 0:
- FIND FIRST TRabSumm WHERE TRabSumm.Rab_Summ = bAufze.Rab_Su_Grp NO-ERROR.
- IF NOT AVAILABLE TRabSumm THEN DO:
- FIND FIRST RabSumm USE-INDEX RabSumm-k1
- WHERE RabSumm.Firma = GVFirma
- AND RabSumm.Rab_Summ = bAufze.Rab_Su_Grp
- NO-LOCK NO-ERROR.
- IF NOT AVAILABLE RabSumm THEN LEAVE.
- CREATE TRabSumm.
- ASSIGN TRabSumm.Rab_Summ = bAufze.Rab_Su_Grp
- TRabSumm.Bez = RabSumm.Bez
- TRabSumm.Auf_Rab = 0
- TRabSumm.Abh_Rab = 0.
- END.
- LEAVE.
- END.
- END.
-
- IF FIRST-OF( SAMMFAK.Samm_Nr ) THEN VSeite = 0.
- IF LAST-OF ( SAMMFAK.Samm_Nr ) THEN FLetzt = TRUE.
- RUN VALUE(VDokArt).
- IF RETURN-VALUE = 'ERROR' THEN RETURN NO-APPLY.
-
- IF NOT FLetzt THEN NEXT.
-
- END. /* FOR EACH SAMMFAK */
- END. /* ENDE iZaehler/iLauf */
-
- IF DOpen THEN OUTPUT STREAM Out_Stream CLOSE.
- DOpen = FALSE.
- IF VDokArt <> 'Lieferschein' AND
- VDokArt <> 'Lieferpreis' AND
- VDokArt <> 'Faktura' AND
- VDokArt <> 'LieferFak' AND
- VDokArt <> 'SammFak' THEN RUN DRUCKAUSGABE.
-
- IF VTemp <> '' THEN OS-DELETE VALUE(VTemp).
- IF VTempVESR <> '' THEN DO:
- RUN DRUCKAUSGABE_VESR.
- OS-DELETE VALUE(VTempVESR).
- END.
-
- REPEAT TRANSACTION:
- FIND BListen WHERE RECID(BListen) = ARecid.
- BListen.Listfl = ''.
- RELEASE BListen.
- LEAVE.
- END.
- END. /* DO WITH FRAME */
- RETURN NO-APPLY.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI C-Win _DEFAULT-ENABLE
- PROCEDURE enable_UI :
- /*------------------------------------------------------------------------------
- Purpose: ENABLE the User Interface
- Parameters: <none>
- Notes: Here we display/view/enable the widgets in the
- user-interface. In addition, OPEN all queries
- associated with each FRAME and BROWSE.
- These statements here are based on the "Other
- Settings" section of the widget Property Sheets.
- ------------------------------------------------------------------------------*/
- DISPLAY F_Drucker E_Adresse F_Schrift F_Tzz F_Kzz F_Fzz F_Aufnr F_KOPIE
- F_Faknr F_Datum F_Dokart F_Seite F_Papier
- WITH FRAME DEFAULT-FRAME IN WINDOW C-Win.
- ENABLE RECT-1 F_Drucker E_Adresse F_Schrift F_Tzz F_Kzz F_Fzz F_Aufnr F_KOPIE
- F_Faknr F_Datum F_Dokart F_Seite F_Papier Btn_Drucken Btn_Abbrechen
- WITH FRAME DEFAULT-FRAME IN WINDOW C-Win.
- {&OPEN-BROWSERS-IN-QUERY-DEFAULT-FRAME}
- VIEW C-Win.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE EXCEL_ARTIKELZEILE C-Win
- PROCEDURE EXCEL_ARTIKELZEILE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF INPUT PARAMETER ipRecid AS RECID NO-UNDO.
- DEF INPUT-OUTPUT PARAMETER ioExZeile AS INT NO-UNDO.
-
- DEF VAR cString AS CHAR NO-UNDO.
- FIND tAufze WHERE RECID(tAufze) = ipRecid NO-LOCK.
- FIND Aufze WHERE RECID(Aufze) = tAufze.Zeile NO-LOCK.
- DO WHILE Aufze.Artnr = 0:
- RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'D',
- INPUT ioExZeile, INPUT Aufze.Bez1 ).
- IF Aufze.Bez2 = '' THEN RETURN.
- ioExZeile = ioExZeile + 1.
- RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'D',
- INPUT ioExZeile, INPUT Aufze.Bez2 ).
- RETURN.
- END.
-
- FIND Artst OF Aufze NO-LOCK.
-
- FIND GGebinde WHERE GGebinde.Firma = GVFirma
- AND GGebinde.Geb_Cd = Aufze.GGeb_Cd NO-LOCK NO-ERROR.
- FIND VGebinde WHERE VGebinde.Firma = GVFirma
- AND VGebinde.Geb_Cd = Aufze.VGeb_Cd NO-LOCK NO-ERROR.
- FIND KGebinde WHERE KGebinde.Firma = GVFirma
- AND KGebinde.Geb_Cd = Aufze.KGeb_Cd NO-LOCK NO-ERROR.
-
- RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'A',
- INPUT ioExZeile, INPUT KGebinde.KBez ).
- IF Aufze.VGeb_Me <> 0 THEN DO:
- cString = STRING(Aufze.VGeb_Me,'->>>')
- + 'x '
- + STRING(VGebinde.KBez,'x(10)').
- RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'B',
- INPUT ioExZeile, INPUT cString ).
- END.
- RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'C',
- INPUT ioExZeile, INPUT STRING(Aufze.MGeli,'->>>>>9') ).
- RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'D',
- INPUT ioExZeile, INPUT Aufze.Bez1 ).
- IF Aufze.Jahr > 9 THEN
- RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'E',
- INPUT ioExZeile, INPUT STRING(Aufze.Jahr,'9999') ).
- IF Aufze.Alk_Gehalt <> 0 THEN
- RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'F',
- INPUT ioExZeile, INPUT STRING(Aufze.Alk_Gehalt,'zz9.9%') ).
- RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'G',
- INPUT ioExZeile, INPUT STRING(Aufze.Artnr,'999999') ).
- RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'H',
- INPUT ioExZeile, INPUT STRING(Aufze.Preis,'>>>>9.99') ).
- RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'I',
- INPUT ioExZeile, INPUT STRING(Aufze.Bru_Betr,'->>>>>9.99') ).
- RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'J',
- INPUT ioExZeile, INPUT STRING(Aufze.WuCd,'z9') ).
-
- IF Aufze.Bez2 <> '' THEN DO:
- ioExZeile = ioExZeile + 1.
- RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'D',
- INPUT ioExZeile, INPUT Aufze.Bez2 ).
- END.
- IF Aufze.Aktion THEN DO:
- ioExZeile = ioExZeile + 1.
- RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'D',
- INPUT ioExZeile, INPUT Aufze.Aktion_Text ).
- END.
-
- DO WHILE FPreis:
- IF Aufze.Rab_Betr = 0 THEN LEAVE.
-
- RabWert = ABSOLUTE(Aufze.Rab_Wert).
- IF Aufze.Rab_Art = 3 THEN RabText = VEpzText.
- ELSE DO:
- IF Aufze.Rab_Betr < 0 THEN RabText = VZusText.
- IF Aufze.Rab_Betr > 0 THEN RabText = VRabText.
- END.
- ioExZeile = ioExZeile + 1.
- RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'D',
- INPUT ioExZeile, INPUT TRIM(RabText) ).
- IF Aufze.Rab_Art = 1
- THEN RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'H',
- INPUT ioExZeile, INPUT TRIM(STRING(RabWert,"->9.9 %")) ).
-
- IF Aufze.Rab_Art = 2 OR
- Aufze.Rab_Art = 3
- THEN RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'H',
- INPUT ioExZeile, INPUT TRIM(STRING(RabWert,"->9.99 CHF")) ).
-
- RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'I',
- INPUT ioExZeile, INPUT TRIM(STRING(- Aufze.Rab_Betr ,"->>>9.99")) ).
- LEAVE.
- END.
-
- DO WHILE FPreis:
- IF Aufze.Zus_Betr = 0 THEN LEAVE.
-
- RabWert = ABSOLUTE(Aufze.Zus_Wert).
- IF Aufze.Zus_Art = 3 THEN RabText = VEpzText.
- ELSE DO:
- IF Aufze.Zus_Betr < 0 THEN RabText = VRabText.
- IF Aufze.Zus_Betr > 0 THEN RabText = VZusText.
- END.
- ioExZeile = ioExZeile + 1.
- RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'D',
- INPUT ioExZeile, INPUT TRIM(RabText) ).
- IF Aufze.Zus_Art = 1
- THEN RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'H',
- INPUT ioExZeile, INPUT TRIM(STRING(RabWert,"->9.9 %")) ).
-
- IF Aufze.Zus_Art = 2 OR
- Aufze.Zus_Art = 3
- THEN RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'H',
- INPUT ioExZeile, INPUT TRIM(STRING(RabWert,"->9.99 CHF")) ).
-
- RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'I',
- INPUT ioExZeile, INPUT TRIM(STRING(- Aufze.Zus_Betr ,"->>>9.99")) ).
- LEAVE.
- END.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE EXCEL_GEBINDE_ABRECHNUNG C-Win
- PROCEDURE EXCEL_GEBINDE_ABRECHNUNG :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR cDaten AS CHAR NO-UNDO.
- DEF VAR lTotal AS LOG NO-UNDO.
- DEF VAR dBetrag AS DEC NO-UNDO.
-
- lTotal = FALSE.
- i5 = 0.
- VZTot = 0.
- FOR EACH AufGKon USE-INDEX AufGKon-k1
- WHERE AufGKon.Firma = BAufko.Firma
- AND AufGKon.Aufnr = BAufko.Aufnr
- AND AufGKon.Depot <> 0 NO-LOCK:
- IF AufGKon.Eingang = 0 AND
- AufGKon.Ausgang = 0 THEN NEXT.
- IF i5 = 0 THEN ExZeile = ExZeile + 2.
- ELSE ExZeile = ExZeile + 1.
- FIND GebKonto USE-INDEX GebKonto-k1
- WHERE GebKonto.Firma = GVFirma
- AND GebKonto.Geb_Cd = AufGKon.Geb_Cd NO-LOCK.
- i1 = AufGKon.Ausgang.
- IF AufGKon.Depot = 0 AND
- AufGKon.Gebuehr = 0 THEN dBetrag = GebKonto.Depot + GebKonto.Gebuehr.
- ELSE dBetrag = AufGKon.Depot + AufGKon.Gebuehr.
- Rundbetr = i1 * dBetrag.
- VWC = AufGKon.MWSt_Cd.
- VZTot = VZTot + Rundbetr.
- cDaten = GebKonto.Bez.
- RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'D',
- INPUT ExZeile, INPUT cDaten ).
- cDaten = TRIM(STRING(AufGKon.Ausgang,"->>>>9")).
- RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'C',
- INPUT ExZeile, INPUT cDaten ).
- cDaten = TRIM(STRING(dBetrag,"->>>>9.99")).
- RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'H',
- INPUT ExZeile, INPUT cDaten ).
- cDaten = TRIM(STRING(Rundbetr,"->>>>9.99")).
- RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'I',
- INPUT ExZeile, INPUT cDaten ).
- cDaten = TRIM(STRING(VWC,"z9")).
- RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'J',
- INPUT ExZeile, INPUT cDaten ).
- i5 = i5 + 1.
- FIND LAST MWSTAns USE-INDEX MWSTAns-k1
- WHERE MWSTAns.MWST_Cd = VWC
- AND MWSTAns.Datum <= FDatum NO-LOCK NO-ERROR.
- FIND FIRST TUmsGrp WHERE TUmsGrp.Ums_Grp = 9990
- AND TUmsGrp.Mwst = VWC NO-ERROR.
- IF NOT AVAILABLE TUmsGrp THEN DO:
- CREATE TUmsGrp.
- ASSIGN TUmsGrp.Ums_Grp = 9990
- TUmsGrp.Mwst = VWC
- TUmsGrp.Bez = 'Gebinde-Kosten'.
- END.
- TUmsGrp.Ums_Betr = TUmsGrp.Ums_Betr + Rundbetr.
- END.
- IF i5 > 0 THEN lTotal = TRUE.
-
- IF lTotal THEN DO:
- ExZeile = ExZeile + 2.
- cDaten = TRIM(SUBSTRING(FormText[11],21,20)).
- RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'D',
- INPUT ExZeile, INPUT cDaten ).
- cdaten = TRIM(STRING(VZTot,"->>>>9.99")).
- RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'I',
- INPUT ExZeile, INPUT cDaten ).
- VFak_Betr = VFak_Betr + VZTot.
- END.
-
- IF NOT FSamm THEN DO:
- ExZeile = ExZeile + 2.
- cDaten = TRIM(SUBSTRING(FormText[15],21,20)).
- RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'D',
- INPUT ExZeile, INPUT cDaten ).
- cDaten = TRIM(STRING(VFak_Betr,"->>>>9.99")).
- RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'I',
- INPUT ExZeile, INPUT cDaten ).
- END.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE EXCEL_MEHRWERTSTEUER C-Win
- PROCEDURE EXCEL_MEHRWERTSTEUER :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR cDaten AS CHAR NO-UNDO.
-
- VWpfl = 0.
- VWust = 0.
- Zuszz = 0.
- DO ix = 1 TO 11:
- IF BAufko.WPfl[ix] = 0 THEN NEXT.
- VWpfl[ix] = BAufko.Wpfl[ix].
- VWust[ix] = BAufko.Wust[ix].
- END.
-
- ExZeile = ExZeile + 1.
- DO ix = 1 TO 11:
- IF VWpfl[ix] = 0 THEN NEXT.
- FIND LAST MWSTAns USE-INDEX MWSTAns-k1
- WHERE MWSTAns.MWST_Cd = ix
- AND MWSTAns.Datum <= BAUfko.Kond_Datum NO-LOCK.
- ExZeile = ExZeile + 1.
- cDaten = MWSTAns.Bez.
- RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'D',
- INPUT ExZeile, INPUT cDaten ).
- cDaten = TRIM(STRING(VWpfl[ix],"->>,>>9.99")).
- RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'H',
- INPUT ExZeile, INPUT cDaten ).
- cDaten = TRIM(STRING(VWust[ix],"->>,>>9.99")).
- RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'I',
- INPUT ExZeile, INPUT cDaten ).
- cDaten = TRIM(STRING(ix,"z9")).
- RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'J',
- INPUT ExZeile, INPUT cDaten ).
- VFak_Betr = VFak_Betr + VWust[ix].
- END.
-
- Rundbetr = VFak_Betr.
- Rundcode = 1.
- RUN "v8/runden.p".
- VFak_Betr = Rundbetr.
- ExZeile = ExZeile + 2.
- cDaten = TRIM(FormText[16]).
- RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'D',
- INPUT ExZeile, INPUT cDaten ).
- cDaten = TRIM(STRING(VFak_Betr,"->>,>>9.99")).
- RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'I',
- INPUT ExZeile, INPUT cDaten ).
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE EXCEL_OFFERTE C-Win
- PROCEDURE EXCEL_OFFERTE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR io AS LOG NO-UNDO.
- DEF VAR ODatei AS CHAR NO-UNDO.
- DEF VAR cDaten AS CHAR NO-UNDO.
- excelAppl = DYNAMIC-FUNCTION('CREATEEXCEL':U) NO-ERROR.
- IF NOT VALID-HANDLE(excelAppl) THEN RETURN NO-APPLY.
- oDatei = "Offerte_Huber.xls" + CHR(01) + "Offerte_Huber.xls".
- RUN CREATEDATEI ( INPUT oDatei ).
- oDatei = SESSION:TEMP-DIR + "Offerte_Huber.xls".
- RUN OPENEXCEL ( INPUT excelAppl, INPUT oDatei,
- INPUT '', OUTPUT io ).
- IF NOT io THEN DO:
- RUN RELEASEEXCEL ( INPUT excelAppl ).
- RETURN NO-APPLY.
- END.
- VFak_Betr = 0.
- LiKopf = FALSE.
- FPreis = TRUE.
- FBetrag = FALSE.
- FRabatt = FALSE.
- FSamm = FALSE.
- ExZeile = 5.
- VKopfArt = 'EXCEL_KOPF'.
- FIND Adresse USE-INDEX Adresse-k1
- WHERE Adresse.Firma = AdFirma
- AND Adresse.Knr = BAufko.Knr NO-LOCK NO-ERROR.
- FIND LDebst USE-INDEX Debst-k1
- WHERE LDebst.Firma = GVFirma
- AND LDebst.Knr = BAufko.Knr NO-LOCK NO-ERROR.
- FIND FDebst USE-INDEX Debst-k1
- WHERE FDebst.Firma = GVFirma
- AND FDebst.Knr = BAufko.Fak_Knr NO-LOCK NO-ERROR.
- FIND Wust USE-INDEX Wust-k1
- WHERE Wust.CodeK = LDebst.MWST
- AND Wust.CodeA = 99 NO-LOCK NO-ERROR.
- LVSprcd = Adresse.Sprcd.
- DebInkl = FALSE.
- IF AVAILABLE Wust THEN DebInkl = Wust.Incl.
- XTelnr = ''.
- IF DebInkl THEN DO:
- IF Adresse.Tel-2 <> '' THEN XTelnr = Adresse.Tel-2.
- ELSE XTelnr = Adresse.Tel-1.
- END.
- ELSE DO:
- IF Adresse.Tel-1 <> '' THEN XTelnr = Adresse.Tel-1.
- ELSE XTelnr = Adresse.Tel-2.
- END.
- F_Seite = VSeite.
- F_Faknr = BAufko.Aufnr.
- DISPLAY F_Seite
- F_Faknr WITH FRAME {&FRAME-NAME}.
- VZeile = ''.
- IF BAufko.Adresse[05] <> '' THEN DO:
- DO ix = 1 TO 5:
- RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'E',
- INPUT ExZeile, INPUT BAufko.Adresse[ix] ).
- ExZeile = ExZeile + 1.
- END.
- END.
- ELSE DO:
- DO ix = 7 TO 11:
- RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'E',
- INPUT ExZeile, INPUT Adresse.Anschrift[ix] ).
- ExZeile = ExZeile + 1.
- END.
- END.
- cDaten = STRING(TODAY,'99.99.9999').
- ExZeile = ExZeile + 2.
- RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'C',
- INPUT ExZeile, INPUT cDaten ).
- ExZeile = ExZeile + 3.
- RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'C',
- INPUT ExZeile, INPUT STRING(F_Faknr,'>999999') ).
- ExZeile = ExZeile + 2.
- RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'C',
- INPUT ExZeile, INPUT BAufko.U_Ref ).
- ExZeile = 21.
-
- ZEILEN:
- FOR EACH tAufze NO-LOCK
- BY tAufze.Aufnr
- BY tAufze.Sort1
- BY tAufze.Sort2
- BY tAufze.Sort3
- BY tAufze.Artnr
- BY tAufze.Inhalt
- BY tAufze.Jahr
- BY tAufze.Pos :
-
- FIND Aufze WHERE RECID(Aufze) = tAufze.Zeile NO-LOCK.
-
- RUN EXCEL_ARTIKELZEILE ( RECID(tAufze), INPUT-OUTPUT ExZeile ).
-
- ExZeile = ExZeile + 1.
- VFak_Betr = VFak_Betr + Aufze.Net_Betr.
- END.
- ExZeile = ExZeile + 1.
- RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'D',
- INPUT ExZeile, INPUT FormText[13] ).
- RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'I',
- INPUT ExZeile, TRIM(STRING(VFak_Betr,"->>>>9.99")) ).
-
- RUN EXCEL_SUMMENRABATTE.
- RUN GEBINDE_SALDO.
- RUN EXCEL_GEBINDE_ABRECHNUNG.
- RUN EXCEL_MEHRWERTSTEUER.
- ExZeile = ExZeile + 1.
- RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'D',
- INPUT ExZeile, TRIM(SUBSTRING(FormText[15],21,20)) ).
- RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'I',
- INPUT ExZeile, TRIM(STRING(VFak_Betr,'->>>>>9.99')) ).
- ExZeile = ExZeile + 2.
- FIND Kondi USE-INDEX Kondi-k1
- WHERE Kondi.Kond = BAufko.Kond
- AND Kondi.Sprcd = LVSprcd NO-LOCK NO-ERROR.
- IF AVAILABLE Kondi THEN DO:
- RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'D',
- INPUT ExZeile, Kondi.Kotext ).
- END.
-
- DYNAMIC-FUNCTION('RELEASEEXCEL':U, INPUT excelAppl ).
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE EXCEL_SUMMENRABATTE C-Win
- PROCEDURE EXCEL_SUMMENRABATTE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR RText AS CHAR FORMAT "x(20)" NO-UNDO.
- DEF VAR WText AS CHAR NO-UNDO.
- DEF VAR cDaten AS CHAR NO-UNDO.
- DEF VAR lTotal AS LOG NO-UNDO.
- /* Auftragsrabatt ---------------------------------------------------- */
- lTotal = FALSE.
- i5 = 0.
- FOR EACH TRabSumm WHERE TRabSumm.Auf_Rab <> 0
- BY TRabSumm.Rab_Summ:
- Rundbetr = TRabSumm.Auf_Rab.
- VFak_Betr = VFak_Betr - Rundbetr.
- IF NOT FRabatt THEN NEXT.
-
- IF i5 = 0 THEN ExZeile = ExZeile + 2.
- ELSE ExZeile = ExZeile + 1.
- IF Rundbetr < 0 THEN RText = VZusText.
- ELSE RText = VRabText.
- FIND FIRST AufRabSu NO-LOCK USE-INDEX AufRabSu-k1
- WHERE AufRabSu.Firma = BAufko.Firma
- AND AufRabSu.Aufnr = BAufko.Aufnr
- AND AufRabSu.Rab_Summ = TRabSumm.Rab_Summ.
- IF AufRabSu.F_Proz_Betr THEN WText = "%".
- ELSE WText = "Fr.".
- RabWert = ABSOLUT(AufRabSu.F_Wert).
- cDaten = RText
- + " "
- + TRabSumm.Bez
- + " "
- + STRING(RabWert,"z9.99- ")
- + WText.
- RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'D',
- INPUT ExZeile, INPUT cDaten ).
-
- cDaten = STRING(- Rundbetr,"->>>>9.99").
- RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'I',
- INPUT ExZeile, INPUT cDaten ).
- i5 = i5 + 1.
- END.
- IF i5 > 0 THEN lTotal = TRUE.
- /* Abholrabatt ------------------------------------------------------- */
-
- i5 = 0.
- FOR EACH TRabSumm WHERE TRabSumm.Abh_Rab <> 0
- BY TRabSumm.Rab_Summ:
- Rundbetr = TRabSumm.Abh_Rab.
- VFak_Betr = VFak_Betr - Rundbetr.
- IF NOT FRabatt THEN NEXT.
- IF i5 = 0 THEN ExZeile = ExZeile + 2.
- ELSE ExZeile = ExZeile + 1.
- IF Rundbetr < 0 THEN RText = VZusText.
- ELSE RText = VRabText.
- FIND FIRST AufRabSu NO-LOCK USE-INDEX AufRabSu-k1
- WHERE AufRabSu.Firma = BAufko.Firma
- AND AufRabSu.Aufnr = BAufko.Aufnr
- AND AufRabSu.Rab_Summ = TRabSumm.Rab_Summ.
- IF AufRabSu.A_Proz_Betr THEN WText = "%".
- ELSE WText = "Fr.".
- RabWert = ABSOLUT(AufRabSu.A_Wert).
- cDaten = RText
- + " "
- + TRabSumm.Bez
- + " "
- + STRING(RabWert,"z9.99- ")
- + WText.
- RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'D',
- INPUT ExZeile, INPUT cDaten ).
-
- cDaten = STRING(- Rundbetr,"->>>>9.99").
- RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'I',
- INPUT ExZeile, INPUT cDaten ).
- i5 = i5 + 1.
- END.
- IF i5 > 0 THEN lTotal = TRUE.
- /* Spezialpreis-Auftragsrabatte ---------------------------------------- */
- i5 = 0.
- FOR EACH TSpeRab WHERE TSpeRab.Auf_Betr <> 0
- BY TSpeRab.Rab_Grp:
- Rundbetr = TSpeRab.Auf_Betr.
- VFak_Betr = VFak_Betr - Rundbetr.
- IF NOT FRabatt THEN NEXT.
-
- IF i5 = 0 THEN ExZeile = ExZeile + 2.
- ELSE ExZeile = ExZeile + 1.
- IF Rundbetr < 0 THEN RText = VZusText.
- ELSE RText = VRabText.
- FIND Tabel USE-INDEX Tabel-k1
- WHERE Tabel.Firma = GVFirma
- AND Tabel.RecArt = 'ARABGRP'
- AND Tabel.CodeC = ''
- AND Tabel.CodeI = TSpeRab.Rab_Grp
- AND Tabel.Sprcd = 1 NO-LOCK.
- FIND FIRST AufSpRab USE-INDEX AufSpRab-k1
- WHERE AufSpRab.Firma = BAufko.Firma
- AND AufSpRab.Aufnr = BAufko.Aufnr
- AND AufSpRab.Rab_Grp = TSpeRab.Rab_Grp NO-LOCK.
- IF AufSpRab.Auf_Proz_Betr THEN WText = "%".
- ELSE WText = "Fr.".
- RabWert = ABSOLUT(AufSpRab.Auf_Wert).
- cDaten = RText
- + " "
- + TRabSumm.Bez
- + " "
- + STRING(RabWert,"z9.99- ")
- + WText.
- RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'D',
- INPUT ExZeile, INPUT cDaten ).
- cDaten = STRING(- Rundbetr,"->>>>9.99").
- RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'I',
- INPUT ExZeile, INPUT cDaten ).
- i5 = i5 + 1.
- END.
- IF i5 > 0 THEN lTotal = TRUE.
-
- IF lTotal THEN DO:
- ExZeile = ExZeile + 1.
- cDaten = TRIM(SUBSTRING(FormText[14],21,20)).
- RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'D',
- INPUT ExZeile, INPUT cDaten ).
- cDaten = TRIM(STRING(VFak_Betr,"->>>>9.99")).
- RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'I',
- INPUT ExZeile, INPUT cDaten ).
- END.
- /* Recycling-Gebühren ------------------------------------------------ */
- lTotal = FALSE.
- i5 = 0.
- FOR EACH AufGKon USE-INDEX AufGKon-k1
- WHERE AufGKon.Firma = BAufko.Firma
- AND AufGKon.Aufnr = BAufko.Aufnr
- AND AufGKon.Gebuehr <> 0
- AND AufGKon.Betrag <> 0 NO-LOCK:
- VFak_Betr = VFak_Betr + AufGKon.Betrag.
- IF NOT FRabatt THEN NEXT.
-
- IF i5 = 0 THEN ExZeile = ExZeile + 2.
- ELSE ExZeile = ExZeile + 1.
-
- VWC = AufGKon.MWSt_Cd.
- FIND GebKonto OF AufGKon NO-LOCK NO-ERROR.
- IF NOT AVAILABLE GebKonto THEN cDaten = TRIM(SUBSTRING(FormText[11],41,20)).
- ELSE cDaten = GebKonto.Bez.
- RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'D',
- INPUT ExZeile, INPUT cDaten ).
-
- cDaten = TRIM(STRING(AufGKon.Ausgang,"->>>>>9")).
- RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'H',
- INPUT ExZeile, INPUT cDaten ).
-
- cDaten = TRIM(STRING(AufGKon.Betrag,"->>>>9.99")).
- RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'I',
- INPUT ExZeile, INPUT cDaten ).
-
- cDaten = TRIM(STRING(AufGKon.MWSt_Cd ,"z9")).
- RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'J',
- INPUT ExZeile, INPUT cDaten ).
-
- FIND LAST MWSTAns USE-INDEX MWSTAns-k1
- WHERE MWSTAns.MWST_Cd = VWC
- AND MWSTAns.Datum <= FDatum NO-LOCK NO-ERROR.
- FIND FIRST TUmsGrp WHERE TUmsGrp.Ums_Grp = 9991
- AND TUmsGrp.Mwst = VWC NO-ERROR.
- IF NOT AVAILABLE TUmsGrp THEN DO:
- CREATE TUmsGrp.
- ASSIGN TUmsGrp.Ums_Grp = 9991
- TUmsGrp.Mwst = VWC
- TUmsGrp.Bez = 'Recycling-Gebühren'.
- END.
- TUmsGrp.Ums_Betr = TUmsGrp.Ums_Betr + AufGKon.Betrag.
- i5 = i5 + 1.
- END.
- IF i5 > 0 THEN lTotal = TRUE.
-
- IF lTotal THEN DO:
- ExZeile = ExZeile + 1.
- cDaten = TRIM(SUBSTRING(FormText[14],21,20)).
- RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'D',
- INPUT ExZeile, INPUT cDaten ).
- cDaten = TRIM(STRING(VFak_Betr,"->>>>9.99")).
- RUN ZELLEFUELLEN ( INPUT excelAppl, INPUT 'I',
- INPUT ExZeile, INPUT cDaten ).
- END.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE FAKTURA C-Win
- PROCEDURE FAKTURA :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR cPDFName AS CHAR INIT '' NO-UNDO.
- DEF VAR xString AS CHAR NO-UNDO.
- DEF VAR lFirst AS LOG NO-UNDO.
- VSeite = 0.
- VFak_Betr = 0.
- FPreis = TRUE.
-
- RUN VIPER_INIT ( 'Faktura' ).
-
- RUN FAKTURA_KOPF.
- iArtZeile = 0.
- iVPagePos = vpr_getPageVPos() + 20.
- RUN vpr_setGroupVPos ( 'ArtikelZeile1', iVPagePos ).
-
- FOR EACH tAufze NO-LOCK
- BY tAufze.Aufnr
- BY tAufze.Sort1
- BY tAufze.LagOrt
- BY tAufze.Sort2
- BY tAufze.Pos :
-
- FIND Aufze WHERE RECID(Aufze) = tAufze.Zeile NO-LOCK.
-
- RUN VIPER_ARTIKELZEILE ( RECID(tAufze) ).
- VFak_Betr = VFak_Betr + Aufze.Net_Betr.
- END.
-
- iArtZeile = iArtZeile + 1.
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Bez1', '' ).
- iArtZeile = iArtZeile + 1.
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Bez1', TRIM(SUBSTRING(FormText[15],21,20)) ).
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Betrag', TRIM(STRING(VFak_Betr,'->>>,>>9.99')) ).
- iArtZeile = iArtZeile + 1.
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Bez1', ' ' ).
-
- RUN VIPER_AUSGABE_ARTIKELZEILE.
-
- /* Auftragsrabatt ---------------------------------------------------- */
- iArtZeile = 0.
- FOR EACH TRabSumm WHERE TRabSumm.Auf_Rab <> 0
- BY TRabSumm.Rab_Summ:
- Rundbetr = TRabSumm.Auf_Rab.
- VFak_Betr = VFak_Betr - Rundbetr.
- iArtZeile = iArtZeile + 1.
- xString = TRIM(SUBSTRING(FormText[11],01,20))
- + " "
- + TRabSumm.Bez.
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Bez1', xString ).
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Betrag', TRIM(STRING(- Rundbetr,'->>>,>>9.99')) ).
- END.
- /* Abholrabatt ------------------------------------------------------- */
-
- FOR EACH TRabSumm WHERE TRabSumm.Abh_Rab <> 0
- BY TRabSumm.Rab_Summ:
- Rundbetr = TRabSumm.Abh_Rab.
- VFak_Betr = VFak_Betr - Rundbetr.
- iArtZeile = iArtZeile + 1.
- xString = TRIM(SUBSTRING(FormText[15],01,20))
- + " "
- + TRabSumm.Bez.
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Bez1', xString ).
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Betrag', TRIM(STRING(- Rundbetr,'->>>,>>9.99')) ).
- END.
- IF iArtZeile > 0 THEN DO:
- iArtZeile = iArtZeile + 1.
- xString = TRIM(SUBSTRING(FormText[14],21,20)).
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Bez1', xString ).
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Betrag', TRIM(STRING(VFak_Betr,'->>>,>>9.99')) ).
- iArtZeile = iArtZeile + 1.
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Bez1', '' ).
- END.
- RUN VIPER_AUSGABE_GRUPPE ('ArtikelZeile1').
-
- /* Recycling-Gebuehren ----------------------------------------------- */
- iArtZeile = 0.
- FOR EACH AufGKon USE-INDEX AufGKon-k1
- WHERE AufGKon.Firma = BAufko.Firma
- AND AufGKon.Aufnr = BAufko.Aufnr
- AND AufGKon.Gebuehr <> 0
- AND AufGKon.Betrag <> 0 NO-LOCK:
- FIND GebKonto OF AufGKon NO-LOCK NO-ERROR.
- IF NOT AVAILABLE GebKonto THEN xString = TRIM(SUBSTRING(FormText[11],41,20)).
- ELSE xString = GebKonto.Bez.
- VWC = AufGKon.MWST_Cd.
- VFak_Betr = VFak_Betr + AufGKon.Betrag.
-
- iArtZeile = iArtZeile + 1.
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Bez1', xString ).
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Betrag', TRIM(STRING(AufGKon.Betrag,'->>>,>>9.99')) ).
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'MC', STRING(AufGKon.MWSt_Cd,'z9') ).
- END.
- IF iArtZeile > 0 THEN DO:
- iArtZeile = iArtZeile + 1.
- xString = TRIM(SUBSTRING(FormText[14],41,20)).
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Bez1', xString ).
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Betrag', TRIM(STRING(VFak_Betr,'->>>,>>9.99')) ).
- iArtZeile = iArtZeile + 1.
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Bez1', '' ).
- END.
- RUN VIPER_AUSGABE_GRUPPE ('ArtikelZeile1').
- /* Gebinde Aus- und Eingänge ---------------------------------------- */
- FOR EACH AufGKon USE-INDEX AufGKon-k1
- WHERE AufGKon.Firma = BAufko.Firma
- AND AufGKon.Aufnr = BAufko.Aufnr
- AND AufGKon.Depot <> 0
- AND (AufGKon.Eingang <> 0 OR
- AufGKon.Ausgang <> 0) NO-LOCK:
- FIND FIRST TGebKto WHERE TGebKto.Geb_Cd = AufGKon.Geb_Cd NO-ERROR.
- IF NOT AVAILABLE TGebKto THEN DO:
- FIND GebKonto USE-INDEX GebKonto-k1
- WHERE GebKonto.Firma = AufGKon.Firma
- AND GebKonto.Geb_Cd = AufGKon.Geb_Cd NO-LOCK.
- CREATE TGebKto.
- ASSIGN TGebKto.Sort_Cd = GebKonto.Sort_Cd
- TGebKto.Geb_Cd = GebKonto.Geb_Cd
- TGebKto.Bez = GebKonto.Bez
- TGebKto.Preis = AufGKon.Depot
- TGebKto.MWST_Cd = AufGKon.MWSt_Cd.
- END.
- TGebKto.A_Anz = TGebKto.A_Anz + AufGKon.Ausgang.
- TGebKto.A_Betrag = TGebKto.A_Anz * TGebKto.Preis.
- TGebKto.E_Anz = TGebKto.E_Anz + AufGKon.Eingang.
- TGebKto.E_Betrag = TGebKto.E_Anz * TGebKto.Preis.
- END.
-
- /* Gebindelieferungen ------------------------------------------------ */
- VZTot = 0.
- iArtZeile = 0.
- FOR EACH AufGKon USE-INDEX AufGKon-k1
- WHERE AufGKon.Firma = BAufko.Firma
- AND AufGKon.Aufnr = BAufko.Aufnr
- AND AufGKon.Depot <> 0
- AND (AufGKon.Eingang <> 0 OR
- AufGKon.Ausgang <> 0) NO-LOCK
-
- BREAK BY AufgKon.Firma
- BY AufGKon.Aufnr:
- FIND GebKonto NO-LOCK USE-INDEX GebKonto-k1
- WHERE GebKonto.Firma = GVFirma
- AND GebKonto.Geb_Cd = AufGKon.Geb_Cd.
- i1 = AufGKon.Ausgang - AufGKon.Eingang.
- Rundbetr = AufGKon.Betrag.
- VWC = AufGKon.MWSt_Cd.
- VZTot = VZTot + Rundbetr.
- iArtZeile = iArtZeile + 1.
- RUN VIPER_CREATE_DOKUMENT ( 'Gebindeabrechnung', iArtZeile, 'Gebindetext' , GebKonto.Bez ).
- RUN VIPER_CREATE_DOKUMENT ( 'Gebindeabrechnung', iArtZeile, 'GebindeGel' , TRIM(STRING(AufGKon.Ausgang,"->>,>>9")) ).
- RUN VIPER_CREATE_DOKUMENT ( 'Gebindeabrechnung', iArtZeile, 'GebindeRet' , TRIM(STRING(AufGKon.Eingang,"->>,>>9")) ).
- RUN VIPER_CREATE_DOKUMENT ( 'Gebindeabrechnung', iArtZeile, 'GebindeSaldo', TRIM(STRING(i1 ,"->>,>>9")) ).
- IF FPreis THEN
- RUN VIPER_CREATE_DOKUMENT ( 'Gebindeabrechnung', iArtZeile, 'GebindeBetr' , TRIM(STRING(Rundbetr ,"->>,>>9.99")) ).
- END.
- IF iArtZeile > 0 AND
- FPreis THEN RUN VIPER_CREATE_DOKUMENT ( 'Gebindeabrechnung', iArtZeile, 'GebindeTot' , TRIM(STRING(VZTot ,"->>>,>>9.99")) ).
- VFak_Betr = VFak_Betr + VZTot.
- IF iArtZeile > 0 THEN RUN VIPER_AUSGABE_GRUPPE ('Gebindeabrechnung').
-
- /* Auftragstext ------------------------------------------------------ */
- XAuf_Text = BAufko.Auf_Text.
- IF XAuf_Text <> '' THEN DO:
- iVPagePos = vpr_getPageVPos() + 20.
- RUN vpr_setGroupVPos ( 'Zusatztext', iVPagePos ).
- DO i1 = 1 TO NUM-ENTRIES(XAuf_Text, CHR(10)):
- RUN vpr_setCellText ( 'Bemerkung_1', 'Zusatztext', ENTRY(i1, XAuf_Text, CHR(10)) ).
- RUN vpr_flushGroup ('Zusatztext').
- END.
- END.
-
- /* Mehrwertsteuer ---------------------------------------------------- */
- VWpfl = 0.
- VWust = 0.
- i1 = 2.
- DO ix = 1 TO 11:
- IF BAufko.WPfl[ix] = 0 THEN NEXT.
- VWpfl[ix] = BAufko.Wpfl[ix].
- VWust[ix] = BAufko.Wust[ix].
- VFak_Betr = VFak_Betr + VWust[ix].
- i1 = i1 + 1.
- END.
-
- iVPagePos = vpr_getPageVPos().
- IF (iVPagePos + (i1 * 40)) > iVMaxPos THEN DO:
- RUN VIPER_NEUE_SEITE.
- RUN VIPER_ADRESSE ('').
- END.
-
- iArtZeile = 0.
- RUN VIPER_CREATE_DOKUMENT ( 'Mehrwertsteuer', 1, 'MwstBez' , ' ' ).
- DO ix = 1 TO 11:
- IF VWpfl[ix] = 0 THEN NEXT.
- FIND LAST MWSTAns USE-INDEX MWSTAns-k1
- WHERE MWSTAns.MWST_Cd = ix
- AND MWSTAns.Datum <= BAufko.Kond_Datum NO-LOCK.
- iArtZeile = iArtZeile + 1.
- RUN VIPER_CREATE_DOKUMENT ( 'Mehrwertsteuer', iArtZeile, 'MwstBez' , MWStAns.Bez ).
- RUN VIPER_CREATE_DOKUMENT ( 'Mehrwertsteuer', iArtZeile, 'MwstPfl' , TRIM(STRING(VWpfl[ix],"->>,>>9.99")) ).
- RUN VIPER_CREATE_DOKUMENT ( 'Mehrwertsteuer', iArtZeile, 'MwstBetr', TRIM(STRING(VWust[ix],"->>>,>>9.99")) ).
- RUN VIPER_CREATE_DOKUMENT ( 'Mehrwertsteuer', iArtZeile, 'MwstCd' , TRIM(STRING(ix ,"->>,>>9")) ).
- END.
- RUN VIPER_AUSGABE_GRUPPE ( 'Mehrwertsteuer' ).
-
- /* Rechnungsbetrag --------------------------------------------------- */
- Rundbetr = VFak_Betr.
- Rundcode = 1.
- RUN "v8/runden.p".
- VFak_Betr = Rundbetr.
-
- iArtZeile = 1.
- RUN VIPER_CREATE_DOKUMENT ( 'RechnungsTotal', iArtZeile, 'EndBetrag', TRIM(STRING(VFak_Betr,"->>>,>>9.99")) ).
- RUN VIPER_AUSGABE_GRUPPE ( 'RechnungsTotal' ).
-
- /* Zahlungskondition ------------------------------------------------- */
- FIND Kondi USE-INDEX Kondi-k1
- WHERE Kondi.Kond = BAufko.Kond
- AND Kondi.Sprcd = LVSprcd NO-LOCK NO-ERROR.
- IF AVAILABLE Kondi THEN DO:
- iArtZeile = 1.
- RUN VIPER_CREATE_DOKUMENT ( 'Kondition', iArtZeile, 'Zahkond', Kondi.KoText ).
- RUN VIPER_CREATE_DOKUMENT ( 'Kondition', iArtZeile, 'Faellig', STRING((FDatum + Kondi.Faellig),"99.99.9999") ).
- IF Kondi.Skonto[01] <> 0 THEN DO:
- Rundbetr = BAufko.Sk_Ber * Kondi.Skonto[01] / 100.
- Rundcode = 1.
- RUN "v8/runden.p".
- RUN VIPER_CREATE_DOKUMENT ( 'Kondition', iArtZeile, 'Skonto', TRIM(STRING(Rundbetr,"->>>,>>9.99")) ).
- END.
- END.
- ELSE DO:
- iArtZeile = 1.
- RUN VIPER_CREATE_DOKUMENT ( 'Kondition', iArtZeile, 'Zahkond', FILL('?', 29) ).
- END.
- VFak_Betr = VFak_Betr - BAufko.Bar_Betr - BAufko.Bar_Skonto.
- RUN VIPER_CREATE_DOKUMENT ( 'Kondition', iArtZeile, 'Netto', TRIM(STRING(VFak_Betr,"->>>,>>9.99")) ).
- RUN VIPER_AUSGABE_GRUPPE ( 'Kondition' ).
-
- VesrKnr = BAufko.Fak_Knr.
- VesrFnr = BAufko.Faknr.
- IF VFak_Betr = 0 THEN Rundbetr = -1.
- ELSE Rundbetr = VFak_Betr.
- IF AVAILABLE Kondi AND
- Kondi.Skonto[01] <> 0 THEN Rundbetr = 0.
- /* ------------------------------------------------------ */
- /* Druckausgabe */
- /* ------------------------------------------------------ */
-
- RUN vpr_EndDoc.
-
- IF SESSION:PRINTER-NAME <> F_Drucker THEN DO:
- RUN vpr_printerDialog ( OUTPUT ja ).
- IF NOT ja THEN RETURN.
- END.
- ELSE DO:
- RUN vpr_selectPrinter(SESSION:PRINTER-NAME).
- END.
-
- RUN vpr_SetPrinterAttrib ('copies=1').
- RUN vpr_SetPrinterAttrib ('duplex=1').
- RUN vpr_printDoc (0, 0).
-
- cvpr_Dokument = SUBSTITUTE('Rechnungen\&1-&2_&3', STRING(BAufko.Knr,'999999'), BAufko.Faknr, cvpr_Dokument).
- cPDFName = REPLACE(cvpr_Dokument, '.vpr', '.pdf').
-
- RUN vpr_printPDF (0, 0, INPUT-OUTPUT cPDFName ).
- RUN vpr_SaveDoc ( cvpr_Dokument ).
-
- /*
- RUN vpr_ShowDoc.
- RUN vpr_showPreview.
- DEF VAR o-i AS i NO-UNDO.
- RUN shellExecuteA (0,
- "open",
- cPDFName,
- "",
- "",
- 0,
- OUTPUT o-i).
- */
-
- VesrKnr = BAufko.Fak_Knr.
- VesrFnr = BAufko.Faknr.
- VBesr = 4.
- CASE VBesr:
-
- WHEN 1 THEN RUN VESR_DRUCK01.
- WHEN 2 THEN RUN VESR_DRUCK02.
- WHEN 3 THEN RUN VESR_DRUCK03.
- WHEN 4 THEN RUN VESR_DRUCK04.
-
- END CASE.
- RUN KOPF_MUTATION.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE FAKTURA_KOPF C-Win
- PROCEDURE FAKTURA_KOPF :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR kk AS INT NO-UNDO.
- DEF VAR xString AS CHAR NO-UNDO.
- RUN VIPER_NEUE_SEITE.
- IF VSeite = 1 THEN DO:
- REPEAT WHILE BAufko.Faknr = 0 TRANSACTION:
- RUN "v8/steunr.p" ( INPUT 2, OUTPUT VFaknr ).
- IF RETURN-VALUE <> '' THEN NEXT.
- FIND Aufko WHERE RECID(Aufko) = RECID(BAufko).
- Aufko.Faknr = VFaknr.
- RELEASE Aufko.
- END.
- SFaknr = BAufko.Faknr.
-
- FIND Adresse USE-INDEX Adresse-k1
- WHERE Adresse.Firma = AdFirma
- AND Adresse.Knr = BAufko.Fak_Knr NO-LOCK NO-ERROR.
- FIND LDebst USE-INDEX Debst-k1
- WHERE LDebst.Firma = GVFirma
- AND LDebst.Knr = BAufko.Knr NO-LOCK NO-ERROR.
- FIND FDebst USE-INDEX Debst-k1
- WHERE FDebst.Firma = GVFirma
- AND FDebst.Knr = BAufko.Fak_Knr NO-LOCK NO-ERROR.
- FIND Wust USE-INDEX Wust-k1
- WHERE Wust.CodeK = LDebst.MWST
- AND Wust.CodeA = 99 NO-LOCK NO-ERROR.
- LVSprcd = Adresse.Sprcd.
- DebInkl = FALSE.
- IF AVAILABLE Wust THEN DebInkl = Wust.Incl.
-
- VBesrKopf = ''.
- IF BAufko.Adresse[05] <> '' THEN DO:
- i1 = 6.
- DO ix = 1 TO 5:
- CREATE tDokument.
- ASSIGN tDokument.cGruppe = 'KOPF'
- tDokument.iZeile = 1
- tDokument.cFeld = 'Adresse_' + STRING((6 + ix),'99')
- tDokument.cInhalt = BAufko.Adresse[ix].
- i1 = i1 + 1.
- VBesrKopf[i1] = BAufko.Adresse[ix].
- END.
- END.
- ELSE DO:
- DO ix = 5 TO 11:
- CREATE tDokument.
- ASSIGN tDokument.cGruppe = 'KOPF'
- tDokument.iZeile = 1
- tDokument.cFeld = 'Adresse_' + STRING(ix,'99')
- tDokument.cInhalt = Adresse.Anschrift[ix].
- VBesrKopf[ix] = Adresse.Anschrift[ix].
- END.
- END.
- CREATE tDokument.
- ASSIGN tDokument.cGruppe = 'KOPF'
- tDokument.iZeile = 1
- tDokument.cFeld = 'Ort_Datum'
- tDokument.cInhalt = TRIM(SUBSTRING(FormText[07],01,20))
- + " "
- + STRING(FDatum,"99.99.9999").
-
- CREATE tDokument.
- ASSIGN tDokument.cGruppe = 'KOPF'
- tDokument.iZeile = 1
- tDokument.cFeld = 'T_Dokument'
- tDokument.cInhalt = (IF BAufko.Auf_Tot >= 0
- THEN TRIM(SUBSTRING(FormText[02],01,20))
- ELSE TRIM(SUBSTRING(FormText[02],21,20))).
-
- CREATE tDokument.
- ASSIGN tDokument.cGruppe = 'KOPF'
- tDokument.iZeile = 1
- tDokument.cFeld = 'Aufnr'
- tDokument.cInhalt = STRING(SFaknr,'z999999').
-
- FIND FIRST tTabTexte WHERE tTabTexte.cRecArt = 'ABLAD' NO-ERROR.
- CREATE tDokument.
- ASSIGN tDokument.cGruppe = 'KOPFDETAIL'
- tDokument.iZeile = 1
- tDokument.cFeld = 'Ablade'
- tDokument.cInhalt = (IF AVAILABLE tTabTexte THEN tTabTexte.cFeld3 ELSE ' ').
-
- FIND FIRST tTabTexte WHERE tTabTexte.cRecArt = 'WISO' NO-ERROR.
- CREATE tDokument.
- ASSIGN tDokument.cGruppe = 'KOPFDETAIL'
- tDokument.iZeile = 1
- tDokument.cFeld = 'WirteSo'
- tDokument.cInhalt = (IF AVAILABLE tTabTexte THEN tTabTexte.cFeld3 ELSE ' ').
-
- CREATE tDokument.
- ASSIGN tDokument.cGruppe = 'KOPFDETAIL'
- tDokument.iZeile = 1
- tDokument.cFeld = 'Auf_Datum'
- tDokument.cInhalt = STRING(BAufko.Auf_Datum,'99.99.9999').
-
- CREATE tDokument.
- ASSIGN tDokument.cGruppe = 'KOPFDETAIL'
- tDokument.iZeile = 1
- tDokument.cFeld = 'Lief_Datum'
- tDokument.cInhalt = STRING(BAufko.Lief_Datum,'99.99.9999').
-
- CREATE tDokument.
- ASSIGN tDokument.cGruppe = 'KOPFDETAIL'
- tDokument.iZeile = 1
- tDokument.cFeld = 'U_Ref'
- tDokument.cInhalt = BAufko.U_Ref.
-
- CREATE tDokument.
- ASSIGN tDokument.cGruppe = 'KOPFDETAIL'
- tDokument.iZeile = 1
- tDokument.cFeld = 'Knr'
- tDokument.cInhalt = STRING(BAufko.Knr,'999999').
-
- CREATE tDokument.
- ASSIGN tDokument.cGruppe = 'KOPFDETAIL'
- tDokument.iZeile = 1
- tDokument.cFeld = 'Telefon'
- tDokument.cInhalt = (IF Adresse.Tel-1 <> '' THEN Adresse.Tel-1 ELSE Adresse.Tel-2).
-
- CREATE tDokument.
- ASSIGN tDokument.cGruppe = 'KOPFDETAIL'
- tDokument.iZeile = 1
- tDokument.cFeld = 'Gewicht'
- tDokument.cInhalt = TRIM(STRING(BAufko.Gewicht,'->>>,>>9.999')).
- END.
-
- RUN VIPER_ADRESSE ( xString ).
-
- IF VSeite = 1 AND
- BAufko.Abh_Text <> '' THEN DO:
- XAuf_Text = BAufko.Abh_Text.
- iVPagePos = vpr_getPageVPos() + 20.
- RUN vpr_setGroupVPos ( 'Zusatztext', iVPagePos ).
- DO i1 = 1 TO NUM-ENTRIES(XAuf_Text, CHR(10)):
- RUN vpr_setCellText ( 'Bemerkung_1', 'Zusatztext', ENTRY(i1, XAuf_Text, CHR(10)) ).
- RUN vpr_flushGroup ('Zusatztext').
- END.
- END.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE FUELLEN_tAufze C-Win
- PROCEDURE FUELLEN_tAufze :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF INPUT PARAMETER ipAufnr AS INT NO-UNDO.
- DEF VAR minPos AS INT NO-UNDO.
- DEF VAR maxPos AS INT NO-UNDO.
- DEF VAR jPlatz AS INT NO-UNDO.
- DEF VAR cLagOrt AS CHAR NO-UNDO.
- DEF VAR iRuestArt AS INT NO-UNDO.
- DEF VAR iPlusMinus AS INT NO-UNDO.
- EMPTY TEMP-TABLE tAufze.
- EMPTY TEMP-TABLE tRueckst.
-
- FIND Steuer NO-LOCK
- WHERE Steuer.Firma = GVFirma NO-ERROR.
- IF AVAILABLE Steuer THEN iRuestArt = Steuer.RuestArt.
-
- ASSIGN minPos = 0
- maxPos = 9999.
-
- /* Kommentar zu Beginn eines Auftrages */
- FOR EACH Aufze NO-LOCK
- WHERE Aufze.Firma = GVFirma
- AND Aufze.Aufnr = ipAufnr
- AND Aufze.Pos > minPos:
- IF Aufze.Artnr > 0 THEN LEAVE.
-
- iPlusMinus = (IF Aufze.MGeli < 0 THEN 1 ELSE 0).
- minPos = Aufze.Pos.
- CREATE tAufze.
- ASSIGN tAufze.Aufnr = Aufze.Aufnr
- tAufze.Artnr = Aufze.Artnr
- tAufze.Inhalt = Aufze.Inhalt
- tAufze.Jahr = Aufze.Jahr
- tAufze.Pos = Aufze.Pos
- tAufze.Zeile = RECID(Aufze)
- tAufze.Aktion = Aufze.Aktion
- tAufze.Preis = Aufze.Preis
- tAufze.MGeli = Aufze.MGeli
- tAufze.MRuek = Aufze.MRuek.
-
- ASSIGN tAufze.Sort1 = STRING(0,'99')
- tAufze.Sort2 = ''
- tAufze.Sort3 = STRING(tAufze.Artnr ,'999999')
- + STRING(tAufze.Inhalt,'9999')
- + STRING(tAufze.Jahr ,'9999')
- + STRING(iPlusMinus ,'9')
- + STRING(tAufze.Pos ,'9999').
- tAufze.LagOrt = ''.
- END.
- /* Kommentar am Ende eines Auftrages */
- FOR EACH Aufze NO-LOCK
- WHERE Aufze.Firma = GVFirma
- AND Aufze.Aufnr = ipAufnr
- BY Aufze.Pos DESCENDING:
- IF Aufze.Artnr > 0 THEN LEAVE.
-
- iPlusMinus = (IF Aufze.MGeli < 0 THEN 1 ELSE 0).
- maxPos = Aufze.Pos.
- CREATE tAufze.
- ASSIGN tAufze.Aufnr = Aufze.Aufnr
- tAufze.Artnr = Aufze.Artnr
- tAufze.Inhalt = Aufze.Inhalt
- tAufze.Jahr = Aufze.Jahr
- tAufze.Pos = Aufze.Pos
- tAufze.Zeile = RECID(Aufze)
- tAufze.Aktion = Aufze.Aktion
- tAufze.Preis = Aufze.Preis
- tAufze.MGeli = Aufze.MGeli
- tAufze.MRuek = Aufze.MRuek.
-
- ASSIGN tAufze.Sort1 = STRING(99,'99')
- tAufze.Sort2 = ''
- tAufze.Sort3 = STRING(tAufze.Artnr ,'999999')
- + STRING(tAufze.Inhalt,'9999')
- + STRING(tAufze.Jahr ,'9999')
- + STRING(iPlusMinus ,'9')
- + STRING(tAufze.Pos ,'9999').
- tAufze.LagOrt = ''.
- END.
- /* Artikelzeilen nach Ruestplatz und Ort */
- cLagOrt = ''.
- FOR EACH Aufze NO-LOCK
- WHERE Aufze.Firma = GVFirma
- AND Aufze.Aufnr = ipAufnr
- AND Aufze.Pos > minPos
- AND Aufze.Pos < MaxPos
- BY Aufze.Pos DESCENDING:
-
- IF Aufze.Artnr > 0 THEN DO:
- FIND ArtLager NO-LOCK
- WHERE ArtLager.Firma = Aufze.Firma
- AND ArtLager.Artnr = Aufze.Artnr
- AND ArtLager.Inhalt = Aufze.Inhalt
- AND ArtLager.Jahr = Aufze.Jahr
- AND ArtLager.Lager = Aufze.Lager.
- cLagOrt = ArtLager.Ort.
- END.
- iPlusMinus = (IF Aufze.MGeli < 0 THEN 1 ELSE 0).
- FIND LAST RuestPlatz USE-INDEX RuestPlatz-k2
- WHERE RuestPlatz.Firma = Aufze.Firma
- AND RuestPlatz.RuestArt = iRuestArt
- AND RuestPlatz.abLagOrt <= cLagOrt NO-ERROR.
- IF NOT AVAILABLE RuestPlatz THEN jPlatz = 90.
- ELSE jPlatz = RuestPlatz.Platz.
- CREATE tAufze.
- ASSIGN tAufze.Aufnr = Aufze.Aufnr
- tAufze.Artnr = Aufze.Artnr
- tAufze.Inhalt = Aufze.Inhalt
- tAufze.Jahr = Aufze.Jahr
- tAufze.Pos = Aufze.Pos
- tAufze.Zeile = RECID(Aufze)
- tAufze.Aktion = Aufze.Aktion
- tAufze.Preis = Aufze.Preis
- tAufze.MGeli = Aufze.MGeli
- tAufze.MRuek = Aufze.MRuek.
-
- ASSIGN tAufze.Sort1 = STRING(jPlatz,'99')
- tAufze.Sort2 = cLagOrt
- tAufze.Sort3 = STRING(tAufze.Artnr ,'999999')
- + STRING(tAufze.Inhalt,'9999')
- + STRING(tAufze.Jahr ,'9999')
- + STRING(iPlusMinus ,'9')
- + STRING(tAufze.Pos ,'9999').
- tAufze.LagOrt = cLagort.
- IF tAufze.MRuek > 0 THEN DO:
- CREATE tRueckst.
- BUFFER-COPY tAufze TO tRueckst.
- END.
- IF tAufze.Artnr > 0 AND
- tAufze.MGeli = 0 THEN DELETE tAufze.
- END.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE GEBINDE_SALDO C-Win
- PROCEDURE GEBINDE_SALDO :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- FOR EACH AufGKon USE-INDEX AufGKon-k1
- WHERE AufGKon.Firma = BAufko.Firma
- AND AufGKon.Aufnr = BAufko.Aufnr
- AND AufGKon.Depot <> 0
- AND AufGKon.Betrag <> 0 NO-LOCK:
- FIND FIRST TGebKto WHERE TGebKto.Geb_Cd = AufGKon.Geb_Cd NO-ERROR.
- IF NOT AVAILABLE TGebKto THEN DO:
- FIND GebKonto USE-INDEX GebKonto-k1
- WHERE GebKonto.Firma = AufGKon.Firma
- AND GebKonto.Geb_Cd = AufGKon.Geb_Cd NO-LOCK.
- CREATE TGebKto.
- ASSIGN TGebKto.Sort_Cd = GebKonto.Sort_Cd
- TGebKto.Geb_Cd = GebKonto.Geb_Cd
- TGebKto.Bez = GebKonto.Bez
- TGebKto.Preis = AufGKon.Depot
- TGebKto.MWST_Cd = AufGKon.MWSt_Cd.
- END.
- TGebKto.A_Anz = TGebKto.A_Anz + AufGKon.Ausgang.
- TGebKto.A_Betrag = TGebKto.A_Anz * TGebKto.Preis.
- TGebKto.E_Anz = TGebKto.E_Anz + AufGKon.Eingang.
- TGebKto.E_Betrag = TGebKto.E_Anz * TGebKto.Preis.
- END.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE KOPF_MUTATION C-Win
- PROCEDURE KOPF_MUTATION :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DO TRANSACTION WHILE TRUE:
- FIND Tabel USE-INDEX Tabel-k1
- WHERE Tabel.Firma = GVFirma
- AND Tabel.RecArt = 'FAKART'
- AND Tabel.CodeC = ''
- AND Tabel.CodeI = BAufko.Fak_Art
- AND Tabel.Sprcd = 1 NO-LOCK NO-ERROR.
- IF Tabel.Int_3 > 2 THEN DO:
- FIND Aufko WHERE RECID(Aufko) = RECID(BAufko).
- Aufko.Fak_Datum = FDatum.
- Aufko.Faknr = SFaknr.
- RELEASE Aufko.
- END.
- RUN AUFTRAG_GEDRUCKT ( INPUT BAufko.Aufnr ).
- RELEASE Aufko.
- LEAVE.
- END.
- FIND Aufko WHERE RECID(Aufko) = RECID(BAufko) NO-LOCK.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LIBILD C-Win
- PROCEDURE LIBILD :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR VProgName AS CHAR NO-UNDO.
-
- VProgName = BSteuer.Fwc10 + ":" + VDokArt.
- FormText = "".
- FOR EACH LiBild USE-INDEX LiBild-k1
- WHERE LiBild.Sprcd = GVSprcd
- AND LiBild.Prog = VProgname
- AND LiBild.Tenr > 0 NO-LOCK
-
- ix = 1 TO 40:
-
- FormText[ix] = LiBild.Litext.
- END.
-
- Fuell = SUBSTRING(FormText[01],01,01).
- Breite = INTEGER(SUBSTRING(FormText[01],02,03)).
- VRand = INTEGER(SUBSTRING(FormText[01],68,03)).
- Dattxt = SUBSTRING(FormText[01],05,10).
- Seitxt = SUBSTRING(FormText[01],15,10).
- Zeitxt = SUBSTRING(FormText[01],25,10).
- Firtxt = SUBSTRING(FormText[01],35,10).
- Jahtxt = SUBSTRING(FormText[01],45,10).
- Ueber1 = "".
- Ueber2 = "".
- Ueber3 = "".
- ap = 1.
- XDruDat = ?.
- VRabText = TRIM(SUBSTRING(FormText[21],01,20)).
- VZusText = TRIM(SUBSTRING(FormText[21],21,20)).
- VEpzText = TRIM(SUBSTRING(FormText[21],41,20)).
- SUBSTRING(VZeile,001) = FormText[05].
- SUBSTRING(VZeile,071) = FormText[06].
- StBreite = LENGTH(VZeile).
- /*
- RZeile = FILL('|', Breite).
- SUBSTRING(RZeile,001) = STRING(' ',"x(06)").
- SUBSTRING(RZeile,008) = STRING(' ',"x(03)").
- SUBSTRING(RZeile,012) = STRING(' ',"x(08)").
- SUBSTRING(RZeile,021) = STRING(' ',"x(05)").
- SUBSTRING(RZeile,027) = STRING(' ',"x(08)").
- SUBSTRING(RZeile,036) = STRING(' ',"x(35)").
- SUBSTRING(RZeile,072) = STRING(' ',"x(02)").
- SUBSTRING(RZeile,075) = STRING(' ',"x(07)").
- SUBSTRING(RZeile,083) = STRING(' ',"x(10)").
- SUBSTRING(RZeile,094) = STRING(' ',"x(02)").
-
- RZeile = SUBSTRING(RZeile,01,StBreite).
- */
- VZeile = ''.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LIEFERFAK C-Win
- PROCEDURE LIEFERFAK :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR cPDFName AS CHAR INIT '' NO-UNDO.
- DEF VAR xString AS CHAR NO-UNDO.
- DEF VAR lFirst AS LOG NO-UNDO.
- DEF VAR cString AS CHAR NO-UNDO.
- VSeite = 0.
- VFak_Betr = 0.
- FPreis = TRUE.
-
- RUN AUFTRAGSTOTAL ( BAufko.Aufnr, OUTPUT cString ).
-
- RUN VIPER_INIT ( 'LieferFak' ).
-
- RUN LIEFERFAK_KOPF.
- iArtZeile = 0.
- iVPagePos = vpr_getPageVPos() + 20.
- RUN vpr_setGroupVPos ( 'ArtikelZeile1', iVPagePos ).
-
- FOR EACH tAufze NO-LOCK
- BY tAufze.Aufnr
- BY tAufze.Sort1
- BY tAufze.LagOrt
- BY tAufze.Sort2
- BY tAufze.Pos :
-
- FIND Aufze WHERE RECID(Aufze) = tAufze.Zeile NO-LOCK.
-
- RUN VIPER_ARTIKELZEILE ( RECID(tAufze) ).
- VFak_Betr = VFak_Betr + Aufze.Net_Betr.
- END.
-
- IF FPreis = TRUE THEN DO:
- iArtZeile = iArtZeile + 1.
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Bez1', '' ).
- iArtZeile = iArtZeile + 1.
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Bez1', TRIM(SUBSTRING(FormText[15],21,20)) ).
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Betrag', TRIM(STRING(VFak_Betr,'->>>,>>9.99')) ).
- END.
- iArtZeile = iArtZeile + 1.
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Bez1', ' ' ).
-
- RUN VIPER_AUSGABE_ARTIKELZEILE.
-
- /* Auftragsrabatt ---------------------------------------------------- */
- iArtZeile = 0.
- FOR EACH TRabSumm WHERE TRabSumm.Auf_Rab <> 0
- BY TRabSumm.Rab_Summ:
- Rundbetr = TRabSumm.Auf_Rab.
- VFak_Betr = VFak_Betr - Rundbetr.
- iArtZeile = iArtZeile + 1.
- xString = TRIM(SUBSTRING(FormText[11],01,20))
- + " "
- + TRabSumm.Bez.
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Bez1', xString ).
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Betrag', TRIM(STRING(- Rundbetr,'->>>,>>9.99')) ).
- END.
- /* Abholrabatt ------------------------------------------------------- */
-
- FOR EACH TRabSumm WHERE TRabSumm.Abh_Rab <> 0
- BY TRabSumm.Rab_Summ:
- Rundbetr = TRabSumm.Abh_Rab.
- VFak_Betr = VFak_Betr - Rundbetr.
- iArtZeile = iArtZeile + 1.
- xString = TRIM(SUBSTRING(FormText[15],01,20))
- + " "
- + TRabSumm.Bez.
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Bez1', xString ).
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Betrag', TRIM(STRING(- Rundbetr,'->>>,>>9.99')) ).
- END.
- IF iArtZeile > 0 THEN DO:
- iArtZeile = iArtZeile + 1.
- xString = TRIM(SUBSTRING(FormText[14],21,20)).
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Bez1', xString ).
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Betrag', TRIM(STRING(VFak_Betr,'->>>,>>9.99')) ).
- iArtZeile = iArtZeile + 1.
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Bez1', '' ).
- END.
- RUN VIPER_AUSGABE_GRUPPE ('ArtikelZeile1').
-
- /* Recycling-Gebuehren ----------------------------------------------- */
- iArtZeile = 0.
- FOR EACH AufGKon USE-INDEX AufGKon-k1
- WHERE AufGKon.Firma = BAufko.Firma
- AND AufGKon.Aufnr = BAufko.Aufnr
- AND AufGKon.Gebuehr <> 0
- AND AufGKon.Betrag <> 0 NO-LOCK:
- FIND GebKonto OF AufGKon NO-LOCK NO-ERROR.
- IF NOT AVAILABLE GebKonto THEN xString = TRIM(SUBSTRING(FormText[11],41,20)).
- ELSE xString = GebKonto.Bez.
- VWC = AufGKon.MWST_Cd.
- VFak_Betr = VFak_Betr + AufGKon.Betrag.
-
- iArtZeile = iArtZeile + 1.
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Bez1', xString ).
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Betrag', TRIM(STRING(AufGKon.Betrag,'->>>,>>9.99')) ).
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'MC', STRING(AufGKon.MWSt_Cd,'z9') ).
- END.
- IF iArtZeile > 0 THEN DO:
- iArtZeile = iArtZeile + 1.
- xString = TRIM(SUBSTRING(FormText[14],41,20)).
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Bez1', xString ).
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Betrag', TRIM(STRING(VFak_Betr,'->>>,>>9.99')) ).
- iArtZeile = iArtZeile + 1.
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Bez1', '' ).
- END.
- RUN VIPER_AUSGABE_GRUPPE ('ArtikelZeile1').
- /* Gebinde Aus- und Eingänge ---------------------------------------- */
- FOR EACH AufGKon USE-INDEX AufGKon-k1
- WHERE AufGKon.Firma = BAufko.Firma
- AND AufGKon.Aufnr = BAufko.Aufnr
- AND AufGKon.Depot <> 0
- AND AufGKon.Betrag <> 0 NO-LOCK:
- FIND FIRST TGebKto WHERE TGebKto.Geb_Cd = AufGKon.Geb_Cd NO-ERROR.
- IF NOT AVAILABLE TGebKto THEN DO:
- FIND GebKonto USE-INDEX GebKonto-k1
- WHERE GebKonto.Firma = AufGKon.Firma
- AND GebKonto.Geb_Cd = AufGKon.Geb_Cd NO-LOCK.
- CREATE TGebKto.
- ASSIGN TGebKto.Sort_Cd = GebKonto.Sort_Cd
- TGebKto.Geb_Cd = GebKonto.Geb_Cd
- TGebKto.Bez = GebKonto.Bez
- TGebKto.Preis = AufGKon.Depot
- TGebKto.MWST_Cd = AufGKon.MWSt_Cd.
- END.
- TGebKto.A_Anz = TGebKto.A_Anz + AufGKon.Ausgang.
- TGebKto.A_Betrag = TGebKto.A_Anz * TGebKto.Preis.
- TGebKto.E_Anz = TGebKto.E_Anz + AufGKon.Eingang.
- TGebKto.E_Betrag = TGebKto.E_Anz * TGebKto.Preis.
- END.
-
- /* Gebindelieferungen ------------------------------------------------ */
- VZTot = 0.
- iArtZeile = 0.
- FOR EACH AufGKon USE-INDEX AufGKon-k1
- WHERE AufGKon.Firma = BAufko.Firma
- AND AufGKon.Aufnr = BAufko.Aufnr
- AND AufGKon.Depot <> 0
- AND (AufGKon.Eingang <> 0 OR
- AufGKon.Ausgang <> 0) NO-LOCK
-
- BREAK BY AufgKon.Firma
- BY AufGKon.Aufnr:
-
- FIND GebKonto NO-LOCK USE-INDEX GebKonto-k1
- WHERE GebKonto.Firma = GVFirma
- AND GebKonto.Geb_Cd = AufGKon.Geb_Cd.
- i1 = AufGKon.Ausgang - AufGKon.Eingang.
- Rundbetr = AufGKon.Betrag.
- VWC = AufGKon.MWSt_Cd.
- VZTot = VZTot + Rundbetr.
- iArtZeile = iArtZeile + 1.
- RUN VIPER_CREATE_DOKUMENT ( 'Gebindeabrechnung', iArtZeile, 'Gebindetext' , GebKonto.Bez ).
- RUN VIPER_CREATE_DOKUMENT ( 'Gebindeabrechnung', iArtZeile, 'GebindeGel' , TRIM(STRING(AufGKon.Ausgang,"->>,>>9")) ).
- RUN VIPER_CREATE_DOKUMENT ( 'Gebindeabrechnung', iArtZeile, 'GebindeRet' , TRIM(STRING(AufGKon.Eingang,"->>,>>9")) ).
- RUN VIPER_CREATE_DOKUMENT ( 'Gebindeabrechnung', iArtZeile, 'GebindeSaldo', TRIM(STRING(i1 ,"->>,>>9")) ).
- IF FPreis THEN
- RUN VIPER_CREATE_DOKUMENT ( 'Gebindeabrechnung', iArtZeile, 'GebindeBetr' , TRIM(STRING(Rundbetr ,"->>,>>9.99")) ).
- END.
- IF FPreis AND
- iArtZeile > 0 THEN RUN VIPER_CREATE_DOKUMENT ( 'Gebindeabrechnung', iArtZeile, 'GebindeTot' , TRIM(STRING(VZTot,"->>,>>9.99")) ).
- VFak_Betr = VFak_Betr + VZTot.
- IF iArtZeile > 0 THEN RUN VIPER_AUSGABE_GRUPPE ('Gebindeabrechnung').
-
- /* Auftragstext ------------------------------------------------------ */
- XAuf_Text = BAufko.Auf_Text.
- IF XAuf_Text <> '' THEN DO:
- iVPagePos = vpr_getPageVPos() + 20.
- RUN vpr_setGroupVPos ( 'Zusatztext', iVPagePos ).
- DO i1 = 1 TO NUM-ENTRIES(XAuf_Text, CHR(10)):
- RUN vpr_setCellText ( 'Bemerkung_1', 'Zusatztext', ENTRY(i1, XAuf_Text, CHR(10)) ).
- RUN vpr_flushGroup ('Zusatztext').
- END.
- END.
-
- /* Mehrwertsteuer ---------------------------------------------------- */
- VWpfl = 0.
- VWust = 0.
- i1 = 2.
- DO ix = 1 TO 11:
- IF BAufko.WPfl[ix] = 0 THEN NEXT.
- VWpfl[ix] = BAufko.Wpfl[ix].
- VWust[ix] = BAufko.Wust[ix].
- VFak_Betr = VFak_Betr + VWust[ix].
- i1 = i1 + 1.
- END.
-
- iVPagePos = vpr_getPageVPos().
- iVGroupPos = vpr_getGroupVPos('Gebindetabelle').
- IF iVPagePos > (iVGroupPos - (i1 * 40)) THEN DO:
- RUN VIPER_NEUE_SEITE.
- RUN VIPER_ADRESSE ('').
- END.
-
- iArtZeile = 0.
- RUN VIPER_CREATE_DOKUMENT ( 'Mehrwertsteuer', 1, 'MwstBez' , ' ' ).
- DO ix = 1 TO 11:
- IF VWpfl[ix] = 0 THEN NEXT.
- FIND LAST MWSTAns USE-INDEX MWSTAns-k1
- WHERE MWSTAns.MWST_Cd = ix
- AND MWSTAns.Datum <= BAufko.Kond_Datum NO-LOCK.
- iArtZeile = iArtZeile + 1.
- RUN VIPER_CREATE_DOKUMENT ( 'Mehrwertsteuer', iArtZeile, 'MwstBez' , MWStAns.Bez ).
- RUN VIPER_CREATE_DOKUMENT ( 'Mehrwertsteuer', iArtZeile, 'MwstPfl' , TRIM(STRING(VWpfl[ix],"->>,>>9.99")) ).
- RUN VIPER_CREATE_DOKUMENT ( 'Mehrwertsteuer', iArtZeile, 'MwstBetr', TRIM(STRING(VWust[ix],"->>>,>>9.99")) ).
- RUN VIPER_CREATE_DOKUMENT ( 'Mehrwertsteuer', iArtZeile, 'MwstCd' , TRIM(STRING(ix ,"->>,>>9")) ).
- END.
- RUN VIPER_AUSGABE_GRUPPE ( 'Mehrwertsteuer' ).
-
- /* Rechnungsbetrag --------------------------------------------------- */
- Rundbetr = VFak_Betr.
- Rundcode = 1.
- RUN "v8/runden.p".
- VFak_Betr = Rundbetr.
-
- iArtZeile = 1.
- RUN VIPER_CREATE_DOKUMENT ( 'RechnungsTotal', iArtZeile, 'EndBetrag', TRIM(STRING(VFak_Betr,"->>>,>>9.99")) ).
- RUN VIPER_AUSGABE_GRUPPE ( 'RechnungsTotal' ).
-
- /* ------ RUECKSTAENDE ---------------------------------------------------- */
-
- DO WHILE TRUE:
- FIND FIRST tRueckst NO-ERROR.
- IF NOT AVAILABLE tRueckst THEN LEAVE.
-
- iVPagePos = vpr_getPageVPos() + 150.
- IF iVPagePos > iVMaxPos THEN DO:
- RUN VIPER_NEUE_SEITE.
- RUN VIPER_ADRESSE ('').
- END.
- cString = 'Rückstände bitte neu bestellen'.
- iVPagePos = vpr_getPageVPos() + 50.
- RUN vpr_setGroupVPos ('Rueckstand', iVPagePos ).
- RUN vpr_setCellText ('RueckTitel', 'Rueckstand', cString ).
- RUN vpr_flushGroup ('Rueckstand').
- iArtZeile = 1.
- FOR EACH tRueckst:
- RUN VIPER_RUECKSTAND ( RECID(tRueckst) ).
- END.
- RUN VIPER_AUSGABE_ARTIKELZEILE.
- LEAVE.
- END.
-
- /* Gebinderücknahmetabelle ------------------------------------------- */
-
- iVPagePos = vpr_getPageVPos().
- iVGroupPos = vpr_getGroupVPos('Gebindetabelle').
- IF iVPagePos < iVGroupPos THEN RUN vpr_flushGroup('Gebindetabelle').
- ELSE DO:
- RUN VIPER_NEUE_SEITE.
- RUN VIPER_ADRESSE ('').
- RUN vpr_flushGroup('Gebindetabelle').
- END.
- /* ------------------------------------------------------ */
- /* Druckausgabe */
- /* ------------------------------------------------------ */
-
- RUN vpr_EndDoc.
-
- IF SESSION:PRINTER-NAME <> F_Drucker THEN DO:
- RUN vpr_printerDialog ( OUTPUT ja ).
- IF NOT ja THEN RETURN.
- END.
- ELSE DO:
- RUN vpr_selectPrinter(SESSION:PRINTER-NAME).
- END.
-
- RUN vpr_SetPrinterAttrib('copies=1').
- RUN vpr_printDoc (0, 0).
-
- cvpr_Dokument = SUBSTITUTE('Rechnungen\&1-&2_&3',
- STRING(BAufko.Knr ,'999999'),
- STRING(BAufko.Aufnr,'999999'),
- cvpr_Dokument).
- cPDFName = REPLACE(cvpr_Dokument, '.vpr', '.pdf').
-
- RUN vpr_SetPrinterAttrib('copies=1').
- RUN vpr_printPDF (0, 0, INPUT-OUTPUT cPDFName ).
- RUN vpr_SaveDoc ( cvpr_Dokument ).
- /*
- RUN vpr_ShowDoc.
- RUN vpr_showPreview.
- DEF VAR o-i AS i NO-UNDO.
- RUN shellExecuteA (0,
- "open",
- cPDFName,
- "",
- "",
- 0,
- OUTPUT o-i).
- */
-
- VesrKnr = BAufko.Fak_Knr.
- VesrFnr = BAufko.Faknr.
- VBesr = 4.
- Rundbetr = 0.
- CASE VBesr:
-
- WHEN 1 THEN RUN VESR_DRUCK01.
- WHEN 2 THEN RUN VESR_DRUCK02.
- WHEN 3 THEN RUN VESR_DRUCK03.
- WHEN 4 THEN RUN VESR_DRUCK04.
-
- END CASE.
- RUN KOPF_MUTATION.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LIEFERFAK_KOPF C-Win
- PROCEDURE LIEFERFAK_KOPF :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR kk AS INT NO-UNDO.
- DEF VAR xString AS CHAR NO-UNDO.
- RUN VIPER_NEUE_SEITE.
- IF VSeite = 1 THEN DO:
- REPEAT WHILE BAufko.Faknr = 0 TRANSACTION:
- RUN "v8/steunr.p" ( INPUT 2, OUTPUT VFaknr ).
- IF RETURN-VALUE <> '' THEN NEXT.
- FIND Aufko WHERE RECID(Aufko) = RECID(BAufko).
- Aufko.Faknr = VFaknr.
- RELEASE Aufko.
- END.
- SFaknr = BAufko.Faknr.
-
- FIND Adresse USE-INDEX Adresse-k1
- WHERE Adresse.Firma = AdFirma
- AND Adresse.Knr = BAufko.Fak_Knr NO-LOCK NO-ERROR.
- FIND LDebst USE-INDEX Debst-k1
- WHERE LDebst.Firma = GVFirma
- AND LDebst.Knr = BAufko.Knr NO-LOCK NO-ERROR.
- FIND FDebst USE-INDEX Debst-k1
- WHERE FDebst.Firma = GVFirma
- AND FDebst.Knr = BAufko.Fak_Knr NO-LOCK NO-ERROR.
- FIND Wust USE-INDEX Wust-k1
- WHERE Wust.CodeK = LDebst.MWST
- AND Wust.CodeA = 99 NO-LOCK NO-ERROR.
- LVSprcd = Adresse.Sprcd.
- DebInkl = FALSE.
- IF AVAILABLE Wust THEN DebInkl = Wust.Incl.
-
- VBesrKopf = ''.
- IF BAufko.Adresse[05] <> '' THEN DO:
- i1 = 6.
- DO ix = 1 TO 5:
- CREATE tDokument.
- ASSIGN tDokument.cGruppe = 'KOPF'
- tDokument.iZeile = 1
- tDokument.cFeld = 'Adresse_' + STRING((6 + ix),'99')
- tDokument.cInhalt = BAufko.Adresse[ix].
- i1 = i1 + 1.
- VBesrKopf[i1] = BAufko.Adresse[ix].
- END.
- END.
- ELSE DO:
- DO ix = 5 TO 11:
- CREATE tDokument.
- ASSIGN tDokument.cGruppe = 'KOPF'
- tDokument.iZeile = 1
- tDokument.cFeld = 'Adresse_' + STRING(ix,'99')
- tDokument.cInhalt = Adresse.Anschrift[ix].
- VBesrKopf[ix] = Adresse.Anschrift[ix].
- END.
- END.
- CREATE tDokument.
- ASSIGN tDokument.cGruppe = 'KOPF'
- tDokument.iZeile = 1
- tDokument.cFeld = 'Ort_Datum'
- tDokument.cInhalt = TRIM(SUBSTRING(FormText[07],01,20))
- + " "
- + STRING(FDatum,"99.99.9999").
-
- CREATE tDokument.
- ASSIGN tDokument.cGruppe = 'KOPF'
- tDokument.iZeile = 1
- tDokument.cFeld = 'T_Dokument'
- tDokument.cInhalt = (IF BAufko.Auf_Tot >= 0
- THEN TRIM(SUBSTRING(FormText[02],01,20))
- ELSE TRIM(SUBSTRING(FormText[02],21,20))).
-
- CREATE tDokument.
- ASSIGN tDokument.cGruppe = 'KOPF'
- tDokument.iZeile = 1
- tDokument.cFeld = 'Aufnr'
- tDokument.cInhalt = STRING(SFaknr,'z999999').
-
- FIND FIRST tTabTexte WHERE tTabTexte.cRecArt = 'ABLAD' NO-ERROR.
- CREATE tDokument.
- ASSIGN tDokument.cGruppe = 'KOPFDETAIL'
- tDokument.iZeile = 1
- tDokument.cFeld = 'Ablade'
- tDokument.cInhalt = (IF AVAILABLE tTabTexte THEN tTabTexte.cFeld3 ELSE ' ').
-
- FIND FIRST tTabTexte WHERE tTabTexte.cRecArt = 'WISO' NO-ERROR.
- CREATE tDokument.
- ASSIGN tDokument.cGruppe = 'KOPFDETAIL'
- tDokument.iZeile = 1
- tDokument.cFeld = 'WirteSo'
- tDokument.cInhalt = (IF AVAILABLE tTabTexte THEN tTabTexte.cFeld3 ELSE ' ').
-
- CREATE tDokument.
- ASSIGN tDokument.cGruppe = 'KOPFDETAIL'
- tDokument.iZeile = 1
- tDokument.cFeld = 'Auf_Datum'
- tDokument.cInhalt = STRING(BAufko.Auf_Datum,'99.99.9999').
-
- CREATE tDokument.
- ASSIGN tDokument.cGruppe = 'KOPFDETAIL'
- tDokument.iZeile = 1
- tDokument.cFeld = 'Lief_Datum'
- tDokument.cInhalt = STRING(BAufko.Lief_Datum,'99.99.9999').
-
- CREATE tDokument.
- ASSIGN tDokument.cGruppe = 'KOPFDETAIL'
- tDokument.iZeile = 1
- tDokument.cFeld = 'U_Ref'
- tDokument.cInhalt = BAufko.U_Ref.
-
- CREATE tDokument.
- ASSIGN tDokument.cGruppe = 'KOPFDETAIL'
- tDokument.iZeile = 1
- tDokument.cFeld = 'Knr'
- tDokument.cInhalt = STRING(BAufko.Knr,'999999').
-
- CREATE tDokument.
- ASSIGN tDokument.cGruppe = 'KOPFDETAIL'
- tDokument.iZeile = 1
- tDokument.cFeld = 'Telefon'
- tDokument.cInhalt = (IF Adresse.Tel-1 <> '' THEN Adresse.Tel-1 ELSE Adresse.Tel-2).
-
- CREATE tDokument.
- ASSIGN tDokument.cGruppe = 'KOPFDETAIL'
- tDokument.iZeile = 1
- tDokument.cFeld = 'Gewicht'
- tDokument.cInhalt = TRIM(STRING(BAufko.Gewicht,'->>>,>>9.999')).
- END.
-
- RUN VIPER_ADRESSE ( xString ).
-
- IF VSeite = 1 AND
- BAufko.Abh_Text <> '' THEN DO:
- XAuf_Text = BAufko.Abh_Text.
- iVPagePos = vpr_getPageVPos() + 20.
- RUN vpr_setGroupVPos ( 'Zusatztext', iVPagePos ).
- DO i1 = 1 TO NUM-ENTRIES(XAuf_Text, CHR(10)):
- RUN vpr_setCellText ( 'Bemerkung_1', 'Zusatztext', ENTRY(i1, XAuf_Text, CHR(10)) ).
- RUN vpr_flushGroup ('Zusatztext').
- END.
- END.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LIEFERPREIS C-Win
- PROCEDURE LIEFERPREIS :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- FPreis = TRUE.
- RUN LIEFERSCHEIN.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LIEFERSCHEIN C-Win
- PROCEDURE LIEFERSCHEIN :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR cPDFName AS CHAR INIT '' NO-UNDO.
- DEF VAR xString AS CHAR NO-UNDO.
- DEF VAr lFirst AS LOG NO-UNDO.
- DEF VAR cString AS CHAR NO-UNDO.
- VSeite = 0.
- VFak_Betr = 0.
-
- RUN AUFTRAGSTOTAL ( BAufko.Aufnr, OUTPUT cString ).
-
- RUN VIPER_INIT ( 'Lieferschein' ).
- IF RETURN-VALUE = 'ERROR' THEN RETURN 'ERROR'.
- RUN vpr_SetPrinterAttrib('copies=2').
-
- RUN LIEFERSCHEIN_KOPF.
- iArtZeile = 0.
- iVPagePos = vpr_getPageVPos() + 20.
- RUN vpr_setGroupVPos ( 'ArtikelZeile1', iVPagePos ).
-
- FOR EACH tAufze NO-LOCK
- BY tAufze.Aufnr
- BY tAufze.Sort1
- BY tAufze.LagOrt
- BY tAufze.Sort2
- BY tAufze.Pos :
-
- FIND Aufze WHERE RECID(Aufze) = tAufze.Zeile NO-LOCK.
-
- RUN VIPER_ARTIKELZEILE ( RECID(tAufze) ).
- VFak_Betr = VFak_Betr + Aufze.Net_Betr.
- END.
-
- IF FPreis = TRUE THEN DO:
- iArtZeile = iArtZeile + 1.
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Bez1', '' ).
- iArtZeile = iArtZeile + 1.
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Bez1', TRIM(SUBSTRING(FormText[15],21,20)) ).
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Betrag', TRIM(STRING(VFak_Betr,'->>>,>>9.99')) ).
- END.
- iArtZeile = iArtZeile + 1.
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Bez1', ' ' ).
-
- RUN VIPER_AUSGABE_ARTIKELZEILE.
-
- /* Auftragsrabatt ---------------------------------------------------- */
- FOR EACH TRabSumm WHERE TRabSumm.Auf_Rab <> 0
- BY TRabSumm.Rab_Summ:
- Rundbetr = TRabSumm.Auf_Rab.
- VFak_Betr = VFak_Betr - Rundbetr.
- END.
- /* Abholrabatt ------------------------------------------------------- */
-
- FOR EACH TRabSumm WHERE TRabSumm.Abh_Rab <> 0
- BY TRabSumm.Rab_Summ:
- Rundbetr = TRabSumm.Abh_Rab.
- VFak_Betr = VFak_Betr - Rundbetr.
- END.
-
- /* Recycling-Gebuehren ----------------------------------------------- */
- FOR EACH AufGKon USE-INDEX AufGKon-k1
- WHERE AufGKon.Firma = BAufko.Firma
- AND AufGKon.Aufnr = BAufko.Aufnr
- AND AufGKon.Gebuehr <> 0
- AND AufGKon.Betrag <> 0 NO-LOCK:
- VWC = AufGKon.MWST_Cd.
- VFak_Betr = VFak_Betr + AufGKon.Betrag.
- WW[VWC] = WW[VWC] + AufGKon.Betrag.
- END.
- /* Gebinde Aus- und Eingänge ---------------------------------------- */
- FOR EACH AufGKon USE-INDEX AufGKon-k1
- WHERE AufGKon.Firma = BAufko.Firma
- AND AufGKon.Aufnr = BAufko.Aufnr
- AND AufGKon.Depot <> 0
- AND AufGKon.Betrag <> 0 NO-LOCK:
- FIND FIRST TGebKto WHERE TGebKto.Geb_Cd = AufGKon.Geb_Cd NO-ERROR.
- IF NOT AVAILABLE TGebKto THEN DO:
- FIND GebKonto USE-INDEX GebKonto-k1
- WHERE GebKonto.Firma = AufGKon.Firma
- AND GebKonto.Geb_Cd = AufGKon.Geb_Cd NO-LOCK.
- CREATE TGebKto.
- ASSIGN TGebKto.Sort_Cd = GebKonto.Sort_Cd
- TGebKto.Geb_Cd = GebKonto.Geb_Cd
- TGebKto.Bez = GebKonto.Bez
- TGebKto.Preis = AufGKon.Depot
- TGebKto.MWST_Cd = AufGKon.MWSt_Cd.
- END.
- TGebKto.A_Anz = TGebKto.A_Anz + AufGKon.Ausgang.
- TGebKto.A_Betrag = TGebKto.A_Anz * TGebKto.Preis.
- TGebKto.E_Anz = TGebKto.E_Anz + AufGKon.Eingang.
- TGebKto.E_Betrag = TGebKto.E_Anz * TGebKto.Preis.
- END.
-
- /* Gebindelieferungen ------------------------------------------------ */
- VZTot = 0.
- iArtZeile = 0.
- FOR EACH AufGKon USE-INDEX AufGKon-k1
- WHERE AufGKon.Firma = BAufko.Firma
- AND AufGKon.Aufnr = BAufko.Aufnr
- AND AufGKon.Depot <> 0
- AND (AufGKon.Eingang <> 0 OR
- AufGKon.Ausgang <> 0) NO-LOCK
-
- BREAK BY AufgKon.Firma
- BY AufGKon.Aufnr:
- FIND GebKonto NO-LOCK USE-INDEX GebKonto-k1
- WHERE GebKonto.Firma = GVFirma
- AND GebKonto.Geb_Cd = AufGKon.Geb_Cd.
- i1 = AufGKon.Ausgang - AufGKon.Eingang.
- Rundbetr = AufGKon.Betrag.
- VWC = AufGKon.MWSt_Cd.
- VZTot = VZTot + Rundbetr.
- iArtZeile = iArtZeile + 1.
- RUN VIPER_CREATE_DOKUMENT ( 'Gebindeabrechnung', iArtZeile, 'Gebindetext' , GebKonto.Bez ).
- RUN VIPER_CREATE_DOKUMENT ( 'Gebindeabrechnung', iArtZeile, 'GebindeGel' , TRIM(STRING(AufGKon.Ausgang,"->>,>>9")) ).
- RUN VIPER_CREATE_DOKUMENT ( 'Gebindeabrechnung', iArtZeile, 'GebindeRet' , TRIM(STRING(AufGKon.Eingang,"->>,>>9")) ).
- RUN VIPER_CREATE_DOKUMENT ( 'Gebindeabrechnung', iArtZeile, 'GebindeSaldo', TRIM(STRING(i1 ,"->>,>>9")) ).
- IF FPreis THEN
- RUN VIPER_CREATE_DOKUMENT ( 'Gebindeabrechnung', iArtZeile, 'GebindeBetr' , TRIM(STRING(Rundbetr ,"->>,>>9.99")) ).
- END.
- IF FPreis AND
- iArtZeile > 0 THEN
- RUN VIPER_CREATE_DOKUMENT ( 'Gebindeabrechnung', iArtZeile, 'GebindeTot' , TRIM(STRING(VZTot ,"->>>,>>9.99")) ).
- VFak_Betr = VFak_Betr + VZTot.
- IF iArtZeile > 0 THEN RUN VIPER_AUSGABE_GRUPPE ('Gebindeabrechnung').
-
- /* Auftragstext ------------------------------------------------------ */
- XAuf_Text = BAufko.Auf_Text.
- IF XAuf_Text <> '' THEN DO:
- iVPagePos = vpr_getPageVPos() + 20.
- RUN vpr_setGroupVPos ( 'Zusatztext', iVPagePos ).
- DO i1 = 1 TO NUM-ENTRIES(XAuf_Text, CHR(10)):
- RUN vpr_setCellText ( 'Bemerkung_1', 'Zusatztext', ENTRY(i1, XAuf_Text, CHR(10)) ).
- RUN vpr_flushGroup ('Zusatztext').
- END.
- END.
- /* ------ RUECKSTAENDE ---------------------------------------------------- */
-
- DO WHILE TRUE:
- FIND FIRST tRueckst NO-ERROR.
- IF NOT AVAILABLE tRueckst THEN LEAVE.
-
- iVPagePos = vpr_getPageVPos() + 150.
- IF iVPagePos > iVMaxPos THEN DO:
- RUN VIPER_NEUE_SEITE.
- RUN VIPER_ADRESSE ('').
- END.
- cString = 'Rückstände bitte neu bestellen'.
- iVPagePos = vpr_getPageVPos() + 50.
- RUN vpr_setGroupVPos ('Rueckstand', iVPagePos ).
- RUN vpr_setCellText ('RueckTitel', 'Rueckstand', cString ).
- RUN vpr_flushGroup ('Rueckstand').
- iArtZeile = 1.
- FOR EACH tRueckst:
- RUN VIPER_RUECKSTAND ( RECID(tRueckst) ).
- END.
- RUN VIPER_AUSGABE_ARTIKELZEILE.
- LEAVE.
- END.
-
- /* Gebinderücknahmetabelle ------------------------------------------- */
- iVPagePos = vpr_getPageVPos().
- iVGroupPos = vpr_getGroupVPos('Gebindetabelle').
- IF iVPagePos < iVGroupPos THEN RUN vpr_flushGroup('Gebindetabelle').
- ELSE DO:
- RUN VIPER_NEUE_SEITE.
- RUN VIPER_ADRESSE ('').
- RUN vpr_flushGroup('Gebindetabelle').
- END.
- RUN KOPF_MUTATION.
-
- /* ------------------------------------------------------ */
- /* Druckausgabe */
- /* ------------------------------------------------------ */
-
- RUN vpr_EndDoc.
-
- IF SESSION:PRINTER-NAME <> F_Drucker THEN DO:
- RUN vpr_printerDialog ( OUTPUT ja ).
- IF NOT ja THEN RETURN.
- END.
- ELSE DO:
- RUN vpr_selectPrinter(SESSION:PRINTER-NAME).
- END.
-
- DO ix = 1 TO F_Kopie:
- RUN vpr_printDoc (0, 0).
- end.
-
- cvpr_Dokument = SUBSTITUTE('Lieferscheine\&1-&2_&3',
- STRING(BAufko.Knr ,'999999'),
- STRING(BAufko.Aufnr,'999999'),
- cvpr_Dokument).
- cPDFName = REPLACE(cvpr_Dokument, '.vpr', '.pdf').
-
- RUN vpr_SetPrinterAttrib('copies=1').
- RUN vpr_printPDF (0, 0, INPUT-OUTPUT cPDFName ).
- RUN vpr_SaveDoc ( cvpr_Dokument ).
-
- /*
- RUN vpr_ShowDoc.
- RUN vpr_showPreview.
- DEF VAR o-i AS i NO-UNDO.
- RUN shellExecuteA (0,
- "open",
- cPDFName,
- "",
- "",
- 0,
- OUTPUT o-i).
- */
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LIEFERSCHEIN_KOPF C-Win
- PROCEDURE LIEFERSCHEIN_KOPF :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR kk AS INT NO-UNDO.
- DEF VAR xString AS CHAR NO-UNDO.
- RUN VIPER_NEUE_SEITE.
- IF VSeite = 1 THEN DO:
- SFaknr = BAufko.Aufnr.
-
- FIND Adresse USE-INDEX Adresse-k1
- WHERE Adresse.Firma = AdFirma
- AND Adresse.Knr = BAufko.Knr NO-LOCK NO-ERROR.
- FIND LDebst USE-INDEX Debst-k1
- WHERE LDebst.Firma = GVFirma
- AND LDebst.Knr = BAufko.Knr NO-LOCK NO-ERROR.
- FIND FDebst USE-INDEX Debst-k1
- WHERE FDebst.Firma = GVFirma
- AND FDebst.Knr = BAufko.Fak_Knr NO-LOCK NO-ERROR.
- FIND Wust USE-INDEX Wust-k1
- WHERE Wust.CodeK = LDebst.MWST
- AND Wust.CodeA = 99 NO-LOCK NO-ERROR.
- LVSprcd = Adresse.Sprcd.
- DebInkl = FALSE.
- IF AVAILABLE Wust THEN DebInkl = Wust.Incl.
-
- IF BAufko.Adresse[05] <> '' THEN DO:
- DO ix = 1 TO 5:
- CREATE tDokument.
- ASSIGN tDokument.cGruppe = 'KOPF'
- tDokument.iZeile = 1
- tDokument.cFeld = 'Adresse_' + STRING((6 + ix),'99')
- tDokument.cInhalt = BAufko.Adresse[ix].
- END.
- END.
- ELSE DO:
- DO ix = 5 TO 11:
- CREATE tDokument.
- ASSIGN tDokument.cGruppe = 'KOPF'
- tDokument.iZeile = 1
- tDokument.cFeld = 'Adresse_' + STRING(ix,'99')
- tDokument.cInhalt = Adresse.Anschrift[ix].
- END.
- END.
- CREATE tDokument.
- ASSIGN tDokument.cGruppe = 'KOPF'
- tDokument.iZeile = 1
- tDokument.cFeld = 'Ort_Datum'
- tDokument.cInhalt = TRIM(SUBSTRING(FormText[07],01,20))
- + " "
- + STRING(FDatum,"99.99.9999").
-
- CREATE tDokument.
- ASSIGN tDokument.cGruppe = 'KOPF'
- tDokument.iZeile = 1
- tDokument.cFeld = 'T_Dokument'
- tDokument.cInhalt = (IF BAufko.Auf_Tot >= 0
- THEN TRIM(SUBSTRING(FormText[02],01,20))
- ELSE TRIM(SUBSTRING(FormText[02],21,20))).
-
- CREATE tDokument.
- ASSIGN tDokument.cGruppe = 'KOPF'
- tDokument.iZeile = 1
- tDokument.cFeld = 'Aufnr'
- tDokument.cInhalt = STRING(SFaknr,'z999999').
-
- FIND FIRST tTabTexte WHERE tTabTexte.cRecArt = 'ABLAD' NO-ERROR.
- CREATE tDokument.
- ASSIGN tDokument.cGruppe = 'KOPFDETAIL'
- tDokument.iZeile = 1
- tDokument.cFeld = 'Ablade'
- tDokument.cInhalt = (IF AVAILABLE tTabTexte THEN tTabTexte.cFeld3 ELSE ' ').
-
- FIND FIRST tTabTexte WHERE tTabTexte.cRecArt = 'WISO' NO-ERROR.
- CREATE tDokument.
- ASSIGN tDokument.cGruppe = 'KOPFDETAIL'
- tDokument.iZeile = 1
- tDokument.cFeld = 'WirteSo'
- tDokument.cInhalt = (IF AVAILABLE tTabTexte THEN tTabTexte.cFeld3 ELSE ' ').
-
- CREATE tDokument.
- ASSIGN tDokument.cGruppe = 'KOPFDETAIL'
- tDokument.iZeile = 1
- tDokument.cFeld = 'Auf_Datum'
- tDokument.cInhalt = STRING(BAufko.Auf_Datum,'99.99.9999').
-
- CREATE tDokument.
- ASSIGN tDokument.cGruppe = 'KOPFDETAIL'
- tDokument.iZeile = 1
- tDokument.cFeld = 'Lief_Datum'
- tDokument.cInhalt = STRING(BAufko.Lief_Datum,'99.99.9999').
-
- CREATE tDokument.
- ASSIGN tDokument.cGruppe = 'KOPFDETAIL'
- tDokument.iZeile = 1
- tDokument.cFeld = 'U_Ref'
- tDokument.cInhalt = BAufko.U_Ref.
-
- CREATE tDokument.
- ASSIGN tDokument.cGruppe = 'KOPFDETAIL'
- tDokument.iZeile = 1
- tDokument.cFeld = 'Knr'
- tDokument.cInhalt = STRING(BAufko.Knr,'999999').
-
- CREATE tDokument.
- ASSIGN tDokument.cGruppe = 'KOPFDETAIL'
- tDokument.iZeile = 1
- tDokument.cFeld = 'Telefon'
- tDokument.cInhalt = (IF Adresse.Tel-1 <> '' THEN Adresse.Tel-1 ELSE Adresse.Tel-2).
-
- CREATE tDokument.
- ASSIGN tDokument.cGruppe = 'KOPFDETAIL'
- tDokument.iZeile = 1
- tDokument.cFeld = 'Gewicht'
- tDokument.cInhalt = TRIM(STRING(BAufko.Gewicht,'->>>,>>9.999')).
- END.
-
- RUN VIPER_ADRESSE ( xString ).
-
- IF VSeite = 1 AND
- BAufko.Abh_Text <> '' THEN DO:
- XAuf_Text = BAufko.Abh_Text.
- iVPagePos = vpr_getPageVPos() + 20.
- RUN vpr_setGroupVPos ( 'Zusatztext', iVPagePos ).
- DO i1 = 1 TO NUM-ENTRIES(XAuf_Text, CHR(10)):
- RUN vpr_setCellText ( 'Bemerkung_1', 'Zusatztext', ENTRY(i1, XAuf_Text, CHR(10)) ).
- RUN vpr_flushGroup ('Zusatztext').
- END.
- END.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE NEUE_SEITE C-Win
- PROCEDURE NEUE_SEITE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR A AS INT NO-UNDO.
- DEF VAR B AS INT NO-UNDO.
-
- IF VSeite = 0 THEN DO:
- EMPTY TEMP-TABLE tDokument.
- END.
- DO WHILE VSeite > 0:
- IF DOpen THEN DO:
- PUT STREAM Out_Stream CONTROL CHR(12).
- LEAVE.
- END.
-
- A = BLiDruck.Listtzz.
- DO B = VLine TO A:
- VZNr = VZNr + 1.
- CREATE XTermOut.
- ASSIGN XTermOut.ZNr = VZNr
- XTermOut.Zeile = ''.
- END.
-
- LEAVE.
- END.
-
- VLine = 0.
- VSeite = VSeite + 1.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE PRUEFZIFFER C-Win
- PROCEDURE PRUEFZIFFER :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- /* ------------------------------------------------------------------------- */
- /* Prufziffer MODULO 10, Rekursiv (27 Stellig Ref.-Nr.) */
- /* ------------------------------------------------------------------------- */
- /* */
- /* Uebergabe Variable: 1. String Betrag (12-stellig) */
- /* 2. String Referenz (27-stellig) */
- /* 3. String Teilnehmernummer ( 9-stellig) */
- /* */
- /* Erstellung der VESR-Codierzeile */
- /* */
- /*---------------------------------------------------------------------------*/
- DEF INPUT-OUTPUT PARAMETER PZBetrag AS CHAR FORMAT "x(13)".
- DEF INPUT-OUTPUT PARAMETER PZReferenz AS CHAR FORMAT "x(27)".
- DEF INPUT-OUTPUT PARAMETER PZTNummer AS CHAR FORMAT "x(09)".
- DEF OUTPUT PARAMETER VSZeile AS CHAR FORMAT "x(58)".
-
- DEF VAR l1 AS INT.
- DEF VAR l2 AS INT.
- DEF VAR l3 AS INT.
- DEF VAR PZ AS INT.
- DEF VAR x1 AS INT.
- DEF VAR x2 AS INT.
- DEF VAR x3 AS INT.
- DEF VAR VMOD10 AS CHAR FORMAT "x(11)" EXTENT 11.
- VMOD10[01] = "09468271350".
- VMOD10[02] = "94682713509".
- VMOD10[03] = "46827135098".
- VMOD10[04] = "68271350947".
- VMOD10[05] = "82713509466".
- VMOD10[06] = "27135094685".
- VMOD10[07] = "71350946824".
- VMOD10[08] = "13509468273".
- VMOD10[09] = "35094682712".
- VMOD10[10] = "50946827131".
- l1 = 12.
- l2 = 26.
- l3 = 08.
- DO WHILE SUBSTRING(PZBetrag,01,01) <> " ": /* Mit Betrag */
- x2 = 1.
- x1 = INT(SUBSTRING(PZBetrag ,01 ,01)).
- x2 = INT(SUBSTRING(VMOD10[x2],x1 + 1,01)).
- DO x3 = 2 TO 12:
- x1 = INT(SUBSTRING(PZBetrag ,x3 ,01)).
- x2 = INT(SUBSTRING(VMOD10[x2 + 1],x1 + 1,01)).
- END.
- PZ = INT(SUBSTRING(VMOD10[x2 + 1],11,1)).
- SUBSTRING(PZBetrag,13) = STRING(PZ,"9").
- LEAVE.
- END.
- DO WHILE SUBSTRING(PZBetrag,01,01) = " ": /* Ohne Betrag */
- x2 = 11.
- x1 = INT(SUBSTRING(PZBetrag ,01 ,01)).
- x2 = INT(SUBSTRING(VMOD10[x2],x1 + 1,01)).
- DO x3 = 12 TO 12:
- x1 = INT(SUBSTRING(PZBetrag ,x3 ,01)).
- x2 = INT(SUBSTRING(VMOD10[x2 + 1],x1 + 1,01)).
- END.
- PZ = INT(SUBSTRING(VMOD10[x2 + 1],11,1)).
- SUBSTRING(PZBetrag,13) = STRING(PZ,"9").
- LEAVE.
- END.
- DO WHILE l2 = 26:
- x2 = 1.
- x1 = INT(SUBSTRING(PZReferenz,01 ,01)).
- x2 = INT(SUBSTRING(VMOD10[x2],x1 + 1,01)).
- DO x3 = 2 TO 26:
- x1 = INT(SUBSTRING(PZReferenz ,x3 ,01)).
- x2 = INT(SUBSTRING(VMOD10[x2 + 1],x1 + 1,01)).
- END.
- PZ = INT(SUBSTRING(VMOD10[x2 + 1],11,1)).
- SUBSTRING(PZReferenz,27) = STRING(PZ,"9").
- LEAVE.
- END.
- DO WHILE l3 = 08:
- x2 = 1.
- x1 = INT(SUBSTRING(PZTNummer ,01 ,01)).
- x2 = INT(SUBSTRING(VMOD10[x2],x1 + 1,01)).
- DO x3 = 2 TO 08:
- x1 = INT(SUBSTRING(PZTNummer ,x3 ,01)).
- x2 = INT(SUBSTRING(VMOD10[x2 + 1],x1 + 1,01)).
- END.
- PZ = INT(SUBSTRING(VMOD10[x2 + 1],11,1)).
- SUBSTRING(PZTNummer,09) = STRING(PZ,"9").
- LEAVE.
- END.
- VSZeile = "".
- SUBSTRING(VSZeile,01) = PZBetrag.
- SUBSTRING(VSZeile,14) = ">".
- SUBSTRING(VSZeile,15) = PZReferenz.
- SUBSTRING(VSZeile,42) = "+ ".
- SUBSTRING(VSZeile,44) = PZTNummer.
- SUBSTRING(VSZeile,53) = ">".
- SUBSTRING(VSZeile,58) = "H".
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE RUEST C-Win
- PROCEDURE RUEST :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- VSeite = 0.
- VFak_Betr = 0.
- FPreis = FALSE.
- lRuestText = FALSE.
-
- FOR EACH tAufze NO-LOCK
- BREAK BY tAufze.Aufnr
- BY tAufze.Sort1
- BY tAufze.Sort2
- BY tAufze.Sort3
- BY tAufze.Pos :
-
- IF FIRST-OF ( tAufze.Sort1 ) THEN DO:
- /*
- TiDruck = TRUE.
- */
- END.
-
- IF (BLiDruck.Listtzz - VLine - 2) < BLiDruck.Listfzz OR
- TiDruck THEN DO:
- RUN RUEST_KOPF ( tAufze.Aufnr, tAufze.Sort1 ).
- END.
-
- IF FIRST-OF ( tAufze.Sort1 ) AND
- NOT tAufze.Sort1 BEGINS 'aa' THEN DO:
- VZeile = ''.
- { v8/putstream.i "1" }
- VZeile = FILL('=', 95).
- CASE tAufze.Sort1:
- WHEN 'za' THEN SUBSTRING(VZeile,30) = ' OBERGESCHOSS '.
- WHEN 'zb' THEN SUBSTRING(VZeile,30) = ' ERDGESCHOSS '.
- WHEN 'zc' THEN SUBSTRING(VZeile,30) = ' UNTERGESCHOSS '.
- WHEN 'zz' THEN SUBSTRING(VZeile,30) = ' SPIRITUOSEN '.
- END.
- { v8/putstream.i "2" }
- END.
- FIND Aufze WHERE RECID(Aufze) = tAufze.Zeile NO-LOCK.
- RUN ARTIKELZEILE_RUEST ( RECID(tAufze) ).
- VFak_Betr = VFak_Betr + Aufze.Net_Betr.
- /*
- IF LAST-OF ( tAufze.Sort1) THEN DO:
- IF tAufze.Sort1 BEGINS 'aa' THEN lRuesttext = TRUE.
- IF NOT LAST-OF ( tAufze.Aufnr ) AND
- NOT lRuesttext THEN DO:
- VZeile = ''.
- { v8/putstream.i "1" }
- VZeile = FILL('=', 95).
- { v8/putstream.i "2" }
- END.
- END.
- */
- END.
- { v8/putstream.i "1" }
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE RUESTSCHEIN C-Win
- PROCEDURE RUESTSCHEIN :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- RUN AUFTRAGSSCHEIN.
- DEF VAR cStockwerk AS CHAR INIT ';;;;;;;;;'.
- VSeite = 0.
- VFak_Betr = 0.
- FPreis = FALSE.
- lRuestText = FALSE.
-
- FOR EACH tAufze NO-LOCK
- BREAK BY tAufze.Aufnr
- BY tAufze.Sort1
- BY tAufze.Sort2
- BY tAufze.Sort3
- BY tAufze.Pos :
-
- IF FIRST-OF ( tAufze.Sort1 ) AND
- NOT tAufze.Sort1 BEGINS 'aa' AND
- NOT lRuestText THEN DO:
- TiDruck = TRUE.
- lRuestText = FALSE.
- END.
-
- IF (BLiDruck.Listtzz - VLine - 2) < BLiDruck.Listfzz OR
- TiDruck THEN DO:
- RUN RUESTSCHEIN_KOPF ( tAufze.Aufnr, tAufze.Sort1 ).
- END.
-
- IF FIRST-OF ( tAufze.Sort1 ) AND
- NOT tAufze.Sort1 BEGINS 'aa' THEN DO:
- VZeile = ''.
- { v8/putstream.i "1" }
- VZeile = FILL('=', 95).
- CASE tAufze.Sort1:
- WHEN 'za' THEN SUBSTRING(VZeile,30) = ' OBERGESCHOSS '.
- WHEN 'zb' THEN SUBSTRING(VZeile,30) = ' ERDGESCHOSS '.
- WHEN 'zc' THEN SUBSTRING(VZeile,30) = ' UNTERGESCHOSS '.
- WHEN 'zz' THEN SUBSTRING(VZeile,30) = ' SPIRITUOSEN '.
- END.
- CASE tAufze.Sort1:
- WHEN 'za' THEN ENTRY(1, cStockwerk, ';') = 'X'.
- WHEN 'zb' THEN ENTRY(2, cStockwerk, ';') = 'X'.
- WHEN 'zc' THEN ENTRY(3, cStockwerk, ';') = 'X'.
- WHEN 'zz' THEN ENTRY(4, cStockwerk, ';') = 'X'.
- END.
- { v8/putstream.i "2" }
- END.
- FIND Aufze WHERE RECID(Aufze) = tAufze.Zeile NO-LOCK.
- RUN ARTIKELZEILE_RUESTSCHEIN( RECID(tAufze) ).
- VFak_Betr = VFak_Betr + Aufze.Net_Betr.
-
- IF LAST-OF ( tAufze.Sort1) THEN DO:
- IF tAufze.Sort1 BEGINS 'aa' THEN lRuesttext = TRUE.
- ELSE lRuesttext = FALSE.
- IF NOT LAST-OF ( tAufze.Aufnr ) AND
- NOT lRuesttext THEN DO:
- VZeile = ''.
- { v8/putstream.i "1" }
- VZeile = FILL('=', 95).
- { v8/putstream.i "2" }
- END.
- END.
- END.
- { v8/putstream.i "1" }
-
- REPEAT TRANSACTION:
- FIND Tabel USE-INDEX Tabel-k1
- WHERE Tabel.Firma = GVFirma
- AND Tabel.RecArt = 'GERUEST'
- AND Tabel.CodeI = BAufko.Aufnr
- AND Tabel.CodeC = ''
- AND Tabel.Sprcd = 1 NO-ERROR.
- IF NOT AVAILABLE Tabel THEN DO:
- CREATE Tabel.
- ASSIGN Tabel.Firma = GVFirma
- Tabel.RecArt = 'GERUEST'
- Tabel.CodeI = BAufko.Aufnr
- Tabel.CodeC = ''
- Tabel.Sprcd = 1 NO-ERROR.
- END.
- ASSIGN Tabel.Bez1 = cStockwerk.
- IF Tabel.Bez2 = '' THEN Tabel.Bez2 = ';;;;;;;;;'.
- RELEASE Tabel.
- LEAVE.
- END.
- /*
- RUN KOPF_MUTATION.
- */
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE RUESTSCHEIN_KOPF C-Win
- PROCEDURE RUESTSCHEIN_KOPF :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF INPUT PARAMETER ipAufnr AS INT NO-UNDO.
- DEF INPUT PARAMETER ipStock AS CHAR NO-UNDO.
-
- DEF VAR cAufnr AS CHAR NO-UNDO.
- DEF VAR oBarCode AS CHAR NO-UNDO.
-
- DEF BUFFER btAufze FOR tAufze.
-
- /*
- DEF VAR cCodeArt AS CHAR INIT 'P0205075' NO-UNDO.
- */
- /* P = Portrait */
- /* L = Landscape */
- DEF VAR cCodeArt AS CHAR INIT 'P0210200' NO-UNDO.
- RUN NEUE_SEITE.
- TiDruck = FALSE.
- IF ipStock BEGINS 'aa' THEN DO:
- FIND FIRST btAufze NO-LOCK
- WHERE btAufze.Aufnr = ipAufnr
- AND btAufze.Sort1 BEGINS 'z' NO-ERROR.
- IF AVAILABLE btAufze THEN ipStock = btAufze.Sort1.
- END.
- PUT STREAM Out_Stream CONTROL BDrucker.Dru15cpi.
- PUT STREAM Out_Stream CONTROL CHR(27) '&k2G'.
-
- CASE ipStock:
- WHEN 'za' THEN cAufnr = STRING(BAufko.Aufnr,'9999999')
- + '/'
- + '1'.
- WHEN 'zb' THEN cAufnr = STRING(BAufko.Aufnr,'9999999')
- + '/'
- + '2'.
- WHEN 'zc' THEN cAufnr = STRING(BAufko.Aufnr,'9999999')
- + '/'
- + '3'.
- WHEN 'zz' THEN cAufnr = STRING(BAufko.Aufnr,'9999999')
- + '/'
- + '4'.
- END CASE.
-
- RUN BAR-CODE-39 ( INPUT cAufnr ,
- INPUT cCodeArt,
- OUTPUT oBarCode ).
- oBarCode = CHR(027) + "*p" + "100y" + "100X" + oBarCode
- + CHR(027) + "*p" + "405y" + "260X"
- + BDrucker.Drufettb + BDrucker.Dru10cpi + BDrucker.Drufettb
- + cAufnr
- + BDrucker.Drufette + BDrucker.Dru15cpi + BDrucker.Drufette
- + CHR(027) + "*p" + "0y" + "0X".
- PUT STREAM Out_Stream CONTROL oBarCode.
-
- IF VSeite = 1 THEN DO:
- FIND Adresse USE-INDEX Adresse-k1
- WHERE Adresse.Firma = AdFirma
- AND Adresse.Knr = BAufko.Knr NO-LOCK NO-ERROR.
- FIND LDebst USE-INDEX Debst-k1
- WHERE LDebst.Firma = GVFirma
- AND LDebst.Knr = BAufko.Knr NO-LOCK NO-ERROR.
- FIND FDebst USE-INDEX Debst-k1
- WHERE FDebst.Firma = GVFirma
- AND FDebst.Knr = BAufko.Fak_Knr NO-LOCK NO-ERROR.
- FIND Wust USE-INDEX Wust-k1
- WHERE Wust.CodeK = LDebst.MWST
- AND Wust.CodeA = 99 NO-LOCK NO-ERROR.
- LVSprcd = Adresse.Sprcd.
- DebInkl = FALSE.
- IF AVAILABLE Wust THEN DebInkl = Wust.Incl.
- END.
- VZeile = ''.
- { v8/putstream.i BLiDruck.Listkzz }.
- IF BAufko.Adresse[05] <> '' THEN DO:
- DO ix = 1 TO 5:
- SUBSTRING(VZeile,050) = BAufko.Adresse[ix].
- IF ix = 5 THEN DO: { v8/putstreamf.i "1" }. END.
- ELSE DO: { v8/putstream.i "1" }. END.
- END.
- { v8/putstream.i "2" }
- END.
- ELSE DO:
- DO ix = 6 TO 12:
- SUBSTRING(VZeile,050) = Adresse.Anschrift[ix].
- IF ix = 11 THEN DO: { v8/putstreamf.i "1" }. END.
- ELSE DO: { v8/putstream.i "1" }. END.
- END.
- END.
- IF BAufko.Auf_Tot >= 0
- THEN SUBSTRING(VZeile,001) = SUBSTRING(FormText[02],01,20).
- ELSE SUBSTRING(VZeile,001) = SUBSTRING(FormText[02],21,20).
- SUBSTRING(VZeile,050) = TRIM(SUBSTRING(FormText[07],01,20))
- + " "
- + STRING(FDatum,"99.99.9999").
- { v8/putstream.i "2" }
-
- IF VSeite = 1 THEN DO:
- RUN ABLADEVORSCHRIFT.
- SUBSTRING(VZeile,008) = XAblade.
- SUBSTRING(VZeile,066) = TRIM(SUBSTRING(FormText[08],21,20))
- + STRING(BAufko.Gewicht,"zz,zz9.999-").
- VZeile = TRIM(BDrucker.Drufettb)
- + SUBSTRING(VZeile,001,65)
- + TRIM(BDrucker.Drufette)
- + SUBSTRING(VZeile,066).
- { v8/putstream.i "1" }
-
- SUBSTRING(VZeile,008) = TRIM(SUBSTRING(FormText[07],41,20))
- + " "
- + STRING(BAufko.Auf_Datum,"99.99.9999").
- SUBSTRING(VZeile,038) = TRIM(SUBSTRING(FormText[08],01,20))
- + STRING(BAufko.Knr,"z999999").
- SUBSTRING(VZeile,066) = TRIM(SUBSTRING(FormText[08],41,20))
- + " "
- + Adresse.Tel-1.
- { v8/putstream.i "1" }
-
- SUBSTRING(VZeile,008) = TRIM(SUBSTRING(FormText[09],21,20))
- + " "
- + STRING(BAufko.Lief_Datum,"99.99.9999").
- SUBSTRING(VZeile,038) = TRIM(SUBSTRING(FormText[09],01,20))
- + " ". /* Lieferart */
- { v8/putstream.i "1" }
- SUBSTRING(VZeile,008) = TRIM(SUBSTRING(FormText[07],21,20))
- + " "
- + STRING(BAufko.U_Ref,'x(20)').
- { v8/putstream.i "2" }
- END.
- SUBSTRING(VZeile,001) = TRIM(SUBSTRING(FormText[03],01,70)).
- SUBSTRING(VZeile,071) = TRIM(SUBSTRING(FormText[04],01,70)).
- { v8/putstreamf.i "2" }
- IF VSeite = 1 AND
- BAufko.Abh_Text <> '' THEN DO:
- XAuf_Text = BAufko.Abh_Text.
- i2 = 0.
- DO i1 = 1 TO NUM-ENTRIES(XAuf_Text, CHR(10)):
- SUBSTRING(VZeile,008) = ENTRY(i1, XAuf_Text, CHR(10)).
- { v8/putstreamf.i "1" }
- i2 = i2 + 1.
- END.
- IF i2 > 0 THEN DO:
- { v8/putstream.i "1" }
- END.
- END.
-
- DO WHILE VSeite > 1:
- { v8/putstream.i "1" }
- LEAVE.
- END.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE RUEST_KOPF C-Win
- PROCEDURE RUEST_KOPF :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF INPUT PARAMETER ipAufnr AS INT NO-UNDO.
- DEF INPUT PARAMETER ipStock AS CHAR NO-UNDO.
-
- DEF VAR cAufnr AS CHAR NO-UNDO.
- DEF VAR oBarCode AS CHAR NO-UNDO.
-
- DEF BUFFER btAufze FOR tAufze.
-
- /*
- DEF VAR cCodeArt AS CHAR INIT 'P0205075' NO-UNDO.
- */
- /* P = Portrait */
- /* L = Landscape */
- DEF VAR cCodeArt AS CHAR INIT 'P0210150' NO-UNDO.
- RUN NEUE_SEITE.
- TiDruck = FALSE.
- IF ipStock BEGINS 'aa' THEN DO:
- FIND FIRST btAufze NO-LOCK
- WHERE btAufze.Aufnr = ipAufnr
- AND btAufze.Sort1 BEGINS 'z' NO-ERROR.
- IF AVAILABLE btAufze THEN ipStock = btAufze.Sort1.
- END.
- PUT STREAM Out_Stream CONTROL BDrucker.Dru15cpi.
- PUT STREAM Out_Stream CONTROL CHR(27) '&k2G'.
-
- CASE ipStock:
- WHEN 'za' THEN cAufnr = STRING(BAufko.Aufnr,'9999999')
- + '/'
- + '1'.
- WHEN 'zb' THEN cAufnr = STRING(BAufko.Aufnr,'9999999')
- + '/'
- + '2'.
- WHEN 'zc' THEN cAufnr = STRING(BAufko.Aufnr,'9999999')
- + '/'
- + '3'.
- WHEN 'zz' THEN cAufnr = STRING(BAufko.Aufnr,'9999999')
- + '/'
- + '4'.
- END CASE.
-
- cAufnr = (IF NUM-ENTRIES(cAufnr, '/') > 1 THEN ENTRY(1, cAufnr, '/') ELSE cAufnr).
- RUN BAR-CODE-39 ( INPUT cAufnr ,
- INPUT cCodeArt,
- OUTPUT oBarCode ).
- oBarCode = CHR(027) + "*p" + "100y" + "100X" + oBarCode
- + CHR(027) + "*p" + "405y" + "260X"
- + BDrucker.Drufettb + BDrucker.Dru10cpi + BDrucker.Drufettb
- + cAufnr
- + BDrucker.Drufette + BDrucker.Dru15cpi + BDrucker.Drufette
- + CHR(027) + "*p" + "0y" + "0X".
- PUT STREAM Out_Stream CONTROL oBarCode.
-
- IF VSeite = 1 THEN DO:
- FIND Adresse USE-INDEX Adresse-k1
- WHERE Adresse.Firma = AdFirma
- AND Adresse.Knr = BAufko.Knr NO-LOCK NO-ERROR.
- FIND LDebst USE-INDEX Debst-k1
- WHERE LDebst.Firma = GVFirma
- AND LDebst.Knr = BAufko.Knr NO-LOCK NO-ERROR.
- FIND FDebst USE-INDEX Debst-k1
- WHERE FDebst.Firma = GVFirma
- AND FDebst.Knr = BAufko.Fak_Knr NO-LOCK NO-ERROR.
- FIND Wust USE-INDEX Wust-k1
- WHERE Wust.CodeK = LDebst.MWST
- AND Wust.CodeA = 99 NO-LOCK NO-ERROR.
- LVSprcd = Adresse.Sprcd.
- DebInkl = FALSE.
- IF AVAILABLE Wust THEN DebInkl = Wust.Incl.
- END.
- VZeile = ''.
- { v8/putstream.i BLiDruck.Listkzz }.
- IF BAufko.Adresse[05] <> '' THEN DO:
- DO ix = 1 TO 5:
- SUBSTRING(VZeile,050) = BAufko.Adresse[ix].
- IF ix = 5 THEN DO: { v8/putstreamf.i "1" }. END.
- ELSE DO: { v8/putstream.i "1" }. END.
- END.
- { v8/putstream.i "2" }
- END.
- ELSE DO:
- DO ix = 6 TO 12:
- SUBSTRING(VZeile,050) = Adresse.Anschrift[ix].
- IF ix = 11 THEN DO: { v8/putstreamf.i "1" }. END.
- ELSE DO: { v8/putstream.i "1" }. END.
- END.
- END.
- IF BAufko.Auf_Tot >= 0
- THEN SUBSTRING(VZeile,001) = SUBSTRING(FormText[02],01,20).
- ELSE SUBSTRING(VZeile,001) = SUBSTRING(FormText[02],21,20).
- SUBSTRING(VZeile,030) = STRING(BAufko.Aufnr,"999999")
- + " "
- + STRING(VSeite,"zz9").
- SUBSTRING(VZeile,050) = TRIM(SUBSTRING(FormText[07],01,20))
- + " "
- + STRING(FDatum,"99.99.9999").
- VZeile = TRIM(BDrucker.Drufettb)
- + SUBSTRING(VZeile,01,49)
- + TRIM(BDrucker.Drufette)
- + SUBSTRING(VZeile,50).
- { v8/putstream.i "2" }
-
- IF VSeite = 1 THEN DO:
- RUN ABLADEVORSCHRIFT.
- SUBSTRING(VZeile,008) = XAblade.
- SUBSTRING(VZeile,066) = TRIM(SUBSTRING(FormText[08],21,20))
- + STRING(BAufko.Gewicht,"zz,zz9.999-").
- VZeile = TRIM(BDrucker.Drufettb)
- + SUBSTRING(VZeile,001,65)
- + TRIM(BDrucker.Drufette)
- + SUBSTRING(VZeile,066).
- { v8/putstream.i "1" }
-
- SUBSTRING(VZeile,008) = TRIM(SUBSTRING(FormText[07],41,20))
- + " "
- + STRING(BAufko.Auf_Datum,"99.99.9999").
- SUBSTRING(VZeile,038) = TRIM(SUBSTRING(FormText[08],01,20))
- + STRING(BAufko.Knr,"z999999").
- SUBSTRING(VZeile,066) = TRIM(SUBSTRING(FormText[08],41,20))
- + " "
- + Adresse.Tel-1.
- { v8/putstream.i "1" }
-
- SUBSTRING(VZeile,008) = TRIM(SUBSTRING(FormText[09],21,20))
- + " "
- + STRING(BAufko.Lief_Datum,"99.99.9999").
- SUBSTRING(VZeile,038) = TRIM(SUBSTRING(FormText[09],01,20))
- + " ". /* Lieferart */
- { v8/putstream.i "1" }
- SUBSTRING(VZeile,008) = TRIM(SUBSTRING(FormText[07],21,20))
- + " "
- + STRING(BAufko.U_Ref,'x(20)').
- { v8/putstream.i "2" }
- END.
- SUBSTRING(VZeile,001) = TRIM(SUBSTRING(FormText[03],01,70)).
- SUBSTRING(VZeile,071) = TRIM(SUBSTRING(FormText[04],01,70)).
- { v8/putstreamf.i "2" }
- IF VSeite = 1 AND
- BAufko.Abh_Text <> '' THEN DO:
- XAuf_Text = BAufko.Abh_Text.
- i2 = 0.
- DO i1 = 1 TO NUM-ENTRIES(XAuf_Text, CHR(10)):
- SUBSTRING(VZeile,008) = ENTRY(i1, XAuf_Text, CHR(10)).
- { v8/putstreamf.i "1" }
- i2 = i2 + 1.
- END.
- IF i2 > 0 THEN DO:
- { v8/putstream.i "1" }
- END.
- END.
-
- DO WHILE VSeite > 1:
- { v8/putstream.i "5" }
- LEAVE.
- END.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SAMMELSUCHEN C-Win
- PROCEDURE SAMMELSUCHEN :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- FIND FIRST SAMMFAK WHERE SAMMFAK.Knr = BAufko.Fak_Knr
- AND SAMMFAK.Samm_Nr = BAufko.Samm_Nr NO-ERROR.
- IF AVAILABLE SAMMFAK THEN RETURN.
- FOR EACH Aufko USE-INDEX Aufko-k5
- WHERE Aufko.Firma = BAufko.Firma
- AND Aufko.Fak_Art = BAufko.Fak_Art
- AND Aufko.Samm_Nr = BAufko.Samm_Nr :
- IF Aufko.Auf_Sta < 4 THEN DO:
- Aufko.Faknr = 0.
- NEXT.
- END.
-
- CREATE SAMMFAK.
- ASSIGN SAMMFAK.Knr = Aufko.Fak_Knr
- SAMMFAK.Aufnr = Aufko.Aufnr
- SAMMFAK.Samm_Nr = Aufko.Samm_Nr
- SAMMFAK.RID = RECID(Aufko).
- END.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SAMMFAK C-Win
- PROCEDURE SAMMFAK :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR xString AS CHAR NO-UNDO.
- DEF VAR lFirst AS LOG NO-UNDO.
- DEF VAR cLAdresse AS CHAR NO-UNDO.
- DEF VAR RText AS CHAR NO-UNDO.
- DEF VAR WText AS CHAR NO-UNDO.
- VFak_Betr = 0.
- FPreis = TRUE.
-
- IF VSeite = 0 THEN RUN VIPER_INIT ( 'SammFak' ).
-
- RUN SAMMFAK_KOPF.
- iVPagePos = vpr_getPageVPos() + 20.
- RUN vpr_setGroupVPos ( 'FetteZeile', iVPagePos ).
-
- iArtZeile = 1.
- RUN VIPER_CREATE_DOKUMENT ( 'FetteZeile', iArtZeile, 'Bez_1_Fett', TRIM(SUBSTRING(FormText[18],01,20)) ).
- RUN VIPER_CREATE_DOKUMENT ( 'FetteZeile', iArtZeile, 'Bez_2_Fett', TRIM(STRING(BAufko.Aufnr,"zzzzzzzzz9")) ).
- iArtZeile = iArtZeile + 1.
- RUN VIPER_CREATE_DOKUMENT ( 'FetteZeile', iArtZeile, 'Bez_1_Fett', TRIM(SUBSTRING(FormText[17],21,20)) ).
- RUN VIPER_CREATE_DOKUMENT ( 'FetteZeile', iArtZeile, 'Bez_2_Fett', TRIM(STRING(BAufko.Auf_Datum,"99.99.9999")) ).
- iArtZeile = iArtZeile + 1.
- RUN VIPER_CREATE_DOKUMENT ( 'FetteZeile', iArtZeile, 'Bez_1_Fett', ' ' ).
-
- DO WHILE TRUE:
- lFirst = TRUE.
- cLAdresse = ''.
- IF BAufko.Knr = BAufko.Fak_Knr AND
- NOT FDebst.Passant THEN LEAVE.
- DO ix = 1 TO 5:
- IF BAufko.Adresse[ix] = '' THEN NEXT.
- iArtZeile = iArtZeile + 1.
- RUN VIPER_CREATE_DOKUMENT ( 'FetteZeile', iArtZeile, 'Bez_1_Fett', BAufko.Adresse[ix] ).
- lFirst = FALSE.
- END.
- IF NOT lFirst THEN LEAVE.
- IF BAufko.Knr = BAufko.Fak_Knr THEN LEAVE.
- FIND LAdresse NO-LOCK
- WHERE LAdresse.Firma = AdFirma
- AND LAdresse.Knr = BAufko.Knr NO-ERROR.
- IF NOT AVAILABLE LAdresse THEN LEAVE.
- DO ix = 1 TO 12:
- IF LAdresse.Anschrift[ix] = '' THEN NEXT.
- iArtZeile = iArtZeile + 1.
- RUN VIPER_CREATE_DOKUMENT ( 'FetteZeile', iArtZeile, 'Bez_1_Fett', LAdresse.Anschrift[ix] ).
- lFirst = FALSE.
- END.
- LEAVE.
- END.
- IF NOT lFirst THEN DO:
- iArtZeile = iArtZeile + 1.
- RUN VIPER_CREATE_DOKUMENT ( 'FetteZeile', iArtZeile, 'Bez_1_Fett', ' ' ).
- END.
- RUN VIPER_AUSGABE_GRUPPE ( 'FetteZeile' ).
-
- iArtZeile = 0.
- iVPagePos = vpr_getPageVPos().
- RUN vpr_setGroupVPos ( 'ArtikelZeile1', iVPagePos ).
-
- FOR EACH tAufze NO-LOCK
- BY tAufze.Aufnr
- BY tAufze.Sort1
- BY tAufze.LagOrt
- BY tAufze.Sort2
- BY tAufze.Pos :
-
- FIND Aufze WHERE RECID(Aufze) = tAufze.Zeile NO-LOCK.
-
- RUN VIPER_ARTIKELZEILE ( RECID(tAufze) ).
- VFak_Betr = VFak_Betr + Aufze.Net_Betr.
- END.
-
- iArtZeile = iArtZeile + 1.
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Bez1' , TRIM(SUBSTRING(FormText[10],41,20)) ).
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Betrag', TRIM(STRING(VFak_Betr,'->>>,>>9.99')) ).
- iArtZeile = iArtZeile + 1.
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Bez1' , ' ' ).
-
- RUN VIPER_AUSGABE_ARTIKELZEILE.
- /* Auftragsrabatt ---------------------------------------------------- */
- iArtZeile = 0.
- FOR EACH TRabSumm WHERE TRabSumm.Auf_Rab <> 0
- BY TRabSumm.Rab_Summ:
- Rundbetr = TRabSumm.Auf_Rab.
- VFak_Betr = VFak_Betr - Rundbetr.
- IF Rundbetr < 0 THEN RText = VZusText.
- ELSE RText = VRabText.
- xString = RText
- + " "
- + TRabSumm.Bez.
- iArtZeile = iArtZeile + 1.
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Bez1', xString ).
- FIND FIRST AufRabSu NO-LOCK USE-INDEX AufRabSu-k1
- WHERE AufRabSu.Firma = BAufko.Firma
- AND AufRabSu.Aufnr = BAufko.Aufnr
- AND AufRabSu.Rab_Summ = TRabSumm.Rab_Summ.
- RabWert = ABSOLUT(AufRabSu.F_Wert).
- IF AufRabSu.F_Proz_Betr THEN WText = "%".
- ELSE WText = "Fr.".
- xString = STRING(RabWert,"z9.99-")
- + WText.
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Artnr', xString ).
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Betrag', TRIM(STRING(- Rundbetr,'->>>,>>9.99')) ).
- END.
- /* Abholrabatt ------------------------------------------------------- */
-
- FOR EACH TRabSumm WHERE TRabSumm.Abh_Rab <> 0
- BY TRabSumm.Rab_Summ:
- Rundbetr = TRabSumm.Abh_Rab.
- VFak_Betr = VFak_Betr - Rundbetr.
- IF Rundbetr < 0 THEN RText = VZusText.
- ELSE RText = VRabText.
- xString = RText
- + " "
- + TRabSumm.Bez.
- iArtZeile = iArtZeile + 1.
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Bez1', xString ).
- FIND FIRST AufRabSu NO-LOCK USE-INDEX AufRabSu-k1
- WHERE AufRabSu.Firma = BAufko.Firma
- AND AufRabSu.Aufnr = BAufko.Aufnr
- AND AufRabSu.Rab_Summ = TRabSumm.Rab_Summ.
- RabWert = ABSOLUT(AufRabSu.A_Wert).
- IF AufRabSu.A_Proz_Betr THEN WText = "%".
- ELSE WText = "Fr.".
- xString = STRING(RabWert,"z9.99-")
- + WText.
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Artnr', xString ).
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Betrag', TRIM(STRING(- Rundbetr,'->>>,>>9.99')) ).
- END.
-
- /* Spezialpreis-Auftragsrabatte ---------------------------------------- */
-
- FOR EACH TSpeRab WHERE TSpeRab.Auf_Betr <> 0
- BY TSpeRab.Rab_Grp:
- FIND Tabel USE-INDEX Tabel-k1
- WHERE Tabel.Firma = GVFirma
- AND Tabel.RecArt = 'ARABGRP'
- AND Tabel.CodeC = ''
- AND Tabel.CodeI = TSpeRab.Rab_Grp
- AND Tabel.Sprcd = 1 NO-LOCK.
- Rundbetr = TSpeRab.Auf_Betr.
- VFak_Betr = VFak_Betr - Rundbetr.
- IF Rundbetr < 0 THEN RText = VZusText.
- ELSE RText = VRabText.
- xString = RText
- + " "
- + Tabel.Bez1.
- iArtZeile = iArtZeile + 1.
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Bez1', xString ).
- FIND FIRST AufSpRab USE-INDEX AufSpRab-k1
- WHERE AufSpRab.Firma = BAufko.Firma
- AND AufSpRab.Aufnr = BAufko.Aufnr
- AND AufSpRab.Rab_Grp = TSpeRab.Rab_Grp NO-LOCK.
- RabWert = ABSOLUT(AufSpRab.Auf_Wert).
- IF AufSpRab.Auf_Proz_Betr THEN WText = "%".
- ELSE WText = "Fr.".
- xString = STRING(RabWert,"z9.99-")
- + WText.
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Artnr', xString ).
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Betrag', TRIM(STRING(- Rundbetr,'->>>,>>9.99')) ).
- END.
-
- IF iArtZeile > 0 THEN DO:
- iArtZeile = iArtZeile + 1.
- xString = TRIM(SUBSTRING(FormText[14],21,20)).
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Bez1', xString ).
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Betrag', TRIM(STRING(VFak_Betr,'->>>,>>9.99')) ).
- END.
- RUN VIPER_AUSGABE_GRUPPE ('ArtikelZeile1').
-
- /* Recycling-Gebuehren ----------------------------------------------- */
- iArtZeile = 0.
- FOR EACH AufGKon USE-INDEX AufGKon-k1
- WHERE AufGKon.Firma = BAufko.Firma
- AND AufGKon.Aufnr = BAufko.Aufnr
- AND AufGKon.Gebuehr <> 0
- AND AufGKon.Betrag <> 0 NO-LOCK:
- FIND GebKonto OF AufGKon NO-LOCK NO-ERROR.
- IF NOT AVAILABLE GebKonto THEN xString = TRIM(SUBSTRING(FormText[11],41,20)).
- ELSE xString = GebKonto.Bez.
- VWC = AufGKon.MWST_Cd.
- VFak_Betr = VFak_Betr + AufGKon.Betrag.
- FIND LAST MwstAns NO-LOCK
- WHERE MwstAns.Mwst_Cd = VWC
- AND MwstAns.Datum <= BAufko.Fak_Datum NO-ERROR.
-
- iArtZeile = iArtZeile + 1.
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Bez1', xString ).
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Betrag', TRIM(STRING(AufGKon.Betrag,'->>>,>>9.99')) ).
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'MC', STRING(AufGKon.MWSt_Cd,'z9') ).
-
- FIND FIRST TUmsGrp
- WHERE TUmsGrp.Ums_Grp = 1000
- AND TUmsGrp.Mwst = VWC
- AND TUmsGrp.Ansatz = MwstAns.Ansatz NO-ERROR.
- IF NOT AVAILABLE TUmsGrp THEN DO:
- FIND WarenGrp USE-INDEX WarenGrp-k1
- WHERE WarenGrp.Firma = GVFirma
- AND WarenGrp.Wgr = 1000 NO-LOCK NO-ERROR.
- CREATE TUmsGrp.
- ASSIGN TUmsGrp.Ums_Grp = 1000
- TUmsGrp.Mwst = VWC
- TUmsGrp.Ansatz = MwstAns.Ansatz
- TUmsGrp.Bez = (IF AVAILABLE WarenGrp THEN WarenGrp.Bez1 ELSE 'Recyclinggebühren').
- END.
- TUmsGrp.Ums_Betr = TUmsGrp.Ums_Betr + AufGKon.Betrag.
- END.
- IF iArtZeile > 0 THEN DO:
- iArtZeile = iArtZeile + 1.
- xString = TRIM(SUBSTRING(FormText[14],41,20)).
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Bez1', xString ).
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Betrag', TRIM(STRING(VFak_Betr,'->>>,>>9.99')) ).
- END.
- RUN VIPER_AUSGABE_GRUPPE ('ArtikelZeile1').
- /* Gebindelieferungen ------------------------------------------------ */
- VZTot = 0.
- iArtZeile = 0.
- FOR EACH AufGKon USE-INDEX AufGKon-k1
- WHERE AufGKon.Firma = BAufko.Firma
- AND AufGKon.Aufnr = BAufko.Aufnr
- AND AufGKon.Depot <> 0
- AND (AufGKon.Eingang <> 0 OR
- AufGKon.Ausgang <> 0) NO-LOCK:
-
- VWC = AufGKon.MWSt_Cd.
- FIND LAST MwstAns NO-LOCK
- WHERE MwstAns.Mwst_Cd = VWC
- AND MwstAns.Datum <= BAufko.Fak_Datum NO-ERROR.
- FIND FIRST TUmsGrp
- WHERE TUmsGrp.Ums_Grp = 1001
- AND TUmsGrp.Mwst = VWC
- AND TUmsGrp.Ansatz = MwstAns.Ansatz NO-ERROR.
- IF NOT AVAILABLE TUmsGrp THEN DO:
- FIND WarenGrp NO-LOCK USE-INDEX WarenGrp-k1
- WHERE WarenGrp.Firma = GVFirma
- AND WarenGrp.Wgr = 1001 NO-ERROR.
- CREATE TUmsGrp.
- ASSIGN TUmsGrp.Ums_Grp = 1001
- TUmsGrp.Mwst = VWC
- TUmsGrp.Ansatz = MwstAns.Ansatz
- TUmsGrp.Bez = (IF AVAILABLE WarenGrp THEN WarenGrp.Bez1 ELSE 'Gebindesaldo').
- END.
- TUmsGrp.Ums_Betr = TUmsGrp.Ums_Betr + AufGKon.Betrag.
-
- FIND GebKonto NO-LOCK USE-INDEX GebKonto-k1
- WHERE GebKonto.Firma = GVFirma
- AND GebKonto.Geb_Cd = AufGKon.Geb_Cd.
- i1 = AufGKon.Ausgang - AufGKon.Eingang.
- Rundbetr = AufGKon.Betrag.
- VZTot = VZTot + Rundbetr.
- iArtZeile = iArtZeile + 1.
- RUN VIPER_CREATE_DOKUMENT ( 'Gebindeabrechnung', iArtZeile, 'Gebindetext' , GebKonto.Bez ).
- RUN VIPER_CREATE_DOKUMENT ( 'Gebindeabrechnung', iArtZeile, 'GebindeGel' , TRIM(STRING(AufGKon.Ausgang,"->>,>>9")) ).
- RUN VIPER_CREATE_DOKUMENT ( 'Gebindeabrechnung', iArtZeile, 'GebindeRet' , TRIM(STRING(AufGKon.Eingang,"->>,>>9")) ).
- RUN VIPER_CREATE_DOKUMENT ( 'Gebindeabrechnung', iArtZeile, 'GebindeSaldo', TRIM(STRING(i1 ,"->>,>>9")) ).
- RUN VIPER_CREATE_DOKUMENT ( 'Gebindeabrechnung', iArtZeile, 'GebindeBetr' , TRIM(STRING(Rundbetr ,"->>,>>9.99")) ).
- END.
- IF iArtZeile > 0 THEN RUN VIPER_CREATE_DOKUMENT ( 'Gebindeabrechnung', iArtZeile, 'GebindeTot' , TRIM(STRING(VZTot,"->>,>>9.99")) ).
- VFak_Betr = VFak_Betr + VZTot.
- IF iArtZeile > 0 THEN RUN VIPER_AUSGABE_GRUPPE ('Gebindeabrechnung').
- DO ix = 1 TO 12:
- GTWpfl[ix] = GTWpfl[ix] + BAufko.Wpfl[ix].
- GTWust[ix] = GTWust[ix] + BAufko.Wust[ix].
- END.
- GTFak_Betr = GTFak_Betr + VFak_Betr.
- GTSk_Ber = GTSk_Ber + BAufko.Sk_Ber.
- iArtZeile = 1.
- RUN VIPER_CREATE_DOKUMENT ( 'FetteZeile', iArtZeile, 'Bez_1_Fett' , TRIM(SUBSTRING(FormText[15],21,20)) ).
- RUN VIPER_CREATE_DOKUMENT ( 'FetteZeile', iArtZeile, 'Betrag_Fett', TRIM(STRING(VFak_Betr,"->>>,>>9.99")) ).
- IF FLetzt THEN DO:
- iArtZeile = iArtZeile + 1.
- RUN VIPER_CREATE_DOKUMENT ( 'FetteZeile', iArtZeile, 'Bez_1_Fett' , ' ' ).
- iArtZeile = iArtZeile + 1.
- RUN VIPER_CREATE_DOKUMENT ( 'FetteZeile', iArtZeile, 'Bez_1_Fett' , TRIM(SUBSTRING(FormText[14],01,20)) ).
- RUN VIPER_CREATE_DOKUMENT ( 'FetteZeile', iArtZeile, 'Betrag_Fett', TRIM(STRING(GTFak_Betr,"->>>,>>9.99")) ).
- END.
- iArtZeile = iArtZeile + 1.
- RUN VIPER_CREATE_DOKUMENT ( 'FetteZeile', iArtZeile, 'Bez_1_Fett' , ' ' ).
- RUN VIPER_AUSGABE_GRUPPE ( 'FetteZeile' ).
- /* Kopfmutation -------------------------------------------------- */
-
- DO TRANSACTION WHILE TRUE:
- IF izaehler < iLauf THEN LEAVE.
-
- FIND Aufko WHERE RECID(Aufko) = RECID(BAufko).
- Aufko.Fak_Datum = FDatum.
- Aufko.Faknr = SFaknr.
- Aufko.Gedruckt = TRUE.
- XVAufnr = Aufko.Aufnr.
- IF tTabTexte.iFeld1 > Aufko.Fak_Art THEN Aufko.Fak_Art = tTabTexte.iFeld1.
- IF tTabTexte.iFeld2 > Aufko.Auf_Sta THEN Aufko.Auf_Sta = tTabTexte.iFeld2.
- RELEASE Aufko.
- LEAVE.
- END.
- FIND Aufko WHERE RECID(Aufko) = RECID(BAufko) NO-LOCK.
- TiDruck = FALSE.
-
- IF FLetzt THEN RUN SAMMFAK_ENDE.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SAMMFAK_ENDE C-Win
- PROCEDURE SAMMFAK_ENDE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR cPDFName AS CHAR INIT '' NO-UNDO.
- DEF VAR iSpace AS INT INIT 0 NO-UNDO.
- DEF VAR iPos AS INT NO-UNDO.
- DEF VAR iKopie AS INT NO-UNDO.
-
- iPos = vpr_getPageVPos().
- iArtZeile = 1.
- iSpace = iSpace + 40.
- RUN VIPER_CREATE_DOKUMENT ( 'Mehrwertsteuer', iArtZeile, 'MwstBez' , ' ' ).
- DO ix = 1 TO 11:
- IF GTWpfl[ix] = 0 THEN NEXT.
- GTFak_Betr = GTFak_Betr + GTWust[ix].
-
- FIND LAST MWSTAns USE-INDEX MWSTAns-k1
- WHERE MWSTAns.MWST_Cd = ix
- AND MWSTAns.Datum <= BAufko.Kond_Datum NO-LOCK.
- iArtZeile = iArtZeile + 1.
- iSpace = iSpace + 40.
- RUN VIPER_CREATE_DOKUMENT ( 'Mehrwertsteuer', iArtZeile, 'MwstBez' , MWStAns.Bez ).
- RUN VIPER_CREATE_DOKUMENT ( 'Mehrwertsteuer', iArtZeile, 'MwstPfl' , TRIM(STRING(GTWpfl[ix],"->>,>>9.99")) ).
- RUN VIPER_CREATE_DOKUMENT ( 'Mehrwertsteuer', iArtZeile, 'MwstBetr', TRIM(STRING(GTWust[ix],"->>>,>>9.99")) ).
- RUN VIPER_CREATE_DOKUMENT ( 'Mehrwertsteuer', iArtZeile, 'MwstCd' , TRIM(STRING(ix ,">>9")) ).
- END.
- IF (iSpace + iPos + 80) >= iVMaxPos THEN DO:
- RUN vpr_NewPage.
- RUN vpr_InitGroups('').
- IF iZaehler = iLauf THEN RUN vpr_initGraphObj.
- VSeite = VSeite + 1.
- RUN VIPER_ADRESSE (VDokArt).
- END.
- RUN VIPER_AUSGABE_GRUPPE ( 'Mehrwertsteuer' ).
-
- Rundbetr = GTFak_Betr.
- Rundcode = 1.
- RUN "v8/runden.p".
- GTFak_Betr = Rundbetr.
- iArtZeile = 1.
- RUN VIPER_CREATE_DOKUMENT ( 'RechnungsTotal', iArtZeile, 'EndBetrag' , TRIM(STRING(GTFak_Betr,"->,>>>,>>9.99")) ).
- RUN VIPER_AUSGABE_GRUPPE ( 'RechnungsTotal' ).
- iArtZeile = 1.
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Bez1' , TRIM(SUBSTRING(Helptext[15],41,20)) ).
- FOR EACH TUmsGrp NO-LOCK
- BY TUmsGrp.Ums_Grp
- BY TUmsGrp.Mwst :
- iArtZeile = iArtZeile + 1.
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Bez1' , TUmsGrp.Bez ).
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Alk%' , BSteuer.Fwc03 ).
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Preis' , TRIM(STRING(TUmsGrp.Ums_Betr,"->>>,>>9.99")) ).
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Betrag', TRIM(STRING(TUmsGrp.Ansatz ,">9.99%")) ).
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'MC' , TRIM(STRING(TUmsGrp.Mwst ,"z9")) ).
- END.
- RUN VIPER_AUSGABE_GRUPPE ( 'ArtikelZeile1' ).
- /* Zahlungskondition ------------------------------------------------- */
- FIND Kondi USE-INDEX Kondi-k1
- WHERE Kondi.Kond = BAufko.Kond
- AND Kondi.Sprcd = LVSprcd NO-LOCK NO-ERROR.
- IF AVAILABLE Kondi THEN DO:
- iArtZeile = 1.
- RUN VIPER_CREATE_DOKUMENT ( 'Kondition', iArtZeile, 'Zahkond', Kondi.KoText ).
- RUN VIPER_CREATE_DOKUMENT ( 'Kondition', iArtZeile, 'Faellig', STRING((FDatum + Kondi.Faellig),"99.99.9999") ).
- IF Kondi.Skonto[01] <> 0 THEN DO:
- Rundbetr = GTSk_Ber * Kondi.Skonto[01] / 100.
- Rundcode = 1.
- RUN "v8/runden.p".
- RUN VIPER_CREATE_DOKUMENT ( 'Kondition', iArtZeile, 'Skonto', TRIM(STRING(Rundbetr,"->>>,>>9.99")) ).
- END.
- END.
- ELSE DO:
- iArtZeile = 1.
- RUN VIPER_CREATE_DOKUMENT ( 'Kondition', iArtZeile, 'Zahkond', FILL('?', 29) ).
- END.
- VFak_Betr = VFak_Betr - BAufko.Bar_Betr - BAufko.Bar_Skonto.
- RUN VIPER_CREATE_DOKUMENT ( 'Kondition', iArtZeile, 'Netto', TRIM(STRING(GTFak_Betr,"->>>,>>9.99")) ).
- RUN VIPER_AUSGABE_GRUPPE ( 'Kondition' ).
- IF GTFak_Betr = 0 THEN Rundbetr = -1.
- ELSE Rundbetr = GTFak_Betr.
- VesrKnr = BAufko.Fak_Knr.
- VesrFnr = BAufko.Faknr.
- IF AVAILABLE Kondi AND
- Kondi.Skonto[01] <> 0 THEN Rundbetr = 0.
- VBesr = 4.
- /* Abschluss und Druck ----------------------------------------------- */
- IF iZaehler < iLauf THEN RETURN.
-
- /* ------------------------------------------------------ */
- /* Druckausgabe */
- /* ------------------------------------------------------ */
-
- RUN vpr_EndDoc.
-
- IF SESSION:PRINTER-NAME <> F_Drucker THEN DO:
- RUN vpr_printerDialog ( OUTPUT ja ).
- IF NOT ja THEN RETURN.
- END.
- ELSE DO:
- RUN vpr_selectPrinter(SESSION:PRINTER-NAME).
- END.
-
- RUN vpr_SetPrinterAttrib('copies=1').
- RUN vpr_printDoc (0, 0).
-
- cvpr_Dokument = SUBSTITUTE('Rechnungen\&1-&2_&3',
- STRING(BAufko.Knr ,'999999'),
- STRING(BAufko.Faknr,'999999'),
- cvpr_Dokument).
- cPDFName = REPLACE(cvpr_Dokument, '.vpr', '.pdf').
-
- IF iZaehler = iLauf THEN DO:
- RUN vpr_printPDF (0, 0, INPUT-OUTPUT cPDFName ).
- RUN vpr_SaveDoc ( cvpr_Dokument ).
- END.
- /*
- RUN vpr_SaveDoc ( cvpr_Dokument ).
-
- DEF VAR o-i AS i NO-UNDO.
- RUN shellExecuteA (0,
- "open",
- cPDFName,
- "",
- "",
- 0,
- OUTPUT o-i).
- */
- CASE VBesr:
-
- WHEN 1 THEN RUN VESR_DRUCK01.
- WHEN 2 THEN RUN VESR_DRUCK02.
- WHEN 3 THEN RUN VESR_DRUCK03.
- WHEN 4 THEN RUN VESR_DRUCK04.
-
- END CASE.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SAMMFAK_KOPF C-Win
- PROCEDURE SAMMFAK_KOPF :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR kk AS INT NO-UNDO.
- DEF VAR xString AS CHAR NO-UNDO.
- DEF VAR iSeite AS INT NO-UNDO.
- iSeite = VSeite.
- RUN VIPER_NEUE_SEITE.
- IF VSeite = 1 AND
- VSeite > iSeite THEN DO:
- REPEAT WHILE BAufko.Faknr = 0 TRANSACTION:
- RUN "v8/steunr.p" ( INPUT 2, OUTPUT VFaknr ).
- IF RETURN-VALUE <> '' THEN NEXT.
- FIND Aufko WHERE RECID(Aufko) = RECID(BAufko).
- Aufko.Faknr = VFaknr.
- RELEASE Aufko.
- END.
- SFaknr = BAufko.Faknr.
-
- FIND Adresse USE-INDEX Adresse-k1
- WHERE Adresse.Firma = AdFirma
- AND Adresse.Knr = BAufko.Fak_Knr NO-LOCK NO-ERROR.
- FIND LDebst USE-INDEX Debst-k1
- WHERE LDebst.Firma = GVFirma
- AND LDebst.Knr = BAufko.Knr NO-LOCK NO-ERROR.
- FIND FDebst USE-INDEX Debst-k1
- WHERE FDebst.Firma = GVFirma
- AND FDebst.Knr = BAufko.Fak_Knr NO-LOCK NO-ERROR.
- FIND Wust USE-INDEX Wust-k1
- WHERE Wust.CodeK = LDebst.MWST
- AND Wust.CodeA = 99 NO-LOCK NO-ERROR.
- LVSprcd = Adresse.Sprcd.
- DebInkl = FALSE.
- IF AVAILABLE Wust THEN DebInkl = Wust.Incl.
-
- VBesrKopf = ''.
- IF BAufko.Adresse[05] <> '' THEN DO:
- i1 = 6.
- DO ix = 1 TO 5:
- CREATE tDokument.
- ASSIGN tDokument.cGruppe = 'KOPF'
- tDokument.iZeile = 1
- tDokument.cFeld = 'Adresse_' + STRING((6 + ix),'99')
- tDokument.cInhalt = BAufko.Adresse[ix].
- i1 = i1 + 1.
- VBesrKopf[i1] = BAufko.Adresse[ix].
- END.
- END.
- ELSE DO:
- DO ix = 5 TO 11:
- CREATE tDokument.
- ASSIGN tDokument.cGruppe = 'KOPF'
- tDokument.iZeile = 1
- tDokument.cFeld = 'Adresse_' + STRING(ix,'99')
- tDokument.cInhalt = Adresse.Anschrift[ix].
- VBesrKopf[ix] = Adresse.Anschrift[ix].
- END.
- END.
- CREATE tDokument.
- ASSIGN tDokument.cGruppe = 'KOPF'
- tDokument.iZeile = 1
- tDokument.cFeld = 'Ort_Datum'
- tDokument.cInhalt = TRIM(SUBSTRING(FormText[07],01,20))
- + " "
- + STRING(FDatum,"99.99.9999").
-
- CREATE tDokument.
- ASSIGN tDokument.cGruppe = 'KOPF'
- tDokument.iZeile = 1
- tDokument.cFeld = 'T_Dokument'
- tDokument.cInhalt = (IF BAufko.Auf_Tot >= 0
- THEN TRIM(SUBSTRING(FormText[02],01,20))
- ELSE TRIM(SUBSTRING(FormText[02],21,20))).
-
- CREATE tDokument.
- ASSIGN tDokument.cGruppe = 'KOPF'
- tDokument.iZeile = 1
- tDokument.cFeld = 'Aufnr'
- tDokument.cInhalt = STRING(SFaknr,'z999999').
-
- CREATE tDokument.
- ASSIGN tDokument.cGruppe = 'KOPF'
- tDokument.iZeile = 1
- tDokument.cFeld = 'Knr'
- tDokument.cInhalt = STRING(BAufko.Knr,'999999').
-
- END.
-
- IF VSeite > iSeite THEN RUN VIPER_ADRESSE ( VDokArt ).
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SUMMENRABATTE C-Win
- PROCEDURE SUMMENRABATTE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR RText AS CHAR FORMAT "x(20)" NO-UNDO.
- DEF VAR WText AS CHAR NO-UNDO.
- /* Auftragsrabatte --------------------------------------------------- */
-
- i5 = 0.
- FOR EACH TRabSumm WHERE TRabSumm.Auf_Rab <> 0
- BY TRabSumm.Rab_Summ:
- Rundbetr = TRabSumm.Auf_Rab.
- IF Rundbetr < 0 THEN RText = VZusText.
- ELSE RText = VRabText.
- FIND FIRST AufRabSu NO-LOCK USE-INDEX AufRabSu-k1
- WHERE AufRabSu.Firma = BAufko.Firma
- AND AufRabSu.Aufnr = BAufko.Aufnr
- AND AufRabSu.Rab_Summ = TRabSumm.Rab_Summ.
- IF AufRabSu.F_Proz_Betr THEN WText = "%".
- ELSE WText = "Fr.".
- RabWert = ABSOLUT(AufRabSu.F_Wert).
- SUBSTRING(VZeile,042) = RText
- + " "
- + TRabSumm.Bez.
- SUBSTRING(VZeile,096) = STRING(RabWert,"z9.99-")
- + WText.
- SUBSTRING(VZeile,102) = STRING(- Rundbetr,"->>>,>>9.99").
- { v8/putstream.i "1" }
- VFak_Betr = VFak_Betr - Rundbetr.
- i5 = i5 + 1.
- END.
- /* Abholrabatt ------------------------------------------------------- */
-
- FOR EACH TRabSumm WHERE TRabSumm.Abh_Rab <> 0
- BY TRabSumm.Rab_Summ:
- Rundbetr = TRabSumm.Abh_Rab.
- IF Rundbetr < 0 THEN RText = VZusText.
- ELSE RText = VRabText.
- FIND FIRST AufRabSu NO-LOCK USE-INDEX AufRabSu-k1
- WHERE AufRabSu.Firma = BAufko.Firma
- AND AufRabSu.Aufnr = BAufko.Aufnr
- AND AufRabSu.Rab_Summ = TRabSumm.Rab_Summ.
- IF AufRabSu.A_Proz_Betr THEN WText = "%".
- ELSE WText = "Fr.".
- RabWert = ABSOLUT(AufRabSu.A_Wert).
- SUBSTRING(VZeile,042) = RText
- + " "
- + TRabSumm.Bez.
- SUBSTRING(VZeile,096) = STRING(RabWert,"z9.99-")
- + WText.
- SUBSTRING(VZeile,102) = STRING(- Rundbetr,"->>>,>>9.99").
- { v8/putstream.i "1" }
- VFak_Betr = VFak_Betr - Rundbetr.
- i5 = i5 + 1.
- END.
- /* ---------------------------------------------------------------------- */
- /* Spezialpreis-Auftragsrabatte ---------------------------------------- */
-
- FOR EACH TSpeRab WHERE TSpeRab.Auf_Betr <> 0
- BY TSpeRab.Rab_Grp:
- FIND Tabel USE-INDEX Tabel-k1
- WHERE Tabel.Firma = GVFirma
- AND Tabel.RecArt = 'ARABGRP'
- AND Tabel.CodeC = ''
- AND Tabel.CodeI = TSpeRab.Rab_Grp
- AND Tabel.Sprcd = 1 NO-LOCK.
- Rundbetr = TSpeRab.Auf_Betr.
- IF Rundbetr < 0 THEN RText = VZusText.
- ELSE RText = VRabText.
- FIND FIRST AufSpRab USE-INDEX AufSpRab-k1
- WHERE AufSpRab.Firma = BAufko.Firma
- AND AufSpRab.Aufnr = BAufko.Aufnr
- AND AufSpRab.Rab_Grp = TSpeRab.Rab_Grp NO-LOCK.
- IF AufSpRab.Auf_Proz_Betr THEN WText = "%".
- ELSE WText = "Fr.".
- RabWert = ABSOLUT(AufSpRab.Auf_Wert).
- SUBSTRING(VZeile,042) = RText
- + " "
- + TRIM(Tabel.Bez1).
- SUBSTRING(VZeile,096) = STRING(RabWert,"z9.99-")
- + WText.
- SUBSTRING(VZeile,102) = STRING(- Rundbetr,"->>>,>>9.99").
- { v8/putstream.i "1" }
- VFak_Betr = VFak_Betr - Rundbetr.
- i5 = i5 + 1.
- END.
- IF i5 > 0 THEN DO:
- SUBSTRING(VZeile,042) = TRIM(SUBSTRING(FormText[14],21,20)).
- SUBSTRING(VZeile,102) = STRING(VFak_Betr,"->>>,>>9.99").
- { v8/putstreamf.i "1" }
- END.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE VERSANDART C-Win
- PROCEDURE VERSANDART :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- XVersand = ''.
- FIND Tabel USE-INDEX Tabel-k1
- WHERE Tabel.Firma = GVFirma
- AND Tabel.RecArt = 'LIEFART'
- AND Tabel.CodeC = ''
- AND Tabel.CodeI = BAufko.Lief_Bed
- AND Tabel.Sprcd = 1 NO-LOCK NO-ERROR.
- IF AVAILABLE Tabel THEN XVersand = Tabel.Bez1.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE VESR_DRUCK C-Win
- PROCEDURE VESR_DRUCK :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- IF VBesr = 0 THEN RETURN.
- DEF VAR VVESR AS CHAR FORMAT "x(90)" EXTENT 25.
- DEF VAR PZBetrag AS CHAR FORMAT "x(13)".
- DEF VAR PZReferenz AS CHAR FORMAT "x(27)".
- DEF VAR PZTNummer AS CHAR FORMAT "x(09)".
- DEF VAR VSZeile AS CHAR FORMAT "x(58)".
- DEF VAR VZeile AS CHAR FORMAT "x(58)".
- DEF VAR XArt AS INT.
- DEF VAR XAnz AS INT.
- DEF VAR XBetr AS CHAR FORMAT "x(20)".
- DEF VAR VESR_P AS CHAR FORMAT "x(02)".
- DEF VAR VESR AS CHAR FORMAT "x(02)".
-
- DEF VAR XBetrag AS CHAR FORMAT "x(12)".
-
- DO WHILE TRUE:
- { v8/putstream.i "15" }
-
- PZBetrag = ''.
- IF Rundbetr < 0 THEN DO:
- PZBetrag = FILL('*', 13).
- PZReferenz = FILL('*', 27).
- PZTNummer = FILL('*', 09).
- XBetrag = FILL('*', 12).
- END.
- ELSE DO:
- IF Rundbetr > 0
- THEN PZBetrag = "01" + STRING(Rundbetr * 100,"9999999999 ").
- IF Rundbetr = 0
- THEN PZBetrag = " 04 ".
- PZReferenz = "92876000000"
- + STRING(VesrKnr,"999999")
- + "0"
- + STRING(VesrFnr,"999999")
- + "00".
- PZTNummer = "01004578".
- XBetrag = STRING((Rundbetr * 100),"zz,zzz,zz999").
- RUN PRUEFZIFFER ( INPUT-OUTPUT PZBetrag , INPUT-OUTPUT PZReferenz,
- INPUT-OUTPUT PZTNummer, OUTPUT VSZeile ).
- END.
- SUBSTRING(VZeile,061) = STRING(PZReferenz,"XX XXXXX XXXXX XXXXX XXXXX XXXXX").
- { v8/putstream.i "2" }
- FIND Adresse USE-INDEX Adresse-k1
- WHERE Adresse.Firma = AdFirma
- AND Adresse.Knr = VesrKnr NO-LOCK NO-ERROR.
- VVesr = "".
- IF Rundbetr <> 0 THEN DO:
- SUBSTRING(VVesr[01],02) = STRING(XBetrag,"XXXXXXXXXX XX").
- SUBSTRING(VVesr[01],31) = STRING(XBetrag,"XXXXXXXXXX XX").
- END.
- SUBSTRING(VVesr[01],61) = Adresse.Anschrift[07].
- SUBSTRING(VVesr[02],61) = Adresse.Anschrift[08].
- SUBSTRING(VVesr[03],61) = Adresse.Anschrift[09].
- SUBSTRING(VVesr[04],61) = Adresse.Anschrift[10].
- SUBSTRING(VVesr[05],61) = Adresse.Anschrift[11].
-
- SUBSTRING(VZeile,001) = STRING(PZReferenz,"XX XXXXX XXXXX XXXXX XXXXX XXXXX").
- SUBSTRING(VVesr[03],04) = SUBSTRING(VZeile,01,14).
- SUBSTRING(VVesr[04],01) = SUBSTRING(VZeile,16,17).
- SUBSTRING(VVesr[05],01) = Adresse.Anschrift[08].
- SUBSTRING(VVesr[06],01) = Adresse.Anschrift[09].
- SUBSTRING(VVesr[07],01) = Adresse.Anschrift[10].
- SUBSTRING(VVesr[08],01) = Adresse.Anschrift[11].
- SUBSTRING(VVesr[09],25) = STRING(VSZeile,"x(53)").
- SUBSTRING(VVesr[09],82) = "H".
- VVesr[09] = BDrucker.Dru10cpi
- + BDrucker.DruLQb
- + CHR(27) + "k" + CHR(05)
- + VVesr[09]
- + CHR(27) + "k" + CHR(00)
- + BDrucker.DruLQe
- + BDrucker.Dru12cpi.
-
- DO ix = 1 TO 10:
- VZeile = VVesr[ix].
- { v8/putstream.i "1" }
- END.
-
- LEAVE.
- END.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE VESR_DRUCK01 C-Win
- PROCEDURE VESR_DRUCK01 :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR VVESR AS CHAR FORMAT "x(90)" EXTENT 25.
- DEF VAR PZBetrag AS CHAR FORMAT "x(13)".
- DEF VAR PZReferenz AS CHAR FORMAT "x(27)".
- DEF VAR PZTNummer AS CHAR FORMAT "x(09)".
- DEF VAR VSZeile AS CHAR FORMAT "x(58)".
- DEF VAR VZeile AS CHAR FORMAT "x(58)".
- DEF VAR XArt AS INT.
- DEF VAR XAnz AS INT.
- DEF VAR XBetr AS CHAR FORMAT "x(20)".
- DEF VAR VESR_P AS CHAR FORMAT "x(02)".
- DEF VAR VESR AS CHAR FORMAT "x(02)".
-
- DEF VAR XBetrag AS CHAR FORMAT "x(12)".
-
- DO WHILE TRUE:
- { v8/putstream.i "15" }
-
- PZBetrag = ''.
- IF Rundbetr < 0 THEN DO:
- PZBetrag = FILL('*', 13).
- PZReferenz = FILL('*', 27).
- PZTNummer = FILL('*', 09).
- XBetrag = FILL('*', 12).
- END.
- ELSE DO:
- IF Rundbetr > 0
- THEN PZBetrag = "01" + STRING(Rundbetr * 100,"9999999999 ").
- IF Rundbetr = 0
- THEN PZBetrag = " 04 ".
- PZReferenz = "92876000000"
- + STRING(VesrKnr,"999999")
- + "0"
- + STRING(VesrFnr,"999999")
- + "00".
- PZTNummer = "01004578".
- XBetrag = STRING((Rundbetr * 100),"zz,zzz,zz999").
- RUN PRUEFZIFFER ( INPUT-OUTPUT PZBetrag , INPUT-OUTPUT PZReferenz,
- INPUT-OUTPUT PZTNummer, OUTPUT VSZeile ).
- END.
- SUBSTRING(VZeile,061) = STRING(PZReferenz,"XX XXXXX XXXXX XXXXX XXXXX XXXXX").
- { v8/putstream.i "2" }
- FIND Adresse USE-INDEX Adresse-k1
- WHERE Adresse.Firma = AdFirma
- AND Adresse.Knr = VesrKnr NO-LOCK NO-ERROR.
- VVesr = "".
- IF Rundbetr <> 0 THEN DO:
- SUBSTRING(VVesr[01],02) = STRING(XBetrag,"XXXXXXXXXX XX").
- SUBSTRING(VVesr[01],31) = STRING(XBetrag,"XXXXXXXXXX XX").
- END.
- SUBSTRING(VVesr[01],61) = Adresse.Anschrift[07].
- SUBSTRING(VVesr[02],61) = Adresse.Anschrift[08].
- SUBSTRING(VVesr[03],61) = Adresse.Anschrift[09].
- SUBSTRING(VVesr[04],61) = Adresse.Anschrift[10].
- SUBSTRING(VVesr[05],61) = Adresse.Anschrift[11].
-
- SUBSTRING(VZeile,001) = STRING(PZReferenz,"XX XXXXX XXXXX XXXXX XXXXX XXXXX").
- SUBSTRING(VVesr[03],04) = SUBSTRING(VZeile,01,14).
- SUBSTRING(VVesr[04],01) = SUBSTRING(VZeile,16,17).
- SUBSTRING(VVesr[05],01) = Adresse.Anschrift[08].
- SUBSTRING(VVesr[06],01) = Adresse.Anschrift[09].
- SUBSTRING(VVesr[07],01) = Adresse.Anschrift[10].
- SUBSTRING(VVesr[08],01) = Adresse.Anschrift[11].
- SUBSTRING(VVesr[09],25) = STRING(VSZeile,"x(53)").
- SUBSTRING(VVesr[09],82) = "H".
- VVesr[09] = BDrucker.Dru10cpi
- + BDrucker.DruLQb
- + CHR(27) + "k" + CHR(05)
- + VVesr[09]
- + CHR(27) + "k" + CHR(00)
- + BDrucker.DruLQe
- + BDrucker.Dru12cpi.
-
- DO ix = 1 TO 10:
- VZeile = VVesr[ix].
- { v8/putstream.i "1" }
- END.
-
- LEAVE.
- END.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE VESR_DRUCK02 C-Win
- PROCEDURE VESR_DRUCK02 :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR VVESR AS CHAR FORMAT "x(90)" EXTENT 25.
- DEF VAR PZBetrag AS CHAR FORMAT "x(13)".
- DEF VAR PZReferenz AS CHAR FORMAT "x(27)".
- DEF VAR PZTNummer AS CHAR FORMAT "x(09)".
- DEF VAR VSZeile AS CHAR FORMAT "x(58)".
- DEF VAR VZeile AS CHAR FORMAT "x(58)".
- DEF VAR XArt AS INT.
- DEF VAR XAnz AS INT.
- DEF VAR XBetr AS CHAR FORMAT "x(20)".
- DEF VAR VESR_P AS CHAR FORMAT "x(02)".
- DEF VAR VESR AS CHAR FORMAT "x(02)".
-
- DEF VAR XBetrag AS CHAR FORMAT "x(12)".
- FIND Tabel USE-INDEX Tabel-k1
- WHERE Tabel.Firma = GVFirma
- AND Tabel.RecArt = 'FAKDRU'
- AND Tabel.CodeC = 'BESR02'
- AND Tabel.CodeI = 0
- AND Tabel.Sprcd = 1 NO-LOCK NO-ERROR.
- IF NOT AVAILABLE Tabel THEN RETURN.
-
- FIND XSchrift USE-INDEX Schrift-k1
- WHERE XSchrift.Schname = Tabel.Bez1
- AND XSchrift.Schbild = Tabel.Bez2 NO-LOCK NO-ERROR.
- IF NOT AVAILABLE XSchrift THEN RETURN.
-
- FIND XDrucker USE-INDEX Drucker-k1
- WHERE XDrucker.Drucker = XSchrift.Schdru NO-LOCK NO-ERROR.
- IF NOT AVAILABLE XDrucker THEN RETURN.
- VTempVESR = VTemp + "VESR".
- XSchacht = Tabel.Dec_3.
-
- OUTPUT STREAM VOut_Stream TO VALUE(VTempVESR).
-
- DO WHILE TRUE:
- VVesr = ''.
- SUBSTRING(VVesr[03],001) = 'Bank Zimmerberg AG'.
- SUBSTRING(VVesr[03],028) = 'Bank Zimmerberg AG'.
- SUBSTRING(VVesr[04],001) = '8810 Horgen '.
- SUBSTRING(VVesr[04],028) = '8810 Horgen '.
- VVesr[03] = XDrucker.dru12cpi + VVesr[03].
-
- SUBSTRING(VVesr[07],001) = 'Huber Getränkehandel AG'.
- SUBSTRING(VVesr[07],028) = 'Huber Getränkehandel AG'.
- SUBSTRING(VVesr[07],094) = ''.
- SUBSTRING(VVesr[08],001) = 'Allmendstrasse 91'.
- SUBSTRING(VVesr[08],028) = 'Allmendstrasse 91'.
- SUBSTRING(VVesr[09],001) = '8041 Zürich'.
- SUBSTRING(VVesr[09],028) = '8041 Zürich'.
- VVesr[07] = XDrucker.dru12cpi + VVesr[07].
- PZBetrag = ''.
- XBetrag = ''.
- IF Rundbetr < 0 THEN DO:
- PZBetrag = FILL('*', 13).
- PZReferenz = FILL('*', 27).
- PZTNummer = FILL('*', 09).
- XBetrag = FILL('*', 12).
- END.
- ELSE DO:
- IF Rundbetr > 0
- THEN PZBetrag = "01" + STRING(Rundbetr * 100,"9999999999 ").
- IF Rundbetr = 0
- THEN PZBetrag = " 04 ".
- PZReferenz = "80401100000"
- + STRING(VesrKnr,"999999")
- + "0"
- + STRING(VesrFnr,"999999")
- + "00".
- PZTNummer = "01007648".
- IF Rundbetr > 0
- THEN XBetrag = STRING((Rundbetr * 100),"zzzzzz999").
- RUN PRUEFZIFFER ( INPUT-OUTPUT PZBetrag , INPUT-OUTPUT PZReferenz,
- INPUT-OUTPUT PZTNummer, OUTPUT VSZeile ).
- END.
- SUBSTRING(VVesr[11],013) = ' 01-7648-2'.
- SUBSTRING(VVesr[11],042) = ' 01-7648-2'.
- SUBSTRING(VVesr[09],059) = STRING(PZReferenz,"XX XXXXX XXXXX XXXXX XXXXX XXXXX").
- SUBSTRING(VVesr[13],02) = STRING(XBetrag,"X X X X X X X X X").
- SUBSTRING(VVesr[13],26) = STRING(XBetrag,"X X X X X X X X X").
- VVesr[13] = XDrucker.dru10cpi + VVesr[13] + XDrucker.dru12cpi.
- FIND Adresse USE-INDEX Adresse-k1
- WHERE Adresse.Firma = AdFirma
- AND Adresse.Knr = VesrKnr NO-LOCK NO-ERROR.
- SUBSTRING(VVesr[14],59) = Adresse.Anschrift[07].
- SUBSTRING(VVesr[15],59) = Adresse.Anschrift[08].
- SUBSTRING(VVesr[16],59) = Adresse.Anschrift[09].
- SUBSTRING(VVesr[17],59) = Adresse.Anschrift[10].
- SUBSTRING(VVesr[18],59) = Adresse.Anschrift[11].
-
- SUBSTRING(VZeile,001) = STRING(PZReferenz,"XX XXXXX XXXXX XXXXX XXXXX XXXXX").
- SUBSTRING(VVesr[15],04) = SUBSTRING(VZeile,01,14).
- SUBSTRING(VVesr[16],01) = SUBSTRING(VZeile,16,17).
- SUBSTRING(VVesr[17],01) = SUBSTRING(Adresse.Anschrift[08],01,25).
- SUBSTRING(VVesr[18],01) = SUBSTRING(Adresse.Anschrift[09],01,25).
- SUBSTRING(VVesr[19],01) = SUBSTRING(Adresse.Anschrift[10],01,25).
- SUBSTRING(VVesr[20],01) = SUBSTRING(Adresse.Anschrift[11],01,25).
- SUBSTRING(VVesr[21],01) = 'H'.
- SUBSTRING(VVesr[21],26) = STRING(VSZeile,"x(53)").
- VVesr[21] = XDrucker.DruInvB
- + VVesr[21]
- + XDrucker.DruInvE.
-
- VZeile = FILL(CHR(10), Tabel.Int_2).
- PUT STREAM VOut_Stream CONTROL VZeile.
- PUT STREAM VOut_Stream CONTROL CHR(27) '='.
- DO ix = 1 TO 15:
- VZeile = ''.
- VZeile = VBesrKopf[ix] + CHR(10).
- PUT STREAM VOut_Stream CONTROL VZeile.
- END.
-
- VZeile = FILL(CHR(10), 20).
- PUT STREAM VOut_Stream CONTROL VZeile.
- DO ix = 1 TO 21:
- VZeile = VVesr[ix] + CHR(10).
- PUT STREAM VOut_Stream CONTROL VZeile.
- END.
-
- LEAVE.
- END.
- OUTPUT STREAM VOut_Stream CLOSE.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE VESR_DRUCK03 C-Win
- PROCEDURE VESR_DRUCK03 :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR VVESR AS CHAR FORMAT "x(99)" EXTENT 25.
- DEF VAR PZBetrag AS CHAR FORMAT "x(13)".
- DEF VAR PZReferenz AS CHAR FORMAT "x(27)".
- DEF VAR PZTNummer AS CHAR FORMAT "x(09)".
- DEF VAR VSZeile AS CHAR FORMAT "x(58)".
- DEF VAR VZeile AS CHAR FORMAT "x(58)".
- DEF VAR XArt AS INT.
- DEF VAR XAnz AS INT.
- DEF VAR XBetr AS CHAR FORMAT "x(20)".
- DEF VAR VESR_P AS CHAR FORMAT "x(02)".
- DEF VAR VESR AS CHAR FORMAT "x(02)".
-
- DEF VAR XBetrag AS CHAR FORMAT "x(12)".
- DEF VAR ii AS INT NO-UNDO.
-
- DO WHILE TRUE:
- { v8/putstream.i "07" }
- VZeile = ''.
- SUBSTRING(VZeile,01) = 'Bank Zimmerberg AG'.
- SUBSTRING(VZeile,29) = 'Bank Zimmerberg AG'.
- { v8/putstream.i "01" }
-
- SUBSTRING(VZeile,01) = '8810 Horgen '.
- SUBSTRING(VZeile,29) = '8810 Horgen '.
- { v8/putstream.i "02" }
- SUBSTRING(VZeile,01) = 'Huber Getränkehandel AG'.
- SUBSTRING(VZeile,29) = 'Huber Getränkehandel AG'.
- { v8/putstream.i "01" }
- SUBSTRING(VZeile,01) = 'Allmendstrasse 91'.
- SUBSTRING(VZeile,29) = 'Allmendstrasse 91'.
- { v8/putstream.i "01" }
- SUBSTRING(VZeile,01) = '8041 Zürich'.
- SUBSTRING(VZeile,29) = '8041 Zürich'.
- { v8/putstream.i "1" }
- PZBetrag = ''.
- IF Rundbetr < 0 THEN DO:
- PZBetrag = FILL('*', 13).
- PZReferenz = FILL('*', 27).
- PZTNummer = FILL('*', 09).
- XBetrag = FILL('*', 12).
- END.
- ELSE DO:
- IF Rundbetr > 0
- THEN PZBetrag = "01" + STRING(Rundbetr * 100,"9999999999 ").
- IF Rundbetr = 0
- THEN PZBetrag = " 04 ".
- PZReferenz = "80401100000"
- + STRING(VesrKnr,"999999")
- + "0"
- + STRING(VesrFnr,"999999")
- + "00".
- PZTNummer = "01007648".
- XBetrag = STRING((Rundbetr * 100),"zzzzzz999").
- RUN PRUEFZIFFER ( INPUT-OUTPUT PZBetrag , INPUT-OUTPUT PZReferenz,
- INPUT-OUTPUT PZTNummer, OUTPUT VSZeile ).
- END.
- SUBSTRING(VZeile,061) = STRING(PZReferenz,"XX XXXXX XXXXX XXXXX XXXXX XXXXX").
- { v8/putstream.i "2" }
- SUBSTRING(VZeile,12) = '01-7648-2'.
- SUBSTRING(VZeile,43) = '01-7648-2'.
- { v8/putstream.i "2" }
- IF Rundbetr <> 0 THEN DO:
- DO ii = 9 TO 1 BY -1:
- IF SUBSTRING(XBetrag,ii,01) <> '' THEN NEXT.
- SUBSTRING(XBetrag,ii) = '-'.
- LEAVE.
- END.
- SUBSTRING(VZeile,01) = STRING(XBetrag," X X X X X X X X X").
- SUBSTRING(VZeile,25) = STRING(XBetrag," X X X X X X X X X").
- END.
- VZeile = BDrucker.Dru10cpi + VZeile + BDrucker.Dru12cpi.
- { v8/putstream.i "1" }
- FIND Adresse USE-INDEX Adresse-k1
- WHERE Adresse.Firma = AdFirma
- AND Adresse.Knr = VesrKnr NO-LOCK NO-ERROR.
- VVesr = "".
- SUBSTRING(VVesr[01],61) = Adresse.Anschrift[07].
- SUBSTRING(VVesr[02],61) = Adresse.Anschrift[08].
- SUBSTRING(VVesr[03],61) = Adresse.Anschrift[09].
- SUBSTRING(VVesr[04],61) = Adresse.Anschrift[10].
- SUBSTRING(VVesr[05],61) = Adresse.Anschrift[11].
-
- SUBSTRING(VZeile,001) = STRING(PZReferenz,"XX XXXXX XXXXX XXXXX XXXXX XXXXX").
- SUBSTRING(VVesr[02],10) = SUBSTRING(VZeile,01,14).
- SUBSTRING(VVesr[03],07) = SUBSTRING(VZeile,16,17).
- SUBSTRING(VVesr[04],01) = Adresse.Anschrift[08].
- SUBSTRING(VVesr[05],01) = Adresse.Anschrift[09].
- SUBSTRING(VVesr[06],01) = Adresse.Anschrift[10].
- SUBSTRING(VVesr[07],01) = Adresse.Anschrift[11].
- SUBSTRING(VVesr[08],25) = STRING(VSZeile,"x(53)").
- /*
- SUBSTRING(VVesr[08],82) = "H".
- */
- VVesr[08] = BDrucker.Dru10cpi
- + BDrucker.DruLQb
- + CHR(27) + "k" + CHR(05)
- + VVesr[08]
- + CHR(27) + "k" + '0'
- + BDrucker.DruLQe
- + BDrucker.Dru12cpi.
-
- DO ix = 1 TO 10:
- VZeile = VVesr[ix].
- { v8/putstream.i "1" }
- END.
-
- LEAVE.
- END.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE VESR_DRUCK04 C-Win
- PROCEDURE VESR_DRUCK04 :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR VVESR AS CHAR FORMAT "x(90)" EXTENT 25.
- DEF VAR PZBetrag AS CHAR FORMAT "x(13)".
- DEF VAR PZReferenz AS CHAR FORMAT "x(27)".
- DEF VAR PZTNummer AS CHAR FORMAT "x(09)".
- DEF VAR VSZeile AS CHAR FORMAT "x(58)".
- DEF VAR VZeile AS CHAR FORMAT "x(58)".
- DEF VAR XArt AS INT.
- DEF VAR XAnz AS INT.
- DEF VAR XBetr AS CHAR FORMAT "x(20)".
- DEF VAR VESR_P AS CHAR FORMAT "x(02)".
- DEF VAR VESR AS CHAR FORMAT "x(02)".
-
- DEF VAR XBetrag AS CHAR FORMAT "x(12)".
- FIND Tabel USE-INDEX Tabel-k1
- WHERE Tabel.Firma = GVFirma
- AND Tabel.RecArt = 'FAKDRU'
- AND Tabel.CodeC = 'BESR02'
- AND Tabel.CodeI = 0
- AND Tabel.Sprcd = 1 NO-LOCK NO-ERROR.
- IF NOT AVAILABLE Tabel THEN RETURN.
-
- FIND XSchrift USE-INDEX Schrift-k1
- WHERE XSchrift.Schname = Tabel.Bez1
- AND XSchrift.Schbild = Tabel.Bez2 NO-LOCK NO-ERROR.
- IF NOT AVAILABLE XSchrift THEN RETURN.
-
- FIND XDrucker USE-INDEX Drucker-k1
- WHERE XDrucker.Drucker = XSchrift.Schdru NO-LOCK NO-ERROR.
- IF NOT AVAILABLE XDrucker THEN RETURN.
- VTempVESR = VTemp + "VESR".
- XSchacht = Tabel.Dec_3.
- OUTPUT STREAM VOut_Stream TO VALUE(VTempVESR).
-
- DO WHILE TRUE:
- VVesr = ''.
- SUBSTRING(VVesr[03],001) = 'Bank Zimmerberg AG'.
- SUBSTRING(VVesr[03],028) = 'Bank Zimmerberg AG'.
- SUBSTRING(VVesr[04],001) = '8810 Horgen '.
- SUBSTRING(VVesr[04],028) = '8810 Horgen '.
- VVesr[03] = XDrucker.dru12cpi + VVesr[03].
-
- SUBSTRING(VVesr[07],001) = 'Huber Getränkehandel AG'.
- SUBSTRING(VVesr[07],028) = 'Huber Getränkehandel AG'.
- SUBSTRING(VVesr[07],094) = ''.
- SUBSTRING(VVesr[08],001) = 'Allmendstrasse 91'.
- SUBSTRING(VVesr[08],028) = 'Allmendstrasse 91'.
- SUBSTRING(VVesr[09],001) = '8041 Zürich'.
- SUBSTRING(VVesr[09],028) = '8041 Zürich'.
- VVesr[07] = XDrucker.dru12cpi + VVesr[07].
- PZBetrag = ''.
- XBetrag = ''.
- IF Rundbetr < 0 THEN DO:
- PZBetrag = FILL('*', 13).
- PZReferenz = FILL('*', 27).
- PZTNummer = FILL('*', 09).
- XBetrag = FILL('*', 12).
- END.
- ELSE DO:
- IF Rundbetr > 0
- THEN PZBetrag = "01" + STRING(Rundbetr * 100,"9999999999 ").
- IF Rundbetr = 0
- THEN PZBetrag = " 04 ".
- PZReferenz = "80401100000"
- + STRING(VesrKnr,"999999")
- + "0"
- + STRING(VesrFnr,"999999")
- + "00".
- PZTNummer = "01007648".
- IF Rundbetr > 0
- THEN XBetrag = STRING((Rundbetr * 100),"zzzzzz999").
- RUN PRUEFZIFFER ( INPUT-OUTPUT PZBetrag , INPUT-OUTPUT PZReferenz,
- INPUT-OUTPUT PZTNummer, OUTPUT VSZeile ).
- END.
- SUBSTRING(VVesr[11],013) = ' 01-7648-2'.
- SUBSTRING(VVesr[11],042) = ' 01-7648-2'.
- SUBSTRING(VVesr[09],059) = STRING(PZReferenz,"XX XXXXX XXXXX XXXXX XXXXX XXXXX").
- SUBSTRING(VVesr[13],02) = STRING(XBetrag,"X X X X X X X X X").
- SUBSTRING(VVesr[13],26) = STRING(XBetrag,"X X X X X X X X X").
- VVesr[13] = XDrucker.dru10cpi + VVesr[13] + XDrucker.dru12cpi.
- FIND Adresse USE-INDEX Adresse-k1
- WHERE Adresse.Firma = AdFirma
- AND Adresse.Knr = VesrKnr NO-LOCK NO-ERROR.
- SUBSTRING(VVesr[14],59) = Adresse.Anschrift[07].
- SUBSTRING(VVesr[15],59) = Adresse.Anschrift[08].
- SUBSTRING(VVesr[16],59) = Adresse.Anschrift[09].
- SUBSTRING(VVesr[17],59) = Adresse.Anschrift[10].
- SUBSTRING(VVesr[18],59) = Adresse.Anschrift[11].
-
- SUBSTRING(VZeile,001) = STRING(PZReferenz,"XX XXXXX XXXXX XXXXX XXXXX XXXXX").
- SUBSTRING(VVesr[15],04) = SUBSTRING(VZeile,01,14).
- SUBSTRING(VVesr[16],01) = SUBSTRING(VZeile,16,17).
- SUBSTRING(VVesr[17],01) = SUBSTRING(Adresse.Anschrift[08],01,25).
- SUBSTRING(VVesr[18],01) = SUBSTRING(Adresse.Anschrift[09],01,25).
- SUBSTRING(VVesr[19],01) = SUBSTRING(Adresse.Anschrift[10],01,25).
- SUBSTRING(VVesr[20],01) = SUBSTRING(Adresse.Anschrift[11],01,25).
- SUBSTRING(VVesr[21],01) = 'H'.
- SUBSTRING(VVesr[21],26) = STRING(VSZeile,"x(53)").
- VVesr[21] = XDrucker.DruInvB
- + VVesr[21]
- + XDrucker.DruInvE.
-
- VZeile = FILL(CHR(10), Tabel.Int_2).
- PUT STREAM VOut_Stream CONTROL VZeile.
-
- PUT STREAM VOut_Stream CONTROL CHR(27) '='.
- /* Halbe Zeilenschaltung -------------------------
- */
-
- DO ix = 1 TO 15:
- VZeile = ''.
- VZeile = ' ' + VBesrKopf[ix] + CHR(10).
- PUT STREAM VOut_Stream CONTROL VZeile.
- END.
-
- VZeile = FILL(CHR(10), 20).
- PUT STREAM VOut_Stream CONTROL VZeile.
- DO ix = 1 TO 21:
- VZeile = VVesr[ix] + (IF ix < 21 THEN CHR(10) ELSE '').
- PUT STREAM VOut_Stream CONTROL VZeile.
- END.
-
- LEAVE.
- END.
- OUTPUT STREAM VOut_Stream CLOSE.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE VESR_DRUCK05 C-Win
- PROCEDURE VESR_DRUCK05 :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR VVESR AS CHAR FORMAT "x(90)" EXTENT 25.
- DEF VAR PZBetrag AS CHAR FORMAT "x(13)".
- DEF VAR PZReferenz AS CHAR FORMAT "x(27)".
- DEF VAR PZTNummer AS CHAR FORMAT "x(09)".
- DEF VAR VSZeile AS CHAR FORMAT "x(58)".
- DEF VAR VZeile AS CHAR FORMAT "x(58)".
- DEF VAR XArt AS INT.
- DEF VAR XAnz AS INT.
- DEF VAR XBetr AS CHAR FORMAT "x(20)".
- DEF VAR VESR_P AS CHAR FORMAT "x(02)".
- DEF VAR VESR AS CHAR FORMAT "x(02)".
-
- DEF VAR XBetrag AS CHAR FORMAT "x(12)".
- DEF VAR ii AS INT NO-UNDO.
-
- DO WHILE TRUE:
- { v8/putstream.i "07" }
- VZeile = ''.
- SUBSTRING(VZeile,01) = 'Bank Zimmerberg AG'.
- SUBSTRING(VZeile,29) = 'Bank Zimmerberg AG'.
- { v8/putstream.i "01" }
-
- SUBSTRING(VZeile,01) = '8810 Horgen '.
- SUBSTRING(VZeile,29) = '8810 Horgen '.
- { v8/putstream.i "02" }
- SUBSTRING(VZeile,01) = 'Huber Getränkehandel AG'.
- SUBSTRING(VZeile,29) = 'Huber Getränkehandel AG'.
- { v8/putstream.i "01" }
- SUBSTRING(VZeile,01) = 'Allmendstrasse 91'.
- SUBSTRING(VZeile,29) = 'Allmendstrasse 91'.
- { v8/putstream.i "01" }
- SUBSTRING(VZeile,01) = '8041 Zürich'.
- SUBSTRING(VZeile,29) = '8041 Zürich'.
- { v8/putstream.i "1" }
- PZBetrag = ''.
- IF Rundbetr < 0 THEN DO:
- PZBetrag = FILL('*', 13).
- PZReferenz = FILL('*', 27).
- PZTNummer = FILL('*', 09).
- XBetrag = FILL('*', 12).
- END.
- ELSE DO:
- IF Rundbetr > 0
- THEN PZBetrag = "01" + STRING(Rundbetr * 100,"9999999999 ").
- IF Rundbetr = 0
- THEN PZBetrag = " 04 ".
- PZReferenz = "80401100000"
- + STRING(VesrKnr,"999999")
- + "0"
- + STRING(VesrFnr,"999999")
- + "00".
- PZTNummer = "01007648".
- XBetrag = STRING((Rundbetr * 100),"zzzzzz999").
- RUN PRUEFZIFFER ( INPUT-OUTPUT PZBetrag , INPUT-OUTPUT PZReferenz,
- INPUT-OUTPUT PZTNummer, OUTPUT VSZeile ).
- END.
- SUBSTRING(VZeile,061) = STRING(PZReferenz,"XX XXXXX XXXXX XXXXX XXXXX XXXXX").
- { v8/putstream.i "2" }
- SUBSTRING(VZeile,12) = '01-7648-2'.
- SUBSTRING(VZeile,43) = '01-7648-2'.
- { v8/putstream.i "2" }
- IF Rundbetr <> 0 THEN DO:
- DO ii = 9 TO 1 BY -1:
- IF SUBSTRING(XBetrag,ii,01) <> '' THEN NEXT.
- SUBSTRING(XBetrag,ii) = '-'.
- LEAVE.
- END.
- SUBSTRING(VZeile,01) = STRING(XBetrag," X X X X X X X X X").
- SUBSTRING(VZeile,25) = STRING(XBetrag," X X X X X X X X X").
- END.
- VZeile = BDrucker.Dru10cpi + VZeile + BDrucker.Dru12cpi.
- { v8/putstream.i "1" }
- FIND Adresse USE-INDEX Adresse-k1
- WHERE Adresse.Firma = AdFirma
- AND Adresse.Knr = VesrKnr NO-LOCK NO-ERROR.
- VVesr = "".
- SUBSTRING(VVesr[01],61) = Adresse.Anschrift[07].
- SUBSTRING(VVesr[02],61) = Adresse.Anschrift[08].
- SUBSTRING(VVesr[03],61) = Adresse.Anschrift[09].
- SUBSTRING(VVesr[04],61) = Adresse.Anschrift[10].
- SUBSTRING(VVesr[05],61) = Adresse.Anschrift[11].
-
- SUBSTRING(VZeile,001) = STRING(PZReferenz,"XX XXXXX XXXXX XXXXX XXXXX XXXXX").
- SUBSTRING(VVesr[02],10) = SUBSTRING(VZeile,01,14).
- SUBSTRING(VVesr[03],07) = SUBSTRING(VZeile,16,17).
- SUBSTRING(VVesr[04],01) = Adresse.Anschrift[08].
- SUBSTRING(VVesr[05],01) = Adresse.Anschrift[09].
- SUBSTRING(VVesr[06],01) = Adresse.Anschrift[10].
- SUBSTRING(VVesr[07],01) = Adresse.Anschrift[11].
- SUBSTRING(VVesr[08],25) = STRING(VSZeile,"x(53)").
- SUBSTRING(VVesr[08],82) = "H".
- VVesr[08] = BDrucker.DruLQb
- + BDrucker.DruLQe
- + BDrucker.Dru12cpi.
-
- DO ix = 1 TO 10:
- VZeile = VVesr[ix].
- { v8/putstream.i "1" }
- END.
-
- LEAVE.
- END.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE VIPER_ADRESSE C-Win
- PROCEDURE VIPER_ADRESSE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF INPUT PARAMETER ipString AS CHAR NO-UNDO.
-
- DEF VAR cZellen AS CHAR NO-UNDO.
- DEF VAR cWerte AS CHAR NO-UNDO.
- FIND FIRST tDokument
- WHERE tDokument.cGruppe = 'KOPF'
- AND tDokument.iZeile = 1
- AND tDokument.cFeld = 'Seite' NO-ERROR.
- IF NOT AVAILABLE tDokument THEN DO:
- CREATE tDokument.
- ASSIGN tDokument.cGruppe = 'KOPF'
- tDokument.iZeile = 1
- tDokument.cFeld = 'Seite'.
- END.
- tDokument.cInhalt = STRING(VSeite,'z9').
-
- cZellen = ''.
- cWerte = ''.
- FOR EACH tDokument
- WHERE tDokument.cGruppe = 'Kopf'
- BREAK BY tDokument.cGruppe
- BY tDokument.cFeld:
- cWerte = cWerte
- + tDokument.cInhalt.
- cZellen = cZellen
- + tDokument.cFeld.
- IF NOT LAST-OF ( tDokument.cGruppe ) THEN ASSIGN cWerte = cWerte + CHR(01)
- cZellen = cZellen + ','.
- END.
- RUN vpr_SetDelimiter (CHR(01)).
- RUN vpr_setGroupText ('Kopf', cZellen, cWerte).
- RUN vpr_FlushGroup ('Kopf').
-
- IF VSeite = 1 AND
- ipString <> 'SammFak' THEN DO:
- cZellen = ''.
- cWerte = ''.
- FOR EACH tDokument
- WHERE tDokument.cGruppe = 'KopfDetail'
- BREAK BY tDokument.cGruppe
- BY tDokument.cFeld:
- cWerte = cWerte
- + tDokument.cInhalt.
- cZellen = cZellen
- + tDokument.cFeld.
- IF NOT LAST-OF ( tDokument.cGruppe ) THEN ASSIGN cWerte = cWerte + CHR(01)
- cZellen = cZellen + ','.
- END.
- RUN vpr_SetDelimiter (CHR(01)).
- RUN vpr_setGroupText ('KopfDetail', cZellen, cWerte).
- RUN vpr_FlushGroup ('KopfDetail').
- END.
- RUN vpr_FlushGroup ('Fusstext').
- RUN vpr_FlushGroup ('Ueberschrift').
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE VIPER_ARTIKELZEILE C-Win
- PROCEDURE VIPER_ARTIKELZEILE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF INPUT PARAMETER ipRecid AS RECID NO-UNDO.
-
- DEF VAR cString AS CHAR NO-UNDO.
-
- FIND tAufze WHERE RECID(tAufze) = ipRecid NO-LOCK.
- FIND Aufze WHERE RECID(Aufze) = tAufze.Zeile NO-LOCK.
- iArtZeile = iArtZeile + 1.
- DO WHILE Aufze.Artnr = 0:
- CREATE tDokument.
- ASSIGN tDokument.cGruppe = 'ArtikelZeile1'
- tDokument.iZeile = iArtZeile
- tDokument.cFeld = 'Bez1'
- tDokument.cInhalt = Aufze.Bez1.
-
- IF Aufze.Bez2 <> '' THEN DO:
- iArtZeile = iArtZeile + 1.
- CREATE tDokument.
- ASSIGN tDokument.cGruppe = 'ArtikelZeile1'
- tDokument.iZeile = iArtZeile
- tDokument.cFeld = 'Bez1'
- tDokument.cInhalt = Aufze.Bez2.
- END.
- RETURN.
- END.
- FIND Artst OF Aufze NO-LOCK.
-
- FIND GGebinde WHERE GGebinde.Firma = GVFirma
- AND GGebinde.Geb_Cd = Aufze.GGeb_Cd NO-LOCK NO-ERROR.
- FIND VGebinde WHERE VGebinde.Firma = GVFirma
- AND VGebinde.Geb_Cd = Aufze.VGeb_Cd NO-LOCK NO-ERROR.
- FIND KGebinde WHERE KGebinde.Firma = GVFirma
- AND KGebinde.Geb_Cd = Aufze.KGeb_Cd NO-LOCK NO-ERROR.
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'KGebinde', KGebinde.Kbez ).
-
- IF Aufze.VGeb_Me <> 0 THEN DO:
- cString = STRING(Aufze.VGeb_Me,'->>>>')
- + 'x '
- + VGebinde.KBez.
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'VGebinde', cString ).
- END.
-
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Menge', STRING(Aufze.MGeli,'->>,>>9') ).
-
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Bez1', Aufze.Bez1 ).
-
- IF Aufze.Jahr > 9 THEN DO:
- cString = STRING(Aufze.Jahr,"9999").
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'JG', cString ).
- END.
-
- IF Aufze.Alk_Gehalt <> 0 THEN DO:
- cString = STRING(Aufze.Alk_Gehalt,"zz9.9%").
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Alk%', cString ).
- END.
-
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Artnr', STRING(Aufze.Artnr,"999999") ).
-
- IF FPreis THEN DO:
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Preis', STRING(Aufze.Preis,'>,>>9.999') ).
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Betrag', STRING(Aufze.Bru_Betr ,'->>>,>>9.99') ).
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'MC', STRING(Aufze.WuCd,'z9') ).
- END.
-
- IF Aufze.Bez2 <> '' THEN DO:
- iArtZeile = iArtZeile + 1.
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Bez1', Aufze.Bez2 ).
- END.
-
- IF Aufze.Aktion THEN DO:
- iArtZeile = iArtZeile + 1.
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Bez1', Aufze.Aktion_Text ).
- END.
- DO WHILE FPreis:
- IF Aufze.Rab_Betr = 0 THEN LEAVE.
- iArtZeile = iArtZeile + 1.
- RabWert = ABSOLUTE(Aufze.Rab_Wert).
- IF Aufze.Rab_Art = 3 THEN RabText = VEpzText.
- ELSE DO:
- IF Aufze.Rab_Betr < 0 THEN RabText = VZusText.
- IF Aufze.Rab_Betr > 0 THEN RabText = VRabText.
- END.
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Bez1', TRIM(RabText) ).
-
- IF Aufze.Rab_Art = 1 THEN cString = STRING(RabWert,"->9.9%").
- IF Aufze.Rab_Art = 2 OR
- Aufze.Rab_Art = 3 THEN cString = STRING(RabWert,"-9.99").
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Preis', cString ).
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Betrag', TRIM(STRING(- Aufze.Rab_Betr,"->>>,>>9.99")) ).
- LEAVE.
- END.
-
- DO WHILE FPreis:
- IF Aufze.Zus_Betr = 0 THEN LEAVE.
-
- iArtZeile = iArtZeile + 1.
- RabWert = ABSOLUTE(Aufze.Zus_Wert).
- IF Aufze.Zus_Art = 3 THEN RabText = VEpzText.
- ELSE DO:
- IF Aufze.Zus_Betr < 0 THEN RabText = VRabText.
- IF Aufze.Zus_Betr > 0 THEN RabText = VZusText.
- END.
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Bez1', TRIM(RabText) ).
-
- IF Aufze.Zus_Art = 1 THEN cString = STRING(RabWert,"->9.9%").
- IF Aufze.Zus_Art = 2 OR
- Aufze.Zus_Art = 3 THEN cString = STRING(RabWert,"-9.99").
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Preis', cString ).
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Betrag', TRIM(STRING(+ Aufze.Zus_Betr,"->>>,>>9.99")) ).
- LEAVE.
- END.
-
- /* ---- Summengruppen-Total -------------------------------------------- */
-
- IF Aufze.Rab_Su_Grp <> 0 THEN DO:
- FIND FIRST TRabSumm WHERE TRabSumm.Rab_Summ = Aufze.Rab_Su_Grp NO-ERROR.
- IF AVAILABLE TRabSumm THEN DO:
- TRabSumm.Auf_Rab = TRabSumm.Auf_Rab + Aufze.Auf_Rab.
- TRabSumm.Abh_Rab = TRabSumm.Abh_Rab + Aufze.Abh_Rab.
- END.
- END.
-
- /* ---- Warengruppen-Totale -------------------------------------------- */
-
- FIND FIRST TUmsGrp WHERE TUmsGrp.Ums_Grp = Artst.Wg_Grp
- AND TUmsGrp.MWst = Aufze.WuCd
- AND TUmsGrp.Ansatz = Aufze.Mwst% NO-ERROR.
- IF NOT AVAILABLE TUmsGrp THEN DO:
- FIND WarenGrp NO-LOCK USE-INDEX WarenGrp-k1
- WHERE WarenGrp.Firma = GVFirma
- AND WarenGrp.Wgr = Artst.Wg_Grp NO-ERROR.
- CREATE TUmsGrp.
- ASSIGN TUmsGrp.Ums_Grp = Artst.Wg_Grp
- TUmsGrp.Mwst = Aufze.WuCd
- TUmsGrp.Ansatz = Aufze.MWST%.
- IF AVAILABLE WarenGrp THEN TUmsGrp.Bez = WarenGrp.Bez1.
- ELSE TUmsGrp.Bez = "??????????".
- END.
-
- TUmsGrp.Ums_Betr = TUmsGrp.Ums_Betr
- + Aufze.Net_Betr
- - Aufze.Auf_Rab
- - Aufze.Abh_Rab.
- RUN VIPER_AUSGABE_GRUPPE ( 'ArtikelZeile1' ).
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE VIPER_AUSGABE_ARTIKELZEILE C-Win
- PROCEDURE VIPER_AUSGABE_ARTIKELZEILE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR cZellen AS CHAR NO-UNDO.
- DEF VAR cWerte AS CHAR NO-UNDO.
- DEF VAR iPos AS INT NO-UNDO.
-
- FOR EACH tDokument
- WHERE tDokument.cGruppe = 'ArtikelZeile1'
- BREAK BY tDokument.cGruppe
- BY tDokument.iZeile:
- IF FIRST-OF ( tDokument.iZeile ) THEN DO:
- cZellen = ''.
- cWerte = ''.
- END.
- cWerte = cWerte
- + tDokument.cInhalt.
- cZellen = cZellen
- + tDokument.cFeld.
- IF NOT LAST-OF ( tDokument.iZeile ) THEN DO:
- ASSIGN cWerte = cWerte + CHR(01)
- cZellen = cZellen + ','.
- NEXT.
- END.
- RUN vpr_SetDelimiter (CHR(01)).
- RUN vpr_setGroupText ('ArtikelZeile1', cZellen, cWerte).
- iVPagePos = vpr_getPageVPos().
- iPos = iVPagePos + vpr_getGroupHeight('ArtikelZeile1').
- IF iPos > iVMaxPos THEN DO:
- RUN VIPER_NEUE_SEITE.
- RUN VIPER_ADRESSE ('').
- iVPagePos = vpr_getPageVPos().
- RUN vpr_setGroupVPos ('ArtikelZeile1', iVPagePos ).
- RUN vpr_setGroupText ('ArtikelZeile1', cZellen, cWerte).
- END.
- RUN vpr_FlushGroup ('ArtikelZeile1').
- IF LAST-OF ( tDokument.cGruppe ) THEN LEAVE.
-
- iVPagePos = vpr_getPageVPos().
- RUN vpr_setGroupVPos ( 'ArtikelZeile1', iVPagePos ).
- END.
- FOR EACH tDokument
- WHERE tDokument.cGruppe = 'ArtikelZeile1':
- DELETE tDokument.
- END.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE VIPER_AUSGABE_GRUPPE C-Win
- PROCEDURE VIPER_AUSGABE_GRUPPE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF INPUT PARAMETER ipGruppe AS CHAR NO-UNDO.
- DEF VAR cZellen AS CHAR NO-UNDO.
- DEF VAR cWerte AS CHAR NO-UNDO.
- DEF VAR iSpace AS INT NO-UNDO.
-
- iSpace = vpr_getPageVPos().
- FOR EACH tDokument NO-LOCK
- WHERE tDokument.cGruppe = ipGruppe
- BREAK BY tDokument.cGruppe
- BY tDokument.iZeile:
- IF FIRST-OF ( tDokument.iZeile ) THEN iSpace = iSpace + 40.
- END.
- IF iSpace > iVMaxPos THEN DO:
- RUN vpr_NewPage.
- RUN vpr_InitGroups('').
- IF iZaehler = iLauf THEN RUN vpr_initGraphObj.
- VSeite = VSeite + 1.
- RUN VIPER_ADRESSE (VDokArt).
- END.
-
- iVPagePos = vpr_getPageVPos().
- CASE ipGruppe:
- WHEN 'Gebindeabrechnung' THEN DO:
- iVPagePos = iVPagePos + 20.
- RUN vpr_setGroupVPos ( 'GebindeabrechnungTitel', iVPagePos ).
- RUN vpr_FlushGroup ( 'GebindeabrechnungTitel').
- iVPagePos = vpr_getPageVPos().
- END.
- OTHERWISE DO:
- END.
- END CASE.
-
- FOR EACH tDokument
- WHERE tDokument.cGruppe = ipGruppe
- BREAK BY tDokument.cGruppe
- BY tDokument.iZeile:
- IF FIRST-OF ( tDokument.cGruppe ) THEN DO:
- IF ipGruppe <> 'Kondition' THEN DO:
- iVPagePos = vpr_getPageVPos().
- RUN vpr_setGroupVPos ( ipGruppe, iVPagePos ).
- END.
- END.
- IF FIRST-OF ( tDokument.iZeile ) THEN DO:
- cZellen = ''.
- cWerte = ''.
- END.
- cWerte = cWerte
- + tDokument.cInhalt.
- cZellen = cZellen
- + tDokument.cFeld.
- IF NOT LAST-OF ( tDokument.iZeile ) THEN DO:
- ASSIGN cWerte = cWerte + CHR(01)
- cZellen = cZellen + ','.
- NEXT.
- END.
- RUN vpr_SetDelimiter (CHR(01)).
- RUN vpr_setGroupText (ipGruppe, cZellen, cWerte).
- RUN vpr_FlushGroup (ipGruppe).
- END.
- FOR EACH tDokument
- WHERE tDokument.cGruppe = ipGruppe:
- DELETE tDokument.
- END.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE VIPER_CREATE_DOKUMENT C-Win
- PROCEDURE VIPER_CREATE_DOKUMENT :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF INPUT PARAMETER ipGruppe AS CHAR NO-UNDO.
- DEF INPUT PARAMETER ipZeile AS INT NO-UNDO.
- DEF INPUT PARAMETER ipFeld AS CHAR NO-UNDO.
- DEF INPUT PARAMETER ipInhalt AS CHAR NO-UNDO.
-
- CREATE tDokument.
- ASSIGN tDokument.cGruppe = ipGruppe
- tDokument.iZeile = ipZeile
- tDokument.cFeld = ipFeld
- tDokument.cInhalt = ipInhalt.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE VIPER_INIT C-Win
- PROCEDURE VIPER_INIT :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF INPUT PARAMETER ipDokument AS CHAR NO-UNDO.
-
- DEF VAR cVorlage AS CHAR NO-UNDO.
- DEF VAR cZellen AS CHAR NO-UNDO.
- DEF VAR cZelle AS CHAR NO-UNDO.
- DEF VAR cGruppe AS CHAR NO-UNDO.
- DEF VAR ii AS INT NO-UNDO.
- IF NOT ipDokument BEGINS 'Samm' THEN DO:
- cVorlage = ipDokument + '.vfr'.
- cvpr_Dokument = ipDokument + '.vpr'.
- RUN vpr_SelectPrinter(F_Drucker) NO-ERROR.
- IF ERROR-STATUS:ERROR THEN RETURN 'ERROR'.
- RUN vpr_LoadVFR (cVorlage).
- RUN vpr_ActivateReport (ipDokument).
- RUN vpr_ResetDoc.
- RUN vpr_SetPreviewMode ('Direct').
- RUN vpr_setDocTitle ( ipDokument ).
- RUN vpr_InitGroups("").
- RUN vpr_initGraphObj.
- END.
- ELSE DO:
- IF iZaehler = 1 THEN DO:
- cVorlage = ipDokument + '.vfr'.
- cvpr_Dokument = ipDokument + '.vpr'.
- RUN vpr_LoadVFR (cVorlage).
- RUN vpr_ActivateReport (ipDokument).
- RUN vpr_ResetDoc.
- RUN vpr_SetPreviewMode ('Direct').
- RUN vpr_setDocTitle ( ipDokument ).
- END.
- ELSE DO:
- RUN vpr_NewPage.
- END.
- RUN vpr_InitGroups("").
- IF iZaehler = iLauf THEN RUN vpr_InitGraphObj.
- END.
-
- RUN vpr_SetGroupAttrib ("Kopf" , "Fixed=true").
- RUN vpr_SetGroupAttrib ("Fusstext" , "Fixed=true").
- RUN vpr_SetGroupAttrib ("Kondition", "Fixed=true").
-
- CASE ipDokument:
- WHEN 'Faktura' OR
- WHEN 'SammFak' THEN iVMaxPos = 2600.
- OTHERWISE iVMaxPos = 2650.
- END CASE.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE VIPER_NEUE_SEITE C-Win
- PROCEDURE VIPER_NEUE_SEITE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF VAR iPos AS INT NO-UNDO.
- DO WHILE TRUE:
- IF VSeite = 0 THEN DO:
- RUN vpr_InitGroups('').
- IF iZaehler = iLauf THEN RUN vpr_initGraphObj.
- RUN vpr_SetCurrentPageProperties('Papertray', cTray[2]).
- VSeite = VSeite + 1.
- LEAVE.
- END.
-
- IF VDokArt = 'SammFak' THEN DO:
- iPos = vpr_getPageVPos().
- IF (iPos + 160) < iVMaxPos THEN DO:
- iPos = iPos + 20.
- RUN vpr_setPageVPos ( iPos ).
- LEAVE.
- END.
- END.
- RUN vpr_NewPage.
- RUN vpr_InitGroups('').
- IF iZaehler = iLauf THEN RUN vpr_initGraphObj.
- VSeite = VSeite + 1.
- RUN vpr_SetCurrentPageProperties('Papertray', cTray[3]).
- LEAVE.
- END.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE VIPER_RUECKSTAND C-Win
- PROCEDURE VIPER_RUECKSTAND :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEF INPUT PARAMETER ipRecid AS RECID NO-UNDO.
-
- DEF VAR cString AS CHAR NO-UNDO.
-
- FIND tRueckst WHERE RECID(tRueckst) = ipRecid NO-LOCK.
- FIND Aufze WHERE RECID(Aufze) = tRueckst.Zeile NO-LOCK.
- iArtZeile = iArtZeile + 1.
- DO WHILE Aufze.Artnr = 0:
- CREATE tDokument.
- ASSIGN tDokument.cGruppe = 'ArtikelZeile1'
- tDokument.iZeile = iArtZeile
- tDokument.cFeld = 'Bez1'
- tDokument.cInhalt = Aufze.Bez1.
-
- IF Aufze.Bez2 <> '' THEN DO:
- iArtZeile = iArtZeile + 1.
- CREATE tDokument.
- ASSIGN tDokument.cGruppe = 'ArtikelZeile1'
- tDokument.iZeile = iArtZeile
- tDokument.cFeld = 'Bez1'
- tDokument.cInhalt = Aufze.Bez2.
- END.
- RETURN.
- END.
- FIND Artst OF Aufze NO-LOCK.
-
- FIND VGebinde WHERE VGebinde.Firma = GVFirma
- AND VGebinde.Geb_Cd = Aufze.VGeb_Cd NO-LOCK NO-ERROR.
- FIND KGebinde WHERE KGebinde.Firma = GVFirma
- AND KGebinde.Geb_Cd = Aufze.KGeb_Cd NO-LOCK NO-ERROR.
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'KGebinde', KGebinde.Kbez ).
-
- IF Aufze.VGeb_Ru <> 0 THEN DO:
- cString = STRING(Aufze.VGeb_Ru,'->>>>')
- + 'x '
- + VGebinde.KBez.
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'VGebinde', cString ).
- END.
-
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Menge', STRING(Aufze.MRuek,'->>,>>9') ).
- cString = Aufze.Bez1.
- IF Aufze.Bez2 <> '' THEN cString = cString
- + (IF cString = '' THEN '' ELSE CHR(10))
- + Aufze.Bez2.
- IF Aufze.Aktion THEN cString = cString
- + (IF cString = '' THEN '' ELSE CHR(10))
- + Aufze.Aktion_Text.
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Bez1', cString ).
-
- IF Aufze.Jahr > 9 THEN DO:
- cString = STRING(Aufze.Jahr,"9999").
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'JG', cString ).
- END.
-
- IF Aufze.Alk_Gehalt <> 0 THEN DO:
- cString = STRING(Aufze.Alk_Gehalt,"zz9.9%").
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Alk%', cString ).
- END.
- /*
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Artnr', STRING(Aufze.Artnr,"999999") ).
-
- IF FPreis THEN DO:
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Preis', STRING(Aufze.Preis,'>,>>9.999') ).
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'Betrag', STRING(Aufze.Bru_Betr ,'->>>,>>9.99') ).
- RUN VIPER_CREATE_DOKUMENT ( 'ArtikelZeile1', iArtZeile, 'MC', STRING(Aufze.WuCd,'z9') ).
- END.
- */
- RUN VIPER_AUSGABE_GRUPPE ( 'ArtikelZeile1' ).
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE WIRTESONNTAG C-Win
- PROCEDURE WIRTESONNTAG :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- XWirtesonntag = ''.
- FIND Tabel USE-INDEX Tabel-k1
- WHERE Tabel.Firma = GVFirma
- AND Tabel.RecArt = 'WISO'
- AND Tabel.CodeC = ''
- AND Tabel.CodeI = BAufko.Wirt_So
- AND Tabel.Sprcd = 1 NO-LOCK NO-ERROR.
- IF NOT AVAILABLE Tabel THEN DO:
- XWirtesonntag = BAufko.Wirt_So_Text.
- RETURN.
- END.
-
- IF LENGTH(Tabel.Bez1) > 4 THEN XWirtesonntag = Tabel.Bez1.
- IF BAufko.Wirt_So_Text <> '' THEN DO:
- IF XWirtesonntag <> '' THEN XWirtesonntag = XWirtesonntag + " / ".
- XWirtesonntag = XWirtesonntag + BAufko.Wirt_So_Text.
- END.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE WORKFILE C-Win
- PROCEDURE WORKFILE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- FIND BSchrift USE-INDEX Schrift-k1
- WHERE BSchrift.Schname = BLiDruck.ListDru
- AND BSchrift.Schbild = BLiDruck.ListBild NO-LOCK NO-ERROR.
- FIND BDrucker USE-INDEX Drucker-k1
- WHERE BDrucker.Drucker = BSchrift.Schdru NO-LOCK NO-ERROR.
- DOpen = FALSE.
- VTemp = ''.
- IF BDrucker.Emul = 'TERMINAL' THEN DO:
- FOR EACH XTermOut:
- DELETE XTermOut.
- END.
- VZNr = 0.
- RETURN.
- END.
-
- lViper = TRUE.
- CASE VDokArt:
- WHEN 'RUESTSCHEIN' THEN lViper = FALSE.
- WHEN 'BESR' THEN lViper = FALSE.
- WHEN 'PALETTEN' OR
- WHEN 'LADEPAPIER' THEN lViper = FALSE.
- WHEN 'BESR02' OR
- WHEN 'BESR04' THEN lViper = FALSE.
- END.
- IF lViper THEN RETURN.
- DO WHILE TRUE TRANSACTION:
- FIND Tabel USE-INDEX Tabel-k1
- WHERE Tabel.Firma = GVFirma
- AND Tabel.RecArt = 'TEMPFILE'
- AND Tabel.CodeI = 0
- AND Tabel.CodeC = 'AUFTRAG'
- AND Tabel.Sprcd = 1 NO-ERROR.
- IF NOT AVAILABLE Tabel THEN DO:
- CREATE Tabel.
- ASSIGN Tabel.Firma = GVFirma
- Tabel.RecArt = 'TEMPFILE'
- Tabel.CodeI = 0
- Tabel.CodeC = 'AUFTRAG'
- Tabel.Sprcd = 1.
- END.
- ASSIGN Tabel.Bez1 = SESSION:TEMP-DIR
- Tabel.Int_1 = Tabel.Int_1 + 1.
- VTemp = Tabel.Bez1 + 'Faktura' + STRING(Tabel.Int_1) + '.tmp'.
- RELEASE Tabel.
- LEAVE.
- END.
-
- DOpen = TRUE.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
|