收藏 分销(赏)

ABAP调用BDC过程详解.doc

上传人:s4****5z 文档编号:8730503 上传时间:2025-02-28 格式:DOC 页数:4 大小:650.50KB
下载 相关 举报
ABAP调用BDC过程详解.doc_第1页
第1页 / 共4页
ABAP调用BDC过程详解.doc_第2页
第2页 / 共4页
点击查看更多>>
资源描述
ABAP 调用BDC 过程详解 调用BDC导入数据到系统,可以有大致三种方法: 第一: 导出源程序,通过,通过word自带导入工具把导入表中数据导入源程序.特点: 优缺点: 适应于数据量较少, 缺点操作复杂,不适合与基层人员和无基础人员. 第二: 生产源程序,选择通过模版导入,下载系统模板填充后上传,再导入数据. 优缺点: 使用与数据量较少情况,操作也不简单,但是不需要编程基础. 第三: abap 编程实现. 优缺点: 当然需要较强的abap编程知识,编写完成,即可实现傻瓜式导入,复用性强,操作简单. 本文就详细介绍abap调用BDC导入数据的过程.abap实现BDC导入的本质是通过abap程序调用BDC的一些内置方法, 通过循环内表,abap 把数据和操作写入BDCDATA表,然后执行这张表. 1. 调用 F4_FILENAME 之类方法打开文件选择框(略). 2. 调用 TEXT_CONVERT_XLS_TO_SAP之类方法导入数据到内表,保证内表.(略) 3. 调用BDC导入数据. 3.1. 数据声明: DATA:BDCDATA LIKE  BDCDATA OCCURS 0 WITH HEADER LINE. "执行的参数传递表. DATA:MESSTAB LIKE  BDCMSGCOLL OCCURS 0 WITH HEADER LINE."返回执行结果. 3.2. 常用方法. *form: bdc_dynapro 分配屏幕参数子程序. *form: bdc_field.  分配字段参数子程序. *form: bdc_transaction 调用食物代码并传递指定的参数. 当然这些方法在生产程序时都包含在include bdcrecx1文件中. 当然生成的文件可能不能满足你的需要可以自己编辑include文件,然后包含自己的文件. 3.2.1 form bdc_transaction源码 *------------------------------------------------------------------- FORM BDC_TRANSACTION USING TCODE CTUMODE.   DATA: L_MSTRING(480).   DATA: L_SUBRC LIKE SY-SUBRC.   REFRESH MESSTAB.   CALL TRANSACTION TCODE USING BDCDATA                    MODE  CTUMODE                    UPDATE 'A'                    MESSAGES INTO MESSTAB.   L_SUBRC = SY-SUBRC.   write: / 'CALL TRANSACTION',TCODE,             'returncode:',L_SUBRC,             'RECODE:', 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.     REFRESH BDCDATA.  ENDFORM. 3.2.2. bdc_dynpro通用源码 *作用: 指定bdc_dynpro的实参,告知系统dialog程序名称:SAPLMGMM,及screen number:0060  perform bdc_dynpro      using 'SAPLMGMM' '0060'. *-------------------------------------------------------  FORM BDC_DYNPRO USING PROGRAM DYNPRO.    CLEAR BDCDATA.    BDCDATA-PROGRAM = PROGRAM.    BDCDATA-DYNPRO  = DYNPRO.    BDCDATA-DYNBEGIN = 'X'.    APPEND  BDCDATA. ENDFORM. 3.2.3. bdc_field 通用源码. *作用指定bdc_field的实参,告知系统把光标放在哪个字段,这里是“RMMG1-MATNR,物料” perform bdc_field       using 'BDC_CURSOR' *-------------------------------------------------------- FORM BDC_FIELD USING  FNAM FVAL.   CLEAR BDCDATA.   BDCDATA-FNAM = FNAM.   BDCDATA-FVAL = FVAL.   APPEND BDCDATA. ENDFORM. 3.2.4. 源程序调用. 先看录屏生产的记录表及生产程序. 复制do……….. enddo之间数据,数据为一个完整写入数据过程. 调用 loop at itab(存放导入数据表) 修改其中一些字段,当然要了解字段含义比如: perform bdc_field       using 'DATABROWSE-TABLENAME'                               'zymq004'. 此BDC要修改一个表一些字段,而生成程序表名为 recode-tablename_001.显然表名确定,所以只需修改为表名,而非变量即可.一些字段,如 perform bdc_field       using 'ZYMQ004-YJBMBM'                               gt_data-yjbmbm. 则把字段改为导入内表的字段名,这样就可以表中读入. 这样就可以了.
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 百科休闲 > 社会民生

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服