ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 物料数据分试图导入

物料数据分试图导入

原创 Linux操作系统 作者:hello90 时间:2009-11-23 08:24:12 0 删除 编辑
  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/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2009-11-23

  • 博文量
    1
  • 访问量
    1968