SAP ABAP Code to schedule background job programmatically

 

          As we generally create background job with SM36 and can monitor in SM37, but in real time projects, some time we need to create background job programmatically. 

          below is the abap code for the same.


 IF V_BKNUM IS NOT INITIAL.

    "transfer new created booking
    DATA JOBNAME        TYPE TBTCJOB-JOBNAME.
    DATA JOBCOUNT       TYPE TBTCJOB-JOBCOUNT.

    CONCATENATE 'Z' V_BKNUM  INTO JOBNAME.

    CALL FUNCTION 'JOB_OPEN'
      EXPORTING
*       DELANFREP        = ' '
*       JOBGROUP         = ' '
        JOBNAME          JOBNAME
*       SDLSTRTDT        = NO_DATE
*       SDLSTRTTM        = NO_TIME
*       JOBCLASS         = JOBCLASS
*       CHECK_JOBCLASS   = CHECK_JOBCLASS
      IMPORTING
        JOBCOUNT         JOBCOUNT
*       INFO             = INFO
* CHANGING
*       RET              = RET
      EXCEPTIONS
        CANT_CREATE_JOB  1
        INVALID_JOB_DATA 2
        JOBNAME_MISSING  3
        OTHERS           4.
    IF SY-SUBRC <> 0.
* Implement suitable error handling here
    ENDIF.

    IF SY-SUBRC 0.

      " Insert process into job
      SUBMIT ZNEW_BOOKING WITH S_BKNUM BETWEEN V_BKNUM AND V_BKNUM
                      VIA JOB JOBNAME
                      NUMBER JOBCOUNT
                      AND RETURN.

      CALL FUNCTION 'JOB_CLOSE'
        EXPORTING
          JOBCOUNT             JOBCOUNT
          JOBNAME              JOBNAME
          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
          OTHERS               8.
      IF SY-SUBRC <> 0.

      ENDIF.

    ENDIF.

  ENDIF.




After Job created we can see the same in SM37.

Post a Comment

0 Comments

Total Pageviews