日常开发中调用JOB(开发笔记)

*&---------------------------------------------------------------------*
*& Form FOM_GETDATA_JOB
*&---------------------------------------------------------------------*
*& text
*&---------------------------------------------------------------------*
*& -->  p1        text
*& <--  p2        text
*&---------------------------------------------------------------------*
FORM FOM_GETDATA_JOB .

  DATAJOBNAME          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.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值