三个BAPI可以用来创建BOM
1、CSAP_MAT_BOM_CREATE

  call function 'CSAP_MAT_BOM_CREATE'exportingmaterial   = g_matnrplant      = g_werksbom_usage  = g_stlanvalid_from = g_datuvchange_no  = g_aennr
*     REVISION_LEVEL           =i_stko     = gw_stko_api01
*     FL_NO_CHANGE_DOC         = ' '
*     FL_COMMIT_AND_WAIT       = ' '
*     FL_CAD     = ' '
*     FL_DEFAULT_VALUES        = 'X'
*     FL_RECURSIVE             = ' '
* IMPORTING
*     FL_WARNING =
*     BOM_NO     =tablest_stpo     = gt_stpo_api03
*     T_DEP_DATA =
*     T_DEP_DESCR              =
*     T_DEP_ORDER              =
*     T_DEP_SOURCE             =
*     T_DEP_DOC  =
*     T_LTX_LINE =
*     T_STPU     =
*     T_FSH_BOMD =
*     T_SGT_BOMC =exceptionserror      = 1others     = 2.if sy-subrc <> 0.
* Implement suitable error handling hereendif.

这个BAPI没有"可选的BOM"字段的传值,默认为"01"。

2、CSAP_MAT_BOM_MAINTAIN

call function 'CSAP_MAT_BOM_MAINTAIN'exportingmaterial           = g_matnrplant              = g_werksbom_usage          = g_stlanalternative        = lv_stlalvalid_from         = g_datuvchange_no          = g_aennri_stko             = gw_stko_api01fl_commit_and_wait = 'X'fl_bom_create      = 'X'fl_new_item        = 'X'fl_complete        = 'X'tablest_stpo             = gt_stpo_api03exceptionserror              = 1others             = 2.if sy-subrc = 0. "成功commit work and wait.gw_ztpp021-resultstatus = 'S'.else. "出错rollback work.gw_ztpp021-resultstatus = 'E'.message id sy-msgid type sy-msgty number sy-msgnowith sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4into gw_ztpp021-resultmsg.endif.

这个BAPI有"可选的BOM"字段的传值,但是需要注意的是,传"可选的BOM"值时需要补足前导0,即传值"2"时,要加前导0,传入"02"。

但是以上两个BAPI在已经创建了这个物料的BOM的情况下,都无法再创建一个新的可选的BOM,会报错提示:“用于……的BOM 已占用”。

查询并测试后,发现以下BAPI可创建新的可选的BOM
BAPI_MATERIAL_BOM_GROUP_CREATE

  data: lt_bomgroup  like bapi1080_bgr_c occurs 0 with header line,lt_variants  like bapi1080_bom_c occurs 0 with header line,lt_items     like bapi1080_itm_c occurs 0 with header line,lt_subitems  like bapi1080_sui_c occurs 0 with header line,lt_materialr like bapi1080_mbm_c occurs 0 with header line,lt_itemassig like bapi1080_rel_itm_bom_c occurs 0 with header line,lt_subitemas like bapi1080_rel_sui_itm_c occurs 0 with header line,texts        like bapi1080_txt_c occurs 0 with header line,lt_return    like bapiret2 occurs 0 with header line.data: lv_stlal type mast-stlal.lv_stlal = '11'.lt_bomgroup-bom_group_identification = 'BAPI_SMP_COL1'.lt_bomgroup-object_type              = 'BGR'.lt_bomgroup-object_id                = 'SIMPLE1'.lt_bomgroup-bom_usage                = g_stlan. " YOU COULD CHANGE THE BOM USAGE TO YOURlt_bomgroup-ltxt_lang                = sy-langu.lt_bomgroup-created_in_plant         = g_werks.lt_bomgroup-technical_type           = ' '.
