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.
0 Comments