取消ECN更改的方法

来源:互联网 发布:setting up your mac 编辑:程序博客网 时间:2024/04/28 09:45

1、使用标准事务ccundo可以取消ECN的更改

参照标准事务写了个简单的程序

PARAMETERS:P_AENNR TYPE AENNR OBLIGATORY MATCHCODE OBJECT AEN1.
DATABADI_ECM_UNDO      TYPE REF TO IF_EX_ECM_UNDO,
      LS_OBJECT TYPE CC01_UNDO_OBJECT,
      LT_MESSAGES   TYPE SEDEP_ERROR_TABLE,
      GS_AENR            TYPE AENR,
      lt_undo TYPE cc01_undo_object_tab.

SELECT SINGLE FROM AENR INTO GS_AENR WHERE AENNR EQ P_AENNR.

 CALL METHOD cl_exithandler=>get_instance
    EXPORTING
      exit_name              'ECM_UNDO'
      null_instance_accepted space
    CHANGING
      instance               badi_ecm_undo.

CALL METHOD BADI_ECM_UNDO->SELECT_OBJECTS
  EXPORTING
    I_AENNR    P_AENNR
  CHANGING
    CT_OBJECTS LT_UNDO.

LOOP AT LT_UNDO INTO LS_OBJECT.
***  ls_object-aenob = BOM/plant/Alternative BOM
    CALL METHOD BADI_ECM_UNDO->UNDO_OBJECT
            EXPORTING
              I_AENR      GS_AENR
            CHANGING
              C_OBJECT    LS_OBJECT
              CT_MESSAGES LT_MESSAGES.
ENDLOOP.

原创粉丝点击