物料主数据--1. BAPI_MATERIAL_MAINTAINDATA_RT的使用以及心得
来源:互联网 发布:如何注册淘宝达人 编辑:程序博客网 时间:2024/06/06 23:16
创建物料主数据,对应MM41 MM42 可进行修改和创建物料。
1、单位 ,物料名 评估类 (无库存交易)不可更改。
CLEAR headdata.
WA_ITAB-spart = '00'.
" -------------------------------------- 抬头数据 -----------------
headdata-FUNCTION = lv_bapifn. "009 原始的:关于处理的第一个信息
headdata-material = WA_ITAB-matnr.
headdata-matl_type = WA_ITAB-mtart. "物料类型
" 物料类型 T134
headdata-matl_group = WA_ITAB-matkl. "物料组
headdata-matl_cat = '00'." 00 一般物料
"---------------------------------------------------------------------
headdata-basic_view = 'X'. "基本视图
headdata-list_view = 'X'. "列表视图
headdata-sales_view = 'X'. "销售视图
headdata-logst_view = 'X'. "后勤视图
headdata-no_appl_log = 'X' . "不写入应用程序的日志
* HEADDATA-ALL_FIELDS = 'X' .
" 维护基本视图的基本数据
" 零售数据传输:集团级别的物料
CLEAR clientdata.
CLEAR clientdata[].
CLEAR clientdatax.
CLEAR clientdatax[].
CALL FUNCTION 'CONVERSION_EXIT_CUNIT_INPUT'
EXPORTING
INPUT = WA_ITAB-meins
IMPORTING
OUTPUT = WA_ITAB-meins
EXCEPTIONS
OTHERS = 1.
clientdata-FUNCTION = lv_bapifn.
clientdata-material = WA_ITAB-matnr.
clientdata-base_uom = WA_ITAB-meins. "基本计量单位
clientdata-old_mat_no = WA_ITAB-bismt. "旧物料编码
" clientdata-extmatlgrp = WA_ITAB-matkl. "外部物料组
clientdata-division = WA_ITAB-spart. "分部
clientdata-item_cat = WA_ITAB-mtpos. "
clientdata-prod_hier = WA_ITAB-prdha.
clientdata-stor_conds = WA_ITAB-raube.
clientdata-extmatlgrp = WA_ITAB-extwg. "外部物料组
clientdata-size_dim = WA_ITAB-groes.
clientdata-prod_alloc = WA_ITAB-kosch.
clientdata-basic_matl = WA_ITAB-wrkst. "产品层次
clientdata-lab_design = WA_ITAB-labor.
clientdata-std_descr = WA_ITAB-normt.
clientdata-mat_grp_sm = WA_ITAB-magrv.
clientdata-hazmatprof = WA_ITAB-profl.
clientdata-batch_mgmt = WA_ITAB-xchpf.
clientdata-net_weight = WA_ITAB-ntgew.
clientdata-prod_memo = WA_ITAB-ferth.
clientdata-tax_class = 0.
clientdata-document = WA_ITAB-zeiAR. " ppp
APPEND clientdata.
CLEAR clientdatax.
clientdatax-FUNCTION = lv_bapifn.
clientdatax-material = WA_ITAB-matnr.
clientdatax-base_uom = 'X'.
clientdatax-old_mat_no = 'X'.
clientdatax-extmatlgrp = 'X'.
clientdatax-division = 'X'.
clientdatax-item_cat = 'X'.
clientdatax-prod_hier = 'X'.
clientdatax-stor_conds = 'X'.
clientdatax-extmatlgrp = 'X'.
clientdatax-size_dim = 'X'.
clientdatax-prod_alloc = 'X'.
clientdatax-basic_matl = 'X'.
clientdatax-lab_design = 'X'.
clientdatax-std_descr = 'X'.
clientdatax-mat_grp_sm = 'X'.
clientdatax-hazmatprof = 'X'.
clientdatax-batch_mgmt = 'X'.
clientdatax-net_weight = 'X'.
clientdatax-prod_memo = 'X'.
clientdatax-tax_class = 'X'.
clientdatax-document = 'X'.
APPEND clientdatax.
"------------------------- 零售数据传输:基本数据的扩展 ----------------
CLEAR addnlclientdata.
CLEAR addnlclientdata[].
addnlclientdata-FUNCTION = lv_bapifn.
addnlclientdata-material = WA_ITAB-matnr.
addnlclientdata-loadinggrp = '0001'.
addnlclientdata-val_class = WA_ITAB-bklas. "评估类
addnlclientdata-COMM_CODE = WA_ITAB-WSTAW. "商品代码
APPEND addnlclientdata.
CLEAR addnlclientdatax.
CLEAR addnlclientdatax[].
addnlclientdatax-FUNCTION = lv_bapifn.
addnlclientdatax-material = WA_ITAB-matnr.
addnlclientdatax-loadinggrp = 'X'.
addnlclientdatax-val_class = 'X'.
addnlclientdata-COMM_CODE ='X'." wa_itab-WA_ITAB-WSTAW'.
APPEND addnlclientdatax.
"工厂级别数据
CLEAR plantdata.
CLEAR plantdata[].
CLEAR plantdatax.
CLEAR plantdatax[].
" 对应系统中所有用户定义的工厂同时创建
SELECT WERKS INTO corresponding FIELDS OF TABLE GT_WERKS
FROM T001W
WHERE WERKS NOT IN ('0001','0002','0003','ZZ88') AND werks IN ('2100' , '2200' ,'2300' ,'2400','2500').
.
LOOP AT GT_WERKS.
plantdata-FUNCTION = lv_bapifn.
plantdata-material = WA_ITAB-matnr.
plantdata-plant = GT_WERKS-werks.
plantdata-pur_group = WA_ITAB-wekgr. "采购组
plantdata-comm_code = WA_ITAB-stawn. "商品代码
* PLANTDATA-EXPIMPGRP = WA_ITAB-MTVER.
plantdata-AVAILCHECK = 'KP'. "0 可用性检查的检查组
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = WA_ITAB-prctr
IMPORTING
OUTPUT = WA_ITAB-prctr
EXCEPTIONS
OTHERS = 1.
plantdata-profit_ctr = WA_ITAB-prctr.
plantdata-loadinggrp = WA_ITAB-wladg.
plantdata-batch_mgmt = WA_ITAB-xchpf.
plantdata-mrp_type = 'ND'." WA_ITAB-dismm.
" plantdata-availcheck = WA_ITAB-mtvfp.
plantdata-prod_prof = WA_ITAB-sfcpf.
plantdata-proc_type = 'X'.
APPEND plantdata.
CLEAR plantdatax.
" CLEAR plantdatax[].
plantdatax-FUNCTION = lv_bapifn.
plantdatax-material = WA_ITAB-matnr.
plantdatax-plant = GT_WERKS-werks.
plantdatax-pur_group = 'X'.
plantdatax-comm_code = 'X'.
plantdatax-expimpgrp = 'X'.
plantdatax-profit_ctr = 'X'.
plantdatax-loadinggrp = 'X'.
plantdatax-batch_mgmt = 'X'.
plantdatax-mrp_type = 'X'.
plantdatax-availcheck = 'X'.
plantdatax-prod_prof = 'X'.
plantdatax-proc_type = 'X'.
APPEND plantdatax.
ENDLOOP.
"库位级别的
SELECT LGORT WERKS INTO CORRESPONDING FIELDS OF TABLE GT_loget FROM T001L WHERE WERKS NOT IN ('0001','0002') AND werks in ('2100' , '2200' ,'2300' ,'2400','2500').
LOOP AT GT_LOGET.
CLEAR LGORTdata.
CLEAR LGORTdata[].
LGORTdata-FUNCTION = lv_bapifn.
LGORTdata-material = WA_ITAB-matnr.
LGORTdata-plant = GT_LOGET-werks.
LGORTdata-STGE_LOC = GT_LOGET-LGORT.
" plantdata-comm_code = WA_ITAB-stawn.
APPEND LGORTdata.
CLEAR LGORTdatax.
CLEAR LGORTdatax[].
LGORTdatax-FUNCTION = lv_bapifn.
LGORTdatax-material = WA_ITAB-matnr.
LGORTdatax-plant = GT_LOGET-werks.
LGORTdatax-STGE_LOC = GT_LOGET-LGORT.
"LGORTdatax-STGE_BIN = 'X'.
APPEND LGORTdatax.
ENDLOOP.
* C.销售组织层级:对系统中所有用户定义的工厂对应销售组织同时创建。
*SELECT * FROM TVKWZ
* WHERE NOT IN ('0001','0002','0003')
CLEAR GT_VKORG .
SELECT VKORG vtweg INTO CORRESPONDING FIELDS OF TABLE GT_VKORG FROM TVKWZ WHERE WERKS NOT IN ('0001','0002','0003') AND werks IN ('2100' , '2200' ,'2300' ,'2400','2500').
CLEAR salesdata.
CLEAR salesdata[].
CLEAR salesdatax.
CLEAR salesdatax[].
LOOP AT GT_VKORG.
"销售数据
CLEAR salesdata.
salesdata-FUNCTION = lv_bapifn.
salesdata-material = WA_ITAB-matnr.
salesdata-sales_org = GT_VKORG-vkorg. "销售组织
salesdata-distr_chan = GT_VKORG-vtweg. "参考客户和主物料分销渠道
salesdata-acct_assgt = WA_ITAB-ktgrm.
salesdata-mat_pr_grp = WA_ITAB-kondm.
salesdata-rebate_grp = WA_ITAB-bonus.
salesdata-matl_stats = ''."物料统计组
salesdata-item_cat = 'NORM'.
APPEND salesdata.
CLEAR salesdatax.
salesdatax-FUNCTION = lv_bapifn.
salesdatax-material = WA_ITAB-matnr.
salesdatax-sales_org = GT_VKORG-vkorg.
salesdatax-distr_chan = GT_VKORG-vtweg.
salesdatax-acct_assgt = 'X'.
salesdatax-mat_pr_grp = 'X'.
salesdatax-rebate_grp = 'X'.
salesdatax-matl_stats = 'X'."物料统计组
salesdatax-item_cat = 'X'.
APPEND salesdatax.
ENDLOOP.
SORT salesdata BY material sales_org distr_chan.
SORT salesdatax BY material sales_org distr_chan.
DELETE ADJACENT DUPLICATES FROM salesdata.
DELETE ADJACENT DUPLICATES FROM salesdatax.
"select PRCTR from ZTPRCTR WHERE WERKS = ?
SELECT PRCTR WERKS INTO CORRESPONDING FIELDS OF TABLE GT_ZTPRCTR FROM ZTPRCTR WHERE WERKS NOT IN ('0001','0002','0003') AND werks IN ('2100' , '2200' ,'2300' ,'2400','2500').
"会计、成本
CLEAR valuationdata.
CLEAR valuationdata[].
CLEAR valuationdatax.
CLEAR valuationdatax[].
LOOP AT GT_WERKS.
valuationdata-FUNCTION = lv_bapifn.
valuationdata-material = WA_ITAB-matnr.
valuationdata-val_area = GT_WERKS-werks.
valuationdata-moving_pr = WA_ITAB-verpr.
valuationdata-price_unit = WA_ITAB-peinh.
valuationdata-val_class = WA_ITAB-bklas.
valuationdata-val_cat = WA_ITAB-bwtty.
valuationdata-orig_mat = WA_ITAB-hkmat.
valuationdata-price_ctrl = 'V'.
valuationdata-ml_settle = '2'.
valuationdata-ml_active = 'X'.
APPEND valuationdata.
CLEAR valuationdatax.
" CLEAR valuationdatax[].
valuationdatax-FUNCTION = lv_bapifn.
valuationdatax-material = WA_ITAB-matnr.
valuationdatax-val_area = GT_WERKS-werks.
valuationdatax-moving_pr = 'X'.
valuationdatax-price_unit = 'X'.
valuationdatax-val_class = 'X'.
valuationdatax-val_cat = 'X'.
valuationdatax-orig_mat = 'X'.
valuationdatax-price_ctrl = 'X'.
valuationdatax-ml_settle = 'X'.
valuationdatax-ml_active = 'X'.
APPEND valuationdatax.
ENDLOOP.
"物料描述
CLEAR materialdescription[].
CLEAR materialdescription.
materialdescription-material = WA_ITAB-matnr.
materialdescription-langu_iso = 'ZH'.
materialdescription-matl_desc = WA_ITAB-makt.
APPEND materialdescription.
"单位
CLEAR unitsofmeasure.
CLEAR unitsofmeasure[].
unitsofmeasure-FUNCTION = lv_bapifn.
unitsofmeasure-material = WA_ITAB-matnr.
unitsofmeasure-alt_unit = WA_ITAB-meins.
unitsofmeasure-numerator = '1'.
unitsofmeasure-denominatr = '1'.
unitsofmeasure-gross_wt = WA_ITAB-brgew.
unitsofmeasure-unit_of_wt = 'KG'.
unitsofmeasure-volume = '0'.
unitsofmeasure-volumeunit = ''.
APPEND unitsofmeasure.
CLEAR unitsofmeasurex.
CLEAR unitsofmeasurex[].
unitsofmeasurex-FUNCTION = lv_bapifn.
unitsofmeasurex-material = WA_ITAB-matnr.
unitsofmeasurex-alt_unit = WA_ITAB-meins.
unitsofmeasurex-numerator = 'X'.
unitsofmeasurex-denominatr = 'X'.
unitsofmeasurex-gross_wt = 'X'.
unitsofmeasurex-unit_of_wt = 'X'.
unitsofmeasurex-volume = 'X'.
unitsofmeasurex-volumeunit = 'X'.
APPEND unitsofmeasurex.
"税分类
CLEAR taxclassifications.
CLEAR taxclassifications[].
taxclassifications-FUNCTION = lv_bapifn.
taxclassifications-material = WA_ITAB-matnr.
taxclassifications-depcountry = 'CN'.
taxclassifications-tax_type_1 = 'MWST'.
taxclassifications-taxclass_1 = '0'.
APPEND taxclassifications.
CLEAR RETURN.
CALL FUNCTION 'BAPI_MATERIAL_MAINTAINDATA_RT'
EXPORTINGWA_ITAB-spart = '00'.
" -------------------------------------- 抬头数据 -----------------
headdata-FUNCTION = lv_bapifn. "009 原始的:关于处理的第一个信息
headdata-material = WA_ITAB-matnr.
headdata-matl_type = WA_ITAB-mtart. "物料类型
" 物料类型 T134
headdata-matl_group = WA_ITAB-matkl. "物料组
headdata-matl_cat = '00'." 00 一般物料
"---------------------------------------------------------------------
headdata-basic_view = 'X'. "基本视图
headdata-list_view = 'X'. "列表视图
headdata-sales_view = 'X'. "销售视图
headdata-logst_view = 'X'. "后勤视图
headdata-no_appl_log = 'X' . "不写入应用程序的日志
* HEADDATA-ALL_FIELDS = 'X' .
" 维护基本视图的基本数据
" 零售数据传输:集团级别的物料
CLEAR clientdata.
CLEAR clientdata[].
CLEAR clientdatax.
CLEAR clientdatax[].
CALL FUNCTION 'CONVERSION_EXIT_CUNIT_INPUT'
EXPORTING
INPUT = WA_ITAB-meins
IMPORTING
OUTPUT = WA_ITAB-meins
EXCEPTIONS
OTHERS = 1.
clientdata-FUNCTION = lv_bapifn.
clientdata-material = WA_ITAB-matnr.
clientdata-base_uom = WA_ITAB-meins. "基本计量单位
clientdata-old_mat_no = WA_ITAB-bismt. "旧物料编码
" clientdata-extmatlgrp = WA_ITAB-matkl. "外部物料组
clientdata-division = WA_ITAB-spart. "分部
clientdata-item_cat = WA_ITAB-mtpos. "
clientdata-prod_hier = WA_ITAB-prdha.
clientdata-stor_conds = WA_ITAB-raube.
clientdata-extmatlgrp = WA_ITAB-extwg. "外部物料组
clientdata-size_dim = WA_ITAB-groes.
clientdata-prod_alloc = WA_ITAB-kosch.
clientdata-basic_matl = WA_ITAB-wrkst. "产品层次
clientdata-lab_design = WA_ITAB-labor.
clientdata-std_descr = WA_ITAB-normt.
clientdata-mat_grp_sm = WA_ITAB-magrv.
clientdata-hazmatprof = WA_ITAB-profl.
clientdata-batch_mgmt = WA_ITAB-xchpf.
clientdata-net_weight = WA_ITAB-ntgew.
clientdata-prod_memo = WA_ITAB-ferth.
clientdata-tax_class = 0.
clientdata-document = WA_ITAB-zeiAR. " ppp
APPEND clientdata.
CLEAR clientdatax.
clientdatax-FUNCTION = lv_bapifn.
clientdatax-material = WA_ITAB-matnr.
clientdatax-base_uom = 'X'.
clientdatax-old_mat_no = 'X'.
clientdatax-extmatlgrp = 'X'.
clientdatax-division = 'X'.
clientdatax-item_cat = 'X'.
clientdatax-prod_hier = 'X'.
clientdatax-stor_conds = 'X'.
clientdatax-extmatlgrp = 'X'.
clientdatax-size_dim = 'X'.
clientdatax-prod_alloc = 'X'.
clientdatax-basic_matl = 'X'.
clientdatax-lab_design = 'X'.
clientdatax-std_descr = 'X'.
clientdatax-mat_grp_sm = 'X'.
clientdatax-hazmatprof = 'X'.
clientdatax-batch_mgmt = 'X'.
clientdatax-net_weight = 'X'.
clientdatax-prod_memo = 'X'.
clientdatax-tax_class = 'X'.
clientdatax-document = 'X'.
APPEND clientdatax.
"------------------------- 零售数据传输:基本数据的扩展 ----------------
CLEAR addnlclientdata.
CLEAR addnlclientdata[].
addnlclientdata-FUNCTION = lv_bapifn.
addnlclientdata-material = WA_ITAB-matnr.
addnlclientdata-loadinggrp = '0001'.
addnlclientdata-val_class = WA_ITAB-bklas. "评估类
addnlclientdata-COMM_CODE = WA_ITAB-WSTAW. "商品代码
APPEND addnlclientdata.
CLEAR addnlclientdatax.
CLEAR addnlclientdatax[].
addnlclientdatax-FUNCTION = lv_bapifn.
addnlclientdatax-material = WA_ITAB-matnr.
addnlclientdatax-loadinggrp = 'X'.
addnlclientdatax-val_class = 'X'.
addnlclientdata-COMM_CODE ='X'." wa_itab-WA_ITAB-WSTAW'.
APPEND addnlclientdatax.
"工厂级别数据
CLEAR plantdata.
CLEAR plantdata[].
CLEAR plantdatax.
CLEAR plantdatax[].
" 对应系统中所有用户定义的工厂同时创建
SELECT WERKS INTO corresponding FIELDS OF TABLE GT_WERKS
FROM T001W
WHERE WERKS NOT IN ('0001','0002','0003','ZZ88') AND werks IN ('2100' , '2200' ,'2300' ,'2400','2500').
.
LOOP AT GT_WERKS.
plantdata-FUNCTION = lv_bapifn.
plantdata-material = WA_ITAB-matnr.
plantdata-plant = GT_WERKS-werks.
plantdata-pur_group = WA_ITAB-wekgr. "采购组
plantdata-comm_code = WA_ITAB-stawn. "商品代码
* PLANTDATA-EXPIMPGRP = WA_ITAB-MTVER.
plantdata-AVAILCHECK = 'KP'. "0 可用性检查的检查组
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = WA_ITAB-prctr
IMPORTING
OUTPUT = WA_ITAB-prctr
EXCEPTIONS
OTHERS = 1.
plantdata-profit_ctr = WA_ITAB-prctr. " 利润中心
plantdata-loadinggrp = WA_ITAB-wladg. " 装载组
plantdata-batch_mgmt = WA_ITAB-xchpf. " 批次管理需求的标识
plantdata-mrp_type = 'ND'." WA_ITAB-dismm. " 物料需求计划类型
" plantdata-availcheck = WA_ITAB-mtvfp.
plantdata-prod_prof = WA_ITAB-sfcpf. "生产计划参数文件
plantdata-proc_type = 'X'.
APPEND plantdata.
CLEAR plantdatax.
" CLEAR plantdatax[].
plantdatax-FUNCTION = lv_bapifn.
plantdatax-material = WA_ITAB-matnr.
plantdatax-plant = GT_WERKS-werks.
plantdatax-pur_group = 'X'.
plantdatax-comm_code = 'X'.
plantdatax-expimpgrp = 'X'.
plantdatax-profit_ctr = 'X'.
plantdatax-loadinggrp = 'X'.
plantdatax-batch_mgmt = 'X'.
plantdatax-mrp_type = 'X'.
plantdatax-availcheck = 'X'.
plantdatax-prod_prof = 'X'.
plantdatax-proc_type = 'X'.
APPEND plantdatax.
ENDLOOP.
"库位级别的
SELECT LGORT WERKS INTO CORRESPONDING FIELDS OF TABLE GT_loget FROM T001L WHERE WERKS NOT IN ('0001','0002') AND werks in ('2100' , '2200' ,'2300' ,'2400','2500').
LOOP AT GT_LOGET.
CLEAR LGORTdata.
CLEAR LGORTdata[].
LGORTdata-FUNCTION = lv_bapifn.
LGORTdata-material = WA_ITAB-matnr.
LGORTdata-plant = GT_LOGET-werks.
LGORTdata-STGE_LOC = GT_LOGET-LGORT.
" plantdata-comm_code = WA_ITAB-stawn.
APPEND LGORTdata.
CLEAR LGORTdatax.
CLEAR LGORTdatax[].
LGORTdatax-FUNCTION = lv_bapifn.
LGORTdatax-material = WA_ITAB-matnr.
LGORTdatax-plant = GT_LOGET-werks.
LGORTdatax-STGE_LOC = GT_LOGET-LGORT.
"LGORTdatax-STGE_BIN = 'X'.
APPEND LGORTdatax.
ENDLOOP.
* C.销售组织层级:对系统中所有用户定义的工厂对应销售组织同时创建。
*SELECT * FROM TVKWZ
* WHERE NOT IN ('0001','0002','0003')
CLEAR GT_VKORG .
SELECT VKORG vtweg INTO CORRESPONDING FIELDS OF TABLE GT_VKORG FROM TVKWZ WHERE WERKS NOT IN ('0001','0002','0003') AND werks IN ('2100' , '2200' ,'2300' ,'2400','2500').
CLEAR salesdata.
CLEAR salesdata[].
CLEAR salesdatax.
CLEAR salesdatax[].
LOOP AT GT_VKORG.
"销售数据
CLEAR salesdata.
salesdata-FUNCTION = lv_bapifn.
salesdata-material = WA_ITAB-matnr.
salesdata-sales_org = GT_VKORG-vkorg. "销售组织
salesdata-distr_chan = GT_VKORG-vtweg. "参考客户和主物料分销渠道
salesdata-acct_assgt = WA_ITAB-ktgrm.
salesdata-mat_pr_grp = WA_ITAB-kondm.
salesdata-rebate_grp = WA_ITAB-bonus.
salesdata-matl_stats = ''."物料统计组
salesdata-item_cat = 'NORM'.
APPEND salesdata.
CLEAR salesdatax.
salesdatax-FUNCTION = lv_bapifn.
salesdatax-material = WA_ITAB-matnr.
salesdatax-sales_org = GT_VKORG-vkorg.
salesdatax-distr_chan = GT_VKORG-vtweg.
salesdatax-acct_assgt = 'X'.
salesdatax-mat_pr_grp = 'X'.
salesdatax-rebate_grp = 'X'.
salesdatax-matl_stats = 'X'."物料统计组
salesdatax-item_cat = 'X'.
APPEND salesdatax.
ENDLOOP.
SORT salesdata BY material sales_org distr_chan.
SORT salesdatax BY material sales_org distr_chan.
DELETE ADJACENT DUPLICATES FROM salesdata.
DELETE ADJACENT DUPLICATES FROM salesdatax.
"select PRCTR from ZTPRCTR WHERE WERKS = ?
SELECT PRCTR WERKS INTO CORRESPONDING FIELDS OF TABLE GT_ZTPRCTR FROM ZTPRCTR WHERE WERKS NOT IN ('0001','0002','0003') AND werks IN ('2100' , '2200' ,'2300' ,'2400','2500').
"会计、成本
CLEAR valuationdata.
CLEAR valuationdata[].
CLEAR valuationdatax.
CLEAR valuationdatax[].
LOOP AT GT_WERKS.
valuationdata-FUNCTION = lv_bapifn.
valuationdata-material = WA_ITAB-matnr.
valuationdata-val_area = GT_WERKS-werks.
valuationdata-moving_pr = WA_ITAB-verpr.
valuationdata-price_unit = WA_ITAB-peinh.
valuationdata-val_class = WA_ITAB-bklas.
valuationdata-val_cat = WA_ITAB-bwtty.
valuationdata-orig_mat = WA_ITAB-hkmat.
valuationdata-price_ctrl = wa_itab-VPRSV."'V'.
valuationdata-ml_settle = '2'.
valuationdata-ml_active = 'X'.
APPEND valuationdata.
CLEAR valuationdatax.
" CLEAR valuationdatax[].
valuationdatax-FUNCTION = lv_bapifn.
valuationdatax-material = WA_ITAB-matnr.
valuationdatax-val_area = GT_WERKS-werks.
valuationdatax-moving_pr = 'X'.
valuationdatax-price_unit = 'X'.
valuationdatax-val_class = 'X'.
valuationdatax-val_cat = 'X'.
valuationdatax-orig_mat = 'X'.
valuationdatax-price_ctrl = 'X'.
valuationdatax-ml_settle = 'X'.
valuationdatax-ml_active = 'X'.
APPEND valuationdatax.
ENDLOOP.
"物料描述
CLEAR materialdescription[].
CLEAR materialdescription.
materialdescription-material = WA_ITAB-matnr.
materialdescription-langu_iso = 'ZH'.
materialdescription-matl_desc = WA_ITAB-makt.
APPEND materialdescription.
"单位
CLEAR unitsofmeasure.
CLEAR unitsofmeasure[].
unitsofmeasure-FUNCTION = lv_bapifn.
unitsofmeasure-material = WA_ITAB-matnr.
unitsofmeasure-alt_unit = WA_ITAB-meins.
unitsofmeasure-numerator = '1'.
unitsofmeasure-denominatr = '1'.
unitsofmeasure-gross_wt = WA_ITAB-brgew.
unitsofmeasure-unit_of_wt = 'KG'.
unitsofmeasure-volume = '0'.
unitsofmeasure-volumeunit = ''.
APPEND unitsofmeasure.
CLEAR unitsofmeasurex.
CLEAR unitsofmeasurex[].
unitsofmeasurex-FUNCTION = lv_bapifn.
unitsofmeasurex-material = WA_ITAB-matnr.
unitsofmeasurex-alt_unit = WA_ITAB-meins.
unitsofmeasurex-numerator = 'X'.
unitsofmeasurex-denominatr = 'X'.
unitsofmeasurex-gross_wt = 'X'.
unitsofmeasurex-unit_of_wt = 'X'.
unitsofmeasurex-volume = 'X'.
unitsofmeasurex-volumeunit = 'X'.
APPEND unitsofmeasurex.
"税分类
CLEAR taxclassifications.
CLEAR taxclassifications[].
taxclassifications-FUNCTION = lv_bapifn.
taxclassifications-material = WA_ITAB-matnr.
taxclassifications-depcountry = 'CN'.
taxclassifications-tax_type_1 = 'MWST'.
taxclassifications-taxclass_1 = '0'.
APPEND taxclassifications.
CLEAR RETURN.
CALL FUNCTION 'BAPI_MATERIAL_MAINTAINDATA_RT'
EXPORTING
headdata = headdata
IMPORTING
RETURN = RETURN
TABLES
clientdata = clientdata[]
clientdatax = clientdatax[]
addnlclientdata = addnlclientdata[]
addnlclientdatax = addnlclientdatax[]
materialdescription = materialdescription[]
plantdata = plantdata[]
plantdatax = plantdatax[]
posdata = posdata[]
posdatax = posdatax[]
unitsofmeasure = unitsofmeasure[]
unitsofmeasurex = unitsofmeasurex[]
taxclassifications = taxclassifications[]
valuationdata = valuationdata[]
valuationdatax = valuationdatax[]
salesdata = salesdata[]
salesdatax = salesdatax[].WA_ITAB-spart = '00'.
headdata = headdata
IMPORTING
RETURN = RETURN
TABLES
clientdata = clientdata[]
clientdatax = clientdatax[]
addnlclientdata = addnlclientdata[]
addnlclientdatax = addnlclientdatax[]
materialdescription = materialdescription[]
plantdata = plantdata[]
plantdatax = plantdatax[]
posdata = posdata[]
posdatax = posdatax[]
unitsofmeasure = unitsofmeasure[]
unitsofmeasurex = unitsofmeasurex[]
taxclassifications = taxclassifications[]
valuationdata = valuationdata[]
valuationdatax = valuationdatax[]
salesdata = salesdata[]
salesdatax = salesdatax[].
CLEAR lv_flg.
" -------------------------------------- 抬头数据 -----------------
headdata-FUNCTION = lv_bapifn. "009 原始的:关于处理的第一个信息
headdata-material = WA_ITAB-matnr.
headdata-matl_type = WA_ITAB-mtart. "物料类型
" 物料类型 T134
headdata-matl_group = WA_ITAB-matkl. "物料组
headdata-matl_cat = '00'." 00 一般物料
"---------------------------------------------------------------------
headdata-basic_view = 'X'. "基本视图
headdata-list_view = 'X'. "列表视图
headdata-sales_view = 'X'. "销售视图
headdata-logst_view = 'X'. "后勤视图
headdata-no_appl_log = 'X' . "不写入应用程序的日志
* HEADDATA-ALL_FIELDS = 'X' .
" 维护基本视图的基本数据
" 零售数据传输:集团级别的物料
CLEAR clientdata.
CLEAR clientdata[].
CLEAR clientdatax.
CLEAR clientdatax[].
CALL FUNCTION 'CONVERSION_EXIT_CUNIT_INPUT'
EXPORTING
INPUT = WA_ITAB-meins
IMPORTING
OUTPUT = WA_ITAB-meins
EXCEPTIONS
OTHERS = 1.
clientdata-FUNCTION = lv_bapifn.
clientdata-material = WA_ITAB-matnr.
clientdata-base_uom = WA_ITAB-meins. "基本计量单位
clientdata-old_mat_no = WA_ITAB-bismt. "旧物料编码
" clientdata-extmatlgrp = WA_ITAB-matkl. "外部物料组
clientdata-division = WA_ITAB-spart. "分部
clientdata-item_cat = WA_ITAB-mtpos. "
clientdata-prod_hier = WA_ITAB-prdha.
clientdata-stor_conds = WA_ITAB-raube.
clientdata-extmatlgrp = WA_ITAB-extwg. "外部物料组
clientdata-size_dim = WA_ITAB-groes.
clientdata-prod_alloc = WA_ITAB-kosch.
clientdata-basic_matl = WA_ITAB-wrkst. "产品层次
clientdata-lab_design = WA_ITAB-labor.
clientdata-std_descr = WA_ITAB-normt.
clientdata-mat_grp_sm = WA_ITAB-magrv.
clientdata-hazmatprof = WA_ITAB-profl.
clientdata-batch_mgmt = WA_ITAB-xchpf.
clientdata-net_weight = WA_ITAB-ntgew.
clientdata-prod_memo = WA_ITAB-ferth.
clientdata-tax_class = 0.
clientdata-document = WA_ITAB-zeiAR. " ppp
APPEND clientdata.
CLEAR clientdatax.
clientdatax-FUNCTION = lv_bapifn.
clientdatax-material = WA_ITAB-matnr.
clientdatax-base_uom = 'X'.
clientdatax-old_mat_no = 'X'.
clientdatax-extmatlgrp = 'X'.
clientdatax-division = 'X'.
clientdatax-item_cat = 'X'.
clientdatax-prod_hier = 'X'.
clientdatax-stor_conds = 'X'.
clientdatax-extmatlgrp = 'X'.
clientdatax-size_dim = 'X'.
clientdatax-prod_alloc = 'X'.
clientdatax-basic_matl = 'X'.
clientdatax-lab_design = 'X'.
clientdatax-std_descr = 'X'.
clientdatax-mat_grp_sm = 'X'.
clientdatax-hazmatprof = 'X'.
clientdatax-batch_mgmt = 'X'.
clientdatax-net_weight = 'X'.
clientdatax-prod_memo = 'X'.
clientdatax-tax_class = 'X'.
clientdatax-document = 'X'.
APPEND clientdatax.
"------------------------- 零售数据传输:基本数据的扩展 ----------------
CLEAR addnlclientdata.
CLEAR addnlclientdata[].
addnlclientdata-FUNCTION = lv_bapifn.
addnlclientdata-material = WA_ITAB-matnr.
addnlclientdata-loadinggrp = '0001'.
addnlclientdata-val_class = WA_ITAB-bklas. "评估类
addnlclientdata-COMM_CODE = WA_ITAB-WSTAW. "商品代码
APPEND addnlclientdata.
CLEAR addnlclientdatax.
CLEAR addnlclientdatax[].
addnlclientdatax-FUNCTION = lv_bapifn.
addnlclientdatax-material = WA_ITAB-matnr.
addnlclientdatax-loadinggrp = 'X'.
addnlclientdatax-val_class = 'X'.
addnlclientdata-COMM_CODE ='X'." wa_itab-WA_ITAB-WSTAW'.
APPEND addnlclientdatax.
"工厂级别数据
CLEAR plantdata.
CLEAR plantdata[].
CLEAR plantdatax.
CLEAR plantdatax[].
" 对应系统中所有用户定义的工厂同时创建
SELECT WERKS INTO corresponding FIELDS OF TABLE GT_WERKS
FROM T001W
WHERE WERKS NOT IN ('0001','0002','0003','ZZ88') AND werks IN ('2100' , '2200' ,'2300' ,'2400','2500').
.
LOOP AT GT_WERKS.
plantdata-FUNCTION = lv_bapifn.
plantdata-material = WA_ITAB-matnr.
plantdata-plant = GT_WERKS-werks.
plantdata-pur_group = WA_ITAB-wekgr. "采购组
plantdata-comm_code = WA_ITAB-stawn. "商品代码
* PLANTDATA-EXPIMPGRP = WA_ITAB-MTVER.
plantdata-AVAILCHECK = 'KP'. "0 可用性检查的检查组
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = WA_ITAB-prctr
IMPORTING
OUTPUT = WA_ITAB-prctr
EXCEPTIONS
OTHERS = 1.
plantdata-profit_ctr = WA_ITAB-prctr. " 利润中心
plantdata-loadinggrp = WA_ITAB-wladg. " 装载组
plantdata-batch_mgmt = WA_ITAB-xchpf. " 批次管理需求的标识
plantdata-mrp_type = 'ND'." WA_ITAB-dismm. " 物料需求计划类型
" plantdata-availcheck = WA_ITAB-mtvfp.
plantdata-prod_prof = WA_ITAB-sfcpf. "生产计划参数文件
plantdata-proc_type = 'X'.
APPEND plantdata.
CLEAR plantdatax.
" CLEAR plantdatax[].
plantdatax-FUNCTION = lv_bapifn.
plantdatax-material = WA_ITAB-matnr.
plantdatax-plant = GT_WERKS-werks.
plantdatax-pur_group = 'X'.
plantdatax-comm_code = 'X'.
plantdatax-expimpgrp = 'X'.
plantdatax-profit_ctr = 'X'.
plantdatax-loadinggrp = 'X'.
plantdatax-batch_mgmt = 'X'.
plantdatax-mrp_type = 'X'.
plantdatax-availcheck = 'X'.
plantdatax-prod_prof = 'X'.
plantdatax-proc_type = 'X'.
APPEND plantdatax.
ENDLOOP.
"库位级别的
SELECT LGORT WERKS INTO CORRESPONDING FIELDS OF TABLE GT_loget FROM T001L WHERE WERKS NOT IN ('0001','0002') AND werks in ('2100' , '2200' ,'2300' ,'2400','2500').
LOOP AT GT_LOGET.
CLEAR LGORTdata.
CLEAR LGORTdata[].
LGORTdata-FUNCTION = lv_bapifn.
LGORTdata-material = WA_ITAB-matnr.
LGORTdata-plant = GT_LOGET-werks.
LGORTdata-STGE_LOC = GT_LOGET-LGORT.
" plantdata-comm_code = WA_ITAB-stawn.
APPEND LGORTdata.
CLEAR LGORTdatax.
CLEAR LGORTdatax[].
LGORTdatax-FUNCTION = lv_bapifn.
LGORTdatax-material = WA_ITAB-matnr.
LGORTdatax-plant = GT_LOGET-werks.
LGORTdatax-STGE_LOC = GT_LOGET-LGORT.
"LGORTdatax-STGE_BIN = 'X'.
APPEND LGORTdatax.
ENDLOOP.
* C.销售组织层级:对系统中所有用户定义的工厂对应销售组织同时创建。
*SELECT * FROM TVKWZ
* WHERE NOT IN ('0001','0002','0003')
CLEAR GT_VKORG .
SELECT VKORG vtweg INTO CORRESPONDING FIELDS OF TABLE GT_VKORG FROM TVKWZ WHERE WERKS NOT IN ('0001','0002','0003') AND werks IN ('2100' , '2200' ,'2300' ,'2400','2500').
CLEAR salesdata.
CLEAR salesdata[].
CLEAR salesdatax.
CLEAR salesdatax[].
LOOP AT GT_VKORG.
"销售数据
CLEAR salesdata.
salesdata-FUNCTION = lv_bapifn.
salesdata-material = WA_ITAB-matnr.
salesdata-sales_org = GT_VKORG-vkorg. "销售组织
salesdata-distr_chan = GT_VKORG-vtweg. "参考客户和主物料分销渠道
salesdata-acct_assgt = WA_ITAB-ktgrm.
salesdata-mat_pr_grp = WA_ITAB-kondm.
salesdata-rebate_grp = WA_ITAB-bonus.
salesdata-matl_stats = ''."物料统计组
salesdata-item_cat = 'NORM'.
APPEND salesdata.
CLEAR salesdatax.
salesdatax-FUNCTION = lv_bapifn.
salesdatax-material = WA_ITAB-matnr.
salesdatax-sales_org = GT_VKORG-vkorg.
salesdatax-distr_chan = GT_VKORG-vtweg.
salesdatax-acct_assgt = 'X'.
salesdatax-mat_pr_grp = 'X'.
salesdatax-rebate_grp = 'X'.
salesdatax-matl_stats = 'X'."物料统计组
salesdatax-item_cat = 'X'.
APPEND salesdatax.
ENDLOOP.
SORT salesdata BY material sales_org distr_chan.
SORT salesdatax BY material sales_org distr_chan.
DELETE ADJACENT DUPLICATES FROM salesdata.
DELETE ADJACENT DUPLICATES FROM salesdatax.
"select PRCTR from ZTPRCTR WHERE WERKS = ?
SELECT PRCTR WERKS INTO CORRESPONDING FIELDS OF TABLE GT_ZTPRCTR FROM ZTPRCTR WHERE WERKS NOT IN ('0001','0002','0003') AND werks IN ('2100' , '2200' ,'2300' ,'2400','2500').
"会计、成本
CLEAR valuationdata.
CLEAR valuationdata[].
CLEAR valuationdatax.
CLEAR valuationdatax[].
LOOP AT GT_WERKS.
valuationdata-FUNCTION = lv_bapifn.
valuationdata-material = WA_ITAB-matnr.
valuationdata-val_area = GT_WERKS-werks.
valuationdata-moving_pr = WA_ITAB-verpr.
valuationdata-price_unit = WA_ITAB-peinh.
valuationdata-val_class = WA_ITAB-bklas.
valuationdata-val_cat = WA_ITAB-bwtty.
valuationdata-orig_mat = WA_ITAB-hkmat.
valuationdata-price_ctrl = wa_itab-VPRSV."'V'.
valuationdata-ml_settle = '2'.
valuationdata-ml_active = 'X'.
APPEND valuationdata.
CLEAR valuationdatax.
" CLEAR valuationdatax[].
valuationdatax-FUNCTION = lv_bapifn.
valuationdatax-material = WA_ITAB-matnr.
valuationdatax-val_area = GT_WERKS-werks.
valuationdatax-moving_pr = 'X'.
valuationdatax-price_unit = 'X'.
valuationdatax-val_class = 'X'.
valuationdatax-val_cat = 'X'.
valuationdatax-orig_mat = 'X'.
valuationdatax-price_ctrl = 'X'.
valuationdatax-ml_settle = 'X'.
valuationdatax-ml_active = 'X'.
APPEND valuationdatax.
ENDLOOP.
"物料描述
CLEAR materialdescription[].
CLEAR materialdescription.
materialdescription-material = WA_ITAB-matnr.
materialdescription-langu_iso = 'ZH'.
materialdescription-matl_desc = WA_ITAB-makt.
APPEND materialdescription.
"单位
CLEAR unitsofmeasure.
CLEAR unitsofmeasure[].
unitsofmeasure-FUNCTION = lv_bapifn.
unitsofmeasure-material = WA_ITAB-matnr.
unitsofmeasure-alt_unit = WA_ITAB-meins.
unitsofmeasure-numerator = '1'.
unitsofmeasure-denominatr = '1'.
unitsofmeasure-gross_wt = WA_ITAB-brgew.
unitsofmeasure-unit_of_wt = 'KG'.
unitsofmeasure-volume = '0'.
unitsofmeasure-volumeunit = ''.
APPEND unitsofmeasure.
CLEAR unitsofmeasurex.
CLEAR unitsofmeasurex[].
unitsofmeasurex-FUNCTION = lv_bapifn.
unitsofmeasurex-material = WA_ITAB-matnr.
unitsofmeasurex-alt_unit = WA_ITAB-meins.
unitsofmeasurex-numerator = 'X'.
unitsofmeasurex-denominatr = 'X'.
unitsofmeasurex-gross_wt = 'X'.
unitsofmeasurex-unit_of_wt = 'X'.
unitsofmeasurex-volume = 'X'.
unitsofmeasurex-volumeunit = 'X'.
APPEND unitsofmeasurex.
"税分类
CLEAR taxclassifications.
CLEAR taxclassifications[].
taxclassifications-FUNCTION = lv_bapifn.
taxclassifications-material = WA_ITAB-matnr.
taxclassifications-depcountry = 'CN'.
taxclassifications-tax_type_1 = 'MWST'.
taxclassifications-taxclass_1 = '0'.
APPEND taxclassifications.
CLEAR RETURN.
CALL FUNCTION 'BAPI_MATERIAL_MAINTAINDATA_RT'
EXPORTING
headdata = headdata
IMPORTING
RETURN = RETURN
TABLES
clientdata = clientdata[]
clientdatax = clientdatax[]
addnlclientdata = addnlclientdata[]
addnlclientdatax = addnlclientdatax[]
materialdescription = materialdescription[]
plantdata = plantdata[]
plantdatax = plantdatax[]
posdata = posdata[]
posdatax = posdatax[]
unitsofmeasure = unitsofmeasure[]
unitsofmeasurex = unitsofmeasurex[]
taxclassifications = taxclassifications[]
valuationdata = valuationdata[]
valuationdatax = valuationdatax[]
salesdata = salesdata[]
salesdatax = salesdatax[].
阅读全文
0 0
- 物料主数据--1. BAPI_MATERIAL_MAINTAINDATA_RT的使用以及心得
- 物料主数据的维护状态
- MM物料主数据的字段解释
- 创建修改物料主数据的BAPI
- 物料主数据的关键表
- 物料主数据的维护状态
- 获取物料主数据的特性值
- 删除物料主数据
- 物料主数据增强
- sap-使用 JCO 调用bapi创建物料主数据
- 如何在SAP物料主数据的会计视图中修改物料的价格控制?
- SAP中关于物料主数据里物料类型的修改
- 物料主数据视图详解
- 物料主数据屏幕增强
- 物料主数据相关表
- APO 物料主数据增强
- MM物料主数据 增强的地方 user-exit MGA00001
- bapi (物料主数据导入)的部分基础用法
- leetcode 491. Increasing Subsequences
- EasyDSS高性能流媒体服务器前端重构(一):从零开始搭建 webpack + vue + AdminLTE 多页面脚手架
- 解决Ubuntu14.04下声音突然没有问题
- It is also possible that a host key has just been changed. The fingerprint for the RSA key sent by t
- 细说mybatis动态sql和底层数据交互与JDBC和hibernate的相关性
- 物料主数据--1. BAPI_MATERIAL_MAINTAINDATA_RT的使用以及心得
- 经典:生产者消费者模型
- vuex2.0 基本使用 --- mutation 和 action
- oracle中关于表空间,用户,表相关的查询语句
- 全国shp矢量数据分享(精确到区县)
- 知识点总结
- MySQL 密码忘记
- JQuery样式
- redis必杀命令:脚本