CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'

*&---------------------------------------------------------------------*
*& Report  ZMMPL001
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------* REPORT ZMMPL001. DATA: pr_unit TYPE meins,"基本计量单位
bapi_exe_result() TYPE c."bapi执行结果标识 *原材料
DATA: BEGIN OF wa_y_material,
marc_plant TYPE werks_d, "工厂
mard_stge_loc TYPE lgort_d,"库存地点
mvke_sales_org TYPE vkorg,"销售组织
mvke_distr_chan TYPE vtweg,"分销渠道
head_material TYPE matnr,"物料号
head_ind_sector TYPE mbrsh,"行业领域
head_matl_type TYPE mtart,"物料类型
t_makt_matl_desc TYPE maktx,"物料描述
mara_base_uom TYPE meins,"基本计量单位
mara_matl_group TYPE matkl,"物料组
mara_extmatlgrp TYPE extwg,"外部物料组
mara_item_cat TYPE mtpos_mara,"普通项目组类别
t_marm_gross_wt TYPE brgew,"毛重
t_marm_unit_of_wt TYPE gewei,"重量单位
mara_net_weight TYPE ntgew,"净重
t_marm_volume TYPE volum,"标准箱
t_marm_volumeunit TYPE voleh,"体积单位
mvke_sales_unit TYPE vrkme,"销售单位
t_mlan_taxclass1 TYPE taxkm, "税分类1
t_mlan_taxclass2 TYPE taxkm, "税分类2
mvke_matl_stats TYPE stgma,"物料统计组
mvke_acct_assgt TYPE ktgrm,"科目设置组
mvke_item_cat TYPE mtpos,"来自物料主文件的项目主类别
marc_availcheck TYPE mtvfp,"可用性检查
mara_trans_grp TYPE tragr,"运输组
marc_loadinggrp TYPE ladgr,"装载组
marc_pur_group TYPE ekgrp,"采购组
marc_batch_mgmt TYPE xchpf,"批次管理标示
marc_auto_p_ord TYPE kautb,"自动采购订单
marc_ind_post_to_insp_stock TYPE insmk_mat,"过账到检验库存
marc_quotausage TYPE usequ,"配额安排
marc_sourcelist TYPE kordb,"源清单
marc_mrp_group TYPE disgr,"MRP组
marc_mrp_type TYPE dismm,""MRP类型
marc_mrp_ctrler TYPE dispo,"MRP控制者
marc_lotsizekey TYPE disls,"批量
marc_minlotsize TYPE bstmi,"最小批量
marc_maxlotsize TYPE bstma,"最大批量
marc_round_val TYPE bstrf,"舍入值
marc_proc_type TYPE beskz,"采购类型
marc_backflush TYPE rgekm,"反冲
marc_plnd_delry TYPE plifz,"计划交货时间
marc_gr_pr_time TYPE webaz,"收货处理时间
marc_safety_stk TYPE eisbe,"安全库存
marc_sm_key TYPE fhori," 计划边际码
marc_plan_strgp TYPE strgp,"策略组
marc_alt_bom_id TYPE altsl,"选择方法
stge_loc TYPE lgort_d,"库存地点,占位,不用取出赋值,同上边库存地点
mbew_val_class TYPE bklas,"评估类
mbew_price_ctrl TYPE vprsv,"价格控制
mbew_price_unit TYPE peinh,"价格单位
mbew_moving_pr TYPE verpr_bapi,"移动平均价
mbew_std_price TYPE stprs_bapi,"标准价格
mbew_qty_struct TYPE ck_ekalrel,"用QS的成本估算
mbew_orig_mat TYPE hkmat,"物料来源
END OF wa_y_material.
DATA: it_y_material LIKE TABLE OF wa_y_material. DATA: BEGIN OF wa_message,
material TYPE matnr,
description TYPE maktx,
message() TYPE c,
END OF wa_message.
DATA: it_message LIKE TABLE OF wa_message. *输入参数
DATA: headdata TYPE bapimathead, "表头数据
clientdata TYPE bapi_mara, "基本数据
clientdatax TYPE bapi_marax,
plantdata TYPE bapi_marc, "工厂级别数据
plantdatax TYPE bapi_marcx,
forecastparameters TYPE bapi_mpop, "预测
forecastparametersx TYPE bapi_mpopx,
planningdata TYPE bapi_mpgd, "计划
planningdatax TYPE bapi_mpgdx,
storagelocationdata TYPE bapi_mard, "存储位置
storagelocationdatax TYPE bapi_mardx,
valuationdata TYPE bapi_mbew, "评估数据
valuationdatax TYPE bapi_mbewx,
warehousenumberdata TYPE bapi_mlgn, "仓库数据
warehousenumberdatax TYPE bapi_mlgnx,
salesdata TYPE bapi_mvke, "销售数据
salesdatax TYPE bapi_mvkex,
storagetypedata TYPE bapi_mlgt, "存储类型数据
storagetypedatax TYPE bapi_mlgtx. *Table参数
DATA: materialdescription TYPE TABLE OF bapi_makt WITH HEADER LINE,"描述
unitsofmeasure TYPE TABLE OF bapi_marm WITH HEADER LINE,"单位
unitsofmeasurex TYPE TABLE OF bapi_marmx WITH HEADER LINE,
taxclassifications TYPE TABLE OF bapi_mlan WITH HEADER LINE."税分类 *Return
DATA return TYPE bapiret2. *以上都是准备的参数,it_y_material 存放的就是物料信息内表,具体数据怎么来的省略(一般就是上传文本) *往往调用一个bapi的时候不知道哪里赋值,怎么赋值,赋什么值,下边是参数赋值、调用示例 FORM create_y_matnr_data. DATA: total TYPE i,
num type i.
num = .
DESCRIBE TABLE it_y_material LINES total.
CLEAR it_message. LOOP AT it_y_material INTO wa_y_material. num = num + . CLEAR headdata.
headdata-material = wa_y_material-head_material.
headdata-matl_type = wa_y_material-head_matl_type.
headdata-ind_sector = wa_y_material-head_ind_sector.
headdata-basic_view = 'X'.
headdata-sales_view = 'X'.
headdata-purchase_view = 'X'.
headdata-mrp_view = 'X'.
* headdata-forecast_view = 'X'.
headdata-warehouse_view = 'X'.
headdata-account_view = 'X'.
headdata-cost_view = 'X'. "基本数据
CLEAR clientdata.
clientdata-matl_group = wa_y_material-mara_matl_group.
PERFORM get_pr_unit USING wa_y_material-mara_base_uom CHANGING pr_unit.
clientdata-base_uom = pr_unit.
clientdata-extmatlgrp = wa_y_material-mara_extmatlgrp.
clientdata-item_cat = wa_y_material-mara_item_cat.
clientdata-net_weight = wa_y_material-mara_net_weight.
clientdata-trans_grp = wa_y_material-mara_trans_grp. CLEAR clientdatax.
clientdatax-matl_group = 'X'.
clientdatax-base_uom = 'X'.
clientdatax-extmatlgrp = 'X'.
clientdatax-item_cat = 'X'.
clientdatax-net_weight = 'X'.
clientdatax-trans_grp = 'X'. "工厂级别数据
CLEAR plantdata.
plantdata-plant = wa_y_material-marc_plant.
plantdata-availcheck = wa_y_material-marc_availcheck.
plantdata-loadinggrp = wa_y_material-marc_loadinggrp.
plantdata-pur_group = wa_y_material-marc_pur_group.
plantdata-batch_mgmt = wa_y_material-marc_batch_mgmt.
plantdata-auto_p_ord = wa_y_material-marc_auto_p_ord.
plantdata-ind_post_to_insp_stock = wa_y_material-marc_ind_post_to_insp_stock.
plantdata-quotausage = wa_y_material-marc_quotausage.
plantdata-sourcelist = wa_y_material-marc_sourcelist.
plantdata-mrp_group = wa_y_material-marc_mrp_group.
plantdata-mrp_type = wa_y_material-marc_mrp_type.
plantdata-mrp_ctrler = wa_y_material-marc_mrp_ctrler.
plantdata-lotsizekey = wa_y_material-marc_lotsizekey.
plantdata-minlotsize = wa_y_material-marc_minlotsize.
plantdata-maxlotsize = wa_y_material-marc_maxlotsize.
plantdata-round_val = wa_y_material-marc_round_val.
plantdata-proc_type = wa_y_material-marc_proc_type.
plantdata-backflush = wa_y_material-marc_backflush.
plantdata-plnd_delry = wa_y_material-marc_plnd_delry.
plantdata-gr_pr_time = wa_y_material-marc_gr_pr_time.
plantdata-safety_stk = wa_y_material-marc_safety_stk.
plantdata-sm_key = wa_y_material-marc_sm_key.
plantdata-plan_strgp = wa_y_material-marc_plan_strgp.
plantdata-alt_bom_id = wa_y_material-marc_alt_bom_id. CLEAR plantdatax.
plantdatax-plant = wa_y_material-marc_plant.
plantdatax-availcheck = 'X'.
plantdatax-loadinggrp = 'X'.
plantdatax-pur_group = 'X'.
plantdatax-batch_mgmt = 'X'.
plantdatax-auto_p_ord = 'X'.
plantdatax-ind_post_to_insp_stock = 'X'.
plantdatax-quotausage = 'X'.
plantdatax-sourcelist = 'X'.
plantdatax-mrp_group = 'X'.
plantdatax-mrp_type = 'X'.
plantdatax-mrp_ctrler = 'X'.
plantdatax-lotsizekey = 'X'.
plantdatax-minlotsize = 'X'.
plantdatax-maxlotsize = 'X'.
plantdatax-round_val = 'X'.
plantdatax-proc_type = 'X'.
plantdatax-backflush = 'X'.
plantdatax-plnd_delry = 'X'.
plantdatax-gr_pr_time = 'X'.
plantdatax-safety_stk = 'X'.
plantdatax-sm_key = 'X'.
plantdatax-plan_strgp = 'X'.
plantdatax-alt_bom_id = 'X'. "仓库存储数据
CLEAR storagelocationdata.
storagelocationdata-plant = wa_y_material-marc_plant.
storagelocationdata-stge_loc = wa_y_material-mard_stge_loc. CLEAR storagelocationdatax.
storagelocationdatax-plant = wa_y_material-marc_plant.
storagelocationdatax-stge_loc = wa_y_material-mard_stge_loc. "销售数据
CLEAR salesdata.
salesdata-sales_org = wa_y_material-mvke_sales_org.
salesdata-distr_chan = wa_y_material-mvke_distr_chan.
salesdata-sales_unit = wa_y_material-mvke_sales_unit.
salesdata-matl_stats = wa_y_material-mvke_matl_stats.
salesdata-acct_assgt = wa_y_material-mvke_acct_assgt.
salesdata-item_cat = wa_y_material-mvke_item_cat. CLEAR salesdatax.
salesdatax-sales_org = wa_y_material-mvke_sales_org.
salesdatax-distr_chan = wa_y_material-mvke_distr_chan.
salesdatax-sales_unit = 'X'.
salesdatax-matl_stats = 'X'.
salesdatax-acct_assgt = 'X'.
salesdatax-item_cat = 'X'. "会计、成本
CLEAR valuationdata.
valuationdata-val_area = wa_y_material-marc_plant.
valuationdata-val_class = wa_y_material-mbew_val_class.
valuationdata-price_ctrl = wa_y_material-mbew_price_ctrl.
valuationdata-price_unit = wa_y_material-mbew_price_unit.
valuationdata-moving_pr = wa_y_material-mbew_moving_pr.
valuationdata-std_price = wa_y_material-mbew_std_price.
valuationdata-qty_struct = wa_y_material-mbew_qty_struct.
valuationdata-orig_mat = wa_y_material-mbew_orig_mat. CLEAR valuationdatax.
valuationdatax-val_area = wa_y_material-marc_plant.
valuationdatax-val_class = 'X'.
valuationdatax-price_ctrl = 'X'.
valuationdatax-price_unit = 'X'.
valuationdatax-moving_pr = 'X'.
valuationdatax-std_price = 'X'.
valuationdatax-qty_struct = 'X'.
valuationdatax-orig_mat = 'X'. "物料描述
CLEAR materialdescription[].
materialdescription-langu_iso = 'ZH'.
materialdescription-matl_desc = wa_y_material-t_makt_matl_desc.
APPEND materialdescription. "单位
CLEAR unitsofmeasure[]. unitsofmeasure-alt_unit = pr_unit.
unitsofmeasure-gross_wt = wa_y_material-t_marm_gross_wt.
unitsofmeasure-unit_of_wt = wa_y_material-t_marm_unit_of_wt.
unitsofmeasure-volume = wa_y_material-t_marm_volume.
unitsofmeasure-volumeunit = wa_y_material-t_marm_volumeunit.
APPEND unitsofmeasure. CLEAR unitsofmeasurex[].
unitsofmeasurex-alt_unit = pr_unit.
unitsofmeasurex-gross_wt = 'X'.
unitsofmeasurex-unit_of_wt = 'X'.
unitsofmeasurex-volume = 'X'.
unitsofmeasurex-volumeunit = 'X'.
APPEND unitsofmeasurex. "税分类
CLEAR taxclassifications[].
taxclassifications-depcountry = 'CN'.
taxclassifications-tax_type_1 = 'MWST'.
taxclassifications-taxclass_1 = wa_y_material-t_mlan_taxclass1.
taxclassifications-taxclass_2 = wa_y_material-t_mlan_taxclass2.
APPEND taxclassifications. PERFORM savedata USING num total. CLEAR wa_message.
wa_message-material = wa_y_material-head_material.
wa_message-description = wa_y_material-t_makt_matl_desc.
wa_message-message = return-message.
APPEND wa_message TO it_message.
ENDLOOP. ENDFORM. "fill_matnr_data *保存数据,调用BAPI_MATERIAL_SAVEDATA FORM savedata USING num total.
CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
EXPORTING
headdata = headdata
clientdata = clientdata
clientdatax = clientdatax
plantdata = plantdata
plantdatax = plantdatax
* forecastparameters = forecastparameters
* forecastparametersx = forecastparametersx
* planningdata = planningdata
* planningdatax = planningdatax
storagelocationdata = storagelocationdata
storagelocationdatax = storagelocationdatax
valuationdata = valuationdata
valuationdatax = valuationdatax
* warehousenumberdata = warehousenumberdata
* warehousenumberdatax = warehousenumberdatax
salesdata = salesdata
salesdatax = salesdatax
* storagetypedata = storagetypedata
* storagetypedatax = storagetypedatax
* flag_online = ' '
* flag_cad_call = ' '
* no_dequeue = ' '
IMPORTING
return = return
TABLES
materialdescription = materialdescription[]
unitsofmeasure = unitsofmeasure[]
unitsofmeasurex = unitsofmeasurex
* INTERNATIONALARTNOS =
* MATERIALLONGTEXT =
taxclassifications = taxclassifications[]
* RETURNMESSAGES =
* PRTDATA =
* PRTDATAX =
* EXTENSIONIN =
* EXTENSIONINX =
. IF sy-subrc = .
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'
* IMPORTING
* RETURN =
.
bapi_exe_result = 'X'.
ELSE.
bapi_exe_result = ''.
ENDIF. WAIT UP TO  SECONDS.
DATA: per TYPE f,
txt TYPE string.
per = ( num / total ) * . DATA: str1 TYPE string,
str2 TYPE string.
str1 = num.
str2 = total. CONCATENATE '正在批量创建物料...已完成:(' str1 '/' str2 ')' INTO txt. CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
percentage = per
text = txt. ENDFORM. "SAVEDATA *获取基本计量单位内码 FORM get_pr_unit USING unit1 CHANGING unit2. SELECT SINGLE msehi INTO unit2 FROM t006a WHERE spras =  AND mseh3 = unit1.
IF sy-subrc <> .
unit2 = unit1.
ENDIF. ENDFORM.

