ORDBIMP ;Klant Order Bestelimpuls controle [ 11/07/2001 3:24 PM ] Do INIT^vhTERMINA Write @F11,@F1,@FS132 Write @FMTI,"Order Bestelimpuls controle - "_QN,@FMTi Set %J=$$%J^vhRtn1() Kill ^HULP(%J) Set BegDat=$$EXTDATE^vhDTyp($$CALCDATE^vhDTyp($H,"M",-13),"DM4")_" " ; Doorlopen orders Set KLNr=0 For Set KLNr=$O(^KOD(KLNr)) Quit:KLNr="" Do .Set ORDNr=0 .For Set ORDNr=$O(^KOD(KLNr,"F",ORDNr)) Quit:ORDNr="" Do ..Quit:$P(^KOD(KLNr,"F",ORDNr,1),D,25)'="C" ; Geen contract ..Set OLNr=99 ..For Set OLNr=$O(^KOD(KLNr,"F",ORDNr,OLNr)) Quit:OLNr="" Do ...Set ORDRec=^KOD(KLNr,"F",ORDNr,OLNr) ...Set PRNr=$P(ORDRec,D,2) ...Quit:'PRNr ...Set Qty=$P(ORDRec,D,3) ...Set TQty=0 Set:$P(ORDRec,D,3) TQty=$P(ORDRec,D,3) ...Set Rec=$G(^HULP(%J,KLNr_" "_PRNr)) ...If '$L(Rec) Set Rec=$$FETCHPR(KLNr,PRNr) ; Ophalen produktinformatie ...Set $P(Rec,D,1)=$P(Rec,D,1)+Qty ...Set:$P(ORDRec,D,27) $P(Rec,D,2)=$P(Rec,D,2)+Qty ...Set $P(Rec,D,3)=$P(Rec,D,3)_$S($L($P(Rec,D,2)):";",1:"")_ORDNr ...Set ^HULP(%J,KLNr_" "_PRNr)=Rec ...Set ^HULP(%J,KLNr_" ")="" ; Doorlopen bestelimpuls Set (PRNr,KLNr)=0 For Set KLNr=$O(^KPBI("D",KLNr)) Quit:KLNr="" Do .For Set PRNr=$O(^KPBI("D",KLNr,PRNr)) Quit:PRNr="" Do ..Set Rec=$G(^HULP(%J,KLNr_" "_PRNr)) ..If '$L(Rec) Set Rec=$$FETCHPR(KLNr,PRNr) ; Ophalen produktinformatie ..Set $P(Rec,D,4)=$P(^KPBI("D",KLNr,PRNr),D) ..Set ^HULP(%J,KLNr_" "_PRNr)=Rec ..Set ^HULP(%J,KLNr_" ")="" D INIT^PROC("ORDBIMP") D RL^PROC1 D WL^PROC Set Input="" For Do Quit:Input="-"!(Input=".") .Do SL^PROC .Set Input=R .If R="PRINT" Do PRINT Write @FS80 Quit PRINT Do STORE^vhTERMINA() Set FP=2101 Write @F,@F1 Do PRINT^OUTPUT(.ORDBIMP,"TP") Do REFRESH^vhTERMINA() Quit FETCHPR(KLNr,PRNr) New FysSt,Key,LevTrm,Start,Sum,Divide,Cnt,Gem,CalcBI,Dat,Rec,Qty Set FysSt=$$GETSTOCK^PRODUKT4(PRNr,"F") Set Key=$O(^KPR(PRNr,"J")) Set:$E(Key)="J" LevTrm=$P(^KPR(PRNr,Key),D,7) Set Start=0 Set Sum=0,Divide=0,Cnt=0 Set:$L($O(^KSTKL(KLNr,PRNr,BegDat),-1))>1!$D(^KSTKL(KLNr,PRNr,BegDat)) Start=1 For I=1:1:13 Do .Set Dat=$$EXTDATE^vhDTyp($$CALCDATE^vhDTyp($H,"M",I-13),"DM4")_" " .If 'Start,'$D(^KSTKL(KLNr,PRNr,Dat)) Quit .Set Start=1 .Set Qty=$P($G(^KSTKL(KLNr,PRNr,Dat)),D) .Set Sum=Sum+(Qty) .Set Divide=Divide+1 .Set Cnt=Cnt+1 Set Gem="" Set:Divide Gem=$J(Sum/Divide*12/48,0,0) Set CalcBI=Gem*(LevTrm+2) Set Rec=D_D_D_D_FysSt_D_LevTrm_D_Gem_D_CalcBI_D_KLNr_D_PRNr Quit Rec Quit