XSJOB Scheduling multiple steps

Hi,
We are about to set up an XSJOB scenario in our system and I have some questions around it. It would be great if anyone can shed some light on this.
How do we setup a multiple step job with XSJOB. In ABAP we can set the start time of a job and include multiple steps(programs) in it, each executing after its predecessor step completes.
If we can have steps can we also set dependencies between them? For e.g state whether or not a particular step must wait for a previous step to complete before it can start execution. If there is no dependency it can execute in parallel. Does such a function exist in XSJOB?
Looking forward to responses from you.
Thanks,
Nehal.

Hi Nehal,
Not sure whether there is standard options available to achive the same. But still, you can create a master XSJS and you can manually initiate xsjobs from XSJS itself.
After finishing executing the first job, manually trigger the other job and it goes on.
( Waiting for other direct options   )
Sreehari 

Similar Messages

  • Schedule Jobs with multiple steps via ABAP Program

    Hi,
    I need to schedule multiple programs via background jobs on a daily basis. Since all these jobs are to be run as a single job, the various programs have to be run as steps in a major job.
    I am however not very clear on how this can be done via an ABAP program ( the idea of a program is that various parameters to be passed to each program in the step can be entered dynamically rather than via variants).
    I am using the JOB_OPEN and JOB_CLOSE functions and submitting the programs with selection screen parameters dynamically passed to create a job. I need to do this for various programs as a job step (WITHOUT Variants being defined).
    Can anyone suggest any ideas for this? I have tried out JOB_SUBMIT Function but am not very confident I know what exactly it is for as it asks for a variant.
    Thanks very much,
    Preet

    Hi Preet,
    just to be sure: you know, that variants can be dynamical, too?
    It's quite usual to assign dynamical current date, but it's also possible to add / subtract value and even define own functionality.
    Maybe it's easier to implement a dynamical selection and handle static jobs.
    If you try to plan a job (online or with JOB_SUBMIT), you have to use variants - you can create (or change) them dynamical in beforehand. Only SE38, F8, F9 is creating a temporary variant, so that no saved variant is necessary.
    But if you end up creating variants dynamical, you can change one existing variant, too. Then you can use a static job definition (with periodical starting rule).
    So: have a look, if dynamic variants are enough, otherwise change variants per job.
    Regards,
    Christian

  • Schedule a Job with multiple steps via ABAP Program

    Hi Friends,
    I want to create a report(Ex: ZREP) that will run another program(Ex: ZPGM) in background. What I need to do is, when I execute the report ZREP it should run the ZPGM automatically in background. This background execution should happen through JOB with multiple steps.
    Why i am mentioned steps is, i have 1000 records in ZTABLE and need to execute 100 records each in one step and need to proecess in ZPGM with selection parameters. So in my case my job should create with 10 steps and need to execute in sequential manner.
    FYI, In the ZREP selection screen i need to enter the records count/ interval to derive the job steps.
    Please guide how to go ahead? Thanks in advance for all the help.
    Regards,
    Raghu.

    Hi Raghu,
    You can try the following pieces of code:
    Loop at gt_table.   "This table contains 100 records previously appended
    w_jobname = c_job_emision   "Job Name.
        CALL FUNCTION 'JOB_OPEN'
          EXPORTING
            jobname          = w_jobname
          IMPORTING
            jobcount         = w_jobacount
          EXCEPTIONS
            cant_create_job  = 1
            invalid_job_data = 2
            jobname_missing  = 3
            OTHERS           = 4.
        IF sy-subrc <> 0.
          MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                  WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        ENDIF.
    * Perform or create T_SELTAB with parameters options
    PERFORM Create_seltab_table.
    *Call second program.
    SUBMIT ZREP WITH  SELECTION-TABLE t_seltab AND RETURN.
    *Close Job.
        CALL FUNCTION 'JOB_CLOSE'
          EXPORTING
            jobcount             = w_jobacount
            jobname              = w_jobname
            strtimmed            = c_x  "Immediate Start
         EXCEPTIONS
            cant_start_immediate = 1
            invalid_startdate    = 2
            jobname_missing      = 3
            job_close_failed     = 4
            job_nosteps          = 5
            job_notex            = 6
            lock_failed          = 7
            OTHERS               = 8.
        IF sy-subrc <> 0.
          MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                  WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        ENDIF.
    ENDLOOP.
    Hope this helps.
    Regards
    Ernesto
    PS: Raymond Giuseppi was faster.
    Edited by: Ernesto Caballero on Mar 10, 2010 1:57 PM

  • [Forum FAQ] Schedule multiple versions of System Image Backup in Windows 8.1

    As we known that there is no UI for user to configure Image backup in Windows 8.1, this is a guide for your to schedule multiple versions of System Image Backup.
    Step 1: Create a task to schedule an image backup with following command:
    SCHTASKS /Create /SC WEEKLY /D MON /TN WeeklyFullBackup /RL HIGHEST /ST 13:00 /TR “wbAdmin Start Backup -backupTarget:F: -include:C: -allCritical -quiet”
    Step 2: Schedule a robocopy to backup the saved image with BAT file:
    Please create a new folder (in this example, the new folder is e:\test2) to save your multiple copies of image backup:
    Write following batch file to copy backup and rename with backup date:
    *****************BAT********************
    @echo off
    robocopy e:\test1\ e:\test2\ test.wim
    ren e:\test2\test.wim  test_%date:~10,4%%date:~7,2%%date:~4,2%_%time:~0,2%%time:~3,2%.wim
    NOTE: e:\test2 is my location to save multiple copies of image backup; e:\test1 is the location I create the system image backup.
    This BAT can also help to rename the copy of image backup with date and time like below:
      3.  Set up a basic task in Task schedule:
    Note: please make sure the time you configured follows the time you set for image backup in Step 1.
    Action -> Create basic task (Name you task) -> Trigger (Set how often this task should be run) -> Action (Start a program) -> Under Program/script, point to your bat file you create in Step 2.b -> Finish
    At the end, you can know more about SCHTASKS and Robocopy via following links:
    Robocopy
    http://technet.microsoft.com/en-us/library/cc733145.aspx
    Schtasks
    http://technet.microsoft.com/en-us/library/cc725744.aspx
    Welcome to your feedbacks.
    Please click to vote if the post helps you. This can be beneficial to other community members reading the thread.

    Hi,
    Thanks for posting in Microsoft TechNet forums.
    I will try to involve someone familiar with this topic to further look at this issue. There might be some time delay. Appreciate your patience.
    Regards,
    Kelvin Xu
    TechNet Community Support

  • How do i select multiple steps and move them?

    Hi everyone! I'm trying to select multiple steps and move them all into a branch of a condition outcome. Here's the thing, I have almost completed my workflow with several steps for dynamic approval, however, i need to put a condition at the very start of the workflow and it does not seem that there is an easy way to move all of the steps into one branch. I find the workflow explorer really clumsy in this respect. Is it easier to just drag one outcome of the condition, say to the very end of the workflow? It does not seem to work for me though...hmmm...
    Thanks and generous points will be awarded!

    Funtion Module 'SWD_GET_WORKFLOW_DEFINITION ' gives the structure of the Workflow definition. The informations are stored in following table.
    1. SWDSTEXT -> Table which gives WF Steps and descriptions
    2. SWDSBINDEF --> Binding information is stored in this table
    3. SWDSMNODES -> All nodes information is stored in this table
    4. SWDSMLINES -> Workflow lines are stored in this table.
    <b>SWDSMLINES</b> and <b>SWDSMNODES</b> are important tables for current requirement. By changing <b>SWDSMLINES</b> the bulk copy and paste can be incorporated. But this is <b>very very risky</b>, better to have a backup of workflow definition before doiing anything.
    Any enthuiasts to write code for a unitlity to move multiple steps ?

  • Single Spool for multiple steps

    Hi,
    I have a requirement, where in for multiple steps in a job i need single spool.
    Single spool is created for multiple steps when i am running the back ground job with my user id. The problem is when running the same job with the batch user id, more than one spool is created. I have checked the settings of the batch id and even marked it as dialog user still more than one spool is getting created.
    Pls let me know why this problem is happening.
    Thanks,
    Raju

    Check the user profile (SU01) of your batch user, "output immediately" should be deactivated. Also check the print parameters in the job steps, "new spool request" should be deactivated.
    I haven't tried this in a while, but the answer should be somewhere around these settings.
    Thomas

  • Schedule multiple jobs/test runs

    Hi,
    Is there a way to schedule multiple jobs/test runs with oats 9.10?
    It seems it is only possible to schedule a single job, by setting the start time in OLT...
    Any suggestions?

    Hi
    I'm talking about functional tests.
    In OLT when you set the auto-pilot you can schedule the test to start after a delay of xxx minutes or at some exact time, however I have never used that fixture.
    Regards
    Alex

  • Trace Stack Error - Multiple step operation generated errors

    When importing a mapping table into Financial Data Management, I received an error code 2147217887 multiple-step operation generated errors. Check each status value. I was exporting a mapping table from our development application into our production application, so I am not sure what caused this error message. Any ideas would be greatly appreciated. Thank you.

    I solved this problem.
    Oracle Provider for OLE DB 9.x is supporting Unicode.
    But I didn't handle Unicode (DBTYPE_WSTR).
    I added Unicode handling code in my source, then there was no error.

  • Scheduling Multiple Reports at Once

    Is it possible to schedule multiple reports at once - so if I have a set of 40 reports that make up a financial close book, can I just schedule the book?
    Thanks,
    Chris

    Hi ,
    use the RUN_PRODUCT() built - in procedure..... for every instance of record , if you have a multi-record-block.....
    note: maybe you should give some additional info , adout what the form like , in which circumstances should the reports be called , .. ... e.t.c..
    Simon

  • Scheduled Chained Steps

    I've been trying to create a Scheduler Chain in Oracle 11.2 to kick off steps based off of a schedule.  Below is an example script I used to attempt this, what I would like is Step1 to execute with the start of the chain, then Step2 to execute on a schedule, then Step3 to execute once Step1 and Step2 are complete.  This is for a nightly process where Step1 would execute at midnight, then Step2 would execute at 1AM.  The step I'm having issues with is defining the start of Step2 is at line 134.
    I also couldn't find an example of using DBMS_SCHEDULER.DEFINE_CHAIN_EVENT_STEP using the event_schedule_name overload, so if anyone has come across one please share.
    /* CREATE TABLE */
    Create table chain_table
        chain_ts timestamp default current_timestamp,
        chain_step varchar2(100)
    /* CREATE PROCEDURE */
    create procedure chain_test_proc
        step_name in varchar2
    ) as
    begin
        execute immediate 'insert into chain_table (chain_step) values (:1)'
        using step_name;
        commit;
    end chain_test_proc;
    /* CREATE SCHEDULE */
    begin
        dbms_scheduler.create_schedule
            repeat_interval  => 'FREQ=MINUTELY;',   
            start_date => to_timestamp_tz('2014-03-17 12:14:00.000000000 AMERICA/CHICAGO','YYYY-MM-DD HH24:MI:SS.FF TZR'),
            comments => 'Runs minutely for testing',
            schedule_name  => '"STEP2_SCHEDULE"');
    end;
    /* CREATE PROGRAMS */
    begin
        dbms_scheduler.create_program
            program_name => 'STEP1_PROGRAM',
            program_action => 'CHAIN_TEST_PROC',
            program_type => 'STORED_PROCEDURE',
            number_of_arguments => 1,
            comments => null,
            enabled => false
        dbms_scheduler.define_program_argument
            program_name => 'STEP1_PROGRAM',
            argument_position => 1,
            argument_name => 'STEP_NAME',
            argument_type => 'VARCHAR2',
            default_value => 'STEP1',
            out_argument => false
        dbms_scheduler.create_program
            program_name => 'STEP2_PROGRAM',
            program_action => 'CHAIN_TEST_PROC',
            program_type => 'STORED_PROCEDURE',
            number_of_arguments => 1,
            comments => null,
            enabled => false
        dbms_scheduler.define_program_argument
            program_name => 'STEP2_PROGRAM',
            argument_position => 1,
            argument_name => 'STEP_NAME',
            argument_type => 'VARCHAR2',
            default_value => 'STEP2',
            out_argument => false
        dbms_scheduler.create_program
            program_name => 'STEP3_PROGRAM',
            program_action => 'CHAIN_TEST_PROC',
            program_type => 'STORED_PROCEDURE',
            number_of_arguments => 1,
            comments => null,
            enabled => false
        dbms_scheduler.define_program_argument
            program_name => 'STEP3_PROGRAM',
            argument_position => 1,
            argument_name => 'STEP_NAME',
            argument_type => 'VARCHAR2',
            default_value => 'STEP3',
            out_argument => false
        dbms_scheduler.enable ('STEP1_PROGRAM');
        dbms_scheduler.enable ('STEP2_PROGRAM');
        dbms_scheduler.enable ('STEP3_PROGRAM');
    end;
    begin
    /* CREATE CHAIN */
        sys.dbms_scheduler.create_chain
            chain_name          => 'MY_CHAIN',
            rule_set_name       => null,
            evaluation_interval => null,
            comments            => null
    /* CREATE CHAIN STEPS */
        sys.dbms_scheduler.define_chain_step
            chain_name          => 'MY_CHAIN',
            step_name           => 'STEP1_PROG',
            program_name        => 'STEP1_PROGRAM'
        sys.dbms_scheduler.define_chain_step
            chain_name          => 'MY_CHAIN',
            step_name           => 'STEP2_PROG',
            program_name        => 'STEP2_PROGRAM'
        sys.dbms_scheduler.define_chain_event_step
            chain_name          => 'MY_CHAIN',
            step_name           => 'STEP2_SCHED',
            event_schedule_name => 'STEP2_START_SCHEDULE'
        sys.dbms_scheduler.define_chain_step
            chain_name          => 'MY_CHAIN',
            step_name           => 'STEP3_PROG',
            program_name        => 'STEP3_PROGRAM'
    /* CREATE CHAIN RULES */
        -- Start of Chain
        sys.dbms_scheduler.define_chain_rule
            chain_name          => 'MY_CHAIN',
            condition           => 'TRUE',
            action              => 'START STEP1_PROG',
            rule_name           => 'STEP1',
            comments            => null
        -- Step having issues with
        sys.dbms_scheduler.define_chain_rule
            chain_name          => 'MY_CHAIN',
            condition           => 'STEP2_SCHED COMPLETED',
            action              => 'START STEP2_PROG',
            rule_name           => 'STEP2',
            comments            => 'Runs on a schedule'
        -- Last step
        sys.dbms_scheduler.define_chain_rule
            chain_name          => 'MY_CHAIN',
            condition           => 'STEP1_PROG COMPLETED AND STEP2_PROG COMPLETED',
            action              => 'START STEP3_PROG',
            rule_name           => 'STEP3',
            comments            => null
        -- End Chain
        sys.dbms_scheduler.define_chain_rule
            chain_name          => 'MY_CHAIN',
            condition           => 'STEP3_PROG COMPLETED',
            action              => 'END',
            rule_name           => 'END_CHAIN',
            comments            => null
    /* ENABLE CHAIN */
        dbms_scheduler.enable (name => 'MY_CHAIN');
    end;
    /* RUN CHAIN */
    -- exec dbms_scheduler.run_chain (chain_name => 'MY_CHAIN', start_steps => null, job_name => null);
    /* ROLLBACK
        -- Drop Chain
        exec dbms_scheduler.drop_chain ('MY_CHAIN');
        -- Drop Programs
        exec dbms_scheduler.drop_program ('STEP1_PROGRAM, STEP2_PROGRAM, STEP3_PROGRAM');
        -- Drop Schedule
        exec dbms_scheduler.drop_schedule ('STEP2_SCHEDULE');
        -- Drop table
        drop table chain_table;
        -- Drop procedure
        drop procedure chain_test_proc;

    Hi,
    Another possible workaround I thought about: play with the PAUSE attribute of the chain.
    When your chain starts, alter it inside program1 to pause Step2:
    DBMS_SCHEDULER.ALTER_CHAIN(chain_name =>'MY_CHAIN',
                               step_name  => 'STEP2_PROG',
                               attribute  => 'PAUSE',
                               value      => TRUE
    Create an independant scheduler job to alter the PAUSE attribute of the chain:
    DBMS_SCHEDULER.CREATE_JOB(job_name       => 'ALTER_MY_CHAIN_JOB',
                              job_type       => 'PLSQL_BLOCK',
                              job_action     => 'BEGIN
                                                      DBMS_SCHEDULER.ALTER_CHAIN(chain_name =>''MY_CHAIN'',
                                                                                 step_name  => ''STEP2_PROG'',
                                                                                 attribute  => ''PAUSE'',
                                                                                 value      => FALSE
                                                 END;',
                              repeat_interval => 'FREQ=DAILY;BYHOUR=1',
                              enabled         => TRUE,
                              auto_drop       => FALSE
    This job will run everyday at 1am to set the PAUSE attribute to FALSE for the chain. This way the chain should restart.   
    Again, it's a suggestion, needs to be tested!

  • Multiple Step Error Caused by SQL Syntax?

    Hi All:
    I am getting a multiple step error when I do this:
    rs.Fields("MyField").Value = MyValue
    I finally tracked down the error to being caused by this syntax:
    SELECT a.* FROM MyTable a
    or
    SELECT a.MyField FROM MyTable a
    However, this syntax works just fine:
    SELECT * FROM MyTable
    or
    SELECT MyField FROM MyTable
    So what's the big deal here?
    Note: Both statements work fine in SQL Server; Oracle chokes on the aliased one.
    Doug.

    Hi Doug,
    I am having very similar problem while runnig the following statments:
    SELECT DESCRIPTION FROM ITEM, LOCATION WHERE ITEM.LOCATIONID = LOCATION.LOCATIONID "Updatable"
    SELECT DESCRIPTION FROM ITEM JOIN LOCATION ON ITEM.LOCATIONID = LOCATION.LOCATIONID " Not updatable"!
    if you figure out something pls let me know!
    Abdullah Obeid.
    Hi All:
    I am getting a multiple step error when I do this:
    rs.Fields("MyField").Value = MyValue
    I finally tracked down the error to being caused by this syntax:
    SELECT a.* FROM MyTable a
    or
    SELECT a.MyField FROM MyTable a
    However, this syntax works just fine:
    SELECT * FROM MyTable
    or
    SELECT MyField FROM MyTable
    So what's the big deal here?
    Note: Both statements work fine in SQL Server; Oracle chokes on the aliased one.
    Doug.

  • Regarding ssis - schedule multiple packages at a time

    Hi,
       how do we schedule multiple packages at a time in ssis

    You could create a master package with Execute Package Tasks to execute child packages and then use SQL Server Agent to schedule the master package.
    Please mark the post as answered if it answers your question | My SSIS Blog:
    http://microsoft-ssis.blogspot.com |
    Twitter

  • Multiple-step operation generated errors.

    Server : Oracle 9i release 2
    OLE DB : OLE DB Provider 9.0.1.0, 9.2.0.4
    In VC++,
    When call IRowset::GetData(), It makes an error.
    "Multiple-step operation generated errors. Check each status value."
    what does it mean? and how can I fix this error?
    Thank you.

    I solved this problem.
    Oracle Provider for OLE DB 9.x is supporting Unicode.
    But I didn't handle Unicode (DBTYPE_WSTR).
    I added Unicode handling code in my source, then there was no error.

  • ADO multiple-step error

    Based on my earlier post but with less information, how do I best work out the cause of this error when performing an ordinary ADO Recordset.Update operation?
    error '80040e21'
    Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done.
    The ODBC trace logfile (below) seems to show an error in the SQLBulkOperations call. What does this mean and how can I work it out any further?
    Thanks,
    Richard
    Processid:{EF91 150-974 ENTER SQLBulkOperations
    SQLHSTMT 01151C78
    SQLSMALLINT 4
    Processid:{EF91 150-974 EXIT SQLBulkOperations with return code -1 (SQL_ERROR)
    SQLHSTMT 01151C78
    SQLSMALLINT 4
    Processid:{EF91 150-974 ENTER SQLGetDiagRecW
    SQLSMALLINT 3
    SQLHANDLE 01151C78
    SQLSMALLINT 1
    SQLWCHAR * 0x0527DBE8 (NYI)
    SQLINTEGER * 0x0527DC0C
    SQLWCHAR * 0x0527D7E8 (NYI)
    SQLSMALLINT 512
    SQLSMALLINT * 0x0527DC10
    Processid:{EF91 150-974 EXIT SQLGetDiagRecW with return code 100 (SQL_NO_DATA_FOUND)
    SQLSMALLINT 3
    SQLHANDLE 01151C78
    SQLSMALLINT 1
    SQLWCHAR * 0x0527DBE8 (NYI)
    SQLINTEGER * 0x0527DC0C
    SQLWCHAR * 0x0527D7E8 (NYI)
    SQLSMALLINT 512
    SQLSMALLINT * 0x0527DC10                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

    error '80040e21'
    Multiple-step OLE DB operation generated errors. Check >each OLE DB status value, if available. No work was doneUnfortunatly this error is too easy to repeat with several databases. I have produced this error in adoanywhere using serverside cursor locations. Switching to Client-Side cursor location often stops the error.
    It generally happens when I attempt to open 2 or more connections and attempt to modify the same row in each.
    HTH,
    Mike
    www.adoanywhere.com

  • Multiple Steps Verification

    Hi,
    How can I get multiple steps status from TestStand? I have 20+ pass/fail steps in code and need to update one station global array based on the result status. Example of my sequence given below for better understanding.
    Step1: Action 1
    Step 2: Action 2
    Step 3: Test 1 (Pass/Fail)
    Step 4: Test 2 (Pass/Fail)
    Step 5: Action 3
    Step 6: Test 3 (Numeric Test)
    Step 7: Test 4 (String Test)
    Step 8: Test 5 (Pass/Fail)
    Step 9: Action 4
    Step 10: Test 6 (Pass/Fail)
    In this sequence, if Test 1, 2, 6 passes, I need to update one Station global (array element 1); if Test 3, 5, 6 passes, need to update Station global (array element 2) and Test 4, 6 passes Station global (array element 3). How can I implement it? At present we are doing with ANDing unique number of steps status with “if” condition.
    Thanks,
    Sanad MM

    You have Result array at runtime, and there are all status of steps, then you u need to write expression to check them and do actions on stationglobals

Maybe you are looking for

  • Can't save to external hard drive connected to Airport Ex from networked pc

    Hi, I have always been able to access the files on my external harddrive that's connected to my Airport Extreme from my wirelessly networked laptop pc and make changes, deletions, save files, etc. Sometime in the past couple of weeks, it changed. I s

  • WRT350N partially loses Internet connection

    Sometime (quiet random) after sometime the router loses partially ita surfing abilities which means, I am able to use Skype, messenger, torrent client etc. BUT not able to read neither web pages nor emails (using Outlook). Seems that the router for s

  • ABAP HR: BADI for payroll driver

    Hi Experts,   The requirement is to create the badi/user exit in payroll driver. Can any one please list the names of badis and user exits available for RPCALCU0. I am working on ecc 6.0. Thanks. Irfan

  • AttachNotSupportedException occurs in Unix, not in Windows

    I'm developing a cross-platform, distributed computing software suite in 100% pure java and am using the VirtualMachine class to do CPU usage monitoring on each node in the network (by getting the cpu time of each thread in each running jvm - I can d

  • Storing video files in CLOB

    Hi, I have a requirement like to store and retrieve video files and pdf files in a CLOB datatype in an oracle table (10g). Is it possible to store video files in CLOB? If yes plz provide me a sample code. Thanks in advance. Regards, Karthik.K Edited