DATA T_STPO TYPE TABLE OF STPO_API02. * Open BOM DATA VALID_FROM TYPE CSAP_MBOM-DATUV. VALID_FROM = SY-DATUM. CALL FUNCTION 'CSAP_MAT_BOM_OPEN' EXPORTING MATERIAL = '8G210002' PLANT = '1001' BOM_USAGE = '1' ALTERNATIVE = '10' VALID_FROM = VALID_FROM "此处比较坑,不能直接用系统变量 * CHANGE_NO = * REVISION_LEVEL = * FL_NO_CHANGE_DOC = ' ' * IMPORTING * O_STKO = * FL_WARNING = TABLES T_STPO = T_STPO * T_DEP_DATA = * T_DEP_DESCR = * T_DEP_ORDER = * T_DEP_SOURCE = * T_DEP_DOC = EXCEPTIONS ERROR = 1 OTHERS = 2. LOOP AT T_STPO ASSIGNING FIELD-SYMBOL(<FS_STPO>) WHERE ITEM_NO EQ 10. * CLEAR:<FS_STPO>-AI_GROUP,<FS_STPO>-AI_STRATEG,<FS_STPO>-AI_PRIO,<FS_STPO>-USAGE_PROB. <FS_STPO>-FLDELETE = 'X'."删除标识 * 维护BOM CALL FUNCTION 'CSAP_BOM_ITEM_MAINTAIN' EXPORTING I_STPO = <FS_STPO> "Headline * FL_DEP_ALE_CONFORM = ' ' * IMPORTING * O_STPO = * FL_WARNING = * TABLES * T_DEP_DATA = * T_DEP_DESCR = * T_DEP_ORDER = * T_DEP_SOURCE = * T_DEP_DOC = EXCEPTIONS ERROR = 1 OTHERS = 2. IF SY-SUBRC = 1. WRITE: /'BOM 更改失败。', 50 '组件 异常'. ELSEIF SY-SUBRC = 2. WRITE: /'BOM 更改失败。', 50 '异常'. ENDIF. * 关闭BOM CALL FUNCTION 'CSAP_MAT_BOM_CLOSE' * EXPORTING * FL_COMMIT_AND_WAIT = 'X' * IMPORTING * FL_WARNING = EXCEPTIONS ERROR = 1 OTHERS = 2. IF SY-SUBRC = 0. * WRITE: /'S:','BOM ',g_matnr-matnr, '更改己更新。'. WRITE: /'BOM 更改己更新。'. * scounter = scounter + 1. ULINE. ENDIF. ENDLOOP.
网友评论