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: 

How to send idoc directly to outbound system when changing data (ALE)

f_roels
Participant
0 Kudos

I am setting up a ale link between a 4.6c HR and a WAS 6.20. Everything is set up correctly for sending idocs when starting transaction BD21 (ALE changepointers evaluation) or using program RBDMIDOC (Generating idoc out of changepointers). The hrp1000 and hrp1001 records are transferred to the others system (USING HRMD_B).

I now want to send a idoc directly after the change in one system. How can this be done?

With regards,

Frank Roels

1 ACCEPTED SOLUTION

Former Member
0 Kudos

Frank,

It depends on your MESSAGE OUTPUT DETERMINATION settings, where you can set the SEND IMMEDIATELY property ON.

I am not sure on the HR side, but for a PO when you go into the messages of PO, select a output, click on <b> Further Data </b>, there will be a field called Dispatch time, where you can set it to <b> Send Immediately </b>. This value also can be defaulted.

I am sure there will be something similar in the IMG Configuration for HR ALE Settings as well.

Regards,

Ravi

Note : Please mark all the helpful answers

10 REPLIES 10

Former Member
0 Kudos

Frank,

It depends on your MESSAGE OUTPUT DETERMINATION settings, where you can set the SEND IMMEDIATELY property ON.

I am not sure on the HR side, but for a PO when you go into the messages of PO, select a output, click on <b> Further Data </b>, there will be a field called Dispatch time, where you can set it to <b> Send Immediately </b>. This value also can be defaulted.

I am sure there will be something similar in the IMG Configuration for HR ALE Settings as well.

Regards,

Ravi

Note : Please mark all the helpful answers

0 Kudos

Thanx for your answer,

Which is transaction do I use to get to MESSAGE OUTPUT DETERMINATION.

With regards

0 Kudos

Hi,

USe transaction WE82 .

Regards

vijay

0 Kudos

But thee you only assign messagetypes to basic type and expansions. No times.

0 Kudos

Frank,

WE82 is to define the which IDOC types will work with which message types. For Message determination you will have to do the configuration in IMG (SPRO transaction). Usually this is done by the functional consulants.

For HR I don't know where it is done in IMG.

Regards,

Ravi

Former Member
0 Kudos

Hey Frank,

There is no such Standard functionality available for master data distribution. You got to always execute the RBDMIDOC to process the change pointers generated for Master data changes.

The process explained by Ravi works only for transactional data objects like sales order, invoice..etc where you generate the IDoc through message control.

But, as it is always said.. there is nothing impossible provided you can do little bit of extra coding...

So, here is the solution for your requirement..

1. create a Z function module with same interface as SWW_WI_CREATE_VIA_EVENT_IBF

2. Identify the Change document object for you master data object.. you can find it in SWED..

3. identify the business object you use in your change pointers configuration for message type.

4. In SWEL, configure an event (like changed for example) that to be generated at time of changing the document.

5. In SWE2, setup you function module as receiver of the event.

6. In the function module, write your code to call RBDMIDOC program for your message type. may be it is a better to put a wait statement for 5 second before you call the program in the FM. This to wait for the change pointers to be committed in the DB.

Let me know if this works for you...

Regards,

Nagaraju Chidurupalli.

0 Kudos

Well, Change Pointers work for Master Data Objects like MATERIALS, CUSTOMER, VENDORS etc. I just don't know the HR area configuration.

regards,

Ravi

0 Kudos

I Dont understand the SWEx transactions. I configured the ALE/IDOC with the WExx and BDxx transactions. I created a port at WE21 for transactional RFC. And with WE20 I setup a partner Logical system assign a message type and within the message type I say IDOC direct send. I think it has to work. but how?

With regards

Former Member
0 Kudos

Hello Frank,

I guess Frank is asking for Creating the change IDoc as soon as the change is saved in the System for Master data without manual intervention of executing RBDMIDOC.

The "Transfer IDoc immediately" option in We20 is for transmitting the generated iDoc, not for generating the IDoc itself.

Frank my understanding is correct, you can do that in 2 ways.

Setup a batch job for RBDMIDOC to run every 5 minutes.. which is close to you are looking for but not exact.

Option 2 would be to have a process of identifying the change in master data immediately after the change is saved. For this you can use Workflow Notification process for which I have given steps to implement that. No Work item need to be created in you case, that is why a Z FM would be the event receiver in you case, which in tern run should be running RBDMIDOC to genrate the IDoc.

All the SWEx transactions I mentioned are to configure the workflow process.

Let me know if wrongly interpreted your requirement.

Regards,

Nagaraju Chidurupalli

0 Kudos

Thank you very much,

Now I have the RBDMIDOC running every minute. The option Transfer IDoc immediately is on. And by what you say I understand that this setting does not send the IDoc to the other system even when the change pointer is automatically created.

I am going to try the Z FM part.

With regards,

Frank