Part Missing from MRP

What would cause a part to not show up on MRP? I have a job with multiple subassemblies - one subassembly has about 6 manufactured parts in it that I wanted separates job created for. All but one shows up on MRP. As far as I can tell, all information is similar across all parts on the job and in their part masters (Type=Manufactured, Process MRP checked, both have active revisions and MOMs). I’m at a loss… Any thoughts?

Can we see time phase for the part that didn’t plan?

1 Like

Interesting… Look like it wants to be purchased if I can read Time Phase correctly? It’s not purchase direct on the job and it’s type is manufactured on part master.

That’s a purchase suggestion. Is the part set to Manufactured on the part master and the part plant record for that site? MRP will use the part plant record – the part master value is just a default.

As far as I can tell


I just remembered that suggestion can also mean it’s a manufacturing suggestion that MRP wasn’t able to create a job for.

Check Planning Workbench (Production Management > Job Management > General Operations) and search for suggestions with New status. This will be parts MRP wasn’t able to create a job for because setup is wrong or there’s no method.

image

2 Likes

It’s there in Planning Workbench under β€œNEW”. Is there a way to find why it winds up there - what about it is set up wrong? There is an approved revision/method.

If you have Suggestion Logging enabled you should see an error for the part that says the Revision doesn’t exist or is not approved.
In this version (10.2.600) you can run MRP against a single part to get a simple easy to read set of Log Files.
That Log file will tell you if it’s being examined by MRP or not.

If not, then you might need to run β€˜MRP Recalc Needed’ Process.
For most of my clients I have that process scheduled before each MRP or PO Process to make sure everything will be reviewed. I’ve had odd issues in the past when the MRPRecalcNeeded value is false on the PartPlant for some reason.

2 Likes

We’ve had parts come up here for a few different reasons, but this is by no means an exhaustive list:

  • Revision is checked out or is not approved
  • Revision Effective Date is after the demand date
  • Revision is for an incorrect Site
  • The Primary Alternate Method value under Part > Sites > Planning was set to an alternate method that was no longer valid in that site
2 Likes

You can check Part Tracker > Revisions.
Sometimes there are other issues with a Method, but those should show up in the MRP Log

1 Like

I ran MRP for this particular part and saved the log, however it’s a bunch of gibberish to me :slight_smile: Anything I should be looking for? Or I can post it?

I’m pretty sure that at the time MRP ran, there was no released revision for the item. There may be NOW, but what you are describing is exactly what we see under that circumstance.

1 Like

Revision is checked in and approved. The effect date is 08/31/2020. We only have one site. The primary alternative method is blank?


I’ve been running MRP multiple times today (even during the middle of this thread) and it’s still not showing up. Did you have to do something after it was released for it to show up on MRP?

No. We have two checks we run here after MRP. The first is planning workbench, anything there listed as β€œNew” is a manufactured item that did not have an unfirm job created.

The second check we run is to look at all unfirm jobs and make sure they are scheduled. There are the occasional resource specification typo that prevents a job from scheduling.

If those two conditions are met, we accept the plans. (There are a few other things we do as well, but those are the big items).

I’d run through the list that Tyler posted earlier, it’s a really good checklist, and we haven’t encountered those situations here. But I can imagine any of them would prevent unfirm jobs from being created.

1 Like

Yes, you can post the log, if there isn’t any company sensitive data.
There should be a few logs. There is a general process log which just shows the running parameters and the steps… like β€œBuilding Parts List 1, Building Parts List 2, etc”
That one isn’t helpful. You should see a series of logs with …001 …002 depending on the number of processes you are using.
You may also get a Scheduling Log, that’s probably not needed.

Does the method include any subassemblies, and are all the subassembly revisions approved and date effective?

3 Likes

First part of the log looks like the options selected… last part of the log is β€œBuilding PartList…” and β€œProcessing Orphan…” stuff…

