模仿大型门户网站做ppt,专业做h5网站,微网站页面菜单栏,河东区腾讯网站建设导读
INTRODUCTION OPT函数#xff1a;SAP HCM工资核算是很多函数的汇总集#xff0c;原有有兴趣问过SAP的人为什么SCHEMA需要这样设计#xff0c;SAP的人说是用汇编的逻辑设计的#xff0c;当时是尽可能用机器语言加速速度读取#xff0c;每个函数都有对应的业务逻辑代码…导读
INTRODUCTION OPT函数SAP HCM工资核算是很多函数的汇总集原有有兴趣问过SAP的人为什么SCHEMA需要这样设计SAP的人说是用汇编的逻辑设计的当时是尽可能用机器语言加速速度读取每个函数都有对应的业务逻辑代码但是有几个函数中的源代码只有几行看不出对应的业务逻辑正好遇到一个朋友说P2010函数无法读取到数据发现是函数OPT 中TIME被注释,今天分析下OPT函数后面的参数是如何赋值。 OPT函数代码 opt函数是dummy但是看源代码的时候没有任何有含义的业务代码感觉OPT函数并没有赋值的语句所以无法找到TIME、NRC、INFT、ENQ、DEC参数对应的具体逻辑。 2 使用debug技术找到P2010是在什么位置赋值,发现rp_read_all_time_ity pn-begda pn-endda的宏可以把数据写入到对应的信息类型中。此处有个特别重要的点就是moden N的含义如果在前面P2010 MODEN N的地方默认是不会加载可以参考我另外一篇文章《SAP HCM 逻辑数据 动态加载INFOTYPES》只有执行rp_read_all_time_ity宏的时候才会填充到内表 3 OPT的TIME参数与这个如何关联 在上图中找到23行变量fc-sw_readpz感觉这个参数与OPT的time有关联现在关键是怎验证他们有关联。 以此类推继续去看fields内表好似什么时候赋值的通过代码发现此处会读取宏数据这个宏的源代码就是读取PCL2的PS数据也就是说当pe01保存自定义的薪酬核算公式的时候数据会保存到PCL2中relid是ps 然后分析下看看这几个内表的数据内表的数据都是从簇表中读取。 4 总结 下图是根据代码总结出这几个逻辑之间的关联关系。