ABAP-创建物料主数据的更多相关文章

  1. SAP MM01 创建物料主数据 [关注公众号后回复MM01获取更多资料]

    操作内容 物料主数据,适用于所有有物料编码物料相关信息的系统维护 业务流程 新项目设计冻结后—M公司 PD用-物料编码申请表D-BOM Material Number  Application部门内部 ...

  2. SAP 创建物料主数据分类视图特性

    1.CL01创建物料分类 2.去CT04中去创建特性值 创建完成之后保存, 3.创建物料的分类视图,选择相应的特性值

  3. SAP物料主数据的屏幕字段控制,必输,隐藏

    http://www.cnblogs.com/275147378abc/p/5699077.html 1.事务码MM01,把物料组设为选填字段. 2.找到物料组的屏幕字段. 3.在后台根据屏幕字段找到 ...

  4. 物料主数据批导bapi

    创建物料主数据,根据模板不同批导原材料,半成品,成品.可根据实际需求对字段进行增删. report zmmr_bapi_mm01 no standard page HEADING. type-POOL ...

  5. SAP MM 物料主数据采购视图中的字段'Var. OUn'的作用?

    SAP MM 物料主数据采购视图中的字段'Var. OUn'的作用? 物料主数据采购视图里有一个字段,叫做'Var. OUn'的, 如下图: 这个字段,笔者之前所参与的项目里,从来没有用过.所以,笔者 ...

  6. PP主数据-物料主数据

    一.PP物料主数据:PP的物料主数据,是对应到系统的组织架构的,不同的组织层次,都有各自的主数据需要创建. (1),一般数据:一般数据是在集团层面的主数据,主要包括:物料编码.物料描述.辅助计量单位以 ...

  7. VMD_EI_API=>MAINTAIN_BAPI 去创建供应商主数据

    转自 http://blog.sina.com.cn/s/blog_9ae2f2940102uxyp.html VMD_EI_API=>MAINTAIN_BAPI 去创建供应商主数据的部分数据代 ...

  8. 批量创建客户主数据函数SD_CUSTOMER_MAINTAIN_ALL

    分享一下批创建客户主数据函数:SD_CUSTOMER_MAINTAIN_ALL TABLES:T077D,ZCITY,T005S,BNKA,ADRC,KNA1.  DATA: TMP_KTOKD(4) ...

  9. CRM创建物料FM2

    这是在佛山好帮手时受启发而研究出来的,创建物料,带单位,类型组 经测试....算了,不说了,有什么限制自己测去...今天心情不好... FUNCTION ZLY_CREATE_PRODUCT_UNIT ...

  10. SAP MM 物料主数据MRP2 视图Rounding Value字段

    SAP MM 物料主数据MRP2 视图Rounding Value字段 如下物料号,MRP2视图中,维护了rounding value字段值为50. MRP type :PD Lot size:EX ...

