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: 

HR_INFOTYPE_OPERATION function

Former Member
0 Kudos
485

Hi All,

Is there any other way of updating infotypes 2002 and 2003 without using HR_INFOTYPE_OPERATION?

Thanks a milllion in advance.

1 ACCEPTED SOLUTION

Former Member
144

Well the reason I don't want to use this function is because it takes so long to execute, i'm tunning a piece of code that updates infotypes 2002 and 2003. And there are plus minus 50000-80000 records that gets added to either 2002/2003. So in essence this report runs for approximately 12hours.

13 REPLIES 13

GauthamV
Active Contributor
0 Kudos
144

Hi,

Check this function module.

HR_MAINTAIN_MASTERDATA

MarcinPciak
Active Contributor
0 Kudos
144

You can also use BDC for this, but is there a reason why you don't want to use HR_INFOTYPE_OPERATION?

This function performs appropriate authorization checks and works as you would phisically maintain EE master data. I recommend to use it anyway.

Other way is also updating directly table entries in infotype table PAXXXX, which of course doesn't assure data consistency and is error-prone. Moreover if you decide to go for this solution you have to take care of LUW concept when updating couple infotype tables, where entries should dependend on each other.

Regards

Marcin

Former Member
145

Well the reason I don't want to use this function is because it takes so long to execute, i'm tunning a piece of code that updates infotypes 2002 and 2003. And there are plus minus 50000-80000 records that gets added to either 2002/2003. So in essence this report runs for approximately 12hours.

0 Kudos
144

The delay problem can be solved with HR_INFOTYPE_OPERATION by using it with another FM i.e. HR_PSBUFFER_INITIALIZE, the delay happens because of buffer problem. Use HR_PSBUFFER_INITIALIZE inside the loop just before you call HR_INFOTYPE_OPERATION and you wont see that much delay.

It is better to use HR_INFOTYPE_OPERATION. BDC will be same thing as this FM also performs BDC in it's code.

0 Kudos
144

Dear Shafiq,

Thanks a lot on behalf of me and my team. Your input on buffer initialize fm has helped us to drastically reduce our

attendance processing time.

Thanks.

Edited by: User on Jul 23, 2011 8:25 AM

Edited by: User on Jul 23, 2011 8:26 AM

Former Member
0 Kudos
144

You see the report does error checking and things like that and it reports on those errors, so I don't see how I'd do it with a BDC???

0 Kudos
144

Hi,

BDC will work here as it only feeds appropraite screen fields, all checks are done then. But in your case when number of data records is really high I suggest to go for [LSMW|http://www.scmexpertonline.com/downloads/SCM_LSMW_StepsOnWeb.doc] . Of course providing you are not obligated to do it by report.

Regards

Marcin

Former Member
0 Kudos
144

I also found RH_PNNNN_MAINTAIN, in this forum some where do you guys think this will work. I am very new to ABAP code.

And I am currently trying HR_MAINTAIN_MASTERDATA, will let you know if this worked. I also thought of braking the file up into pieces, and processing the pieces seperately then at the end combining it.

Former Member
0 Kudos
144

Hi Carlos,

If you are working on ECC 6.0, you can load those infotypes using new infotype framework.

Use CLASSES and METHODS to upload the data.

To check corresponding classes of those infotypes go to SM30 and display V_T582GITVCLASS.

If that view does not exists check V_T582AITVCLASS and you can always do a search help with ITVCLASS.

This view has all the class information for each infotype.

You need to convert your internal table data into a container and pass it to a INSERT method.

This method is much faster than BDC and it does all the validations.

Mubeen

0 Kudos
144

Hi Mubeen,

The maintainance tables you mention didn't exist but this one did: V_T582ITVCLAS, but it didn't contain the infotype classes I need, it only had infotypes upto 977. But i found CL_PT_BLP_IT2002, using se80 and serching for 2002, I'm sure this will do the trick.

Thanks

0 Kudos
144

Hi Carlos,

I am having the same issue, were u able to solve it?

Former Member
0 Kudos
144

Thanks so much Mubeen and Shafiq.... You guys helped so much.

Shafic I used the FM you told me about and it cut the running time by about 80% thanks so much, now I'm going to try the classes, because yes it is an ECC 6.0 system, I will use this in conjunction with the FM.

Thanks so much guys, you saved my life.

I wish there was a way I could really show my appreciation, but thanks a million.

0 Kudos
144

Dear Carlos,

Thanks a lot on behalf of me and my team. Your feedback (of 80% reduction in processing time) helped us to take a call on introducing this fm in our coding.

Thanks.