SAP 创建可选BOM的BAPI
三个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相关推荐
- SAP 创建可选BOM的配置
问题: 已经创建过BOM的情况相下,重新创建'可选的bom',在CS01 输入的时候,可选的BOM 输入2. 系统会提示: 对此物料/工厂/使用 BOM 已经存在 原因: 系统配置的时候将多层BOM的 ...
- 【FICO系列】SAP 创建会计凭证(FB01)的BAPI
公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[FICO系列]SAP 创建会计凭证(FB01) ...
- bapi sap 创建物料_SAP使用BAPI创建物料主数据的最小输入-阿里云开发者社区
BASIC_VIEW 基本数据视图 标志 MATNR 物料编码 MAKTX 物料描述 MEINS 单位 MTART 物料类型 MBRSH 行业领域 调用BAPI CALL FUNCTION 'BAPI ...
- bapi sap 创建物料_SAP调用BAPI创建物料主数据
展开全部 import com.sap.mw.jco.*; import com.sap.mw.jco.JCO; import com.sap.mw.jco.IFunctionTemplate; im ...
- SAP MM模块-库存盘点BAPI的使用及注意点
很久之前的博客里写的,现在搬过来,可能已经被拷贝很多次了. 关于盘点的一点介绍: 盘赢:帐面库存小于实际库存.盘亏:帐面库存大于实际库存 盘点在系统中的步骤: 1.创建盘点凭证MI01 告知系统 ...
- BOM展开BAPI(标准BOM、销售BOM、WBS BOM)
标准BOM 展开BAPI: BAPI:CS_BOM_EXPL_MAT_V2 表:MAST 物料和BOM关联 前台查看CS03看到下层:CS12能看到全部层组件 BAPI传参: 1.应用程序 2.有效日 ...
- SAP ABAP MD61 / MD62 / MD63 BAPI 函数组 3027
SAP ABAP MD61 / MD62 / MD63 BAPI 函数组 3027 引言: 计划独立需求,MD61 / MD62 / MD63 的 BAPI 函数组 3027,在扩展批量创建/更改/看 ...
- SAP小技巧 BOM数据查询
点击蓝字 关注我们 一 前言 BOM(物料清单)是SAP中一个基本概念, 用于把产品(或半成品)与原材料(或半成品)构筑关系.在生产,采购,销售等环节可以通过展开获取产品对应的原材料的内容. 本文主要 ...
- SAP ABAP 业务合作伙伴 BP BAPI清单
SAP ABAP 业务合作伙伴 BP BAPI 清单 简介: 本文记录业务对象业务合作伙伴 BP 的 BAPI 清单. 关键字:SAP ABAP 业务合作伙伴 BAPI BP 文章目录 SAP ABA ...
最新文章
- LeetCode简单题之三维形体的表面积
- 试试 IntelliJ IDEA 自带的高能神器!
- tcpdf html 格式重叠,html - tcpdf(html2pdf)无法正确生成表格边框 - 堆栈内存溢出...
- ROS学习(六):CMakeLists.txt 文件
- 成功解决IndexError: shape mismatch: indexing arrays could not be broadcast together with shapes (100,)
- Java(五)异常处理,异常参数,自定义异常,嵌套异常
- mysql 一个字段走索引吗_mysql数据库--explain(查询表是否走索引)各个字段含义...
- Oracle数据库应用系统结构
- 蓝桥杯 BASIC-7 基础练习 特殊的数字
- sdk manager的列表怎么消失了_腾讯安全SDK的Dll Dump研究
- 学完python能做什么-学完Python后能做什么?
- 【Assembly】Mixed mode dll unable to load in .net 4.0
- windows C++ 网络编程
- TabHost详细解析
- Python数据分析学习系列 十四 数据分析案例
- python文件同时读写_python可以同时对文件进行读写操作吗
- Python 彻底搞懂列表推导式|初级到进阶(实例30+)
- Vulkan教程 - 01 环境搭建
- HTML粘性定位,CSS:position——绝对、相对、固定、粘性定位的简单记录
- Google Filament 源码学习(三):Material System (二)