随机推荐

  1. Working With Push Buttons In Oracle Forms

    Managing push buttons at run time in Oracle Forms is very simple and in this tutorial you will learn ...

  2. mac安装apache的mod_wsgi模块

    第一次用pip安装 ,最终不能使用,原因是系统自带的apache,python和新安装的冲突, 所以需要安装时需要指定apache,python路径 所以用make makeinstall方式 参考链 ...

  3. C++测试题练习题1

    1.which of the following is not automatically generated by the compiler? a. default constructor    b ...

  4. 关于 Android 平台开发相关的有哪些推荐书籍?

    转自:http://www.zhihu.com/question/19579609 作者:Shan Huang 链接:http://www.zhihu.com/question/19579609/an ...

  5. k8s学习(二)——etcdctl工具的使用

    k8s的实现核心实际上就是通过读写etcd数据库实现对资源的存储,管理和控制. k8s所有资源的本源都是存储在etcd中的一个个键值对. 理论上可以观察到etcd数据库中的数据变化.具体的使用方式如下 ...

  6. 想提升java知识的同学请进

    这是我最近在整理的笔记,大家可以看看. https://www.gitbook.com/book/jackal007/java_more/ 如果觉得有问题可以提出,随时修改. 这个笔记是我花了好多时间 ...

  7. jenkins构建一个go项目

    Jenkins安装   最低配置: 不少于256M内存,不低于1G磁盘,jdk版本>=8 安装jdk1.8 yum install -y java-1.8.0-openjdk wget -O / ...

  8. Oraclet提交提示Record is locked by another user错误

    http://blog.csdn.net/alifel/article/details/4324338下午修改oracle datebase中的字段时,提示"Record is locked ...

  9. leetcode_Multiply Strings

    描写叙述: Given two numbers represented as strings, return multiplication of the numbers as a string. No ...

  10. S:33184777

    https://github.com/wjlWork/Crawl/tree/da0b63bc43bd7c238963f834a11df2581cecfb9c https://github.com/wh ...