Been driving myself crazy trying to do what I thought was a rather simple BPM.
Objective: Display a warning to the user when they save a PO that has the GL Exp for any release equal to a specific acct.
Background:
The Company Config is setup to use GL Acct 6001-00-01 for the default Expense Account. This is a “catch-all” and should really never have any charges to it.
Placing a PO line of type “Other” sets the GL Acct on the line-release to 6001-00-01 (from the company conf).
Users are supposed to change the GL Acct to the appropriate account.
I want a warning to pop up when any PO Rel has the GL Exp Acct set as 6001-00-01.
I’ve tried nearly all of the PO BO methods, and can only get the warning to fire if the GL is changed, not when it is first assigned.
Erp.PO.Update seems promising, but doesn’t fire on the initial creation af a PO Line with the matching Exp Acct.
Regular DD’s have neither the “Raise an Exception”, nor “Display a message” blocks.
I’d have to do a In-Tran DD to capture the event, setting a field in the POHeader table, and then use a BPM on PO.Update to warn/stop the user.
Seems if I’m making a BPM to prevent the saving of a PO with an “undesirable” GL Exp Acct specified, I should be able to capture it right from within the BPM.
Makes sense. I typically run the In-Tran, fill the context and enable standard. In the standard you can use a single line of custom code for the message. Not ideal, but it works.
Never got it to work in the UI. I ended up making a BAQ reports to find a the PO releases with “bad” gl accts. I used break routing to break on the buyer, so each buyer would get a list of their PO’s that need correcting. It would run at midnight each night. We relied on the fact that it was super rare to receive a PO receipt the same day the PO was created.
Edit
An alternative solution would be to force PO lines to have a part class specified for PUR-UKN lines. And that the part classes ha GLCs setup.
actually there might be a better way than using a BPM. Using standard functionality you can block some accounts to be used n PO release entry. Try to do the following :
go to financial management → general ledger → Setup → Account segment values.
Pick natural account 6001
Go to tab Natural account options → Restrictions
Add a new restriction for the account to be blocked on PO entry.
That should do the trick and give users the warning the account is not allowed on PO Release.
The problem is that this method is that it stops the release from being created due to the restriction. We need to give users the ability to change the default GLaccount from the invalid GLaccount to the proper one.
I am trying to do something similar for AP Invoice Entry with our suspense account and tried using the Accounting Segments Restrictions. Found while it did work to prevent AP Invoices from using the suspense account - it also prevented several “New PO Suggestions” from being generated so had to back this out. Have you found any other solutions yet?