JobEntry BPM Methods

Hi all!
I was tryin to make a BPM for the JobEntry section.
I immediately searched for the ‘GetByID’ one cause I need to pull info and put into custom fields at the start.

I created a simple BPM (only one ‘show message’ to verify the operation).
From my surprise non message when loading a job.
So I tried to test other methods and the only one that worked was the ‘update’ one.

Am I missing something?
The Data ones don’t work at the start too…

From a TraceData i discovered that the only method that is being triggered upon the opening of a job is the GetDatasetForTree…

Please guys this is driving me nuts :worried: :worried:

Hi @LeoC,
could you put down here your BPM info, what are you trying to achieve and when, BPM print screens, error messages if there is any, if you found any old post and try it etc…

Hi @A.Baeisa,
Thanks for the reply.
What I am trying to achieve with my BPM is that when a user loads up a job order the BPM need to fill some custom fields from the order the job came from.
So I searched for the JobEntry.Update BPM to do that.
I started with a simple Post-Process BPM with only one ‘Show Message’ (with a “start” entry) to see if the BPM was indeed working.
Once I set that up I went to load up a Job Order but nothing was displayed on the screen.
I then tried with the StackTrace Log to see which methods the JobEntry utilized. I saw only one method (‘GetDataSetForTree’) and no GetByID.

I am since that stuck

if your design relying on just loading the Job record then you need to use the RowMod condition unchanged, but if you want to update any field within the loaded record, then i suggest to use the RowMod condition Updated, and try this at pre-process method update, find the relevant value from Db.Sales table (using widget or code), then assign it to your ttUD fields on the Relevant Job table (within the Job BO) and this will trigger the update method to take place, if this didn’t work then you can capture your values at the pre-process update (Unchanged) Condition, save them to CallContextVariable, then invoke the update method again at post-process stage using the ttValues as well as the CallContextVariable.

I think if you put a method directive bpm post processing on Jobentry.CheckChangeJobProdOrderRelNum you would have the Order you need to get the info from. I do this kind of transfer here or on a data directive on JobProd.

i always start with a info message just to make sure the method is getting hit and I don’t waste time.

1 Like

I would suggest a different approach.
the “GetByID” method could be a problem because it will run this anytime that method is run, and it may not always be a human user running this. GetByID is used by other processes…
I would suggest that your BPM be triggered on something else that happens to every job, such as when the Engineered Checkbox is set to true, or when the job gets Scheduled. This could be either a Method directive on the Update method, or a data directive on the JobHead.

1 Like

I tried with a message on the Jobentry.CheckChangeJobProdOrderRelNum but no print on screen when i opened a job :frowning:

I already have a BPM on the Update now to replace the GetByID one.
Does an update get triggered when the Engineered CheckBox is changed?

I still need to get the info when the job gets loaded for the first time and not on the update.
Isn’t there a way to do so?

Yes, when you engineer an order, it must be saved, and triggers the UPDATE method… I very often trigger things to be done when the job is FIRMED as well… since that is the very first thing that is done to a job after it is created, and typically only happens one time…
ie… When JobHead.JobFirm Changes from false to true.

1 Like

This will trigger when the demand link is added. Until then you don’t know the order to get the information from.