天使用BAPI函數:BAPI_MATERIAL_BOM_GROUP_CREATE創建BOM組數據,過程中發現很多問題啊。總結如下:
BOMGROUP VARIANTS 這兩個參數必須要傳遞。否則會導致程序dump。
所以在網上找了個實例程序。傳的參數如下:
REFRESH BOMGROUP.CLEAR BOMGROUP.
BOMGROUP-BOM_GROUP_IDENTIFICATION = 'BAPI_SMP_COL1'."標識物料單組
BOMGROUP-OBJECT_TYPE = 'BGR'."BOM 組中的對象類型
BOMGROUP-OBJECT_ID = 'SIMPLE1'."BOM 組中對象的標識
BOMGROUP-BOM_USAGE = '5'."BOM 用途
BOMGROUP-LTXT_LANG = SY-LANGU."語言:用此語言存儲長文本
BOMGROUP-TECHNICAL_TYPE = ' '."技術類型
BOMGROUP-BOM_TEXT = '原材料BOM'."BOM 文本
APPEND BOMGROUP.CLEAR BOMGROUP.
REFRESH VARIANTS.CLEAR VARIANTS.
VARIANTS-BOM_GROUP_IDENTIFICATION = 'BAPI_SMP_COL1'."標識物料單組
VARIANTS-OBJECT_TYPE = 'BOM'."BOM 組中的對象類型
VARIANTS-OBJECT_ID = 'SIMPLE1'."BOM 組中對象的標識
VARIANTS-ALTERNATIVE_BOM = '01'."可選的 BOM
VARIANTS-BOM_STATUS = '01'."BOM 狀態
VARIANTS-BASE_QTY = '1.000'."基本數量
VARIANTS-VALID_FROM_DATE = SY-DATUM."有效起始日期
VARIANTS-FUNCTION = 'NEW'."功能
APPEND VARIANTS.CLEAR VARIANTS.
特別說明的是,那個可選BOM,賦值為‘01’,如果你寫成‘1’。那就會報錯。所以前面那個0不能省略啊。
這個 ITEMASSIGNMENTS參數不能省略呀,要和VARIANTS.想對應。
note:如果不想創建bom組,而是簡單的只創建BOM,那么可以使用函數 CSAP_MAT_BOM_CREATE