SAP HCM 信息类型保存逻辑分析(SAT)如何定位数据库的增删改查地方


导读

表查询: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后台的表有哪些,当然如果我们程序的速度很慢也可以通过此方法找到对应的代码执行的时间并双击进入相关的代码,我曾经发现系统增强的时候,代码异常的问题。

图片

图片

图片

图片

图片

图片

图片

图片

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wl8511

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值