Index: MRPRES.mac.rou =================================================================== diff -u -r734 -r762 --- MRPRES.mac.rou (.../MRPRES.mac.rou) (revision 734) +++ MRPRES.mac.rou (.../MRPRES.mac.rou) (revision 762) @@ -1,4 +1,5 @@ #include BL.Derde.KlantSpecifiek + #include BL.Derde.LevSpecifiek MRPRES ;Reservatie van halffabrikaten [ 11/29/2003 8:15 AM ] CLEAN(TOENr) @@ -25,6 +26,7 @@ New HFCode,HFPRNr,DimBrut,HFQty,ARRec,HFRec,HFRecD Quit:$P($G(^HADPR("F",FabKey,"K")),D,3)="A" ; Reeds productie klaar Set (HFCode)="" + For Set HFCode=$O(^HADPR("F",FabKey,"AR",HFCode)) Quit:HFCode="" Do . Set ARRec=^HADPR("F",FabKey,"AR",HFCode) . Quit:$P(ARRec,D,6)'="W"&($P(ARRec,D,6)'="P")&($P(ARRec,D,6)'="F") ; Te kort op werkvloer wordt bepaald door ACTIVERING @@ -34,6 +36,7 @@ . Set HFPRNr=$P(HFRec,D,1) . Quit:('$P(^KPR(HFPRNr,2),D,15))&&($$GETSTOCK^PRODUKT4(HFPRNr,"F",,0,1)<1) ; Werkvloer product zonder voorraad in magazijn . If $L($P($G(^KPR(HFPRNr,15)),D,5)) Do ; Er is een herbestelpunt ingevuld daarom overlaten aan de SCAN^MRPSTOCK + .. Set ScanWeek=$S('ScanWeek:$$EXTDATE^vhDTyp($$CALCDATE^vhDTyp($H,"A",5),"DW"),1:ScanWeek) .. Do SCANONE^MRPSTOCK(CRef,HFPRNr,"R",ScanWeek) . Else Do .. Set DimBrut=$P(HFRecD,D,2) @@ -226,7 +229,7 @@ . Set Qty=$P($G(@CRef@("TO",PRNr)),D) . If Qty Do ; Qty op product nivo gedefinieerd .. Set SubMag=$P(@CRef@("TO",PRNr),D,2) - .. Set:SubMag="" SubMag=$$GetSubMag(PRNr) + .. Set:SubMag="" SubMag=$$GetVerzendCode(PRNr) .. Set:SubMag="" SubMag="~" .. Set:SubMag'="P"&(SubMag'="Z") SubMag=$S(IsWVSt:"W",1:"1") .. Set @CRef@("STO",SubMag,PRNr)=$G(@CRef@("STO",SubMag,PRNr))+Qty @@ -239,18 +242,35 @@ .... Set DimBrut=$P(@CRef@("TO",PRNr,FabKey,HFCode,"D"),D,2) .... Set Qty=$$TELMAGST^MRP(PRNr,Qty,1,DimBrut,DimNet) ... Set SubMag=$P(@CRef@("TO",PRNr,FabKey,HFCode),D,2) - ... Set:SubMag="" SubMag=$$GetSubMag(PRNr) + ... Set:SubMag="" SubMag=$$GetVerzendCode(PRNr,FabKey) + ... ; [FMA] Chris, volgende 2 lijnen gaan ons ambeteren... Idem hierboven. ... Set:SubMag="" SubMag="~" ... Set:SubMag'="P"&(SubMag'="Z") SubMag=$S(IsWVSt:"W",1:"1") ... Set @CRef@("STO",SubMag,PRNr)=$G(@CRef@("STO",SubMag,PRNr))+Qty ... Set @CRef@("STO",SubMag,PRNr,FabKey,HFCode)=Qty Quit -GetSubMag(PRNr) - Set SubMag=$P($G(^KPR(PRNr,15)),D,12) + ; Bepalen van een verzendcode voor een product. De code die teruggegeven wordt moet + ; voorkomen in de tabel van verzendcodes. + ; Momenteel wordt de verzendcode bepaald op basis van de zones die ook voor de voorraadtelling + ; gebruikt worden. Daarnaast zijn er nog een aantal uitzonderingen, o.a. voor Keller en De Decker. +GetVerzendCode(PRNr,FabKey) + Set SubMag=$P($G(^KPR(PRNr,15)),D,12) ; Ophalen van de Halux zone voor het produkt Quit:'$L(SubMag) "" - Set SubMag=$P($G(^RES("PRODUKT","PI","HFWVSUBMAG","D",SubMag)),"`",3) ; Vertaling naar een code voor HALUX TRANSFER verzendwijze - Quit SubMag + Set SubMagCode=$P($G(^RES("PRODUKT","PI","HFWVSUBMAG","D",SubMag)),"`",4) ; Vertaling naar een code voor HALUX TRANSFER verzendwijze + ; Klant-specifieke uitzonderingen + If $G(FabKey) Do + . Set KLNr=$P(^KTO($$$LevHalux,$P(FabKey,";")),"\",x) + . Set TLNr=$G(^TO("IU",$P(FabKey,";"),$P(FabKey,";",2))) + . Set MPRNr=$P(^KTO($$$LevHalux,$P(FabKey,";"),TLNr),"\",2) ; Moederproduct + . Set GenTyp=$$GENTYP^HAD(MPRNr) + . ; Alles voor de Keller-lijn zetten we apart + . If KLNr=$$$KlantKeller&&($P(GenTyp,"\",2)="PR+") Do + . . Set SubMagCode = "A" + . ; Stalen ruggen en zijkanten voor De Decker zetten we apart + . If KLNr=$$$KlantDedecker&&($P(GenTyp,"\",2)="PRO")&&(SubMag="SRUG" || SubMag="ZKGVP" || SubMag="ZKKVP") Do + . . Set SubMagCode = "B" + Quit SubMagCode MARK(FabKey,PRNr,QtyToe,AddStat,RemStat) ; Verwijderen en creatie van de status op het eindproduct @@ -288,7 +308,7 @@ . Set HFPRNr=$P(^PRBS("BS",PRNr,HFCode),D,1) . Quit:HFPRNr'?1.7N . Quit:$P(^KPR(HFPRNr,0),D,23)?1(1"HZ",1"HHZ") ; Niet voor halffabrikaten ZONDER stock verwerking, zie tabel PRLINK;LINKTYPE - . Quit:$$CheckLosDedecker(FabKey,PRNr,HFCode) + . Quit:$$CheckLosDedecker(FabKey,PRNr,^PRBS("BS",PRNr,HFCode)) ; losse onderdelen worden door DeDecker als Proforma besteld - PV 04/03/2010 . Do CHKHF(FabKey,PRNr,HFCode,HFPRNr,QtyToe,Opties,.HFStatus,.QtyRes,.QtyEenh,.ToeCache) . If QtyRes