*  lt_bomgroup-bom_text                 = ls_head-ztext.
*  lt_bomgroup-auth_group               = ls_head-stlbe.append lt_bomgroup.clear lt_bomgroup.* Header Details of the different variantsclear lt_variants.lt_variants-bom_group_identification = 'BAPI_SMP_COL1'.lt_variants-object_type              = 'BOM'.lt_variants-object_id                = 'SIMPLE1'.lt_variants-alternative_bom          = lv_stlal.        "可选BOM
*  lt_variants-bom_status               = '01'.             "BOM状态lt_variants-bom_status               = gw_stko_api01-bom_status."BOM状态lt_variants-base_qty                 = gw_stko_api01-base_quan.       "数量lt_variants-base_unit                = gw_stko_api01-base_unit.      "单位lt_variants-valid_from_date          = sy-datum.      "有效期起始日期
*  lt_variants-alt_text                 = ls_head-stktx.     "可选BOM文本lt_variants-function                 = 'NEW'.append lt_variants.* 物料分配 CREATE-/CHANGE BAPI 物料 BOMclear lt_materialr.lt_materialr-bom_group_identification = 'BAPI_SMP_COL1'.lt_materialr-material                 = g_matnr.     "物料编码lt_materialr-plant                    = g_werks.     "工厂lt_materialr-bom_usage                = g_stlan.      "BOM用途lt_materialr-alternative_bom          = lv_stlal.       "可选BOM
*  lt_materialr-lot_size_from            = ls_head-losvn.       "从批量
*  lt_materialr-lot_size_to              = ls_head-losvn.       "到批量append lt_materialr.data:l_object_id type cs_object_id.data:l_tabix type sy-tabix.data:l_tabic type char10.data:lv_posnr type sposn.data:lv_i type i.data:lv_n type n length 4.clear :lv_posnr,lv_i,lv_n.lv_i  = 10.
* Details of the items of the variantsloop at gt_stpo_api03 into data(ls_item).clear:l_tabix,l_tabic,l_object_id.l_tabix = sy-tabix.move l_tabix to l_tabic.concatenate 'SIMPLE' l_tabic into l_object_id.condense l_object_id no-gaps.lv_n = lv_i.lv_posnr  = lv_n.clear lt_items.lt_items-bom_group_identification   = 'BAPI_SMP_COL1'.lt_items-object_type                = 'ITM'.lt_items-object_id                  = l_object_id.lt_items-item_no                    = lv_posnr.      "行号lt_items-item_cat                   = ls_item-item_categ.      "类别lt_items-sort_string                = ls_item-sortstring.      "排序字符串lt_items-component                  = ls_item-component.      "组件物料lt_items-item_text1                 = ls_item-item_text1.      "项目文本1lt_items-item_text2                 = ls_item-item_text2.      "项目文本2lt_items-comp_qty                   = ls_item-comp_qty.      "组件数量 (BTCI)lt_items-comp_unit                  = ls_item-comp_unit.      "组件计量单位lt_items-ltxt_lang                  = sy-langu.lt_items-valid_from_date            = gw_ztpp021-datuv.      "有效起始日期lt_items-mat_provision              = ls_item-mat_provis.      "物料供应标识
*    lt_items-opr_scrap                  = ls_item-avoau.      "工序废品
*    lt_items-spproctype                 = ls_item-itsob.      "特殊获取类
*    lt_items-iss_st_loc                 = ls_item-lgort.      "库存地点
*    lt_items-alt_item_group             = ls_item-alpgr.      "替代组
*    lt_items-alt_item_strategy          = ls_item-alpst.      "替代策咯
*    lt_items-alt_item_prio              = ls_item-alprf.      "优先级
*    lt_items-usage_prob                 = ls_item-ewahr.      "使用可能性append lt_items.clear lt_itemassig.lt_itemassig-bom_group_identification = 'BAPI_SMP_COL1'.lt_itemassig-sub_object_type          = 'ITM'.lt_itemassig-sub_object_id            = l_object_id."'SIMPLE1'.lt_itemassig-super_object_type        = 'BOM'.lt_itemassig-super_object_id          = 'SIMPLE1'.lt_itemassig-valid_from_date          = gw_ztpp021-datuv.lt_itemassig-function = 'NEW'.append lt_itemassig.clear ls_item.lv_i = lv_i + 10.endloop.*   调用BAPI,创建BOM。call function 'BAPI_MATERIAL_BOM_GROUP_CREATE'exporting
*     testrun           = ' 'all_error         = 'X'tablesbomgroup          = lt_bomgroupvariants          = lt_variantsitems             = lt_itemsmaterialrelations = lt_materialritemassignments   = lt_itemassigreturn            = lt_return.read table lt_return with key type = 'E'.if sy-subrc = 0. "出错call function 'BAPI_TRANSACTION_ROLLBACK'.gw_ztpp021-resultstatus = 'E'.gw_ztpp021-resultmsg = lt_return-message.else. "成功gw_ztpp021-resultstatus = 'S'.call function 'BAPI_TRANSACTION_COMMIT'exportingwait = 'X'.endif.

需要注意的是:传"可选的BOM"值时一样需要补足前导0,即传值"2"时,要加前导0,传入"02"。

OVER……

