API modules for ECM: Function Group – CCAP
Create Change Master Record
BAPI:CCAP_ECN_HEADER_CREATE / CCAP_ECN_CREATE
使用 BAPI 创建更改主记录的表头数据:status、authorization group、valid-from date、description、reason for change。还可以定义更改编号对其有效的对象类型。
- 必输字段:ECN、Status、Valid-from Date、Description。
如果多次调用此函数,则可以使用参数 FL_COMMIT_AND_WAIT 来确保每次更改都保存到数据库中,然后才能进行下一次更改。
参数列表
| Parameter | Description |
|---|---|
| CHANGE_HEADER | 表头数据信息 |
| Object Type : OBJECT_MAT | 设定有效的对象类型:Material、BOM、Task list等 |
| FL_COMMIT_AND_WAIT | 多次调用保证每次都保存到数据库 |
| FL_NO_COMMIT_WORK | 不提交事务,可以用来做测试 |
| CHANGE_NO | BAPI 返回创建的 ECN 号码 |
| T_TEXT | Long text table |
程序实例
DATA:L_CHANGENO LIKE AENRB-AENNR,
LS_HEADER LIKE AENR_API01,
LS_OBJECT_MAT LIKE AENV_API01,
LS_OBJECT_BOM LIKE AENV_API01,
LS_OBJECT_TLIST LIKE AENV_API01,
LT_ITEM TYPE TABLE OF AEOI_API01 WITH HEADER LINE.
DATA: LT_RETURN LIKE BAPIRET2 OCCURS 0 WITH HEADER LINE.
DATA: LV_RESULT TYPE BAPI_MTYPE,
LV_MESSAGE TYPE BAPI_MSG.
"CHANGE_HEADER"
LS_HEADER-CHANGE_NO = AENR-AENNR
LS_HEADER-STATUS = '01'.
LS_HEADER-VALID_FROM = SY-DATUM. "Valid From Must >= Today"
LS_HEADER-DESCRIPT = 'Demo'.
LS_HEADER-REASON_CHG = 'For Test'.
"物件类型"
LS_OBJECT_MAT-ACTIVE = 'X'.
LS_OBJECT_MAT-OBJ_REQU = 'X'.
LS_OBJECT_MAT-MGTREC_GEN = 'X'.
"BOM类型"
LS_OBJECT_BOM-ACTIVE = 'X'.
LS_OBJECT_BOM-OBJ_REQU = 'X'.
LS_OBJECT_BOM-MGTREC_GEN = 'X'.
"Task List类型"
LS_OBJECT_TLIST-ACTIVE = 'X'.
LS_OBJECT_TLIST-OBJ_REQU = 'X'.
LS_OBJECT_TLIST-MGTREC_GEN = 'X'.
"CALL BAPI"
CALL FUNCTION 'CCAP_ECN_CREATE'
EXPORTING
CHANGE_HEADER = LS_HEADER
OBJECT_MAT = LS_OBJECT_MAT
OBJECT_BOM = LS_OBJECT_BOM
OBJECT_TLIST = LS_OBJECT_TLIST
IMPORTING
CHANGE_NO = L_CHANGENO
TABLES
* ALT_DATES =
OBJMGREC = LT_ITEM
* EFFECTIVITY =
* TEXTHEADER =
* TEXTLINES =
EXCEPTIONS
CHANGE_NO_ALREADY_EXISTS = 1
ERROR = 2
OTHERS = 3.
IF SY-SUBRC <> 0.
LV_RESULT = 'E'.
CALL FUNCTION 'BALW_BAPIRETURN_GET2'
EXPORTING
TYPE = SY-MSGTY
CL = SY-MSGID
NUMBER = SY-MSGNO
PAR1 = SY-MSGV1
PAR2 = SY-MSGV2
PAR3 = SY-MSGV3
PAR4 = SY-MSGV4
IMPORTING
RETURN = LT_RETURN.
APPEND LT_RETURN.
LOOP AT LT_RETURN WHERE TYPE = 'E'.
CONCATENATE LT_RETURN-MESSAGE ';' INTO LV_MESSAGE.
ENDLOOP.
ELSE.
LV_RESULT = 'S'.
LV_MESSAGE = 'ECN change successfully'.
ENDIF.
Change Change Master Record
BAPI:CCAP_ECN_HEADER_CHANGE
该 BAPI 用于更改 ECN 的标题数据和对象类型。
该 BAPI 支持两种初始化字段的过程。 在 CALO_INIT_API 模块的 DATA_RESET 字段中选择过程:
- 如果 DATA_RESET 字段与其初始值一起传输,则所有字段,包括包含其初始值的字段,都将从接口复制。 如果传输的字段包含其初始值,则会初始化更改主记录中的相关字段。
- 如果 DATA_RESET 字段被传送一个值,或者如果默认值不被覆盖,具有初始值的字段不会从界面复制。 要初始化字段,必须在接口字段的开头输入 DATA_RESET 字段中定义的字符。
参数列表
| Parameter | Description |
|---|---|
| CHANGE_HEADER | 表头数据信息 |
| Object type | 设定有效的对象类型:Material、BOM、Task list等 |
| FL_COMMIT_AND_WAIT | 多次调用保证每次都保存到数据库 |
| T_TEXT | Long text table |
程序实例
DATA:L_CHANGENO LIKE AENRB-AENNR,
LS_HEADER LIKE AENR_API01,
LS_OBJECT_MAT LIKE AENV_API01,
LS_OBJECT_BOM LIKE AENV_API01,
LS_OBJECT_TLIST LIKE AENV_API01,
LT_TEXT TYPE TABLE OF TLINE WITH HEADER LINE.
DATA: LT_RETURN LIKE BAPIRET2 OCCURS 0 WITH HEADER LINE.
"CHANGE_HEADER"
LS_HEADER-CHANGE_NO = AENR-AENNR
LS_HEADER-STATUS = '01'.
LS_HEADER-VALID_FROM = SY-DATUM. "Valid From Must >= Today"
LS_HEADER-DESCRIPT = 'Demo'.
LS_HEADER-REASON_CHG = 'For Test'.
"物件类型"
LS_OBJECT_MAT-ACTIVE = 'X'.
LS_OBJECT_MAT-OBJ_REQU = 'X'.
LS_OBJECT_MAT-MGTREC_GEN = 'X'.
CALL FUNCTION 'CCAP_ECN_HEADER_CHANGE'
EXPORTING
CHANGE_HEADER = LS_HEADER
OBJECT_MAT = LS_OBJECT_MAT
FL_COMMIT_AND_WAIT = 'X'
TABLES
T_TEXT = LT_TEXT
EXCEPTIONS
ERROR = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
LV_RESULT = 'E'.
CALL FUNCTION 'BALW_BAPIRETURN_GET2'
EXPORTING
TYPE = SY-MSGTY
CL = SY-MSGID
NUMBER = SY-MSGNO
PAR1 = SY-MSGV1
PAR2 = SY-MSGV2
PAR3 = SY-MSGV3
PAR4 = SY-MSGV4
IMPORTING
RETURN = LT_RETURN.
APPEND LT_RETURN.
LOOP AT LT_RETURN WHERE TYPE = 'E'.
CONCATENATE LT_RETURN-MESSAGE ';' INTO LV_MESSAGE.
ENDLOOP.
ELSE.
LV_RESULT = 'S'.
LV_MESSAGE = 'ECN change successfully'.
ENDIF.
Delete Change Master Record
BAPI:CCAP_ECN_HEADER_DELETE
该 BAPI 用于删除变更主记录, 输入更改编号作为导入参数。
CALL FUNCTION 'CCAP_ECN_HEADER_DELETE'
EXPORTING
CHANGE_NO = aenr-aennr
FL_COMMIT_AND_WAIT = 'X'.