abap调用bdc过程详解

上传人:wt****50 文档编号:32819338 上传时间:2018-02-12 格式:DOC 页数:4 大小:650.50KB
返回 下载 相关 举报
abap调用bdc过程详解_第1页
第1页 / 共4页
abap调用bdc过程详解_第2页
第2页 / 共4页
abap调用bdc过程详解_第3页
第3页 / 共4页
abap调用bdc过程详解_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《abap调用bdc过程详解》由会员分享,可在线阅读,更多相关《abap调用bdc过程详解(4页珍藏版)》请在金锄头文库上搜索。

1、ABAP 调用 BDC 过程详解调用 BDC 导入数据到系统 ,可以有大致三种方法:第一: 导出源程序,通过,通过 word 自带导入工具把导入表中数据导入源程序 .特点:优缺点: 适应于数据量较少, 缺点操作复杂, 不适合与基层人员和无基础人员.第二: 生产源程序,选择通过模版导入, 下载系统模板填充后上传, 再导入数据.优缺点: 使用与数据量较少情况,操作也不简单, 但是不需要编程基础.第三: abap 编程实现.优缺点: 当然需要较强的 abap 编程知识,编写完成,即可实现傻瓜式导入,复用性强,操作简单.本文就详细介绍 abap 调用 BDC 导入数据的过程.abap 实现 BDC 导

2、入的本质是通过 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、回执行结果 .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

4、_SUBRC LIKE SY-SUBRC.REFRESH MESSTAB.CALL TRANSACTION TCODE USING BDCDATAMODE CTUMODEUPDATE AMESSAGES 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-MSGI

5、DAND 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 IN

6、TO 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 通用源码*作用 : 指定

7、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 的实参,告知系统把光标放在

8、哪个字段,这里是 “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-TABLENAMEzymq004. 此 BDC 要修改一个表一些字段 ,而生成程序表名为 recode-tablename_001.显然表名确定,所以只需修改为表名,而非变量即可. 一些字段,如 perform bdc_field using ZYMQ004-YJBMBMgt_data-yjbmbm.则把字段改为导入内表的字段名,这样就可以表中读入.这样就可以了.

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 机械/制造/汽车 > 机械理论及资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号