#Include %Prod.Product KPSB2 ;STOCKBEHEER (STOCKSCAN);KPSB1; Quit naar KPSB1 [ 07/03/2003 2:11 PM ] G 1 ; S1 I I=1 S PTS=PTS-$P(B(4),D,I) S1A E S PTS=PTS+$P(B(3),D,I)-$S(WVKT>$P(B(4),D,I):WVKT,1:$P(B(4),D,I)) S1B S PPS=PTS-$P(B(3),D,I) S1C S HBP=(PTS<(WVKS*PBW)) D @("S"_(2+HBP)) S1D I 'PSN S:$E(TEST,1)="T" TEST="" S:$L(TEST) TEST="K" S BSU="" S1Z Q ; S2 G S2Z:'$P(B(3),D,I) S HBP=(PPS<(WVKS*PBW)) I 'HBP S TEST="TU" G S2Z S2A D S4 S2B I BSU<$P(B(3),D,I) S TEST="TL" G S2Z S2C S BSU="" S2Z Q ; S3 S TEST="H" S:PTSPalQty Set BSU=BSU/PalQty+.9999\1*PalQty ; Afronden op palletqty indien voldoende weekverkoop ;S BSU=(WVKS*PBW)-PPS S:BSU<(WVKS*PBW) BSU=WVKS*PBW S BSU=BSU/PGV+.9999\1*PGV D S5 S4Z Q ; S5 I PBH>BSU S BSU=PBH/PGV+.9999\1*PGV ; Min. bestelhoeveelheid respecteren en afronden op de verpakking S5Z Q ; S6 S PTS=PTS+$P(B(3),D,I)-$P(B(4),D,I) I PTS$$INTDATE^vhDTyp($E(EWK,1,2)_"/"_$E(EWK,3,4),"DW") I $E(PI2,9)="R" G 2:'$$STOCKUPD(PI2) 23 S LEVW=$E(LEVW,1,2)_$E(LEVW,4,5) I PAR(2)'[LEVW S LEVW=BWK S:$E(PI2,9)="T" B="B" 25 G 27:$E(PI2,9)="R" S $P(B(3),D,$L($P(PAR(2),LEVW,1),D)+1)=$P(B(3),D,$L($P(PAR(2),LEVW,1),D)+1)+AANT 26 I STKO,'$L($P(B(6),D,$L($P(PAR(2),LEVW,1),D)+1)) S $P(B(6),D,$L($P(PAR(2),LEVW,1),D)+1)=1 27 G 2:$E(PI2,9)'="R" S $P(B(4),D,$L($P(PAR(2),LEVW,1),D))=$P(B(4),D,$L($P(PAR(2),LEVW,1),D))+AANT 28 I STKO,'$L($P(B(7),D,$L($P(PAR(2),LEVW,1),D))) S $P(B(7),D,$L($P(PAR(2),LEVW,1),D))=1 29 G 2 ; 2b Set B(8)="" If $$$ProductGet(PR,$$$ScanType)="L" For I=1:1:$L(PAR(2),D) Do . Set RefWeek=$$INTDATE^vhDTyp($P(PAR(2),D,I),"DW") . Set Aantal=$LG(##class(BL.Blum.LogSteuer).%AantallenScan(PR,RefWeek,1,0)) . Set $P(B(8),D,I+1)=Aantal 3 S PSN=$P(A(1),D,20) G 4:$D(WVKS) ; Indien gewogen gemiddelde is ingevuld niet herberekenen S OldsWVK=$P(A(2),D,21),OldsWVK=OldsWVK+$P(OldsWVK,"#",2)\5 S (WVKS,GAWK,WVKK,sWVKS,sWVKK,AWK,Freq,FysSt,JaarVKP)=0,IGWX=$N(@("^"_Q_"SPW(PR,IGW)")),IGWX=IGW 31 S IGWX=$N(^(IGWX)) G 33:IGWX=-1 S K=^(IGWX) S FysSt=FysSt+$P(K,D,4),JaarVKP=JaarVKP+$P(K,D,1) ; Gem. weekverkoop zonder wegingsfaktor S sWVKS=sWVKS+$P(K,D,7),sWVKK=sWVKK+$P(K,D,9),AWK=AWK+1 ; Gewogen weekverkoop met een wegingsfaktor die 1 verhoogt per 5 weken S Fak=AWK-1\5+1,WVKS=WVKS+($P(K,D,7)*Fak),WVKK=WVKK+($P(K,D,9)*Fak) ; De deler wordt verhoogd met de wegingsfaktor behalve voor de kerstperiode en het grootverlof S:"52;53;29;30;31"'[$E(IGWX,6,7) GAWK=GAWK+Fak S:$P(K,D,7)+$P(K,D,9)>OldsWVK Freq=Freq+1 G 31 33 S:'GAWK GAWK=1 S WVKS=$J(WVKS/GAWK,0,0),WVKK=$J(WVKK/GAWK,0,0) ; Gewogen (=recentere weken wegen zwaarder) gemiddelde weekverkoop (stock en kom) S:'AWK AWK=1 S sWVKS=$J(sWVKS/$S(AWK<$P(PAR(1),D,1):AWK,1:$P(PAR(1),D,1)),0,0),sWVKK=$J(sWVKK/$S(AWK<$P(PAR(1),D,1):AWK,1:$P(PAR(1),D,1)),0,0) ; Gemiddelde weekverkoop Set GemFysSt=+$J($S(AWK:FysSt/AWK,1:0),0,0) ; Gemiddelde fysische stock Set Rot=+$J($S(JaarVKP>0&GemFysSt:JaarVKP/GemFysSt,1:999),0,0) ; Stockrotatie Set BestelH=0 ;$S(JaarVKP>0&CifPPL:+$J(JaarVKP*3000*200/(CifPPL*7)**(1/2),0,0),1:"") ; 4 S WVKT=WVKS+WVKK I 'PSN S SWVKS=WVKS,SWVKK=WVKK,(WVKS,WVKK,WVKT)=0 41 S PTS=$P(A(0),D,14),PBH=$P(A("J"),D,6),PGV=$P(A("J"),D,16) S:'PGV PGV=1 S PROB=0 Set PWVS=$P($G(^PRSTOCK("D",PR)),D,5),PWVR=$P($G(^PRSTOCK("D",PR)),D,6) Set:PWVS PWVS=$$CV2MAG^MRP(PR,PWVS) Set:PWVR PWVR=$$CV2MAG^MRP(PR,PWVR) If $P(A(15),D,11)="W" Set PTS=PTS+PWVS-PWVR Else Set PTS=PTS+$S(PWVR