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: 

Updates and validity with BAPI_HRMASTER_SAVE_REPL_MULT

Former Member
0 Kudos

Hi there,

I take over legacy data with BAPI_HRMASTER_SAVE_REPL_MULT. Now i recognized that e.g. an address valid from dec, 1th until 9999 when changed at dec, 15th causes that two records are on PA0001, but not valid after eachother but both valid from one of the dates above and to 9999.

I am likely sure that it has worked before that providing the new record for the 15th caused the BAPI to delimit the existing record to the 14th and to insert the new one.

I can not proof that this has worked. I just remember.

Should this work and what could have happened in the meantime or am I wrong and it is really required to read the existing valid record or each type what shall be changed and to convert ALL FIELDS of the database structure to the BAPI structure and to delimit the validity myself? This is a really large effort for hundrets of fields. RH_PNNNN_BAPIDATA_CONVERT seems not to support me here.

What is required? How to delimit the existing records when inserting new changes??

Thank you for your support!

Axel

Message was edited by:

Axel Kullmann

Message was edited by:

Axel Kullmann

1 REPLY 1

Former Member
0 Kudos

Hi again,

there was no suggetion to the problem in the meantime.

My new approach was, to use after BAPI_HRMASTER_SAVE_REPL_MULT and before commit other BAPIS to delimit the segments:

BAPI_PERSDATA_DELIMIT for 0002

BAPI_ADDRESSEMP_DELIMIT for 0006

BAPI_EMPLCOMM_DELIMIT for 0105

but new problems occured:

For 0001 there is no delimitation BAPI at all!

BAPI_ADDRESSEMP_DELIMIT delimits a segment correctly as fare as one provides after creating a second segment delimited ALSO to 31.12.9999 the right one of the two with the starting date of the new values. The old segment will end then a day before.

BAPI_EMPLCOMM_DELIMIT delimits with another logic and delimits the segment not to the day before. Without calculating two segments exist for the changing day.

If a person leaves the company all delimitation BAPIS do not just delimit existing segments. If you do not provide a new segment before, the BAPI creates a new one, delimits the old one to the changing date and starts the new one at the same day to valid to 31.12.9999 with the same content. This is completely different to what the dialog does.

I don't understand what's on there, how these functions are indented to work and what to do...

Axel