My FAQ,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 数据库开发 > 数据库综合
SAP ABAP/4学习---BDC批量输入写成内表程序
作者:未知 时间:2004-10-17 12:12 出处:Blog 责编:MyFAQ
              摘要:暂无

*-----------------------------------------------------------------------
* 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.

关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 myfaq.com.cn All rights reserved. www.myfaq.com.cn 版权所有