Quantcast
Channel: SCN: Message List - ABAP Connectivity
Viewing all articles
Browse latest Browse all 3125

ALE / HR->CRM / HRMD_ABA UPDATE mode bad person (CP) name

$
0
0

Hi to all,

 

we were using the update mode in PFAL transaction to synchronize the data between HR->CRM systems (ALE interface).

 

In this scenario, the customer found out that when PFAL was run to synchronize all the data on some irregular runs, the name of a person changes (to not current name, but the name before marriage e.g.).

 

We debugged the situation and found out, that the logic in update mode is like this:

 

- the IDOC contains both records (new and old) as the "ALL" period is selected in PFAL (furthermore O_S_P evaluation path - but this probably is not important),

- system finds the current record (stored in dbs),

- system translates the (P = person) objects into CPs - but ignores the BEGDA / ENDDA (and sets a default 1.1.1900-31.12.9999 as the validity of the to-be-created CP),

- so system has two CPs to be created with the same key (1.1.1900-31.12.9999, OBJID = PERNR from HR) but with different names,

- the to-be-created CPs are ordered correctly (1st is the old one),

- now logic inside LRHA0F05 / FORM check_insert_pnnnn loops the to-be created CPs (also the other object types - not important here) and for every record, it checks, whether that one record is not the one, that is already stored in the records to-be-deleted,

- so it finds the current state (which was ok) is to be deleted and it skips processing of the (right one) record which would create the correct CP name.

 

It is a bit complicated to understand it like this, I believe . So the question now:

 

In docu for PFAL, it is said that (for INSERT MODE):

 

For a complete data transfer you must use insert mode. For consistency reasons we recommend that you use the reporting period 'All'.

 

However, for UPDATE mode:

 

In particular, this logic ensures that deleted data records, too, are correctly processed. In this mode, IDocs created by change pointer evaluation are dispatched.

 

Can anybody tell, what should be the correct synchronization steps? We want the deleted objects also to be synchronized (of course), but also we want a complete data transfer. One complete run of PFAL lasts more than 8 hours. We wouldn't run this as multiple steps (update and insert afterwards) - that would not make sense.

 

I did not find notes, directly related to this situation, too. However, there are plenty of them for the ALE HR->XXX synchronization. I'd say that ignoring the date interval validity of the P object (infotype 2) is also not a good solution (should it act like this? - Should not there be separate intervals in HRP1000 for every change in PA0002?

 

Any inputs are greately appreciated.


Viewing all articles
Browse latest Browse all 3125

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>