说说我常用的几种方法。
1,F1。毫无悬念,当我想要知道某一个字段存在哪一张表里的时候,我就会下意识的按F1,然后去看Technical Infomation。我觉得有一半左右的机会可以得到我想要的答案
2,SAP Application。用SE16进入Data Browser,然后F4,点击进入SAP Application。然后可以看到,一个表和应用相匹配的树状图,根据当前进行的操作内容,查找对应的表。
3,CDHDR and CDPOS。这两个表记录了SAP内所有的修改记录:CDHDR是change document header;CDPOS是change document position;一个是header信息,一个是Item信息
如果想知道某个字段在哪个表中,可以去修改这个字段,然后用SE16到CDHDR中查找你刚才的更改记录,输入Name,Date,Time可以缩小范围:
然后根据显示出的Change doc. object,Object Value和Document number去CDPOS中查找细节,就可以找到更改的表了
4,ST05。SQL Trace。SQL trace记录了在系统里所做的操作访问了数据库中的那些表。点击Active Trace后,进行和要查找的字段相关的操作后,再Deactive trace,然后Display Trace查看刚才操作的过程中访问过哪些表。有的时候,访问的表很多,但是多数不是想要找的,所以需要花时间去分析。
以上四个是我常用的方法,而且我觉得很有效了。这四个方法在Dennis Barrett的《18 Techniques for Locating the Underlying Data of a Screen Field》里都有提及,他提到的其余的方法没有用过,不做评价了。
不过有一段hint还是不错的:
Many transactions have header information
and detail or item lines in separate linked tables.
Remember that R/3 is a German product. “Kopf” is
German for “head,” and “position” can be interpreted
in German as “detail” or “item.” You’ll often find
header/item table pairs with “K” and “P” in their
names, such as VBAK and VBAP. When you are
looking for linked tables containing the data for a
transaction, this tip may help you identify one if
you have the other.
http://itlingm.blog.51cto.com/1774993/562099