BDC详解

    典型BDC操作过程: 输入一个t-code,进入一个某个屏幕,然后输入一个值(有时还要加上一些附加的checkbox选项等),点执行或者确定按钮,进入另一个屏幕,在某些字段输入值(也可能是标注checkbox选中或者不选中)或者修改这些字段里的值。然后按“Eneter”……最后按“SAVE”……,一条记录完成了,继续下一条,如此循环。

    SAP通过一个特殊的程序(T-code:SHDB)把用户的一次业务操作的所有过程记录下来。

    从用户输入transaction code(事务代码),点下“Start Recording”开始,对于用户的来说是一次普通的业务操作,但是SAP却在记录:
1
.光标放到哪个字段,(在程序中不用改变)
2
.填入了什么值,(变量,循环中的Internal Table 某个字段)
3
.点击了什么按钮(在程序中不用改变)

本次操作的作为一个代表,是一个模板,告诉SAP系统以怎样的方式来执行程序,也就是用计算机的语言来描述如果手工操作的话应该是怎样的一个过程。

     BDC技术编程时,有以下几个步骤:
    1
.把外部的数据源(Txt,Excel等)用读进internal table或者用do enddo循环。
    2
.在循环里,把用SHDB记录的步骤重复执行N次,(N = Dialog屏幕数量)(不是很清楚这句话)这时实际上并没行完成数据的入,系统只是在填表,填一个叫做“BDCData”Internal Table

填完bdcdata以后,用call transaction ‘XXXX’ using bdc……这个命令来真正的commit动作或者call function 'BDC_Insert'在建立一个session。并把执行的结果返回给messtab这个Internal Table

 

 

下面是录屏操作的过程:在命令栏里输入T-code SHDB,点击New Recodring,填写Recording和T-code。保存返回后填写一个录屏需要的代码名称。这样一个录屏的过程所产生的代码就产生了。

 

do.

read dataset dataset into record.“
逐行读出txt文本中的记录,
if sy-subrc <> 0. exit. endif.    “如出错就退出

A、指定bdc_dynpro的实参,告知系统dialog程序名称及screen perform bdc_dynpro      using 'SAPMV60A' '0001'.

B
、指定bdc_field的实参,告知系统把光标放在哪个字段

perform bdc_field       using 'BDC_CURSOR'
                              'VBRK-VBELN'.
C
、告知系统ok_code是什么,也可以认为是去点哪个按钮

perform bdc_field       using 'BDC_OKCODE'
                           '/00'.
这里是通过read dataset 读取的外部的文件中的记录,record是一个用于临时保存数据的仅有一行的work area

 

 


 

两个重要的internal table声明:bdcdatamesst
两个重要的form :bdc_dynpro,bdc_field

如何创建实用call transaction方法的BD

转自http://www.itpub.net/viewthread.php?tid=979793

CALL TRANSACTION USING... 参数祥解

 

转自http://tsaihapppy82.spaces.live.com/blog/cns!DF64AEE957C9D9FD!3636.entry

 

 

 


 

 

 

 

   



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值