cancel
Showing results for 
Search instead for 
Did you mean: 

Best Practice: Delimiting Infotypes

Former Member
0 Kudos

Greetings, SAP Experts!

I'm relatively new to ABAP/SAP so the way I'm doing this may not be ideal. Here's how I'm doing it but I'm curious as to whether there is a standard function module or better practice for delimiting a plan.

1) I'm reading the active 167 record

2) I'm getting the new begda from my input file and I'm changing the endda of the current record (soon to be the "old" record) by making it: endda = {effective-date-of-new-plan} - 1 day.

3) I'm doing a "MOD" operation via HR_INFOTYPE_OPERATION to update current 167 (changing the ENDDA)

4) I'm adding the new 167 record with begda = date in my file, endda = 99991231.

This is working fine but I just want to make sure there's not a better way.

Thanks!

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Steve

Instead of calling the FM twice first to change endda then crete new if time constraint of Infotype is 1 then you directly create a new record with begda as new date endda as 31.12.9999 and operation as INS, the old record would be automatically deleimited.

Answers (3)

Answers (3)

former_member31961
Contributor
0 Kudos

Hi Steve,

For benifit plan delimition there are standard function module's to delimit, i would prefer the these standard fm's over HR_INFOTYPE_OPERATION for to delimit the benifit plans since it does some extra validation's and checks. Following are the FM's for the same.

HR_BEN_TERMINATE_HEALTH_PLAN - 0167

HR_BEN_TERMINATE_INSURE_PLAN - 0168

HR_BEN_TERMINATE_SAVING_PLAN - 0169 etc.

Regards,

Shrinivas

Former Member
0 Kudos

Hi Steev

If you put this query in ABAP you might have get better suggestions than here

Best Regards

Former Member
0 Kudos

What we normally do when updating infotypes, is to do a call transaction. This way you mimick the SAP interface, and the time constraints on your infotypes will take care of the dates correctly. You insert your new record, and the old will be delimited given the right Time Constraint.

I am not sure if an INS operation via HR_INFOTYPE_OPERATION will give you this functionality.