SPAN {
font-family: "Courier New";
font-size: 10pt;
color: #000000;
background: #FFFFFF;
}
.L1S31 {
font-style. italic;
color: #808080;
}
.L1S32 {
color: #3399FF;
}
.L1S33 {
color: #4DA619;
}
.L1S52 {
color: #0000FF;
}
*&---------------------------------------------------------------------*
*& Report ZBDCMM01_T3
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZBDCMM01_T3.
*&---------------------------------------------------------------------*
*& Report ZBDCMM01_T
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
INCLUDE ZBDCHEADER. " 包含 BDC实用程序组
*INCLUDE BDCRECX1.
PARAMETERS: L_FNAME TYPE STRING LOWER CASE DEFAULT
'E:\xs\mm01.TXT'. " 保存 BOM 数据
PARAMETERS: L_XSNAME TYPE STRING LOWER CASE DEFAULT
'E:\xs\xs.TXT'.
*** DO NOT CHANGE - the generated data section - DO NOT CHANGE ***
*
* If it is nessesary to change the data section use the rules:
* 1.) Each definition of a field exists of two lines
* 2.) The first line shows exactly the comment
* '* data element: ' followed with the data element
* which describes the field.
* If you don't have a data element use the
* comment without a data element name
* 3.) The second line shows the fieldname of the
* structure, the fieldname must consist of
* a fieldname and optional the character '_' and
* three numbers and the field length in brackets
* 4.) Each field must be type C.
*
*** Generated data section with specific formatting - DO NOT CHANGE ***
DATA: BEGIN OF FSDATA,
BISMT_013(018), "QAD号码
MATNR_001(018), "物料编码(10码)"
MBRSH_002(001),"行业领域
MTART_003(004),"物料类型
UNKNOW_1(1), " "预测参数文件
MAKTX_006(040), " 物料描述(40码)
MAKTX_02_009(040),"物料描述英文(40码)
MEINS_007(003), "基本计量单位
MEINH(4), "附加单位1
UMREN(6), "附件单位数量1
UMREZ(6), "基本单位数量1
MEINH_2(4), "附加单位2
UMREN_2(6), "附件单位数量2
UMREZ_2(6), "基本单位数量2
MATKL_012(009), "物料组
SPART_014(002),"产品组
BRGEW_015(017), "毛重
NTGEW_017(017)," 净重
GEWEI_016(003),"重量单位
VOLUM_015(017)," 业务量
VOLEH_016(003), "体积单位
GROES_017(032),"大小/量纲
""""""""""""""""""""""""""""""""""""""""""""""""""""""
"采购视图 采购组 采购计量单位(订单单位) 采购价值代码MARA-EKWSL 过帐到检验库存 源清单
EKGRP_007(003),"采购组
BSTME(003),"采购计量单位(订单单位)MARA-BSTME
EKWSL_008(004), "* 采购价值代码MARA-EKWSL
UNKONW(1), "过帐到检验库存
KORDB_009(001),"源清单
"""""""""""""""""""""""""""""""""""""""""""""""""""""""
""""""""""""""MRP""""""""""""""""""""""""""""""""""""""""
"MRP组 ABC标志 MRP类型 MRP控制者 批量大小 舍入值
"MRP区域:MRP范围 MRP区域:MRP组 MRP区域:MRP类型 MRP区域:MRP控制者 MRP区域:批量大小
" MRP区域:舍入值 MRP区域:生产仓储地点 MRP区域:安全库存 采购类型 特殊采购类 生产仓储地点 外部采购仓储地点 反冲 自制生产时间 计划交货时间 收货处理时间 计划边际码 安全库存 可用性检查 独立/集中
* MAKTX_009(040)
""""""""""""""MRP 1 """"""""""""""""""""""""""""""""""""""""
DISGR_010(004),"MRP组
NKNOW_11(1)," ABC标志
DISMM_011(002),"MRP类型
DISPO_012(003),"MRP控制者
DISLS_013(002),"批量大小
BSTRF_014(017),"舍入值
UNKNOW_10(1),"MRP区域:MRP范围
UNKNOW_11(1),"MRP区域:MRP组
UNKNOW_12(1),"MRP区域:MRP类型"
UNKNOW_13(1)," MRP区域:MRP控制者
UNKNOW_14(1),"MRP区域:批量大小 "
UNKNOW_15(1),"MRP区域:舍入值
UNKNOW_16(1),"MRP区域:生产仓储地点
UNKNOW_17(1)," MRP区域:安全库存
""""""""""""""END MRP 1 """"""""""""""""""""""""""""""""""""""""
"采购类型 特殊采购类 生产仓储地点 自制生产时间 计划边际码 安全库存
BESKZ(2),"采购类型
SOBSL(1),"特殊采购类
LGPRO(4),"生产仓储地点
LGFSB_017(004),"外部采购仓储地点
RGEKZ_016(001),"反冲
DZEIT(3),"自制生产时间
PLIFZ_018(003),"计划交货时间
WEBAZ_019(003)," 收货处理时间
FHORI_020(003),"计划边际码
EISBE_021(017),"安全库存
""""""""""""""END MRP 2 """"""""""""""""""""""""""""""""""""""""
"可用性检查 独立/集中
MTVFP_024(002),"可用性检查
""""""""""""""END MRP 3""""""""""""""""""""""""""""""""""""""""
SBDKZ_026(001),"独立/集中
""""""""""""""END MRP 4""""""""""""""""""""""""""""""""""""""""
"预测
*"期间标识 消耗值2 消耗值3 消耗值4 消耗值5 消耗值6
PERKZ_009(001),"期间标识
VBWRT_01_020(018), "消耗值1
VBWRT_02_021(018),
VBWRT_03_022(018),
VBWRT_04_023(018),
VBWRT_05_024(018),
VBWRT_06_025(018),
""""""""""""""END 预测""""""""""""""""""""""""""""""""""""""""
"会计
"评估类 价格控制 移动平均价 价格单位 标准价格
BKLAS_010(004),"评估类
VPRSV_011(001),"价格控制
VERPR_013(015),"移动平均价
PEINH_012(006),"价格单位
STPRS_014(015),"标准价格
"成本1
"无成本核算 用QS的成本估算 物料来源 差异码 成本核算批量
NCOST(1),"无成本核算
EKALR_016(001),"用QS的成本估算
HKMAT_017(001),"物料来源
UNKNOW_25(1), "差异码
LOSGR_018(017),"成本核算批量
""""""""""""""END 财务""""""""""""""""""""""""""""""""""""""""
"批次管理 库存仓位 时间单位 最小剩余货架寿命 总货架寿命
XCHPF_008(001),"批次管理
LGPBE(4),"库存仓位UNKNOW_26(1), "库存仓位
LZEIH_009(003),"时间单位
MHDRZ_010(005),"最小剩余货架寿命
MHDHB_011(005), "总货架寿命
** data element: DATTP
* IPRKZ_012(001),
""""""""""""""END 仓库 """"""""""""""""""""""""""""""""""""""""
"QM 控制码 QM采购激活 证书类型 检验类型 检查间隔 类别参数文件 检验类型1 检验类型2 检验类型3 检验类型4
SSQSS_009(008),"QM 控制码
QMPUR_008(001),"QM采购激活
QZGTP_010(004),"证书类型
UNKNOW_27(1), "检验类型
PRFRQ_007(006),"检查间隔
RBNRM(040),"类别参数文件
ART_01_012(008), "检验类型1
ART_02_013(008),
ART_03_014(008),
ART_04_015(008),
""""""""""""""END 质量管理仓库 """"""""""""""""""""""""""""""""""""""""
""""""""""""""START 销售 """"""""""""""""""""""""""""""""""""""""
"税码 指定分销链的状态 物料统计组 物料定价组 科目设置组 项目类别组 物料组1 物料组2 运输组 装载组 商品/进口代码编号
* VKORG_009(004),"销售组织
* VTWEG_010(002),"分销渠道
** data element: SKTOF
* SKTOF_012(001),
TAXKM_01_013(001),"税码
VMSTA(3), "指定分销链的状态
VERSG_018(001),"物料统计组
KONDM_019(002),"物料定价组
KTGRM_020(002),"科目设置组
MTPOS_021(004),"项目类别组
MVGR1_022(003), "物料组1
MVGR2_023(003), " 物料组2
TRAGR_026(004),"运输组
LADGR_027(004)," 装载组
STAWN_029(017), "商品/进口代码编号
PRODH(018),"产品层次
""""""""""""""END 销售 """"""""""""""""""""""""""""""""""""""""
ISSUPER(001),"是不允许超量入库
KOSCH(018),"产品分配
END OF FSDATA.
DATA: BEGIN OF XSDATA,
UNKOWN_001(004),
* data element: LADGR
VKORG_009(004),"销售组织
VTWEG_010(002),"分销渠道
END OF XSDATA.
DATA:
T_ITEM LIKE TABLE OF FSDATA WITH HEADER LINE,
T_XSDATA LIKE TABLE OF XSDATA WITH HEADER LINE,
F_WERKS(4),
L_FIND TYPE I,
L_FIRST TYPE I,
L_FAIL TYPE I,
F_2DATA TYPE P LENGTH 14 DECIMALS 2.
DATA: BDCDATA2 LIKE BDCDATA OCCURS 0 WITH HEADER LINE.
*** End generated data section ***
START-OF-SELECTION.
F_WERKS = 'C010'.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = L_FNAME
HAS_FIELD_SEPARATOR = 'X'
TABLES
DATA_TAB = T_ITEM
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_READ_ERROR = 2.
IF SY-SUBRC NE 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1
SY-MSGV2 SY-MSGV3
SY-MSGV4.
ENDIF.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = L_XSNAME
HAS_FIELD_SEPARATOR = 'X'
TABLES
DATA_TAB = T_XSDATA
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_READ_ERROR = 2.
IF SY-SUBRC NE 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1
SY-MSGV2 SY-MSGV3
SY-MSGV4.
ENDIF.
LOOP AT T_ITEM.
IF T_ITEM-MATNR_001 = ''.
CONTINUE.
ENDIF.
* "中文名字得英文单位
* "SELECT SINGLE MSEHI INTO T_ITEM FROM T006A WHERE MSEHL =
*
* WRITE: / 'READMM01_1'.
PERFORM READMM01_isexist USING T_ITEM 'K'.
IF L_FIND <> 0.
PERFORM READMM01_1 USING T_ITEM.
endif.
* WRITE: / 'READMM01_FL'.
PERFORM READMM01_isexist USING T_ITEM 'C'.
IF L_FIND <> 0.
PERFORM READMM01_FL USING T_ITEM.
endif.
* WRITE: / 'READMM01_ck'.
PERFORM READMM01_HEADER USING T_ITEM 'L'.
IF L_FIND <> 0.
PERFORM READMM01_CK USING T_ITEM.
ENDIF.
* WRITE: / 'READMM01_po'.
PERFORM READMM01_HEADER USING T_ITEM 'E'.
IF L_FIND <> 0.
PERFORM READMM01_PO USING T_ITEM.
ENDIF.
* PERFORM READMM01_HEADER USING T_ITEM 'DP'.
* PERFORM READMM01_MRPYC_AGAIN USING T_ITEM.
PERFORM READMM01_isexist USING T_ITEM 'P'.
IF L_FIND <> 0.
* WRITE: / 'READMM01_MRPYC'.
PERFORM READMM01_HEADER USING T_ITEM 'DP'.
IF L_FIND <> 0.
PERFORM READMM01_MRPYC USING T_ITEM.
IF L_FAIL <> 0.
PERFORM READMM01_HEADER USING T_ITEM 'DP'.
PERFORM READMM01_MRPYC_AGAIN USING T_ITEM.
ENDIF.
ENDIF.
else.
* WRITE: / 'READMM01_MRP'.
PERFORM READMM01_HEADER USING T_ITEM 'D'.
IF L_FIND <> 0.
PERFORM READMM01_MRP USING T_ITEM.
IF L_FAIL <> 0.
PERFORM READMM01_HEADER USING T_ITEM 'D'.
PERFORM READMM01_MRP_AGAIN USING T_ITEM.
ENDIF.
ENDIF.
endif.
* WRITE: / 'READMM01_GZJH'.
PERFORM READMM01_HEADER USING T_ITEM 'A'.
IF L_FIND <> 0.
PERFORM READMM01_GZJH USING T_ITEM.
ENDIF.
"两位小数转化
F_2DATA = T_ITEM-VERPR_013.
T_ITEM-VERPR_013 = F_2DATA.
F_2DATA = T_ITEM-STPRS_014.
T_ITEM-STPRS_014 = F_2DATA.
* WRITE: / 'READMM01_cw'.
PERFORM READMM01_HEADER USING T_ITEM 'BG'.
IF L_FIND <> 0.
PERFORM READMM01_CW USING T_ITEM.
ENDIF.
* WRITE: / 'READMM01_zlgl'.
"*23 20 Q SP23 质量管理
PERFORM READMM01_HEADER USING T_ITEM 'Q'.
IF L_FIND <> 0.
PERFORM READMM01_ZLGL USING T_ITEM.
ENDIF.
* WRITE: / 'READMM01_xs'.
LOOP AT T_XSDATA.
IF SY-TABIX = 1.
L_FIRST = 0.
ELSE.
L_FIRST = 1.
ENDIF.
PERFORM READMM01_HEADER USING T_ITEM 'V'.
IF L_FIND <> 0.
PERFORM READMM01_XS USING T_ITEM T_XSDATA.
ENDIF.
ENDLOOP.
ENDLOOP.
CLOSE DATASET T_ITEM.
WRITE: / '上传完毕'.
*&---------------------------------------------------------------------*
*& Form READMM01_MRP
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->WA_ITEM text
*----------------------------------------------------------------------*
*----------------------------------------------------------------------*
FORM READMM01_MRP USING WA_ITEM LIKE FSDATA.
* PERFORM BDC_DYNPRO USING 'SAPLMGMM' '0060'.
* PERFORM BDC_FIELD USING 'BDC_CURSOR'
* 'RMMG1-MTART'.
* PERFORM BDC_FIELD USING 'BDC_OKCODE'
* '=AUSW'.
* PERFORM BDC_FIELD USING 'RMMG1-MATNR'
* WA_ITEM-MATNR_001.
* PERFORM BDC_FIELD USING 'RMMG1-MBRSH'
* WA_ITEM-MBRSH_002.
* PERFORM BDC_FIELD USING 'RMMG1-MTART'
* WA_ITEM-MTART_003.
* PERFORM BDC_DYNPRO USING 'SAPLMGMM' '0070'.
* PERFORM BDC_FIELD USING 'BDC_CURSOR'
* 'MSICHTAUSW-DYTXT(15)'.
* PERFORM BDC_FIELD USING 'BDC_OKCODE'
* '=ENTR'.
* PERFORM BDC_FIELD USING 'MSICHTAUSW-KZSEL(12)'
* 'X'.
* PERFORM BDC_FIELD USING 'MSICHTAUSW-KZSEL(13)'
* 'X'.
* PERFORM BDC_FIELD USING 'MSICHTAUSW-KZSEL(14)'
* 'X'.
* PERFORM BDC_FIELD USING 'MSICHTAUSW-KZSEL(15)'
* 'X'.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '0080'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RMMG1-WERKS'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ENTR'.
PERFORM BDC_FIELD USING 'RMMG1-WERKS'
F_WERKS. " WA_ITEM-WERKS_008.
if WA_ITEM-LGPRO <> ''.
PERFORM BDC_FIELD USING 'RMMG1-LGORT'
WA_ITEM-LGPRO.
else.
PERFORM BDC_FIELD USING 'RMMG1-LGORT'
WA_ITEM-LGFSB_017.
endif.
* PERFORM BDC_FIELD USING 'RMMG1-PROPR'
* '0001'."WA_ITEM-PROPR_006.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '4000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=SP13'.
PERFORM BDC_FIELD USING 'MAKT-MAKTX'
WA_ITEM-MAKTX_006.
PERFORM BDC_FIELD USING 'MARC-DISGR'
WA_ITEM-DISGR_010.
PERFORM BDC_FIELD USING 'MARC-DISMM'
WA_ITEM-DISMM_011.
PERFORM BDC_FIELD USING 'MARC-DISPO'
WA_ITEM-DISPO_012.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'MARC-BSTRF'.
PERFORM BDC_FIELD USING 'MARC-DISLS'
WA_ITEM-DISLS_013.
PERFORM BDC_FIELD USING 'MARC-BSTRF'
WA_ITEM-BSTRF_014.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '4000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=SP14'.
PERFORM BDC_FIELD USING 'MAKT-MAKTX'
WA_ITEM-MAKTX_006.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'MARC-SOBSL'.
PERFORM BDC_FIELD USING 'MARC-BESKZ'
WA_ITEM-BESKZ.
PERFORM BDC_FIELD USING 'MARC-RGEKZ'
WA_ITEM-RGEKZ_016.
PERFORM BDC_FIELD USING 'MARC-LGFSB'
WA_ITEM-LGFSB_017.
PERFORM BDC_FIELD USING 'MARC-LGPRO'
WA_ITEM-LGPRO.
PERFORM BDC_FIELD USING 'MARC-PLIFZ'
WA_ITEM-PLIFZ_018.
PERFORM BDC_FIELD USING 'MARC-WEBAZ'
WA_ITEM-WEBAZ_019.
PERFORM BDC_FIELD USING 'MARC-FHORI'
WA_ITEM-FHORI_020.
PERFORM BDC_FIELD USING 'MARC-EISBE'
WA_ITEM-EISBE_021.
if WA_ITEM-MTART_003+0(3) <> 'ROH'.
PERFORM BDC_FIELD USING 'MARC-DZEIT'
WA_ITEM-DZEIT.
endif.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '4000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=SP15'.
PERFORM BDC_FIELD USING 'MAKT-MAKTX'
WA_ITEM-MAKTX_006.
* PERFORM BDC_FIELD USING 'MARC-PERKZ'
* WA_ITEM-PERKZ_023.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'MARC-MTVFP'.
PERFORM BDC_FIELD USING 'MARC-MTVFP'
WA_ITEM-MTVFP_024.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '4000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=BU' ." '=SP16'." .
* PERFORM BDC_FIELD USING 'MAKT-MAKTX'
* WA_ITEM-MAKTX_006.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'MARC-SBDKZ'.
PERFORM BDC_FIELD USING 'MARC-SBDKZ'
WA_ITEM-SBDKZ_026.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '4000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '4000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=BU'.
PERFORM BDC_TRANSACTION_NOSUCCLOG USING 'MM01'.
*
* PERFORM BDC_DYNPRO USING 'SAPLMGMM' '4000'.
* PERFORM BDC_FIELD USING 'BDC_OKCODE'
* '=PB09'.
* PERFORM BDC_FIELD USING 'MAKT-MAKTX'
* WA_ITEM-MAKTX_006.
* PERFORM BDC_FIELD USING 'BDC_CURSOR'
* 'MARC-PERKZ'.
** PERFORM BDC_FIELD USING 'MPOP-PRMOD'
** WA_ITEM-PRMOD_008.
* PERFORM BDC_FIELD USING 'MARC-PERKZ'
* WA_ITEM-PERKZ_009.
** PERFORM BDC_FIELD USING 'MPOP-PERAN'
** WA_ITEM-PERAN_010.
** PERFORM BDC_FIELD USING 'MPOP-ANZPR'
** WA_ITEM-ANZPR_011.
** PERFORM BDC_FIELD USING 'MPOP-PERIO'
** WA_ITEM-PERIO_012.
** PERFORM BDC_FIELD USING 'MPOP-PERIN'
** WA_ITEM-PERIN_013.
** PERFORM BDC_FIELD USING 'MPOP-KZINI'
** WA_ITEM-KZINI_014.
** PERFORM BDC_FIELD USING 'MPOP-SIGGR'
** WA_ITEM-SIGGR_015.
** PERFORM BDC_FIELD USING 'MARC-AUTRU'
** WA_ITEM-AUTRU_016.
** PERFORM BDC_FIELD USING 'MPOP-MODAV'
** WA_ITEM-MODAV_017.
** PERFORM BDC_FIELD USING 'MPOP-GEWGR'
** WA_ITEM-GEWGR_018.
* PERFORM BDC_DYNPRO USING 'SAPLMGMM' '4110'.
* PERFORM BDC_FIELD USING 'BDC_OKCODE'
* '=BU'.
* PERFORM BDC_FIELD USING 'MAKT-MAKTX'
* WA_ITEM-MAKTX_006.
* PERFORM BDC_FIELD USING 'BDC_CURSOR'
* 'RM03M-VBWRT(06)'.
* PERFORM BDC_FIELD USING 'RM03M-VBWRT(01)'
* WA_ITEM-VBWRT_01_020.
* PERFORM BDC_FIELD USING 'RM03M-VBWRT(02)'
* WA_ITEM-VBWRT_02_021.
* PERFORM BDC_FIELD USING 'RM03M-VBWRT(03)'
* WA_ITEM-VBWRT_03_022.
* PERFORM BDC_FIELD USING 'RM03M-VBWRT(04)'
* WA_ITEM-VBWRT_04_023.
* PERFORM BDC_FIELD USING 'RM03M-VBWRT(05)'
* WA_ITEM-VBWRT_05_024.
* PERFORM BDC_FIELD USING 'RM03M-VBWRT(06)'
* WA_ITEM-VBWRT_06_025.
* PERFORM BDC_TRANSACTION_NOSUCCLOG USING 'MM01'.
ENDFORM. "READMM01_mrp
*&---------------------------------------------------------------------*
*& Form READMM01_gzjh
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->WA_ITEM text
*----------------------------------------------------------------------*
FORM READMM01_GZJH USING WA_ITEM LIKE FSDATA.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '0080'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RMMG1-WERKS'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ENTR'.
PERFORM BDC_FIELD USING 'RMMG1-WERKS'
F_WERKS.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '4000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=BU'.
* PERFORM BDC_FIELD USING 'MAKT-MAKTX'
* RECORD-MAKTX_006.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'MARC-UEETK'.
PERFORM BDC_FIELD USING 'MARC-UEETK'
'X'.
PERFORM BDC_TRANSACTION_NOSUCCLOG USING 'MM01'.
ENDFORM. "READMM01_GZJH
*&---------------------------------------------------------------------*
*& Form READMM01_HEADER
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->WA_ITEM text
* -->ATYPE text
*----------------------------------------------------------------------*
FORM READMM01_isexist USING WA_ITEM LIKE FSDATA
ATYPE.
*1 07 K SP01 基本数据 1
*2 08 K SP02 基本数据 2
*3 23 C SP03 分类
*4 09 V SP04 销售: 销售组织数据 1
*5 10 V SP05 销售: 销售组织数据 2
*6 11 V SP06 销售:一般/工厂数据
*7 12 V SP07 对外贸易: 出口数据
*8 13 V SP08 销售文本
*9 14 E SP09 采购
*10 15 E SP10 对外贸易: 进口数据
*11 16 E SP11 采购订单文本
*12 26 D SP12 MRP 1
*13 27 D SP13 MRP 2
*14 28 D SP14 MRP 3
*15 29 D SP15 MRP 4
*16 30 P SP16 预测
*17 31 A SP17 工作计划
*18 17 F SP18 生产资源/工具
*19 18 L SP19 一般工厂数据/存储 1
*20 19 L SP20 一般工厂数据/存储 2
*21 32 S SP21 仓库管理 1
*22 33 S SP22 仓库管理 2
*23 20 Q SP23 质量管理
*24 21 B SP24 会计 1
*25 22 B SP25 会计 2
*26 34 G SP26 成本 1
*27 35 G SP27 成本 2
DATA: L_PAGE TYPE I,
L_INDEX(2) TYPE N.
L_FIND = 0.
REFRESH BDCDATA2.
CALL FUNCTION 'MATERIAL_BTCI_SELECTION_NEW'
EXPORTING
MATERIAL = WA_ITEM-MATNR_001
MATERIALART = WA_ITEM-MTART_003
SELECTION = ATYPE
TCODE = 'MM02'
* IMPORTING
* SELSTATUS =
* SELSTATUS_IN =
TABLES
BTCI_D0070 = BDCDATA2
EXCEPTIONS
MATERIAL_NOT_FOUND = 1
MATERIAL_NUMBER_MISSING = 2
MATERIAL_TYPE_MISSING = 3
MATERIAL_TYPE_NOT_FOUND = 4
NO_ACTIVE_DYNPRO_SELECTED = 5
NO_AUTHORITY = 6
OTHERS = 7
.
IF SY-SUBRC = 0.
EXIT.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
REFRESH BDCDATA2.
CALL FUNCTION 'MATERIAL_BTCI_SELECTION_NEW'
EXPORTING
MATERIAL = WA_ITEM-MATNR_001
MATERIALART = WA_ITEM-MTART_003
SELECTION = ATYPE
TCODE = 'MM01'
* IMPORTING
* SELSTATUS =
* SELSTATUS_IN =
TABLES
BTCI_D0070 = BDCDATA2
EXCEPTIONS
MATERIAL_NOT_FOUND = 1
MATERIAL_NUMBER_MISSING = 2
MATERIAL_TYPE_MISSING = 3
MATERIAL_TYPE_NOT_FOUND = 4
NO_ACTIVE_DYNPRO_SELECTED = 5
NO_AUTHORITY = 6
OTHERS = 7
.
IF SY-SUBRC <> 0.
EXIT.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
L_FIND = 1.
endform. "READMM01_HEADER
*&---------------------------------------------------------------------*
*& Form READMM01_HEADER
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->WA_ITEM text
* -->ATYPE text
*----------------------------------------------------------------------*
FORM READMM01_HEADER USING WA_ITEM LIKE FSDATA
ATYPE.
*1 07 K SP01 基本数据 1
*2 08 K SP02 基本数据 2
*3 23 C SP03 分类
*4 09 V SP04 销售: 销售组织数据 1
*5 10 V SP05 销售: 销售组织数据 2
*6 11 V SP06 销售:一般/工厂数据
*7 12 V SP07 对外贸易: 出口数据
*8 13 V SP08 销售文本
*9 14 E SP09 采购
*10 15 E SP10 对外贸易: 进口数据
*11 16 E SP11 采购订单文本
*12 26 D SP12 MRP 1
*13 27 D SP13 MRP 2
*14 28 D SP14 MRP 3
*15 29 D SP15 MRP 4
*16 30 P SP16 预测
*17 31 A SP17 工作计划
*18 17 F SP18 生产资源/工具
*19 18 L SP19 一般工厂数据/存储 1
*20 19 L SP20 一般工厂数据/存储 2
*21 32 S SP21 仓库管理 1
*22 33 S SP22 仓库管理 2
*23 20 Q SP23 质量管理
*24 21 B SP24 会计 1
*25 22 B SP25 会计 2
*26 34 G SP26 成本 1
*27 35 G SP27 成本 2
DATA: L_PAGE TYPE I,
L_INDEX(2) TYPE N.
L_FIND = 0.
REFRESH BDCDATA2.
CALL FUNCTION 'MATERIAL_BTCI_SELECTION_NEW'
EXPORTING
MATERIAL = WA_ITEM-MATNR_001
MATERIALART = WA_ITEM-MTART_003
SELECTION = ATYPE
TCODE = 'MM02'
* IMPORTING
* SELSTATUS =
* SELSTATUS_IN =
TABLES
BTCI_D0070 = BDCDATA2
EXCEPTIONS
MATERIAL_NOT_FOUND = 1
MATERIAL_NUMBER_MISSING = 2
MATERIAL_TYPE_MISSING = 3
MATERIAL_TYPE_NOT_FOUND = 4
NO_ACTIVE_DYNPRO_SELECTED = 5
NO_AUTHORITY = 6
OTHERS = 7
.
IF SY-SUBRC = 0.
EXIT.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
REFRESH BDCDATA2.
CALL FUNCTION 'MATERIAL_BTCI_SELECTION_NEW'
EXPORTING
MATERIAL = WA_ITEM-MATNR_001
MATERIALART = WA_ITEM-MTART_003
SELECTION = ATYPE
TCODE = 'MM01'
* IMPORTING
* SELSTATUS =
* SELSTATUS_IN =
TABLES
BTCI_D0070 = BDCDATA2
EXCEPTIONS
MATERIAL_NOT_FOUND = 1
MATERIAL_NUMBER_MISSING = 2
MATERIAL_TYPE_MISSING = 3
MATERIAL_TYPE_NOT_FOUND = 4
NO_ACTIVE_DYNPRO_SELECTED = 5
NO_AUTHORITY = 6
OTHERS = 7
.
IF SY-SUBRC <> 0.
EXIT.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
L_PAGE = 0.
LOOP AT BDCDATA2.
IF BDCDATA2-FVAL = 'X'.
L_FIND = 1.
ENDIF.
IF SY-TABIX = 19.
L_PAGE = 1.
ENDIF.
ENDLOOP.
IF L_FIND = 0 .
EXIT.
ENDIF.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '0060'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RMMG1-MATNR'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=AUSW'.
PERFORM BDC_FIELD USING 'RMMG1-MATNR'
WA_ITEM-MATNR_001.
PERFORM BDC_FIELD USING 'RMMG1-MBRSH'
WA_ITEM-MBRSH_002.
PERFORM BDC_FIELD USING 'RMMG1-MTART'
WA_ITEM-MTART_003.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '0070'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'MSICHTAUSW-DYTXT(1)'.
IF L_PAGE = 1.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=P+'.
ELSE.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ENTR'.
ENDIF.
LOOP AT BDCDATA2." WHERE FVAL = 'X'.
IF SY-TABIX = 0.
CONTINUE.
ENDIF.
L_INDEX = SY-TABIX.
"SY-TABIX = BDCDATA2-FNAM+17(2).
IF SY-TABIX = 19.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '0070'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'MSICHTAUSW-DYTXT(1)'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ENTR'.
ENDIF.
IF BDCDATA2-FVAL = 'X'.
IF L_INDEX < 19.
L_INDEX = L_INDEX - 1.
ELSE.
L_INDEX = L_INDEX - 18.
ENDIF.
CONCATENATE 'MSICHTAUSW-KZSEL(' L_INDEX ')' INTO BDCDATA2-FNAM.
PERFORM BDC_FIELD USING BDCDATA2-FNAM BDCDATA2-FVAL.
ENDIF.
ENDLOOP.
ENDFORM. "READMM01_HEADER
*&---------------------------------------------------------------------*
*& Form READMM01_yc
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->WA_ITEM text
*----------------------------------------------------------------------*
FORM READMM01_YC USING WA_ITEM LIKE FSDATA.
* PERFORM BDC_DYNPRO USING 'SAPLMGMM' '0060'.
* PERFORM BDC_FIELD USING 'BDC_CURSOR'
* 'RMMG1-MATNR'.
* PERFORM BDC_FIELD USING 'BDC_OKCODE'
* '=AUSW'.
* PERFORM BDC_FIELD USING 'RMMG1-MATNR'
* WA_ITEM-MATNR_001.
* PERFORM BDC_FIELD USING 'RMMG1-MBRSH'
* WA_ITEM-MBRSH_002.
* PERFORM BDC_FIELD USING 'RMMG1-MTART'
* WA_ITEM-MTART_003.
* PERFORM BDC_DYNPRO USING 'SAPLMGMM' '0070'.
* PERFORM BDC_FIELD USING 'BDC_CURSOR'
* 'MSICHTAUSW-DYTXT(16)'.
* PERFORM BDC_FIELD USING 'BDC_OKCODE'
* '=ENTR'.
* PERFORM BDC_FIELD USING 'MSICHTAUSW-KZSEL(16)'
* 'X'."WA_ITEM-KZSEL_16_004.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '0080'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RMMG1-PROPR'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ENTR'.
PERFORM BDC_FIELD USING 'RMMG1-WERKS'
F_WERKS.
PERFORM BDC_FIELD USING 'RMMG1-PROPR'
'0001'."WA_ITEM-PROPR_006.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '4000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=PB09'.
PERFORM BDC_FIELD USING 'MAKT-MAKTX'
WA_ITEM-MAKTX_006.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'MARC-PERKZ'.
* PERFORM BDC_FIELD USING 'MPOP-PRMOD'
* WA_ITEM-PRMOD_008.
PERFORM BDC_FIELD USING 'MARC-PERKZ'
WA_ITEM-PERKZ_009.
* PERFORM BDC_FIELD USING 'MPOP-PERAN'
* WA_ITEM-PERAN_010.
* PERFORM BDC_FIELD USING 'MPOP-ANZPR'
* WA_ITEM-ANZPR_011.
* PERFORM BDC_FIELD USING 'MPOP-PERIO'
* WA_ITEM-PERIO_012.
* PERFORM BDC_FIELD USING 'MPOP-PERIN'
* WA_ITEM-PERIN_013.
* PERFORM BDC_FIELD USING 'MPOP-KZINI'
* WA_ITEM-KZINI_014.
* PERFORM BDC_FIELD USING 'MPOP-SIGGR'
* WA_ITEM-SIGGR_015.
* PERFORM BDC_FIELD USING 'MARC-AUTRU'
* WA_ITEM-AUTRU_016.
* PERFORM BDC_FIELD USING 'MPOP-MODAV'
* WA_ITEM-MODAV_017.
* PERFORM BDC_FIELD USING 'MPOP-GEWGR'
* WA_ITEM-GEWGR_018.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '4110'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=BU'.
PERFORM BDC_FIELD USING 'MAKT-MAKTX'
WA_ITEM-MAKTX_006.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RM03M-VBWRT(06)'.
PERFORM BDC_FIELD USING 'RM03M-VBWRT(01)'
WA_ITEM-VBWRT_01_020.
PERFORM BDC_FIELD USING 'RM03M-VBWRT(02)'
WA_ITEM-VBWRT_02_021.
PERFORM BDC_FIELD USING 'RM03M-VBWRT(03)'
WA_ITEM-VBWRT_03_022.
PERFORM BDC_FIELD USING 'RM03M-VBWRT(04)'
WA_ITEM-VBWRT_04_023.
PERFORM BDC_FIELD USING 'RM03M-VBWRT(05)'
WA_ITEM-VBWRT_05_024.
PERFORM BDC_FIELD USING 'RM03M-VBWRT(06)'
WA_ITEM-VBWRT_06_025.
PERFORM BDC_TRANSACTION_NOSUCCLOG USING 'MM01'.
ENDFORM. "READMM01_yc
*&---------------------------------------------------------------------*
*& Form READMM01_XS
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->WA_ITEM text
* -->WA_XSITEM text
*----------------------------------------------------------------------*
FORM READMM01_XS USING WA_ITEM LIKE FSDATA
WA_XSITEM LIKE XSDATA.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '0080'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RMMG1-VTWEG'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ENTR'.
PERFORM BDC_FIELD USING 'RMMG1-WERKS'
F_WERKS.
PERFORM BDC_FIELD USING 'RMMG1-VKORG'
WA_XSITEM-VKORG_009." 'C011'."WA_ITEM-VKORG_009.
PERFORM BDC_FIELD USING 'RMMG1-VTWEG'
WA_XSITEM-VTWEG_010."'10'. "WA_ITEM-VTWEG_010.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '4000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=SP05'.
PERFORM BDC_FIELD USING 'MAKT-MAKTX'
WA_ITEM-MAKTX_006.
* PERFORM BDC_FIELD USING 'MVKE-SKTOF'
* WA_ITEM-SKTOF_012.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'MG03STEUER-TAXKM(01)'.
PERFORM BDC_FIELD USING 'MG03STEUER-TAXKM(01)'
WA_ITEM-TAXKM_01_013.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '4200'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=MAIN'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'MAKT-MAKTX'.
* PERFORM BDC_FIELD USING 'MAKT-MAKTX'
* WA_ITEM-MAKTX_014.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '4000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=SP05'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'MAKT-MAKTX'.
* PERFORM BDC_FIELD USING 'MAKT-MAKTX'
* WA_ITEM-MAKTX_015.
* PERFORM BDC_FIELD USING 'MVKE-SKTOF'
* WA_ITEM-SKTOF_016.
IF WA_ITEM-VMSTA <> ''.
PERFORM BDC_FIELD USING 'MVKE-VMSTA'
WA_ITEM-VMSTA.
PERFORM BDC_FIELD USING 'MVKE-VMSTD'
'20091101'.
* PERFORM BDC_DYNPRO USING 'SAPLMGMM' '4000'.
* PERFORM BDC_FIELD USING 'BDC_OKCODE'
* '/00'.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '4000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=SP05'.
ENDIF.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '4000'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'MVKE-MVGR2'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=SP06'.
* PERFORM BDC_FIELD USING 'MAKT-MAKTX'
* WA_ITEM-MAKTX_017.
PERFORM BDC_FIELD USING 'MVKE-VERSG'
WA_ITEM-VERSG_018.
PERFORM BDC_FIELD USING 'MVKE-KONDM'
WA_ITEM-KONDM_019.
PERFORM BDC_FIELD USING 'MVKE-KTGRM'
WA_ITEM-KTGRM_020.
PERFORM BDC_FIELD USING 'MVKE-MTPOS'
WA_ITEM-MTPOS_021.
PERFORM BDC_FIELD USING 'MVKE-PRODH'
WA_ITEM-PRODH.
PERFORM BDC_FIELD USING 'MVKE-MVGR1'
WA_ITEM-MVGR1_022.
PERFORM BDC_FIELD USING 'MVKE-MVGR2'
WA_ITEM-MVGR2_023.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '4000'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'MARC-LADGR'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=SP07'.
IF L_FIRST = 0.
PERFORM BDC_FIELD USING 'MARA-TRAGR'
WA_ITEM-TRAGR_026.
PERFORM BDC_FIELD USING 'MARC-LADGR'
WA_ITEM-LADGR_027.
ENDIF.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '4004'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=BU'.
* PERFORM BDC_FIELD USING 'MAKT-MAKTX'
* WA_ITEM-MAKTX_028.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'MARC-STAWN'.
PERFORM BDC_FIELD USING 'MARC-STAWN'
WA_ITEM-STAWN_029.
PERFORM BDC_TRANSACTION_NOSUCCLOG USING 'MM01'.
ENDFORM. "READMM01_xs
*&---------------------------------------------------------------------*
*& Form READMM01_ZLGL
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->WA_ITEM text
*----------------------------------------------------------------------*
FORM READMM01_ZLGL USING WA_ITEM LIKE FSDATA.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '0080'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RMMG1-WERKS'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ENTR'.
PERFORM BDC_FIELD USING 'RMMG1-WERKS'
F_WERKS.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '4000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=PB01'.
PERFORM BDC_FIELD USING 'MAKT-MAKTX'
WA_ITEM-MAKTX_006.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'MARC-PRFRQ'.
PERFORM BDC_FIELD USING 'MARC-PRFRQ'
WA_ITEM-PRFRQ_007.
PERFORM BDC_FIELD USING 'MARA-QMPUR'
WA_ITEM-QMPUR_008.
PERFORM BDC_FIELD USING 'MARC-SSQSS'
WA_ITEM-SSQSS_009.
PERFORM BDC_FIELD USING 'MARC-QZGTP'
WA_ITEM-QZGTP_010.
PERFORM BDC_FIELD USING 'MARA-RBNRM'
WA_ITEM-RBNRM.
PERFORM BDC_DYNPRO USING 'SAPLQPLS' '0100'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RMQAM-ARGUMENT'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=NEU'.
PERFORM BDC_DYNPRO USING 'SAPLQPLS' '0100'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RMQAM-ART(04)'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=WEIT'.
IF WA_ITEM-ART_01_012 <> ''.
PERFORM BDC_FIELD USING 'RMQAM-ART(01)'
WA_ITEM-ART_01_012.
PERFORM BDC_FIELD USING 'RMQAM-APA(1)'
'X'.
PERFORM BDC_FIELD USING 'RMQAM-AKTIV(1)'
'X'.
ENDIF.
IF WA_ITEM-ART_02_013 <> ''.
PERFORM BDC_FIELD USING 'RMQAM-ART(02)'
WA_ITEM-ART_02_013.
PERFORM BDC_FIELD USING 'RMQAM-APA(2)'
'X'.
PERFORM BDC_FIELD USING 'RMQAM-AKTIV(2)'
'X'.
ENDIF.
IF WA_ITEM-ART_03_014 <> ''.
PERFORM BDC_FIELD USING 'RMQAM-ART(03)'
WA_ITEM-ART_03_014.
PERFORM BDC_FIELD USING 'RMQAM-APA(3)'
'X'.
PERFORM BDC_FIELD USING 'RMQAM-AKTIV(3)'
'X'.
ENDIF.
IF WA_ITEM-ART_04_015 <> ''.
PERFORM BDC_FIELD USING 'RMQAM-ART(04)'
WA_ITEM-ART_04_015.
PERFORM BDC_FIELD USING 'RMQAM-APA(4)'
'X'.
PERFORM BDC_FIELD USING 'RMQAM-AKTIV(4)'
'X'.
ENDIF.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '4000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=BU'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'MAKT-MAKTX'.
PERFORM BDC_TRANSACTION_NOSUCCLOG USING 'MM01'.
ENDFORM. "READMM01_zlgl
*&---------------------------------------------------------------------*
*& Form READMM01_CK
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->WA_ITEM text
*----------------------------------------------------------------------*
FORM READMM01_CK USING WA_ITEM LIKE FSDATA.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '0080'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RMMG1-WERKS'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ENTR'.
PERFORM BDC_FIELD USING 'RMMG1-WERKS'
F_WERKS.
if WA_ITEM-LGPRO <> ''.
PERFORM BDC_FIELD USING 'RMMG1-LGORT'
WA_ITEM-LGPRO.
else.
PERFORM BDC_FIELD USING 'RMMG1-LGORT'
WA_ITEM-LGFSB_017.
endif.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '4000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=BU'.
PERFORM BDC_FIELD USING 'MAKT-MAKTX'
WA_ITEM-MAKTX_006.
PERFORM BDC_FIELD USING 'MARA-XCHPF'
WA_ITEM-XCHPF_008.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'MARA-MHDHB'.
PERFORM BDC_FIELD USING 'MARC-LZEIH'
WA_ITEM-LZEIH_009.
PERFORM BDC_FIELD USING 'MARA-MHDRZ'
WA_ITEM-MHDRZ_010.
PERFORM BDC_FIELD USING 'MARD-LGPBE'
WA_ITEM-LGPBE.
if WA_ITEM-MHDHB_011 <> ''.
PERFORM BDC_FIELD USING 'MARA-MHDHB'
WA_ITEM-MHDHB_011.
endif.
* PERFORM BDC_FIELD USING 'MARA-IPRKZ'
* WA_ITEM-IPRKZ_012.
PERFORM BDC_TRANSACTION_NOSUCCLOG USING 'MM01'.
ENDFORM. "READMM01_ck
*&---------------------------------------------------------------------*
*& Form READMM01_CW
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->WA_ITEM text
*----------------------------------------------------------------------*
FORM READMM01_CW USING WA_ITEM LIKE FSDATA.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '0080'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RMMG1-WERKS'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ENTR'.
PERFORM BDC_FIELD USING 'RMMG1-WERKS'
F_WERKS.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '4000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=SP26'.
PERFORM BDC_FIELD USING 'MAKT-MAKTX'
WA_ITEM-MAKTX_006.
* PERFORM BDC_FIELD USING 'MARA-MEINS'
* WA_ITEM-MEINS_007.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'MBEW-STPRS'.
PERFORM BDC_FIELD USING 'MBEW-BKLAS'
WA_ITEM-BKLAS_010.
PERFORM BDC_FIELD USING 'MBEW-VPRSV'
WA_ITEM-VPRSV_011.
PERFORM BDC_FIELD USING 'MBEW-PEINH'
WA_ITEM-PEINH_012.
PERFORM BDC_FIELD USING 'MBEW-VERPR'
WA_ITEM-VERPR_013.
PERFORM BDC_FIELD USING 'MBEW-STPRS'
WA_ITEM-STPRS_014.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '4000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=BU'.
PERFORM BDC_FIELD USING 'MAKT-MAKTX'
WA_ITEM-MAKTX_006.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'MARC-NCOST'.
PERFORM BDC_FIELD USING 'MARC-NCOST'
WA_ITEM-NCOST.
PERFORM BDC_FIELD USING 'MBEW-EKALR'
WA_ITEM-EKALR_016.
PERFORM BDC_FIELD USING 'MBEW-HKMAT'
WA_ITEM-HKMAT_017.
PERFORM BDC_FIELD USING 'MARC-LOSGR'
WA_ITEM-LOSGR_018.
PERFORM BDC_TRANSACTION_NOSUCCLOG USING 'MM01'.
ENDFORM. "READMM01_CW
*&---------------------------------------------------------------------*
*& Form READMM01_MRPYC
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->WA_ITEM text
*----------------------------------------------------------------------*
FORM READMM01_MRPYC USING WA_ITEM LIKE FSDATA.
* PERFORM BDC_DYNPRO USING 'SAPLMGMM' '0060'.
* PERFORM BDC_FIELD USING 'BDC_CURSOR'
* 'RMMG1-MTART'.
* PERFORM BDC_FIELD USING 'BDC_OKCODE'
* '=AUSW'.
* PERFORM BDC_FIELD USING 'RMMG1-MATNR'
* WA_ITEM-MATNR_001.
* PERFORM BDC_FIELD USING 'RMMG1-MBRSH'
* WA_ITEM-MBRSH_002.
* PERFORM BDC_FIELD USING 'RMMG1-MTART'
* WA_ITEM-MTART_003.
* PERFORM BDC_DYNPRO USING 'SAPLMGMM' '0070'.
* PERFORM BDC_FIELD USING 'BDC_CURSOR'
* 'MSICHTAUSW-DYTXT(15)'.
* PERFORM BDC_FIELD USING 'BDC_OKCODE'
* '=ENTR'.
* PERFORM BDC_FIELD USING 'MSICHTAUSW-KZSEL(12)'
* 'X'.
* PERFORM BDC_FIELD USING 'MSICHTAUSW-KZSEL(13)'
* 'X'.
* PERFORM BDC_FIELD USING 'MSICHTAUSW-KZSEL(14)'
* 'X'.
* PERFORM BDC_FIELD USING 'MSICHTAUSW-KZSEL(15)'
* 'X'.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '0080'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RMMG1-WERKS'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ENTR'.
PERFORM BDC_FIELD USING 'RMMG1-WERKS'
F_WERKS. " WA_ITEM-WERKS_008.
if WA_ITEM-LGPRO <> ''.
PERFORM BDC_FIELD USING 'RMMG1-LGORT'
WA_ITEM-LGPRO.
else.
PERFORM BDC_FIELD USING 'RMMG1-LGORT'
WA_ITEM-LGFSB_017.
endif.
PERFORM BDC_FIELD USING 'RMMG1-PROPR'
'0001'."WA_ITEM-PROPR_006.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '4000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=SP13'.
PERFORM BDC_FIELD USING 'MAKT-MAKTX'
WA_ITEM-MAKTX_006.
PERFORM BDC_FIELD USING 'MARC-DISGR'
WA_ITEM-DISGR_010.
PERFORM BDC_FIELD USING 'MARC-DISMM'
WA_ITEM-DISMM_011.
PERFORM BDC_FIELD USING 'MARC-DISPO'
WA_ITEM-DISPO_012.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'MARC-BSTRF'.
PERFORM BDC_FIELD USING 'MARC-DISLS'
WA_ITEM-DISLS_013.
PERFORM BDC_FIELD USING 'MARC-BSTRF'
WA_ITEM-BSTRF_014.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '4000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=SP14'.
PERFORM BDC_FIELD USING 'MAKT-MAKTX'
WA_ITEM-MAKTX_006.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'MARC-SOBSL'.
PERFORM BDC_FIELD USING 'MARC-BESKZ'
WA_ITEM-BESKZ.
PERFORM BDC_FIELD USING 'MARC-RGEKZ'
WA_ITEM-RGEKZ_016.
PERFORM BDC_FIELD USING 'MARC-LGFSB'
WA_ITEM-LGFSB_017.
PERFORM BDC_FIELD USING 'MARC-LGPRO'
WA_ITEM-LGPRO.
PERFORM BDC_FIELD USING 'MARC-PLIFZ'
WA_ITEM-PLIFZ_018.
PERFORM BDC_FIELD USING 'MARC-WEBAZ'
WA_ITEM-WEBAZ_019.
PERFORM BDC_FIELD USING 'MARC-FHORI'
WA_ITEM-FHORI_020.
PERFORM BDC_FIELD USING 'MARC-EISBE'
WA_ITEM-EISBE_021.
PERFORM BDC_FIELD USING 'MARC-DZEIT'
WA_ITEM-DZEIT.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '4000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=SP15'.
PERFORM BDC_FIELD USING 'MAKT-MAKTX'
WA_ITEM-MAKTX_006.
* PERFORM BDC_FIELD USING 'MARC-PERKZ'
* WA_ITEM-PERKZ_023.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'MARC-MTVFP'.
PERFORM BDC_FIELD USING 'MARC-MTVFP'
WA_ITEM-MTVFP_024.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '4000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=SP16'." '=BU'.
* PERFORM BDC_FIELD USING 'MAKT-MAKTX'
* WA_ITEM-MAKTX_006.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'MARC-SBDKZ'.
PERFORM BDC_FIELD USING 'MARC-SBDKZ'
WA_ITEM-SBDKZ_026.
* PERFORM BDC_DYNPRO USING 'SAPLMGMM' '4000'.
* PERFORM BDC_FIELD USING 'BDC_OKCODE'
* '/00'.
*
* PERFORM BDC_DYNPRO USING 'SAPLMGMM' '4000'.
* PERFORM BDC_FIELD USING 'BDC_OKCODE'
* '=BU'.
*
*
* PERFORM BDC_TRANSACTION_NOSUCCLOG USING 'MM01'.
*
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '4000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=PB09'.
PERFORM BDC_FIELD USING 'MAKT-MAKTX'
WA_ITEM-MAKTX_006.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'MARC-PERKZ'.
* PERFORM BDC_FIELD USING 'MPOP-PRMOD'
* WA_ITEM-PRMOD_008.
PERFORM BDC_FIELD USING 'MARC-PERKZ'
WA_ITEM-PERKZ_009.
* PERFORM BDC_FIELD USING 'MPOP-PERAN'
* WA_ITEM-PERAN_010.
* PERFORM BDC_FIELD USING 'MPOP-ANZPR'
* WA_ITEM-ANZPR_011.
* PERFORM BDC_FIELD USING 'MPOP-PERIO'
* WA_ITEM-PERIO_012.
* PERFORM BDC_FIELD USING 'MPOP-PERIN'
* WA_ITEM-PERIN_013.
* PERFORM BDC_FIELD USING 'MPOP-KZINI'
* WA_ITEM-KZINI_014.
* PERFORM BDC_FIELD USING 'MPOP-SIGGR'
* WA_ITEM-SIGGR_015.
* PERFORM BDC_FIELD USING 'MARC-AUTRU'
* WA_ITEM-AUTRU_016.
* PERFORM BDC_FIELD USING 'MPOP-MODAV'
* WA_ITEM-MODAV_017.
* PERFORM BDC_FIELD USING 'MPOP-GEWGR'
* WA_ITEM-GEWGR_018.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '4110'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=BU'.
PERFORM BDC_FIELD USING 'MAKT-MAKTX'
WA_ITEM-MAKTX_006.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RM03M-VBWRT(06)'.
PERFORM BDC_FIELD USING 'RM03M-VBWRT(06)'
WA_ITEM-VBWRT_01_020.
PERFORM BDC_FIELD USING 'RM03M-VBWRT(05)'
WA_ITEM-VBWRT_02_021.
PERFORM BDC_FIELD USING 'RM03M-VBWRT(04)'
WA_ITEM-VBWRT_03_022.
PERFORM BDC_FIELD USING 'RM03M-VBWRT(03)'
WA_ITEM-VBWRT_04_023.
PERFORM BDC_FIELD USING 'RM03M-VBWRT(02)'
WA_ITEM-VBWRT_05_024.
PERFORM BDC_FIELD USING 'RM03M-VBWRT(01)'
WA_ITEM-VBWRT_06_025.
PERFORM BDC_TRANSACTION_NOSUCCLOG USING 'MM01'.
ENDFORM. "READMM01_MRPYC
*&---------------------------------------------------------------------*
*& Form READMM01_PO
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->WA_ITEM text
*----------------------------------------------------------------------*
FORM READMM01_FL USING WA_ITEM LIKE FSDATA.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '0060'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RMMG1-MATNR'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=AUSW'.
PERFORM BDC_FIELD USING 'RMMG1-MATNR'
WA_ITEM-MATNR_001.
PERFORM BDC_FIELD USING 'RMMG1-MBRSH'
WA_ITEM-MBRSH_002.
PERFORM BDC_FIELD USING 'RMMG1-MTART'
WA_ITEM-MTART_003.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '0070'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'MSICHTAUSW-DYTXT(03)'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ENTR'.
PERFORM BDC_FIELD USING 'MSICHTAUSW-KZSEL(03)'
'X'.
PERFORM BDC_DYNPRO USING 'SAPLCLCA' '0602'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RMCLF-KLART'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ENTE'.
PERFORM BDC_FIELD USING 'RMCLF-KLART'
'001'.
PERFORM BDC_DYNPRO USING 'SAPLCLFM' '0500'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RMCLF-CLASS(01)'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=WECH'.
PERFORM BDC_FIELD USING 'RMCLF-CLASS(01)'
'ZMAT01'."WA_ITEM-CLASS_01_006.
PERFORM BDC_DYNPRO USING 'SAPLCLCA' '0602'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RMCLF-KLART'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ENTE'.
PERFORM BDC_FIELD USING 'RMCLF-KLART'
'001'."'WA_ITEM-KLART_007'.
PERFORM BDC_DYNPRO USING 'SAPLCLFM' '0500'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RMCLF-CLASS(01)'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=WECH'.
PERFORM BDC_FIELD USING 'RMCLF-PAGPOS'
'1'."WA_ITEM-PAGPOS_008.
PERFORM BDC_DYNPRO USING 'SAPLCLCA' '0602'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RMCLF-KLART'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ENTE'.
PERFORM BDC_FIELD USING 'RMCLF-KLART'
'023'."WA_ITEM-KLART_009.
PERFORM BDC_DYNPRO USING 'SAPLCLFM' '0500'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RMCLF-CLASS(01)'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'RMCLF-CLASS(01)'
'ZBATCH'."WA_ITEM-CLASS_01_010.
PERFORM BDC_DYNPRO USING 'SAPLCTMS' '0109'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RCTMS-MNAME(01)'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=BACK'.
PERFORM BDC_DYNPRO USING 'SAPLCLFM' '0500'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RMCLF-CLASS(01)'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=SAVE'.
PERFORM BDC_FIELD USING 'RMCLF-PAGPOS'
'1'." WA_ITEM-PAGPOS_011.
PERFORM BDC_TRANSACTION_NOSUCCLOG USING 'MM01'.
ENDFORM. "READMM01_FL
*&---------------------------------------------------------------------*
*& Form READMM01_PO
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->WA_ITEM text
*----------------------------------------------------------------------*
FORM READMM01_PO USING WA_ITEM LIKE FSDATA.
*
* PERFORM BDC_DYNPRO USING 'SAPLMGMM' '0060'.
* PERFORM BDC_FIELD USING 'BDC_CURSOR'
* 'RMMG1-MATNR'.
* PERFORM BDC_FIELD USING 'BDC_OKCODE'
* '=AUSW'.
* PERFORM BDC_FIELD USING 'RMMG1-MATNR'
* WA_ITEM-MATNR_001.
* PERFORM BDC_FIELD USING 'RMMG1-MBRSH'
* WA_ITEM-MBRSH_002.
* PERFORM BDC_FIELD USING 'RMMG1-MTART'
* WA_ITEM-MTART_003.
* PERFORM BDC_DYNPRO USING 'SAPLMGMM' '0070'.
* PERFORM BDC_FIELD USING 'BDC_CURSOR'
* 'MSICHTAUSW-DYTXT(09)'.
* PERFORM BDC_FIELD USING 'BDC_OKCODE'
* '=ENTR'.
* PERFORM BDC_FIELD USING 'MSICHTAUSW-KZSEL(09)'
* 'X'.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '0080'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RMMG1-WERKS'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ENTR'.
PERFORM BDC_FIELD USING 'RMMG1-WERKS'
F_WERKS." 'C010'. "WA_ITEM-WERKS_005.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '4000'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'BU'.
PERFORM BDC_FIELD USING 'MAKT-MAKTX'
WA_ITEM-MAKTX_006.
PERFORM BDC_FIELD USING 'MARC-EKGRP'
WA_ITEM-EKGRP_007.
PERFORM BDC_FIELD USING 'MARA-EKWSL'
WA_ITEM-EKWSL_008.
PERFORM BDC_FIELD USING 'MARC-KORDB'
WA_ITEM-KORDB_009.
PERFORM BDC_TRANSACTION_NOSUCCLOG USING 'MM01'.
*
* PERFORM BDC_DYNPRO USING 'SAPLMGMM' '4000'.
* PERFORM BDC_FIELD USING 'BDC_OKCODE'
* '/00'.
* PERFORM BDC_FIELD USING 'MAKT-MAKTX'
* WA_ITEM-MAKTX_006.
* PERFORM BDC_FIELD USING 'MARA-BSTME'
* WA_ITEM-BSTME. "_007.
* PERFORM BDC_FIELD USING 'MARC-EKGRP'
* WA_ITEM-EKGRP_007.
* PERFORM BDC_FIELD USING 'BDC_CURSOR'
* 'MARA-EKWSL'.
* PERFORM BDC_FIELD USING 'MARA-EKWSL'
* WA_ITEM-EKWSL_008.
* PERFORM BDC_FIELD USING 'MARC-KORDB'
* WA_ITEM-KORDB_009.
* PERFORM BDC_DYNPRO USING 'SAPLSPO1' '0300'.
* PERFORM BDC_FIELD USING 'BDC_OKCODE'
* '=YES'.
* PERFORM BDC_TRANSACTION_NOSUCCLOG USING 'MM01'.
ENDFORM. "READMM01_po
*&---------------------------------------------------------------------*
*& Form READMM01_1
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->WA_ITEM text
*----------------------------------------------------------------------*
FORM READMM01_1 USING WA_ITEM LIKE FSDATA.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '0060'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'RMMG1-MATNR'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=AUSW'.
PERFORM BDC_FIELD USING 'RMMG1-MATNR'
WA_ITEM-MATNR_001.
PERFORM BDC_FIELD USING 'RMMG1-MBRSH'
WA_ITEM-MBRSH_002.
PERFORM BDC_FIELD USING 'RMMG1-MTART'
WA_ITEM-MTART_003.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '0070'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'MSICHTAUSW-DYTXT(02)'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ENTR'.
PERFORM BDC_FIELD USING 'MSICHTAUSW-KZSEL(01)'
'X'.
PERFORM BDC_FIELD USING 'MSICHTAUSW-KZSEL(02)'
'X'.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '4004'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ZU01'.
PERFORM BDC_FIELD USING 'MAKT-MAKTX'
WA_ITEM-MAKTX_006.
PERFORM BDC_FIELD USING 'MARA-MEINS'
WA_ITEM-MEINS_007.
PERFORM BDC_FIELD USING 'MARA-MATKL'
WA_ITEM-MATKL_012.
PERFORM BDC_FIELD USING 'MARA-BISMT'
WA_ITEM-BISMT_013.
PERFORM BDC_FIELD USING 'MARA-SPART'
WA_ITEM-SPART_014.
PERFORM BDC_FIELD USING 'MARA-KOSCH'
WA_ITEM-KOSCH.
*perform bdc_field using 'MARA-MTPOS_MARA'
* WA_ITEM-MTPOS_MARA_011.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'MARA-GROES'.
PERFORM BDC_FIELD USING 'MARA-BRGEW'
WA_ITEM-BRGEW_015.
PERFORM BDC_FIELD USING 'MARA-GEWEI'
WA_ITEM-GEWEI_016.
PERFORM BDC_FIELD USING 'MARA-NTGEW'
WA_ITEM-NTGEW_017.
PERFORM BDC_FIELD USING 'MARA-VOLUM'
WA_ITEM-VOLUM_015.
PERFORM BDC_FIELD USING 'MARA-VOLEH'
WA_ITEM-VOLEH_016.
PERFORM BDC_FIELD USING 'MARA-GROES'
WA_ITEM-GROES_017.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '4300'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ZU02'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'SKTEXT-MAKTX(02)'.
IF WA_ITEM-MAKTX_02_009 <> ''.
PERFORM BDC_FIELD USING 'SKTEXT-SPRAS(02)'
'EN'. "WA_ITEM-SPRAS_02_008.
PERFORM BDC_FIELD USING 'SKTEXT-MAKTX(02)'
WA_ITEM-MAKTX_02_009.
ENDIF.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '4300'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'/00'.
PERFORM BDC_FIELD USING 'MAKT-MAKTX'
WA_ITEM-MAKTX_006.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'SMEINH-UMREZ(03)'.
PERFORM BDC_FIELD USING 'SMEINH-UMREN(02)'
WA_ITEM-UMREN.
PERFORM BDC_FIELD USING 'SMEINH-MEINH(02)'
WA_ITEM-MEINH.
PERFORM BDC_FIELD USING 'SMEINH-UMREZ(02)'
WA_ITEM-UMREZ.
PERFORM BDC_FIELD USING 'SMEINH-UMREN(03)'
WA_ITEM-UMREN_2.
PERFORM BDC_FIELD USING 'SMEINH-MEINH(03)'
WA_ITEM-MEINH_2.
PERFORM BDC_FIELD USING 'SMEINH-UMREZ(03)'
WA_ITEM-UMREZ_2.
PERFORM BDC_DYNPRO USING 'SAPLMGMM' '4300'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=BU'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'MAKT-MAKTX'.
* perform bdc_field using 'MAKT-MAKTX'
* WA_ITEM-MAKTX_027.
PERFORM BDC_TRANSACTION_NOSUCCLOG USING 'MM01'.
*
* PERFORM BDC_DYNPRO USING 'SAPLMGMM' '0060'.
* PERFORM BDC_FIELD USING 'BDC_CURSOR'
* 'RMMG1-MTART'.
* PERFORM BDC_FIELD USING 'BDC_OKCODE'
* '=AUSW'.
* PERFORM BDC_FIELD USING 'RMMG1-MATNR'
* WA_ITEM-MATNR_001.
* PERFORM BDC_FIELD USING 'RMMG1-MBRSH'
* WA_ITEM-MBRSH_002.
* PERFORM BDC_FIELD USING 'RMMG1-MTART'
* WA_ITEM-MTART_003.
* PERFORM BDC_DYNPRO USING 'SAPLMGMM' '0070'.
* PERFORM BDC_FIELD USING 'BDC_CURSOR'
* 'MSICHTAUSW-DYTXT(02)'.
* PERFORM BDC_FIELD USING 'BDC_OKCODE'
* '=ENTR'.
*
*** data element: XFELD
** KZSEL_01_004(001), "试图基础数据
*** data element: XFELD
** KZSEL_02_005(001),"试图基础数据
*
* PERFORM BDC_FIELD USING 'MSICHTAUSW-KZSEL(01)'
* 'X'.
* PERFORM BDC_FIELD USING 'MSICHTAUSW-KZSEL(02)'
* 'X'.
*
* PERFORM BDC_DYNPRO USING 'SAPLMGMM' '4004'.
* PERFORM BDC_FIELD USING 'BDC_OKCODE'
* '=ZU01'.
* PERFORM BDC_FIELD USING 'BDC_CURSOR'
* 'MAKT-MAKTX'.
* PERFORM BDC_FIELD USING 'MAKT-MAKTX'
* WA_ITEM-MAKTX_006.
* PERFORM BDC_FIELD USING 'MARA-MEINS'
* WA_ITEM-MEINS_007.
*
* PERFORM BDC_FIELD USING 'MARA-MATKL'
* WA_ITEM-MATKL_012.
* PERFORM BDC_FIELD USING 'MARA-BISMT'
* WA_ITEM-BISMT_013.
* PERFORM BDC_FIELD USING 'MARA-SPART'
* WA_ITEM-SPART_014.
* PERFORM BDC_FIELD USING 'MARA-BRGEW'
* WA_ITEM-BRGEW_015.
* PERFORM BDC_FIELD USING 'MARA-GEWEI'
* WA_ITEM-GEWEI_016.
* PERFORM BDC_FIELD USING 'MARA-NTGEW'
* WA_ITEM-NTGEW_017.
*
*
* PERFORM BDC_DYNPRO USING 'SAPLMGMM' '4300'.
* PERFORM BDC_FIELD USING 'BDC_OKCODE'
* '=ZU02'.
* PERFORM BDC_FIELD USING 'BDC_CURSOR'
* 'SKTEXT-MAKTX(02)'.
* IF WA_ITEM-MAKTX_02_009 <> ''.
* PERFORM BDC_FIELD USING 'SKTEXT-SPRAS(02)'
* 'EN'. "WA_ITEM-SPRAS_02_008.
* PERFORM BDC_FIELD USING 'SKTEXT-MAKTX(02)'
* WA_ITEM-MAKTX_02_009.
* ENDIF.
*
*
*
* PERFORM BDC_DYNPRO USING 'SAPLMGMM' '4300'.
* PERFORM BDC_FIELD USING 'BDC_OKCODE'
* '=BU'.
* PERFORM BDC_FIELD USING 'BDC_CURSOR'
* 'SMEINH-UMREN(02)'.
*
* PERFORM BDC_FIELD USING 'SMEINH-UMREN(02)'
* WA_ITEM-UMREN.
*
* PERFORM BDC_FIELD USING 'SMEINH-MEINH(02)'
* WA_ITEM-MEINH.
* PERFORM BDC_FIELD USING 'SMEINH-UMREZ(02)'
* WA_ITEM-UMREZ.
*
*
* PERFORM BDC_FIELD USING 'SMEINH-UMREN(03)'
* WA_ITEM-UMREN_2.
*
* PERFORM BDC_FIELD USING 'SMEINH-MEINH(03)'
* WA_ITEM-MEINH_2.
* PERFORM BDC_FIELD USING 'SMEINH-UMREZ(03)'
* WA_ITEM-UMREZ_2.
*
*
*
*
** PERFORM BDC_DYNPRO USING 'SAPLMGMM' '4004'.
** PERFORM BDC_FIELD USING 'BDC_OKCODE'
** '=BU'.
***perform bdc_field using 'MAKT-MAKTX'
*** WA_ITEM-MAKTX_010.
** PERFORM BDC_FIELD USING 'BDC_CURSOR'
** 'MARA-SPART'.
***perform bdc_field using 'MARA-MEINS'
*** WA_ITEM-MEINS_011.
** PERFORM BDC_FIELD USING 'MARA-MATKL'
** WA_ITEM-MATKL_012.
** PERFORM BDC_FIELD USING 'MARA-BISMT'
** WA_ITEM-BISMT_013.
** PERFORM BDC_FIELD USING 'MARA-SPART'
** WA_ITEM-SPART_014.
** PERFORM BDC_FIELD USING 'MARA-BRGEW'
** WA_ITEM-BRGEW_015.
** PERFORM BDC_FIELD USING 'MARA-GEWEI'
** WA_ITEM-GEWEI_016.
** PERFORM BDC_FIELD USING 'MARA-NTGEW'
** WA_ITEM-NTGEW_017.
* PERFORM BDC_TRANSACTION_NOSUCCLOG USING 'MM01'.
ENDFORM. " READMM01_1
*INCLUDE ZBDCHEADERMM01.
FORM BDC_TRANSACTION_NOSUCCLOG USING TCODE.
DATA: L_MSTRING(480).
DATA: L_SUBRC LIKE SY-SUBRC.
* batch input session
* IF SESSION = 'X'.
* CALL FUNCTION 'BDC_INSERT'
* EXPORTING TCODE = TCODE
* TABLES DYNPROTAB = BDCDATA.
* IF SMALLLOG <> 'X'.
* WRITE: / 'BDC_INSERT'(I03),
* TCODE,
* 'returncode:'(I05),
* SY-SUBRC,
* 'WA_ITEM:',
* SY-INDEX.
* ENDIF.
** call transaction using
* ELSE.
REFRESH MESSTAB.
CALL TRANSACTION TCODE USING BDCDATA
MODE CTUMODE
UPDATE CUPDATE
MESSAGES INTO MESSTAB.
L_SUBRC = SY-SUBRC.
* IF SMALLLOG <> 'X'.
L_FAIL = 0.
IF L_SUBRC <> 0.
L_FAIL = 1.
WRITE: / 'CALL_TRANSACTION',
TCODE,
T_ITEM-MATNR_001,
'returncode:'(I05),
L_SUBRC,
'WA_ITEM:',
SY-INDEX.
LOOP AT MESSTAB.
SELECT SINGLE * FROM T100 WHERE SPRSL = MESSTAB-MSGSPRA
AND ARBGB = MESSTAB-MSGID
AND MSGNR = MESSTAB-MSGNR.
IF SY-SUBRC = 0.
L_MSTRING = T100-TEXT.
IF L_MSTRING CS '&1'.
REPLACE '&1' WITH MESSTAB-MSGV1 INTO L_MSTRING.
REPLACE '&2' WITH MESSTAB-MSGV2 INTO L_MSTRING.
REPLACE '&3' WITH MESSTAB-MSGV3 INTO L_MSTRING.
REPLACE '&4' WITH MESSTAB-MSGV4 INTO L_MSTRING.
ELSE.
REPLACE '&' WITH MESSTAB-MSGV1 INTO L_MSTRING.
REPLACE '&' WITH MESSTAB-MSGV2 INTO L_MSTRING.
REPLACE '&' WITH MESSTAB-MSGV3 INTO L_MSTRING.
REPLACE '&' WITH MESSTAB-MSGV4 INTO L_MSTRING.
ENDIF.
CONDENSE L_MSTRING.
WRITE: / MESSTAB-MSGTYP, L_MSTRING(250).
ELSE.
WRITE: / MESSTAB.
ENDIF.
ENDLOOP.
SKIP.
ENDIF.
* ENDIF.
** Erzeugen fehlermappe ************************************************
* IF L_SUBRC <> 0 AND E_GROUP <> SPACE.
** IF E_GROUP_OPENED = ' '.
** CALL FUNCTION 'BDC_OPEN_GROUP'
** EXPORTING CLIENT = SY-MANDT
** GROUP = E_GROUP
** USER = E_USER
** KEEP = E_KEEP
** HOLDDATE = E_HDATE.
** E_GROUP_OPENED = 'X'.
** ENDIF.
* CALL FUNCTION 'BDC_INSERT'
* EXPORTING TCODE = TCODE
* TABLES DYNPROTAB = BDCDATA.
* ENDIF.
* ENDIF.
REFRESH BDCDATA.
ENDFORM. "BDC_TRANSACTION_NOSUCCLOG
INCLUDE ZBDCMRPAGAIN.
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/805590/viewspace-620265/
,如需转载,请注明出处,否则将追究法律责任。