MRPTORD ; Transfertorders [ 03/10/2003 5:14 PM ] Quit ; BLD(CRef,KLNr) New R,SubMag,PRNr,Aantal,LevWk,Count Set KLNr=$G(KLNr,$$GETALG^DEFAULTS("MRP","KLNR")),SubMag="" For Set SubMag=$O(@CRef@(SubMag)) Quit:SubMag="" Do .Kill PRNr .Set Count=0,PRNr="",@CRef@(SubMag)=SubMag .For Set PRNr=$O(@CRef@(SubMag,PRNr)) Quit:PRNr="" Do ..Set Aantal=@CRef@(SubMag,PRNr),LevWk=$$LEVWK^PRODUKT4(PRNr,KLNr,1) ..Set Count=Count+1,PRNr(Count)=PRNr_D_Aantal_";*"_D_LevWk ; * na het aantal geeft aan dat het aantal zo moet geacepteerd worden .Set PRNr=SubMag .Do:$O(PRNr("")) BLDORD($NA(@CRef@(SubMag)),KLNr,.PRNr) Do MARKSTAT(CRef) Quit ; BLDORD(CRef,KLNr,PRNr) New OrdRef,Locals Set OrdRef=DT_" TRANSFERTORDER" Set Locals("KLNr")=KLNr,Locals("OrdRef")=OrdRef,Locals("CRef")=CRef Merge Locals("PRNr")=PRNr Do XECUTE^vhPROGRAM("Do BUILDOBJ^FLOWORD(KLNr,,OrdRef,.PRNr,,,""T"",CRef)") Quit ; MARKSTAT(CRef) New R,SubMag,PRNr,FabKey,HFCode,KLNr,ORDNr,OLUNr,OLNr,LEVNr,TOENr,TLNr,TOEQty,ORDQty Set SubMag="" For Set SubMag=$O(@CRef@(SubMag)) Quit:SubMag="" Do .Set PRNr="" .For Set PRNr=$O(@CRef@(SubMag,PRNr)) Quit:PRNr="" Do ..Set R=@CRef@(SubMag,PRNr),ORDNr=$P(R,D,2) ..Quit:'ORDNr ..Set OLUNr=$O(^ORD("IP",PRNr,ORDNr,"")) ..Quit:'OLUNr ..Set OLNr=^ORD("IP",PRNr,ORDNr,OLUNr) ..Set KLNr=$P(^KO1(ORDNr,"F"),D),R=^KOD(KLNr,"F",ORDNr,OLNr),ORDQty=$P(R,D,3) ..Set TOENr=$P(R,D,27),TLNr=$P(R,D,28),TOEQty="" ..If TOENr Set LEVNr=$P(^KTO1(TOENr),D),R=^KTO(LEVNr,TOENr,TLNr),TOEQty=$P(R,D,3) ..Set FabKey="" ..For Set FabKey=$O(@CRef@(SubMag,PRNr,FabKey)) Quit:FabKey="" Do ...Set HFCode="" ...For Set HFCode=$O(@CRef@(SubMag,PRNr,FabKey,HFCode)) Quit:HFCode="" Do ....Set R=$G(^HADPR("F",FabKey,"AR",HFCode)) ....Set:'$P(R,D) $P(R,D)=PRNr ....Set $P(R,D,10,13)=TOENr_D_TOEQty_D_ORDNr_D_ORDQty ....Set ^HADPR("F",FabKey,"AR",HFCode)=R Quit ; HEEFTORD(KLNr,TOrdTyp) New R,HeefTOrd,ORDNr,BONNr Set TOrdTyp=$G(TOrdTyp,"OBF"),(HeefTOrd,ORDNr,BONNr)="" If TOrdTyp["O" For Set ORDNr=$O(^KOD(KLNr,"F",ORDNr)) Quit:ORDNr="" Do Quit:HeefTOrd["O" .Set R=^KOD(KLNr,"F",ORDNr,1) Set:$P(R,D,25)="T" HeefTOrd=HeefTOrd_"O" If TOrdTyp["B" For Set BONNr=$O(^KUL(KLNr,"F",BONNr)) Quit:BONNr="" Do Quit:HeefTOrd["B" .Set R=^KUL(KLNr,"F",BONNr,1) Set:$P(R,D,25)="T" HeefTOrd=HeefTOrd_"B" If TOrdTyp["F",$D(^KUL(KLNr,"T")) Set HeefTOrd=HeefTOrd_"F" Set HeefTOrd=$L(HeefTOrd)_D_HeefTOrd Quit HeefTOrd ; RAADPL(KLNr,TOrdTyp,Menu) New %J,R,X,Count,PRNr,ORDNr,OLNr,OLUNr,BONNr,BLNr,Date,Netto,NetRef Set %J=$$%J^vhRtn1(),TOrdTyp=$G(TOrdTyp,"OBF"),Menu=$G(Menu,"RPLTORD") Kill ^HULP(%J) If TOrdTyp["O" Set ORDNr=0 For Set ORDNr=$O(^KOD(KLNr,"F",ORDNr)) Quit:ORDNr="" Do .Set R=^KOD(KLNr,"F",ORDNr,1) .Quit:$P(R,D,25)'="T" .Set Date=$$INTDATE^vhDTyp($P(R,D,2)) .Set $P(R,D,50)="O",$P(R,D,51)=ORDNr,$P(R,D,54)="H",^HULP(%J,"O",Date,ORDNr,1)=R,OLNr=100 .For Set OLNr=$O(^KOD(KLNr,"F",ORDNr,OLNr)) Quit:'OLNr Do ..Set R=^KOD(KLNr,"F",ORDNr,OLNr),PRNr=$P(R,D,2) ..Quit:'PRNr ..Set OLUNr=$P(R,D,15),$P(R,D,50)="O",$P(R,D,51)=ORDNr,$P(R,D,54)="L" ..Set BONNr=$G(^ORDW("IO",ORDNr,OLUNr)) Set:BONNr $P(R,D,50)="W",$P(R,D,52)=BONNr ..Set ^HULP(%J,"O",Date,ORDNr,OLNr)=R If TOrdTyp["B" Set BONNr=0 For Set BONNr=$O(^KUL(KLNr,"F",BONNr)) Quit:BONNr="" Do .Set R=^KUL(KLNr,"F",BONNr,1) .Quit:$P(R,D,25)'="T" .Set Date=$$INTDATE^vhDTyp($P(R,D,2)) .Set $P(R,D,50)="B",$P(R,D,51)=ORDNr,$P(R,D,52)=BONNr,$P(R,D,54)="H",BLNr=100,ORDNr="" .Set ^HULP(%J,"B",Date,BONNr,1)=R .For Set BLNr=$O(^KUL(KLNr,"F",BONNr,BLNr)) Quit:'BLNr Do ..Set R=^KUL(KLNr,"F",BONNr,BLNr) ..Set:$P(R,D,17)="KF5" ORDNr=$P($P(R,D,5)," - ") ..Set $P(R,D,50)="B",$P(R,D,51)=ORDNr,$P(R,D,52)=BONNr,$P(R,D,54)="L" ..Set ^HULP(%J,"B",Date,BONNr,BLNr)=R If TOrdTyp["F" Set BONNr=0 For Set BONNr=$O(^KUL(KLNr,"T",BONNr)) Quit:BONNr="" Do .Set R=^KUL(KLNr,"T",BONNr,1),Date=-$$INTDATE^vhDTyp($P(R,D,2)) .Set $P(R,D,50)="F",$P(R,D,51)="H",$P(R,D,54)=BONNr .Set ^HULP(%J,"F",Date,-BONNr,1)=R,NetRef=$ZR,BLNr=100,ORDNr="",Netto=0 .For Set BLNr=$O(^KUL(KLNr,"T",BONNr,BLNr)) Quit:'BLNr Do ..Set R=^KUL(KLNr,"T",BONNr,BLNr),Netto=Netto+$P(R,D,9),$P(R,D,50)="F" ..Set X=$P($P(R,D,17),"#"),$P(R,D,51)=$S(X="KF5":"O",X="KF1925":"M",X="KF11":"T",1:"P") ..Set:$P(R,D,17)="KF5" $P(R,D,52)=$P($P(R,D,5)," - ") ..Set $P(R,D,54)=BONNr ..Set ^HULP(%J,"F",Date,-BONNr,BLNr)=R .Set $P(@NetRef,D)=Netto Set Date="",Count=0 For Set Date=$O(^HULP(%J,"O",Date)) Quit:Date="" Do .Set ORDNr="" .For Set ORDNr=$O(^HULP(%J,"O",Date,ORDNr)) Quit:ORDNr="" Do ..Set OLNr="" ..For Set OLNr=$O(^HULP(%J,"O",Date,ORDNr,OLNr)) Quit:OLNr="" Do ...Set R=^HULP(%J,"O",Date,ORDNr,OLNr),Count=Count+1,^HULP(%J,Count)=R Kill ^HULP(%J,"O") Set Date="" For Set Date=$O(^HULP(%J,"B",Date)) Quit:Date="" Do .Set BONNr="" .For Set BONNr=$O(^HULP(%J,"B",Date,BONNr)) Quit:BONNr="" Do ..Set BLNr="" ..For Set BLNr=$O(^HULP(%J,"B",Date,BONNr,BLNr)) Quit:BLNr="" Do ...Set R=^HULP(%J,"B",Date,BONNr,BLNr),Count=Count+1,^HULP(%J,Count)=R Kill ^HULP(%J,"B") Set Date="" For Set Date=$O(^HULP(%J,"F",Date)) Quit:Date="" Do .Set BONNr="" .For Set BONNr=$O(^HULP(%J,"F",Date,BONNr)) Quit:BONNr="" Do ..Set BLNr="" ..For Set BLNr=$O(^HULP(%J,"F",Date,BONNr,BLNr)) Quit:BLNr="" Do ...Set R=^HULP(%J,"F",Date,BONNr,BLNr),Count=Count+1,^HULP(%J,Count)=R Kill ^HULP(%J,"F") Do INIT^vhLIST("MRPTORD","RAADPL",.List),WRITE^vhLIST(.List) For Set Input=$$SCROLL^vhLIST(.List) Do Quit:$L(Input) .If Input="COM" Set Input="" Do CALL^vhMenu(Menu) .If Input="P" Do ..Set PRNr=$P($G(^HULP(%J,List("SELECT"))),D,2) ..Do STORE^vhTERMINA() ..If PRNr Set Input=$$RAADPL^PRODUKT(PRNr,,1) ..Do REFRESH^vhTERMINA() ..Set Input="" .If Input="LN" Do BON^FLOWKLAS($P(^HULP(%J,List("SELECT")),D,54),,"T") Set Input="" Kill ^HULP(%J) Quit ;