"启用后台JOB
PERFORM FRM_SET_JOB .
*&---------------------------------------------------------------------*
*& Form frm_set_job
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
FORM FRM_SET_JOB .
DATA: LS_PROG_LOCK LIKE ZDST_PROG_LOCK .
DATA: LV_PROG_NAME TYPE C LENGTH 20,
LV_JOB_NAME LIKE TBTCO-JOBNAME, "作业名
LV_JOB_NR LIKE TBTCO-JOBCOUNT. "作业号
LV_PROG_NAME = '程序名' .
SELECT SINGLE * INTO LS_PROG_LOCK FROM ZDST_PROG_LOCK WHERE
PROGNAME = LV_PROG_NAME AND ZJOB_FLG = 'X'.
*------------------------------------------------------启用JOB
IF SY-SUBRC = 0.
WAIT UP TO LS_PROG_LOCK-WTIME SECONDS.
LV_JOB_NAME = `程序名及描述` && SY-DATUM && SY-UZEIT .
CALL FUNCTION 'JOB_OPEN'
EXPORTING
JOBNAME = LV_JOB_NAME
IMPORTING
JOBCOUNT = LV_JOB_NR
EXCEPTIONS
CANT_CREATE_JOB = 1
INVALID_JOB_DATA = 2
JOBNAME_MISSING = 3
OTHERS = 4.
IF SY-SUBRC = 0.
"调用需要跑JOB的程序
SUBMIT 程序名
USER SY-UNAME " mandatory
VIA JOB LV_JOB_NAME NUMBER LV_JOB_NR
TO SAP-SPOOL
DESTINATION 'LP01'
IMMEDIATELY ''
KEEP IN SPOOL 'X'
WITHOUT SPOOL DYNPRO
AND RETURN.
IF SY-SUBRC = 0.
CALL FUNCTION 'JOB_CLOSE'
EXPORTING
JOBCOUNT = LV_JOB_NR
JOBNAME = LV_JOB_NAME
STRTIMMED = 'X'.
ENDIF.
ENDIF.
ENDIF.
*---------------------------------------------------关闭JOB
ENDFORM.