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: 

Launch 2 jobs, one after another

Former Member
0 Kudos

Hi,

my requirement is very simple, in ABAP i need to launch 2 jobs, one after another. The job 1 is launched and once completed the job 2 is launched.

My problem is that the two jobs are launched at the same ; i tried some parameters but no solution.

REPORT  z_erca_job_create.

DATA: w_job1 LIKE tbtcjob-jobcount,
      w_job2 LIKE tbtcjob-jobcount.

**********************************************************************
* 1er job
**********************************************************************
CALL FUNCTION 'JOB_OPEN'
  EXPORTING
    jobname          = 'ZERCA_JOB_TEST'
  IMPORTING
    jobcount         = w_job1
  EXCEPTIONS
    cant_create_job  = 1
    invalid_job_data = 2
    jobname_missing  = 3
    OTHERS           = 4.

SUBMIT zpr_0098
VIA JOB 'ZERCA_JOB_TEST' NUMBER w_job1
        WITH pmolga EQ '06'
        WITH pperiod EQ '201101'
        WITH psacha EQ '201'
        WITH psbmod EQ 'FRAL'
        WITH ptest EQ space
        AND RETURN.

CALL FUNCTION 'JOB_CLOSE'
  EXPORTING
    jobcount             = w_job1
    jobname              = 'ZERCA_JOB_TEST'
    strtimmed            = 'X'
  EXCEPTIONS
    cant_start_immediate = 1
    invalid_startdate    = 2
    jobname_missing      = 3
    job_close_failed     = 4
    job_nosteps          = 5
    job_notex            = 6
    lock_failed          = 7
    invalid_target       = 8
    OTHERS               = 9.

**********************************************************************
* 2ème job
**********************************************************************
CALL FUNCTION 'JOB_OPEN'
  EXPORTING
    jobname          = 'ZERCA_JOB_TEST2'
  IMPORTING
    jobcount         = w_job2
  EXCEPTIONS
    cant_create_job  = 1
    invalid_job_data = 2
    jobname_missing  = 3
    OTHERS           = 4.

SUBMIT zpr_0104
VIA JOB 'ZERCA_JOB_TEST2' NUMBER w_job2
        WITH pperiod EQ '201101'
        WITH psacha EQ '201'
        WITH psbmod EQ 'FRAL'
        WITH ptest EQ space
        AND RETURN.

CALL FUNCTION 'JOB_CLOSE'
  EXPORTING
*   AT_OPMODE                         = ' '
*   AT_OPMODE_PERIODIC                = ' '
*   CALENDAR_ID                       = ' '
*   EVENT_ID                          = ' '
*   EVENT_PARAM                       = ' '
*   EVENT_PERIODIC                    = ' '
    jobcount                          = w_job2
    jobname                           = 'ZERCA_JOB_TEST2'
*   laststrtdt                        = NO_DATE
*   LASTSTRTTM                        = NO_TIME
*   PRDDAYS                           = 0
*   PRDHOURS                          = 0
*   PRDMINS                           = 0
*   PRDMONTHS                         = 0
*   PRDWEEKS                          = 0
   predjob_checkstat                 = 'X'
   pred_jobcount                     = w_job1
   pred_jobname                      = 'ZERCA_JOB_TEST'
*   sdlstrtdt                         = NO_DATE
*   SDLSTRTTM                         = NO_TIME
*  STARTDATE_RESTRICTION             = 'X'
    strtimmed                         = 'X'
*   TARGETSYSTEM                      = ' '
*   START_ON_WORKDAY_NOT_BEFORE       = SY-DATUM
*   START_ON_WORKDAY_NR               = 0
*   WORKDAY_COUNT_DIRECTION           = 0
*   RECIPIENT_OBJ                     =
*   TARGETSERVER                      = ' '
*   DONT_RELEASE                      = ' '
*   TARGETGROUP                       = ' '
   direct_start                      = 'X'
* IMPORTING
*   JOB_WAS_RELEASED                  =
* CHANGING
*   RET                               =
 EXCEPTIONS
   cant_start_immediate              = 1
   invalid_startdate                 = 2
   jobname_missing                   = 3
   job_close_failed                  = 4
   job_nosteps                       = 5
   job_notex                         = 6
   lock_failed                       = 7
   invalid_target                    = 8
   OTHERS                            = 9.

Thanks for your help.

1 ACCEPTED SOLUTION

ThomasZloch
Active Contributor
0 Kudos

The trick is here to call JOB_CLOSE for Job1 after JOB_CLOSE for Job2, also do not fill "strimmed" in the JOB_CLOSE call for Job2.

Thomas

5 REPLIES 5

ThomasZloch
Active Contributor
0 Kudos

The trick is here to call JOB_CLOSE for Job1 after JOB_CLOSE for Job2, also do not fill "strimmed" in the JOB_CLOSE call for Job2.

Thomas

0 Kudos

Yes ok, but what is the solution ? I tried many parameters without success.

0 Kudos

I thought I was being clear, adjust your code, move the call function JOB_CLOSE for Job1 behind the JOB_CLOSE for Job2, and remove "strimmed = X" from the call for Job2 ("direct_start" as well).

Background is that the predecessor functionality works only for "planned" or "released" jobs, so you must only start the first job in your chain after you have scheduled all subsequent jobs.

Thomas

0 Kudos

Fantastic now it's work with your last recommandation !!!

Very big thanks to you.

kesavadas_thekkillath
Active Contributor
0 Kudos

Ignore

Edited by: Keshav.T on Feb 10, 2011 4:46 PM