BLSTAF ;Blum berekenen van de staffeling voor RUG-Wanden [ 01/09/2003 8:20 AM ] If PRNr?4.7N,$D(^KPR(PRNr)) Do VHPROD If $D(^BLProd("D",PRNr)) Do BLPROD Do CALC Do SHOW Quit VHPROD Do FETCHPR^UTILI(PRNr) Set KortT=$P(B(1),D) Set Key=$O(B("I")) Quit:Key="" Set AQty=$P(B(Key),D,6) Set PPL=$P(B(Key),D,19) Set IsBPrijs=$P(B(Key),D,18) Quit BLPROD Kill List Set Rec=^BLProd("D",PRNr) Set KortT=$P(Rec,D) Set GO=$P(Rec,D,12) Set PrijsA=$P(Rec,D,10) Set PrijsB=$P(Rec,D,11) Set QtyA=$P(Rec,D,14) Set QtyB=$P(Rec,D,15) Quit CALC Set Key=$E(KortT,1,4),StafNr="" For Set StafNr=$O(^BLSTAF(StafNr)) Quit:StafNr="" Quit:^BLSTAF(StafNr)[Key Quit:'StafNr Set ListNr=1 Set List(ListNr)=D_QtyA_D_PrijsA_D_GO_D_D_"A-Prijs" Set ListNr=2 Set List(ListNr)=QtyA-1_D_QtyB_D_PrijsB_D_GO_D_D_"B-Prijs" Set Key=$E(KortT,5,7) Set Key=$O(^BLSTAF(StafNr,Key)) Quit:Key="" Set Len="",PrevQty=QtyB-1,Error=0 For Set Len=$O(^BLSTAF(StafNr,Key,Len),-1) Quit:Len="" Do .Set Rec=^(Len) .Set ListNr=ListNr+1 .Set Prijs=PrijsB+$P(Rec,D,2) .Set List(ListNr)=$P(Rec,D,4)_D_$P(Rec,D,3)_D_Prijs_D_GO_D_D_"Staf x"_$P(Rec,D,1) .Set:PrevQty'=$P(Rec,D,4) Error=1 .Set PrevQty=$P(Rec,D,3)-1 Quit SHOW Set FP=1701 Write @F,@F1 Do INIT^PROC("BLSTAF") Do WL^PROC If $G(Error) Set FP=2301 Write @F,@FMTK," Opeenvolging van min. bestelhoeveelheid klopt niet ",@FMTk Quit