SAP创建物料主数据(维护长文本,质量视图中质量类型,分类视图)
2017-11-24 11:44
721 查看
SAP创建物料主数据(包括维护长文本,质量视图中质量类型,分类视图)
CLEAR: gw_head,gw_mara,gw_marax,gw_makt,gt_makt,
gw_mvke,gw_mvkex,gw_marc,gw_marcx,gw_mbew,
gw_mbewx,gw_mlan,gt_mlan,gw_mltx,gt_mltx.
"视图选择
gw_head-material = gw_mat01-matnr. "物料编码
gw_head-ind_sector = 'C'. "行业领域
gw_head-matl_type = 'Z001'. "物料类型
gw_head-basic_view = 'X'. "基本数据视图
gw_head-sales_view = 'X'. "销售视图
gw_head-purchase_view = 'X'. "采购视图
gw_head-mrp_view = 'X'. "MRP视图
gw_head-work_sched_view = 'X'. "工作计划视图
gw_head-quality_view = 'X'. "质量管理视图
gw_head-account_view = 'X'. "会计视图
gw_head-cost_view = 'X'. "成本视图
gw_head-warehouse_view = 'X'. "仓库管理视图
"基本数据
gw_mara-matl_group = '1001'. "物料组
gw_mara-base_uom = gw_mat01-meins."基本计量单位
gw_mara-old_mat_no = gw_mat01-bismt.
gw_mara-extmatlgrp = gw_mat01-extwg.
gw_mara-dsn_office = gw_mat01-labor.
gw_mara-unit_of_wt = 'KG'. "重量单位
gw_mara-trans_grp = '0001'. "运输组
gw_mara-hazmatprof = '001'. "DG标识参数文件
gw_mara-mat_grp_sm = '001'.
gw_mara-batch_mgmt = 'X'. "批次管理需求的标识
gw_marax-matl_group = 'X'.
gw_marax-base_uom = 'X'.
gw_marax-old_mat_no = 'X'.
gw_marax-extmatlgrp = 'X'.
gw_marax-dsn_office = 'X'.
gw_marax-unit_of_wt = 'X'.
gw_marax-trans_grp = 'X'.
gw_marax-hazmatprof = 'X'.
gw_marax-mat_grp_sm = 'X'.
gw_marax-batch_mgmt = 'X'.
"物料描述
gw_makt-langu = '1'."中文
gw_makt-matl_desc = gw_mat01-maktx.
APPEND gw_makt TO gt_makt.
IF gw_mat01-maktx_e IS NOT INITIAL.
gw_makt-langu = 'E'."英文
gw_makt-matl_desc = gw_mat01-maktx_e.
APPEND gw_makt TO gt_makt.
ENDIF.
"销售数据
gw_mvke-sales_org = gw_mat01-vkorg. "销售机构
gw_mvke-distr_chan = gw_mat01-vtweg. "分销渠道
gw_mvke-cash_disc = 'X'. "现金折扣标志
gw_mvke-acct_assgt = 'Z1'. "该物料的科目设置组
gw_mvke-item_cat = 'NORM'. "项目类别组
gw_mvke-delyg_plnt = gw_mat01-werks. "交货工厂
gw_mvkex-sales_org = gw_mat01-vkorg.
gw_mvkex-distr_chan = gw_mat01-vtweg.
gw_mvkex-cash_disc = 'X'.
gw_mvkex-acct_assgt = 'X'.
gw_mvkex-item_cat = 'X'.
gw_mvkex-delyg_plnt = 'X'.
"税务数据
gw_mlan-depcountry = 'CN'.
gw_mlan-tax_type_1 = 'MWST'. "税收类别
gw_mlan-taxclass_1 = '1'. "税分类
APPEND gw_mlan TO gt_mlan.
CLEAR: gw_mlan.
"工厂数据
gw_marc-plant = gw_mat01-werks. "工厂
gw_marc-mrp_type = 'PD'. "MRP 类型
gw_marc-mrp_ctrler = '001'. "MRP控制者
gw_marc-lotsizekey = 'EX'. "批量大小
gw_marc-proc_type = 'E'. "采购类型
gw_marc-sm_key = '000'. "计划边际码
gw_marc-availcheck = '02'. "可用性检查
gw_marc-plan_strgp = '40'. "策略
gw_marc-period_ind = 'M'. "期间标识
gw_marc-inhseprodt = '15'. "自制生产时间
gw_marc-gr_pr_time = '3'. "收货处理时间
gw_marc-doc_reqd = 'X'. "凭证需求标识
gw_marc-variance_key = '000001'. "差异码
gw_marc-qm_authgrp = '000020'. "QM 物料授权
gw_marc-profit_ctr = gw_mat01-prctr. "利润中心
gw_marc-loadinggrp = '0001'. "装载组
gw_marc-lot_size = '1'. "生产成本估算批量规模
gw_marc-prodprof = '000001'. "生产计划参数文件
gw_marcx-plant = gw_mat01-werks.
gw_marcx-mrp_type = 'X'.
gw_marcx-mrp_ctrler = 'X'.
gw_marcx-lotsizekey = 'X'.
gw_marcx-proc_type = 'X'.
gw_marcx-sm_key = 'X'.
gw_marcx-availcheck = 'X'.
gw_marcx-plan_strgp = 'X'.
gw_marcx-period_ind = 'X'.
gw_marcx-inhseprodt = 'X'.
gw_marcx-gr_pr_time = 'X'.
gw_marcx-doc_reqd = 'X'.
gw_marcx-variance_key = 'X'.
gw_marcx-qm_authgrp = 'X'.
gw_marcx-profit_ctr = 'X'.
gw_marcx-loadinggrp = 'X'.
gw_marcx-lot_size = 'X'.
gw_marcx-prodprof = 'X'.
"财务数据
gw_mbew-val_area = gw_mat01-werks. "评估范围
gw_mbew-val_class = gw_mat01-bklas. "评估类
gw_mbew-price_unit = 1. "价格单位
gw_mbew-val_cat = 'P'. "评估类别
gw_mbew-price_ctrl = 'V'. "价格控制指示符
gw_mbew-qty_struct = 'X'. "物料根据数量结构进行成本核算
gw_mbew-orig_mat = 'X'. "物料相关的源
gw_mbew-ml_settle = '3'. "物料价格确认
gw_mbewx-val_area = gw_mat01-werks.
gw_mbewx-val_class = 'X'.
gw_mbewx-price_unit = 'X'.
gw_mbewx-val_cat = 'X'.
gw_mbewx-price_ctrl = 'X'.
gw_mbewx-qty_struct = 'X'.
gw_mbewx-orig_mat = 'X'.
gw_mbewx-ml_settle = 'X'.
"维护基本数据文本(中文)
gw_mltx-applobject = 'MATERIAL'.
gw_mltx-text_name = gw_mat01-matnr.
gw_mltx-text_id = 'GRUN'.
gw_mltx-langu = '1'. "中文
gw_mltx-format_col = 1.
gw_mltx-text_line = gw_mat01-text01+0(132).
APPEND gw_mltx TO gt_mltx.
CLEAR: gw_mltx.
gw_mltx-applobject = 'MATERIAL'.
gw_mltx-text_name = gw_mat01-matnr.
gw_mltx-text_id = 'GRUN'.
gw_mltx-langu = '1'. "中文
gw_mltx-format_col = 2.
gw_mltx-text_line = gw_mat01-text01+132(123).
APPEND gw_mltx TO gt_mltx.
CLEAR: gw_mltx.
"维护基本数据文本(英文)
gw_mltx-applobject = 'MATERIAL'.
gw_mltx-text_name = gw_mat01-matnr.
gw_mltx-text_id = 'GRUN'.
gw_mltx-langu = 'E'.
gw_mltx-format_col = 1.
gw_mltx-text_line = gw_mat01-text02+0(132).
APPEND gw_mltx TO gt_mltx.
CLEAR: gw_mltx.
gw_mltx-applobject = 'MATERIAL'.
gw_mltx-text_name = gw_mat01-matnr.
gw_mltx-text_id = 'GRUN'.
gw_mltx-langu = 'E'.
gw_mltx-format_col = 2.
gw_mltx-text_line = gw_mat01-text02+132(123).
APPEND gw_mltx TO gt_mltx.
CLEAR: gw_mltx.
"维护检验文本(中文)
gw_mltx-applobject = 'MATERIAL'.
gw_mltx-text_name = gw_mat01-matnr.
gw_mltx-text_id = 'PRUE'.
gw_mltx-langu = '1'. "中文
gw_mltx-format_col = 1.
gw_mltx-text_line = gw_mat01-text03+0(132).
APPEND gw_mltx TO gt_mltx.
CLEAR: gw_mltx.
gw_mltx-applobject = 'MATERIAL'.
gw_mltx-text_name = gw_mat01-matnr.
gw_mltx-text_id = 'PRUE'.
gw_mltx-langu = '1'. "中文
gw_mltx-format_col = 2.
gw_mltx-text_line = gw_mat01-text03+132(123).
APPEND gw_mltx TO gt_mltx.
CLEAR: gw_mltx.
"维护检验文本(英文)
gw_mltx-applobject = 'MATERIAL'.
gw_mltx-text_name = gw_mat01-matnr.
gw_mltx-text_id = 'PRUE'.
gw_mltx-langu = 'E'.
gw_mltx-format_col = 1.
gw_mltx-text_line = gw_mat01-text04+0(132).
APPEND gw_mltx TO gt_mltx.
CLEAR: gw_mltx.
gw_mltx-applobject = 'MATERIAL'.
gw_mltx-text_name = gw_mat01-matnr.
gw_mltx-text_id = 'PRUE'.
gw_mltx-langu = 'E'.
gw_mltx-format_col = 2.
gw_mltx-text_line = gw_mat01-text04+132(123).
APPEND gw_mltx TO gt_mltx.
CLEAR: gw_mltx.
CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
EXPORTING
headdata = gw_head
clientdata = gw_mara
clientdatax = gw_marax
plantdata = gw_marc
plantdatax = gw_marcx
valuationdata = gw_mbew
valuationdatax = gw_mbewx
salesdata = gw_mvke
salesdatax = gw_mvkex
IMPORTING
return = gw_return
TABLES
materialdescription = gt_makt
materiallongtext = gt_mltx
taxclassifications = gt_mlan.
IF gw_return-type = 'E' OR gw_return-type = 'A'.
ROLLBACK WORK.
CONCATENATE '物料'gw_mat01-matnr '创建失败:' gw_return-message INTO g_msg.
"检查日志处理
gw_alv-icon = icon_red_light.
gw_alv-matnr = gw_mat01-matnr.
gw_alv-log = g_msg.
APPEND gw_alv TO gt_alv.
CLEAR gw_alv.
CONTINUE.
ELSE.
COMMIT WORK AND WAIT.
"物料创建成功,消息状态预处理为W
gw_alv-icon = icon_yellow_light.
"创建批次分类视图
PERFORM frm_classview_023 USING gw_mat01-matnr.
"维护质量类型
PERFORM frm_save_insptype USING 'Z001' gw_mat01-matnr gw_mat01-werks.
IF g_msg IS INITIAL.
gw_alv-icon = icon_green_light.
g_msg = '物料主数据维护成功!'.
ENDIF.
PERFORM frm_append_alv USING gw_mat01-matnr g_msg gw_alv-icon.
ENDIF.
维护分类视图
FORM frm_classview_023 USING p_matnr.
DATA: it_char LIKE TABLE OF bapi1003_alloc_values_char WITH HEADER LINE,
it_num LIKE TABLE OF bapi1003_alloc_values_num WITH HEADER LINE,
it_return LIKE bapi_matreturn2 OCCURS 0 WITH HEADER LINE.
DATA: l_object LIKE bapi1003_key-object.
l_object = p_matnr.
CALL FUNCTION 'BAPI_OBJCL_CREATE'
EXPORTING
objectkeynew = l_object
objecttablenew = 'MARA'
classnumnew = 'ZCLASS_BATCH'
classtypenew = '023'
status = '1'
standardclass = 'X'
keydate = sy-datum
TABLES
allocvaluesnum = it_num
allocvalueschar = it_char
return = it_return.
READ TABLE it_return WITH KEY type = 'E'.
IF sy-subrc = 0.
ROLLBACK WORK.
CONCATENATE g_msg '/' '分类视图创建失败,请手动创建:'
it_return-message INTO g_msg.
ELSE.
COMMIT WORK.
ENDIF.
ENDFORM.
维护质量检验类型
FORM frm_save_insptype USING p_mtart TYPE mtart
p_matnr TYPE matnr
p_werks TYPE werks_d.
DATA: it_return LIKE bapiret2 OCCURS 0 WITH HEADER LINE,
lw_qmat TYPE bapi1001004_qmat,
lt_qmat TYPE STANDARD TABLE OF bapi1001004_qmat,
lw_tq34 TYPE tq34.
DATA: lt_zmmt008 TYPE STANDARD TABLE OF zmmt008,
lw_zmmt008 TYPE zmmt008 .
SELECT * FROM zmmt008
INTO CORRESPONDING FIELDS OF TABLE lt_zmmt008
WHERE mtart = p_mtart.
LOOP AT lt_zmmt008 INTO lw_zmmt008.
CLEAR: lw_tq34,lw_qmat.
SELECT SINGLE * FROM tq34 INTO lw_tq34 WHERE art = lw_zmmt008-art.
lw_qmat-insptype = lw_zmmt008-art. "检验类型号吗
lw_qmat-material = p_matnr. "物料号码
lw_qmat-plant = p_werks. "工厂号码
lw_qmat-preferred_insptype = 'X'. "首选的检验类型
lw_qmat-ind_insptype_mat_active = 'X'. "活动的
lw_qmat-ind_post_to_insp_stock = lw_tq34-insmk."过账到检验库存
lw_qmat-qual_score_procedure = lw_tq34-qkzverf."质量记分过程
lw_qmat-contr_insp_lot_create = lw_tq34-chg. "控制检验批
lw_qmat-ind_skips_allowed = lw_tq34-dyn. "允许略过
APPEND lw_qmat TO lt_qmat.
ENDLOOP.
CHECK lt_qmat IS NOT INITIAL.
CALL FUNCTION 'BAPI_MATINSPCTRL_SAVEREPLICA'
TABLES
return = it_return
inspectionctrl = lt_qmat.
READ TABLE it_return WITH KEY type = 'E'.
IF sy-subrc <> 0.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
ELSE.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
CONCATENATE g_msg '/' '质量检验类型维护失败,请手动维护!' INTO g_msg.
ENDIF.
ENDFORM. " FRM_SAVE_INSPTYPE
CLEAR: gw_head,gw_mara,gw_marax,gw_makt,gt_makt,
gw_mvke,gw_mvkex,gw_marc,gw_marcx,gw_mbew,
gw_mbewx,gw_mlan,gt_mlan,gw_mltx,gt_mltx.
"视图选择
gw_head-material = gw_mat01-matnr. "物料编码
gw_head-ind_sector = 'C'. "行业领域
gw_head-matl_type = 'Z001'. "物料类型
gw_head-basic_view = 'X'. "基本数据视图
gw_head-sales_view = 'X'. "销售视图
gw_head-purchase_view = 'X'. "采购视图
gw_head-mrp_view = 'X'. "MRP视图
gw_head-work_sched_view = 'X'. "工作计划视图
gw_head-quality_view = 'X'. "质量管理视图
gw_head-account_view = 'X'. "会计视图
gw_head-cost_view = 'X'. "成本视图
gw_head-warehouse_view = 'X'. "仓库管理视图
"基本数据
gw_mara-matl_group = '1001'. "物料组
gw_mara-base_uom = gw_mat01-meins."基本计量单位
gw_mara-old_mat_no = gw_mat01-bismt.
gw_mara-extmatlgrp = gw_mat01-extwg.
gw_mara-dsn_office = gw_mat01-labor.
gw_mara-unit_of_wt = 'KG'. "重量单位
gw_mara-trans_grp = '0001'. "运输组
gw_mara-hazmatprof = '001'. "DG标识参数文件
gw_mara-mat_grp_sm = '001'.
gw_mara-batch_mgmt = 'X'. "批次管理需求的标识
gw_marax-matl_group = 'X'.
gw_marax-base_uom = 'X'.
gw_marax-old_mat_no = 'X'.
gw_marax-extmatlgrp = 'X'.
gw_marax-dsn_office = 'X'.
gw_marax-unit_of_wt = 'X'.
gw_marax-trans_grp = 'X'.
gw_marax-hazmatprof = 'X'.
gw_marax-mat_grp_sm = 'X'.
gw_marax-batch_mgmt = 'X'.
"物料描述
gw_makt-langu = '1'."中文
gw_makt-matl_desc = gw_mat01-maktx.
APPEND gw_makt TO gt_makt.
IF gw_mat01-maktx_e IS NOT INITIAL.
gw_makt-langu = 'E'."英文
gw_makt-matl_desc = gw_mat01-maktx_e.
APPEND gw_makt TO gt_makt.
ENDIF.
"销售数据
gw_mvke-sales_org = gw_mat01-vkorg. "销售机构
gw_mvke-distr_chan = gw_mat01-vtweg. "分销渠道
gw_mvke-cash_disc = 'X'. "现金折扣标志
gw_mvke-acct_assgt = 'Z1'. "该物料的科目设置组
gw_mvke-item_cat = 'NORM'. "项目类别组
gw_mvke-delyg_plnt = gw_mat01-werks. "交货工厂
gw_mvkex-sales_org = gw_mat01-vkorg.
gw_mvkex-distr_chan = gw_mat01-vtweg.
gw_mvkex-cash_disc = 'X'.
gw_mvkex-acct_assgt = 'X'.
gw_mvkex-item_cat = 'X'.
gw_mvkex-delyg_plnt = 'X'.
"税务数据
gw_mlan-depcountry = 'CN'.
gw_mlan-tax_type_1 = 'MWST'. "税收类别
gw_mlan-taxclass_1 = '1'. "税分类
APPEND gw_mlan TO gt_mlan.
CLEAR: gw_mlan.
"工厂数据
gw_marc-plant = gw_mat01-werks. "工厂
gw_marc-mrp_type = 'PD'. "MRP 类型
gw_marc-mrp_ctrler = '001'. "MRP控制者
gw_marc-lotsizekey = 'EX'. "批量大小
gw_marc-proc_type = 'E'. "采购类型
gw_marc-sm_key = '000'. "计划边际码
gw_marc-availcheck = '02'. "可用性检查
gw_marc-plan_strgp = '40'. "策略
gw_marc-period_ind = 'M'. "期间标识
gw_marc-inhseprodt = '15'. "自制生产时间
gw_marc-gr_pr_time = '3'. "收货处理时间
gw_marc-doc_reqd = 'X'. "凭证需求标识
gw_marc-variance_key = '000001'. "差异码
gw_marc-qm_authgrp = '000020'. "QM 物料授权
gw_marc-profit_ctr = gw_mat01-prctr. "利润中心
gw_marc-loadinggrp = '0001'. "装载组
gw_marc-lot_size = '1'. "生产成本估算批量规模
gw_marc-prodprof = '000001'. "生产计划参数文件
gw_marcx-plant = gw_mat01-werks.
gw_marcx-mrp_type = 'X'.
gw_marcx-mrp_ctrler = 'X'.
gw_marcx-lotsizekey = 'X'.
gw_marcx-proc_type = 'X'.
gw_marcx-sm_key = 'X'.
gw_marcx-availcheck = 'X'.
gw_marcx-plan_strgp = 'X'.
gw_marcx-period_ind = 'X'.
gw_marcx-inhseprodt = 'X'.
gw_marcx-gr_pr_time = 'X'.
gw_marcx-doc_reqd = 'X'.
gw_marcx-variance_key = 'X'.
gw_marcx-qm_authgrp = 'X'.
gw_marcx-profit_ctr = 'X'.
gw_marcx-loadinggrp = 'X'.
gw_marcx-lot_size = 'X'.
gw_marcx-prodprof = 'X'.
"财务数据
gw_mbew-val_area = gw_mat01-werks. "评估范围
gw_mbew-val_class = gw_mat01-bklas. "评估类
gw_mbew-price_unit = 1. "价格单位
gw_mbew-val_cat = 'P'. "评估类别
gw_mbew-price_ctrl = 'V'. "价格控制指示符
gw_mbew-qty_struct = 'X'. "物料根据数量结构进行成本核算
gw_mbew-orig_mat = 'X'. "物料相关的源
gw_mbew-ml_settle = '3'. "物料价格确认
gw_mbewx-val_area = gw_mat01-werks.
gw_mbewx-val_class = 'X'.
gw_mbewx-price_unit = 'X'.
gw_mbewx-val_cat = 'X'.
gw_mbewx-price_ctrl = 'X'.
gw_mbewx-qty_struct = 'X'.
gw_mbewx-orig_mat = 'X'.
gw_mbewx-ml_settle = 'X'.
"维护基本数据文本(中文)
gw_mltx-applobject = 'MATERIAL'.
gw_mltx-text_name = gw_mat01-matnr.
gw_mltx-text_id = 'GRUN'.
gw_mltx-langu = '1'. "中文
gw_mltx-format_col = 1.
gw_mltx-text_line = gw_mat01-text01+0(132).
APPEND gw_mltx TO gt_mltx.
CLEAR: gw_mltx.
gw_mltx-applobject = 'MATERIAL'.
gw_mltx-text_name = gw_mat01-matnr.
gw_mltx-text_id = 'GRUN'.
gw_mltx-langu = '1'. "中文
gw_mltx-format_col = 2.
gw_mltx-text_line = gw_mat01-text01+132(123).
APPEND gw_mltx TO gt_mltx.
CLEAR: gw_mltx.
"维护基本数据文本(英文)
gw_mltx-applobject = 'MATERIAL'.
gw_mltx-text_name = gw_mat01-matnr.
gw_mltx-text_id = 'GRUN'.
gw_mltx-langu = 'E'.
gw_mltx-format_col = 1.
gw_mltx-text_line = gw_mat01-text02+0(132).
APPEND gw_mltx TO gt_mltx.
CLEAR: gw_mltx.
gw_mltx-applobject = 'MATERIAL'.
gw_mltx-text_name = gw_mat01-matnr.
gw_mltx-text_id = 'GRUN'.
gw_mltx-langu = 'E'.
gw_mltx-format_col = 2.
gw_mltx-text_line = gw_mat01-text02+132(123).
APPEND gw_mltx TO gt_mltx.
CLEAR: gw_mltx.
"维护检验文本(中文)
gw_mltx-applobject = 'MATERIAL'.
gw_mltx-text_name = gw_mat01-matnr.
gw_mltx-text_id = 'PRUE'.
gw_mltx-langu = '1'. "中文
gw_mltx-format_col = 1.
gw_mltx-text_line = gw_mat01-text03+0(132).
APPEND gw_mltx TO gt_mltx.
CLEAR: gw_mltx.
gw_mltx-applobject = 'MATERIAL'.
gw_mltx-text_name = gw_mat01-matnr.
gw_mltx-text_id = 'PRUE'.
gw_mltx-langu = '1'. "中文
gw_mltx-format_col = 2.
gw_mltx-text_line = gw_mat01-text03+132(123).
APPEND gw_mltx TO gt_mltx.
CLEAR: gw_mltx.
"维护检验文本(英文)
gw_mltx-applobject = 'MATERIAL'.
gw_mltx-text_name = gw_mat01-matnr.
gw_mltx-text_id = 'PRUE'.
gw_mltx-langu = 'E'.
gw_mltx-format_col = 1.
gw_mltx-text_line = gw_mat01-text04+0(132).
APPEND gw_mltx TO gt_mltx.
CLEAR: gw_mltx.
gw_mltx-applobject = 'MATERIAL'.
gw_mltx-text_name = gw_mat01-matnr.
gw_mltx-text_id = 'PRUE'.
gw_mltx-langu = 'E'.
gw_mltx-format_col = 2.
gw_mltx-text_line = gw_mat01-text04+132(123).
APPEND gw_mltx TO gt_mltx.
CLEAR: gw_mltx.
CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'
EXPORTING
headdata = gw_head
clientdata = gw_mara
clientdatax = gw_marax
plantdata = gw_marc
plantdatax = gw_marcx
valuationdata = gw_mbew
valuationdatax = gw_mbewx
salesdata = gw_mvke
salesdatax = gw_mvkex
IMPORTING
return = gw_return
TABLES
materialdescription = gt_makt
materiallongtext = gt_mltx
taxclassifications = gt_mlan.
IF gw_return-type = 'E' OR gw_return-type = 'A'.
ROLLBACK WORK.
CONCATENATE '物料'gw_mat01-matnr '创建失败:' gw_return-message INTO g_msg.
"检查日志处理
gw_alv-icon = icon_red_light.
gw_alv-matnr = gw_mat01-matnr.
gw_alv-log = g_msg.
APPEND gw_alv TO gt_alv.
CLEAR gw_alv.
CONTINUE.
ELSE.
COMMIT WORK AND WAIT.
"物料创建成功,消息状态预处理为W
gw_alv-icon = icon_yellow_light.
"创建批次分类视图
PERFORM frm_classview_023 USING gw_mat01-matnr.
"维护质量类型
PERFORM frm_save_insptype USING 'Z001' gw_mat01-matnr gw_mat01-werks.
IF g_msg IS INITIAL.
gw_alv-icon = icon_green_light.
g_msg = '物料主数据维护成功!'.
ENDIF.
PERFORM frm_append_alv USING gw_mat01-matnr g_msg gw_alv-icon.
ENDIF.
维护分类视图
FORM frm_classview_023 USING p_matnr.
DATA: it_char LIKE TABLE OF bapi1003_alloc_values_char WITH HEADER LINE,
it_num LIKE TABLE OF bapi1003_alloc_values_num WITH HEADER LINE,
it_return LIKE bapi_matreturn2 OCCURS 0 WITH HEADER LINE.
DATA: l_object LIKE bapi1003_key-object.
l_object = p_matnr.
CALL FUNCTION 'BAPI_OBJCL_CREATE'
EXPORTING
objectkeynew = l_object
objecttablenew = 'MARA'
classnumnew = 'ZCLASS_BATCH'
classtypenew = '023'
status = '1'
standardclass = 'X'
keydate = sy-datum
TABLES
allocvaluesnum = it_num
allocvalueschar = it_char
return = it_return.
READ TABLE it_return WITH KEY type = 'E'.
IF sy-subrc = 0.
ROLLBACK WORK.
CONCATENATE g_msg '/' '分类视图创建失败,请手动创建:'
it_return-message INTO g_msg.
ELSE.
COMMIT WORK.
ENDIF.
ENDFORM.
维护质量检验类型
FORM frm_save_insptype USING p_mtart TYPE mtart
p_matnr TYPE matnr
p_werks TYPE werks_d.
DATA: it_return LIKE bapiret2 OCCURS 0 WITH HEADER LINE,
lw_qmat TYPE bapi1001004_qmat,
lt_qmat TYPE STANDARD TABLE OF bapi1001004_qmat,
lw_tq34 TYPE tq34.
DATA: lt_zmmt008 TYPE STANDARD TABLE OF zmmt008,
lw_zmmt008 TYPE zmmt008 .
SELECT * FROM zmmt008
INTO CORRESPONDING FIELDS OF TABLE lt_zmmt008
WHERE mtart = p_mtart.
LOOP AT lt_zmmt008 INTO lw_zmmt008.
CLEAR: lw_tq34,lw_qmat.
SELECT SINGLE * FROM tq34 INTO lw_tq34 WHERE art = lw_zmmt008-art.
lw_qmat-insptype = lw_zmmt008-art. "检验类型号吗
lw_qmat-material = p_matnr. "物料号码
lw_qmat-plant = p_werks. "工厂号码
lw_qmat-preferred_insptype = 'X'. "首选的检验类型
lw_qmat-ind_insptype_mat_active = 'X'. "活动的
lw_qmat-ind_post_to_insp_stock = lw_tq34-insmk."过账到检验库存
lw_qmat-qual_score_procedure = lw_tq34-qkzverf."质量记分过程
lw_qmat-contr_insp_lot_create = lw_tq34-chg. "控制检验批
lw_qmat-ind_skips_allowed = lw_tq34-dyn. "允许略过
APPEND lw_qmat TO lt_qmat.
ENDLOOP.
CHECK lt_qmat IS NOT INITIAL.
CALL FUNCTION 'BAPI_MATINSPCTRL_SAVEREPLICA'
TABLES
return = it_return
inspectionctrl = lt_qmat.
READ TABLE it_return WITH KEY type = 'E'.
IF sy-subrc <> 0.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
ELSE.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
CONCATENATE g_msg '/' '质量检验类型维护失败,请手动维护!' INTO g_msg.
ENDIF.
ENDFORM. " FRM_SAVE_INSPTYPE
相关文章推荐
- SAP物料主数据创建质量管理视图后添加检验类型
- SAP物料主数据采购视图采购价值代码设置
- SAP物料主数据_采购视图设置
- oracle表空间,角色,权限,表,索引,序列号,视图,同义词,约束条件,存储函数和过程,常用数据字典,基本数据字典信息,查看VGA信息,维护表空间,创建表空间等信息
- SAP物料主数据_存储视图设置
- SAP维护物料类型的数量、价值更新
- SAP ABAP编程 维护视图(表格维护生成器)创建事务代码
- sap 如何正确的取物料主数据的销售长文本
- SAP MM01 创建物料主数据 [关注公众号后回复MM01获取更多资料]
- SAP表格维护生成器生成数据表维护视图程序
- 物料主数据维护状态值含义(视图)
- SAP中关于物料主数据里物料类型的修改
- 如何在SAP物料主数据的会计视图中修改物料的价格控制?
- SAP中使用MM01创建物料如何选定行业领域和物料类型
- BDC创建物料主数据各个视图
- sap-使用 JCO 调用bapi创建物料主数据
- SAP物料主数据_基本视图设置1
- 通过RFC创建某种类型的物料的会计视图-----通过MMZ1来实现
- SAP表格维护生成器生成数据表维护视图程序
- SAP物料主数据_销售视图设置