[转帖]ABAP实践学习--BDC批量输入写成内表程序
2007-06-27 18:13
369 查看
*-----------------------------------------------------------------------
* Program ID :ZTEST904_BDC
* Program Name :ZTEST904_BDC
*-----------------------------------------------------------------------
* CREATED DATE :2004/09/04
* CREATED BY :LiuGang
* DESCRIPTION :这个程序是学习如何通过程序来调用
* BDC自动导入数据的。
*-----------------------------------------------------------------------
* MODIFICATION :
* DATE MODIFIED MODIFIED BY TRANSPORT REQUEST DESCRIPTION
* 2004/09/04 LiuGang VERSION:01/01 学习
*-----------------------------------------------------------------------
REPORT ZTEST904_BDC.
* 定义个BDC格式的内表
**************************************************
DATA : BEGIN OF I_BDCDATA OCCURS 0,
*BDC的程序名字,比如事物码MM01的程序名字为SAPLMGMM(sap标准程序)
PROGRAM LIKE BDCDATA-PROGRAM,
*BDC Dynpro 号码
DYNPRO LIKE BDCDATA-DYNPRO,
*BDC BDC Dynpro 開始
DYNBEGIN LIKE BDCDATA-DYNBEGIN,
*BDC 项目名字
FNAM LIKE BDCDATA-FNAM,
*BDC 项目名字的附加值
FVAL LIKE BDCDATA-FVAL,
END OF I_BDCDATA.
DATA: BEGIN OF ITAB OCCURS 0,
A(9),
END OF ITAB.
ITAB-A = ’A0010’.
APPEND ITAB.
ITAB-A = ’A0011’.
APPEND ITAB.
* START-OF-selectION
START-OF-selectION.
LOOP AT ITAB.
PERFORM APPEND_MM01 USING ITAB-A.
PERFORM RUN_BDC.
ENDLOOP.
*---------------------------------------------------------------------*
* FORM APPEND_DATA_MM01 *
*---------------------------------------------------------------------*
* 定义一个子程序里面,用来存放操作的各个步骤 *
*---------------------------------------------------------------------*
FORM APPEND_MM01 USING FVAL LIKE ITAB-A.
CLEAR I_BDCDATA.
CLEAR I_BDCDATA[].
*开始新的画面事件
*0173画面
*把程序名字和 BDC DYnpro号码,开始标志 写入内表表头,
I_BDCDATA-PROGRAM = ’SAPLMGMM’.
I_BDCDATA-DYNPRO = ’0060’.
I_BDCDATA-DYNBEGIN = ’X’.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
I_BDCDATA-FNAM = ’BDC_CURSOR’.
I_BDCDATA-FVAL = ’RMMG1-MATNR’.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
I_BDCDATA-FNAM = ’BDC_OKCODE’.
I_BDCDATA-FVAL = ’/00’.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
I_BDCDATA-FNAM = ’RMMG1-MATNR’.
*新建立的物料凭证号码
* I_BDCDATA-FVAL = ’A004’.
I_BDCDATA-FVAL = FVAL.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
I_BDCDATA-FNAM = ’RMMG1-MBRSH’.
I_BDCDATA-FVAL = ’C’.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
I_BDCDATA-FNAM = ’RMMG1-MTART’.
I_BDCDATA-FVAL = ’WERB’.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
*开始新的画面事件
I_BDCDATA-PROGRAM = ’SAPLMGMM’.
I_BDCDATA-DYNPRO = ’0070’.
I_BDCDATA-DYNBEGIN = ’X’.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
I_BDCDATA-FNAM = ’BDC_CURSOR’.
I_BDCDATA-FVAL = ’MSICHTAUSW-DYTXT(01)’.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
I_BDCDATA-FNAM = ’BDC_OKCODE’.
I_BDCDATA-FVAL = ’=ENTR’.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
I_BDCDATA-FNAM = ’MSICHTAUSW-KZSEL(01)’.
I_BDCDATA-FVAL = ’X’.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
*开始新的画面事件
I_BDCDATA-PROGRAM = ’SAPLMGMM’.
I_BDCDATA-DYNPRO = ’4004’.
I_BDCDATA-DYNBEGIN = ’X’.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
I_BDCDATA-FNAM = ’BDC_OKCODE’.
I_BDCDATA-FVAL = ’=BU’.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
I_BDCDATA-FNAM = ’BDC_CURSOR’.
I_BDCDATA-FVAL = ’MAKT-MAKTX’.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
I_BDCDATA-FNAM = ’MAKT-MAKTX’.
I_BDCDATA-FVAL = ’测试BDC导入数据’.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
I_BDCDATA-FNAM = ’MARA-MEINS’.
I_BDCDATA-FVAL = ’000’.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
I_BDCDATA-FNAM = ’MARA-MTPOS_MARA’.
I_BDCDATA-FVAL = ’NORM’.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
ENDFORM.
*---------------------------------------------------------------------*
* FORM RUN_BDC *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
FORM RUN_BDC.
*开始调用事务MM01,把做好的bdc对象传递过去,然后把模式设置为A,
*就是说所有窗口,均可以看见.
* N 表示不看见吧
CALL TRANSACTION ’MM01’ USING I_BDCDATA MODE ’N’.
ENDFORM.
摘自: opparts 的 Blog
* Program ID :ZTEST904_BDC
* Program Name :ZTEST904_BDC
*-----------------------------------------------------------------------
* CREATED DATE :2004/09/04
* CREATED BY :LiuGang
* DESCRIPTION :这个程序是学习如何通过程序来调用
* BDC自动导入数据的。
*-----------------------------------------------------------------------
* MODIFICATION :
* DATE MODIFIED MODIFIED BY TRANSPORT REQUEST DESCRIPTION
* 2004/09/04 LiuGang VERSION:01/01 学习
*-----------------------------------------------------------------------
REPORT ZTEST904_BDC.
* 定义个BDC格式的内表
**************************************************
DATA : BEGIN OF I_BDCDATA OCCURS 0,
*BDC的程序名字,比如事物码MM01的程序名字为SAPLMGMM(sap标准程序)
PROGRAM LIKE BDCDATA-PROGRAM,
*BDC Dynpro 号码
DYNPRO LIKE BDCDATA-DYNPRO,
*BDC BDC Dynpro 開始
DYNBEGIN LIKE BDCDATA-DYNBEGIN,
*BDC 项目名字
FNAM LIKE BDCDATA-FNAM,
*BDC 项目名字的附加值
FVAL LIKE BDCDATA-FVAL,
END OF I_BDCDATA.
DATA: BEGIN OF ITAB OCCURS 0,
A(9),
END OF ITAB.
ITAB-A = ’A0010’.
APPEND ITAB.
ITAB-A = ’A0011’.
APPEND ITAB.
* START-OF-selectION
START-OF-selectION.
LOOP AT ITAB.
PERFORM APPEND_MM01 USING ITAB-A.
PERFORM RUN_BDC.
ENDLOOP.
*---------------------------------------------------------------------*
* FORM APPEND_DATA_MM01 *
*---------------------------------------------------------------------*
* 定义一个子程序里面,用来存放操作的各个步骤 *
*---------------------------------------------------------------------*
FORM APPEND_MM01 USING FVAL LIKE ITAB-A.
CLEAR I_BDCDATA.
CLEAR I_BDCDATA[].
*开始新的画面事件
*0173画面
*把程序名字和 BDC DYnpro号码,开始标志 写入内表表头,
I_BDCDATA-PROGRAM = ’SAPLMGMM’.
I_BDCDATA-DYNPRO = ’0060’.
I_BDCDATA-DYNBEGIN = ’X’.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
I_BDCDATA-FNAM = ’BDC_CURSOR’.
I_BDCDATA-FVAL = ’RMMG1-MATNR’.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
I_BDCDATA-FNAM = ’BDC_OKCODE’.
I_BDCDATA-FVAL = ’/00’.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
I_BDCDATA-FNAM = ’RMMG1-MATNR’.
*新建立的物料凭证号码
* I_BDCDATA-FVAL = ’A004’.
I_BDCDATA-FVAL = FVAL.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
I_BDCDATA-FNAM = ’RMMG1-MBRSH’.
I_BDCDATA-FVAL = ’C’.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
I_BDCDATA-FNAM = ’RMMG1-MTART’.
I_BDCDATA-FVAL = ’WERB’.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
*开始新的画面事件
I_BDCDATA-PROGRAM = ’SAPLMGMM’.
I_BDCDATA-DYNPRO = ’0070’.
I_BDCDATA-DYNBEGIN = ’X’.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
I_BDCDATA-FNAM = ’BDC_CURSOR’.
I_BDCDATA-FVAL = ’MSICHTAUSW-DYTXT(01)’.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
I_BDCDATA-FNAM = ’BDC_OKCODE’.
I_BDCDATA-FVAL = ’=ENTR’.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
I_BDCDATA-FNAM = ’MSICHTAUSW-KZSEL(01)’.
I_BDCDATA-FVAL = ’X’.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
*开始新的画面事件
I_BDCDATA-PROGRAM = ’SAPLMGMM’.
I_BDCDATA-DYNPRO = ’4004’.
I_BDCDATA-DYNBEGIN = ’X’.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
I_BDCDATA-FNAM = ’BDC_OKCODE’.
I_BDCDATA-FVAL = ’=BU’.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
I_BDCDATA-FNAM = ’BDC_CURSOR’.
I_BDCDATA-FVAL = ’MAKT-MAKTX’.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
I_BDCDATA-FNAM = ’MAKT-MAKTX’.
I_BDCDATA-FVAL = ’测试BDC导入数据’.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
I_BDCDATA-FNAM = ’MARA-MEINS’.
I_BDCDATA-FVAL = ’000’.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
I_BDCDATA-FNAM = ’MARA-MTPOS_MARA’.
I_BDCDATA-FVAL = ’NORM’.
APPEND I_BDCDATA.
CLEAR I_BDCDATA.
ENDFORM.
*---------------------------------------------------------------------*
* FORM RUN_BDC *
*---------------------------------------------------------------------*
* ........ *
*---------------------------------------------------------------------*
FORM RUN_BDC.
*开始调用事务MM01,把做好的bdc对象传递过去,然后把模式设置为A,
*就是说所有窗口,均可以看见.
* N 表示不看见吧
CALL TRANSACTION ’MM01’ USING I_BDCDATA MODE ’N’.
ENDFORM.
摘自: opparts 的 Blog
相关文章推荐
- SAP ABAP/4学习---BDC批量输入写成内表程序
- [转帖]ABAP实践学习--将excel表读入ABAP内表
- [转帖]ABAP实践学习--ABAP中将SAP数据按格式保存到EXCEL(OLE)
- [转帖]ABAP实践学习-内表的常用处理
- [转帖]ABAP实践学习-内表的常用处理
- [转帖]ABAP实践学习--ABAP中将SAP数据按格式保存到EXCEL(OLE)
- 第14周-输入输出流,文本文件-项目0-课后实践·程序阅读3
- 学习使用AutoMake1.9的自动生成工程文件(二)——flat型程序编译实践过程
- 关于for循环的再学习,以及逐渐了解程序标准输入
- 程序设计实践与提高1 - 学习记录
- 【day 5】python编程:从入门到实践学习笔记-用户输入和while循环(末答案)
- JAVA高级视频_IO输入与输出 Java程序与其他进程的数据通讯 学习笔记
- 【深度学习】环境搭建出现“无法定位程序输入点于动态链接库mkl.dll上“问题
- ABAP实践学习——包材分配表
- 【hadoop学习】在伪分布式hadoop上手把手实践word count程序【上】
- SAP学习7--ABAP Report程序
- b-spline学习-系数计算及程序实践
- 郑州癫痫病医院zzdx.ycnews.cn癫痫病医院 从实践中学习.net程序的运行原理
- C++ Primer 学习笔记_38_STL实践与分析(12)--集成的应用程序容器:文本查询程序
- 第14周-输入输出流,文本文件-项目0-课后实践·程序阅读4