SAP 创建可选BOM的BAPI相关推荐

  1. SAP 创建可选BOM的配置

    问题: 已经创建过BOM的情况相下,重新创建'可选的bom',在CS01 输入的时候,可选的BOM 输入2. 系统会提示: 对此物料/工厂/使用 BOM 已经存在 原因: 系统配置的时候将多层BOM的 ...

  2. 【FICO系列】SAP 创建会计凭证(FB01)的BAPI

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[FICO系列]SAP 创建会计凭证(FB01) ...

  3. bapi sap 创建物料_SAP使用BAPI创建物料主数据的最小输入-阿里云开发者社区

    BASIC_VIEW 基本数据视图 标志 MATNR 物料编码 MAKTX 物料描述 MEINS 单位 MTART 物料类型 MBRSH 行业领域 调用BAPI CALL FUNCTION 'BAPI ...

  4. bapi sap 创建物料_SAP调用BAPI创建物料主数据

    展开全部 import com.sap.mw.jco.*; import com.sap.mw.jco.JCO; import com.sap.mw.jco.IFunctionTemplate; im ...

  5. SAP MM模块-库存盘点BAPI的使用及注意点

    很久之前的博客里写的,现在搬过来,可能已经被拷贝很多次了. 关于盘点的一点介绍: 盘赢:帐面库存小于实际库存.盘亏:帐面库存大于实际库存 盘点在系统中的步骤: 1.创建盘点凭证MI01    告知系统 ...

  6. BOM展开BAPI(标准BOM、销售BOM、WBS BOM)

    标准BOM 展开BAPI: BAPI:CS_BOM_EXPL_MAT_V2 表:MAST 物料和BOM关联 前台查看CS03看到下层:CS12能看到全部层组件 BAPI传参: 1.应用程序 2.有效日 ...

  7. SAP ABAP MD61 / MD62 / MD63 BAPI 函数组 3027

    SAP ABAP MD61 / MD62 / MD63 BAPI 函数组 3027 引言: 计划独立需求,MD61 / MD62 / MD63 的 BAPI 函数组 3027,在扩展批量创建/更改/看 ...

  8. SAP小技巧 BOM数据查询

    点击蓝字 关注我们 一 前言 BOM(物料清单)是SAP中一个基本概念, 用于把产品(或半成品)与原材料(或半成品)构筑关系.在生产,采购,销售等环节可以通过展开获取产品对应的原材料的内容. 本文主要 ...

  9. SAP ABAP 业务合作伙伴 BP BAPI清单

    SAP ABAP 业务合作伙伴 BP BAPI 清单 简介: 本文记录业务对象业务合作伙伴 BP 的 BAPI 清单. 关键字:SAP ABAP 业务合作伙伴 BAPI BP 文章目录 SAP ABA ...

最新文章

  1. LeetCode简单题之三维形体的表面积
  2. 试试 IntelliJ IDEA 自带的高能神器!
  3. tcpdf html 格式重叠,html - tcpdf(html2pdf)无法正确生成表格边框 - 堆栈内存溢出...
  4. ROS学习(六):CMakeLists.txt 文件
  5. 成功解决IndexError: shape mismatch: indexing arrays could not be broadcast together with shapes (100,)
  6. Java(五)异常处理,异常参数,自定义异常,嵌套异常
  7. mysql 一个字段走索引吗_mysql数据库--explain(查询表是否走索引)各个字段含义...
  8. Oracle数据库应用系统结构
  9. 蓝桥杯 BASIC-7 基础练习 特殊的数字
  10. sdk manager的列表怎么消失了_腾讯安全SDK的Dll Dump研究
  11. 学完python能做什么-学完Python后能做什么?
  12. 【Assembly】Mixed mode dll unable to load in .net 4.0
  13. windows C++ 网络编程
  14. TabHost详细解析
  15. Python数据分析学习系列 十四 数据分析案例
  16. python文件同时读写_python可以同时对文件进行读写操作吗
  17. Python 彻底搞懂列表推导式|初级到进阶(实例30+)
  18. Vulkan教程 - 01 环境搭建
  19. HTML粘性定位,CSS:position——绝对、相对、固定、粘性定位的简单记录
  20. Google Filament 源码学习(三):Material System (二)

热门文章

  1. 双屏下微信截屏错位解决办法
  2. android指南针功能,轻松实现Android指南针功能
  3. win10添加自定义右键菜单
  4. 树莓派语音控制开关灯
  5. windows WinExec()
  6. 在小程序内嵌的webview中唤醒手机地图app
  7. 企业如何借助百度百家号进行网络推广?
  8. 智慧停车怎么实现的,停车场寻车是怎么实现的
  9. 停车场停车怎么找车?怎样查车停车什么停车场?
  10. 从0到1:微信小程序自选股项目回忆录