资源描述:
《abap调用bdc过程详解》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
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 LIN
3、E."返回执行结果.3.2.常用方法.*form: bdc_dynapro 分配屏幕参数子程序.*form: bdc_field. 分配字段参数子程序.*form: bdc_transaction 调用食物代码并传递指定的参数.当然这些方法在生产程序时都包含在includebdcrecx1文件中.当然生成的文件可能不能满足你的需要可以自己编辑include文件,然后包含自己的文件.3.2.1formbdc_transaction源码*------------------------------------------------------
4、-------------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
5、 = 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
6、 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'
7、 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
8、_MSTRING. REPLACE '&' WITH MESSTAB-MSGV4 INTO L_MSTRING. ENDIF