Data directive causes MRP job with no part

I have an In-Transaction data directive on the JobHead table stopping MRP from creating complete jobs. The MRP log looks like it starts to create the job but the job has no part nor any other data when MRP is done.

MRP log:
14:37:05 Processing Part:F2312A315. V600
14:37:05 Processing Part:F2312A315
14:37:05 Parameters: Receive Time → 1; Planning Fence → 0; Delta In → 0; Delta Out → 7; Lead Time CutOff → , Use Dynamic DOS → False, Allow Consume Min → False
14:37:05 Deleting suggestions
14:37:05 Deleting unfirm jobs for part F2312A315
14:37:05 Processing non-stock transactions for Part:F2312A315.
14:37:05 Processing order requirement, Order:306006 Line:1 Rel:1.
14:37:06 Get Destination
14:37:06 Create Intersite Supply
14:37:06 Created new unfirm job:306006-1-1 Quantity:F2312A315.
14:37:06 New First Article Inspection Required <=== from Data Directive
14:37:06 Processing order requirement, Order:306006 Line:2 Rel:1.
14:37:06 Get Destination
14:37:06 Create Intersite Supply
14:37:06 Created new unfirm job:306006-2-1 Quantity:F2312A315.
14:37:06 New First Article Inspection Required
14:37:06 Processing order requirement, Order:306006 Line:3 Rel:1.
14:37:06 Get Destination
14:37:06 Create Intersite Supply
14:37:06 Created new unfirm job:306006-3-1 Quantity:F2312A315.
14:37:06 New First Article Inspection Required
14:37:06 Processing stock transactions for Part:F2312A315.
14:37:06 Beginning Balance 0
14:37:06 Done with Part F2312A315

Job looks like:

The DD logic:

  1. Conditions to check
    a. At least one added row in ttJobHead table
    b. Query >= 1 for Boolean UD field = true in Part table (join ttJobHead to Part)
    c. Query >= 1 for Boolean UD field = false in ttJobHead table
  2. Raise exception, severity Information, with static text

Any suggestions as to where it is going wrong?

Just a thought, I don’t know for sure, but have you tried the same logic in a Method directive instead? If you use a Preprocessing directive to check stuff, then you can throw your error there instead of every time that table is touched. I tend to avoid putting too much into data directives if they look at other tables, unless I have no other way to accomplish it.

You might need to run a trace to find out the best method to attach that directive to.

1 Like

Great suggestion, and what I ended up doing. This is a replacement for part of a customization that is not working, and I was trying to stay consistent with their approach (using DD). Since it was causing issues, I used a pre and post method directive on JobEntry.Update and so far in testing seems to be working.