Alternative Material - 9.05.702A

I use a similar routine to color code the buyers workbench for priority. I did some quick copy paste and tossed in the PartSubs loop and the routine below will get on hand, on order and demand for the suggested part and up to three sub parts. You will have to do the math you need from there and then put the buyers message in Character03. I use the Number01 with a row rule to color the part number for them.

 

HTH

 

Greg

 

 

 

/* Review codes and Colors for Buyers */

 

 

 

 

 

                DISABLE TRIGGERS FOR LOAD OF SUGPODTL.

                /* define buffer SugPODtl  for SugPODtl. */

 

                               

                define variable  sEnd_Date as date no-undo.

               

  define variable  PartPlant_PrimWhse  as character no-undo.

  define variable  PartSubs_A  as character no-undo init ''.

  define variable  PartSubs_B  as character no-undo init ''.

  define variable  PartSubs_C  as character no-undo init ''.

 

  

 

  define variable  Part_MinOrderQty as decimal no-undo initial 0.

 

  define variable  OO as decimal no-undo initial 0.

  define variable  DQ as decimal no-undo initial 0.

  define variable  OHQ as decimal no-undo initial 0.

 

  define variable  OO_A as decimal no-undo initial 0.

  define variable  DQ_A as decimal no-undo initial 0.

  define variable  OHQ_A as decimal no-undo initial 0.

 

  define variable  OO_B as decimal no-undo initial 0.

  define variable  DQ_B as decimal no-undo initial 0.

  define variable  OHQ_B as decimal no-undo initial 0.

 

  define variable  OO_C as decimal no-undo initial 0.

  define variable  DQ_C as decimal no-undo initial 0.

  define variable  OHQ_C as decimal no-undo initial 0.

 

  

 

 

                                For Each ttSugPODtl EXCLUSIVE-LOCK where cur-comp = ttSugPODtl.Company and

                                                cur-plant = ttSugPODtl.Plant and ttSugPODtl.Sugtype = 'M'  by ttSugPODtl.PartNum by ttSugPODtl.DueDate.

                                               

               

                                                 

                                                 if ttSugPODtl.Date01 = ?  or Index(whereClauseSugPODtl,ttSugPODtl.BuyerID) = 0 then next.

                                                 

                                                  

                                                  

               

                                               

                                                Message " DEBUG In GetrowsPlant " + string(ttSugPODtl.sugnum) + " pn " + ttSugPODtl.partnum.

                                               

                               

                                               

                                                For First Part fields (ShortChar01) where Part.Company = ttSugPODtl.Company and Part.partNum = ttSugPODtl.PartNum.

                                               

                                                                                /* MESSAGE " iN FIRST PART ". */

                                                                               

                                                                                For First PartPlant fields (MinOrderQty PrimWhse) where PartPlant.Company =  ttSugPODtl.Company and PartPlant.partNum = ttSugPODtl.PartNum and PartPlant.Plant = ttSugPODtl.Plant.

                                                                               

                                                                                                                Part_MinOrderQty = PartPlant.MinOrderQty.

                                                                                                                PartPlant_PrimWhse = PartPlant.PrimWhse.

                                                                                                                                                                                                                               

                                                                                End.                      

                                                                               

                                                                                For Each PartSubs fields (PartNum SubPart) where PartSubs.Company =  ttSugPODtl.Company and PartSubs.partNum = ttSugPODtl.PartNum.

                                                                               

                                                                                                                If PartSubs_A = '' then PartSubs_A = PartSubs.SubPart.

                                                                                                                Else

                                                                                                                If PartSubs_B = '' then PartSubs_B = PartSubs.SubPart.

                                                                                                                Else

                                                                                                                If PartSubs_C = '' then PartSubs_C = PartSubs.SubPart.

                                                                                                                                                                                                                               

                                                                                End.      

                                                                               

                                                                               

                                                                               

                                                                                OO = 0.

                                                                                DQ = 0.

                                                                                OHQ = 0.

                                                                                OO_A = 0.

                                                                                DQ_A = 0.

                                                                                OHQ_A = 0.

                                                                                OO_B = 0.

                                                                                DQ_B = 0.

                                                                                OHQ_B = 0.

                                                                                OO_C = 0.

                                                                                DQ_C = 0.

                                                                                OHQ_C = 0.

                                                                                ttSugPODtl.Character03 = "".

                                                                               

                                                                                /* BEGIN SUGGESTION PART */

                                                                                For Each PartWhse where PartWhse.Company =  ttSugPODtl.Company and

                                                                                                                                                                PartWhse.partNum = ttSugPODtl.PartNum.

                                                                               

                                                                                                                                  For Each PartDtl where PartWhse.Company =  ttSugPODtl.Company and PartDtl.partNum = ttSugPODtl.PartNum.

                                                                                                                                                               

                                                                                                                                                                If PartDtl.Sourcefile <> 'PO' then next.

                                                                                                                                                               

                                                                                                                                                                OO = OO + PartDtl.quantity.

                                                                                                                                               

                                                                                                                                                End.      

                                                                                               

                                                                                                               

                                                                                                                DQ = DQ + PartWhse.DemandQty.                          

                                                                                                               

                                                                                                                OHQ = OHQ + PartWhse.OnHandQty.

                                                                               

                           &

