Skip to Content

In XI, the message processing can be delayed to a certain point of time in future by using time-controlled messaging processing feature. This is applicable only to messages with quality of service EO or EOIO.

Some of the real time examples for doing this could be

– Receiver systems are only available at a fixed point of time
– Message should only be processed at certain times to reduce the cost
– Work load balancing of the integration server

Now, let’s see how to implement this for the below scenario…

Scenario:

We assume that Business System ‘BS1’ sends a request to update the customer master data using plain HTTP Adapter. This request is then mapped to an RFC request which invokes a custom RFC function in R/3.

Step1: Configure the sender and receiver business systems in SLD
Step2: Create the sender, receiver interfaces and mappings in the repository
Step3: Configure the communication between the sender and receiver in the directory
Step4: Test the scenario to ensure that everything is OK.

Now we will introduce the delayed processing……….

Step1: Define Sender/Receiver IDs
– Run the transaction SXMB_ADMIN and navigate to configure->Configure sender/receiver ID
– Click on Edit and then New Entries
– Maintain the sender and receiver details

image image

Step2: Create/Maintain the job
– Run SXMSJOBS transaction
– Click on Add Job
– Maintain the job details

image

Step3: Create the filter SXMSFILTERM
– Click on Add
– Choose the location of filter and the QOS. The filter can be applied in one of the below four places

1.Integration Engin(Sender)
2.Integration Engine (Receiver)
3.Integration Server(Inbound)
4.Integration Server (Outbound)

For this scenario, we use Integration Server Inbound and EO. Here it is only applicable for EO, since the receiver is not known at this time.

image

– Enter the Message filter Criteria. The inbound messages can be filtered using the sender details and optionally using the message size.

image


Step4: Testing the Delayed Processing

Send the request from BS1 using HTTP Adapter and check the message status in SXI_MONITOR, the status is shown as scheduled for processing and the Job status is ‘job not yet executed’.When the scheduled time reaches, the message will be picked up by the scheduled job and triggers the further processing of the message.

To report this post you need to login first.

7 Comments

You must be Logged on to comment or reply to a post.

  1. Dmitriy Mindich
    Great job on time-ptocessed message processing!!!! However, regarding this topic, I am having problems doing exception handling. For example, what happens if message does not come in on specified time!!! The job that was scheduled will just finish with no notification and wait till the next scheduling time. But, how do you report or get an alert that job did not receive any messages to process?

            DM

    (0) 
    1. sreekanth babu Post author
      Thanks ….
      time-controlled processing uses the standard job scheduling features of SAP.
      If the messages do not come in on specified time, it will be kept in delayed status and will be picked when the job runs next time.

      There is no built in alert mechanism to report that job did not receive any message to process.

      (0) 
  2. Ket Pa
    Nice weblog!!!
    One question taking your scenario forward… if we are sending one request for each Customer update at a time and schedule the job at night, there will be many jobs scheduled… right? Will there be any problem because of so many jobs?

    Any suggestion if I need to process all the changes for a day at night time?

    Please advice!!!
    thanks,
    KP

    (0) 
  3. S T
    If there are 10 messages waiting then all of these messages will be delivered.. right?. Can I use this procedure to send one message at a time?
    (0) 
  4. Dheeraj Kumar
    Can this Sender Receiver Definition be created manually only or can it be created by some other means also because in our case we have not created this in our scenario but after some days this thing was implemented due to this we faced lot of problem. So just need to confirm is this a manual activity or can be created by some other means too?

    Regards
    Dheeraj Kumar

    (0) 

Leave a Reply