BPM to Notify of Lot Tracked Material on Job Entry

,

Hello everyone. I have been tasked with creating a BPM that triggers on the Job Entry screen. Ideally, this BPM would check the BOM of the part number chosen on the job for lot tracked material, then trigger a message to appear that says something like “Lot tracked material exists on this part’s BOM. Material must be issued.”

I have very little knowledge on BPMs and the one I created does not seem to be working and am not sure what I’m doing wrong. Does anyone have any advice or tips on the simplest way to build this BPM?

Anything would be greatly appreciated at this point!

You can create this probably when you flag JobReleased at JobHead table. This should help you to list all materials which are lot tracked and show your desired message.
Moreover you can also set the same logic when material is added or changed at JobMtl table.

You will need Custom code widget in BPM to achieve this!

Show us what you had tried so far. Like @itsme I would do this in code, but I think you can do it with a linq .Any expression in a condition.

1 Like

I use my old 10.2.400 and made this with a query. it should get you started.

e10 find lot mtl.bpm (40.9 KB)

1 Like

I sure can. Bear with me as I tried to organize it as well as I could so you could see everything I have:

Here is the shell of my BPM. I used a post-processing method directive:


Next are some pictures of what I designed in the Workflow Designer:

  1. The BPM as a whole:

  2. The fgPartNum Blank conditon widget:

  3. The fgPartNum Error exception widget:

  • I will note that this seems to be working fine as I tested this out by attempting to move forward on Job Entry without entering a part number and it did trigger the notification I created.

(Below is starting to where things seem to get hazy. Because I am not expert, I referenced some help from ChatGPT. I know… not the best place to go but I was desperate!)

  1. The Get fgPartNum argument/variable widget:

  2. Check BOM custom code widget:

  3. If Lot Tracked condition widget:

  4. Finally the Issue Mat. Message widget:

Hopefully this makes sense and gives you a little more insight into what I’ve built already. I’m sure I’ve overcomplicated this but not sure how to make it better!

it works is a good thing, but there are a few things that could be different.
You already have the PartNum in ds.JobHead, so yo can just use that rather than reading from the db.

Where you are doing the GetList and then the Any which is good you can just do .Any and the data will be checked on the server side and only the bool will be sent back, so a small amount of data is being sent.

Now I am not sure how this will be applied in the real world as kitters are not typically in job entry.