PRWVKUPD ;Producten Weekverkoop aanpassing bij wegvallen grote klanten [ 02/18/2000 3:16 PM ] Do CHANGE(9662,11708,$H-365,$H) Quit CHANGE(PRNr,KLNr,VanWeek,TotWeek,AddRem,MaandQty) ;AddRem:-1=Remove of +1=bijvoegen ;MaandQty: Indien leeg dan maandqty nemen van ^KSTKL anders voor elke maand gelijke waarden nemen. Set:$G(AddRem)="" AddRem=-1 Set MaandQty=$G(MaandQty) Set:$G(TotWeek)="" TotWeek=$H Set Week=$$CALCDATE^vhDTyp(VanWeek,"W","MD") ; Midden van week Set MemMnd="" For Quit:Week>TotWeek Do .Set Mnd=$$EXTDATE^vhDTyp(Week,"DM4") .Set EndMnd=$$CALCDATE^vhDTyp(Week,"M","LD") .Set MndCnt=EndMnd-Week+6\7 .Set:EndMnd>TotWeek EndMnd=TotWeek .If MaandQty Do ..Set MndQty=MaandQty .Else Do ..Set MndRec=$G(^KSTKL(KLNr,PRNr,Mnd_" ")) ..Set MndQty=$P(MndRec,D,1) .Set WkCnt=0 .Write !,MndCnt," ",Mnd," ",MndQty,! .For Do Set Week=$$CALCDATE^vhDTyp(Week,"W",1,"MD") Quit:Week>EndMnd ..Set Wk=$TR($$EXTDATE^vhDTyp(Week,"DW4"),"/",".") ..Set WkCnt=WkCnt+1 ..Write WkCnt," ",Wk," " ..Quit:'$D(^KSPW(PRNr,Wk_" ")) ..Set WkRec=^KSPW(PRNr,Wk_" ") ..Set WkQty=$P(WkRec,D,1) ..Write WkQty," " ..Set Delta=AddRem*$S(WkCnt=MndCnt:MndQty-(MndQty\MndCnt*(MndCnt-1)),1:MndQty\MndCnt) ..Set WkQty=WkQty+Delta ..Set $P(WkRec,D,1)=WkQty ..Write Delta," ",WkQty,! ..;Set ^KPSW(PRNr,Wk)=WkRec Do PUT^LOG("PRWVKUPD",PRNr,"W",KLNr_";"_VanWeek_";"_TotWeek) Quit