zoukankan      html  css  js  c++  java
  • 工程变更号的修改生效日期--实例

    FUNCTION ZEPE00_CHANGE_ECN .
    *"----------------------------------------------------------------------
    *"*"本地接口:
    *"  IMPORTING
    *"     VALUE(LEAD_CHANGE_NO) TYPE  /PLMB/AENNR OPTIONAL
    *"     VALUE(LV_EFFECTIVE_DT) TYPE  CC_DATUV_BI OPTIONAL
    *"  EXPORTING
    *"     VALUE(EP_SUBRC) TYPE  SY-SUBRC
    *"----------------------------------------------------------------------


      DATA:LS_CHANGE_HEADER     TYPE AENR_API01,
           LS_OBJECT_MAT        TYPE AENV_API01,
           LS_OBJECT_BOM_MAT    TYPE AENV_API01,
           LS_OBJECT_DOC        TYPE AENV_API01,
           LS_CHANGE_HEADER_CUS TYPE CCCI_AENR.
      DATA:LT_OBJMGREC LIKE AEOI_API01 OCCURS WITH HEADER LINE.
      DATA:CHANGE_HEADER02 TYPE AENR_API02.

    *  DATA: LEAD_CHANGE_NO  TYPE  /PLMB/AENNR.


      "get EC header
      CALL FUNCTION 'CCAP_ECN_HEADER_READ'
        EXPORTING
          CHANGE_NO       = LEAD_CHANGE_NO
        IMPORTING
          CHANGE_HEADER   = CHANGE_HEADER02
        EXCEPTIONS
          NO_RECORD_FOUND 1
          ERROR           2
          OTHERS          3.

      MOVE SY-SUBRC TO EP_SUBRC.
      CHECK  EP_SUBRC .





      DATABEGIN OF LS_UOBJ,
              MATERIAL  TYPE MATNR,
              PLANT     TYPE WERKS_D,
              BOM_USAGE TYPE CC_STLAN,
            END OF LS_UOBJ.

      DATA: IT_AEOI LIKE AEOI OCCURS WITH   HEADER LINE.

      SELECT AENNR
            AETYP
            OBJKT
            USOBJ
      INTO CORRESPONDING FIELDS OF TABLE IT_AEOI
        FROM AEOI
        WHERE AENNR = LEAD_CHANGE_NO
        AND AETYP '02'.

      LOOP AT IT_AEOI.

        MOVE IT_AEOI-USOBJ TO LS_UOBJ.
        MOVE-CORRESPONDING LS_UOBJ TO  LT_OBJMGREC.
        LT_OBJMGREC-BOM_CAT = IT_AEOI-OBJKT+0(1).

        APPEND LT_OBJMGREC.

      ENDLOOP.



      MOVE-CORRESPONDING CHANGE_HEADER02 TO LS_CHANGE_HEADER.
    *  LS_CHANGE_HEADER-STATUS       = '01'."#### ###
    *  LS_CHANGE_HEADER-FUNCTION    = '1'."####
      LS_CHANGE_HEADER_CUS-XFLAG    'X'.
      LS_OBJECT_BOM_MAT-ACTIVE      'X'.
      LS_OBJECT_BOM_MAT-OBJ_REQU    'X'.
      LS_OBJECT_BOM_MAT-MGTREC_GEN  'X'.
    *  LS_OBJECT_BOM_MAT-GEN_NEW    = 'X'.


      LS_OBJECT_MAT-ACTIVE          'X'.
      LS_OBJECT_MAT-OBJ_REQU        'X'.
      LS_OBJECT_MAT-MGTREC_GEN      'X'.

      LS_OBJECT_DOC-ACTIVE          'X'.
      LS_OBJECT_DOC-OBJ_REQU        'X'.
      LS_OBJECT_DOC-MGTREC_GEN      'X'.

      LS_CHANGE_HEADER-VALID_FROM    = LV_EFFECTIVE_DT.

    *  CALL FUNCTION 'FORMAT_DATE_4_OUTPUT'
    *    EXPORTING
    *      DATIN  = LV_EFFECTIVE_DT
    *      FORMAT = 'DDMMYYYY'
    *    IMPORTING
    *      DATEX  = LS_CHANGE_HEADER-VALID_FROM.

      CLEAR: LS_CHANGE_HEADER-INDATE_RULE,
             LS_CHANGE_HEADER-OUTDATE_RULE.

      "change date first and then change status to 2.
      CALL FUNCTION 'CCAP_ECN_MAINTAIN'
        EXPORTING
          CHANGE_HEADER      = LS_CHANGE_HEADER
          OBJECT_BOM_MAT     = LS_OBJECT_BOM_MAT
          OBJECT_MAT         = LS_OBJECT_MAT
          OBJECT_DOC         = LS_OBJECT_DOC
          FL_SYNCH           ' '
          FL_COMMIT_AND_WAIT 'X'
          FL_NO_COMMIT_WORK  ''
        TABLES
          OBJMGREC           = LT_OBJMGREC
        EXCEPTIONS
          ERROR              1
          OTHERS             2.

      MOVE SY-SUBRC TO EP_SUBRC.
      CHECK  EP_SUBRC .

    ENDFUNCTION.

  • 相关阅读:
    还在使用golang 的map 做Json编码么?
    Golang 性能测试(2) 性能分析
    golang 性能测试 (1) 基准性能测试
    消息队列 NSQ 源码学习笔记 (五)
    消息队列 NSQ 源码学习笔记 (四)
    消息队列 NSQ 源码学习笔记 (三)
    消息队列 NSQ 源码学习笔记 (二)
    消息队列 NSQ 源码学习笔记 (一)
    你不知道的空格
    Supervisor 使用和进阶4 (Event 的使用)
  • 原文地址:https://www.cnblogs.com/twttafku/p/14351890.html
Copyright © 2011-2022 走看看