Leveringsperformantie vertrekt van de facturen, de leveringsdagen in de factuurlijnen wordt vergelijken met de leveringsdag van de leveringbon er kan op 3 nivos worden gegropeerd : - detail - lijn per lijn (gigantisch bestand) - per leveringsbon - per klant en maand het bestand wordt BL.Derde.LevSpecifiek,BL.Derde.KlantSpecifiek,vhLib.Macro 1 %RegisteredObject 0 %List 1 %String 1 %String 1 %Integer 1 %Date 1 %Date 1 17-5-2010 %Date 61863 tijdelijke opslag %String 1 1 D = Detail, elke productlijn apart L = Groepeerd per leveringsbon en prodgrp M = Groepeerd per klant, maand en prodgrp %String 1 Derde.Klant.Klant 1 Do ##class(DOM.VKP.LeveringsPerformantieExport).Test() 1 Do ##class(DOM.VKP.LeveringsPerformantieExport).MaandAll() 1 Name lbRegios:%List,KLNr:%List,Detail:%List,AantalMaanden:%Integer=12 %Status Begin,Eind Geef de eerstvolgende leverdag op basis van de verzendwijze en aanleverdagen Dev KLNr FAKNr,ULRef FAKNr,BONNr,LRec:%String,LevDatum:%Date,VerzendWijze:%String 0 ; Geen terugnames Set ProdGrp=$$PRODGRP^PRODUKT(PRNr,1) Set OrdDat=$P(LRec,"\",25) Set:OrdDat["/" OrdDat=$$INTDATE^vhDTyp(OrdDat,"DW") ; backwards compatible, vroeger stond er de week met een "/" Set:(LevDatum<..#StartLevOpDag)&&($$CALCDATE^vhDTyp(OrdDat,"W","FD")=$$CALCDATE^vhDTyp(LevDatum,"W","FD")) OrdDat=LevDatum ; backwards compatible, vroeger was de nauwkeurigheid per week dus als het binnen de week valt dan is alles OK Set Kom=$P(LRec,"\",28)'="" Set Omzet=$P(LRec,"\",34) Do ..Add(FAKNr,BONNr,LevDatum,VerzendWijze,OrdDat,PRNr,ProdGrp,Kom,Omzet) ]]> FAKNr,BONNr,LevDat,VerzendWijze,OrdDat,PRNr,ProdGrp,Kom,Omzet Delta 0 Do ; te vroeg . Set NewDelta=(Delta+7)\7*7 . If Delta>30 Set NewDelta=Delta\30*30 Quit NewDelta ]]>