Needing to set this BPM up:
If Ship Status is Shipped, but not closed, then change three fields in OrderHed to something else.
Question: I know how to get the condition on ShipHead, but how do i se the three fields in OrderHed?
Needing to set this BPM up:
If Ship Status is Shipped, but not closed, then change three fields in OrderHed to something else.
Question: I know how to get the condition on ShipHead, but how do i se the three fields in OrderHed?
That’s a pretty advanced BPM. You’ll need to be able to follow a trace and call all of the methods that show on the trace.
So, a method directive and not data? I was thinking that as I was looking into it more.
Yeah, you want to do this type of processing in a method directive. Anything other than very simple things will cause performance problems on data directives.
Thinking base it off of the Shipped checkbox. If checked (True), then update.
Do you think functions will work for this need?
Functions are the same things and BPMs. It just puts the code somewhere that you can call it from more than one place so that you don’t have to copy paste code around. You’ll have to do the same things.
Like I said, this is a pretty advanced BPM. If you aren’t already familiar with getting a trace and recreating it with either widgets or code in a BPM, it will take a lot for you to learn thing. Unfortunately I don’t have the time to walk you through everything.
I’ve wrote simpler BPM’s and have did traces numerous times. For Shipment Entry, after selecting the SHIPPED checkbox, the BO shows CustShip, Method is Update Master. Just wasn’t sure how to take the info from here to make changes in OrderHed.
Basically, once the Shipped checkbox is checked, change fields A,D, and F to 1, 2,3 in OrderHed.
You’ll have to do a trace for changing the fields in orderHed. That’s what you’ll have to recreate in your BPM.
Decided to create a Pre-Processing BPM on CustShip that just simply said ReadyToInvoice from False to True, then set as an Post directive.
Next, created an Post-Processing BPM that calls that directive and then invokes the BO SalesOrder with MasterUpdate for Method.
Now, I am working out the parameters linkage. I am currently tracing, but didn’t know if anyone had any input on these.
I have this setup, mostly now. Only one hiccup. So far, here is what I have.
BPM on CustShip.UpdateMaster
Pre-Processing: If ReadyToInvoice goes from false to True, then set as Post Processing directive.
Post Processing: Is activated from Pre, invoke Function OrderHeader with parameters of OrderNum=ShipHead.OTSOrderNum as OrderNumbers and Custnum=Shiphead.Custnum as CustNumbers.
OrderHeader Function: invoke BO with Paramets of OrderNum=Ordernumbers and Custnum=Custnumbers.
I then have it set to show a message with some info inserted from the OrderHed table. Nothing from OrdreHed pulls through. So, I am guessing that I am missing something here. Any ideas I can look for?
How are you populating your Tableset?
I thought once you invoked the BO, and configured it with the parameters, it populated automatically. Guessing by your question, i am wrong…
nope, you’ll get to do a get by ID to populate that data set. You need to follow the trace from making the change in the UI. All the calls that that BO makes. So turn on tracing, then open the screen, have your values ready to you can type them in instead of search for a cleaner trace, then follow that trace to a T.
Thank you! I go the GEtById, and then I noticed it wasn’t updating in the table, only in the dataset. So, took another look, with some help, and found out I needed to change RowMod to “U.” Thank you!
Note: I did get this completed and working great!
A thought that came to mind I wanted to ask you about. If I was to build a UBAQ and use the Advanced BPM option, do I need to sue the GEtByID or is that inherent since I am running the BAQ?
My thought is, for me, I only need to update the filed, so I could just put a post processing BPM on the update. My limited thinking is that the BPM would fire when I clicked update.
Is this correct, or do I need the GetByID in this scenario as well?
EDIT: I misunderstood your question.
If you are using the standard update for the update part, and you are just adding something to that, yes, it’s doing all that for you.
I got confused, because I usually roll my own update.
Gotcha! I’m glad you caught that because I was trying to figure how to say it without being rude!
Thank you for the info! This week has been a lot of BPM learning in many ways!
If you set up the standard BPM update then look at the create programming interfaces, you can sometimes see what the standard update is doing. They will have their own getbyID (or some type of getby) in there, which is why it has required fields, so it can actually run that to populate it’s dataset.
NICE! Saw that but hadn’t played with it yet! Thank you for the info!