cwschad ;Invullen schaduw winstpercentage in de produkten vanuit ^KLAS ;[ 09/24/96 2:34 PM ] Quit ; PRODUKT Kill Do INIT^vhTERMINA Write @F11,@F1 Set KLNr=1000 For Set KLNr=$O(^KKAAP(KLNr)) Quit:'KLNr Do .Set HoofdGr=0 .For Set HoofdGr=$O(^KKAAP(KLNr,HoofdGr)) Quit:HoofdGr="" Do ..Set Groep=0 ..For Set Groep=$O(^KKAAP(KLNr,HoofdGr,Groep)) Quit:Groep="" Do ...Set SubGroep=0 ...For Set SubGroep=$O(^KKAAP(KLNr,HoofdGr,Groep,SubGroep)) Quit:SubGroep="" Do ....Set KortTxt=0 ....For Set KortTxt=$O(^KKAAP(KLNr,HoofdGr,Groep,SubGroep,KortTxt)) Quit:KortTxt="" Do .....Set R=^KKAAP(KLNr,HoofdGr,Groep,SubGroep,KortTxt),PRNr=$P(R,D,15) .....Quit:'$D(^KPR(PRNr,"J"_5005)) .....Set Prijs=$$HVPR(KLNr,PRNr),SLijstPr=$$SLPR(PRNr) .....Set SKorting=-(Prijs/SLijstPr)+1*100 .....Set:SKorting>0 SKorting=$$SVPR(KLNr,PRNr,SKorting) Set:SKorting<0 SKorting=0 .....Set SK1=SKorting,SK2=0 .....Set:SK1>30 SK1=30,SK2=1-(100-SKorting/(100-30))*100 .....Set R=$G(^KLPUTZ("S",KLNr,HoofdGr,Groep,SubGroep,PRNr,0)),$P(R,D)=SK1,$P(R,D,2)=SK2,$P(R,D,4)=PRNr .....Set ^KLPUTZ("S",KLNr,HoofdGr,Groep,SubGroep,PRNr,0)=R .....Set ^KLPUTZ("IS",HoofdGr,Groep,SubGroep,PRNr,KLNr)="" Quit ; CUMUL Kill Do INIT^vhTERMINA Write @F11,@F1 Set KLNr=1000 For Set KLNr=$O(^KKAAP(KLNr)) Quit:'KLNr Do .Set HoofdGr=0 .For Set HoofdGr=$O(^KKAAP(KLNr,HoofdGr)) Quit:HoofdGr="" Do ..Set Groep=0 ..For Set Groep=$O(^KKAAP(KLNr,HoofdGr,Groep)) Quit:Groep="" Do ...Set SubGroep=0 ...For Set SubGroep=$O(^KKAAP(KLNr,HoofdGr,Groep,SubGroep)) Quit:SubGroep="" Do ....Set (KortTxt,VerkWa,LijstWa,Blum)=0 ....For Set KortTxt=$O(^KKAAP(KLNr,HoofdGr,Groep,SubGroep,KortTxt)) Quit:KortTxt="" Do .....Set R=^KKAAP(KLNr,HoofdGr,Groep,SubGroep,KortTxt),Aantal=$P(R,D,4),PRNr=$P(R,D,15) .....Quit:'$D(^KPR(PRNr,"J"_5005)) .....Quit:$D(^KLPUTZ("N",KLNr,HoofdGr,Groep,SubGroep,PRNr)) .....Set:'Blum Blum=PRNr .....Set VerkPr=$$HVPR(KLNr,PRNr),LijstPr=$$SLPR(PRNr) .....Set VerkWa=VerkWa+(VerkPr*Aantal),LijstWa=LijstWa+(LijstPr*Aantal) ....Quit:'Blum ....Set KortWa=-(VerkWa/LijstWa)+1*100 Set:KortWa<0 KortWa=0 ....Set SK1=KortWa,SK2=0 ....Set:SK1>30 SK1=30,SK2=1-(100-KortWa/(100-30))*100 ....Set R=$G(^KLPUTZ("S",KLNr,HoofdGr,Groep,SubGroep,0,0)),$P(R,D)=SK1,$P(R,D,2)=SK2,$P(R,D,4)=Blum ....Set ^KLPUTZ("S",KLNr,HoofdGr,Groep,SubGroep,0,0)=R ....Set ^KLPUTZ("IS",HoofdGr,Groep,SubGroep,0,KLNr)="" Quit ; HVPR(KLNr,PRNr) New R,Prijs,Munt,Eenheid,Pariteit Set R=$$KLANTPR^KPRIJS(KLNr,PRNr),Prijs=$P(R,D),Munt=$P(R,D,2),Eenheid=$P(R,D,3) Set Pariteit=$$MUNTPAR^vhRtn1(Munt,2),Eenheid=$S(Eenheid="M":1000,Eenheid="H":100,1:1) Set Prijs=Prijs/Pariteit/Eenheid Quit Prijs ; SLPR(PRNr) New R,SPPL,%SKort,vhSWinst,%SCif,Munt,Eenheid,Pariteit Set R=^KPR(PRNr,2),SPPL=$P(R,D,3),%SKort=$P(R,D,4),vhSWinst=$P(R,D,6),%SCif=$P(R,D,7) Set R=$O(^KPR(PRNr,"J")),R=^KPR(PRNr,R),Munt=$P(R,D,17),Eenheid=$P(R,D,28) Set:SPPL="" SPPL=$P(R,D,19) Set:%SKort="" %SKort=$P(R,D,9) Set:vhSWinst="" vhSWinst=$P(R,D,24) Set:%SCif="" %SCif=$P(R,D,21) Set Pariteit=$$MUNTPAR^vhRtn1(Munt,2),Eenheid=$S(Eenheid="M":1000,Eenheid="H":100,1:1) Set SPPL=SPPL/Pariteit/Eenheid*(100-%SKort)/100/(100-%SCif)*100/(100-vhSWinst)*100 Quit SPPL ; SVPR(KLNr,PRNr,SKorting) New I,R,SPrijs,NPrijs,Munt,OKorting,IsHandel,BrutoPr Set OKorting=SKorting,R=$$KLANTPR^KPRIJS(KLNr,PRNr),NPrijs=$P(R,D),Munt=$P(R,D,2) Set Munt=$P(^KKL(^KK1(KLNr),0),D,11),IsHandel=$P(^(1),D,25),BrutoPr=$P(^(2),D,5) If IsHandel,BrutoPr Quit OKorting Set R=$$PROD^KPRIJS(PRNr,SKorting,0,Munt,"","","S"),SPrijs=$P(R,D) For I=1:1:100000 Quit:+NPrijs=+SPrijs Do .If NPrijs