开发基础 报表教程 数据字典 对话编程 表单打印 增强出口 SAP接口 S/4 HANA
实战案例 实战笔记 资料下载 CRM
问答互助 会员分享 俱乐部 广告区
论坛指南、建议和投诉
Twilight发表于 2015-01-16 16:08Twilight 最后回复于 2015-01-16 16:08 [复制链接] 9626 0
使用道具 举报
Twilight
管理员
发表回复 回帖后跳转到最后一页
1.    Call Transaction: 顾名思义,就是直接调用BDC进行数据批量导入。优点:方便快捷,程序处理方便。缺点:日志管理能力差,需自己建透明表来维护数据。我只是把它用作测试用途,不做正式使用。   
2.    BDC Insert:这是一种不直接运行,而是将BDC程序生成session,间接运行的一种方法。优点:通过T-code SM35可以进行运行管理及日志管理,方便查错。缺点:相对方法1来说实现起来比较繁琐。
call transaction方法将数据归集到BDCDATA 结构的内表中,然后导入到系统中,通过BDCMSGCOLL结构返回BDC导入操作的成功与否消息。
BDCDATA结构中比较关键的几个字段解释:
PROGRAM - BDC module pool
DYNPRO- BDC Screen number
DYNBEGIN- BDC screen start
FNAM- Field name
FVAL- BDC field value
1、需要导入的execl模板数据格式
实际导入时,把前2行删掉
2、SHDB录制屏幕操作
我们是录制ME51的操作,然后生成标准步骤,用程序批量处理,所以录制时不可含有多余步骤。
我们可以先在ME51中操作几遍,熟悉之后再操作SHDB录制屏幕,尽量不用回车,可以用点击替代。
SHDB->输入录制屏幕产生记录的名称 和 需要录制的T-Code
结束之后就可以看到这些代码,单击‘导出’按钮,可将数据导出到本地
BDC命令行的解读:  
T  ME51                 : 表示调用TCODE ME51
BDC_OKCODE  =AB    : 表示点了按钮    
BDC_OKCODE  /00                    : 表示回车 
BDC_OKCODE  XXXX                 : 一般表示为点击XXXX按扭 
SAPMM06B  0106  X  : 表示调用程序的0106画面    
BDC_CURSOR EBAN-LGORT :表示需要输入值的字段
EBAN-MATNR �       : 表示给字段MATNR赋值P100702002
(通常表、字段的表示格式为: XXXXXX-ZZZZZ , XXXXXX为表名,ZZZZ为字段名)
3、点击program按钮,将记录生成代码
查看生成的代码,然后我们写程序就可以参考生成的代码了
4、se38创建程序
5、执行效果
如果产生错误信息,则通过txt文件,导出到本地