*&---------------------------------------------------------------------*
*& Form FOM_GETDATA_JOB
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& --> p1 text
*& <-- p2 text
*&---------------------------------------------------------------------*
FORM FOM_GETDATA_JOB .
DATA: JOBNAME TYPE TBTCO-JOBNAME VALUE 'ZNJOB01', "后台作业名称
JOBCOUNT TYPE TBTCO-JOBCOUNT, "作业标识
JOB_WAS_RELEASED TYPE BTCH0000-CHAR1.
DATA LV_ZTMM04 TYPE ZTMM04.
IF P_ZENNR IS INITIAL .
MESSAGE '请输入自定义版本号!' TYPE 'S' DISPLAY LIKE 'E'.
ELSE.
SELECT SINGLE * INTO CORRESPONDING FIELDS OF LV_ZTMM04 FROM ZTMM04
WHERE UNAME = SY-UNAME
AND ZENNR = P_ZENNR
.
IF SY-SUBRC = 0.
MESSAGE '用户:' && SY-UNAME && ' 版本号: ' && P_ZENNR && ' 已存在!' TYPE 'S' DISPLAY LIKE 'E'.
ELSE.
CLEAR LV_ZTMM04.
LV_ZTMM04-UNAME = SY-UNAME.
LV_ZTMM04-ZENNR = P_ZENNR.
LV_ZTMM04-MATNR_L = S_MATNR-LOW.
LV_ZTMM04-MATNR_H = S_MATNR-HIGH.
LV_ZTMM04-WERKS_L = S_WERKS-LOW.
LV_ZTMM04-WERKS_H = S_WERKS-HIGH.
LV_ZTMM04-MTART_L = S_MTART-LOW.
LV_ZTMM04-MTART_H = S_MTART-HIGH.
LV_ZTMM04-MATKL_L = S_MATKL-LOW.
LV_ZTMM04-MATKL_H = S_MATKL-HIGH.
LV_ZTMM04-EXTWG_L = S_EXTWG-LOW.
LV_ZTMM04-EXTWG_H = S_EXTWG-HIGH.
LV_ZTMM04-DISPO_L = S_DISPO-LOW.
LV_ZTMM04-DISPO_H = S_DISPO-HIGH.
LV_ZTMM04-LOGGR_L = S_LOGGR-LOW.
LV_ZTMM04-LOGGR_H = S_LOGGR-HIGH.
LV_ZTMM04-P_BDATJ = P_BDATJ.
LV_ZTMM04-P_POPER = P_POPER.
LV_ZTMM04-FLAG1 = P_BOX.
LV_ZTMM04-FLAG2 = P_BOX1.
MODIFY ZTMM04 FROM LV_ZTMM04.
COMMIT WORK.
CALL FUNCTION 'JOB_OPEN'
EXPORTING
JOBNAME = JOBNAME
IMPORTING
JOBCOUNT = JOBCOUNT
EXCEPTIONS
CANT_CREATE_JOB = 1
INVALID_JOB_DATA = 2
JOBNAME_MISSING = 3
OTHERS = 4.
IF SY-SUBRC = 0.
SUBMIT ZMMR132_JOB WITH S_MATNR IN S_MATNR
WITH S_WERKS IN S_WERKS
WITH S_MTART IN S_MTART
WITH S_MATKL IN S_MATKL
WITH S_EXTWG IN S_EXTWG
WITH S_DISPO IN S_DISPO
WITH S_LOGGR IN S_LOGGR
WITH P_BDATJ = P_BDATJ
WITH P_POPER = P_POPER
WITH P_UNAME = SY-UNAME
WITH P_ZENNR = P_ZENNR
WITH P_BOX = P_BOX
WITH P_BOX1 = P_BOX1
VIA JOB JOBNAME NUMBER JOBCOUNT AND RETURN
.
IF SY-SUBRC = 0.
CALL FUNCTION 'JOB_CLOSE'
EXPORTING
JOBCOUNT = JOBCOUNT
JOBNAME = JOBNAME
STRTIMMED = 'X'
IMPORTING
JOB_WAS_RELEASED = JOB_WAS_RELEASED
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 SYST-SUBRC <> 0.
MESSAGE '后台作业未关闭!' TYPE 'I'.
UPDATE ZTMM04 SET FLAG3 = 'B' WHERE UNAME = SY-UNAME AND ZENNR = P_ZENNR .
COMMIT WORK.
ELSE.
MESSAGE '已运行后台作用' TYPE 'I'.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDFORM.
日常开发中调用JOB(开发笔记)
最新推荐文章于 2023-02-19 21:37:03 发布