BPM frustration

Returning to an old job now i have some free time im trying to find the bussiness object for the GL account line

Below is the field help information.
image

So all im doing is making a Bpm to watch this line and after a new PO is made, if this field is empty a windows pop up to say please fill this out. Just can not seem to find the object to make my bpm work.

The one im looking at, at current is

Thanks for any pointers
Cheers
D

This is one of those that sound very easy to do but it is not. What exactly is your issue or where exactly are you with this?

PO.Update would be the one I would try to check for empties. But you need to take into account 3 scenarios: the header is changed, a line is changed or a release is changed. On top of that, the PO release is created ‘in the background’ after the Update is called which complicates this more.

For assigning GL’s have a look at PO.GetDefaultGLAccount.

1 Like

Im in the planning so my plan was to have a bpm to watch the field so when they come to save the po and have forgot to enter GL code of forgot to press get defualt then a message would display reminding them to go back and fill it out as we are having issue with people not do that.

But this sound like it could be a pain the alternative may be just a BAQ showing the Po`s that dont have a GL account added.

Probably a BAQ would be best. A data directive on PORel would have been easier but the GL account is not saved in that table. Also, I would have a look at a customization as I think that might work best for this. And hang around for a while, maybe others here have a better solution for this.

2 Likes

Yeah, this is one of those things that looks simple, but thanks to how TranGLC works, is not.

I took a quick look at the Method Call and PO.Update doesn’t contain that field. I think for the same reason, a Data Directive on PORel doesn’t help you much either. You would need to intentionally create a blank one and see, but I don’t think you get a blank record in TranGLC when this happens.

I would suggest that you setup a Pre Processing Method Directive on PO.Update for a condition that the user has changed the Approved Flag to True.

You’ll need to use the “number of rows in the designed query” widget too since this field does not exist in the Method Call. Start off the query with tt.POHeader and link that to PORel and then link that to TranGLC. Not ideal, but it should work.

TranGLC Decoder Ring says:
RelatedToFile = PORel
Key1 = PONum
Key2 = POLine
Key3 = PORelNum

Cheat: This could possibly be done as a row rule in the client rather easily but then you would need to do it all over again when you go to Kinetic. If you do it as a BPM, you probably just need to change the tt.POHeader to ds.POHeader and you might be good to go.

1 Like

I do not think you need a BPM for this. You should be able to make the field required VIA Extended Properties:

1 Like

This might work. It would come down to whether the TranGLC record gets created with a blank GL Account and when/how this gets triggered. It’s pretty easy to find out!

Seems like it does exactly what @djennings is asking for.

1 Like

Will give this a go, if this works it will be great, its just to remind staff that the GL code needs to be added if they forget.

If your goal is to remind users when the GL Account on a PO Release is left blank, I think you can make a really simple post-processing method directive on PO.Update. Just a condition “Number of rows in the ____ query is more or equal to 1”, with a query filtering the ttPORelTGLC table by GLAccount = "".


Attach the True side of that condition to a warning message. For a reminder message to users, that’ll probably be good enough, but be aware there are a number of modifications that can be made to a PO dataset without going through the PO.Update method.

1 Like