SAP SHDB BDC example for MM02 & SAP标准OK Code Values 列表(from Jack Wu)

 http://moryhanry.com/sapbdcMM02.html

http://blog.csdn.net/CompassButton/archive/2006/08/11/1052193.aspx

 

Direct call of transaction,session handling 

/nXXXX 中断当前事务并开始新事务XXXX
 
/n 中断当前事务,一般用于相应F15 键,返回.
 
/nend 关闭所有会话,退出系统 (用于相应- Logoff)
 
/nex 关闭所有会话,并立即退出系统(没有警告提示).
 
/oxxxx 开始一个新的会话,并执行事务XXXX.
 
/o 列出所有会话,允许删除或新建一个会话
 
/i 关闭当前会话
 
/i1,/i2,... 关闭指定的会话.
 
.xyzw Fast path: 'xyzw' refers to the underlined letters in the menus. This type of navigation is uncommon and is provided more for emergencies (such as a defective mouse).
 
Section Separator

Batch

 

/n 中断当前batch input
 
/bdel 删除当前batch input
 
/bend 中断当前batch input,并设置会话失败
 
/bda 切换错误显示为后台处理
 
/bde 将后台处理切换到前台显示
 
Section Separator

ABAP/4

/h 进入调试模式
 
/hs 进入调试模式并激活系统函数的调试
 
Section Separator

Buffer 

警告: 对于一个运行很长时间的应用服务器,进行重新初始化缓冲区会改善系统性能.只有必须做时才重新初始化.

/$SYNC 重新初始化应用服务器的所有缓冲区
 
/$CUA 重新初始化应用服务器的当前CUA缓冲区
 
/$TAB 重新初始化应用服务器的表缓冲区
 
/$NAM 重新初始化应用服务器的nametab缓冲区
 
/$DYNP 重新初始化应用服务器的当前屏幕缓冲区
 
Section Separator

R/3 note no. 45507

用于后台和batch input处理的几个OK code

/*XXXX 跳过第一个屏幕开始事务XXXX. 
 
=XXXX 这个主要用于向后兼容,以后可能不再支持.
 
%sc 在列表中查找一个字符串
 
%pc 下载列表
 
%pri 打印列表
SAP BDC example for MM02 steps  :

1. Go to SAP Tcode  SHDB

2. Click "New Recording" 


3.  Enter Recording Name : example : ZGT_TEST_BDC
     Enter Transaction code : MM02
     Click : "Start Recording" button

4. MM02 screen will be displayed    Enter Material number 
    Click "Organizational levels" Button

5. Select views of organizational levels 



6. Click "Save"
 

7. Self generated code after recording completed



8. Select Recording for List

9.  Checking recording
10. Check changes in recording fields 

11. Recording checked 

12. Recording was saved 

13.  After Complete Click on "Program Button" in Application Tollbar
      Program name : Give Z/Y name for generate SE38 program
      Field Content   : Select "transfer from recording "
 
14. Click on source code



15. Click on local object


 
16. Recording Program Code in SE38 
      a. Add Required  code. 
2)      b. Save 
3)      c. Active 
4)      d. Execute 



17. Press "F4" button
     Function: 1)  KD_GET_FILENAME_ON_F4 
     


Function:  2)  WS_UPLOAD



Update mode


File upload successfully
 

BDC(Batch Data Conversion)

SAP系统里,重复输入数据时,(数据不同,但是操作是相同的,典型的情形就是主数据导入),大致过程不外乎是这样: 输入一个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

一个生成BDC程序的演示


由于业务上的需要,某公司打算将某些物料的描述都在后面加上指定的文本Group X,所以需要修改已经存在的物料数据,用T-code:MM02,

外部数据是TXT文本,记录有N条,如下:

Material NO. Description
6000-00001 XXXXXXX(Group A)
2098-00001 fdfladsfladfl(Group B )
2059-00009 dfdsfreddfalfasfa(Group A)
2003-00003 iadfdafdf,adfasf(Group D)
……
……
下面是“录”操作的过程,在命令栏里输入T-code :SHDB,进入如下屏幕:

点New Recodring,出现如下屏幕:

其中Recording 的名字是任意给的。MM02是需要录的事务代码。

按下“Start Recording”,就会进入“Change Material”,这时,以下的操作对于用户来说是一次普通修改物料描述操作,尽管系统在记录所有的操作。


输入一个物料后,点击“Select View(s)”

假设我们只选“Basic Data 1”和“Basic Data 1”
然后点击绿色的小勾“Enter”

我们在该物料后面添加一个“Group A”,描述改为:


……

然后点“SAVE”,保存这次修改。

现在SAP回到了SHDB

先点“SAVE”,保存Recording :Ztest,然后点”Back”,返回SHDB的第一屏。

选中“Ztest”,然后点击“Program”,由SAP自动生成一个程序。


在上面的对话框中输入程序的名字(注意SAP的命名规范,Y或者Z开头),确认输入

再输入一些程序的属性信息如下:

点击“Source Code”,指定“Develop Class”等后,就可以进入ABAP Editor,产生如下代码:

report ZBDCTEST
no standard page heading line-size 255.

.

.

posted on 2008-07-23 11:11  LongSky  阅读(1785)  评论(0编辑  收藏  举报

导航