Skip to Content

Background Job Scheduling for IP30 (RISTRA20)


As soon as I’m done with my step-by-step reply to a discussion on the subject matter recently, I realized that this long reply comprising of several Screen-captures possesses the characteristics of a Document. So I thought of converting it into a Document, so that members will be benefited from this frequently asked query.

Topic dealt here is for IP30 (program RSITRA20), but this method is valid for other programs too for background scheduling.

Here we see, how to do:

Step1. Create IP30 Variant.

– Run IP30,

– Give your Plan (here it is ABC123 ) in the Maintenance Plan field   (Do not forget this step)

– Click Save Button and in the resulting screen give the Variant name,

– Optional:- Tick  Only for Background Processing and Save again.


So we have just created a Variant named TEST for IP30 .


This variant will not be available for changes in IP30 Tcode, because  ‘Only for Background Processing‘ has been ticked.

For changes of this Variant, you need to Run SE38, give RISTRA20 in Program field, select Variants radio button, and then click on Display,

Click F4 help in Variant field  and click Change.

Step2.  Create Background Job – Run Tcode SM36

Give Job Name and click Start Condition (See Picture)


A pop-up is displayed.

Follow the steps 1 to 7 given in Picture .

(Here it is assumed that you want the RISTRA20 program to run at midnights of everyday)


Click SAVE again

You will be given a pop-up.


Enter ABAP Program Name (Here it is RISTRA20) and the Variant (we know it is TEST), and SAVE.

(Steps 1,2,3 in the above picture)

You will be here:


Do not do anything, Click Back arrow and


All Done

Now to see the schedule –

Run SM37 and Execute. (Give Current Date as FROM date and Date after 2 days as TO Date)

Execute to see a screen like this, where your Job is seen scheduled to be run at Midnight of Every Day. (According to the settings in picture 3 above)


During Scheduling, the Status changes from Released to Active and after Scheduling it turns to Finished.

Hope members will be benefited by this post.

Thank you

Jogeswara Rao K

This document was generated from the discussion: Job Scheduling and activate for Maintenance Plans and modified to be a Document for general relevance.

Comments are closed.
  • Dear Jageswara, I have a comment, after I thank you for your useful document. In the first step, in IP30, instead of " Give your Plan (here it is ABC123 ) in the Maintenance Plan field" you can choose to select the plans, for example, based on the sort field, so all the plans from a certain category to be schedulled and lounched on the same time:

    ScreenHunter_01 Feb. 12 06.29.gif

    ScreenHunter_01 Feb. 12 06.29.gif
    • Hi Sorin,

      Exactly, Yours is an apt observation.

      In realtime we use Sort field more than individual plans list.

      That was my illustrative demo for making a variant in  IP30. Thank you for adding value.


      Jogeswara Rao K

  • Dear Jogeswara Rao
    You have mentioned about

    During Scheduling, the Status changes from Released to Active and after Scheduling it turns to Finished.

    Can you explain what other status mean Ex: Scheduled, Ready etc.

    • Hi Murad,

      In SM37 screen, a list of jobs background scheduled by you are seen. At the time you are viewing this (SM37) screen, if the system is performing the schedule (IP30 is running at that time on that particular variant), then you will see the Status as  Active . Once this Scheduling run  is completed the Status changes to Finished with Green highlighted. After Finishing the job another line of the same job will be seen with Released status. See the picture below. (Here Active Status is not there.)


    • I can classify myself as a PM consultant to my own employer who is an SAP customer. By circumstances I had to enter ABAP. Presently has enough knowledge to be able to help members in SCN spaces like our EAM and few other.

      May like to go through this blog, relevant to your query:

      Functional + Technical = A complete SAPien

      Jogeswara Rao K

      • Its really nice to know that you are techno functional. I am planning similarly to gain functional knowledge in MM,SD,FI,IMWM,PM.... Its a slow process need to see when i will be like you... 🙂 . compared to my previous year currently there is a improvement in my functional knowledge.

  • Hello Sir,

    It was a wonderful document from you on background job scheduling.

    I want to know on e add-on feature on it. Suppose, I want to set few/one status automatically on MO automatically based on some predefined conditions like order completion date (means order should be CLSD/TECO once the order completion date is achieved.) . This prerequisite field can be a user field also.

    Once the above is achieved , a mail should be triggered from system notifying all the stakeholders about the closure of MO.

    I will start a discussion on the same soon,if required.




    • Thank you Saurabh,

      Your query is good, But this should be discussed separately due to the reasons:

      1. It has no close relation to the Scheduling function

      2, It is purely technical.

      Means, once you've achieved your requirement (using ABAP objects), they will be applicable and automatically triggered for the Order called by Schedules.

      Now coming to the point how to go about is:

      1.Setting Automatic System Status upon reaching the date (perhaps you mean the Basic Start Date) , I do not think this can be managed by user exits. I feel that BAPIs are there to meet this requirement.

      2. Triggering Mail is also possible and very frequently discussed in ABAP space.

      Now there are 2 steps for you

      You need to involve ABAPer closely for this task. and

      1. Search the Forum through Google or otherwise for these two requirements separately with proper search strings.

      2. After getting some ideas, if your issue is still needs inputs, please post your query in two separate discussions (both in ABAP space), using clear expressions.

      (In case if you are interested to try in this EAM space first, you may)

      Hope these inputs will be of some help to you.

      Best of Luck Saurabh

      Jogeswara Rao K

  • Sir, Its a very good blog, I have one question , if we have some hundreds maintenance plans.. how to go about it ?? as we cannot input all those maint.plan here.

    Is it can be done by leaving maintenance plan blank. will it consider all maintenance plans if we leave it blank ??

    • Hello Keerthan,

      There seems some gap in understanding the post. A Background job for IP30 (program RISTRA20), starts with making a variant for RISTRA20 program (either through SE38 or IP30 itself). And the Background job creation through SM36 is based on this variant. Means the variant contains only the list of plans you want to schedule. (In terms of Maintenance Plan numbers OR MaintPlan sort field values). Never execute IP30 (RISTRA20) with Maintenance Plan field AND the MaintPlan sort field both blank. It could create havoc.


      • Hello SIr,

        I have a query , what is need of variant we can direct run background jobs as follow:

        IP30----> Program---->Execute in Background.




        • Hello Gaurav,

          This is a very good question. In fact this was exactly my question to the consultants several years ago during implementation. I did not remember the reply, but there are some disadvantages in directly going for this. One among those is to identify this job in SM37 in case you want to stop this background job. Because all such (direct from IP30) jobs are saved under only one name i.e, RISTRA20. But when you go through variant and SM36 route, you can give a Job name of your choice. Example: I have about 120 different background jobs for IP30. I can easily make-out which one I am searching for by their Job names..To study other advantages you need to work on both and sturdy.

          I also recall that I operated for quite sometime this direct way, saying that there is no need for SM36 route. But one-fine day I had to shift for the reason which I do not remember now.


          • Hi Rao sir,

            You are right as always but we can create job by SM36 and define the job name for identifying the background job in SMX , but according my observation there is no need to create variant and assign in SM36 for this, only job name is sufficient to identify the program.

            Sir I have a doubt also suppose I have 200 plan and i want to run background job for all the maintenance plan so is there any short way to run this otherwise I have to run SM36 for individual maintenance plan or for each plan.




          • Hi sir,

            Hwz u ? Sir, SM36 is basis transaction code so we can not give the authorization of it to user and also want to define the job name for the identification of background job.Can you suggest me how user can define the job name.



            Gaurav Solanki

Comments are closed.