cancel
Showing results for 
Search instead for 
Did you mean: 

Best practice on master data distribute

Former Member
0 Kudos

Hi Folks,

There is a requirement for a client where  Employee master data need to be distributed to  multiple applications

AS-IS

SAP HR(Flat File) -> FTP->(Flat file) to various systems.(System 1,System 2....,System 10)


The as-is process is as below/

Since each system needs different sets of data , there are 10 different program created in SAP HR ( although there are some re usability in the programs) and each program create a full extract of active employee data ( 5-20 MB File each  )   and those are FTPd to various system

TO-BE

SAP HR -> PI -> to various systems.(System 1,System 2....,System 10)

We have checked with various systems and found that few system can manage with incremental data and few system can't survive without full data.

What we want to achieve in the to be process is

1)  Create a single program in SAP HR and extract all data relevant for all the  Systems

2) In the SAP PI mapping level distribute the data to various systems.

the issue is

1) How to send incremental data

2) How to send files if file is lost for some system.

3) Shall we create 2 interface, one for full and one for incremental

4) if only incremental interface then how we handle the initial Load ( there will be new HR system- so all employee no will change0

Thanks.

View Entire Topic
ambrish_mishra
Active Contributor
0 Kudos

Hi Biplab,

Have done 2 HR projects.Would love to answer this question.

1) How to send incremental data

Delta or incremental data can be sent by having 2 designs in HTR interfaces:

  • checking in infotype (HR table) based on Change date (AEDTM) is between last run date (to be stored in Z table for each outbound interface) and today's date and sending the data which is required. In this design, the changed records will go and not just the changed fields.
  • To send only the changed fields, you need a snapshot table approach where you have a snapshot table and select data from infotypes and compare with snapshot table to check what fields have changed.

You need to discuss with HTR functional person on the best approach based on third party requirements.

2) How to send files if file is lost for some system.

Did not understand how files will be lost. A message would be in error or success.

3) Shall we create 2 interface, one for full and one for incremental

On selection screen have an radio-button for Full load/delta load and trigger the interface by background job (with variants) as per requirement.

4) if only incremental interface then how we handle the initial Load ( there will be new HR system- so all employee no will change0

First load will always be a full load so if a third party needs delta, schedule the job with delta and it should send the full load in first run. That is the way it should happen and ideally during the production cutover.

<few system can manage with incremental data and few system can't survive without full data.>

Some recommendations:

That's how HTR systems are but try to run full loads at the EOD around midnight and have a gap of 5 mins between each interface run. I assume the data will be sent once daily.

Make sure that mandatory fields at third party side are kept mandatory at source and errored out in SAP itself and an error report is generated.

Design the interfaces such that the message does not fail in PI because of one or 2 employees. Data issues may happen.

Hope it answers your question

Ambrish

Former Member
0 Kudos

Hi Ambarish,

Thanks for your suggestion.

2) How to send files if file is lost for some system.

Did not understand how files will be lost. A message would be in error or success.

We have multiple middle wares in between and sending data across different networks and we have checked with the applications and few of them said in past there were cases when they lost the files.

So we want to  consider the scenario where we are able to resend the data  in case  some application wants.

Is there any mechanism by which we can resend the delta files ?

One option i can see is to archive the file and if any clients requests for it. the IT support team email them or manually triggers it from Sender File communication channel. But Employee data being sensitive  it does not looks a good solution.

That's how HTR systems are but try to run full loads at the EOD around midnight and have a gap of 5 mins between each interface run. I assume the data will be sent once daily.

We don't want to send full load as we have  10 different systems and since we are getting a single file from source and we need to map it to multiple systems , so just think about the load PI will have to handle.

Any more thoughts guys.

ambrish_mishra
Active Contributor
0 Kudos

Hi Biplab,

<Is there any mechanism by which we can resend the delta files ?>

There are 2 possible options to resend the files in exceptional cases.

  1. One option is to archive (already with you) the files and arrive at a process where the HR administrator to place the file back again in the mail folder to be picked up again.
  2. Second option would be to trigger the file manually from ECC for the same selection parameters as it was sent in the first place. HR admin again needs to have access to do that. This option is commonly used for cases where data is corrected in an infotype and data sent for the employee if required urgently by a third party.

Having said that, try to find the root cause as to how the files were lost. Try and get details of the legacy processes to know what caused the files to be lost HR data is sensitive data and if a file is lost, integrity of the entire process is questionable.

<so just think about the load PI will have to handle.>

HR data is always cumbersome and this is always a challenge but manageable. If it is payload is too big, then we have multiple ways to break down the data into chunks. For example, trigger multiple batch jobs based on personnel area instead of all in one go or breaking down the data in chunks of 1000 records (multiple proxy calls) instead of 1.

Hope it helps!

Ambrish

Former Member
0 Kudos

Hi Ambarish,

Appreciate your response.

Regarding "How the Files are lost" - i know ideally a file should never be lost but sometimes ( " ") the legacy systems( some are very old)  loses the data or the mess it up. So there is demand from them to send them the data again.

Regarding re sending the file i know both the options are conventional approach. But the challenge is it might be the case that only system has requested the file. So incase we resend the same file then other n-1 system will receive duplicate file and some systems are not happy with with.

Anyway - I think i may end up with multiple feed coming from SAP HR...and that might resolve most of the issues.

I am closing this thread - thanks everyone.