(Message over 64 KB, truncated)



Helllo,


We
have a manufacturing part that three different raw
materials can be utilized.  Part A is the original raw
material built in the method but if there is no stock for
that material, part B or C can be used. Our purchasing department asking if
there is a way for the system to provide suggestion that Part B or C can be
used  after looking at the on-hand quantity and demand for Part B and C.


Any
suggestions are greatly appreciated.




Thanks,


Deirdre



#ygrps-yiv-1153031429 P.ygrps-yiv-1153031429b1e7fd89-0279-4ffe-a16a-1f1bcba0d537 { MARGIN:0cm 0cm 0pt;} #ygrps-yiv-1153031429 LI.ygrps-yiv-1153031429b1e7fd89-0279-4ffe-a16a-1f1bcba0d537 { MARGIN:0cm 0cm 0pt;} #ygrps-yiv-1153031429 DIV.ygrps-yiv-1153031429b1e7fd89-0279-4ffe-a16a-1f1bcba0d537 { MARGIN:0cm 0cm 0pt;} #ygrps-yiv-1153031429 TABLE.ygrps-yiv-1153031429b1e7fd89-0279-4ffe-a16a-1f1bcba0d537Table { MARGIN:0cm 0cm 0pt;} #ygrps-yiv-1153031429 DIV.ygrps-yiv-1153031429Section1 { }

There are many ways to handle this, just some suggestions.

 

You can use the configurator to do this, where you would check the stock and change the part number with a set field rule based on that.

You would probably need to run MRP nightly and firm up the jobs as needed, you would also need to consider other demands when calculating on hand inventory.

 

Other methods include a BPM after the suggestion process, or customisation in suggestion processing, where it knows parts can be interchanged.

 

Regards,

 

From: vantage@yahoogroups.com [mailto:vantage@yahoogroups.com]
Sent: 11 May 2016 20:18
To: vantage@yahoogroups.com
Subject: [Vantage] Alternative Material - 9.05.702A

 

 

 

 

Helllo,

 

We have a manufacturing part that three different raw materials can be utilized.  Part A is the original raw material built in the method but if there is no stock for that material, part B or C can be used. Our purchasing department asking if there is a way for the system to provide suggestion that Part B or C can be used  after looking at the on-hand quantity and demand for Part B and C.

 

Any suggestions are greatly appreciated.

 


Thanks,

 

Deirdre

 

 



Stephen Edginton (Beng) | Solutions & Technical Director

Mobile:  +44 7734 858415
DDI:  +44 121 314 1179
Main:  +44 (0) 121 314 1170
Web:  www.dotnetit.co.uk

Dot Net IT Limited, One St Kenelm Court, Steel Park Road, Halesowen, B62 8HD, United Kingdom.

DotNetIT

Epicor Platinum Partner

Epicor Alliance Partner