cancel
Showing results for 
Search instead for 
Did you mean: 

ALE/distribution model settings

Former Member
0 Kudos

Hi all,

We are implementing SAP HR as HR master and need to distribute HR master data to connected systems. We will transfer the data to SAP XI which distribute to connected systems according to the respective requirements.

We have two interfaces from SAP HR, one for changed data using change pointers in a near real-time fashion and one for complete records in a batch transfer using PFAL.

We have a quite complex scenario where the changes should be sent to systems A and B, while the batch transfer should be sent to systems C and D. The scheduling of the data transfer has to be done in SAP R/3, since XI only forwards the messages. In order for XI to select the correct pipeline and determine the correct receivers we had to create two different interfaces from SAP HR to XI, based on two different extensions to the HRMD_A06 Idoc.

These two interfaces are defined in two separate partner profiles in SAP, P1 and P2, each with one of the extensions as the only difference.

The problem is that real-time idocs should only be sent to P1 and batch idocs should only be sent to P2. In the distribution model you can only define the sender and receiver partner, and the message type. This information is the same for both interfaces, so all idocs that are created, containing either changes using change pointers or batch data using PFAL, are sent to both interfaces.

Is there a way to filter this, so only the correct idocs are sent to the respective interfaces?

As it is now, we have the real-time data going to interface intA and intB every time there is a change, and the batch data scheduled every night will also be sent to both intA and intB.

Any quick help or input to this is highly appreciated.

Br

Kenneth

Accepted Solutions (1)

Accepted Solutions (1)

Peter_Inotai
Active Contributor
0 Kudos

I would define two separate RFC destination (diff. name & same settings), two different port, then you can define two different Partner profile, where you can set the processing differently.

It might be that in this case the data is transferred to both interface. May be with filtering (in BD64) you can solve this.

Otherwise I think there is no other way than, changing SAP standard/use a customer exit if exits, where you add you own logic.

Peter

Ps: If it helped, please press the star icon in the subject. Thanks;-)

Peter_Inotai
Active Contributor
0 Kudos

You might check these BAdis:

HRALE00INBOUND_IDOC HR-CA-ALE: Inbound Processing for HR Master Data

HRALE00INBOUND_OBJEC HR-CA-ALE: Check/Additional Processing for Inbound Object

HRALE00INB_DATA_READ HR-CA-ALE: Read Access HR Master Record Data in ALE Inbox

HRALE00ORIGSYSTEM HR-CA-ALE: Fine Tuning of Original System Mechanism

HRALE00OUTBOUND_IDOC HR-CA-ALE: Outbound Processing HR Master Data

HRALE00SPLIT_INBOUND HR-CA-ALE: User-Defined Inbound Processing

Peter

Former Member
0 Kudos

Hi Peter

I have defined two different ports, RFC destination and partner profiles with different extensions to the message type, but the problem is the distribution model does only allow to specify message type, and that is the same for both interfaces.

The filtering (BD64) can (as far as I can see) only filter infotypes, so you can select what infotypes to include in the idoc, but it does not allow to differentiate between different idoc extensions.

I am not quite sure how to implement a user exit to make the distinction between them. If the user-exit is connected to RSEOUT00, can I filter on the existence of one of the extensions so that only idocs with the correct extensions are sent using RSEOUT00?

Thanks in advance.

Kenneth

Peter_Inotai
Active Contributor
0 Kudos

Hi Kenneth,

Unfortunately I'm not familiar with the HR Badi's, I only know that they exist. Maybe in OSS there are some consulting Note about them, or they might be documented.

For BD64 I forgot to mention that you not only need two RFC connections, but two Logical systems also with the same names.

Then you can assign the message type two two different logical systems (and control it with the partner profiles).

Hope helps,

Peter

0 Kudos

Hi Kenneth,

Back again!!!

Pls check whether i got ur requirement

Scenario :

1.) one sending HR system

2.) one XI system

3.) four recievieng systems

A,B for change-pointers

C,D for batch data.

Already u have defined the following config in the SAP hr system.

message type HRMD_A

idoc type : hrmd_a06

extension1(for change-pointers) : zext1

extension2(for bacth) : zext2

Solution :

1.) whatever u have done for change-pointers is fine.

u have activated change-pointers for hrmd_a.

design a ale model only for change-pointers:

sending system : HR system

Recieving system : XI

partner profile1 :

mention

message type : HRMD_A

idoc type : hrmd_a06

extension : ext1

Define port1

define rfc destination1.

trigger rbdmidocs for message type HRMD_A to capture change-pointers on timely basis like every 30 minutes.

BDCP table will be filled and idocs sent to XI for every 30 mins.

i hope this scenario works successfully for u as required.

2.) let us discuss abt batch data.

Define a new message type ZREAL in we81.

Define a relationship between message type,idoc type and extension.

message type :ZREAL

idoc type : hrmd_a06

extension : ext2

3.) Define ale model system.

sending system : HR system

recieving system : XI

message type : ZREAL

no need to define and activate change-pointers for message type ZREAL as it carries out only bacth data.

4.) partner profile transaction ;

partner profile1(same partner profile of change-pointers)

message type will be ZREAL.

idoc type : hrmd_a06

extension : ext2

5.) port1 will be same as change-pointers

6. rfc destination1 will be same as change-pointers.

7. schedule PFAL transaction for batch job.

it will pick up the batch data and send idocs to XI.

XI system :receiving system:

u can able to distinguish between batch data and change-pointers data by message type:

change pointers : hrmd_a

batch data : zreal

Only need to perform 2 main steps in we81,we82 for batch data.

please check the solution and let me know for any concerns.

Regards,

Senthil

0 Kudos

Hi,

Missed out 2 more steps.

1.) In transaction bd60, make an entry

ZREAL to refer to message type HRMD_A

2.) BD59 , copy the entries of hrmd_a.

paste the same entries for ZREAL .

Regards,

Senthil

Former Member
0 Kudos

A big thankyou again Senthil, I think this will solve the problem. You're the man!

Former Member
0 Kudos

I'm trying to create a Z message type that will be a "reduced" version of standard message ORDERS. The problem is that ORDERS is not on the list of messages that can be reduced. Can I somehow add ORDERS (and ORDCHG) to be reducable? If so, what are the steps? ie: in BD60, what would be my 'Format Function Module' since there is no MASTER_IDOC_CREATE_ORDERS ?

Any help is appreciated. My ultimate goal is to use a custom Z message type for idoc type ORDERS05 and use the standard function IDOC_OUTPUT_ORDERS. The only problem I see is that this function checks the message type in form READ_SERVICE_PACKAGE. It would ignore this code since my message type is a Z... Any thoughts? ie a user exit to perform this logic?

Former Member
0 Kudos

Hi ,

I have some problems configuring the distribution model. When I try to add a message type, it says Message type "ACC_GL_POSTING" unknown. I'm trying to configure the model to distribute Idoc of message type "ACC_GL_POSTING". Logical system also exists. Is there anywhere else I need to do any setting, so that I will be able to add the above mentioned message type.

Thanks

Saravana.

Answers (0)