We have ongoing issues with sales people and project managers entering drop ship addresses on purchase orders for parts that are not listed on sales orders. We see no reason to drop ship any part unless it is on a sales order and marked as a drop ship.
So I am trying to create a pre-processing BPM that will look at the BTO ship name on the PO header then look for the drop ship checkbox on the PO line release. If the ship name is not Main Plant (our facility) and the drop ship box is not check then an exception is raised and stops the line from being saved while returning a message to enter the part on a sales order correctly.
My BPM workflow contains 2 conditions:
I can get the BPM to function and halt the process with only the first condition but not with both. What am I missing here? I know often the BTO ship name and address will be added to the PO then saved before adding the line. That makes it an existing record rather than a new record.
Any help would be appreciated.
DO you mean Ds.POHeader for the ship name? Thats the table I’m using. The Workflow designer doesn’t give me a Db.POHeader to pick. I know its somewhere in the second condition, POHeader.ShipName, but I just can’t figure it out. Thanks
You may need a Query Condition to be able to access the Db.POHeader (you are currently using ttPOHeader). However, I would want to test whether the BPM can see the fields and values you are referencing in the Condition you already have.
You were correct. I looked at the trace log and found the field POHeader.ShipName was not being updated. I did find the field PODetail.PONUMShipName was being updated with the ship to address and I based my second condition on that field reading “Main Plant”. So if the BTO order number field is empty (zero is its default) and the PONUMShipName is anything except Main Plant the entry is not allowed. It works like a charm. Thanks for your help.