| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461246224632464246524662467246824692470247124722473247424752476247724782479248024812482248324842485248624872488248924902491249224932494249524962497249824992500250125022503250425052506250725082509251025112512251325142515251625172518251925202521252225232524252525262527252825292530253125322533253425352536253725382539254025412542254325442545254625472548254925502551255225532554255525562557255825592560256125622563256425652566256725682569257025712572257325742575257625772578257925802581258225832584258525862587258825892590259125922593259425952596259725982599260026012602260326042605260626072608260926102611261226132614261526162617261826192620262126222623262426252626262726282629263026312632263326342635263626372638263926402641264226432644264526462647264826492650265126522653265426552656265726582659266026612662266326642665266626672668266926702671267226732674267526762677267826792680268126822683268426852686268726882689269026912692269326942695269626972698269927002701270227032704270527062707270827092710271127122713271427152716271727182719272027212722272327242725272627272728272927302731273227332734273527362737273827392740274127422743274427452746274727482749275027512752275327542755275627572758275927602761276227632764276527662767276827692770277127722773277427752776277727782779278027812782278327842785278627872788278927902791279227932794279527962797279827992800280128022803280428052806280728082809281028112812281328142815281628172818281928202821282228232824282528262827282828292830283128322833283428352836283728382839284028412842284328442845284628472848284928502851285228532854285528562857285828592860286128622863286428652866286728682869287028712872287328742875287628772878287928802881288228832884288528862887288828892890289128922893289428952896289728982899290029012902290329042905290629072908290929102911291229132914291529162917291829192920292129222923292429252926292729282929293029312932293329342935293629372938293929402941294229432944294529462947294829492950295129522953295429552956295729582959296029612962296329642965296629672968296929702971297229732974297529762977297829792980298129822983298429852986298729882989299029912992299329942995299629972998299930003001300230033004300530063007300830093010301130123013301430153016301730183019302030213022302330243025302630273028302930303031303230333034303530363037303830393040304130423043304430453046304730483049305030513052305330543055305630573058305930603061306230633064306530663067306830693070307130723073307430753076307730783079308030813082308330843085308630873088308930903091309230933094309530963097309830993100310131023103310431053106310731083109311031113112311331143115311631173118311931203121312231233124312531263127312831293130313131323133313431353136313731383139314031413142314331443145314631473148314931503151315231533154315531563157315831593160316131623163316431653166316731683169317031713172317331743175317631773178317931803181318231833184318531863187318831893190319131923193319431953196319731983199320032013202320332043205320632073208320932103211321232133214321532163217321832193220322132223223322432253226322732283229323032313232323332343235323632373238323932403241324232433244324532463247324832493250325132523253325432553256325732583259326032613262326332643265326632673268326932703271327232733274327532763277327832793280328132823283328432853286328732883289329032913292329332943295329632973298329933003301330233033304330533063307330833093310331133123313331433153316331733183319332033213322332333243325332633273328332933303331333233333334333533363337333833393340334133423343334433453346334733483349335033513352335333543355335633573358335933603361336233633364336533663367336833693370337133723373337433753376337733783379338033813382338333843385338633873388338933903391339233933394339533963397339833993400340134023403340434053406340734083409341034113412341334143415341634173418341934203421342234233424342534263427342834293430343134323433343434353436343734383439344034413442344334443445344634473448344934503451345234533454345534563457345834593460346134623463346434653466346734683469347034713472347334743475347634773478347934803481348234833484348534863487348834893490349134923493349434953496349734983499350035013502350335043505350635073508350935103511351235133514351535163517351835193520352135223523352435253526352735283529353035313532353335343535353635373538353935403541354235433544354535463547354835493550355135523553355435553556355735583559356035613562356335643565356635673568356935703571357235733574357535763577357835793580358135823583358435853586358735883589359035913592359335943595359635973598359936003601360236033604360536063607360836093610361136123613361436153616361736183619362036213622362336243625362636273628362936303631363236333634363536363637363836393640364136423643364436453646364736483649365036513652365336543655365636573658365936603661366236633664366536663667366836693670367136723673367436753676367736783679368036813682368336843685368636873688368936903691369236933694369536963697369836993700370137023703370437053706370737083709371037113712371337143715371637173718371937203721372237233724372537263727372837293730373137323733373437353736373737383739374037413742374337443745374637473748374937503751375237533754375537563757375837593760376137623763376437653766376737683769377037713772377337743775377637773778377937803781378237833784378537863787378837893790379137923793379437953796379737983799380038013802380338043805380638073808380938103811381238133814381538163817381838193820382138223823382438253826382738283829383038313832383338343835383638373838383938403841384238433844384538463847384838493850385138523853385438553856385738583859386038613862386338643865386638673868386938703871387238733874387538763877387838793880388138823883388438853886388738883889389038913892389338943895389638973898389939003901390239033904390539063907390839093910391139123913391439153916391739183919392039213922392339243925392639273928392939303931393239333934393539363937393839393940394139423943394439453946394739483949395039513952395339543955395639573958395939603961396239633964396539663967396839693970397139723973397439753976397739783979398039813982398339843985398639873988398939903991399239933994399539963997399839994000400140024003400440054006400740084009401040114012401340144015401640174018401940204021402240234024402540264027402840294030403140324033403440354036403740384039404040414042404340444045404640474048404940504051405240534054405540564057405840594060406140624063406440654066406740684069407040714072407340744075407640774078407940804081408240834084408540864087408840894090409140924093409440954096409740984099410041014102410341044105410641074108410941104111411241134114411541164117411841194120412141224123412441254126412741284129413041314132413341344135413641374138413941404141414241434144414541464147414841494150415141524153415441554156 |
- &ANALYZE-SUSPEND _VERSION-NUMBER AB_v10r12 GUI ADM2
- &ANALYZE-RESUME
- &Scoped-define WINDOW-NAME CURRENT-WINDOW
- &Scoped-define FRAME-NAME gDebitorumsatz
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _DEFINITIONS gDebitorumsatz
- /*------------------------------------------------------------------------
- File:
- Description: from cntnrdlg.w - ADM2 SmartDialog Template
- Input Parameters:
- <none>
- Output Parameters:
- <none>
- Author:
- Created:
- ------------------------------------------------------------------------*/
- /* This .W file was created with the Progress AppBuilder. */
- /*----------------------------------------------------------------------*/
- /* 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 --- */
- DEFINE VARIABLE MaxPage AS INTEGER NO-UNDO.
- DEFINE VARIABLE AktSeite AS INTEGER NO-UNDO.
- DEFINE VARIABLE FMutFlag AS LOG NO-UNDO.
- DEFINE VARIABLE Firma AS CHARACTER NO-UNDO.
- DEFINE VARIABLE AdFirma AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cInstallation AS CHARACTER NO-UNDO.
- DEFINE VARIABLE iVer AS INTEGER NO-UNDO.
- DEFINE VARIABLE cVer AS CHARACTER NO-UNDO.
- DEFINE VARIABLE iVerband AS INTEGER NO-UNDO.
- DEFINE VARIABLE cVerband AS CHARACTER NO-UNDO.
- DEFINE VARIABLE iSubverband AS INTEGER NO-UNDO.
- DEFINE VARIABLE cSubverband AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cVorlage AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cDaten AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cDokument AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cDateiName AS CHARACTER NO-UNDO.
- DEFINE VARIABLE Zelle AS CHARACTER NO-UNDO.
- DEFINE VARIABLE excelAppl AS COMPONENT-HANDLE NO-UNDO.
- DEFINE VARIABLE cZeile AS CHARACTER NO-UNDO.
- DEFINE VARIABLE AnzKol AS INTEGER NO-UNDO.
- DEFINE VARIABLE FKol AS LOG NO-UNDO EXTENT 20.
- DEFINE VARIABLE bKol AS CHARACTER NO-UNDO.
- DEFINE VARIABLE iAnzWgr AS INTEGER NO-UNDO.
- DEFINE VARIABLE iAnzPgr AS INTEGER NO-UNDO.
- DEFINE VARIABLE iAnzHer AS INTEGER NO-UNDO.
- DEFINE VARIABLE iAnzArt AS INTEGER NO-UNDO.
- DEFINE VARIABLE iAnzKunde AS INTEGER NO-UNDO INIT 0.
- DEFINE VARIABLE UmsKnr AS INTEGER NO-UNDO.
- DEFINE VARIABLE iHerst AS INTEGER NO-UNDO.
- DEFINE VARIABLE Ma_Lf AS DECIMAL NO-UNDO DECIMALS 4.
- DEFINE VARIABLE Ma_Vj AS DECIMAL NO-UNDO DECIMALS 4.
- DEFINE VARIABLE iAblauf AS INTEGER NO-UNDO.
- DEFINE VARIABLE lTotale AS LOGICAL NO-UNDO INIT FALSE.
- DEFINE VARIABLE lWgrTotale AS LOGICAL NO-UNDO INIT FALSE.
- DEFINE TEMP-TABLE tUmsatz
- FIELD RecArt AS CHARACTER
- FIELD Knr AS INTEGER
- FIELD Herst AS INTEGER
- FIELD Wgr AS INTEGER
- FIELD Pgr AS INTEGER
- FIELD Artnr AS INTEGER
- FIELD Inhalt AS INTEGER
- FIELD Jahr AS INTEGER
- FIELD Ep_Lf AS DECIMAL
- FIELD Ep_Vj AS DECIMAL
- FIELD Vp_Lf AS DECIMAL
- FIELD Vp_Vj AS DECIMAL
- FIELD Me_Lf AS DECIMAL
- FIELD Me_Vj AS DECIMAL
- FIELD Li_Lf AS DECIMAL DECIMALS 6
- FIELD Li_Vj AS DECIMAL DECIMALS 6
- FIELD Gr_Ep_Lf AS DECIMAL
- FIELD Gr_Ep_Vj AS DECIMAL
- FIELD Gr_Vp_Lf AS DECIMAL
- FIELD Gr_Vp_Vj AS DECIMAL
- FIELD Gr_Me_Lf AS DECIMAL
- FIELD Gr_Me_Vj AS DECIMAL
- FIELD Gr_Li_Lf AS DECIMAL DECIMALS 6
- FIELD Gr_Li_Vj AS DECIMAL DECIMALS 6
- FIELD KGeb_Cd AS CHARACTER
- FIELD Alk% AS DECIMAL
- INDEX tUmsatz-k1 IS PRIMARY
- RecArt
- Knr
- Herst
- Wgr
- Pgr
- Artnr
- Inhalt
- Jahr
- INDEX tUmsatz-k2
- RecArt
- Herst
- Wgr
- Pgr
- Artnr
- Inhalt
- Jahr .
- DEFINE TEMP-TABLE vUmsatz LIKE tUmsatz.
- DEFINE TEMP-TABLE wUmsatz LIKE tUmsatz.
- DEFINE BUFFER btUmsatz FOR tUmsatz.
- DEFINE BUFFER bDebst FOR Debst.
- DEFINE BUFFER bArtst FOR Artst.
- DEFINE BUFFER bArtbw FOR Artbw.
- DEFINE BUFFER bAufko FOR Aufko.
- DEFINE BUFFER bAufze FOR Aufze.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-PREPROCESSOR-BLOCK
- /* ******************** Preprocessor Definitions ******************** */
- &Scoped-define PROCEDURE-TYPE SmartDialog
- &Scoped-define DB-AWARE no
- &Scoped-define ADM-CONTAINER DIALOG-BOX
- &Scoped-define ADM-SUPPORTED-LINKS Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
- /* Name of designated FRAME-NAME and/or first browse and/or first query */
- &Scoped-define FRAME-NAME gDebitorumsatz
- /* Standard List Definitions */
- &Scoped-Define ENABLED-OBJECTS T_NurWgr F_VonKnr F_BisKnr CB_Vertreter ~
- CB_Verband CB_Subverband F_Kundengrp F_Preisgruppe T_Hersteller F_VonArtnr ~
- F_BisArtnr F_Hersteller F_Warengrp F_VonDatum F_BisDatum T_Menge T_Liter ~
- T_HL T_EP T_VP T_Marge T_Vorjahr T_Gratis T_SubGrpHerst T_OffeneAuf ~
- Btn_Cancel Btn_OK T_Lieferadresse T_Zusatz T_ProdTot RECT-12
- &Scoped-Define DISPLAYED-OBJECTS T_NurWgr F_VonKnr F_BisKnr CB_Vertreter ~
- CB_Verband CB_Subverband F_Kundengrp F_Preisgruppe T_Hersteller F_VonArtnr ~
- F_BisArtnr F_Hersteller F_Warengrp F_VonDatum F_BisDatum T_Menge T_Liter ~
- T_HL T_EP T_VP T_Marge T_Vorjahr T_Gratis T_SubGrpHerst T_OffeneAuf ~
- T_Lieferadresse T_Zusatz T_ProdTot
- /* Custom List Definitions */
- /* List-1,List-2,List-3,List-4,List-5,List-6 */
- &Scoped-define List-6 T_NurWgr F_VonKnr F_BisKnr CB_Vertreter CB_Verband ~
- CB_Subverband F_Kundengrp F_Preisgruppe T_Hersteller F_VonArtnr F_BisArtnr ~
- F_Hersteller F_Warengrp F_VonDatum F_BisDatum T_Menge T_Liter T_HL T_EP ~
- T_VP T_Marge T_Vorjahr T_Gratis T_SubGrpHerst T_OffeneAuf T_Lieferadresse ~
- T_Zusatz T_ProdTot
- /* _UIB-PREPROCESSOR-BLOCK-END */
- &ANALYZE-RESUME
- /* ************************ Function Prototypes ********************** */
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD GesamtTotal gDebitorumsatz
- FUNCTION GesamtTotal RETURNS CHARACTER PRIVATE
- ( /* parameter-definitions */ ) FORWARD.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD HerstellerHerstSchluss gDebitorumsatz
- FUNCTION HerstellerHerstSchluss RETURNS CHARACTER
- ( ipcAdresse AS CHARACTER ) FORWARD.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD HerstellerSchluss gDebitorumsatz
- FUNCTION HerstellerSchluss RETURNS CHARACTER
- ( ipcHerst AS CHARACTER ) FORWARD.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD HerstellerStart gDebitorumsatz
- FUNCTION HerstellerStart RETURNS CHARACTER
- ( ipHerst AS INTEGER ) FORWARD.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD KundenSchluss gDebitorumsatz
- FUNCTION KundenSchluss RETURNS CHARACTER
- ( ipcAdresse AS CHARACTER ) FORWARD.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD ProduktegruppenSchluss gDebitorumsatz
- FUNCTION ProduktegruppenSchluss RETURNS CHARACTER
- ( ipcProdgrp AS CHARACTER ) FORWARD.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD ProduktegruppenStart gDebitorumsatz
- FUNCTION ProduktegruppenStart RETURNS CHARACTER
- ( ipWgr AS INTEGER, ipPgr AS INTEGER ) FORWARD.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD WarengruppenSchluss gDebitorumsatz
- FUNCTION WarengruppenSchluss RETURNS CHARACTER
- ( ipcWarenGrp AS CHARACTER ) FORWARD.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION-FORWARD WarengruppenStart gDebitorumsatz
- FUNCTION WarengruppenStart RETURNS CHARACTER
- ( ipWgr AS INTEGER ) FORWARD.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- /* *********************** Control Definitions ********************** */
- /* Define a dialog box */
- /* Definitions of the field level widgets */
- DEFINE BUTTON Btn_Cancel AUTO-END-KEY
- LABEL "&abbrechen"
- SIZE 14 BY 1.19.
- DEFINE BUTTON Btn_OK
- IMAGE-UP FILE "grafik/results%.ico":U
- IMAGE-INSENSITIVE FILE "grafik/results%.ico":U
- LABEL "Excel"
- SIZE 7 BY 1.71.
- DEFINE VARIABLE CB_Subverband AS CHARACTER FORMAT "X(256)":U
- LABEL "Subverband"
- VIEW-AS COMBO-BOX INNER-LINES 5
- LIST-ITEM-PAIRS "Item 1","Item 1"
- DROP-DOWN-LIST
- SIZE 40 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE CB_Verband AS CHARACTER FORMAT "X(256)":U
- LABEL "Verband"
- VIEW-AS COMBO-BOX INNER-LINES 5
- LIST-ITEM-PAIRS "Item 1","Item 1"
- DROP-DOWN-LIST
- SIZE 40 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE CB_Vertreter AS CHARACTER FORMAT "X(256)":U
- LABEL "Vertreter"
- VIEW-AS COMBO-BOX INNER-LINES 5
- LIST-ITEM-PAIRS "Item 1","Item 1"
- DROP-DOWN-LIST
- SIZE 40 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_BisArtnr AS INTEGER FORMAT "999999":U INITIAL 0
- LABEL "-"
- VIEW-AS FILL-IN NATIVE
- SIZE 11 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_BisDatum AS DATE FORMAT "99.99.9999":U
- LABEL "-"
- VIEW-AS FILL-IN NATIVE
- SIZE 16 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_BisKnr AS INTEGER FORMAT "999999":U INITIAL 0
- LABEL "-"
- VIEW-AS FILL-IN NATIVE
- SIZE 11 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Hersteller AS CHARACTER FORMAT "X(256)":U
- LABEL "Hersteller"
- VIEW-AS FILL-IN NATIVE
- SIZE 46.4 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Kundengrp AS CHARACTER FORMAT "X(256)":U
- LABEL "Kudengruppen"
- VIEW-AS FILL-IN NATIVE
- SIZE 46.4 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Preisgruppe AS CHARACTER FORMAT "X(256)":U
- LABEL "Preisgruppen"
- VIEW-AS FILL-IN NATIVE
- SIZE 46.4 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_VonArtnr AS INTEGER FORMAT "999999":U INITIAL 0
- LABEL "von - bis Artikelnummer"
- VIEW-AS FILL-IN NATIVE
- SIZE 11 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_VonDatum AS DATE FORMAT "99.99.9999":U
- LABEL "von - bis Datum"
- VIEW-AS FILL-IN NATIVE
- SIZE 16 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_VonKnr AS INTEGER FORMAT "999999":U INITIAL 0
- LABEL "von - bis Knr"
- VIEW-AS FILL-IN NATIVE
- SIZE 11 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE VARIABLE F_Warengrp AS CHARACTER FORMAT "X(256)":U
- LABEL "Warengruppen"
- VIEW-AS FILL-IN NATIVE
- SIZE 46.4 BY 1
- BGCOLOR 15 NO-UNDO.
- DEFINE RECTANGLE RECT-12
- EDGE-PIXELS 2 GRAPHIC-EDGE NO-FILL
- SIZE 100 BY 26.67.
- DEFINE VARIABLE T_EP AS LOGICAL INITIAL NO
- LABEL "Einstandsbeträge"
- VIEW-AS TOGGLE-BOX
- SIZE 30 BY 1 NO-UNDO.
- DEFINE VARIABLE T_Gratis AS LOGICAL INITIAL NO
- LABEL "Gratislieferungen"
- VIEW-AS TOGGLE-BOX
- SIZE 30 BY 1 NO-UNDO.
- DEFINE VARIABLE T_Hersteller AS LOGICAL INITIAL NO
- LABEL "Herstellerbezogen"
- VIEW-AS TOGGLE-BOX
- SIZE 47 BY 1 NO-UNDO.
- DEFINE VARIABLE T_HL AS LOGICAL INITIAL NO
- LABEL "Hektoliter"
- VIEW-AS TOGGLE-BOX
- SIZE 19.6 BY 1 NO-UNDO.
- DEFINE VARIABLE T_Lieferadresse AS LOGICAL INITIAL NO
- LABEL "auf Lieferadressen"
- VIEW-AS TOGGLE-BOX
- SIZE 30 BY 1 NO-UNDO.
- DEFINE VARIABLE T_Liter AS LOGICAL INITIAL NO
- LABEL "Liter"
- VIEW-AS TOGGLE-BOX
- SIZE 21.4 BY 1 NO-UNDO.
- DEFINE VARIABLE T_Marge AS LOGICAL INITIAL NO
- LABEL "Margenberechnung"
- VIEW-AS TOGGLE-BOX
- SIZE 30 BY 1 NO-UNDO.
- DEFINE VARIABLE T_Menge AS LOGICAL INITIAL NO
- LABEL "Mengen"
- VIEW-AS TOGGLE-BOX
- SIZE 30 BY .81 NO-UNDO.
- DEFINE VARIABLE T_NurWgr AS LOGICAL INITIAL NO
- LABEL "Nur Warengruppentotale"
- VIEW-AS TOGGLE-BOX
- SIZE 31 BY 1 NO-UNDO.
- DEFINE VARIABLE T_OffeneAuf AS LOGICAL INITIAL NO
- LABEL "offene Aufträge"
- VIEW-AS TOGGLE-BOX
- SIZE 30 BY 1 NO-UNDO.
- DEFINE VARIABLE T_ProdTot AS LOGICAL INITIAL NO
- LABEL "Produktegruppentotale"
- VIEW-AS TOGGLE-BOX
- SIZE 30 BY 1 NO-UNDO.
- DEFINE VARIABLE T_SubGrpHerst AS LOGICAL INITIAL NO
- LABEL "Hersteller-Totale (nur wenn nicht Hersteller bezogen)"
- VIEW-AS TOGGLE-BOX
- SIZE 54 BY 1 NO-UNDO.
- DEFINE VARIABLE T_Vorjahr AS LOGICAL INITIAL NO
- LABEL "Vorjahreszahlen"
- VIEW-AS TOGGLE-BOX
- SIZE 30 BY 1 NO-UNDO.
- DEFINE VARIABLE T_VP AS LOGICAL INITIAL NO
- LABEL "Verkaufsbeträge"
- VIEW-AS TOGGLE-BOX
- SIZE 30 BY 1 NO-UNDO.
- DEFINE VARIABLE T_Zusatz AS LOGICAL INITIAL NO
- LABEL "zusätzliche Rekap"
- VIEW-AS TOGGLE-BOX
- SIZE 30 BY 1 NO-UNDO.
- /* ************************ Frame Definitions *********************** */
- DEFINE FRAME gDebitorumsatz
- T_NurWgr AT ROW 23.52 COL 62 WIDGET-ID 18
- F_VonKnr AT ROW 1.52 COL 28 COLON-ALIGNED
- F_BisKnr AT ROW 1.52 COL 41 COLON-ALIGNED
- CB_Vertreter AT ROW 2.52 COL 28 COLON-ALIGNED
- CB_Verband AT ROW 3.52 COL 28 COLON-ALIGNED
- CB_Subverband AT ROW 4.52 COL 28 COLON-ALIGNED WIDGET-ID 4
- F_Kundengrp AT ROW 5.52 COL 28 COLON-ALIGNED
- F_Preisgruppe AT ROW 6.52 COL 28 COLON-ALIGNED
- T_Hersteller AT ROW 9 COL 30 WIDGET-ID 6
- F_VonArtnr AT ROW 10.24 COL 28 COLON-ALIGNED
- F_BisArtnr AT ROW 10.24 COL 41 COLON-ALIGNED
- F_Hersteller AT ROW 11.24 COL 28 COLON-ALIGNED
- F_Warengrp AT ROW 12.24 COL 28 COLON-ALIGNED
- F_VonDatum AT ROW 13.24 COL 28 COLON-ALIGNED
- F_BisDatum AT ROW 13.24 COL 47 COLON-ALIGNED
- T_Menge AT ROW 14.52 COL 30
- T_Liter AT ROW 15.52 COL 30
- T_HL AT ROW 15.52 COL 55
- T_EP AT ROW 16.52 COL 30
- T_VP AT ROW 17.52 COL 30
- T_Marge AT ROW 18.52 COL 30
- T_Vorjahr AT ROW 19.52 COL 30
- T_Gratis AT ROW 20.52 COL 30 WIDGET-ID 2
- T_SubGrpHerst AT ROW 7.62 COL 30 WIDGET-ID 8
- T_OffeneAuf AT ROW 21.52 COL 30 WIDGET-ID 10
- Btn_Cancel AT ROW 26.24 COL 55.8
- Btn_OK AT ROW 26 COL 30
- T_Lieferadresse AT ROW 22.52 COL 30 WIDGET-ID 12
- T_Zusatz AT ROW 23.52 COL 30 WIDGET-ID 14
- T_ProdTot AT ROW 24.52 COL 30 WIDGET-ID 16
- RECT-12 AT ROW 1.24 COL 2
- SPACE(0.99) SKIP(0.22)
- WITH VIEW-AS DIALOG-BOX KEEP-TAB-ORDER
- SIDE-LABELS NO-UNDERLINE THREE-D SCROLLABLE
- TITLE "Debitorumsätze (Detail)"
- CANCEL-BUTTON Btn_Cancel.
- /* *********************** Procedure Settings ************************ */
- &ANALYZE-SUSPEND _PROCEDURE-SETTINGS
- /* Settings for THIS-PROCEDURE
- Type: SmartDialog
- Allow: Basic,Browse,DB-Fields,Query,Smart
- Container Links: Data-Target,Data-Source,Page-Target,Update-Source,Update-Target
- Design Page: 1
- Other Settings: COMPILE
- */
- &ANALYZE-RESUME _END-PROCEDURE-SETTINGS
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CUSTOM _INCLUDED-LIB gDebitorumsatz
- /* ************************* Included-Libraries *********************** */
- {src/adm2/containr.i}
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- /* *********** Runtime Attributes and AppBuilder Settings *********** */
- &ANALYZE-SUSPEND _RUN-TIME-ATTRIBUTES
- /* SETTINGS FOR DIALOG-BOX gDebitorumsatz
- FRAME-NAME Custom */
- ASSIGN
- FRAME gDebitorumsatz:SCROLLABLE = FALSE
- FRAME gDebitorumsatz:HIDDEN = TRUE.
- /* SETTINGS FOR COMBO-BOX CB_Subverband IN FRAME gDebitorumsatz
- 6 */
- /* SETTINGS FOR COMBO-BOX CB_Verband IN FRAME gDebitorumsatz
- 6 */
- /* SETTINGS FOR COMBO-BOX CB_Vertreter IN FRAME gDebitorumsatz
- 6 */
- /* SETTINGS FOR FILL-IN F_BisArtnr IN FRAME gDebitorumsatz
- 6 */
- /* SETTINGS FOR FILL-IN F_BisDatum IN FRAME gDebitorumsatz
- 6 */
- /* SETTINGS FOR FILL-IN F_BisKnr IN FRAME gDebitorumsatz
- 6 */
- /* SETTINGS FOR FILL-IN F_Hersteller IN FRAME gDebitorumsatz
- 6 */
- /* SETTINGS FOR FILL-IN F_Kundengrp IN FRAME gDebitorumsatz
- 6 */
- /* SETTINGS FOR FILL-IN F_Preisgruppe IN FRAME gDebitorumsatz
- 6 */
- /* SETTINGS FOR FILL-IN F_VonArtnr IN FRAME gDebitorumsatz
- 6 */
- /* SETTINGS FOR FILL-IN F_VonDatum IN FRAME gDebitorumsatz
- 6 */
- /* SETTINGS FOR FILL-IN F_VonKnr IN FRAME gDebitorumsatz
- 6 */
- /* SETTINGS FOR FILL-IN F_Warengrp IN FRAME gDebitorumsatz
- 6 */
- /* SETTINGS FOR TOGGLE-BOX T_EP IN FRAME gDebitorumsatz
- 6 */
- /* SETTINGS FOR TOGGLE-BOX T_Gratis IN FRAME gDebitorumsatz
- 6 */
- /* SETTINGS FOR TOGGLE-BOX T_Hersteller IN FRAME gDebitorumsatz
- 6 */
- /* SETTINGS FOR TOGGLE-BOX T_HL IN FRAME gDebitorumsatz
- 6 */
- /* SETTINGS FOR TOGGLE-BOX T_Lieferadresse IN FRAME gDebitorumsatz
- 6 */
- /* SETTINGS FOR TOGGLE-BOX T_Liter IN FRAME gDebitorumsatz
- 6 */
- /* SETTINGS FOR TOGGLE-BOX T_Marge IN FRAME gDebitorumsatz
- 6 */
- /* SETTINGS FOR TOGGLE-BOX T_Menge IN FRAME gDebitorumsatz
- 6 */
- /* SETTINGS FOR TOGGLE-BOX T_NurWgr IN FRAME gDebitorumsatz
- 6 */
- /* SETTINGS FOR TOGGLE-BOX T_OffeneAuf IN FRAME gDebitorumsatz
- 6 */
- /* SETTINGS FOR TOGGLE-BOX T_ProdTot IN FRAME gDebitorumsatz
- 6 */
- /* SETTINGS FOR TOGGLE-BOX T_SubGrpHerst IN FRAME gDebitorumsatz
- 6 */
- /* SETTINGS FOR TOGGLE-BOX T_Vorjahr IN FRAME gDebitorumsatz
- 6 */
- /* SETTINGS FOR TOGGLE-BOX T_VP IN FRAME gDebitorumsatz
- 6 */
- /* SETTINGS FOR TOGGLE-BOX T_Zusatz IN FRAME gDebitorumsatz
- 6 */
- /* _RUN-TIME-ATTRIBUTES-END */
- &ANALYZE-RESUME
- /* Setting information for Queries and Browse Widgets fields */
- &ANALYZE-SUSPEND _QUERY-BLOCK DIALOG-BOX gDebitorumsatz
- /* Query rebuild information for DIALOG-BOX gDebitorumsatz
- _Options = "SHARE-LOCK"
- _Query is NOT OPENED
- */ /* DIALOG-BOX gDebitorumsatz */
- &ANALYZE-RESUME
-
- /* ************************ Control Triggers ************************ */
- &Scoped-define SELF-NAME gDebitorumsatz
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gDebitorumsatz gDebitorumsatz
- ON END-ERROR OF FRAME gDebitorumsatz /* Debitorumsätze (Detail) */
- DO:
- RUN ENDE.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gDebitorumsatz gDebitorumsatz
- ON GO OF FRAME gDebitorumsatz /* Debitorumsätze (Detail) */
- DO:
- /*
- RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ) NO-ERROR.
- */
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL gDebitorumsatz gDebitorumsatz
- ON WINDOW-CLOSE OF FRAME gDebitorumsatz /* Debitorumsätze (Detail) */
- DO:
- RUN ENDE.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME Btn_Cancel
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_Cancel gDebitorumsatz
- ON CHOOSE OF Btn_Cancel IN FRAME gDebitorumsatz /* abbrechen */
- DO:
- RUN ENDE.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME Btn_OK
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL Btn_OK gDebitorumsatz
- ON CHOOSE OF Btn_OK IN FRAME gDebitorumsatz /* Excel */
- DO:
- DO WITH FRAME {&FRAME-NAME}:
- Btn_OK:SENSITIVE = FALSE.
- Btn_Cancel:SENSITIVE = FALSE.
- SESSION:SET-WAIT-STATE ('GENERAL').
- END.
- RUN REPORT.
- DO WITH FRAME {&FRAME-NAME}:
- Btn_OK:SENSITIVE = TRUE.
- Btn_Cancel:SENSITIVE = TRUE.
- SESSION:SET-WAIT-STATE('').
- END.
- RUN ENDE.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME CB_Subverband
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Subverband gDebitorumsatz
- ON RETURN OF CB_Subverband IN FRAME gDebitorumsatz /* Subverband */
- DO:
- APPLY 'TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME CB_Verband
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Verband gDebitorumsatz
- ON RETURN OF CB_Verband IN FRAME gDebitorumsatz /* Verband */
- DO:
- APPLY 'TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Verband gDebitorumsatz
- ON VALUE-CHANGED OF CB_Verband IN FRAME gDebitorumsatz /* Verband */
- DO:
- DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
- RUN COMBO_SUBVERBAND ( CB_Subverband:HANDLE, CB_Verband:SCREEN-VALUE ).
- cString = CB_Subverband:LIST-ITEM-PAIRS.
- IF cString <> '' THEN cString = cString + ';'.
- cString = cString + 'Alle Subverbände (999999);999999'.
- CB_Subverband:LIST-ITEM-PAIRS = cString.
- CB_Subverband:SCREEN-VALUE = '999999'.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME CB_Vertreter
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL CB_Vertreter gDebitorumsatz
- ON RETURN OF CB_Vertreter IN FRAME gDebitorumsatz /* Vertreter */
- DO:
- APPLY 'TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_BisKnr
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_BisKnr gDebitorumsatz
- ON ALT-F OF F_BisKnr IN FRAME gDebitorumsatz /* - */
- DO:
- DEFINE VARIABLE iRecid AS RECID NO-UNDO.
- RUN 'g-suchen-adresse.w':U ( 'DEB', OUTPUT iRecid ).
- IF iRecid = ? OR
- iRecid = 0 THEN RETURN NO-APPLY.
- FIND Adresse NO-LOCK WHERE RECID(Adresse) = iRecid NO-ERROR.
- SELF:SCREEN-VALUE = STRING(Adresse.Knr).
- APPLY 'ENTRY' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_Hersteller
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Hersteller gDebitorumsatz
- ON RIGHT-MOUSE-CLICK OF F_Hersteller IN FRAME gDebitorumsatz /* Hersteller */
- DO:
- RUN g-auswahl-tabelle.w ( INPUT SELF, INPUT 'HERST' ).
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_Kundengrp
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Kundengrp gDebitorumsatz
- ON RIGHT-MOUSE-CLICK OF F_Kundengrp IN FRAME gDebitorumsatz /* Kudengruppen */
- DO:
- RUN g-auswahl-tabelle.w ( INPUT SELF, INPUT 'KUNDGRP' ).
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_Preisgruppe
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Preisgruppe gDebitorumsatz
- ON RIGHT-MOUSE-CLICK OF F_Preisgruppe IN FRAME gDebitorumsatz /* Preisgruppen */
- DO:
- RUN g-auswahl-tabelle.w ( INPUT SELF, INPUT 'PREGRP' ).
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_VonKnr
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_VonKnr gDebitorumsatz
- ON ALT-F OF F_VonKnr IN FRAME gDebitorumsatz /* von - bis Knr */
- DO:
- DEFINE VARIABLE iRecid AS RECID NO-UNDO.
- RUN 'g-suchen-adresse.w':U ( 'DEB', OUTPUT iRecid ).
- IF iRecid = ? OR
- iRecid = 0 THEN RETURN NO-APPLY.
- FIND Adresse NO-LOCK WHERE RECID(Adresse) = iRecid NO-ERROR.
- SELF:SCREEN-VALUE = STRING(Adresse.Knr).
- F_BisKnr:SCREEN-VALUE = STRING(Adresse.Knr).
- APPLY 'ENTRY' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME F_Warengrp
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL F_Warengrp gDebitorumsatz
- ON RIGHT-MOUSE-CLICK OF F_Warengrp IN FRAME gDebitorumsatz /* Warengruppen */
- DO:
- RUN g-auswahl-wgr.w ( INPUT SELF ).
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME T_EP
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_EP gDebitorumsatz
- ON RETURN OF T_EP IN FRAME gDebitorumsatz /* Einstandsbeträge */
- DO:
- APPLY 'TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME T_Gratis
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_Gratis gDebitorumsatz
- ON RETURN OF T_Gratis IN FRAME gDebitorumsatz /* Gratislieferungen */
- DO:
- APPLY 'TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME T_Hersteller
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_Hersteller gDebitorumsatz
- ON RETURN OF T_Hersteller IN FRAME gDebitorumsatz /* Herstellerbezogen */
- DO:
- APPLY 'TAB' TO SELF.
- RETURN.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME T_HL
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_HL gDebitorumsatz
- ON RETURN OF T_HL IN FRAME gDebitorumsatz /* Hektoliter */
- DO:
- APPLY 'TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME T_Lieferadresse
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_Lieferadresse gDebitorumsatz
- ON RETURN OF T_Lieferadresse IN FRAME gDebitorumsatz /* auf Lieferadressen */
- DO:
- APPLY 'TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME T_Liter
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_Liter gDebitorumsatz
- ON RETURN OF T_Liter IN FRAME gDebitorumsatz /* Liter */
- DO:
- APPLY 'TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_Liter gDebitorumsatz
- ON VALUE-CHANGED OF T_Liter IN FRAME gDebitorumsatz /* Liter */
- DO:
- DO WITH FRAME {&FRAME-NAME}:
- ASSIGN T_Liter .
- IF T_Liter = TRUE THEN T_HL:SENSITIVE = TRUE.
- ELSE T_HL:SENSITIVE = FALSE.
- END.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME T_Marge
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_Marge gDebitorumsatz
- ON RETURN OF T_Marge IN FRAME gDebitorumsatz /* Margenberechnung */
- DO:
- APPLY 'TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME T_Menge
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_Menge gDebitorumsatz
- ON RETURN OF T_Menge IN FRAME gDebitorumsatz /* Mengen */
- DO:
- APPLY 'TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME T_OffeneAuf
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_OffeneAuf gDebitorumsatz
- ON RETURN OF T_OffeneAuf IN FRAME gDebitorumsatz /* offene Aufträge */
- DO:
- APPLY 'TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME T_ProdTot
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_ProdTot gDebitorumsatz
- ON RETURN OF T_ProdTot IN FRAME gDebitorumsatz /* Produktegruppentotale */
- DO:
- APPLY 'TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME T_SubGrpHerst
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_SubGrpHerst gDebitorumsatz
- ON RETURN OF T_SubGrpHerst IN FRAME gDebitorumsatz /* Hersteller-Totale (nur wenn nicht Hersteller bezogen) */
- DO:
- APPLY 'TAB' TO SELF.
- RETURN.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME T_Vorjahr
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_Vorjahr gDebitorumsatz
- ON RETURN OF T_Vorjahr IN FRAME gDebitorumsatz /* Vorjahreszahlen */
- DO:
- APPLY 'TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME T_VP
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_VP gDebitorumsatz
- ON RETURN OF T_VP IN FRAME gDebitorumsatz /* Verkaufsbeträge */
- DO:
- APPLY 'TAB' TO SELF.
- RETURN NO-APPLY.
- END.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &Scoped-define SELF-NAME T_Zusatz
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _CONTROL T_Zusatz gDebitorumsatz
- ON RETURN OF T_Zusatz IN FRAME gDebitorumsatz /* zusätzliche Rekap */
- 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 gDebitorumsatz
- /* *************************** Main Block *************************** */
- MaxPage = 1.
- AktSeite = 1.
- Firma = DYNAMIC-FUNCTION('GETMANDANT':U) NO-ERROR.
- AdFirma = DYNAMIC-FUNCTION('GETADMANDANT':U) NO-ERROR.
- SESSION:DATA-ENTRY-RETURN = TRUE.
- /* TRIGGERS ------------------------------------------------------ */
- /*
- ON 'END-ERROR':U OF FRAME {&FRAME-NAME} ANYWHERE
- DO:
- FMutFlag = DYNAMIC-FUNCTION('getMutflagAlt':U) NO-ERROR.
- IF FMutFlag = FALSE THEN DO:
- RUN ENDE.
- RETURN NO-APPLY.
- END.
- RUN TOOLBAR IN h_dyntoolbar ( INPUT 'CANCEL':U ).
- RETURN NO-APPLY.
- END.
- */
- /* ------------------------------------------------------------------ */
- {src/adm2/dialogmn.i}
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- /* ********************** Internal Procedures *********************** */
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE adm-create-objects gDebitorumsatz _ADM-CREATE-OBJECTS
- PROCEDURE adm-create-objects :
- /*------------------------------------------------------------------------------
- Purpose: Create handles for all SmartObjects used in this procedure.
- After SmartObjects are initialized, then SmartLinks are added.
- Parameters: <none>
- ------------------------------------------------------------------------------*/
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE AUSGABE gDebitorumsatz
- PROCEDURE AUSGABE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE INPUT PARAMETER ipArt AS INTEGER NO-UNDO.
- DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cTitel AS CHARACTER INIT '' NO-UNDO.
- DEFINE VARIABLE cHerst AS CHARACTER INIT '' NO-UNDO.
- DEFINE VARIABLE cWgr AS CHARACTER INIT '' NO-UNDO.
- DEFINE VARIABLE cPgr AS CHARACTER INIT '' NO-UNDO.
-
- ASSIGN
- iAnzKunde = 0
- iAnzHer = 0
- iAnzWgr = 0
- iAnzPgr = 0
- iAnzArt = 0
- lTotale = FALSE.
-
- FOR EACH btUmsatz USE-INDEX tUmsatz-k1 NO-LOCK
- WHERE btUmsatz.RecArt = 'A'
-
- BREAK BY btUmsatz.Knr
- BY btUmsatz.Herst
- BY btUmsatz.Wgr
- BY btUmsatz.Pgr
- BY btUmsatz.Artnr
- BY btUmsatz.Inhalt
- BY btUmsatz.Jahr :
- IF FIRST-OF ( btUmsatz.Knr ) THEN
- DO:
- iAnzKunde = iAnzKunde + 1.
- CASE ipArt:
- WHEN 1 THEN
- DO:
- cTitel = DYNAMIC-FUNCTION('getAdressAnzeige':U, btUmsatz.Knr) NO-ERROR.
- END.
- WHEN 2 THEN
- DO:
- RUN FIND_VERBAND ( btUmsatz.Knr, OUTPUT cString ).
- cTitel = (IF cString <> '' THEN ENTRY(2, cString, CHR(01)) ELSE '?????').
- END.
- WHEN 3 THEN
- DO:
- RUN FIND_VERBAND ( btUmsatz.Knr, OUTPUT cString ).
- cTitel = (IF cString <> '' THEN ENTRY(2, cString, CHR(01)) ELSE '?????').
- END.
- END CASE.
- PUT CONTROL STRING(btUmsatz.Knr,'999999 ')
- cTitel CHR(10)
- '£' CHR(10).
- END.
- IF FIRST-OF ( btUmsatz.Herst ) THEN
- DO:
- cHerst = DYNAMIC-FUNCTION('HerstellerStart':U, btUmsatz.Herst) NO-ERROR.
- IF cHerst <> '' THEN PUT CONTROL '£' cHerst CHR(10).
- ASSIGN
- iAnzHer = iAnzHer + 1.
- iAnzArt = 0.
- END.
- IF FIRST-OF ( btUmsatz.Wgr ) THEN
- DO:
- cWgr = DYNAMIC-FUNCTION('WarengruppenStart':U, btUmsatz.Wgr) NO-ERROR.
- IF cWgr <> '' THEN PUT CONTROL '£' cWgr CHR(10).
- ASSIGN
- iAnzWgr = iAnzWgr + 1
- iAnzArt = 0.
- END.
- IF FIRST-OF ( btUmsatz.Pgr ) AND
- T_ProdTot THEN
- DO:
- cPgr = DYNAMIC-FUNCTION('ProduktegruppenStart':U, btUmsatz.Wgr, btUmsatz.Pgr) NO-ERROR.
- IF cPgr <> '' THEN PUT CONTROL '£' cPgr CHR(10).
- ASSIGN
- iAnzPgr = iAnzPgr + 1
- iAnzArt = 0.
- END.
- cZeile = ''.
- FIND KGebinde NO-LOCK USE-INDEX KGebinde-k1
- WHERE KGebinde.Firma = Firma
- AND KGebinde.Geb_Cd = btUmsatz.KGeb_Cd NO-ERROR.
- FIND Artst NO-LOCK USE-INDEX Artst-k1
- WHERE Artst.Firma = Firma
- AND Artst.Artnr = btUmsatz.Artnr
- AND Artst.Inhalt = btUmsatz.Inhalt
- AND Artst.Jahr = btUmsatz.Jahr NO-ERROR.
- FIND FIRST Artbez NO-LOCK USE-INDEX Artbez-k1
- WHERE Artbez.Firma = Firma
- AND Artbez.Artnr = btUmsatz.Artnr
- AND Artbez.Inhalt = btUmsatz.Inhalt
- AND Artbez.Jahr = btUmsatz.Jahr NO-ERROR.
- cZeile = cZeile + '££'
- + STRING(btUmsatz.Artnr,'999999').
- IF AVAILABLE Artbez THEN cZeile = cZeile + '£' + Artbez.Bez1.
- ELSE cZeile = cZeile + '£' + Artst.Bez.
- IF AVAILABLE KGebinde THEN cZeile = cZeile + '£' + KGebinde.KBez.
- ELSE cZeile = cZeile + '£ ? ' + STRING(btUmsatz.Inhalt,'9999') + ' ?'.
- cZeile = cZeile + '£'.
- IF btUmsatz.Jahr > 10 THEN cZeile = cZeile + STRING(btUmsatz.Jahr,'9999 ').
- IF btUmsatz.Alk% > 0 THEN cZeile = cZeile + STRING(btUmsatz.Alk%,'z9.99%').
- Ma_Vj = 0.
- Ma_Lf = 0.
- IF btUmsatz.Ep_Vj <> 0 AND
- btUmsatz.Vp_Vj <> 0 THEN Ma_Vj = 100 - (btUmsatz.Ep_Vj * 100 / btUmsatz.Vp_Vj).
- IF btUmsatz.Ep_Lf <> 0 AND
- btUmsatz.Vp_Lf <> 0 THEN Ma_Lf = 100 - (btUmsatz.Ep_Lf * 100 / btUmsatz.Vp_Lf).
- IF Ma_Vj < 999.99- THEN Ma_Vj = 999.99-.
- IF Ma_Vj > 999.99 THEN Ma_Vj = 999.99.
- IF Ma_Lf < 999.99- THEN Ma_Lf = 999.99-.
- IF Ma_Lf > 999.99 THEN Ma_Lf = 999.99.
- IF T_HL THEN
- DO:
- ASSIGN
- btUmsatz.Li_Lf = btUmsatz.Li_Lf / 100
- btUmsatz.Li_Vj = btUmsatz.Li_Vj / 100
- btUmsatz.Gr_Li_Lf = btUmsatz.Gr_Li_Lf / 100
- btUmsatz.Gr_Li_Vj = btUmsatz.Gr_Li_Vj / 100.
- END.
- cZeile = cZeile + '£' + TRIM(STRING(btUmsatz.Me_Lf,'->>>>>>>>>'))
- + '£'.
- IF T_Hl THEN cZeile = cZeile + TRIM(STRING(btUmsatz.Li_Lf,'->>>>>9.99')).
- ELSE cZeile = cZeile + TRIM(STRING(btUmsatz.Li_Lf,'->>>>>>>>>')).
- cZeile = cZeile + '£'
- + TRIM(STRING(btUmsatz.Ep_Lf,'->>>>>>>>>')) + '£'
- + TRIM(STRING(btUmsatz.Vp_Lf,'->>>>>>>>>')) + '£'
- + TRIM(STRING(Ma_Lf ,'->>9.99')).
- cZeile = cZeile + '£' + TRIM(STRING(btUmsatz.Me_Vj,'->>>>>>>>>'))
- + '£'.
- IF T_Hl THEN cZeile = cZeile + TRIM(STRING(btUmsatz.Li_Vj,'->>>>>9.99')).
- ELSE cZeile = cZeile + TRIM(STRING(btUmsatz.Li_Vj,'->>>>>>>>>')).
- cZeile = cZeile + '£'
- + TRIM(STRING(btUmsatz.Ep_Vj,'->>>>>>>>>')) + '£'
- + TRIM(STRING(btUmsatz.Vp_Vj,'->>>>>>>>>')) + '£'
- + TRIM(STRING(Ma_Vj ,'->>9.99')).
- cZeile = REPLACE(cZeile, '£0.00£', '££').
- PUT CONTROL cZeile CHR(10).
-
- cZeile = ''.
- DO WHILE TRUE.
- IF AVAILABLE Artbez AND
- Artbez.Bez2 <> '' THEN cZeile = '£££' + Artbez.Bez2.
- IF NOT T_Gratis THEN LEAVE.
- IF btUmsatz.Gr_Me_Lf = 0 AND
- btUmsatz.Gr_Me_VJ = 0 THEN LEAVE.
- IF cZeile = '' THEN cZeile = '£££'.
- cZeile = cZeile + '£GRATIS£'.
- cZeile = cZeile + '£' + TRIM(STRING(btUmsatz.Gr_Me_Lf,'->>>>>>>>>'))
- + '£'.
- IF T_Hl THEN cZeile = cZeile + TRIM(STRING(btUmsatz.Gr_Li_Lf,'->>>>>9.99')).
- ELSE cZeile = cZeile + TRIM(STRING(btUmsatz.Gr_Li_Lf,'->>>>>>>>>')).
- cZeile = cZeile + '£'
- + TRIM(STRING(btUmsatz.Gr_Ep_Lf,'->>>>>>>>>')) + '£'
- + TRIM(STRING(btUmsatz.Gr_Vp_Lf,'->>>>>>>>>')) + '£'.
-
- cZeile = cZeile + '£' + TRIM(STRING(btUmsatz.Gr_Me_Vj,'->>>>>>>>>'))
- + '£'.
- IF T_Hl THEN cZeile = cZeile + TRIM(STRING(btUmsatz.Gr_Li_Vj,'->>>>>9.99')).
- ELSE cZeile = cZeile + TRIM(STRING(btUmsatz.Gr_Li_Vj,'->>>>>>>>>')).
- cZeile = cZeile + '£'
- + TRIM(STRING(btUmsatz.Gr_Ep_Vj,'->>>>>>>>>')) + '£'
- + TRIM(STRING(btUmsatz.Gr_Vp_Vj,'->>>>>>>>>')).
- LEAVE.
- END.
- IF cZeile <> '' THEN
- DO:
- cZeile = REPLACE(cZeile, '£0.00£', '££').
- PUT CONTROL cZeile CHR(10).
- cZeile = ''.
- END.
-
- iAnzArt = iAnzArt + 1.
-
- IF NOT LAST-OF ( btUmsatz.Pgr ) THEN NEXT.
-
- IF T_ProdTot AND
- cPgr <> '' THEN
- DO:
- DYNAMIC-FUNCTION('ProduktegruppenSchluss':U, cPgr) NO-ERROR.
- iAnzArt = 0.
- PUT CONTROL '£' CHR(10).
- END.
- IF NOT LAST-OF ( btUmsatz.Wgr ) THEN NEXT.
-
- DYNAMIC-FUNCTION('WarengruppenSchluss':U, cWgr) NO-ERROR.
- iAnzPgr = 0.
- IF NOT LAST-OF ( btUmsatz.Herst ) THEN
- DO:
- PUT CONTROL '£' CHR(10).
- NEXT.
- END.
- iAnzHer = 0.
- IF T_SubGrpHerst THEN
- DO:
- DYNAMIC-FUNCTION('HerstellerSchluss':U, cHerst) NO-ERROR.
- END.
- IF NOT LAST-OF ( btUmsatz.Knr ) THEN
- DO:
- PUT CONTROL '£' CHR(10).
- NEXT.
- END.
- iAnzKunde = 0.
- DYNAMIC-FUNCTION('KundenSchluss':U, cTitel ) NO-ERROR.
- PUT CONTROL '£' CHR(10)
- '£' CHR(10).
- END.
- DYNAMIC-FUNCTION('GesamtTotal':U ) NO-ERROR.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE AUSGABE_HERSTELLER gDebitorumsatz
- PROCEDURE AUSGABE_HERSTELLER :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cTitel AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cHerst AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cWgr AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cPgr AS CHARACTER NO-UNDO.
- DEFINE VARIABLE iWert AS INTEGER NO-UNDO.
- FOR EACH btUmsatz USE-INDEX tUmsatz-k1 NO-LOCK
- WHERE btUmsatz.RecArt = 'A'
- BREAK BY btUmsatz.Herst
- BY btUmsatz.Wgr
- BY btUmsatz.Pgr
- BY btUmsatz.Artnr
- BY btUmsatz.Inhalt
- BY btUmsatz.Jahr :
- IF FIRST-OF ( btUmsatz.Herst ) THEN
- DO:
- RUN FIND_HERSTELLER ( btUmsatz.Herst, OUTPUT cString ).
- iWert = INTEGER(ENTRY(1, cString, CHR(01))) NO-ERROR.
- ENTRY(1, cString, CHR(01)) = STRING(iWert,'999').
- cHerst = REPLACE(cString, CHR(01), ' ').
- PUT CONTROL STRING(btUmsatz.Herst,'999 ')
- (IF cString = '' THEN '' ELSE ENTRY(2, cString, CHR(01))) CHR(10)
- '£' CHR(10).
- END.
- IF FIRST-OF ( btUmsatz.Wgr ) THEN
- DO:
- cWgr = DYNAMIC-FUNCTION('WarengruppenStart':U, btUmsatz.Wgr) NO-ERROR.
- IF cWgr <> '' THEN PUT CONTROL cWgr CHR(10).
- END.
-
- IF FIRST-OF ( btUmsatz.Pgr ) THEN
- DO:
- cPgr = DYNAMIC-FUNCTION('ProduktegruppenStart':U, btUmsatz.Wgr, btUmsatz.Pgr) NO-ERROR.
- IF cPgr <> '' THEN PUT CONTROL '£' cPgr CHR(10).
- END.
-
- cZeile = ''.
- FIND KGebinde NO-LOCK USE-INDEX KGebinde-k1
- WHERE KGebinde.Firma = Firma
- AND KGebinde.Geb_Cd = btUmsatz.KGeb_Cd NO-ERROR.
- FIND Artst NO-LOCK USE-INDEX Artst-k1
- WHERE Artst.Firma = Firma
- AND Artst.Artnr = btUmsatz.Artnr
- AND Artst.Inhalt = btUmsatz.Inhalt
- AND Artst.Jahr = btUmsatz.Jahr NO-ERROR.
- FIND FIRST Artbez NO-LOCK USE-INDEX Artbez-k1
- WHERE Artbez.Firma = Firma
- AND Artbez.Artnr = btUmsatz.Artnr
- AND Artbez.Inhalt = btUmsatz.Inhalt
- AND Artbez.Jahr = btUmsatz.Jahr NO-ERROR.
- cZeile = cZeile + '££'
- + STRING(btUmsatz.Artnr,'999999').
- IF AVAILABLE Artbez THEN cZeile = cZeile + '£' + Artbez.Bez1.
- ELSE cZeile = cZeile + '£' + Artst.Bez.
- IF AVAILABLE KGebinde THEN cZeile = cZeile + '£' + KGebinde.KBez.
- ELSE cZeile = cZeile + '£ ? ' + STRING(btUmsatz.Inhalt,'9999') + ' ?'.
- cZeile = cZeile + '£'.
- IF btUmsatz.Jahr > 10 THEN cZeile = cZeile + STRING(btUmsatz.Jahr,'9999 ').
- IF btUmsatz.Alk% > 0 THEN cZeile = cZeile + STRING(btUmsatz.Alk%,'z9.99%').
- Ma_Vj = 0.
- Ma_Lf = 0.
- IF btUmsatz.Ep_Vj <> 0 AND
- btUmsatz.Vp_Vj <> 0 THEN Ma_Vj = 100 - (btUmsatz.Ep_Vj * 100 / btUmsatz.Vp_Vj).
- IF btUmsatz.Ep_Lf <> 0 AND
- btUmsatz.Vp_Lf <> 0 THEN Ma_Lf = 100 - (btUmsatz.Ep_Lf * 100 / btUmsatz.Vp_Lf).
- IF Ma_Vj < 999.99- THEN Ma_Vj = 999.99-.
- IF Ma_Vj > 999.99 THEN Ma_Vj = 999.99.
- IF Ma_Lf < 999.99- THEN Ma_Lf = 999.99-.
- IF Ma_Lf > 999.99 THEN Ma_Lf = 999.99.
- IF T_HL THEN
- DO:
- ASSIGN
- btUmsatz.Li_Lf = btUmsatz.Li_Lf / 100
- btUmsatz.Li_Vj = btUmsatz.Li_Vj / 100
- btUmsatz.Gr_Li_Lf = btUmsatz.Gr_Li_Lf / 100
- btUmsatz.Gr_Li_Vj = btUmsatz.Gr_Li_Vj / 100.
- END.
- cZeile = cZeile + '£' + TRIM(STRING(btUmsatz.Me_Lf,'->>>>>>>>>'))
- + '£'.
- IF T_Hl THEN cZeile = cZeile + TRIM(STRING(btUmsatz.Li_Lf,'->>>>>9.99')).
- ELSE cZeile = cZeile + TRIM(STRING(btUmsatz.Li_Lf,'->>>>>>>>>')).
- cZeile = cZeile + '£'
- + TRIM(STRING(btUmsatz.Ep_Lf,'->>>>>>>>>')) + '£'
- + TRIM(STRING(btUmsatz.Vp_Lf,'->>>>>>>>>')) + '£'
- + TRIM(STRING(Ma_Lf ,'->>9.99')).
- cZeile = cZeile + '£' + TRIM(STRING(btUmsatz.Me_Vj,'->>>>>>>>>'))
- + '£'.
- IF T_Hl THEN cZeile = cZeile + TRIM(STRING(btUmsatz.Li_Vj,'->>>>>9.99')).
- ELSE cZeile = cZeile + TRIM(STRING(btUmsatz.Li_Vj,'->>>>>>>>>')).
- cZeile = cZeile + '£'
- + TRIM(STRING(btUmsatz.Ep_Vj,'->>>>>>>>>')) + '£'
- + TRIM(STRING(btUmsatz.Vp_Vj,'->>>>>>>>>')) + '£'
- + TRIM(STRING(Ma_Vj ,'->>9.99')).
- cZeile = REPLACE(cZeile, '£0.00£', '££').
- PUT CONTROL cZeile CHR(10).
- cZeile = ''.
- DO WHILE TRUE.
- IF AVAILABLE Artbez AND
- Artbez.Bez2 <> '' THEN cZeile = '£££' + Artbez.Bez2.
- IF NOT T_Gratis THEN LEAVE.
- IF btUmsatz.Gr_Me_Lf = 0 AND
- btUmsatz.Gr_Me_VJ = 0 THEN LEAVE.
- IF cZeile = '' THEN cZeile = '£££'.
- cZeile = cZeile + '£GRATIS£'.
- cZeile = cZeile + '£' + TRIM(STRING(btUmsatz.Gr_Me_Lf,'->>>>>>>>>'))
- + '£'.
- IF T_Hl THEN cZeile = cZeile + TRIM(STRING(btUmsatz.Gr_Li_Lf,'->>>>>9.99')).
- ELSE cZeile = cZeile + TRIM(STRING(btUmsatz.Gr_Li_Lf,'->>>>>>>>>')).
- cZeile = cZeile + '£'
- + TRIM(STRING(btUmsatz.Gr_Ep_Lf,'->>>>>>>>>')) + '£'
- + TRIM(STRING(btUmsatz.Gr_Vp_Lf,'->>>>>>>>>')) + '£'.
-
- cZeile = cZeile + '£' + TRIM(STRING(btUmsatz.Gr_Me_Vj,'->>>>>>>>>'))
- + '£'.
- IF T_Hl THEN cZeile = cZeile + TRIM(STRING(btUmsatz.Gr_Li_Vj,'->>>>>9.99')).
- ELSE cZeile = cZeile + TRIM(STRING(btUmsatz.Gr_Li_Vj,'->>>>>>>>>')).
- cZeile = cZeile + '£'
- + TRIM(STRING(btUmsatz.Gr_Ep_Vj,'->>>>>>>>>')) + '£'
- + TRIM(STRING(btUmsatz.Gr_Vp_Vj,'->>>>>>>>>')).
- LEAVE.
- END.
- IF cZeile <> '' THEN
- DO:
- cZeile = REPLACE(cZeile, '£0.00£', '££').
- PUT CONTROL cZeile CHR(10).
- cZeile = ''.
- END.
-
- ASSIGN
- iAnzArt = iAnzArt + 1
- iAnzPgr = iAnzPgr + 1
- iAnzWgr = iAnzWgr + 1
- iAnzHer = iAnzHer + 1.
- IF NOT LAST-OF ( btUmsatz.Pgr ) THEN NEXT.
-
- IF iAnzArt > 1 AND
- cPgr <> '' THEN DYNAMIC-FUNCTION('ProduktegruppenSchluss':U, cPgr) NO-ERROR.
- iAnzArt = 0.
- /* IF LAST-OF ( btUmsatz.Wgr ) AND */
- /* iAnzPgr > 1 AND */
- /* cPgr <> '' THEN DYNAMIC-FUNCTION('ProduktegruppenSchluss':U, cPgr) NO-ERROR.*/
- IF NOT LAST-OF ( btUmsatz.Wgr ) THEN NEXT.
-
- DYNAMIC-FUNCTION('WarengruppenSchluss':U, cWgr) NO-ERROR.
- iAnzPgr = 0.
- IF NOT LAST-OF ( btUmsatz.Herst ) THEN
- DO:
- PUT CONTROL '£' CHR(10).
- NEXT.
- END.
- DYNAMIC-FUNCTION('HerstellerHerstSchluss':U, cHerst ) NO-ERROR.
- PUT CONTROL '£' CHR(10)
- '£' CHR(10).
- END.
- DYNAMIC-FUNCTION('GesamtTotal':U ) NO-ERROR.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE AUSGABE_TOTALE gDebitorumsatz
- PROCEDURE AUSGABE_TOTALE :
- /*------------------------------------------------------------------------------*/
- /* Purpose: */
- /* Parameters: <none> */
- /* Notes: */
- /*------------------------------------------------------------------------------*/
- DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cTitel AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cWgr AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cPgr AS CHARACTER NO-UNDO.
- DEFINE VARIABLE nLiLf AS DECIMAL NO-UNDO.
- DEFINE VARIABLE nLiVj AS DECIMAL NO-UNDO.
- DEFINE VARIABLE cRecArt AS CHARACTER NO-UNDO.
-
- DEFINE BUFFER bArtst FOR Artst.
- DEFINE BUFFER bArtbez FOR Artbez.
-
- IF T_ProdTot THEN cRecArt = 'B'.
- ELSE cRecArt = 'C'.
-
- ASSIGN
- iAnzKunde = 0
- iAnzWgr = 0
- iAnzPgr = 0
- iAnzArt = 0.
-
- /* Warengruppentotale (inlusive Artikeltotale) */
-
- PUT CONTROL 'Warengruppen Gesamttotale' CHR(10).
- lWgrTotale = TRUE.
- FOR EACH btUmsatz
- WHERE btUmsatz.RecArt = 'G'
- AND btUmsatz.Knr = 999999
-
- BREAK BY btUmsatz.Knr
- BY btUmsatz.Wgr
- BY btUmsatz.Artnr
- BY btUmsatz.Inhalt
- BY btUmsatz.Jahr
- :
- IF FIRST-OF ( btUmsatz.Wgr ) THEN
- DO:
- iAnzKunde = iAnzKunde + 1.
- lTotale = FALSE.
- cTitel = DYNAMIC-FUNCTION ('WarengruppenStart':U, btUmsatz.Wgr) NO-ERROR.
- cWgr = cTitel.
- PUT CONTROL '£' CHR(10)
- '£'
- cTitel CHR(10).
- lTotale = TRUE.
- END.
-
- IF LAST-OF ( btUmsatz.Wgr ) THEN
- DO:
- cTitel = DYNAMIC-FUNCTION ('WarengruppenSchluss':U, cWgr) NO-ERROR.
- NEXT.
- END.
-
- FIND FIRST bArtst NO-LOCK
- WHERE bArtst.Firma = Firma
- AND bArtst.Artnr = btUmsatz.Artnr
- AND bArtst.Inhalt = btUmsatz.Inhalt
- AND bArtst.Jahr = btUmsatz.Jahr.
-
- FIND FIRST bArtBez OF bArtst NO-LOCK.
-
- FIND KGebinde NO-LOCK USE-INDEX KGebinde-k1
- WHERE KGebinde.Firma = Firma
- AND KGebinde.Geb_Cd = btUmsatz.KGeb_Cd NO-ERROR.
-
- PUT CONTROL '££'
- STRING(btUmsatz.Artnr ,'999999') '£'
- bArtbez.Bez1 '£'.
- IF AVAILABLE KGebinde THEN PUT CONTROL KGebinde.KBez.
- PUT CONTROL '£'.
- IF btUmsatz.Jahr > 10 THEN PUT CONTROL STRING(btUmsatz.Jahr,'9999 ').
- IF btUmsatz.Alk% > 0 THEN PUT CONTROL STRING(btUmsatz.Alk%,'z9.99%').
- PUT CONTROL '£'.
- iAnzArt = iAnzArt + 1.
-
- Ma_Vj = 0.
- Ma_Lf = 0.
- IF btUmsatz.Ep_Vj <> 0 AND
- btUmsatz.Vp_Vj <> 0 THEN Ma_Vj = 100 - (btUmsatz.Ep_Vj * 100 / btUmsatz.Vp_Vj).
- IF btUmsatz.Ep_Lf <> 0 AND
- btUmsatz.Vp_Lf <> 0 THEN Ma_Lf = 100 - (btUmsatz.Ep_Lf * 100 / btUmsatz.Vp_Lf).
- IF Ma_Vj < 999.99- THEN Ma_Vj = 999.99-.
- IF Ma_Vj > 999.99 THEN Ma_Vj = 999.99.
- IF Ma_Lf < 999.99- THEN Ma_Lf = 999.99-.
- IF Ma_Lf > 999.99 THEN Ma_Lf = 999.99.
- IF T_HL THEN
- DO:
- ASSIGN
- btUmsatz.Li_Lf = btUmsatz.Li_Lf / 100
- btUmsatz.Li_Vj = btUmsatz.Li_Vj / 100
- btUmsatz.Gr_Li_Lf = btUmsatz.Gr_Li_Lf / 100
- btUmsatz.Gr_Li_Vj = btUmsatz.Gr_Li_Vj / 100.
- END.
-
- cZeile = ''.
- cZeile = TRIM(STRING(btUmsatz.Me_Lf,'->>>>>>>>>'))
- + '£'.
- IF T_Hl THEN cZeile = cZeile + TRIM(STRING(btUmsatz.Li_Lf,'->>>>>9.99')).
- ELSE cZeile = cZeile + TRIM(STRING(btUmsatz.Li_Lf,'->>>>>>>>>')).
- cZeile = cZeile + '£'
- + TRIM(STRING(btUmsatz.Ep_Lf,'->>>>>>>>>')) + '£'
- + TRIM(STRING(btUmsatz.Vp_Lf,'->>>>>>>>>')) + '£'
- + TRIM(STRING(Ma_Lf ,'->>9.99')).
- cZeile = cZeile + '£' + TRIM(STRING(btUmsatz.Me_Vj,'->>>>>>>>>'))
- + '£'.
- IF T_Hl THEN cZeile = cZeile + TRIM(STRING(btUmsatz.Li_Vj,'->>>>>9.99')).
- ELSE cZeile = cZeile + TRIM(STRING(btUmsatz.Li_Vj,'->>>>>>>>>')).
- cZeile = cZeile + '£'
- + TRIM(STRING(btUmsatz.Ep_Vj,'->>>>>>>>>')) + '£'
- + TRIM(STRING(btUmsatz.Vp_Vj,'->>>>>>>>>')) + '£'
- + TRIM(STRING(Ma_Vj ,'->>9.99')).
- cZeile = REPLACE(cZeile, '£0.00£', '££').
- PUT CONTROL cZeile CHR(10).
- cZeile = ''.
- IF T_Gratis THEN
- DO:
- IF btUmsatz.Gr_Me_Lf <> 0 OR
- btUmsatz.Gr_Me_VJ <> 0 THEN
- DO:
- cZeile = cZeile + '££££GRATIS££' + TRIM(STRING(btUmsatz.Gr_Me_Lf,'->>>>>>>>>'))
- + '£'.
- IF T_Hl THEN cZeile = cZeile + TRIM(STRING(btUmsatz.Gr_Li_Lf,'->>>>>9.99')).
- ELSE cZeile = cZeile + TRIM(STRING(btUmsatz.Gr_Li_Lf,'->>>>>>>>>')).
- cZeile = cZeile + '£' + TRIM(STRING(btUmsatz.Gr_Ep_Lf,'->>>>>>>>>'))
- + '£' + TRIM(STRING(btUmsatz.Gr_Vp_Lf,'->>>>>>>>>'))
- + '£'.
- cZeile = cZeile + '£' + TRIM(STRING(btUmsatz.Gr_Me_Vj,'->>>>>>>>>'))
- + '£'.
- IF T_Hl THEN cZeile = cZeile + TRIM(STRING(btUmsatz.Gr_Li_Vj,'->>>>>9.99')).
- ELSE cZeile = cZeile + TRIM(STRING(btUmsatz.Gr_Li_Vj,'->>>>>>>>>')).
- cZeile = cZeile + '£' + TRIM(STRING(btUmsatz.Gr_Ep_Vj,'->>>>>>>>>'))
- + '£' + TRIM(STRING(btUmsatz.Gr_Vp_Vj,'->>>>>>>>>'))
- + '£'.
- cZeile = REPLACE(cZeile, '£0.00£', '££').
- PUT CONTROL cZeile CHR(10).
- cZeile = ''.
- END.
- END.
-
- IF btUmsatz.Artnr > 0 AND
- bArtbez.Bez2 <> '' THEN PUT CONTROL '£££' bArtbez.Bez2 CHR(10).
-
- cZeile = ''.
- END.
- lWgrTotale = FALSE.
-
- IF T_NurWgr THEN
- DO:
- PUT CONTROL '£' CHR(10).
- DYNAMIC-FUNCTION('GesamtTotal':U) NO-ERROR.
- RETURN.
- END.
-
- ASSIGN
- iAnzKunde = 0
- iAnzWgr = 0
- iAnzPgr = 0
- iAnzArt = 0.
-
- PUT CONTROL '£' CHR(10)
- '£' CHR(10)
- '£' CHR(10).
-
- /* Warengruppen-, Produktegruppen-Totale pro Kunde */
- FOR EACH btUmsatz
- WHERE btUmsatz.RecArt = cRecArt
- AND btUmsatz.Artnr = 9999999
-
- BREAK BY btUmsatz.Knr
- BY btUmsatz.Wgr
- BY btUmsatz.Pgr
- :
- IF FIRST-OF ( btUmsatz.Knr ) THEN
- DO:
- iAnzKunde = iAnzKunde + 1.
- cTitel = (IF btUmsatz.Knr <> 999999 THEN DYNAMIC-FUNCTION('getAdressAnzeige':U, btUmsatz.Knr) ELSE 'Warengruppen Gesamttotale').
- PUT CONTROL STRING(btUmsatz.Knr,'999999 ')
- cTitel CHR(10).
- IF cRecArt = 'B' THEN PUT CONTROL '£' CHR(10).
- iAnzWgr = 0.
- END.
- IF FIRST-OF ( btUmsatz.Wgr ) THEN
- DO:
- cWgr = DYNAMIC-FUNCTION('WarengruppenStart':U, btUmsatz.Wgr) NO-ERROR.
- IF cWgr <> '' THEN PUT CONTROL '£' cWgr.
- IF cRecArt = 'B' THEN PUT CONTROL CHR(10).
- ELSE PUT CONTROL '£££'.
- iAnzPgr = 0.
- END.
- IF FIRST-OF ( btUmsatz.Pgr ) AND
- cRecArt = 'B' THEN
- DO:
- cPgr = DYNAMIC-FUNCTION('ProduktegruppenStart':U, btUmsatz.Wgr, btUmsatz.Pgr) NO-ERROR.
- IF cPgr <> '' THEN PUT CONTROL '££' cPgr '££££'.
- ELSE PUT CONTROL '££££££'.
- END.
-
- iAnzWgr = iAnzWgr + 1.
- iAnzPgr = iAnzPgr + 1.
-
- Ma_Vj = 0.
- Ma_Lf = 0.
- IF btUmsatz.Ep_Vj <> 0 AND
- btUmsatz.Vp_Vj <> 0 THEN Ma_Vj = 100 - (btUmsatz.Ep_Vj * 100 / btUmsatz.Vp_Vj).
- IF btUmsatz.Ep_Lf <> 0 AND
- btUmsatz.Vp_Lf <> 0 THEN Ma_Lf = 100 - (btUmsatz.Ep_Lf * 100 / btUmsatz.Vp_Lf).
- IF Ma_Vj < 999.99- THEN Ma_Vj = 999.99-.
- IF Ma_Vj > 999.99 THEN Ma_Vj = 999.99.
- IF Ma_Lf < 999.99- THEN Ma_Lf = 999.99-.
- IF Ma_Lf > 999.99 THEN Ma_Lf = 999.99.
- IF T_HL THEN
- DO:
- ASSIGN
- btUmsatz.Li_Lf = btUmsatz.Li_Lf / 100
- btUmsatz.Li_Vj = btUmsatz.Li_Vj / 100
- btUmsatz.Gr_Li_Lf = btUmsatz.Gr_Li_Lf / 100
- btUmsatz.Gr_Li_Vj = btUmsatz.Gr_Li_Vj / 100.
- END.
-
- cZeile = ''.
- cZeile = TRIM(STRING(btUmsatz.Me_Lf,'->>>>>>>>>'))
- + '£'.
- IF T_Hl THEN cZeile = cZeile + TRIM(STRING(btUmsatz.Li_Lf,'->>>>>9.99')).
- ELSE cZeile = cZeile + TRIM(STRING(btUmsatz.Li_Lf,'->>>>>>>>>')).
- cZeile = cZeile + '£'
- + TRIM(STRING(btUmsatz.Ep_Lf,'->>>>>>>>>')) + '£'
- + TRIM(STRING(btUmsatz.Vp_Lf,'->>>>>>>>>')) + '£'
- + TRIM(STRING(Ma_Lf ,'->>9.99')).
- cZeile = cZeile + '£' + TRIM(STRING(btUmsatz.Me_Vj,'->>>>>>>>>'))
- + '£'.
- IF T_Hl THEN cZeile = cZeile + TRIM(STRING(btUmsatz.Li_Vj,'->>>>>9.99')).
- ELSE cZeile = cZeile + TRIM(STRING(btUmsatz.Li_Vj,'->>>>>>>>>')).
- cZeile = cZeile + '£'
- + TRIM(STRING(btUmsatz.Ep_Vj,'->>>>>>>>>')) + '£'
- + TRIM(STRING(btUmsatz.Vp_Vj,'->>>>>>>>>')) + '£'
- + TRIM(STRING(Ma_Vj ,'->>9.99')).
- cZeile = REPLACE(cZeile, '£0.00£', '££').
- PUT CONTROL cZeile CHR(10).
- cZeile = ''.
- IF T_Gratis THEN
- DO:
- IF btUmsatz.Gr_Me_Lf <> 0 OR
- btUmsatz.Gr_Me_VJ <> 0 THEN
- DO:
- cZeile = cZeile + '££££GRATIS££' + TRIM(STRING(btUmsatz.Gr_Me_Lf,'->>>>>>>>>'))
- + '£'.
- IF T_Hl THEN cZeile = cZeile + TRIM(STRING(btUmsatz.Gr_Li_Lf,'->>>>>9.99')).
- ELSE cZeile = cZeile + TRIM(STRING(btUmsatz.Gr_Li_Lf,'->>>>>>>>>')).
- cZeile = cZeile + '£' + TRIM(STRING(btUmsatz.Gr_Ep_Lf,'->>>>>>>>>'))
- + '£' + TRIM(STRING(btUmsatz.Gr_Vp_Lf,'->>>>>>>>>'))
- + '£'.
- cZeile = cZeile + '£' + TRIM(STRING(btUmsatz.Gr_Me_Vj,'->>>>>>>>>'))
- + '£'.
- IF T_Hl THEN cZeile = cZeile + TRIM(STRING(btUmsatz.Gr_Li_Vj,'->>>>>9.99')).
- ELSE cZeile = cZeile + TRIM(STRING(btUmsatz.Gr_Li_Vj,'->>>>>>>>>')).
- cZeile = cZeile + '£' + TRIM(STRING(btUmsatz.Gr_Ep_Vj,'->>>>>>>>>'))
- + '£' + TRIM(STRING(btUmsatz.Gr_Vp_Vj,'->>>>>>>>>'))
- + '£'.
- cZeile = REPLACE(cZeile, '£0.00£', '££').
- PUT CONTROL cZeile CHR(10).
- cZeile = ''.
- END.
- END.
-
- cZeile = ''.
- IF LAST-OF ( btUmsatz.Wgr ) AND
- iAnzWgr > 1 AND
- cRecArt = 'B' THEN DYNAMIC-FUNCTION('WarengruppenSchluss':U, cWgr) NO-ERROR.
- IF LAST-OF ( btUmsatz.Knr ) THEN DYNAMIC-FUNCTION('KundenSchluss':U, cTitel) NO-ERROR.
- END.
-
- DYNAMIC-FUNCTION('GesamtTotal':U) NO-ERROR.
-
- PUT CONTROL '£' CHR(10)
- '£' CHR(10)
- 'Kundentotale' CHR(10).
-
- /* Kundentotale */
- cRecArt = 'E'.
- FOR EACH btUmsatz
- WHERE btUmsatz.RecArt = cRecArt
- AND btUmsatz.Wgr = 9999
-
- BREAK BY btUmsatz.Knr
- BY btUmsatz.Wgr
- :
- iAnzKunde = iAnzKunde + 1.
- cTitel = DYNAMIC-FUNCTION('getAdressAnzeige':U, btUmsatz.Knr) NO-ERROR.
- PUT CONTROL '££'
- STRING(btUmsatz.Knr,'999999')
- '£'
- cTitel
- '£££'.
-
- Ma_Vj = 0.
- Ma_Lf = 0.
- IF btUmsatz.Ep_Vj <> 0 AND
- btUmsatz.Vp_Vj <> 0 THEN Ma_Vj = 100 - (btUmsatz.Ep_Vj * 100 / btUmsatz.Vp_Vj).
- IF btUmsatz.Ep_Lf <> 0 AND
- btUmsatz.Vp_Lf <> 0 THEN Ma_Lf = 100 - (btUmsatz.Ep_Lf * 100 / btUmsatz.Vp_Lf).
- IF Ma_Vj < 999.99- THEN Ma_Vj = 999.99-.
- IF Ma_Vj > 999.99 THEN Ma_Vj = 999.99.
- IF Ma_Lf < 999.99- THEN Ma_Lf = 999.99-.
- IF Ma_Lf > 999.99 THEN Ma_Lf = 999.99.
- IF T_HL THEN
- DO:
- ASSIGN
- btUmsatz.Li_Lf = btUmsatz.Li_Lf / 100
- btUmsatz.Li_Vj = btUmsatz.Li_Vj / 100
- btUmsatz.Gr_Li_Lf = btUmsatz.Gr_Li_Lf / 100
- btUmsatz.Gr_Li_Vj = btUmsatz.Gr_Li_Vj / 100.
- END.
-
- cZeile = ''.
- cZeile = TRIM(STRING(btUmsatz.Me_Lf,'->>>>>>>>>'))
- + '£'.
- IF T_Hl THEN cZeile = cZeile + TRIM(STRING(btUmsatz.Li_Lf,'->>>>>9.99')).
- ELSE cZeile = cZeile + TRIM(STRING(btUmsatz.Li_Lf,'->>>>>>>>>')).
- cZeile = cZeile + '£'
- + TRIM(STRING(btUmsatz.Ep_Lf,'->>>>>>>>>')) + '£'
- + TRIM(STRING(btUmsatz.Vp_Lf,'->>>>>>>>>')) + '£'
- + TRIM(STRING(Ma_Lf ,'->>9.99')).
- cZeile = cZeile + '£' + TRIM(STRING(btUmsatz.Me_Vj,'->>>>>>>>>'))
- + '£'.
- IF T_Hl THEN cZeile = cZeile + TRIM(STRING(btUmsatz.Li_Vj,'->>>>>9.99')).
- ELSE cZeile = cZeile + TRIM(STRING(btUmsatz.Li_Vj,'->>>>>>>>>')).
- cZeile = cZeile + '£'
- + TRIM(STRING(btUmsatz.Ep_Vj,'->>>>>>>>>')) + '£'
- + TRIM(STRING(btUmsatz.Vp_Vj,'->>>>>>>>>')) + '£'
- + TRIM(STRING(Ma_Vj ,'->>9.99')).
- cZeile = REPLACE(cZeile, '£0.00£', '££').
- PUT CONTROL cZeile CHR(10).
- cZeile = ''.
- IF T_Gratis THEN
- DO:
- IF btUmsatz.Gr_Me_Lf <> 0 OR
- btUmsatz.Gr_Me_VJ <> 0 THEN
- DO:
- cZeile = cZeile + '££££GRATIS££' + TRIM(STRING(btUmsatz.Gr_Me_Lf,'->>>>>>>>>'))
- + '£'.
- IF T_Hl THEN cZeile = cZeile + TRIM(STRING(btUmsatz.Gr_Li_Lf,'->>>>>9.99')).
- ELSE cZeile = cZeile + TRIM(STRING(btUmsatz.Gr_Li_Lf,'->>>>>>>>>')).
- cZeile = cZeile + '£' + TRIM(STRING(btUmsatz.Gr_Ep_Lf,'->>>>>>>>>'))
- + '£' + TRIM(STRING(btUmsatz.Gr_Vp_Lf,'->>>>>>>>>'))
- + '£'.
- cZeile = cZeile + '£' + TRIM(STRING(btUmsatz.Gr_Me_Vj,'->>>>>>>>>'))
- + '£'.
- IF T_Hl THEN cZeile = cZeile + TRIM(STRING(btUmsatz.Gr_Li_Vj,'->>>>>9.99')).
- ELSE cZeile = cZeile + TRIM(STRING(btUmsatz.Gr_Li_Vj,'->>>>>>>>>')).
- cZeile = cZeile + '£' + TRIM(STRING(btUmsatz.Gr_Ep_Vj,'->>>>>>>>>'))
- + '£' + TRIM(STRING(btUmsatz.Gr_Vp_Vj,'->>>>>>>>>'))
- + '£'.
- cZeile = REPLACE(cZeile, '£0.00£', '££').
- PUT CONTROL cZeile CHR(10).
- cZeile = ''.
- END.
- END.
-
- cZeile = ''.
- END.
-
- DYNAMIC-FUNCTION('GesamtTotal':U) NO-ERROR.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE AUSGABE_VERBAND gDebitorumsatz
- PROCEDURE AUSGABE_VERBAND :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE VARIABLE hvUmsatz AS HANDLE NO-UNDO.
- DEFINE VARIABLE htUmsatz AS HANDLE NO-UNDO.
- ASSIGN
- htUmsatz = TEMP-TABLE tUmsatz:DEFAULT-BUFFER-HANDLE
- hvUmsatz = TEMP-TABLE vUmsatz:DEFAULT-BUFFER-HANDLE.
-
- EMPTY TEMP-TABLE vUmsatz.
- hvUmsatz:COPY-TEMP-TABLE(htUmsatz).
- EMPTY TEMP-TABLE tUmsatz.
- FOR EACH vUmsatz NO-LOCK
- WHERE vUmsatz.RecArt >= 'K':
- CREATE tUmsatz.
- BUFFER-COPY vUmsatz
- EXCEPT RecArt
- TO tUmsatz.
- CASE vUmsatz.RecArt:
- WHEN 'K' THEN
- tUmsatz.RecArt = 'A'.
- WHEN 'L' THEN
- tUmsatz.RecArt = 'B'.
- WHEN 'M' THEN
- tUmsatz.RecArt = 'C'.
- WHEN 'N' THEN
- tUmsatz.RecArt = 'D'.
- WHEN 'O' THEN
- tUmsatz.RecArt = 'E'.
- WHEN 'P' THEN
- tUmsatz.RecArt = 'F'.
- WHEN 'Q' THEN
- tUmsatz.RecArt = 'G'.
- END CASE.
- END.
-
- PUT CONTROL '£' CHR(10)
- '£' CHR(10)
- 'Verbandstotale' CHR(10)
- '£' CHR(10).
-
- RUN AUSGABE ( 3 ).
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE BEREINIGEN gDebitorumsatz
- PROCEDURE BEREINIGEN :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE INPUT PARAMETER ipHandle AS HANDLE NO-UNDO.
- DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
- DEFINE VARIABLE i AS INTEGER NO-UNDO.
- cString = ''.
- DO i = 1 TO LENGTH(ipHandle:SCREEN-VALUE):
- IF SUBSTRING(ipHandle:SCREEN-VALUE,i,1) < '0' OR
- SUBSTRING(ipHandle:SCREEN-VALUE,i,1) > '9' THEN
- DO:
- SUBSTRING(ipHandle:SCREEN-VALUE,i) = ','.
- END.
- END.
- DO i = 1 TO NUM-ENTRIES(ipHandle:SCREEN-VALUE, ','):
- IF cString <> '' THEN cString = cString + ','.
- cString = cString
- + STRING(INTEGER(ENTRY(i, ipHandle:SCREEN-VALUE, ',')),'999').
- END.
- ipHandle:SCREEN-VALUE = cString.
- RETURN.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE CREATE_tUmsatz gDebitorumsatz
- PROCEDURE CREATE_tUmsatz :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE INPUT PARAMETER ipHerk AS INTEGER NO-UNDO.
- DEFINE INPUT PARAMETER ipZeit AS CHARACTER NO-UNDO.
- DEFINE INPUT PARAMETER ipRecArt AS CHARACTER NO-UNDO.
-
- DEFINE VARIABLE iiKnr AS INTEGER INIT 9999999 NO-UNDO.
- DEFINE VARIABLE iiHerst AS INTEGER INIT 9999999 NO-UNDO.
- DEFINE VARIABLE iWgr AS INTEGER INIT 9999 NO-UNDO.
- DEFINE VARIABLE iPgr AS INTEGER INIT 9999 NO-UNDO.
- DEFINE VARIABLE iArtnr AS INTEGER INIT 9999999 NO-UNDO.
- DEFINE VARIABLE iInhalt AS INTEGER INIT 9999 NO-UNDO.
- DEFINE VARIABLE iJahr AS INTEGER INIT 9999 NO-UNDO.
-
- CASE ipRecArt:
- WHEN 'A' THEN
- DO: /* Artikeltotal */
- ASSIGN
- iiKnr = (IF T_Hersteller THEN iHerst ELSE UmsKnr)
- iiHerst = iHerst
- iWgr = bArtst.Wg_Grp
- iArtnr = bArtst.Artnr
- iInhalt = bArtst.Inhalt
- iJahr = bArtst.Jahr.
- IF T_ProdTot THEN iPgr = bArtst.Prod_Grp.
- END.
- WHEN 'B' THEN
- DO: /* Produktetotal */
- ASSIGN
- iiKnr = (IF T_Hersteller THEN iHerst ELSE UmsKnr)
- iiHerst = iHerst
- iWgr = bArtst.Wg_Grp
- iPgr = bArtst.Prod_Grp.
- END.
- WHEN 'C' THEN
- DO: /* Warengruppentotal */
- ASSIGN
- iiKnr = (IF T_Hersteller THEN iHerst ELSE UmsKnr)
- iiHerst = iHerst
- iWgr = bArtst.Wg_Grp.
- END.
- WHEN 'D' THEN
- DO: /* Herstellertotal */
- ASSIGN
- iiKnr = (IF T_Hersteller THEN iHerst ELSE UmsKnr)
- iiHerst = iHerst.
- END.
- WHEN 'E' THEN
- DO: /* Kundentotal */
- ASSIGN
- iiKnr = (IF T_Hersteller THEN iHerst ELSE UmsKnr).
- END.
- WHEN 'F' THEN
- DO: /* Gesamttotal */
- END.
-
- WHEN 'G' THEN
- DO: /* Warengruppentotale */
- ASSIGN
- iiKnr = 999999
- iWgr = bArtst.Wg_Grp.
- RUN WRITE_tUmsatz ( ipHerk ,
- ipZeit ,
- ipRecArt,
- iiKnr ,
- iiHerst ,
- iWgr ,
- iPgr ,
- iArtnr ,
- iInhalt ,
- iJahr
- ).
- ASSIGN
- iArtnr = bArtst.Artnr
- iInhalt = bArtst.Inhalt
- iJahr = bArtst.Jahr.
- END.
-
- /* VERBANDSGRUPPEN */
-
- WHEN 'K' THEN
- DO: /* Artikeltotal */
- ASSIGN
- iiKnr = bDebst.Verband_Grp
- iiHerst = iHerst
- iWgr = bArtst.Wg_Grp
- iArtnr = bArtst.Artnr
- iInhalt = bArtst.Inhalt
- iJahr = bArtst.Jahr.
- IF T_ProdTot THEN iPgr = bArtst.Prod_Grp.
- END.
- WHEN 'L' THEN
- DO: /* Produktetotal */
- ASSIGN
- iiKnr = bDebst.Verband_Grp
- iiHerst = iHerst
- iWgr = bArtst.Wg_Grp
- iPgr = bArtst.Prod_Grp.
- END.
- WHEN 'M' THEN
- DO: /* Warengruppentotal */
- ASSIGN
- iiKnr = bDebst.Verband_Grp
- iiHerst = iHerst
- iWgr = bArtst.Wg_Grp.
- END.
- WHEN 'N' THEN
- DO: /* Herstellertotal */
- ASSIGN
- iiKnr = bDebst.Verband_Grp
- iiHerst = iHerst.
- END.
- WHEN 'O' THEN
- DO: /* Verbandstotal */
- ASSIGN
- iiKnr = bDebst.Verband_Grp.
- END.
- WHEN 'P' THEN
- DO: /* Gesamttotal */
- END.
-
- WHEN 'Q' THEN
- DO: /* Warengruppentotale */
- ASSIGN
- iiKnr = 999999
- iWgr = bArtst.Wg_Grp.
- RUN WRITE_tUmsatz ( ipHerk ,
- ipZeit ,
- ipRecArt,
- iiKnr ,
- iiHerst ,
- iWgr ,
- iPgr ,
- iArtnr ,
- iInhalt ,
- iJahr
- ).
- ASSIGN
- iArtnr = bArtst.Artnr
- iInhalt = bArtst.Inhalt
- iJahr = bArtst.Jahr.
- END.
-
- END CASE.
- RUN WRITE_tUmsatz ( ipHerk ,
- ipZeit ,
- ipRecArt,
- iiKnr ,
- iiHerst ,
- iWgr ,
- iPgr ,
- iArtnr ,
- iInhalt ,
- iJahr
- ).
- IF iVerband = 999999 THEN RETURN ''.
-
- CASE ipRecArt:
- WHEN 'A' THEN
- ipRecArt = 'K'.
- WHEN 'B' THEN
- ipRecArt = 'L'.
- WHEN 'C' THEN
- ipRecArt = 'M'.
- WHEN 'D' THEN
- ipRecArt = 'N'.
- WHEN 'E' THEN
- ipRecArt = 'O'.
- WHEN 'F' THEN
- ipRecArt = 'P'.
- WHEN 'G' THEN
- ipRecArt = 'Q'.
-
- OTHERWISE
- RETURN ''.
- END CASE.
-
- RUN CREATE_tUmsatz ( ipHerk, ipZeit, ipRecArt ).
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE disable_UI gDebitorumsatz _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.
- ------------------------------------------------------------------------------*/
- /* Hide all frames. */
- HIDE FRAME gDebitorumsatz.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enableObject gDebitorumsatz
- PROCEDURE enableObject :
- /*------------------------------------------------------------------------------
- Purpose: Super Override
- Parameters:
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
- DO WITH FRAME {&FRAME-NAME}:
- cInstallation = DYNAMIC-FUNCTION('getInstallation':U ) NO-ERROR.
- RUN COMBO_VERTRETER ( INPUT CB_Vertreter:HANDLE ).
- cString = CB_Vertreter:LIST-ITEM-PAIRS.
- IF cString <> '' THEN cString = cString + ';'.
- cString = cString + 'Alle Vertreter;999999'.
- CB_Vertreter:LIST-ITEM-PAIRS = cString.
- CB_Vertreter:SCREEN-VALUE = '999999'.
- RUN COMBO_VERBAND ( INPUT CB_Verband:HANDLE ).
- cString = CB_Verband:LIST-ITEM-PAIRS.
- IF cString <> '' THEN cString = cString + ';'.
- cString = cString + 'Alle Verbände (999999);999999'.
- CB_Verband:LIST-ITEM-PAIRS = cString.
- CB_Verband:SCREEN-VALUE = '999999'.
-
- RUN COMBO_SUBVERBAND ( INPUT CB_Subverband:HANDLE, CB_Verband:SCREEN-VALUE ).
- cString = CB_Subverband:LIST-ITEM-PAIRS.
- IF cString <> '' THEN cString = cString + ';'.
- cString = cString + 'Alle Subverbände (999999);999999'.
- CB_Subverband:LIST-ITEM-PAIRS = cString.
- CB_Subverband:SCREEN-VALUE = '999999'.
- END.
- RUN LESEN_FEHLWERTE.
- RUN SUPER.
- RUN FENSTER_TITEL ( INPUT FRAME {&FRAME-NAME}:HANDLE ) NO-ERROR.
- DO WITH FRAME {&FRAME-NAME}:
- ASSIGN {&list-6}.
- IF T_Liter = TRUE THEN T_HL:SENSITIVE = TRUE.
- ELSE T_HL:SENSITIVE = FALSE.
- END.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE enable_UI gDebitorumsatz _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 T_NurWgr F_VonKnr F_BisKnr CB_Vertreter CB_Verband CB_Subverband
- F_Kundengrp F_Preisgruppe T_Hersteller F_VonArtnr F_BisArtnr
- F_Hersteller F_Warengrp F_VonDatum F_BisDatum T_Menge T_Liter T_HL
- T_EP T_VP T_Marge T_Vorjahr T_Gratis T_SubGrpHerst T_OffeneAuf
- T_Lieferadresse T_Zusatz T_ProdTot
- WITH FRAME gDebitorumsatz.
- ENABLE T_NurWgr F_VonKnr F_BisKnr CB_Vertreter CB_Verband CB_Subverband
- F_Kundengrp F_Preisgruppe T_Hersteller F_VonArtnr F_BisArtnr
- F_Hersteller F_Warengrp F_VonDatum F_BisDatum T_Menge T_Liter T_HL
- T_EP T_VP T_Marge T_Vorjahr T_Gratis T_SubGrpHerst T_OffeneAuf
- Btn_Cancel Btn_OK T_Lieferadresse T_Zusatz T_ProdTot RECT-12
- WITH FRAME gDebitorumsatz.
- VIEW FRAME gDebitorumsatz.
- {&OPEN-BROWSERS-IN-QUERY-gDebitorumsatz}
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE ENDE gDebitorumsatz
- PROCEDURE ENDE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- AktSeite = DYNAMIC-FUNCTION('getCurrentPage':U) NO-ERROR.
- IF AktSeite > 1 THEN
- DO:
- RUN selectPage ( INPUT 1 ).
- RETURN NO-APPLY.
- END.
- RUN ENDE_PROGRAMM ( INPUT THIS-PROCEDURE:FILE-NAME ).
- APPLY 'GO' TO FRAME {&FRAME-NAME}.
- RETURN NO-APPLY.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE exitObject gDebitorumsatz
- PROCEDURE exitObject :
- /*------------------------------------------------------------------------------
- Purpose: Super Override
- Parameters:
- Notes:
- ------------------------------------------------------------------------------*/
- RUN ENDE.
- RETURN NO-APPLY.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE FUELLEN_TEMPTABLE gDebitorumsatz
- PROCEDURE FUELLEN_TEMPTABLE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE VARIABLE VonDat1 AS DATE NO-UNDO.
- DEFINE VARIABLE VonDat2 AS DATE NO-UNDO.
- DEFINE VARIABLE BisDat1 AS DATE NO-UNDO.
- DEFINE VARIABLE BisDat2 AS DATE NO-UNDO.
- EMPTY TEMP-TABLE tUmsatz.
- EMPTY TEMP-TABLE vUmsatz.
- VonDat1 = F_VonDatum.
- BisDat1 = F_BisDatum.
- VonDat2 = ?.
- BisDat2 = ?.
- VonDat2 = DATE(MONTH(VonDat1),DAY(VonDat1),YEAR(VonDat1) - 1) NO-ERROR.
- BisDat2 = DATE(MONTH(BisDat1),DAY(BisDat1),YEAR(BisDat1) - 1) NO-ERROR.
- IF VonDat2 = ? THEN VonDat2 = DATE(MONTH(VonDat1),DAY(VonDat1) - 1,YEAR(VonDat1) - 1).
- IF BisDat2 = ? THEN BisDat2 = DATE(MONTH(BisDat1),DAY(BisDat1) - 1,YEAR(BisDat1) - 1).
- FOR EACH bDebst NO-LOCK USE-INDEX Debst-k1
- WHERE bDebst.Firma = Firma
- AND bDebst.Knr >= F_VonKnr
- AND bDebst.Knr <= F_BisKnr
- AND ((iVer = 999999)
- OR (iVer <> 999999 AND
- bDebst.Vertr = iVer))
- AND ((iVerband = 999999)
- OR (iVerband <> 999999 AND
- bDebst.Verband_Grp = iVerband))
- AND ((iSubverband = 999999)
- OR (iSubverband <> 999999 AND
- bDebst.Subverband_Grp = iSubverband)) ,
-
- EACH bArtbw NO-LOCK USE-INDEX Artbw-k10
- WHERE bArtbw.Firma = bDebst.Firma
- AND bArtbw.Knr = bDebst.Knr
- AND bArtbw.Fak_Dat <> ?
- AND bArtbw.Fak_Dat >= VonDat1
- AND bArtbw.Fak_Dat <= BisDat1
- AND bArtbw.Artnr >= F_VonArtnr
- AND bArtbw.Artnr <= F_BisArtnr
- AND bArtbw.Menge <> 0
- AND bArtbw.Tr_Art <= 10
- AND ((T_Gratis)
- OR (NOT T_Gratis AND
- bArtbw.Preis <> 0)),
-
- FIRST bArtst NO-LOCK USE-INDEX Artst-k1
- WHERE bArtst.Firma = bArtbw.Firma
- AND bArtst.Artnr = bArtbw.Artnr
- AND bArtst.Inhalt = bArtbw.Inhalt
- AND bArtst.Jahr = bArtbw.Jahr
- BREAK BY bDebst.Knr
- BY bArtst.Artnr
- BY bArtst.Inhalt
- BY bArtst.Jahr :
- IF F_Kundengrp = '' THEN.
- ELSE
- DO:
- IF LOOKUP(STRING(bDebst.Ku_Grp,'999'), F_Kundengrp, ',') = 0 THEN NEXT.
- END.
- IF F_Preisgruppe = '' THEN.
- ELSE
- DO:
- IF LOOKUP(STRING(bDebst.Preis_Grp,'999'), F_Preisgruppe, ',') = 0 THEN NEXT.
- END.
- IF F_Hersteller = '' THEN.
- ELSE
- DO:
- IF LOOKUP(STRING(bArtst.Herst ,'999'), F_Hersteller, ',') = 0 THEN NEXT.
- END.
- IF F_Warengrp = '' THEN.
- ELSE
- DO:
- IF LOOKUP(STRING(bArtst.Wg_Grp,'999'), F_Warengrp , ',') = 0 THEN NEXT.
- END.
- IF T_Lieferadresse THEN
- DO:
- UmsKnr = bDebst.Knr.
- END.
- ELSE
- DO:
- IF bDebst.KnrFak <> 0 THEN UmsKnr = bDebst.KnrFak.
- ELSE UmsKnr = bDebst.Knr.
- END.
- iHerst = (IF T_SubGrpHerst THEN bArtst.Herst ELSE 00).
- IF T_Hersteller THEN iHerst = bArtst.Herst.
-
- RUN CREATE_tUmsatz ( 1, 'LF', 'A' ). /* Artikel */
- IF T_ProdTot THEN RUN CREATE_tUmsatz ( 1, 'LF', 'B' ). /* Produktegruppentotale */
- RUN CREATE_tUmsatz ( 1, 'LF', 'C' ). /* Warengruppentotale */
- IF T_SubGrpHerst THEN RUN CREATE_tUmsatz ( 1, 'LF', 'D' ). /* Herstellertotale */
- RUN CREATE_tUmsatz ( 1, 'LF', 'E' ). /* Kundentotale */
- RUN CREATE_tUmsatz ( 1, 'LF', 'F' ). /* Gesamttotal */
- RUN CREATE_tUmsatz ( 1, 'LF', 'G' ). /* WarengruppenGTotal */
- END.
- IF T_Vorjahr THEN
- DO:
- FOR EACH bDebst NO-LOCK USE-INDEX Debst-k1
- WHERE bDebst.Firma = Firma
- AND bDebst.Knr >= F_VonKnr
- AND bDebst.Knr <= F_BisKnr
- AND ((iVer = 999999)
- OR (iVer <> 999999 AND
- bDebst.Vertr = iVer))
- AND ((iVerband = 999999)
- OR (iVerband <> 999999 AND
- bDebst.Verband_Grp = iVerband))
- AND ((iSubverband = 999999)
- OR (iSubverband <> 999999 AND
- bDebst.Subverband_Grp = iSubverband)) ,
- EACH bArtbw NO-LOCK USE-INDEX Artbw-k10
- WHERE bArtbw.Firma = bDebst.Firma
- AND bArtbw.Knr = bDebst.Knr
- AND bArtbw.Fak_Dat <> ?
- AND bArtbw.Fak_Dat >= VonDat2
- AND bArtbw.Fak_Dat <= BisDat2
- AND bArtbw.Artnr >= F_VonArtnr
- AND bArtbw.Artnr <= F_BisArtnr
- AND bArtbw.Menge <> 0
- AND bArtbw.Tr_Art <= 10
- AND ((T_Gratis)
- OR (NOT T_Gratis AND
- bArtbw.Preis <> 0)),
- FIRST bArtst NO-LOCK USE-INDEX Artst-k1
- WHERE bArtst.Firma = bArtbw.Firma
- AND bArtst.Artnr = bArtbw.Artnr
- AND bArtst.Inhalt = bArtbw.Inhalt
- AND bArtst.Jahr = bArtbw.Jahr
- BREAK BY bDebst.Knr
- BY bArtst.Artnr
- BY bArtst.Inhalt
- BY bArtst.Jahr :
- IF F_Kundengrp = '' THEN.
- ELSE
- DO:
- IF LOOKUP(STRING(bDebst.Ku_Grp,'999'), F_Kundengrp, ',') = 0 THEN NEXT.
- END.
- IF F_Preisgruppe = '' THEN.
- ELSE
- DO:
- IF LOOKUP(STRING(bDebst.Preis_Grp,'999'), F_Preisgruppe, ',') = 0 THEN NEXT.
- END.
- IF F_Hersteller = '' THEN.
- ELSE
- DO:
- IF LOOKUP(STRING(bArtst.Herst ,'999'), F_Hersteller, ',') = 0 THEN NEXT.
- END.
- IF F_Warengrp = '' THEN.
- ELSE
- DO:
- IF LOOKUP(STRING(bArtst.Wg_Grp,'999'), F_Warengrp , ',') = 0 THEN NEXT.
- END.
- IF T_Lieferadresse THEN
- DO:
- UmsKnr = bDebst.Knr.
- END.
- ELSE
- DO:
- IF bDebst.KnrFak <> 0 THEN UmsKnr = bDebst.KnrFak.
- ELSE UmsKnr = bDebst.Knr.
- END.
- iHerst = (IF T_SubGrpHerst THEN bArtst.Herst ELSE 00).
- IF T_Hersteller THEN iHerst = bArtst.Herst.
-
- RUN CREATE_tUmsatz ( 1, 'VJ', 'A' ). /* Artikel */
- IF T_ProdTot THEN RUN CREATE_tUmsatz ( 1, 'VJ', 'B' ). /* Produktegruppentotale */
- RUN CREATE_tUmsatz ( 1, 'VJ', 'C' ). /* Warengruppentotale */
- IF T_SubGrpHerst THEN RUN CREATE_tUmsatz ( 1, 'VJ', 'D' ). /* Herstellertotale */
- RUN CREATE_tUmsatz ( 1, 'VJ', 'E' ). /* Kundentotale */
- RUN CREATE_tUmsatz ( 1, 'VJ', 'F' ). /* Gesamttotal */
- RUN CREATE_tUmsatz ( 1, 'VJ', 'G' ). /* WarengruppenGTotal */
- END.
- END.
-
- IF T_OffeneAuf THEN
- DO:
- RUN SAMMELN_AUFTRAEGE ( VonDat1, BisDat1 ).
- END.
- IF iVerband < 999999 THEN
- DO:
- RUN VERBAND.
- END.
- IF T_Hersteller THEN RETURN.
-
- FOR EACH tUmsatz:
- FIND FIRST vUmsatz USE-INDEX tUmsatz-k1
- WHERE vUmsatz.Knr = iVerband
- AND vUmsatz.Wgr = tUmsatz.Wgr
- AND vUmsatz.Pgr = tUmsatz.Pgr
- AND vUmsatz.Artnr = tUmsatz.Artnr
- AND vUmsatz.Inhalt = tUmsatz.Inhalt
- AND vUmsatz.Jahr = tUmsatz.Jahr NO-ERROR.
- IF NOT AVAILABLE vUmsatz THEN
- DO:
- CREATE vUmsatz.
- ASSIGN
- vUmsatz.Knr = iVerband
- vUmsatz.Wgr = tUmsatz.Wgr
- vUmsatz.Pgr = tUmsatz.Pgr
- vUmsatz.Artnr = tUmsatz.Artnr
- vUmsatz.Inhalt = tUmsatz.Inhalt
- vUmsatz.Jahr = tUmsatz.Jahr
- vUmsatz.Ep_Lf = 0
- vUmsatz.Ep_Vj = 0
- vUmsatz.Vp_Lf = 0
- vUmsatz.Vp_Vj = 0
- vUmsatz.Me_Lf = 0
- vUmsatz.Me_Vj = 0
- vUmsatz.Li_Lf = 0
- vUmsatz.Li_Vj = 0
- vUmsatz.Gr_Ep_Lf = 0
- vUmsatz.Gr_Ep_Vj = 0
- vUmsatz.Gr_Vp_Lf = 0
- vUmsatz.Gr_Vp_Vj = 0
- vUmsatz.Gr_Me_Lf = 0
- vUmsatz.Gr_Me_Vj = 0
- vUmsatz.Gr_Li_Lf = 0
- vUmsatz.Gr_Li_Vj = 0
- vUmsatz.KGeb_Cd = tUmsatz.KGeb_Cd
- vUmsatz.Alk% = tUmsatz.Alk%.
- END.
- ASSIGN
- vUmsatz.Ep_Lf = vUmsatz.Ep_Lf + tUmsatz.Ep_Lf
- vUmsatz.Vp_Lf = vUmsatz.Vp_Lf + tUmsatz.Vp_Lf
- vUmsatz.Me_Lf = vUmsatz.Me_Lf + tUmsatz.Me_Lf
- vUmsatz.Li_Lf = vUmsatz.Li_Lf + tUmsatz.Li_Lf
- vUmsatz.Ep_Vj = vUmsatz.Ep_Vj + tUmsatz.Ep_Vj
- vUmsatz.Vp_Vj = vUmsatz.Vp_Vj + tUmsatz.Vp_Vj
- vUmsatz.Me_Vj = vUmsatz.Me_Vj + tUmsatz.Me_Vj
- vUmsatz.Li_Vj = vUmsatz.Li_Vj + tUmsatz.Li_Vj
- vUmsatz.Gr_Ep_Lf = vUmsatz.Gr_Ep_Lf + tUmsatz.Gr_Ep_Lf
- vUmsatz.Gr_Vp_Lf = vUmsatz.Gr_Vp_Lf + tUmsatz.Gr_Vp_Lf
- vUmsatz.Gr_Me_Lf = vUmsatz.Gr_Me_Lf + tUmsatz.Gr_Me_Lf
- vUmsatz.Gr_Li_Lf = vUmsatz.Gr_Li_Lf + tUmsatz.Gr_Li_Lf
- vUmsatz.Gr_Ep_Vj = vUmsatz.Gr_Ep_Vj + tUmsatz.Gr_Ep_Vj
- vUmsatz.Gr_Vp_Vj = vUmsatz.Gr_Vp_Vj + tUmsatz.Gr_Vp_Vj
- vUmsatz.Gr_Me_Vj = vUmsatz.Gr_Me_Vj + tUmsatz.Gr_Me_Vj
- vUmsatz.Gr_Li_Vj = vUmsatz.Gr_Li_Vj + tUmsatz.Gr_Li_Vj.
- END.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE FUELLEN_TEMPTABLE_LIEFERDATUM gDebitorumsatz
- PROCEDURE FUELLEN_TEMPTABLE_LIEFERDATUM :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE VARIABLE VonDat1 AS DATE NO-UNDO.
- DEFINE VARIABLE VonDat2 AS DATE NO-UNDO.
- DEFINE VARIABLE BisDat1 AS DATE NO-UNDO.
- DEFINE VARIABLE BisDat2 AS DATE NO-UNDO.
- EMPTY TEMP-TABLE tUmsatz.
- EMPTY TEMP-TABLE vUmsatz.
- VonDat1 = F_VonDatum.
- BisDat1 = F_BisDatum.
- VonDat2 = ?.
- BisDat2 = ?.
- VonDat2 = DATE(MONTH(VonDat1),DAY(VonDat1),YEAR(VonDat1) - 1) NO-ERROR.
- BisDat2 = DATE(MONTH(BisDat1),DAY(BisDat1),YEAR(BisDat1) - 1) NO-ERROR.
- IF VonDat2 = ? THEN VonDat2 = DATE(MONTH(VonDat1),DAY(VonDat1) - 1,YEAR(VonDat1) - 1).
- IF BisDat2 = ? THEN BisDat2 = DATE(MONTH(BisDat1),DAY(BisDat1) - 1,YEAR(BisDat1) - 1).
- FOR EACH bDebst NO-LOCK USE-INDEX Debst-k1
- WHERE bDebst.Firma = Firma
- AND bDebst.Knr >= F_VonKnr
- AND bDebst.Knr <= F_BisKnr
- AND ((iVer = 999999)
- OR (iVer <> 999999 AND
- bDebst.Vertr = iVer))
- AND ((iVerband = 999999)
- OR (iVerband <> 999999 AND
- bDebst.Verband_Grp = iVerband))
- AND ((iSubverband = 999999)
- OR (iSubverband <> 999999 AND
- bDebst.Subverband_Grp = iSubverband)) ,
- EACH bArtbw NO-LOCK USE-INDEX Artbw-k10
- WHERE bArtbw.Firma = bDebst.Firma
- AND bArtbw.Knr = bDebst.Knr
- AND bArtbw.Datum >= VonDat1
- AND bArtbw.Datum <= BisDat1
- AND bArtbw.Artnr >= F_VonArtnr
- AND bArtbw.Artnr <= F_BisArtnr
- AND bArtbw.Menge <> 0
- AND bArtbw.Tr_Art <= 10
- AND ((T_Gratis)
- OR (NOT T_Gratis AND
- bArtbw.Preis <> 0)),
- FIRST bArtst NO-LOCK USE-INDEX Artst-k1
- WHERE bArtst.Firma = bArtbw.Firma
- AND bArtst.Artnr = bArtbw.Artnr
- AND bArtst.Inhalt = bArtbw.Inhalt
- AND bArtst.Jahr = bArtbw.Jahr
- BREAK BY bDebst.Knr
- BY bArtst.Artnr
- BY bArtst.Inhalt
- BY bArtst.Jahr :
- IF F_Kundengrp = '' THEN.
- ELSE
- DO:
- IF LOOKUP(STRING(bDebst.Ku_Grp,'999'), F_Kundengrp, ',') = 0 THEN NEXT.
- END.
- IF F_Preisgruppe = '' THEN.
- ELSE
- DO:
- IF LOOKUP(STRING(bDebst.Preis_Grp,'999'), F_Preisgruppe, ',') = 0 THEN NEXT.
- END.
- IF F_Hersteller = '' THEN.
- ELSE
- DO:
- IF LOOKUP(STRING(bArtst.Herst ,'999'), F_Hersteller, ',') = 0 THEN NEXT.
- END.
- IF F_Warengrp = '' THEN.
- ELSE
- DO:
- IF LOOKUP(STRING(bArtst.Wg_Grp,'999'), F_Warengrp , ',') = 0 THEN NEXT.
- END.
- IF T_Lieferadresse THEN
- DO:
- UmsKnr = bDebst.Knr.
- END.
- ELSE
- DO:
- IF bDebst.KnrFak <> 0 THEN UmsKnr = bDebst.KnrFak.
- ELSE UmsKnr = bDebst.Knr.
- END.
- iHerst = (IF T_SubGrpHerst THEN bArtst.Herst ELSE 00).
- IF T_Hersteller THEN iHerst = bArtst.Herst.
-
- RUN CREATE_tUmsatz ( 1, 'LF', 'A' ). /* Artikel */
- IF T_ProdTot THEN RUN CREATE_tUmsatz ( 1, 'LF', 'B' ). /* Produktegruppentotale */
- RUN CREATE_tUmsatz ( 1, 'LF', 'C' ). /* Warengruppentotale */
- IF T_SubGrpHerst THEN RUN CREATE_tUmsatz ( 1, 'LF', 'D' ). /* Herstellertotale */
- RUN CREATE_tUmsatz ( 1, 'LF', 'E' ). /* Kundentotale */
- RUN CREATE_tUmsatz ( 1, 'LF', 'F' ). /* Gesamttotal */
- RUN CREATE_tUmsatz ( 1, 'LF', 'G' ). /* WarengruppenGTotal */
- END.
- IF T_Vorjahr THEN
- DO:
- FOR EACH bDebst NO-LOCK USE-INDEX Debst-k1
- WHERE bDebst.Firma = Firma
- AND bDebst.Knr >= F_VonKnr
- AND bDebst.Knr <= F_BisKnr
- AND ((iVer = 999999)
- OR (iVer <> 999999 AND
- bDebst.Vertr = iVer))
- AND ((iVerband = 999999)
- OR (iVerband <> 999999 AND
- bDebst.Verband_Grp = iVerband))
- AND ((iSubverband = 999999)
- OR (iSubverband <> 999999 AND
- bDebst.Subverband_Grp = iSubverband)) ,
- EACH bArtbw NO-LOCK USE-INDEX Artbw-k10
- WHERE bArtbw.Firma = bDebst.Firma
- AND bArtbw.Knr = bDebst.Knr
- AND bArtbw.Datum >= VonDat2
- AND bArtbw.Datum <= BisDat2
- AND bArtbw.Artnr >= F_VonArtnr
- AND bArtbw.Artnr <= F_BisArtnr
- AND bArtbw.Menge <> 0
- AND bArtbw.Tr_Art <= 10
- AND ((T_Gratis)
- OR (NOT T_Gratis AND
- bArtbw.Preis <> 0)),
- FIRST bAufko NO-LOCK
- WHERE bAufko.Firma = bArtbw.Firma
- AND bAufko.Aufnr = bArtbw.Aufnr
- AND NOT bAufko.AlsOfferte,
- FIRST bArtst NO-LOCK USE-INDEX Artst-k1
- WHERE bArtst.Firma = bArtbw.Firma
- AND bArtst.Artnr = bArtbw.Artnr
- AND bArtst.Inhalt = bArtbw.Inhalt
- AND bArtst.Jahr = bArtbw.Jahr
- BREAK BY bDebst.Knr
- BY bArtst.Artnr
- BY bArtst.Inhalt
- BY bArtst.Jahr :
- IF F_Kundengrp = '' THEN.
- ELSE
- DO:
- IF LOOKUP(STRING(bDebst.Ku_Grp,'999'), F_Kundengrp, ',') = 0 THEN NEXT.
- END.
- IF F_Preisgruppe = '' THEN.
- ELSE
- DO:
- IF LOOKUP(STRING(bDebst.Preis_Grp,'999'), F_Preisgruppe, ',') = 0 THEN NEXT.
- END.
- IF F_Hersteller = '' THEN.
- ELSE
- DO:
- IF LOOKUP(STRING(bArtst.Herst ,'999'), F_Hersteller, ',') = 0 THEN NEXT.
- END.
- IF F_Warengrp = '' THEN.
- ELSE
- DO:
- IF LOOKUP(STRING(bArtst.Wg_Grp,'999'), F_Warengrp , ',') = 0 THEN NEXT.
- END.
- IF T_Lieferadresse THEN
- DO:
- UmsKnr = bDebst.Knr.
- END.
- ELSE
- DO:
- IF bDebst.KnrFak <> 0 THEN UmsKnr = bDebst.KnrFak.
- ELSE UmsKnr = bDebst.Knr.
- END.
- iHerst = (IF T_SubGrpHerst THEN bArtst.Herst ELSE 00).
- IF T_Hersteller THEN iHerst = bArtst.Herst.
-
- RUN CREATE_tUmsatz ( 1, 'VJ', 'A' ). /* Artikel */
- IF T_ProdTot THEN RUN CREATE_tUmsatz ( 1, 'VJ', 'B' ). /* Produktegruppentotale */
- RUN CREATE_tUmsatz ( 1, 'VJ', 'C' ). /* Warengruppentotale */
- IF T_SubGrpHerst THEN RUN CREATE_tUmsatz ( 1, 'VJ', 'D' ). /* Herstellertotale */
- RUN CREATE_tUmsatz ( 1, 'VJ', 'E' ). /* Kundentotale */
- RUN CREATE_tUmsatz ( 1, 'VJ', 'F' ). /* Gesamttotal */
- RUN CREATE_tUmsatz ( 1, 'VJ', 'G' ). /* WarengruppenGTotal */
- END.
- END.
-
- IF iVerband < 999999 THEN
- DO:
- RUN VERBAND.
- END.
- IF T_Hersteller THEN RETURN.
- FOR EACH tUmsatz:
- FIND FIRST vUmsatz USE-INDEX tUmsatz-k1
- WHERE vUmsatz.Knr = iVerband
- AND vUmsatz.Wgr = tUmsatz.Wgr
- AND vUmsatz.Pgr = tUmsatz.Pgr
- AND vUmsatz.Artnr = tUmsatz.Artnr
- AND vUmsatz.Inhalt = tUmsatz.Inhalt
- AND vUmsatz.Jahr = tUmsatz.Jahr NO-ERROR.
- IF NOT AVAILABLE vUmsatz THEN
- DO:
- CREATE vUmsatz.
- ASSIGN
- vUmsatz.Knr = iVerband
- vUmsatz.Wgr = tUmsatz.Wgr
- vUmsatz.Pgr = tUmsatz.Pgr
- vUmsatz.Artnr = tUmsatz.Artnr
- vUmsatz.Inhalt = tUmsatz.Inhalt
- vUmsatz.Jahr = tUmsatz.Jahr
- vUmsatz.Ep_Lf = 0
- vUmsatz.Ep_Vj = 0
- vUmsatz.Vp_Lf = 0
- vUmsatz.Vp_Vj = 0
- vUmsatz.Me_Lf = 0
- vUmsatz.Me_Vj = 0
- vUmsatz.Li_Lf = 0
- vUmsatz.Li_Vj = 0
- vUmsatz.Gr_Ep_Lf = 0
- vUmsatz.Gr_Ep_Vj = 0
- vUmsatz.Gr_Vp_Lf = 0
- vUmsatz.Gr_Vp_Vj = 0
- vUmsatz.Gr_Me_Lf = 0
- vUmsatz.Gr_Me_Vj = 0
- vUmsatz.Gr_Li_Lf = 0
- vUmsatz.Gr_Li_Vj = 0
- vUmsatz.KGeb_Cd = tUmsatz.KGeb_Cd
- vUmsatz.Alk% = tUmsatz.Alk%.
- END.
- ASSIGN
- vUmsatz.Ep_Lf = vUmsatz.Ep_Lf + tUmsatz.Ep_Lf
- vUmsatz.Vp_Lf = vUmsatz.Vp_Lf + tUmsatz.Vp_Lf
- vUmsatz.Me_Lf = vUmsatz.Me_Lf + tUmsatz.Me_Lf
- vUmsatz.Li_Lf = vUmsatz.Li_Lf + tUmsatz.Li_Lf
- vUmsatz.Ep_Vj = vUmsatz.Ep_Vj + tUmsatz.Ep_Vj
- vUmsatz.Vp_Vj = vUmsatz.Vp_Vj + tUmsatz.Vp_Vj
- vUmsatz.Me_Vj = vUmsatz.Me_Vj + tUmsatz.Me_Vj
- vUmsatz.Li_Vj = vUmsatz.Li_Vj + tUmsatz.Li_Vj
- vUmsatz.Gr_Ep_Lf = vUmsatz.Gr_Ep_Lf + tUmsatz.Gr_Ep_Lf
- vUmsatz.Gr_Vp_Lf = vUmsatz.Gr_Vp_Lf + tUmsatz.Gr_Vp_Lf
- vUmsatz.Gr_Me_Lf = vUmsatz.Gr_Me_Lf + tUmsatz.Gr_Me_Lf
- vUmsatz.Gr_Li_Lf = vUmsatz.Gr_Li_Lf + tUmsatz.Gr_Li_Lf
- vUmsatz.Gr_Ep_Vj = vUmsatz.Gr_Ep_Vj + tUmsatz.Gr_Ep_Vj
- vUmsatz.Gr_Vp_Vj = vUmsatz.Gr_Vp_Vj + tUmsatz.Gr_Vp_Vj
- vUmsatz.Gr_Me_Vj = vUmsatz.Gr_Me_Vj + tUmsatz.Gr_Me_Vj
- vUmsatz.Gr_Li_Vj = vUmsatz.Gr_Li_Vj + tUmsatz.Gr_Li_Vj.
- END.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE KOPF gDebitorumsatz
- PROCEDURE KOPF :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE INPUT PARAMETER eh AS COMPONENT-HANDLE NO-UNDO.
- DEFINE VARIABLE Zelle AS CHARACTER NO-UNDO.
- DEFINE VARIABLE rechts AS INTEGER NO-UNDO.
- DEFINE VARIABLE mitte AS INTEGER NO-UNDO.
- DEFINE VARIABLE i1 AS INTEGER NO-UNDO.
- DEFINE VARIABLE Breite AS DECIMAL DECIMALS 4 NO-UNDO.
- DEFINE VARIABLE TotBre AS DECIMAL DECIMALS 4 NO-UNDO.
- DEFINE VARIABLE DifBre AS DECIMAL DECIMALS 4 NO-UNDO.
- DEFINE VARIABLE FHoch AS LOG NO-UNDO.
- bKol = '0.3;0.5;6.0;25.0;7.0;8.0;6.0;6.0;7.0;7.0;6.0;6.0;6.0;7.0;7.0;6.0'.
- FKol = TRUE.
- IF NOT T_Vorjahr THEN
- DO:
- FKol[12] = FALSE.
- FKol[13] = FALSE.
- FKol[14] = FALSE.
- FKol[15] = FALSE.
- FKol[16] = FALSE.
- END.
- IF NOT T_Menge THEN ASSIGN FKol[07] = FALSE
- FKol[12] = FALSE.
- IF NOT T_Liter THEN ASSIGN FKol[08] = FALSE
- FKol[13] = FALSE.
- IF NOT T_Ep THEN ASSIGN FKol[09] = FALSE
- FKol[14] = FALSE.
- IF NOT T_Vp THEN ASSIGN FKol[10] = FALSE
- FKol[15] = FALSE.
- IF NOT T_Marge THEN ASSIGN FKol[11] = FALSE
- FKol[16] = FALSE.
- DO i1 = 7 TO 16:
- IF FKol[i1] THEN rechts = 64 + i1.
- END.
- mitte = 69.
- IF AnzKol > 2 THEN mitte = 70.
- IF AnzKol > 5 THEN mitte = 71.
- IF AnzKol > 8 THEN mitte = 72.
- IF AnzKol > 11 THEN mitte = 73.
- Breite = 0.
- TotBre = 0.
- DO i1 = 1 TO 16.
- TotBre = TotBre + DECIMAL(ENTRY(i1, bKol, ';')).
- IF FKol[i1] THEN Breite = Breite + DECIMAL(ENTRY(i1, bKol, ';')).
- END.
- IF Breite < 77.5 THEN
- DO:
- FHoch = TRUE.
- DifBre = (77.5 - Breite) / AnzKol.
- END.
- ELSE
- DO:
- FHoch = FALSE.
- DifBre = (TotBre - Breite) / AnzKol.
- END.
- IF DifBre < 0.2 THEN DIfBre = 0.
- FIND Steuer USE-INDEX Steuer-k1
- WHERE Steuer.Firma = Firma NO-LOCK NO-ERROR.
- Zelle = 'B1'.
- eh:Range(Zelle):Select.
- eh:Selection:VALUE = Steuer.Firma1.
- Zelle = CHR(mitte) + '1'.
- eh:Range(Zelle):Select.
- eh:Selection:VALUE = 'Debitor-Umsätze ('
- + cVer
- + ')'.
- Zelle = 'Q1'.
- eh:Range(Zelle):Select.
- eh:Selection:VALUE = 'Datum : ' + STRING(TODAY,'99.99.9999').
- Zelle = 'B2'.
- eh:Range(Zelle):Select.
- eh:Selection:VALUE = Steuer.Ort.
- Zelle = CHR(mitte) + '2'.
- eh:Range(Zelle):Select.
- eh:Selection:VALUE = STRING(F_VonDatum,'99.99.9999')
- + ' - '
- + STRING(F_BisDatum,'99.99.9999').
- Zelle = 'Q2'.
- eh:Range(Zelle):Select.
- eh:Selection:VALUE = 'Zeit : ' + STRING(TIME,'HH:MM:SS').
- Zelle = CHR(mitte) + '1:' + CHR(mitte) + '2'.
- eh:Range(Zelle):Select.
- eh:Selection:HorizontalAlignment = -4108.
- DO i1 = 1 TO 16:
- eh:Range('A1'):Select.
- Zelle = CHR(64 + i1) + ':' + CHR(64 + i1).
- eh:COLUMNS(Zelle):Select.
- IF FKol[i1] THEN eh:Selection:EntireColumn:HIDDEN = FALSE.
- ELSE
- DO:
- eh:Selection:ClearContents.
- eh:SELECTION:EntireColumn:HIDDEN = TRUE.
- END.
- IF NOT FKol[i1] THEN NEXT.
- Breite = DECIMAL(ENTRY(i1, bKol, ';')).
- IF i1 > 6 THEN Breite = Breite + DifBre.
- eh:Selection:ColumnWidth = Breite.
- IF i1 = 08 AND T_Hl THEN eh:Selection:NumberFormat = "0.00".
- IF i1 = 13 AND T_Hl THEN eh:Selection:NumberFormat = "0.00".
- END.
- IF FHoch THEN eh:ActiveSheet:PageSetup:ORIENTATION = 1.
- eh:Range('G3:K3'):Select.
- eh:Selection:MergeCells = TRUE.
- eh:Range('G3'):Select.
- eh:Selection:Value = 'aktive Periode'.
- eh:Range('L3:P3'):Select.
- eh:Selection:MergeCells = TRUE.
- eh:Range('L3'):Select.
- eh:Selection:Value = 'Vorperiode'.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE LESEN_FEHLWERTE gDebitorumsatz
- PROCEDURE LESEN_FEHLWERTE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE VARIABLE cVal AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cKey AS CHARACTER NO-UNDO.
- DEFINE VARIABLE i AS INTEGER NO-UNDO.
- DEFINE VARIABLE cWert AS CHARACTER NO-UNDO.
- cKey = ENTRY(1, THIS-PROCEDURE:FILE-NAME, '.' ) NO-ERROR.
- GET-KEY-VALUE SECTION 'Auswertungen' KEY cKey VALUE cVal.
- IF cVal = ? THEN RETURN.
- DO WITH FRAME {&FRAME-NAME}:
- DO i = 1 TO NUM-ENTRIES(cVal, '@'):
- cWert = ENTRY(i, cVal, '@').
- CASE i:
- WHEN 1 THEN
- F_VonKnr :SCREEN-VALUE = cWert NO-ERROR.
- WHEN 2 THEN
- F_BisKnr :SCREEN-VALUE = cWert NO-ERROR.
- WHEN 3 THEN
- F_Kundengrp :SCREEN-VALUE = cWert NO-ERROR.
- WHEN 4 THEN
- F_VonArtnr :SCREEN-VALUE = cWert NO-ERROR.
- WHEN 5 THEN
- F_BisArtnr :SCREEN-VALUE = cWert NO-ERROR.
- WHEN 6 THEN
- F_Hersteller :SCREEN-VALUE = cWert NO-ERROR.
- WHEN 7 THEN
- F_Warengrp :SCREEN-VALUE = cWert NO-ERROR.
- WHEN 8 THEN
- F_VonDatum :SCREEN-VALUE = cWert NO-ERROR.
- WHEN 9 THEN
- F_BisDatum :SCREEN-VALUE = cWert NO-ERROR.
- WHEN 10 THEN
- T_Menge :SCREEN-VALUE = cWert NO-ERROR.
- WHEN 11 THEN
- T_Liter :SCREEN-VALUE = cWert NO-ERROR.
- WHEN 12 THEN
- T_HL :SCREEN-VALUE = cWert NO-ERROR.
- WHEN 13 THEN
- T_EP :SCREEN-VALUE = cWert NO-ERROR.
- WHEN 14 THEN
- T_VP :SCREEN-VALUE = cWert NO-ERROR.
- WHEN 15 THEN
- T_Marge :SCREEN-VALUE = cWert NO-ERROR.
- WHEN 16 THEN
- T_Vorjahr :SCREEN-VALUE = cWert NO-ERROR.
- WHEN 17 THEN
- CB_Vertreter :SCREEN-VALUE = cWert NO-ERROR.
- WHEN 18 THEN
- CB_Verband :SCREEN-VALUE = cWert NO-ERROR.
- WHEN 19 THEN
- F_Preisgruppe :SCREEN-VALUE = cWert NO-ERROR.
- WHEN 20 THEN
- T_Gratis :SCREEN-VALUE = cWert NO-ERROR.
- WHEN 21 THEN
- CB_Subverband :SCREEN-VALUE = cWert NO-ERROR.
- WHEN 22 THEN
- T_Lieferadresse :SCREEN-VALUE = cWert NO-ERROR.
- WHEN 23 THEN
- T_OffeneAuf :SCREEN-VALUE = cWert NO-ERROR.
- WHEN 24 THEN
- T_Zusatz :SCREEN-VALUE = cWert NO-ERROR.
- WHEN 25 THEN
- T_ProdTot :SCREEN-VALUE = cWert NO-ERROR.
- WHEN 26 THEN
- T_SubGrpHerst :SCREEN-VALUE = cWert NO-ERROR.
- WHEN 27 THEN
- T_NurWgr :SCREEN-VALUE = cWert NO-ERROR.
- WHEN 28 THEN
- T_Hersteller :SCREEN-VALUE = cWert NO-ERROR.
- END CASE.
- END.
- ASSIGN {&List-6}.
- END.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE REPORT gDebitorumsatz
- PROCEDURE REPORT :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE VARIABLE i1 AS INTEGER NO-UNDO.
- DEFINE VARIABLE ja AS LOG NO-UNDO.
- DO WITH FRAME {&FRAME-NAME}:
- ASSIGN {&List-6}.
-
- RUN BEREINIGEN ( INPUT F_Kundengrp :HANDLE ).
- RUN BEREINIGEN ( INPUT F_Preisgruppe:HANDLE ).
- RUN BEREINIGEN ( INPUT F_Hersteller :HANDLE ).
- RUN BEREINIGEN ( INPUT F_Warengrp :HANDLE ).
- ASSIGN {&List-6}.
- IF F_VonKnr = 0 AND F_BisKnr = 0 THEN F_BisKnr = 999999.
- IF F_VonKnr > F_BisKnr THEN F_BisKnr = F_VonKnr.
- IF F_VonKnr = 0 THEN F_VonKnr = 1.
- IF F_VonArtnr = 0 AND F_BisArtnr = 0 THEN F_BisArtnr = 999999.
- IF F_VonArtnr > F_BisArtnr THEN F_BisArtnr = F_VonArtnr.
- IF F_VonArtnr = 0 THEN F_VonArtnr = 1.
- IF F_VonDatum = ? THEN F_VonDatum = DATE(01,01,YEAR(TODAY)).
- IF F_BisDatum = ? THEN F_BisDatum = DATE(12,31,YEAR(TODAY)).
- IF F_BisDatum < F_VonDatum THEN F_BisDatum = F_VonDatum.
- iVer = INTEGER(CB_Vertreter:SCREEN-VALUE).
- cVer = CB_Vertreter:LIST-ITEM-PAIRS.
- i1 = LOOKUP(CB_Vertreter:SCREEN-VALUE, cVer, ';') - 1.
- cVer = ENTRY(i1, cVer, ';').
- iVerband = INTEGER(CB_Verband:SCREEN-VALUE).
- cVerband = CB_Verband:LIST-ITEM-PAIRS.
- i1 = LOOKUP(CB_Verband:SCREEN-VALUE, cVerband, ';') - 1.
- cVerband = ENTRY(i1, cVerband, ';').
- iSubverband = INTEGER(CB_Subverband:SCREEN-VALUE).
- cSubverband = CB_Subverband:LIST-ITEM-PAIRS.
- i1 = LOOKUP(CB_Subverband:SCREEN-VALUE, cSubverband, ';') - 1.
- cSubverband = ENTRY(i1, cSubverband, ';').
- DISPLAY {&List-6}.
- RUN SCHREIBEN_FEHLWERTE.
- IF T_Menge THEN AnzKol = AnzKol + 1.
- IF T_Liter THEN AnzKol = AnzKol + 1.
- IF T_Ep THEN AnzKol = AnzKol + 1.
- IF T_Vp THEN AnzKol = AnzKol + 1.
- IF T_Marge THEN AnzKol = AnzKol + 1.
- IF T_Vorjahr THEN AnzKol = AnzKol * 2.
- IF AnzKol = 0 THEN RETURN NO-APPLY.
- END.
- CASE cInstallation:
- WHEN 'realwines' THEN RUN FUELLEN_TEMPTABLE_LIEFERDATUM.
- OTHERWISE RUN FUELLEN_TEMPTABLE.
- END CASE.
- FOR EACH tUmsatz:
- IF tUmsatz.Me_Lf <> 0 THEN NEXT.
- IF tUmsatz.Me_Vj <> 0 THEN NEXT.
- IF tUmsatz.Li_Lf <> 0 THEN NEXT.
- IF tUmsatz.Li_Vj <> 0 THEN NEXT.
- IF tUmsatz.Ep_Lf <> 0 THEN NEXT.
- IF tUmsatz.Ep_Vj <> 0 THEN NEXT.
- IF tUmsatz.Vp_Lf <> 0 THEN NEXT.
- IF tUmsatz.Vp_Vj <> 0 THEN NEXT.
-
- IF tUmsatz.Gr_Me_Lf <> 0 THEN NEXT.
- IF tUmsatz.Gr_Me_Vj <> 0 THEN NEXT.
- IF tUmsatz.Gr_Li_Lf <> 0 THEN NEXT.
- IF tUmsatz.Gr_Li_Vj <> 0 THEN NEXT.
- IF tUmsatz.Gr_Ep_Lf <> 0 THEN NEXT.
- IF tUmsatz.Gr_Ep_Vj <> 0 THEN NEXT.
- IF tUmsatz.Gr_Vp_Lf <> 0 THEN NEXT.
- IF tUmsatz.Gr_Vp_Vj <> 0 THEN NEXT.
- DELETE tUmsatz.
- END.
- FIND FIRST tUmsatz NO-LOCK NO-ERROR.
- IF NOT AVAILABLE tUmsatz THEN
- DO:
- MESSAGE 'Keine Daten selektiert !' VIEW-AS ALERT-BOX INFORMATION.
- RETURN.
- END.
- cVorlage = 'DebUmsDet.xls'.
- cDokument = 'DebUmsDet.xls'.
- cDaten = 'DebUmsDet.txt'.
- cDateiName = cDokument + CHR(01) + cVorlage.
- RUN CREATEDATEI ( INPUT cDateiName ).
- IF RETURN-VALUE BEGINS 'ERROR' THEN RETURN NO-APPLY.
- cDokument = RETURN-VALUE.
- cDateiName = cDaten.
- RUN CREATEDATEI ( INPUT cDateiName ).
- IF RETURN-VALUE BEGINS 'ERROR' THEN RETURN NO-APPLY.
- cDaten = RETURN-VALUE.
- OUTPUT TO VALUE(cDaten).
- IF T_Hersteller THEN RUN AUSGABE_HERSTELLER.
- ELSE RUN AUSGABE ( 1 ).
- IF T_Zusatz THEN
- DO:
- PUT CONTROL '£' CHR(10)
- '£' CHR(10).
- lTotale = TRUE.
- RUN AUSGABE_TOTALE.
- END.
- IF iVerband <> 999999 THEN
- DO:
- RUN AUSGABE_VERBAND.
- END.
- OUTPUT CLOSE.
- excelAppl = DYNAMIC-FUNCTION('CREATEEXCEL':U) NO-ERROR.
- IF NOT VALID-HANDLE(excelAppl) THEN
- DO:
- RUN FEHLER ( INPUT 1035 ).
- RETURN.
- END.
- RUN OPENEXCEL ( INPUT excelAppl, INPUT cDokument, INPUT '', OUTPUT ja ).
- IF NOT ja THEN
- DO:
- RUN FEHLER ( INPUT 1040 ).
- DYNAMIC-FUNCTION('RELEASEEXCEL':U, INPUT excelAppl ) NO-ERROR.
- RETURN NO-APPLY.
- END.
- Zelle = 'A6'.
- excelAppl:Range(Zelle):SELECT.
- excelAppl:SELECTION:FormulaR1C1 = 'TEXT;' + cDaten.
- excelAppl:APPLICATION:RUN ( 'DateiEinfügen' ).
- RUN KOPF ( INPUT excelAppl ).
- Zelle = 'A1'.
- excelAppl:Range(Zelle):SELECT.
- DYNAMIC-FUNCTION('RELEASEEXCEL':U, INPUT excelAppl ) NO-ERROR.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SAMMELN_AUFTRAEGE gDebitorumsatz
- PROCEDURE SAMMELN_AUFTRAEGE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE INPUT PARAMETER ipvonDatum1 AS DATE NO-UNDO.
- DEFINE INPUT PARAMETER ipBisDatum1 AS DATE NO-UNDO.
- FOR EACH bDebst NO-LOCK USE-INDEX Debst-k1
- WHERE bDebst.Firma = Firma
- AND bDebst.Knr >= F_VonKnr
- AND bDebst.Knr <= F_BisKnr
- AND ((iVer = 999999)
- OR (iVer <> 999999 AND
- bDebst.Vertr = iVer))
- AND ((iVerband = 999999)
- OR (iVerband <> 999999 AND
- bDebst.Verband_Grp = iVerband))
- AND ((iSubverband = 999999)
- OR (iSubverband <> 999999 AND
- bDebst.Subverband_Grp = iSubverband)) ,
-
- EACH bAufko NO-LOCK
- WHERE bAufko.Firma = bDebst.Firma
- AND bAufko.Knr = bDebst.Knr
- AND NOT bAufko.AlsOfferte
- AND bAufko.Lief_Datum >= ipvonDatum1
- AND bAufko.Lief_Datum <= ipbisDatum1,
- EACH bAufze NO-LOCK
- WHERE bAufze.Firma = bAufko.Firma
- AND bAufze.Aufnr = bAufko.Aufnr
- AND bAufze.Artnr >= F_VonArtnr
- AND bAufze.Artnr <= F_BisArtnr
- AND bAufze.MBest <> 0
- AND ((T_Gratis)
- OR (NOT T_Gratis AND
- bAufze.Preis <> 0)),
-
- FIRST bArtst NO-LOCK
- WHERE bArtst.Firma = bAufze.Firma
- AND bArtst.Artnr = bAufze.Artnr
- AND bArtst.Inhalt = bAufze.Inhalt
- AND bArtst.Jahr = bAufze.Jahr
- BREAK BY bDebst.Knr
- BY bArtst.Artnr
- BY bArtst.Inhalt
- BY bArtst.Jahr :
- IF F_Kundengrp = '' THEN.
- ELSE
- DO:
- IF LOOKUP(STRING(bDebst.Ku_Grp,'999'), F_Kundengrp, ',') = 0 THEN NEXT.
- END.
- IF F_Preisgruppe = '' THEN.
- ELSE
- DO:
- IF LOOKUP(STRING(bDebst.Preis_Grp,'999'), F_Preisgruppe, ',') = 0 THEN NEXT.
- END.
- IF F_Hersteller = '' THEN.
- ELSE
- DO:
- IF LOOKUP(STRING(bArtst.Herst ,'999'), F_Hersteller, ',') = 0 THEN NEXT.
- END.
- IF F_Warengrp = '' THEN.
- ELSE
- DO:
- IF LOOKUP(STRING(bArtst.Wg_Grp,'999'), F_Warengrp , ',') = 0 THEN NEXT.
- END.
- IF T_Lieferadresse THEN
- DO:
- UmsKnr = bDebst.Knr.
- END.
- ELSE
- DO:
- IF bDebst.KnrFak <> 0 THEN UmsKnr = bDebst.KnrFak.
- ELSE UmsKnr = bDebst.Knr.
- END.
- iHerst = (IF T_SubGrpHerst THEN bArtst.Herst ELSE 0).
- IF T_Hersteller THEN iHerst = bArtst.Herst.
-
- RUN CREATE_tUmsatz ( 2, 'LF', 'A' ). /* Artikel */
- IF T_ProdTot THEN RUN CREATE_tUmsatz ( 2, 'LF', 'B' ). /* Produktegruppentotale */
- RUN CREATE_tUmsatz ( 2, 'LF', 'C' ). /* Warengruppentotale */
- IF T_SubGrpHerst THEN RUN CREATE_tUmsatz ( 2, 'LF', 'D' ). /* Herstellertotale */
- RUN CREATE_tUmsatz ( 2, 'LF', 'E' ). /* Kundentotale */
- RUN CREATE_tUmsatz ( 2, 'LF', 'F' ). /* Gesamttotal */
- END.
-
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE SCHREIBEN_FEHLWERTE gDebitorumsatz
- PROCEDURE SCHREIBEN_FEHLWERTE :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE VARIABLE cVal AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cKey AS CHARACTER NO-UNDO.
- DO WITH FRAME {&FRAME-NAME}:
- ASSIGN {&List-6}.
- cKey = ENTRY(1, THIS-PROCEDURE:FILE-NAME, '.' ) NO-ERROR.
- cVal = F_VonKnr :SCREEN-VALUE + '@'
- + F_BisKnr :SCREEN-VALUE + '@'
- + F_Kundengrp :SCREEN-VALUE + '@'
- + F_VonArtnr :SCREEN-VALUE + '@'
- + F_BisArtnr :SCREEN-VALUE + '@'
- + F_Hersteller :SCREEN-VALUE + '@'
- + F_Warengrp :SCREEN-VALUE + '@'
- + F_VonDatum :SCREEN-VALUE + '@'
- + F_BisDatum :SCREEN-VALUE + '@'
- + T_Menge :SCREEN-VALUE + '@'
- + T_Liter :SCREEN-VALUE + '@'
- + T_HL :SCREEN-VALUE + '@'
- + T_EP :SCREEN-VALUE + '@'
- + T_VP :SCREEN-VALUE + '@'
- + T_Marge :SCREEN-VALUE + '@'
- + T_Vorjahr :SCREEN-VALUE + '@'
- + CB_Vertreter :SCREEN-VALUE + '@'
- + CB_Verband :SCREEN-VALUE + '@'
- + F_Preisgruppe :SCREEN-VALUE + '@'
- + T_Gratis :SCREEN-VALUE + '@'
- + CB_Subverband :SCREEN-VALUE + '@'
- + T_Lieferadresse:SCREEN-VALUE + '@'
- + T_OffeneAuf :SCREEN-VALUE + '@'
- + T_Zusatz :SCREEN-VALUE + '@'
- + T_ProdTot :SCREEN-VALUE + '@'
- + T_SubGrpHerst :SCREEN-VALUE + '@'
- + T_NurWgr :SCREEN-VALUE + '@'
- + T_Hersteller :SCREEN-VALUE + '@'
- .
- PUT-KEY-VALUE SECTION 'Auswertungen' KEY cKey VALUE cVal.
- END.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE VERBAND gDebitorumsatz
- PROCEDURE VERBAND :
- /*------------------------------------------------------------------------------
- Purpose:
- Parameters: <none>
- Notes:
- ------------------------------------------------------------------------------*/
- /* DEF VAR hvUmsatz AS HANDLE NO-UNDO. */
- /* DEF VAR htUmsatz AS HANDLE NO-UNDO. */
- /* */
- /* ASSIGN htUmsatz = TEMP-TABLE tUmsatz:DEFAULT-BUFFER-HANDLE */
- /* hvUmsatz = TEMP-TABLE vUmsatz:DEFAULT-BUFFER-HANDLE. */
- /* EMPTY TEMP-TABLE vUmsatz. */
- /* hvUmsatz:COPY-TEMP-TABLE(htUmsatz). */
- /* EMPTY TEMP-TABLE tUmsatz. */
- /* */
- /* FOR EACH vUmsatz NO-LOCK */
- /* WHERE vUmsatz.RecArt = 'A', */
- /* FIRST bDebst NO-LOCK */
- /* WHERE bDebst.Firma = Firma */
- /* AND bDebst.Knr = vUmsatz.Knr */
- /* AND bDebst.Artnr > 0, */
- /* FIRST bArtst NO-LOCK */
- /* WHERE bArtst.Firma = */
- /* END. */
- /* WHERE tUmsatz */
- /* */
- /* END. */
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _PROCEDURE WRITE_tUmsatz gDebitorumsatz
- PROCEDURE WRITE_tUmsatz :
- /*------------------------------------------------------------------------------
- Purpose:
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE INPUT PARAMETER ipiHerk AS INTEGER NO-UNDO.
- DEFINE INPUT PARAMETER ipcZeit AS CHARACTER NO-UNDO.
- DEFINE INPUT PARAMETER ipcRecArt AS CHARACTER NO-UNDO.
- DEFINE INPUT PARAMETER ipiKnr AS INTEGER NO-UNDO.
- DEFINE INPUT PARAMETER ipiHerst AS INTEGER NO-UNDO.
- DEFINE INPUT PARAMETER ipiWgr AS INTEGER NO-UNDO.
- DEFINE INPUT PARAMETER ipiPgr AS INTEGER NO-UNDO.
- DEFINE INPUT PARAMETER ipiArtnr AS INTEGER NO-UNDO.
- DEFINE INPUT PARAMETER ipiInhalt AS INTEGER NO-UNDO.
- DEFINE INPUT PARAMETER ipiJahr AS INTEGER NO-UNDO.
- DEFINE VARIABLE MWST% AS DECIMAL NO-UNDO.
- DEFINE VARIABLE lMwstIncl AS LOG NO-UNDO.
- DEFINE VARIABLE Ep AS DECIMAL DECIMALS 4 NO-UNDO.
- DEFINE VARIABLE Vp AS DECIMAL DECIMALS 4 NO-UNDO.
- DEFINE VARIABLE nMenge AS DECIMAL INIT 0 NO-UNDO.
- DEFINE VARIABLE nLiter AS DECIMAL INIT 0 DECIMALS 3 NO-UNDO.
- DEFINE VARIABLE nPreis AS DECIMAL INIT 0 NO-UNDO.
-
- FIND FIRST tUmsatz
- WHERE tUmsatz.RecArt = ipcRecArt
- AND tUmsatz.Knr = ipiKnr
- AND tUmsatz.Herst = ipiHerst
- AND tUmsatz.Wgr = ipiWgr
- AND tUmsatz.Pgr = ipiPgr
- AND tUmsatz.Artnr = ipiArtnr
- AND tUmsatz.Inhalt = ipiInhalt
- AND tUmsatz.Jahr = ipiJahr NO-ERROR.
- IF NOT AVAILABLE tUmsatz THEN
- DO:
- CREATE tUmsatz.
- ASSIGN
- tUmsatz.RecArt = ipcRecArt
- tUmsatz.Knr = ipiKnr
- tUmsatz.Herst = ipiHerst
- tUmsatz.Wgr = ipiWgr
- tUmsatz.Pgr = ipiPgr
- tUmsatz.Artnr = ipiArtnr
- tUmsatz.Inhalt = ipiInhalt
- tUmsatz.Jahr = ipiJahr
- tUmsatz.Ep_Lf = 0
- tUmsatz.Ep_Vj = 0
- tUmsatz.Vp_Lf = 0
- tUmsatz.Vp_Vj = 0
- tUmsatz.Me_Lf = 0
- tUmsatz.Me_Vj = 0
- tUmsatz.Li_Lf = 0
- tUmsatz.Li_Vj = 0
- tUmsatz.Gr_Ep_Lf = 0
- tUmsatz.Gr_Ep_Vj = 0
- tUmsatz.Gr_Vp_Lf = 0
- tUmsatz.Gr_Vp_Vj = 0
- tUmsatz.Gr_Me_Lf = 0
- tUmsatz.Gr_Me_Vj = 0
- tUmsatz.Gr_Li_Lf = 0
- tUmsatz.Gr_Li_Vj = 0
- tUmsatz.KGeb_Cd = bArtst.KGeb_Cd
- tUmsatz.Alk% = bArtst.Alk_Gehalt.
- END.
- CASE ipiHerk:
- WHEN 1 THEN
- DO:
- ASSIGN
- nMenge = bArtbw.Menge
- nLiter = bArtbw.Liter
- nPreis = bArtbw.Preis
- MWST% = bArtbw.MWST%
- lMwstIncl = bArtbw.MWSt_Inkl
- Ep = bArtbw.EP * bArtbw.Menge
- Vp = bArtbw.Net_Betr
- - bArtbw.Auf_Rab
- - bArtbw.Abh_Rab
- - bArtbw.Auf_Sp_Rab.
- END.
- WHEN 2 THEN
- DO:
- ASSIGN
- nMenge = bAufze.MBest
- nLiter = bAufze.Liter
- nPreis = bAufze.Preis
- MWST% = bAufze.MWST%
- lMwstIncl = bAufze.MWSt_Inkl
- Ep = bAufze.EP * bAufze.MBest
- Vp = bAufze.Net_Betr
- - bAufze.Auf_Rab
- - bAufze.Abh_Rab
- - bAufze.Auf_Sp_Rab.
- END.
- END CASE.
- IF Ep = ? THEN Ep = nMenge * bArtst.DEP.
- IF Ep = 0 THEN Ep = nMenge * bArtst.DEP.
- IF Ep = ? THEN Ep = nMenge * bArtst.LEP.
- IF Ep = 0 THEN Ep = nMenge * bArtst.LEP.
- IF Ep = ? THEN Ep = nMenge * bArtst.Listen_EP.
- IF Ep = 0 THEN Ep = nMenge * bArtst.Listen_EP.
- IF Ep = ? THEN Ep = Vp * 0.78.
-
- IF lMWSTIncl THEN Vp = Vp * 100 / (100 + MWST%).
-
- CASE ipcZeit:
- WHEN 'LF' THEN
- DO:
- ASSIGN
- tUmsatz.Ep_Lf = tUmsatz.Ep_Lf + Ep
- tUmsatz.Vp_Lf = tUmsatz.Vp_Lf + Vp
- tUmsatz.Me_Lf = tUmsatz.Me_Lf + nMenge
- tUmsatz.Li_Lf = tUmsatz.Li_Lf + nLiter.
- IF nPreis = 0 THEN ASSIGN tUmsatz.Gr_Ep_Lf = tUmsatz.Gr_Ep_Lf + Ep
- tUmsatz.Gr_Vp_Lf = tUmsatz.Gr_Vp_Lf + Vp
- tUmsatz.Gr_Me_Lf = tUmsatz.Gr_Me_Lf + nMenge
- tUmsatz.Gr_Li_Lf = tUmsatz.Gr_Li_Lf + nLiter.
- END.
- WHEN 'VJ' THEN
- DO:
- ASSIGN
- tUmsatz.Ep_Vj = tUmsatz.Ep_Vj + Ep
- tUmsatz.Vp_Vj = tUmsatz.Vp_Vj + Vp
- tUmsatz.Me_Vj = tUmsatz.Me_Vj + nMenge
- tUmsatz.Li_Vj = tUmsatz.Li_Vj + nLiter.
- IF nPreis = 0 THEN ASSIGN tUmsatz.Gr_Ep_Vj = tUmsatz.Gr_Ep_Vj + Ep
- tUmsatz.Gr_Vp_Vj = tUmsatz.Gr_Vp_Vj + Vp
- tUmsatz.Gr_Me_Vj = tUmsatz.Gr_Me_Vj + nMenge
- tUmsatz.Gr_Li_Vj = tUmsatz.Gr_Li_Vj + nLiter.
- END.
- END CASE.
- END PROCEDURE.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- /* ************************ Function Implementations ***************** */
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION GesamtTotal gDebitorumsatz
- FUNCTION GesamtTotal RETURNS CHARACTER
- ( /* parameter-definitions */ ) :
- /*------------------------------------------------------------------------------
- Purpose:
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE BUFFER ttUmsatz FOR tUmsatz.
- IF iAnzKunde < 2 THEN RETURN ''.
- FIND FIRST ttUmsatz NO-LOCK
- WHERE ttUmsatz.RecArt = 'F'
- AND ttUmsatz.Knr = 9999999
- AND ttUmsatz.Wgr = 9999
- AND ttUmsatz.Pgr = 9999
- AND ttUmsatz.Herst = 9999999.
-
- Ma_Vj = 0.
- Ma_Lf = 0.
- IF ttUmsatz.Ep_Vj <> 0 AND
- ttUmsatz.Vp_Vj <> 0 THEN Ma_Vj = 100 - (ttUmsatz.Ep_Vj * 100 / ttUmsatz.Vp_Vj).
- IF ttUmsatz.Ep_Lf <> 0 AND
- ttUmsatz.Vp_Lf <> 0 THEN Ma_Lf = 100 - (ttUmsatz.Ep_Lf * 100 / ttUmsatz.Vp_Lf).
- IF Ma_Vj < 999.99- THEN Ma_Vj = 999.99-.
- IF Ma_Vj > 999.99 THEN Ma_Vj = 999.99.
- IF Ma_Lf < 999.99- THEN Ma_Lf = 999.99-.
- IF Ma_Lf > 999.99 THEN Ma_Lf = 999.99.
- IF T_HL THEN
- DO:
- ASSIGN
- ttUmsatz.Li_Lf = ttUmsatz.Li_Lf / 100
- ttUmsatz.Li_Vj = ttUmsatz.Li_Vj / 100
- ttUmsatz.Gr_Li_Lf = ttUmsatz.Gr_Li_Lf / 100
- ttUmsatz.Gr_Li_Vj = ttUmsatz.Gr_Li_Vj / 100.
- END.
-
- PUT CONTROL 'Gesamttotal ££££££'.
- cZeile = ''.
- cZeile = TRIM(STRING(ttUmsatz.Me_Lf,'->>>>>>>>>'))
- + '£'.
- IF T_Hl THEN cZeile = cZeile + TRIM(STRING(ttUmsatz.Li_Lf,'->>>>>9.99')).
- ELSE cZeile = cZeile + TRIM(STRING(ttUmsatz.Li_Lf,'->>>>>>>>>')).
- cZeile = cZeile + '£'
- + TRIM(STRING(ttUmsatz.Ep_Lf,'->>>>>>>>>')) + '£'
- + TRIM(STRING(ttUmsatz.Vp_Lf,'->>>>>>>>>')) + '£'
- + TRIM(STRING(Ma_Lf ,'->>9.99')).
- cZeile = cZeile + '£' + TRIM(STRING(ttUmsatz.Me_Vj,'->>>>>>>>>'))
- + '£'.
- IF T_Hl THEN cZeile = cZeile + TRIM(STRING(ttUmsatz.Li_Vj,'->>>>>9.99')).
- ELSE cZeile = cZeile + TRIM(STRING(ttUmsatz.Li_Vj,'->>>>>>>>>')).
- cZeile = cZeile + '£'
- + TRIM(STRING(ttUmsatz.Ep_Vj,'->>>>>>>>>')) + '£'
- + TRIM(STRING(ttUmsatz.Vp_Vj,'->>>>>>>>>')) + '£'
- + TRIM(STRING(Ma_Vj ,'->>9.99')).
- cZeile = REPLACE(cZeile, '£0.00£', '££').
- PUT CONTROL cZeile CHR(10).
- cZeile = ''.
- IF T_Gratis THEN
- DO:
- IF ttUmsatz.Gr_Me_Lf <> 0 OR
- ttUmsatz.Gr_Me_VJ <> 0 THEN
- DO:
- cZeile = cZeile + '££££GRATIS££' + TRIM(STRING(ttUmsatz.Gr_Me_Lf,'->>>>>>>>>'))
- + '£'.
- IF T_Hl THEN cZeile = cZeile + TRIM(STRING(ttUmsatz.Gr_Li_Lf,'->>>>>9.99')).
- ELSE cZeile = cZeile + TRIM(STRING(ttUmsatz.Gr_Li_Lf,'->>>>>>>>>')).
- cZeile = cZeile + '£' + TRIM(STRING(ttUmsatz.Gr_Ep_Lf,'->>>>>>>>>'))
- + '£' + TRIM(STRING(ttUmsatz.Gr_Vp_Lf,'->>>>>>>>>'))
- + '£'.
- cZeile = cZeile + '£' + TRIM(STRING(ttUmsatz.Gr_Me_Vj,'->>>>>>>>>'))
- + '£'.
- IF T_Hl THEN cZeile = cZeile + TRIM(STRING(ttUmsatz.Gr_Li_Vj,'->>>>>9.99')).
- ELSE cZeile = cZeile + TRIM(STRING(ttUmsatz.Gr_Li_Vj,'->>>>>>>>>')).
- cZeile = cZeile + '£' + TRIM(STRING(ttUmsatz.Gr_Ep_Vj,'->>>>>>>>>'))
- + '£' + TRIM(STRING(ttUmsatz.Gr_Vp_Vj,'->>>>>>>>>'))
- + '£'.
- cZeile = REPLACE(cZeile, '£0.00£', '££').
- PUT CONTROL cZeile CHR(10).
- cZeile = ''.
- END.
- END.
- cZeile = ''.
- RETURN ''.
- END FUNCTION.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION HerstellerHerstSchluss gDebitorumsatz
- FUNCTION HerstellerHerstSchluss RETURNS CHARACTER
- ( ipcAdresse AS CHARACTER ) :
- /*------------------------------------------------------------------------------
- Purpose:
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE BUFFER ttUmsatz FOR tUmsatz.
- FIND FIRST ttUmsatz NO-LOCK
- WHERE ttUmsatz.RecArt = 'E'
- AND ttUmsatz.Knr = btUmsatz.Herst
- AND ttUmsatz.Wgr = 9999
- AND ttUmsatz.Pgr = 9999
- AND ttUmsatz.Herst = 9999999.
-
- PUT CONTROL '£' CHR(10).
-
- Ma_Vj = 0.
- Ma_Lf = 0.
- IF ttUmsatz.Ep_Vj <> 0 AND
- ttUmsatz.Vp_Vj <> 0 THEN Ma_Vj = 100 - (ttUmsatz.Ep_Vj * 100 / ttUmsatz.Vp_Vj).
- IF ttUmsatz.Ep_Lf <> 0 AND
- ttUmsatz.Vp_Lf <> 0 THEN Ma_Lf = 100 - (ttUmsatz.Ep_Lf * 100 / ttUmsatz.Vp_Lf).
- IF Ma_Vj < 999.99- THEN Ma_Vj = 999.99-.
- IF Ma_Vj > 999.99 THEN Ma_Vj = 999.99.
- IF Ma_Lf < 999.99- THEN Ma_Lf = 999.99-.
- IF Ma_Lf > 999.99 THEN Ma_Lf = 999.99.
- IF T_HL THEN
- DO:
- ASSIGN
- ttUmsatz.Li_Lf = ttUmsatz.Li_Lf / 100
- ttUmsatz.Li_Vj = ttUmsatz.Li_Vj / 100
- ttUmsatz.Gr_Li_Lf = ttUmsatz.Gr_Li_Lf / 100
- ttUmsatz.Gr_Li_Vj = ttUmsatz.Gr_Li_Vj / 100.
- END.
-
- PUT CONTROL '£Total ' ipcAdresse '£££££'.
- cZeile = ''.
- cZeile = TRIM(STRING(ttUmsatz.Me_Lf,'->>>>>>>>>'))
- + '£'.
- IF T_Hl THEN cZeile = cZeile + TRIM(STRING(ttUmsatz.Li_Lf,'->>>>>9.99')).
- ELSE cZeile = cZeile + TRIM(STRING(ttUmsatz.Li_Lf,'->>>>>>>>>')).
- cZeile = cZeile + '£'
- + TRIM(STRING(ttUmsatz.Ep_Lf,'->>>>>>>>>')) + '£'
- + TRIM(STRING(ttUmsatz.Vp_Lf,'->>>>>>>>>')) + '£'
- + TRIM(STRING(Ma_Lf ,'->>9.99')).
- cZeile = cZeile + '£' + TRIM(STRING(ttUmsatz.Me_Vj,'->>>>>>>>>'))
- + '£'.
- IF T_Hl THEN cZeile = cZeile + TRIM(STRING(ttUmsatz.Li_Vj,'->>>>>9.99')).
- ELSE cZeile = cZeile + TRIM(STRING(ttUmsatz.Li_Vj,'->>>>>>>>>')).
- cZeile = cZeile + '£'
- + TRIM(STRING(ttUmsatz.Ep_Vj,'->>>>>>>>>')) + '£'
- + TRIM(STRING(ttUmsatz.Vp_Vj,'->>>>>>>>>')) + '£'
- + TRIM(STRING(Ma_Vj ,'->>9.99')).
- cZeile = REPLACE(cZeile, '£0.00£', '££').
- PUT CONTROL cZeile CHR(10).
- cZeile = ''.
- IF T_Gratis THEN
- DO:
- IF ttUmsatz.Gr_Me_Lf <> 0 OR
- ttUmsatz.Gr_Me_VJ <> 0 THEN
- DO:
- cZeile = cZeile + '££££GRATIS££' + TRIM(STRING(ttUmsatz.Gr_Me_Lf,'->>>>>>>>>'))
- + '£'.
- IF T_Hl THEN cZeile = cZeile + TRIM(STRING(ttUmsatz.Gr_Li_Lf,'->>>>>9.99')).
- ELSE cZeile = cZeile + TRIM(STRING(ttUmsatz.Gr_Li_Lf,'->>>>>>>>>')).
- cZeile = cZeile + '£' + TRIM(STRING(ttUmsatz.Gr_Ep_Lf,'->>>>>>>>>'))
- + '£' + TRIM(STRING(ttUmsatz.Gr_Vp_Lf,'->>>>>>>>>'))
- + '£'.
- cZeile = cZeile + '£' + TRIM(STRING(ttUmsatz.Gr_Me_Vj,'->>>>>>>>>'))
- + '£'.
- IF T_Hl THEN cZeile = cZeile + TRIM(STRING(ttUmsatz.Gr_Li_Vj,'->>>>>9.99')).
- ELSE cZeile = cZeile + TRIM(STRING(ttUmsatz.Gr_Li_Vj,'->>>>>>>>>')).
- cZeile = cZeile + '£' + TRIM(STRING(ttUmsatz.Gr_Ep_Vj,'->>>>>>>>>'))
- + '£' + TRIM(STRING(ttUmsatz.Gr_Vp_Vj,'->>>>>>>>>'))
- + '£'.
- cZeile = REPLACE(cZeile, '£0.00£', '££').
- PUT CONTROL cZeile CHR(10).
- cZeile = ''.
- END.
- END.
- cZeile = ''.
-
- RETURN ''.
- END FUNCTION.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION HerstellerSchluss gDebitorumsatz
- FUNCTION HerstellerSchluss RETURNS CHARACTER
- ( ipcHerst AS CHARACTER ) :
- /*------------------------------------------------------------------------------
- Purpose:
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE BUFFER ttUmsatz FOR tUmsatz.
- IF iAnzWgr < 2 THEN RETURN ''.
- FIND FIRST ttUmsatz NO-LOCK
- WHERE ttUmsatz.RecArt = 'D'
- AND ttUmsatz.Knr = btUmsatz.Knr
- AND ttUmsatz.Wgr = 9999
- AND ttUmsatz.Pgr = 9999
- AND ttUmsatz.Herst = btUmsatz.Herst.
-
- Ma_Vj = 0.
- Ma_Lf = 0.
- IF ttUmsatz.Ep_Vj <> 0 AND
- ttUmsatz.Vp_Vj <> 0 THEN Ma_Vj = 100 - (ttUmsatz.Ep_Vj * 100 / ttUmsatz.Vp_Vj).
- IF ttUmsatz.Ep_Lf <> 0 AND
- ttUmsatz.Vp_Lf <> 0 THEN Ma_Lf = 100 - (ttUmsatz.Ep_Lf * 100 / ttUmsatz.Vp_Lf).
- IF Ma_Vj < 999.99- THEN Ma_Vj = 999.99-.
- IF Ma_Vj > 999.99 THEN Ma_Vj = 999.99.
- IF Ma_Lf < 999.99- THEN Ma_Lf = 999.99-.
- IF Ma_Lf > 999.99 THEN Ma_Lf = 999.99.
- IF T_HL THEN
- DO:
- ASSIGN
- ttUmsatz.Li_Lf = ttUmsatz.Li_Lf / 100
- ttUmsatz.Li_Vj = ttUmsatz.Li_Vj / 100
- ttUmsatz.Gr_Li_Lf = ttUmsatz.Gr_Li_Lf / 100
- ttUmsatz.Gr_Li_Vj = ttUmsatz.Gr_Li_Vj / 100.
- END.
-
- PUT CONTROL '£Total ' ipcHerst '£££££'.
- cZeile = ''.
- cZeile = TRIM(STRING(ttUmsatz.Me_Lf,'->>>>>>>>>'))
- + '£'.
- IF T_Hl THEN cZeile = cZeile + TRIM(STRING(ttUmsatz.Li_Lf,'->>>>>9.99')).
- ELSE cZeile = cZeile + TRIM(STRING(ttUmsatz.Li_Lf,'->>>>>>>>>')).
- cZeile = cZeile + '£'
- + TRIM(STRING(ttUmsatz.Ep_Lf,'->>>>>>>>>')) + '£'
- + TRIM(STRING(ttUmsatz.Vp_Lf,'->>>>>>>>>')) + '£'
- + TRIM(STRING(Ma_Lf ,'->>9.99')).
- cZeile = cZeile + '£' + TRIM(STRING(ttUmsatz.Me_Vj,'->>>>>>>>>'))
- + '£'.
- IF T_Hl THEN cZeile = cZeile + TRIM(STRING(ttUmsatz.Li_Vj,'->>>>>9.99')).
- ELSE cZeile = cZeile + TRIM(STRING(ttUmsatz.Li_Vj,'->>>>>>>>>')).
- cZeile = cZeile + '£'
- + TRIM(STRING(ttUmsatz.Ep_Vj,'->>>>>>>>>')) + '£'
- + TRIM(STRING(ttUmsatz.Vp_Vj,'->>>>>>>>>')) + '£'
- + TRIM(STRING(Ma_Vj ,'->>9.99')).
- cZeile = REPLACE(cZeile, '£0.00£', '££').
- PUT CONTROL cZeile CHR(10).
- cZeile = ''.
- IF T_Gratis THEN
- DO:
- IF ttUmsatz.Gr_Me_Lf <> 0 OR
- ttUmsatz.Gr_Me_VJ <> 0 THEN
- DO:
- cZeile = cZeile + '££££GRATIS££' + TRIM(STRING(ttUmsatz.Gr_Me_Lf,'->>>>>>>>>'))
- + '£'.
- IF T_Hl THEN cZeile = cZeile + TRIM(STRING(ttUmsatz.Gr_Li_Lf,'->>>>>9.99')).
- ELSE cZeile = cZeile + TRIM(STRING(ttUmsatz.Gr_Li_Lf,'->>>>>>>>>')).
- cZeile = cZeile + '£' + TRIM(STRING(ttUmsatz.Gr_Ep_Lf,'->>>>>>>>>'))
- + '£' + TRIM(STRING(ttUmsatz.Gr_Vp_Lf,'->>>>>>>>>'))
- + '£'.
- cZeile = cZeile + '£' + TRIM(STRING(ttUmsatz.Gr_Me_Vj,'->>>>>>>>>'))
- + '£'.
- IF T_Hl THEN cZeile = cZeile + TRIM(STRING(ttUmsatz.Gr_Li_Vj,'->>>>>9.99')).
- ELSE cZeile = cZeile + TRIM(STRING(ttUmsatz.Gr_Li_Vj,'->>>>>>>>>')).
- cZeile = cZeile + '£' + TRIM(STRING(ttUmsatz.Gr_Ep_Vj,'->>>>>>>>>'))
- + '£' + TRIM(STRING(ttUmsatz.Gr_Vp_Vj,'->>>>>>>>>'))
- + '£'.
- cZeile = REPLACE(cZeile, '£0.00£', '££').
- PUT CONTROL cZeile CHR(10).
- cZeile = ''.
- END.
- END.
- cZeile = ''.
- RETURN ''.
- END FUNCTION.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION HerstellerStart gDebitorumsatz
- FUNCTION HerstellerStart RETURNS CHARACTER
- ( ipHerst AS INTEGER ) :
- /*------------------------------------------------------------------------------
- Purpose:
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cHerst AS CHARACTER NO-UNDO.
- ASSIGN
- cString = ''
- cHerst = ''.
-
- IF ipHerst > 0 THEN
- DO:
- RUN FIND_HERSTELLER ( ipHerst, OUTPUT cString ).
- IF cString = '?' THEN cString = FILL('?', 15).
- cHerst = STRING(ipHerst,'999 ') + ENTRY(2, cString, CHR(01)) NO-ERROR.
- END.
-
- RETURN cHerst.
- END FUNCTION.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION KundenSchluss gDebitorumsatz
- FUNCTION KundenSchluss RETURNS CHARACTER
- ( ipcAdresse AS CHARACTER ) :
- /*------------------------------------------------------------------------------
- Purpose:
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE BUFFER ttUmsatz FOR tUmsatz.
- FIND FIRST ttUmsatz NO-LOCK
- WHERE ttUmsatz.RecArt = 'E'
- AND ttUmsatz.Knr = btUmsatz.Knr
- AND ttUmsatz.Wgr = 9999
- AND ttUmsatz.Pgr = 9999
- AND ttUmsatz.Herst = 9999999.
-
- /* PUT CONTROL '£' CHR(10). */
-
- Ma_Vj = 0.
- Ma_Lf = 0.
- IF ttUmsatz.Ep_Vj <> 0 AND
- ttUmsatz.Vp_Vj <> 0 THEN Ma_Vj = 100 - (ttUmsatz.Ep_Vj * 100 / ttUmsatz.Vp_Vj).
- IF ttUmsatz.Ep_Lf <> 0 AND
- ttUmsatz.Vp_Lf <> 0 THEN Ma_Lf = 100 - (ttUmsatz.Ep_Lf * 100 / ttUmsatz.Vp_Lf).
- IF Ma_Vj < 999.99- THEN Ma_Vj = 999.99-.
- IF Ma_Vj > 999.99 THEN Ma_Vj = 999.99.
- IF Ma_Lf < 999.99- THEN Ma_Lf = 999.99-.
- IF Ma_Lf > 999.99 THEN Ma_Lf = 999.99.
- IF T_HL THEN
- DO:
- ASSIGN
- ttUmsatz.Li_Lf = ttUmsatz.Li_Lf / 100
- ttUmsatz.Li_Vj = ttUmsatz.Li_Vj / 100
- ttUmsatz.Gr_Li_Lf = ttUmsatz.Gr_Li_Lf / 100
- ttUmsatz.Gr_Li_Vj = ttUmsatz.Gr_Li_Vj / 100.
- END.
-
- PUT CONTROL 'Total ' ipcAdresse '££££££'.
- cZeile = ''.
- cZeile = TRIM(STRING(ttUmsatz.Me_Lf,'->>>>>>>>>'))
- + '£'.
- IF T_Hl THEN cZeile = cZeile + TRIM(STRING(ttUmsatz.Li_Lf,'->>>>>9.99')).
- ELSE cZeile = cZeile + TRIM(STRING(ttUmsatz.Li_Lf,'->>>>>>>>>')).
- cZeile = cZeile + '£'
- + TRIM(STRING(ttUmsatz.Ep_Lf,'->>>>>>>>>')) + '£'
- + TRIM(STRING(ttUmsatz.Vp_Lf,'->>>>>>>>>')) + '£'
- + TRIM(STRING(Ma_Lf ,'->>9.99')).
- cZeile = cZeile + '£' + TRIM(STRING(ttUmsatz.Me_Vj,'->>>>>>>>>'))
- + '£'.
- IF T_Hl THEN cZeile = cZeile + TRIM(STRING(ttUmsatz.Li_Vj,'->>>>>9.99')).
- ELSE cZeile = cZeile + TRIM(STRING(ttUmsatz.Li_Vj,'->>>>>>>>>')).
- cZeile = cZeile + '£'
- + TRIM(STRING(ttUmsatz.Ep_Vj,'->>>>>>>>>')) + '£'
- + TRIM(STRING(ttUmsatz.Vp_Vj,'->>>>>>>>>')) + '£'
- + TRIM(STRING(Ma_Vj ,'->>9.99')).
- cZeile = REPLACE(cZeile, '£0.00£', '££').
- PUT CONTROL cZeile CHR(10).
- cZeile = ''.
- IF T_Gratis THEN
- DO:
- IF ttUmsatz.Gr_Me_Lf <> 0 OR
- ttUmsatz.Gr_Me_VJ <> 0 THEN
- DO:
- cZeile = cZeile + '££££GRATIS££' + TRIM(STRING(ttUmsatz.Gr_Me_Lf,'->>>>>>>>>'))
- + '£'.
- IF T_Hl THEN cZeile = cZeile + TRIM(STRING(ttUmsatz.Gr_Li_Lf,'->>>>>9.99')).
- ELSE cZeile = cZeile + TRIM(STRING(ttUmsatz.Gr_Li_Lf,'->>>>>>>>>')).
- cZeile = cZeile + '£' + TRIM(STRING(ttUmsatz.Gr_Ep_Lf,'->>>>>>>>>'))
- + '£' + TRIM(STRING(ttUmsatz.Gr_Vp_Lf,'->>>>>>>>>'))
- + '£'.
- cZeile = cZeile + '£' + TRIM(STRING(ttUmsatz.Gr_Me_Vj,'->>>>>>>>>'))
- + '£'.
- IF T_Hl THEN cZeile = cZeile + TRIM(STRING(ttUmsatz.Gr_Li_Vj,'->>>>>9.99')).
- ELSE cZeile = cZeile + TRIM(STRING(ttUmsatz.Gr_Li_Vj,'->>>>>>>>>')).
- cZeile = cZeile + '£' + TRIM(STRING(ttUmsatz.Gr_Ep_Vj,'->>>>>>>>>'))
- + '£' + TRIM(STRING(ttUmsatz.Gr_Vp_Vj,'->>>>>>>>>'))
- + '£'.
- cZeile = REPLACE(cZeile, '£0.00£', '££').
- PUT CONTROL cZeile CHR(10).
- cZeile = ''.
- END.
- END.
- PUT CONTROL '£' CHR(10).
- cZeile = ''.
-
- RETURN ''.
- END FUNCTION.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION ProduktegruppenSchluss gDebitorumsatz
- FUNCTION ProduktegruppenSchluss RETURNS CHARACTER
- ( ipcProdgrp AS CHARACTER ) :
- /*------------------------------------------------------------------------------
- Purpose:
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE BUFFER ttUmsatz FOR tUmsatz.
- IF iAnzArt < 2 THEN RETURN ''.
- FIND FIRST ttUmsatz NO-LOCK
- WHERE ttUmsatz.RecArt = 'B'
- AND ttUmsatz.Knr = btUmsatz.Knr
- AND ttUmsatz.Wgr = btUmsatz.Wgr
- AND ttUmsatz.Pgr = btUmsatz.Pgr
- AND ttUmsatz.Herst = btUmsatz.Herst.
-
- Ma_Vj = 0.
- Ma_Lf = 0.
- IF ttUmsatz.Ep_Vj <> 0 AND
- ttUmsatz.Vp_Vj <> 0 THEN Ma_Vj = 100 - (ttUmsatz.Ep_Vj * 100 / ttUmsatz.Vp_Vj).
- IF ttUmsatz.Ep_Lf <> 0 AND
- ttUmsatz.Vp_Lf <> 0 THEN Ma_Lf = 100 - (ttUmsatz.Ep_Lf * 100 / ttUmsatz.Vp_Lf).
- IF Ma_Vj < 999.99- THEN Ma_Vj = 999.99-.
- IF Ma_Vj > 999.99 THEN Ma_Vj = 999.99.
- IF Ma_Lf < 999.99- THEN Ma_Lf = 999.99-.
- IF Ma_Lf > 999.99 THEN Ma_Lf = 999.99.
- IF T_HL THEN
- DO:
- ASSIGN
- ttUmsatz.Li_Lf = ttUmsatz.Li_Lf / 100
- ttUmsatz.Li_Vj = ttUmsatz.Li_Vj / 100
- ttUmsatz.Gr_Li_Lf = ttUmsatz.Gr_Li_Lf / 100
- ttUmsatz.Gr_Li_Vj = ttUmsatz.Gr_Li_Vj / 100.
- END.
-
- PUT CONTROL '£Total ' ipcProdgrp '£££££'.
- cZeile = ''.
- cZeile = TRIM(STRING(ttUmsatz.Me_Lf,'->>>>>>>>>'))
- + '£'.
- IF T_Hl THEN cZeile = cZeile + TRIM(STRING(ttUmsatz.Li_Lf,'->>>>>9.99')).
- ELSE cZeile = cZeile + TRIM(STRING(ttUmsatz.Li_Lf,'->>>>>>>>>')).
- cZeile = cZeile + '£'
- + TRIM(STRING(ttUmsatz.Ep_Lf,'->>>>>>>>>')) + '£'
- + TRIM(STRING(ttUmsatz.Vp_Lf,'->>>>>>>>>')) + '£'
- + TRIM(STRING(Ma_Lf ,'->>9.99')).
- cZeile = cZeile + '£' + TRIM(STRING(ttUmsatz.Me_Vj,'->>>>>>>>>'))
- + '£'.
- IF T_Hl THEN cZeile = cZeile + TRIM(STRING(ttUmsatz.Li_Vj,'->>>>>9.99')).
- ELSE cZeile = cZeile + TRIM(STRING(ttUmsatz.Li_Vj,'->>>>>>>>>')).
- cZeile = cZeile + '£'
- + TRIM(STRING(ttUmsatz.Ep_Vj,'->>>>>>>>>')) + '£'
- + TRIM(STRING(ttUmsatz.Vp_Vj,'->>>>>>>>>')) + '£'
- + TRIM(STRING(Ma_Vj ,'->>9.99')).
- cZeile = REPLACE(cZeile, '£0.00£', '££').
- PUT CONTROL cZeile CHR(10).
- cZeile = ''.
- IF T_Gratis THEN
- DO:
- IF ttUmsatz.Gr_Me_Lf <> 0 OR
- ttUmsatz.Gr_Me_VJ <> 0 THEN
- DO:
- cZeile = cZeile + '££££GRATIS££' + TRIM(STRING(ttUmsatz.Gr_Me_Lf,'->>>>>>>>>'))
- + '£'.
- IF T_Hl THEN cZeile = cZeile + TRIM(STRING(ttUmsatz.Gr_Li_Lf,'->>>>>9.99')).
- ELSE cZeile = cZeile + TRIM(STRING(ttUmsatz.Gr_Li_Lf,'->>>>>>>>>')).
- cZeile = cZeile + '£' + TRIM(STRING(ttUmsatz.Gr_Ep_Lf,'->>>>>>>>>'))
- + '£' + TRIM(STRING(ttUmsatz.Gr_Vp_Lf,'->>>>>>>>>'))
- + '£'.
- cZeile = cZeile + '£' + TRIM(STRING(ttUmsatz.Gr_Me_Vj,'->>>>>>>>>'))
- + '£'.
- IF T_Hl THEN cZeile = cZeile + TRIM(STRING(ttUmsatz.Gr_Li_Vj,'->>>>>9.99')).
- ELSE cZeile = cZeile + TRIM(STRING(ttUmsatz.Gr_Li_Vj,'->>>>>>>>>')).
- cZeile = cZeile + '£' + TRIM(STRING(ttUmsatz.Gr_Ep_Vj,'->>>>>>>>>'))
- + '£' + TRIM(STRING(ttUmsatz.Gr_Vp_Vj,'->>>>>>>>>'))
- + '£'.
- cZeile = REPLACE(cZeile, '£0.00£', '££').
- PUT CONTROL cZeile CHR(10).
- cZeile = ''.
- END.
- END.
-
- cZeile = ''.
- RETURN ''.
- END FUNCTION.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION ProduktegruppenStart gDebitorumsatz
- FUNCTION ProduktegruppenStart RETURNS CHARACTER
- ( ipWgr AS INTEGER, ipPgr AS INTEGER ) :
- /*------------------------------------------------------------------------------
- Purpose:
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cProdgrp AS CHARACTER NO-UNDO.
- ASSIGN
- cString = ''
- cProdGrp = ''.
-
- IF ipPgr > 0 THEN
- DO:
- RUN FIND_PRODGRP ( ipWgr, ipPgr, OUTPUT cString ).
- IF cString = '?' THEN cString = FILL('?', 15).
- cProdgrp = STRING(ipPgr,'999 ') + ENTRY(2, cString, CHR(01)) NO-ERROR.
- END.
- RETURN cProdgrp.
- END FUNCTION.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION WarengruppenSchluss gDebitorumsatz
- FUNCTION WarengruppenSchluss RETURNS CHARACTER
- ( ipcWarenGrp AS CHARACTER ) :
- /*------------------------------------------------------------------------------
- Purpose:
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE VARIABLE iPgr AS INTEGER INIT 0 NO-UNDO.
- DEFINE BUFFER ttUmsatz FOR tUmsatz.
- IF T_ProdTot AND
- iAnzPgr < 2 THEN RETURN ''.
- IF NOT T_ProdTot AND
- iAnzArt < 2 THEN RETURN ''.
- IF lWgrTotale THEN
- DO:
- FIND FIRST ttUmsatz NO-LOCK
- WHERE ttUmsatz.RecArt = 'G'
- AND ttUmsatz.Knr = btUmsatz.Knr
- AND ttUmsatz.Wgr = btUmsatz.Wgr
- AND ttUmsatz.Pgr = 9999
- AND ttUmsatz.Herst = btUmsatz.Herst
- AND ttUmsatz.Artnr = 9999999.
- END.
- ELSE
- DO:
- FIND FIRST ttUmsatz NO-LOCK
- WHERE ttUmsatz.RecArt = 'C'
- AND ttUmsatz.Knr = btUmsatz.Knr
- AND ttUmsatz.Wgr = btUmsatz.Wgr
- AND ttUmsatz.Pgr = 9999
- AND ttUmsatz.Herst = btUmsatz.Herst.
- END.
-
- Ma_Vj = 0.
- Ma_Lf = 0.
- IF ttUmsatz.Ep_Vj <> 0 AND
- ttUmsatz.Vp_Vj <> 0 THEN Ma_Vj = 100 - (ttUmsatz.Ep_Vj * 100 / ttUmsatz.Vp_Vj).
- IF ttUmsatz.Ep_Lf <> 0 AND
- ttUmsatz.Vp_Lf <> 0 THEN Ma_Lf = 100 - (ttUmsatz.Ep_Lf * 100 / ttUmsatz.Vp_Lf).
- IF Ma_Vj < 999.99- THEN Ma_Vj = 999.99-.
- IF Ma_Vj > 999.99 THEN Ma_Vj = 999.99.
- IF Ma_Lf < 999.99- THEN Ma_Lf = 999.99-.
- IF Ma_Lf > 999.99 THEN Ma_Lf = 999.99.
- IF T_HL THEN
- DO:
- ASSIGN
- ttUmsatz.Li_Lf = ttUmsatz.Li_Lf / 100
- ttUmsatz.Li_Vj = ttUmsatz.Li_Vj / 100
- ttUmsatz.Gr_Li_Lf = ttUmsatz.Gr_Li_Lf / 100
- ttUmsatz.Gr_Li_Vj = ttUmsatz.Gr_Li_Vj / 100.
- END.
-
- PUT CONTROL '£Total ' ipcWarenGrp '£££££'.
- cZeile = ''.
- cZeile = TRIM(STRING(ttUmsatz.Me_Lf,'->>>>>>>>>'))
- + '£'.
- IF T_Hl THEN cZeile = cZeile + TRIM(STRING(ttUmsatz.Li_Lf,'->>>>>9.99')).
- ELSE cZeile = cZeile + TRIM(STRING(ttUmsatz.Li_Lf,'->>>>>>>>>')).
- cZeile = cZeile + '£'
- + TRIM(STRING(ttUmsatz.Ep_Lf,'->>>>>>>>>')) + '£'
- + TRIM(STRING(ttUmsatz.Vp_Lf,'->>>>>>>>>')) + '£'
- + TRIM(STRING(Ma_Lf ,'->>9.99')).
- cZeile = cZeile + '£' + TRIM(STRING(ttUmsatz.Me_Vj,'->>>>>>>>>'))
- + '£'.
- IF T_Hl THEN cZeile = cZeile + TRIM(STRING(ttUmsatz.Li_Vj,'->>>>>9.99')).
- ELSE cZeile = cZeile + TRIM(STRING(ttUmsatz.Li_Vj,'->>>>>>>>>')).
- cZeile = cZeile + '£'
- + TRIM(STRING(ttUmsatz.Ep_Vj,'->>>>>>>>>')) + '£'
- + TRIM(STRING(ttUmsatz.Vp_Vj,'->>>>>>>>>')) + '£'
- + TRIM(STRING(Ma_Vj ,'->>9.99')).
- cZeile = REPLACE(cZeile, '£0.00£', '££').
- PUT CONTROL cZeile CHR(10).
- cZeile = ''.
- IF T_Gratis THEN
- DO:
- IF ttUmsatz.Gr_Me_Lf <> 0 OR
- ttUmsatz.Gr_Me_VJ <> 0 THEN
- DO:
- cZeile = cZeile + '££££GRATIS££' + TRIM(STRING(ttUmsatz.Gr_Me_Lf,'->>>>>>>>>'))
- + '£'.
- IF T_Hl THEN cZeile = cZeile + TRIM(STRING(ttUmsatz.Gr_Li_Lf,'->>>>>9.99')).
- ELSE cZeile = cZeile + TRIM(STRING(ttUmsatz.Gr_Li_Lf,'->>>>>>>>>')).
- cZeile = cZeile + '£' + TRIM(STRING(ttUmsatz.Gr_Ep_Lf,'->>>>>>>>>'))
- + '£' + TRIM(STRING(ttUmsatz.Gr_Vp_Lf,'->>>>>>>>>'))
- + '£'.
- cZeile = cZeile + '£' + TRIM(STRING(ttUmsatz.Gr_Me_Vj,'->>>>>>>>>'))
- + '£'.
- IF T_Hl THEN cZeile = cZeile + TRIM(STRING(ttUmsatz.Gr_Li_Vj,'->>>>>9.99')).
- ELSE cZeile = cZeile + TRIM(STRING(ttUmsatz.Gr_Li_Vj,'->>>>>>>>>')).
- cZeile = cZeile + '£' + TRIM(STRING(ttUmsatz.Gr_Ep_Vj,'->>>>>>>>>'))
- + '£' + TRIM(STRING(ttUmsatz.Gr_Vp_Vj,'->>>>>>>>>'))
- + '£'.
- cZeile = REPLACE(cZeile, '£0.00£', '££').
- PUT CONTROL cZeile CHR(10).
- cZeile = ''.
- END.
- END.
- cZeile = ''.
- RETURN ''.
- END FUNCTION.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
- &ANALYZE-SUSPEND _UIB-CODE-BLOCK _FUNCTION WarengruppenStart gDebitorumsatz
- FUNCTION WarengruppenStart RETURNS CHARACTER
- ( ipWgr AS INTEGER ) :
- /*------------------------------------------------------------------------------
- Purpose:
- Notes:
- ------------------------------------------------------------------------------*/
- DEFINE VARIABLE cString AS CHARACTER NO-UNDO.
- DEFINE VARIABLE cWarenGrp AS CHARACTER NO-UNDO.
- ASSIGN
- cString = ''
- cWarenGrp = ''.
-
- /* IF ipWgr > 0 THEN DO:*/
- RUN FIND_WarenGrp ( ipWgr, OUTPUT cString ).
- IF cString = '?' THEN cString = FILL('?', 15).
- IF NOT lTotale THEN cWarenGrp = STRING(ipWgr,'999 ') + ENTRY(2, cString, CHR(01)) NO-ERROR.
- ELSE cWarenGrp = '£' + STRING(ipWgr,'999') + '£' + ENTRY(2, cString, CHR(01)) NO-ERROR.
- /* END.*/
- RETURN cWarenGrp.
- END FUNCTION.
- /* _UIB-CODE-BLOCK-END */
- &ANALYZE-RESUME
|