cancel
Showing results for 
Search instead for 
Did you mean: 

User Exit

Former Member
0 Kudos

Hi Everybody,

I was wondering if there is an User Exit where I can put in code to grab information whenever a Person Number information is changed or a new Person Number is created or deleted. All I am interested is to grab the Person Number. I don't care about rest of the information. I know this can be done via a trigger on the table PA0000 but I do not want to go that route.

Thanks.

BW Newbie

Accepted Solutions (1)

Accepted Solutions (1)

suresh_datti
Active Contributor
0 Kudos

Hi,

For new pernr, you can try the User Exit ZXPADU02 or BAdI HRPAD00INFTY. But you will have to check for all hiring actions on 0000.

For deleted pernrs, I don't think there is an exit. As far as I know, deletion is done only through the report RPUDELPN. (A pernr is very rarely deleted in a Production system)

What exactly are you trying to do?

Regards,

Suresh Datti

Answers (7)

Answers (7)

Former Member
0 Kudos

Also, I would really appreciate if you could post sample code for BADI.

Thanks.

bw_newbie

suresh_datti
Active Contributor
0 Kudos

pl see my last reply against this opened by Saquib..

Regards,

Suresh Datti

Former Member
0 Kudos

Hi Suresh,

Thanks a lot for patiently answering my questions. I now have a better understanding. You are right there is no BAPI for InfoType maintenance. So, I don't have to worry about that. However, I need to test BDC and probably need to research regarding IDOCS.

Thanks.

bw_newbie

Former Member
0 Kudos

Hi Suresh,

Pardon my ignorance. If I understand correctly data can be entered by BDC or BAPI or IDOC and if the Tcodes are not executed then the BADI or User Exit doesn't get invoked. What is the purpose of executing the Tcodes? I'm confused. Please explain in detail.

Thanks.

bw_newbie

suresh_datti
Active Contributor
0 Kudos

Hi,

A user exit or BAdI has to be invariably placed inside a standard program. Only then will it be relevant & put to use. In the current situation, both the BAdI & User exit are triggered from the Standard Infotype maintenance Program SAPMP50A. You are fine with the BDC, but I am not sure of the IDOC.. As far as I know, there is no BAPI/RFC for Infotype maintenance.. if there is one & if that BAPI doe not use SAPMP50A, then the User exit/BAdI will not get triggered..

hope this helps..

Regards,

Suresh Datti

Former Member
0 Kudos

Hi Suresh,

I did post in the BW forums. I did not get satisfactory response. One quick question regarding User Exit/BADI. Does the User Exit(ZXPADU02)/BADI(HRPAD00INFTY) get invoked even though data is entered by means of BDC or BAPI or IDOCS? If that's the case then I would go the BADI route. Please let me know.

Thanks.

bw_newbie

suresh_datti
Active Contributor
0 Kudos

>>Does the User Exit(ZXPADU02)/BADI(HRPAD00INFTY) get invoked even though data is entered by means of BDC or BAPI or IDOCS?

Yes, only if they eventually call the Tcodes PA30/PA40..

Regards,

Suresh Datti

Former Member
0 Kudos

Hi Suresh,

Sorry for the delay. Thanks a lot. I have assigned you points. I would appreciate if you could comment on my previous posting.

Regards,

BW Newbie

suresh_datti
Active Contributor
0 Kudos

Hi,

It all depends on the structure of 0EMPLOYEE_ATTR. You can use the IN_UPDATE method of the BAdI HRPAD00INFTY. In this method, both the OLD_IMAGE & NEW_IMAGE of the infotype record are available. You can do your comparison here and populate the Z table accordingly. I don't have any exposure on the BW side.. Did you post this in the BW forum? May be you will get a better response. This sort of delta load should be a common requirement.. there should be somebody out there who has already dealt this issue..

Regards,

Suresh Datti

Former Member
0 Kudos

Can u set up an ALE between the 2 systems and activate change pointers.This way u can get all the changes.Any suggestions would be appreciated.

Regards

Vick

Former Member
0 Kudos

Hi Suresh,

Thanks for the quick reply. Currently we are extracting 0EMPLOYEE_ATTR Data Source into BW.

Unfortunately, it is not delta enabled. It takes about 5hrs to extract data into BW from R/3.I analyzed the data load and to my surprise found that it takes 75% of time on the R/3 side to extract data from the tables PA0000,PA001,PA0007 and PA0008. I think there are other

tables but I believe these seem to be the important ones. So, I was going to suggest my company that we could insert code in the User Exit to grab any changes made to the person number and write it into a custom table. Then develop a custom Function that would get the records from this custom table and invoke the Extractor Function. I am not looking to change the Extractor Function just add a wrapper function that would pass values to the Extractor Function. This way only the changed records are sent to BW and not the whole master data. This would dramatically improve the data load performance.

Please let me know if it makes sense.

Regards,

BW Newbie

mmcnally
Explorer
0 Kudos

Hi bw newbie

I aso have searched for ways to implement delta functionality, only to find that there is no easy solution. However, I ran the same extractor a few days ago, 0EMPLOYEE_ATTR, for approximately 2 million records (72,000 employees), and by setting up 20 infopackages to take advantage of the truly powerfull parallel processing technology, the jobs were over in 20 minutes .

In my mind, this removes the presumed big obstacle of Full loads for Infotype extraction into BW.

Mike McNally