SAP HCM 薪酬核算红色异常日志信息如何快速定位问题

20 篇文章 0 订阅

导读

INTRODUCTION

日志信息:SAP HCM工资核算的时候经常有红色的提示错误信息,但是这个地方的提示信息有点怪异,是无法看到message号码,所以不知道标准代码具体出错的位置,查找问题非常困难,今天告诉大家一个小技巧,如果根据错误红色提示,找到标准代码大概位置,这个小技巧非要有用,觉得好的给点打赏。

作者:vivi,来源:osinnovation

一、故事背景:

    昨天有个朋友做越南项目的时候遇到一个问题,核算工资报错,无法进行下去,因为越南没有标准解决方案包,其实现在SAP应该弄一个出来,现在这么多企业迁移到越南,一看到下面pcg 99,估计就是复制标准的x000的那套,但是后面后面还有28,那肯定是中国的那套,所以感觉找问题十分困难,所以想到的方法就是如果能找到错误原因的代码位置,反推回去估计会更快。

图片

二、分析的思路:

经过漫长的debug,后面终于找到错误的代码位置,然后就在想一个问题,SAP薪酬核算这个红色错误有没有更高效的debug技巧,可以减少排错的时间,我就不断分析这些代码的结构,然后看到p0531、cntx的代码带来的启示,发现这些错误的代码提示是有规律的。错误都是放入到ptext这个内表中,是不是我只要加上观察点把这个变量加上去,只要有变化,系统就会停下来。

图片

但是实际操作不是这样,后台经过发现错误日志都是调用相关程序HXXPLOG0,其中XX标识国家,所以只要到代码里面去找有那些关于error字段的就可以,后来找到三个变量,这三个变量都是存日志错误信息,我是不是每个尝试下,终于在尝试到第二个的时候发现可以,可以把断点先到这RPCALC_EVENT_AT_SELSCR。

图片

在观察点用我们使用这个变量,error_ptext有变化代码就会停下来,找到停下来的位置,去查问题就方便。

图片

断点停留在reject_pernr_molga这个form里面,所以填充这个ptext在这里填充,所以我们需要的是找到这个form前面的代码,看看为什么会走这段逻辑。

图片

看到这个form调用是走一个特殊的if判断,ocd-version-molga=99,calcmolga=28,如果两个国家的编码部一样,就会出现错误,现在找到问题的问题点,现在就要分析出这两个参数值的来源calcmolga=28很好查,因为中国工资驱动就是28,代码固定写死,那ocd-version-molga=99数据从哪里来,后来定位发现是增强写死。所以导致数据不一致。

图片

图片

肯定有人好奇的问我是如何找到ocd-version-molga这个数据是存在什么地方,数据是存在PCL2表的CU表中,我们看到versn字段是99,那有奇怪为什么我执行中国的核算工资,这个字段会存99,经过分析,是因为增强中固定写死国家代码,导致数据生成变成99.

图片

图片

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值