导读
表查询:SAP-HCM有很多查询表的方式,今天我们通过sat事务码来分析下系统更新的流程,因为HCM的表很容易识别,信息类型名称+PA就是人表的数据,今天我们分析是如何知道系统的更新、删除、查询的地方,这样能更好的分析程序。
作者:vivi,来源:osinnovation
1 数据库核心处理
function函数rhom_write_buffer_to_db是信息类型核心保存的的地方,267行的提交后,数据就写入到相应数据在库。

2 如何定位源代码位置
使用tcode:SAT能快速分析源代码位置,例如下面的页签DB tables页签,可以看到表名下面都是此次操作的相关表,所以这个地方可能帮助查询某个程序涉及的表名。

在下图中,我们点击按钮,就能查找是select、delete、update相关指令,这表示我们与数据库交互的语句,通俗点就是数据库增删改改的地方。此处我们可以双击下,进入系统源码位置。

双击后的149行就是数据库删除的地方,我们看到此处是动态语句,dbname是个变量,后面prel_db也是一个变量。所以可以通过此处可以看出,HCM信息类型数据库更新、插入、删除都是调用一个include文件,所以以后如果发现数据有错误,可以通过此处往上找错误的地方。



badi_in_update数据就更新
nocommit是空



HRP1001就更新数据
----------------------------案例分析------------------------------------
现在我们用一个案例来分析,比如我现在需要修改0002信息类型的一个字段,我想知道系统的update语句在什么地方。此时我们需要输入tcode:SAT,在transaction中输入PA30事务码,然后点execute按钮,系统自动进入PA30页面,我们需要选中0002信息类型,并修改户口所在市的字段(有的信息类型是父子类的,例如合同信息类型,C那就是0016与3211),点击保存后,然后继续点返回按钮,系统就会进入程序调用的堆栈页面,我们需要选择的是DB tables页签,此页签都是PA30需要调用的表,包括查询、删除、更新、插入等相关操作,此功能还有另外一个功能,就是查询tcode后台的表有哪些,当然如果我们程序的速度很慢也可以通过此方法找到对应的代码执行的时间并双击进入相关的代码,我曾经发现系统增强的时候,代码异常的问题。









如何定位数据库的增删改查地方&spm=1001.2101.3001.5002&articleId=149502375&d=1&t=3&u=3f86cd8ea5f6448dabb2e7e2d2ca435e)
1680

被折叠的 条评论
为什么被折叠?



