Skip to Content

Schedule Your BPM

Business Requirement:

             During my current project, I had to schedule a business process. The process should run periodically (might be once in every 30 min/ 1 hr/ Everyday/ Every Weekend depending upon the requirement in various scenario’s).
Note: Refer to prerequisites mentioned at the end of the blog


            Integration process cannot be scheduled to start at a certain time or date. An integration process can be started only by means of a corresponding message. So a dummy message can be used to start the process. But where will this message come from…?


            The message can be delivered to the BPM by any external application by configuring the adapter channel properly. For example, a File adapter can be configured to poll a File Service/ System and dummy file can be delivered to XI (in turn to BPM). The BPM can even be started on receive of Dummy message from a DB System. In such cases the process (scheduling of the process) is dependent upon the polling interval of the channel used to trigger the BPM.

            What if the external application goes down due to network problems or is shutdown for maintenance? Also how can you handle the process if it should not be executed on holidays and Sundays..? You have no control on adapter processing’s. You cannot restrict the adapter from sending the message to BPM on holidays or Sundays…? So look for alternative where you do not need to rely upon external systems to trigger your BPM and at the same time have full control on the process.

Feasible Solution:

            Usage of SAP’s Job scheduling mechanism is an appropriate solution for this business requirement. ABAP Proxies come in handy to realizing the solution. An ABAP Report is scheduled by SAP’s Job Scheduling mechanism to trigger the Client Proxy (generated for the Out bound Interface of Receive step in BPM). This ABAP Report will send a dummy message to XI (which in turn is sent to BPM) to start the Integration process.

Sequence of Steps:

  1. Create a Dummy Message Interface (Outbound Interface & Abstract Interface) and the corresponding Data Types, Message Types for it.
  2. Use this Dummy Message Interface (Abstract type) in BPM (in Receive step) that starts the Integration process.
  3. Use SPROXY (Tcode) to generate Client Proxy for the Dummy Message Interface (Outbound Interface).
    Note:Refer to “Links of help” at the end to “Generate Client Proxies”
  4. Save and Activate your Proxy Objects
  5. Write an ABAP Report (Go to SE38 to write the ABAP Report) to trigger the Client Proxy.
  6. Go to a Client 105 (Other than IS) and execute the ABAP Program. Go to sxmb_moni and see if the process has been successful.
  7. Scheduling of ABAP Program:

  8. Go to sm36, and use Job Wizard to schedule the ABAP Program
    Note:Refer to “Links of help” at the end to “know more about Scheduling of ABAP Program”
  9. image

  10. Use sm37 to monitor the scheduled process.
  11. image

This is also a practical application of ABAP Proxies in integration world.


Client copy has to be created and necessary configurations should have been made to point to integration server.

Links of help:

ABAP Proxies in XI(Client Proxy)
How of schedule ABAP Jobs (in detail)
Hope this blog will helps people in scheduling their Integration Processes.

You must be Logged on to comment or reply to a post.
    • I have demonstrated a way to schedule the BPM and that was the main purpose of the blog. If u find any other way to schedule the BPM, please let me know.
      Siva Maranani.
  • for Scheduling BPM, we following through the following steps

    1. Two Server< Asynchronous
    R/3 ABAP Report async call an OB Interface on XI through Proxies, after the job done, it will drop a file on XI Box where ControlM do a file watcher for the result of success or failure.

    2. Two Servers> Synchronous
    R/3 ABAP Report Sync calls XI and XI Reports back the result after the scenario gets finished.
    (This approach has the issue of an additional application server to monitor, i.e. more moving parts. We would also have to monitor network connectivity between SAP R/3 to SAP XI. )

    We Implement the above two, and we are going with first one as preference.

    But We have the same thought as it was in this blog by Implementing two clients on the XI Box. one acts as IB and other one as Application Server. Use Sync process to schedule and report jobs by ControlM

    We need to confirm whether two clients is best approach in real time. Or is there any other best work arounds for this one.

    I appreciate any feedback. Thanks in advance