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. 【hash】什么是hash,什么是哈希,什么是hash散列,什么是hash一致性算法【关于hash的详解】

    什么是hash,什么是哈希,什么是hash散列,什么是hash一致性算法

  2. 【windows】windows系统下,在任务管理器的进程选项卡中查看PID/任务管理器怎么查看PID

    PID,就是windows上的进程ID,是一个进程的唯一标识值. 那今天启动JDK跑起来一个项目之后,想要在任务管理器中查看这个JDK所在进程的PID但是看不到. 怎么解决? 1.我在任务管理器的服务 ...

  3. Drools的HelloWord例子

    添加drools框架运行的依赖 <!--Drools 规则相关 --> <dependency> <groupId>org.drools</groupId&g ...

  4. 2016.7.14 如何在浏览器中查看jsp文件

    参考资料: http://jingyan.baidu.com/article/ed15cb1b10f1241be36981ab.html 1.复制jsp文件地址 2.写在浏览器里 E:/lyh/tas ...

  5. 转: 使用maven给spring项目打可直接运行的jar包(配置文件内置外置的打法)

    from:  http://www.cnblogs.com/hdwang/p/5418747.html

  6. 转: 低延迟系统的Java实践

    from:  http://blog.csdn.net/jacktan/article/details/41177779 在很久很久以前,如果有人让我用Java语言开发一个低延迟系统,我肯定会用迷茫的 ...

  7. C 语言实例

    C 语言实例 C 语言实例 - 输出 "Hello, World!" C 语言实例 - 输出整数 C 语言实例 - 两个数字相加 C 语言实例 - 两个浮点数相乘 C 语言实例 - ...

  8. TP框架模板中ifelse

    {if $_username}<ul class="afterLogin">    <li class="username"><a ...

  9. CSRF到底 是个什么玩意?

    CSRF CSRF(Cross-site request forgery)跨站请求伪造,也被称为"One Click Attack"或者Session Riding,通常缩写为CS ...

  10. ZOJ - 3890 Wumpus(BFS基础题)

    Wumpus Time Limit: 2 Seconds      Memory Limit: 65536 KB One day Leon finds a very classic game call ...