14:59:44 Rough Cut Schedule When Getting Details β†’ True
14:59:44 Site List β†’ MfgSys
14:59:44 Part List β†’ 77800D
14:59:44 Part Class List β†’
14:59:44 Product Group List β†’
14:59:44 ------------------------------------------------------------
14:59:44 MRPRowCount (rows) β†’ 2000
14:59:44 MRPCommandTimeout (seconds) β†’ 3600
14:59:44 ------------------------------------------------------------
14:59:44 Process Control
14:59:44 Name β†’ ProcessorMain; Code β†’ Erp.Internal.MR.MrpExp.dll
14:59:44 Process Stop Queues β†’ Part~Delete~LotJobSplit~SchedJob~FirmJob~SaveLoad~QuotePart
14:59:44 Controller β†’ True; Range Start β†’ 0; Range End β†’ 0
14:59:44 Version 1.00.01
14:59:44 Name β†’ ProcessorMRP; Code β†’ Erp.Internal.MR.MrpExpCD.dll
14:59:44 Process Stop Queues β†’
14:59:44 Controller β†’ False; Range Start β†’ 1; Range End β†’ 100
14:59:44 Version 1.00.01
14:59:44 Name β†’ ProcessorSched; Code β†’ Erp.Internal.MR.MrpExpSched.dll
14:59:44 Process Stop Queues β†’
14:59:44 Controller β†’ False; Range Start β†’ 101; Range End β†’ 200
14:59:44 Version 1.00.01
14:59:44 ------------------------------------------------------------
14:59:44 Process Queue
14:59:44 Name β†’ BuildDelPOQueue; Queue In β†’ ; Queue Out β†’ DeleteAllPO; Controller β†’ True
14:59:44 Alt Queue Out 1 β†’ ; Alt Queue Out 2 β†’ ; Alt Queue Out 3 β†’
14:59:44 Group β†’ Delete; Check Group β†’ ; Repeat β†’ False; Regen Only β†’ True; Finite β†’ False
14:59:44 Name β†’ BuildDelJob; Queue In β†’ ; Queue Out β†’ DeleteJob; Controller β†’ True
14:59:44 Alt Queue Out 1 β†’ ; Alt Queue Out 2 β†’ ; Alt Queue Out 3 β†’
14:59:44 Group β†’ Delete; Check Group β†’ ; Repeat β†’ False; Regen Only β†’ True; Finite β†’ False
14:59:44 Name β†’ BuildDelTO; Queue In β†’ ; Queue Out β†’ DeleteTO; Controller β†’ True
14:59:44 Alt Queue Out 1 β†’ ; Alt Queue Out 2 β†’ ; Alt Queue Out 3 β†’
14:59:44 Group β†’ Delete; Check Group β†’ Delete; Repeat β†’ False; Regen Only β†’ True; Finite β†’ False
14:59:44 Name β†’ ProcessDelPO; Queue In β†’ DeleteAllPO; Queue Out β†’ ; Controller β†’ False
14:59:44 Alt Queue Out 1 β†’ ; Alt Queue Out 2 β†’ ; Alt Queue Out 3 β†’
14:59:44 Group β†’ Delete; Check Group β†’ ; Repeat β†’ False; Regen Only β†’ True; Finite β†’ False
14:59:44 Name β†’ ProcessDelJob; Queue In β†’ DeleteJob; Queue Out β†’ ; Controller β†’ False
14:59:44 Alt Queue Out 1 β†’ ; Alt Queue Out 2 β†’ ; Alt Queue Out 3 β†’
14:59:44 Group β†’ Delete; Check Group β†’ ; Repeat β†’ False; Regen Only β†’ True; Finite β†’ False
14:59:44 Name β†’ ProcessDelTO; Queue In β†’ DeleteTO; Queue Out β†’ ; Controller β†’ False
14:59:44 Alt Queue Out 1 β†’ ; Alt Queue Out 2 β†’ ; Alt Queue Out 3 β†’
14:59:44 Group β†’ Delete; Check Group β†’ ; Repeat β†’ False; Regen Only β†’ True; Finite β†’ False
14:59:44 Name β†’ BuildSched; Queue In β†’ ; Queue Out β†’ PreJobF; Controller β†’ True
14:59:44 Alt Queue Out 1 β†’ PreJobI; Alt Queue Out 2 β†’ ; Alt Queue Out 3 β†’
14:59:44 Group β†’ Sched; Check Group β†’ Sched; Repeat β†’ False; Regen Only β†’ False; Finite β†’ False
14:59:44 Name β†’ SchedJobF; Queue In β†’ PreJobF; Queue Out β†’ SaveLoad; Controller β†’ False
14:59:44 Alt Queue Out 1 β†’ ; Alt Queue Out 2 β†’ ; Alt Queue Out 3 β†’
14:59:44 Group β†’ Sched; Check Group β†’ ; Repeat β†’ False; Regen Only β†’ False; Finite β†’ True
14:59:44 Name β†’ SchedJobI; Queue In β†’ PreJobI; Queue Out β†’ SaveLoad; Controller β†’ False
14:59:44 Alt Queue Out 1 β†’ ; Alt Queue Out 2 β†’ ; Alt Queue Out 3 β†’
14:59:44 Group β†’ Sched; Check Group β†’ ; Repeat β†’ False; Regen Only β†’ False; Finite β†’ False
14:59:44 Name β†’ BuildQuoteJobQueue; Queue In β†’ ; Queue Out β†’ QuotePart; Controller β†’ True
14:59:44 Alt Queue Out 1 β†’ ; Alt Queue Out 2 β†’ ; Alt Queue Out 3 β†’
14:59:44 Group β†’ Quote; Check Group β†’ Quote; Repeat β†’ False; Regen Only β†’ False; Finite β†’ False
14:59:44 Name β†’ ProcessQuoteJob; Queue In β†’ QuotePart; Queue Out β†’ ; Controller β†’ False
14:59:44 Alt Queue Out 1 β†’ ; Alt Queue Out 2 β†’ ; Alt Queue Out 3 β†’
14:59:44 Group β†’ Quote; Check Group β†’ ; Repeat β†’ False; Regen Only β†’ False; Finite β†’ False
14:59:44 Name β†’ BuildNonPart; Queue In β†’ ; Queue Out β†’ Part; Controller β†’ True
14:59:44 Alt Queue Out 1 β†’ ; Alt Queue Out 2 β†’ ; Alt Queue Out 3 β†’
14:59:44 Group β†’ NonPart; Check Group β†’ NonPart; Repeat β†’ False; Regen Only β†’ False; Finite β†’ False
14:59:44 Name β†’ ProcessNonPart; Queue In β†’ Part; Queue Out β†’ SchedJobF; Controller β†’ False
14:59:44 Alt Queue Out 1 β†’ LotJobSplit; Alt Queue Out 2 β†’ SchedJobI; Alt Queue Out 3 β†’ FirmJob
14:59:44 Group β†’ NonPart; Check Group β†’ ; Repeat β†’ False; Regen Only β†’ False; Finite β†’ False
14:59:44 Name β†’ LotJobSplitNonPart; Queue In β†’ LotJobSplit; Queue Out β†’ SchedJobF; Controller β†’ False
14:59:44 Alt Queue Out 1 β†’ LotJobSplit; Alt Queue Out 2 β†’ SchedJobI; Alt Queue Out 3 β†’ FirmJob
14:59:44 Group β†’ NonPart; Check Group β†’ ; Repeat β†’ False; Regen Only β†’ False; Finite β†’ False
14:59:44 Name β†’ SchedNonPartF; Queue In β†’ SchedJobF; Queue Out β†’ SaveLoad; Controller β†’ False
14:59:44 Alt Queue Out 1 β†’ FirmJob; Alt Queue Out 2 β†’ ; Alt Queue Out 3 β†’
14:59:44 Group β†’ NonPart; Check Group β†’ ; Repeat β†’ False; Regen Only β†’ False; Finite β†’ True
14:59:44 Name β†’ SchedNonPartI; Queue In β†’ SchedJobI; Queue Out β†’ SaveLoad; Controller β†’ False
14:59:44 Alt Queue Out 1 β†’ FirmJob; Alt Queue Out 2 β†’ ; Alt Queue Out 3 β†’
14:59:44 Group β†’ NonPart; Check Group β†’ ; Repeat β†’ False; Regen Only β†’ False; Finite β†’ False
14:59:44 Name β†’ FirmJobNonPart; Queue In β†’ FirmJob; Queue Out β†’ SaveLoad; Controller β†’ False
14:59:44 Alt Queue Out 1 β†’ ; Alt Queue Out 2 β†’ ; Alt Queue Out 3 β†’
14:59:44 Group β†’ NonPart; Check Group β†’ ; Repeat β†’ False; Regen Only β†’ False; Finite β†’ False
14:59:44 Name β†’ BuildPart0; Queue In β†’ ; Queue Out β†’ Part; Controller β†’ True
14:59:44 Alt Queue Out 1 β†’ ; Alt Queue Out 2 β†’ ; Alt Queue Out 3 β†’
14:59:44 Group β†’ Zero; Check Group β†’ Zero; Repeat β†’ False; Regen Only β†’ False; Finite β†’ False
14:59:44 Name β†’ ProcessPart0; Queue In β†’ Part; Queue Out β†’ ZeroJob; Controller β†’ False
14:59:44 Alt Queue Out 1 β†’ LotJobSplit; Alt Queue Out 2 β†’ ; Alt Queue Out 3 β†’
14:59:44 Group β†’ Zero; Check Group β†’ ; Repeat β†’ False; Regen Only β†’ False; Finite β†’ False
14:59:44 Name β†’ LotJobSplitPart0; Queue In β†’ LotJobSplit; Queue Out β†’ ZeroJob; Controller β†’ False
14:59:44 Alt Queue Out 1 β†’ LotJobSplit; Alt Queue Out 2 β†’ ; Alt Queue Out 3 β†’
14:59:44 Group β†’ Zero; Check Group β†’ ; Repeat β†’ False; Regen Only β†’ False; Finite β†’ False
14:59:44 Name β†’ SortPart0; Queue In β†’ ZeroJob; Queue Out β†’ SchedJobF; Controller β†’ True
14:59:44 Alt Queue Out 1 β†’ SchedJobI; Alt Queue Out 2 β†’ FirmJob; Alt Queue Out 3 β†’
14:59:44 Group β†’ ZeroSort; Check Group β†’ ZeroSort; Repeat β†’ False; Regen Only β†’ False; Finite β†’ False
14:59:44 Name β†’ SchedPart0F; Queue In β†’ SchedJobF; Queue Out β†’ SaveLoad; Controller β†’ False
14:59:44 Alt Queue Out 1 β†’ FirmJob; Alt Queue Out 2 β†’ ; Alt Queue Out 3 β†’
14:59:44 Group β†’ ZeroSort; Check Group β†’ ; Repeat β†’ False; Regen Only β†’ False; Finite β†’ True
14:59:44 Name β†’ SchedPart0I; Queue In β†’ SchedJobI; Queue Out β†’ SaveLoad; Controller β†’ False
14:59:44 Alt Queue Out 1 β†’ FirmJob; Alt Queue Out 2 β†’ ; Alt Queue Out 3 β†’
14:59:44 Group β†’ ZeroSort; Check Group β†’ ; Repeat β†’ False; Regen Only β†’ False; Finite β†’ False
14:59:44 Name β†’ FirmJobPart0; Queue In β†’ FirmJob; Queue Out β†’ SaveLoad; Controller β†’ False
14:59:44 Alt Queue Out 1 β†’ ; Alt Queue Out 2 β†’ ; Alt Queue Out 3 β†’
14:59:44 Group β†’ ZeroSort; Check Group β†’ ; Repeat β†’ False; Regen Only β†’ False; Finite β†’ False
14:59:44 Name β†’ BuildPart; Queue In β†’ ; Queue Out β†’ Part; Controller β†’ True
14:59:44 Alt Queue Out 1 β†’ ; Alt Queue Out 2 β†’ ; Alt Queue Out 3 β†’
14:59:44 Group β†’ Part; Check Group β†’ Part; Repeat β†’ True; Regen Only β†’ False; Finite β†’ False
14:59:44 Name β†’ ProcessPartL; Queue In β†’ Part; Queue Out β†’ SchedJobF; Controller β†’ False
14:59:44 Alt Queue Out 1 β†’ LotJobSplit; Alt Queue Out 2 β†’ SchedJobI; Alt Queue Out 3 β†’ FirmJob
14:59:44 Group β†’ Part; Check Group β†’ ; Repeat β†’ True; Regen Only β†’ False; Finite β†’ False
14:59:44 Name β†’ LotJobSplitPartL; Queue In β†’ LotJobSplit; Queue Out β†’ SchedJobF; Controller β†’ False
14:59:44 Alt Queue Out 1 β†’ LotJobSplit; Alt Queue Out 2 β†’ SchedJobI; Alt Queue Out 3 β†’ FirmJob
14:59:44 Group β†’ Part; Check Group β†’ ; Repeat β†’ True; Regen Only β†’ False; Finite β†’ False
14:59:44 Name β†’ SchedPartLF; Queue In β†’ SchedJobF; Queue Out β†’ SaveLoad; Controller β†’ False
14:59:44 Alt Queue Out 1 β†’ FirmJob; Alt Queue Out 2 β†’ ; Alt Queue Out 3 β†’
14:59:44 Group β†’ Part; Check Group β†’ ; Repeat β†’ True; Regen Only β†’ False; Finite β†’ True
14:59:44 Name β†’ SchedPartLI; Queue In β†’ SchedJobI; Queue Out β†’ SaveLoad; Controller β†’ False
14:59:44 Alt Queue Out 1 β†’ FirmJob; Alt Queue Out 2 β†’ ; Alt Queue Out 3 β†’
14:59:44 Group β†’ Part; Check Group β†’ ; Repeat β†’ True; Regen Only β†’ False; Finite β†’ False
14:59:44 Name β†’ FirmJobPartL; Queue In β†’ FirmJob; Queue Out β†’ SaveLoad; Controller β†’ False
14:59:44 Alt Queue Out 1 β†’ ; Alt Queue Out 2 β†’ ; Alt Queue Out 3 β†’
14:59:44 Group β†’ Part; Check Group β†’ ; Repeat β†’ True; Regen Only β†’ False; Finite β†’ False
14:59:44 Name β†’ ProcessLoad; Queue In β†’ ; Queue Out β†’ ; Controller β†’ True
14:59:44 Alt Queue Out 1 β†’ ; Alt Queue Out 2 β†’ ; Alt Queue Out 3 β†’
14:59:44 Group β†’ Load; Check Group β†’ Load; Repeat β†’ False; Regen Only β†’ False; Finite β†’ False
14:59:44 Name β†’ SaveLoad; Queue In β†’ SaveLoad; Queue Out β†’ ; Controller β†’ False
14:59:44 Alt Queue Out 1 β†’ ; Alt Queue Out 2 β†’ ; Alt Queue Out 3 β†’
14:59:44 Group β†’ Load; Check Group β†’ ; Repeat β†’ False; Regen Only β†’ False; Finite β†’ False

This is the wrong Log, there should be another one if your logging level was set to β€˜MRP’
image

1 Like
  1. check that the part in question has a valid approved revision with a BOM & Routing and that the effective date is prior to the demand date
  2. check the BOM and make sure that all sub-assemblies and phantoms have rule number 1 above applied as well.

Example, if the phantom of a lower level assembly is not approved it cant create the job
If the lower level sub-assembly or phantom was designed for a different SITE (ie… the resources are wrong for the current site) then it cannot create the job.

2 Likes