HCM执行HR_INFOTYPE_OPERATION报CX_HRPA_INVALID_PARAMETER

问题:执行HR_INFOTYPE_OPERATION报DUMP,信息如下

查了资料:参考note 493984,HR模块早期缓存设计的问题。无法通过打note的方式解决。官方建议在应用程序开始前使用PERFORM do_nothing(sapfp50p) ;

其实问题就是在同一个程序中已经有其他FM或report调用了DELAYED_CONSTRUCTOR已经给A_IS_INITIALIZED赋值为X了,这时后面如果再有程序调就会出现DUMP,截图如下

第一张图可以看到FM:HR_ECM_GET_DATETYP_FROM_IT0041已经调用了方法DELAYED_CONSTRUCTOR ,导致后面HR_INFOTYPE_OPERATION再调用SET_FRAMEWORK时A_IS_INITIALIZED为X所以直接抛异常了。

查找问题:可以类CL_HRPA_MASTERDATA_FACTORY的方法DELAYED_CONSTRUCTOR打个断点,看在调用人事事件操作前是什么接口或程序调用了DELAYED_CONSTRUCTOR,找到了问题基本找到了

解决方案:1.替换调在HR_INFOTYPE_OPERATION前调用了DELAYED_CONSTRUCTOR的接口或程序,比如截图中的HR_ECM_GET_DATETYP_FROM_IT0041改用直接查询0041。2.在整个程序最开始就调用下PERFORM do_nothing(sapfp50p).如图在处理事件前调用PERFORM do_nothing(sapfp50p).

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值