Index: PVExcel.mac.rou =================================================================== diff -u -r57529 -r70681 --- PVExcel.mac.rou (.../PVExcel.mac.rou) (revision 57529) +++ PVExcel.mac.rou (.../PVExcel.mac.rou) (revision 70681) @@ -284,6 +284,62 @@ } Quit Resultaat + ; =ceRoutine("$$ChangeOneBS^PVExcel";mm&"\"&xx&"\"&yy) +ChangeOneBS(Ref) + ; Ref = MPRNr_"\"_VanPRNr_"\"_NaarPRNr + Set D="\",Q="K",U=";" + S QU="JB",QU(1)=17,QU(2)="Johan Baetsl�" + + s DT=$$EXTDATE^vhLib.DataTypes($H,"DKP") + Set MPRNr=$$GetPRNr($P(Ref,"\",1)) + Quit:MPRNr="" "#no moeder prod" + Set VanPRNr=$$GetPRNr($P(Ref,"\",2)) + Quit:VanPRNr="" "#no VAN prod" + Set NaarPRNr=$$GetPRNr($P(Ref,"\",3)) + Quit:NaarPRNr="" "#no NAAR prod" + ;w MPRNr," ",VanPRNr," ",NaarPRNr + Quit $$ReplaceBouwsteen(MPRNr,VanPRNr,NaarPRNr) + + ; =ceRoutine("$$ChangeAllBS^PVExcel";xx&"\"&yy) +ChangeAllBS(Ref) + ; Ref = VanPRNr_"\"_NaarPRNr + Set D="\",Q="K",U=";" + S QU="JB",QU(1)=17,QU(2)="Johan Baetsl�" + s DT=$$EXTDATE^vhLib.DataTypes($H,"DKP") + + Set VanPRNr=$$GetPRNr($P(Ref,"\",1)) + Quit:VanPRNr="" "#no VAN prod" + Set NaarPRNr=$$GetPRNr($P(Ref,"\",2)) + Quit:NaarPRNr="" "#no NAAR prod" + Quit $$ReplaceAlleBouwstenen(VanPRNr,NaarPRNr) + +ReplaceAlleBouwstenen(VanPRNr,NaarPRNr) + New MPRNr,BSKey,PRCode,PRList + Set MPRNr="" + For Set MPRNr=$O(^PRBS("IP",VanPRNr,MPRNr)) Quit:MPRNr="" Do + . Set PRCode=$$ReplaceBouwsteen(MPRNr,VanPRNr,NaarPRNr) + . Set:PRCode'="" PRList=$G(PRList)_";"_PRCode + Quit $E($G(PRList),2,200) + +ReplaceBouwsteen(MPRNr,VanPRNr,NaarPRNr) + New NoMod,BSCode,BSRec,%J + ;w !,MPRNr + Lock +^PRBS("BS",MPRNr):0 + Else Quit MPRNr ; niet gewijzigd + Set %J=$$%J^vhRtn1() + Do FETCH^PRBS(MPRNr) + Set BSCode="" + For Set BSCode=$O(^PRBS("IP",VanPRNr,MPRNr,BSCode)) Quit:BSCode="" Do + . If $D(^HULP(%J,"C",BSCode)) Do + . . Set BSRec=^HULP(%J,"C",BSCode) + . . Set $P(BSRec,D,1)=NaarPRNr ; wijzigen product + . . Set ^HULP(%J,"C",BSCode)=BSRec + Do SAVE^PRBS(MPRNr) + Lock -^PRBS("BS",MPRNr):0 + Quit "" + + + ; Ref = PRNr_"\"_FieldKey_"\"_NewValue_"\"_DataType ;'=ceRoutine("$$PRSet^PVExcel";A2&"\013\"&B2) PRSet(Ref)