BPM to set Inspection requirement

Hi Folks,
I am sure that this must have been asked or done a million times before but here we go again…

We have a couple of UD Fields on the “Part” table where we check if the part is “Critical” or “Safety Critical”. In either case, we need to have the items inspected on receipt. Because of the way we have historically set up part classes, we cannot set the class for inspection nor can we specify a supplier as we will order critical and normal parts.

To avoid purchasing staff having to set “Inspection Required” on the PO manually and stand the chance of it being missed, I want to create a BPM that checks the Part table when a new POLine is created and if one of the Critical boxes is checked, make sure that “PODetail.RcvInspectionRqd” is set automatically.

I have made a BPM that works on the “PO.Update” BO but I cannot see how to access the Part table from within my condition. Does this require custom code or am I missing something?

Any advice appreciated but be warned, my coding skills barely pass “Hello World” so be gentle with me! :wink:

In your BPM add a BO method. Use the JobEntry BO, and the GetDatasetforTree method to pull data for that record. That should populate a dataset for you to pull data from, or set data to. In the past for cases like this I would have this set of widgets in place:


First is the get dataset for tree method that pulls data from your job number into a dataset.
Next is an update table by query to update the dataset fields as needed. Remember to set RowMod = “U” in this step.
The last step is the update method.
Good luck!

Thank you @NateS, your advice is appreciated. I will have to select the PO BO as we are not using JobEntry at this point or buying to job.

The principle seems straightforward enough but I am on vacation from today so I will give it a go when I get back.

Thanks again!

Just letting you all know that due to everyone’s votes (64 votes in fact) on Epicor Idea https://epicor-manufacturing.ideas.aha.io/ideas/ERP-I-593, (:safe_harbor: Safe Harbor Statement :safe_harbor: ) as of version 2023.2, the software will now include a flag at the Part Site screen to specify a part inspection flag. In order to do this, we have THREE options available at the Part/Site Detail level:

  1. Inspection Required defined by Part Class
  2. Inspection Required
  3. No inspection Required
    This allows for the inspection required option to continue to be driven by the value in the part’s associated part class, but also allows you to override it at the part/Site.

SO… all those who have added your own UD FIelds, and BPMs to do something similar may be able to eliminate that… for those that haven’t done so, if you wait, you will have it soon (October :safe_harbor: )

3 Likes

Hi @NateS,

I have overcome my issue but it turned out to be much simpler than I anticipated. I created an “In-Transaction” Data Directive on the PODetail table which used the “Update Table by Query” setter to set the ‘RcvInspectionRqd’ field.

The query joined the ttPODetail table to Part on Company & PartNum and the criteria only selected records where either of the two UD check boxes were true. If they were, then when the PODetail row was added or updated, the RcvInspectionRqd field was set true.

Thanks for pointing me in the direction of the “Update Table by Query” tool, as I would not have got there without that!

Steve.

1 Like

Hi @SteveM_Captec,

I am working on the same thing however with no success.
I am using the ERP.Part table’s RcvInspectionReq (it is hidden, but I checked the box using DMT) and update added or updated rows of the ttPODetail table.

Not sure what I am missing here :sob:
Maybe the mapping / binding is wrong?

Would really appreciate if you can provide me some guidance!
Thank you!

Hi Phoebe,

I am not sure how your DD is working as I cannot see your initial query. The query in my BPM joined the Part Table to ttPODetail where either of the UD check boxes we configured (Critical component identification) were set true.

The BPM then set RcvInspectionReqd to be true on those parts, regardless of the the class or supplier. In your case you appear to be trying to set Inspection Required on parts that are already flagged for inspection. I may be missing the point completely so feel free to put me right.

Steve.

Thank you for replying!
The Part I want to flag for inspection is currently not flagged on either the Part Class or the Supplier level.




image
Everything seems to make sense to me, but not sure why its not working…

I used a BAQ to ensure the RcvInspectionReq on the Part level is flagged also.


image

Really appreciate all the help! Thank you!

Hi Phoebe,
I am still unsure what you are trying to achieve. Your query would need to give some sort of result to identify the rows that need to update.
Are you trying to set inspection on for every purchased part or just a specific one? You are setting the "Part.RcvInspectionReq field whilst to my knowledge, the PODetail.RcvInspectionReq field is only populated if the PartClass or Supplier are set to Inspection Required.

You may be using a newer version of E10 than us (we are using 10.2.600 OnPrem), so things may be different.

Thanks, Steve.

Hi Steve,

I think my problem was using the Part.RcvInspectionReq on the Part level.
I am trying to set inspection on a specific part.
I created a UD Field, called Inspection Required, Part.InspecReq_c, and did the data directives, unfortunately it is still not working.



image
image

Since it is showing on the BAQ and its a UD field, I thought the DD would work…

Thanks, Phoebe