How do I set Defaults at Unfirmed Job creation

Good Afternoon All,

I am trying to replace a spreadsheet based process into Epicor. What I need to accomplish is to assign a Production team to an Unfirmed job when it is created by the MRP process. The default for this will come from a UD field on the Part Table. There are a couple other fields that will be pulled from the Part table , but all i need is a pointer at where to start for the ProdTeamID . I have tried - Data directive- In Transaction on JobHead Table. Cant seem to get the ProdTeamID to change. I can get one of the UD fields to change though .

I cant seem to find a Method that triggers when MRP is run and the job is created. I have inserted Send Email and Show Message on various methods of Job Entry to try to capture when the method is firing. I can not find it…

I found the JobEntry.ChangeJobHeadProdTeamID under Job Entry, how do i call that from a Data Directive ? ( or can I without a Custom Code block…?)

Thanks in advance


I believe that the challenge is that MRP skips some of the BPM logic in order to run faster. Some of the “normal” triggers are never run.
What you MIGHT have to do is create a FUNCTION that spins through all your unfirm jobs AFTER MRP runs, and fixes them.

Hi Mr Shoemaker,

I was suspecting that… I was looking in the In transaction Data Directive for an Invoke BO Object. When I looked in the Standard Directive, I did find the JobEntry.ChangeJobHeadProdTeamID method. I created MyJobEntry dataset and filled it with TTJobHead and did an AutoBind and changed the ProdTeamId to what I needed it to be.

Not sure if this is the most elegant way to do it. Seems like a sledge hammer to kill a fly approach, But then again, still learning this “stuff”

My brain says Update JobHead set ProdTeamId to MyProdTeamId where JobNum = MyJobNum…But… Not accepted way. I understand that.

wow 21 views already…

Instead of looking to assign a team, what about using the planner on the partplant table or th planner on the Product Group table?

If you have assigned it a planner, you then can take the next step to assign it a team when you firm it?

This approach requires no BPM.

Hi Mr Larson,

That is our process right now. Production team is the Planner ( couple of different individuals are assigned as Planners )
We do not firm 100 percent of our jobs. Service Kits are Kanbaned from the shipping Dept, Misc kits Kanbaned as needed by Production Leads. The restructuring is, we are trying to put Production in Production Hands and Planners in the Planners Hands. Right now the Planner for product A is planned by me ( forcast, Min Max evaluated, Jobs firmed up, Sub components scheduled, etc) and executed on the production floor by the Mfg Leads. Currently they are listed as the Planner.
Product B is planned by a Buyer ( buyer buys part to be painted and sets up Sub Contract job to get painted out of house) and No production team needed.

Just trying to automate the process of assigning the Production Team.



For what its worth to anybody following this. I was able to achieve this by

  1. Set up production Teams in Epicor.
  2. Setting up UD fields on Part Table. EngAuditNeeded_c, PurchAuditNeeded_c and DefProdTeam_c
    3 ) Set up UD fields on Job Head EngAuditNeeded_c, PurchAuditNeeded_c
  3. In Transaction Data Directive on JobHead, Set condition If JobHead.JobFirm of the updated row = false
  4. Set the ttJobHead.EngAuditNeeded_c of the updated row to ( expression (bool)(from row in Db.Part where row.Company == callContextClient.CurrentCompany
    && row.PartNum == ttJobHeadRow.PartNum
    select row.EngJobAudit_c).FirstOrDefault()
  5. Same concept for other 2 fields.

I kept trying to use the Added Row and could never get it to trigger. Guessing that Epicor saves it first, then makes some changes… Not sure… Have nor tested on multiple items getting regenned. Was just regenning 1 part for this testing.