Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Implicit modification after PA30/PA40 database commit

Former Member
0 Kudos

Can you please direct me to a place which I can do an implicit modification after the database commit has occurred from PA30/PA40 save or delete?

I've tried the user exit ZHRPA001 but data is not committed until after it.

Thank you.

Michael

9 REPLIES 9

former_member209703
Active Contributor
0 Kudos

In the event IN_UPDATE of the BADI HRPADINFTY* the database has already triggered a COMMIT so all changes have already been recorded in the DB

0 Kudos

Thank you very much for the quick response.

This looks like it would be just what I need.

I have implemented the BADI.

One problem. I can set breaks and have it stop in BEFORE_OUTPUT and AFTER_INPUT but doesn't ever seem to stop at IN_UPDATE.

Can you please guide me a little bit more.

I'm setting the breaks in my implemented BADI. I then run PA20. Make a change (IT 0002, 0006, etc) and save. Stops at 2 methods but not IN_UPDATE.

0 Kudos

Hi.

The event IN_UPDATE will only be fired when you hit the SAVE button.

Actually the sequence would be (after hitting 'SAVE)' AFTER_INPUT and then finally IN_UPDATE (in which the data is actually stored in the database)

PS: Can you edit anything via PA20? I'd use PA30 instead.

Regards

0 Kudos

I'm sory. That was a mis-type.

I am using PA30. Hitting save button. It's just as you say but it's not stopping at IN_INPUT method.

Stops at BEFORE_INPUT before screen is displayed. Stops at AFTER_INPUT after hitting save. No stop at IN_INPUT.

For what it's worth. IN_INPUT is the only one of the 3 which I have any code in.

0 Kudos

Well, it's kind of strange, I mean it must stop at IN_UPDATE event after hitting SAVE, it''s been this way ever since Xd

Actually your code will be fired for every single PA Infotype (0001,0002,0006.... etc) unless you establish some kind of check; but if you have set a Break in the IN_UPDATE event it must definetly stop, just check if everythings OK and active.

Good luck

0 Kudos

Shoot. This is frustrating. Seems like we are so close and that it's exactly what I need...

My BADi is active, all 3 methods are active. I have a debug break set in each method. When I save, the AFTER_INPUT is hit but IN_UPDATE never gets hit.

I'm sorry to be such a challenge.

Your help is very much appreciated.

0 Kudos

The only thing I can think of is that you are trying to modify a record and actually not changing any field, in that case I'm not sure if IN_UPDATE is triggered, in the other cases, Inserting, Deleting and Modifying it always gets fired.

Also try to set the BREAK at the very first line of code, maybe there's a condition on your code and never gets to the BREAK, I don't know.

Actually it is frustrating haha.

Best Regards

0 Kudos

Slightly different news.

I have found that IN_UPDATE is being hit when I make a change to IT0001 and IT0008 (didn't try others). However, it does not get hit from IT0002 or IT0006

Any ideas why that would be?

0 Kudos

Hi

I've just checked it in my own system, and it does fire for any Infotype, I'm not sure what you are doing wrong.

The BADI definition is actually HRPAD00INFTY in case you got it wrong.

Regards