CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'

2.物料信息的获取bapi : BAPI_MATERIAL_GET_DETAIL

Report  ZMMPL001

*&

*&---------------------------------------------------------------------*

*&

*&

*&---------------------------------------------------------------------*

REPORT ZMMPL001.

DATA: pr_unit TYPE meins,"基本计量单位

bapi_exe_result(1) 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(97) 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 = 0.

DESCRIBE TABLE it_y_material LINES total.

CLEAR it_message.

LOOP AT it_y_material INTO wa_y_material.

num = num + 1.

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 = 0.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'

EXPORTING

wait = 'X'

* IMPORTING

* RETURN =

.

bapi_exe_result = 'X'.

ELSE.

bapi_exe_result = ''.

ENDIF.

WAIT UP TO 1 SECONDS.

DATA: per TYPE f,

txt TYPE string.

per = ( num / total ) * 100.

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 = 1 AND mseh3 = unit1.

IF sy-subrc <> 0.

unit2 = unit1.

ENDIF.

ENDFORM.

bapi sap 创建物料_bapi 物料主数据创建 'BAPI_MATERIAL_SAVEDATA'相关推荐

  1. 【修复版本】SAP PP模块生产版本主数据维护

    PP生产版本主数据 生产版本(Production Version)主数据是执行生产业务过程中最主要的基础数据之一,包含了产品的数量结构信息,同时也包含了产品的工艺路线,工作中心等信息.生产版本主记录 ...

  2. SAP PP模块生产版本主数据维护

    更多内容关注公众号:SAP Technical 各位可以关注我的公众号:SAP Technical PP生产版本主数据 生产版本(Production Version)主数据是执行生产业务过程中最主要 ...

  3. SAP 物料主数据创建与更改

    1.用于创建与更改物料主数据的核心代码,算是比较全了. *****创建物料主数据使用DATA gw_headdata LIKE bapimathead. "声明带有控制信息的表头段DATA ...

  4. SAP物料主数据创建/修改(MM01/MM02),在 “分类” 页签 输入比较特殊的特征值,例如:希腊字母 “ μ ”,结果却显示 别的英文字符 (例如: “M“)的问题原因及解决方法

    处理方法为付费资源,如果介意,请勿下载 SAP物料主数据创建/修改(MM01/MM02),在 "分类" 页签 输入比较特殊的特征值,例如: 希腊字母 " μ " ...

  5. SAP RETAIL 使用事务代码MM41创建商品主数据时不能激活检验类型?

    SAP RETAIL 使用事务代码MM41创建商品主数据时不能激活检验类型? 在SAP RETAIL系统里玩转QM(Quality Management)模块,是否可能?当然可能.有啥特殊地方,商品主 ...

  6. SAP PP CS01使用ECR去创建BOM主数据,报错:System status: ECR is not yet approved.

    SAP PP CS01使用ECR去创建BOM主数据,报错:System status: ECR is not yet approved. 1,使用CC31创建好了ECR #500000012717,用 ...

  7. SAP MM模块业务流程------物料主数据/供应商主数据/信息维护流程/库存物料采购流程

    物料主数据 新物料申请流程: 提交一个物料主数据电子单----->审批(包括需要在SAP系统添加的主数据)------>SAP系统维护并公布 修改流程: 提交修改物料主数据-------& ...

  8. SAP S4 MM配置详解之三:物料主数据-定义物料类型/物料状态/字段选择控制/物料组

    1.定义物料类型 概念及功能说明 物料类型是对物料进行分组的一种方式,每一种类型的物料有相同的基本属性,例如原材料.半成品和成品.创建物料主记录时,将物料分配到物料类型.物料类型属于物料的一般数据.控 ...

  9. SAP QM初阶之维护检验计划时可以不用事先创建好检验特性主数据

    SAP QM初阶之维护检验计划时可以不用事先创建好检验特性主数据 笔者参与的诸多SAP项目里,凡是启用了QM模块的,都会维护主检验特性(Master Inspection Characteristic ...

最新文章

  1. MyBatis -- Spring -- SqlSessionFactoryBean
  2. django Cookie,Session和自定义分页
  3. 接到一个新需求:手机照片视频存储及备份需求整理及分析
  4. 用java爬取杭电oj已ac代码
  5. 忽然觉得照着技术文档一个demo一个demo的写是一个十分好的学习方式
  6. python图例位置_Python | 图例位置
  7. Nodejs微信开发
  8. 从Java程序员进阶架构师,必看的书单推荐!
  9. sprinboot整合activity
  10. python ui自动化脚本_ui自动化:python+appium----环境搭建
  11. Win10电脑安装打印机驱动运转打印机的方法
  12. lpt监控安装_LPT说明书
  13. 1人工智能概述------人工智能发展历程(人工智能的起源、人工智能的发展经历了六个阶段)
  14. 微信小程序开发费用一览表
  15. 环境微生物学试题库(1-10)
  16. STM32 Flash读写;Flash地址对应的存储内容及方式;
  17. 湖南现代物流职业技术学院校历课表
  18. 汉字Unicode表
  19. 通用课程表教师表php,利用Access实现学校课程表的科学管理
  20. 域自适应的理解(简单易懂)

热门文章

  1. 计算机组老师颁奖词,获奖教师的颁奖词
  2. 矩阵论 施密特正交化的几何解释_最直观图解法
  3. 二手车好大风,老平台都推新服务
  4. jqGrid学习笔记
  5. 修复Duilib MenuDemo右键菜单背景色和前景色无效问题
  6. 使用es的新姿势 2.x 5.x 6.x通用
  7. 用户画像标签系统体系解释
  8. oracle数据库频繁被锁,oracle数据库用户频繁被锁
  9. Ceph中查找BUCKET INDEX所在位置的方法
  10. Unity ParticleSystem 之 简单的升腾气泡群 Bubble ParticleSystem 粒子特效