Any able to help me on this or have done something similar?
I have created a Data Directive BPM on PartTran.Update / Standard
It’s a very simple one but unfortunately the condition doesn’t seem to work correctly. I want it to fire off an email if ExtCost exceeds £1000 basically if the part they’re quantity adjusting cost goes over £1000 then fire an email to relevant people.
But it doesn’t seem to work, I’m getting quantity adjustment costs for £31, £12 -
Turn on tracing, do the Qty Adjust, and then do the similar thing you did on the data directive, but with the method directive on the BO from the trace. We’ve got 2 for Inventory Qty Adjustments - One for sending an email when someone does a zero cost adjustment, and another to prevent future dates. The email had to have a condition triggered in the Pre to reduce false alarms, while the email is sent in the Post. Its similar, so maybe it’ll help.
I see a significant performance problem with the way you have the query assembled… you have linked the ds.inventoryQtyAdj table (which is not really a table but is a memory resident dataset) to a real dataset. The problem is that when SQL gets this, it doesnt run efficiently. Instead, you should get the data from the QtyAdj and put them into variables, and then FILTER PartTran’s criteria with those variables… see this rather large discussion: BPM SPEED Helpful Hint - be careful how you "Join"
Hi Andris,
Which fields did you use to link the ds.InventoryQtyAdj and ERP.PartTran tables? Unfortunately, the ds.InventoryQtyAdj does not have the TranNum field, which would have made it so easy to link them.
Erp.InventoryQtyAdj.SetIncentoryQtyAdj / Pre-processing
a. Is this DMT bypass or < $500 valued transaction?
b. (Optional) Display form asking why and ensure user is aware of financial impact of this transaction.
c. Do I need email based on above conditions? Prep output definitions (if multi company/site send to appropriate managers/distribution lists)
d. If cancelled or no adjustment needed cancel and zero the AdjQty value else continue in post processing.
Erp.InventoryQtyAdj.SetIncentoryQtyAdj / Post-processing
a. Is alert needing sent?
b. Grab params from preprocessing callContextBpmData
c. Use params and send email (using email function if available)
d. Log error on failure to send