BPM for buyit flag

I know I have to be missing something simple. I’m trying to set the purchase direct (buyit) flag in the job material using a post processing method on GetDetails. I can set the backflush flag at will, but for some reason, even after the BPM sets the buyit field to true with the same technique (that’s what it shows in a table query in the message) it saves to false in the job.

Any ideas what I’m doing wrong?

For some background I am working on a customization to set a specific part material to purchase direct for cases like over length material that would be purchases cut to length. I want to be able to set it in engineering workbench. I created a UD field in ECOMtl, PartMtl, and JobMtl and mapped them all to each other. That flows through fine, I can see it on the list. Now I want to set the purchase direct flag on get details based on the UDField that is coming in with the details, but I can’t even set Purchase direct to true buy hard coding in the BPM to set all rows to true.

Are you setting the fields dspBuyIt and BuyIt = true?

Nope. I knew it was something dumb. It works now. I vaguely remember that field now that you mention it. Thank you so much!

Hi all,
I am replying to this topic since it is similar to what I am currently working on. I am trying to automatically check the QuoteMtl.BuyIt checkbox on the quote and my first thought was to use BPM to set the field to true whenever a new QuoteMtl record is created. However, later I found out that the processes that runs with the checkbox was not run.
What would I need to do for it to run the methods in the background? Do I need to trace and recreate that in the BPM, or is there another way?

Thanks!
Elvin

The buyit (or purchase direct) flag is usually tied to the stock/non stock flag. Things that are set as non-stick will be set to purchase direct. I haven’t messed with the quote version of the details, so I don’t know if it follows the same convention, but if you are always setting it to true, try just changing your part to non-stock and see if that does it for you.

1 Like

I tested it in Pilot and the purchase direct flag is automatically set to true when the material is a non-stock part. awesome!
However, we also want the purchase direct flag to automatically be True even when the material is not a non-stock part.
Any ideas?

Elvin

That’s basically the only thing that that flag does, and pretty much what it is for. Non-Stock means you want to buy it directly to the job. That’s what you want. The non-stock flag does not mean that you can’t put a quantity in inventory.

But if you really have to ignore that flag, run a trace and see if you can find the non-stock parameter in the trace. You might be able to change it during the get-details portion of the BO.

1 Like

New is probably too early to trigger the adding of the vendor, etc. I would set it on update which would be like checking the box in the ui.

1 Like

Right. I did trace it as @Banderson suggested and decided to Invoke Update method with the changed BuyIt value during post-processing of the update.

Though now i am trying to figure out the right way to invoke bo method since i havent done this before. But progress!

Pre-processing is between the client on the way to the server simulating a user action and post-processing is coming from the server back to the client, more for setting defaults.

pre-processing would check the box and then Epicor would do the rest of the actions of getting the vendor info, etc.