首页 > 其他分享 >SAP HCM 逻辑数据 动态加载INFOTYPES

SAP HCM 逻辑数据 动态加载INFOTYPES

时间:2024-04-07 11:30:22浏览次数:22  
标签:逻辑 动态 内表 P0416 rinfo 赋值 SAP INFOTYPES HCM

NFOTYPES如何与$rinfo关联关系$!!!

 前几天在群里面看到讨论"请教大家,一般使用逻辑数据库pnp 的程序,需要读取的infotype 在程序中用关键字infotypes 声明,但是我发现有些程序读取infotype 居然可以是动态的,大家知道这个额外控制的机理是什么吗?"周末有找到一个查找CODE_SCANNER程序可以找变量在那个包下面引用,就随便尝试找下$rinfo$内表在什么地方赋值。

 

1 找到变量的位置,但是无法找到什么地方给内表rinfo赋值。双击变量rinfo都找不到变量被引用的位置。所以开始就陷入无法推进的过程。

图片

2 既然这个地方有值,那肯定就是逻辑数据库的时候就会赋值,所以后来掉头去研究PNP逻辑数据库,后来发现这个判断是错误的。于是就换个思路,从中国核算工资的驱动程序开始。一直F6,不进入源代码分析,先看看整个代码流程。

图片

图片

图片

3 当代码进入如下位置的时候,只要这个infotypes执行一次,内表rinfo就会增加一条,原来内表rinfo的赋值是这个关键字赋值的,然后我就一直debug看,内表有72条数据,也就是有72个信息类型,那就是代码中infotypes固定有72个,不是动态的。

图片

图片

图片

图片

图片

图片

图片

图片

4 那这个动态的概念是如何而来的呢,后来发现,代码先用inftypes枚举出所有需要的信息类型,然后有个配置表是读取schema里面的信息类型集合,然后去匹配,如果没找到mode就是N,举例说明下:例如函数P0416,默认在inftypes中已经申明,所以rinfo就存在0416的数据,但是我schema中注释P0416的函数,那么内表infty就不会存在,循环rinfo内表的时候如果在infty内表找到数据,那么rinfo-mode=y,否则就是N,这就是系统的动态的逻辑。

图片

图片

5 那现在来分析分析infty这个内表数据的来源,先在SCHEMA中注释P0416

图片

图片

图片

图片

发现SAP有个RP-imp-c2-ps的宏,这里面包含inftype的内表,可以通过程序RPCLSTPS查询簇表里面的具体值。

图片

图片

没有注释P0416的时候

图片

注释P0416以后

图片

所以这就是所谓的动态加载信息类型的具体逻辑。

标签:逻辑,动态,内表,P0416,rinfo,赋值,SAP,INFOTYPES,HCM
From: https://blog.csdn.net/wl8511/article/details/137412484

相关文章

  • SAP HCM 薪酬过账表
    1.历史记录2文本 3凭证标题4.行项目5.索引号6凭证状态历史记录7.人与凭证关系......
  • 36. 关于 SAP ABAP OData 服务如何实现 Deep Insert 场景 - SAP 应用的标准行为
    有朋友在知乎上向我咨询:OData更新多表数据的时候,可以做多层级结构的entity吗?多层的时候etag怎么做?比如我要更新表1.2.3。分别是header级别以及子层级别以及子层的子层。调用元调用一次会把三层的数据都给我们。如果put不可以做,一般odata这种怎么做。请赐教。......
  • ABAP 读取EXCEL 文件内容,函数 TEXT_CONVERT_XLS_TO_SAP
    EXCEL内容:读取内容:代码:TYPES:BEGINOFITAB,   FL1(50) TYPEC,   FL2(50) TYPEC,   FL3(50) TYPEC,   FL4(50) TYPEC,   FL5(50) TYPEC,   FL6(50) TYPEC,ENDOFITAB.DATA:T_ITEMTYPETABLEOFI......
  • “头痛医头、脚痛医脚”的SAP解决方案
    作为SAP顾问是否遇到过如下场景:sap用户着急的跟你说需要系统里实现什么功能,比如要增加一个库位地点,明天就要,很急。你全力配合他做好了,刚传到正式系统,用户说不需要了或者用了段时间发现不合适,能不能把功能退回去。你是不是很无语?从这里我就要引出今天的主题,什么叫“头痛医头、......
  • SAP 要件定义:维护税码(FTXP)
     【业务背景】在做FB70创建客户发票的时候,因业务需要,要维护定义一个销项税稅码【对应过程】用T-codeFTXP进入初始屏幕,国家/地区代码选择CN这里我引用的是已经定义好的稅码X1,点击回车这里我将原税收百分率17%改成了16%点击左上角【特性】进到特性页面,更改备注信息,保......
  • SAP 消息号 GLT2002 项目种类*****丢失(在科目***中是必须的)
    【背景】在做F-40汇票收付的时候,遇到以上error。【对应方法】先找到【为文档拆分给总分类账科目分类】点击进入。将原本分类03000改成04000,返回F-40即可成功过账。......
  • SAP ERP出海解决方案:帮助中国企业提升海外品牌竞争力
    近年来,在全球化浪潮下,中国出海企业正从简单的产品扩张向更加成熟的跨国经营及全球化发展转变。中国企业要积极拓展国际市场、加大步伐融入全球的生态,打造韧性供应链,但面对风云变幻的国际形势,需要提高自身的风险管控能力和综合竞争实力。工博科技为中国企业提供出海解决方案,满足......
  • SAP_MM模块-无价值物料管理实现思路
    无价值物料管理实现思路业务背景一:对于工具类的物料,本来想通过无物料号,收货时直接消耗在成本中心的方式来处理,这样,工程部和采购部都比较方便。但财务部提出这部分工具物料还需要进行库存管理,但不要求有库存价值,只是在规定时间内作库存盘点操作。思路1(不满足要求):无料号的费......
  • 盘点那些好用的SAP FIORI App(二) -上传凭证Upload Journal Entry
    前面我有提到过,SAP录入凭证的界面是用户不友好的,并且介绍了几种快速录入的方法,科目分配模型,参考凭证等,但是今天我要讲到的这个app是最实用的,强烈推荐大家使用,因为这个可以用excel的方法直接上传过账,并且不需要额外的定制开发。AppID:F2548点击app进入如下界面,我们可以先......
  • SAP BW 增量抽取报错任务 ODQR_***** 已失败
    修复处理链发现一直报错,报错信息如下: 怀疑是源端的增量出现问题:打开源端,TCODE:ODQMON 选择,双击进入 找到对应的DTP,双击进入  找到增量出错的那条,点击,尝试重新抽取增量,如果不行,看后台任务是否还在运行,如果报错任务直接删掉。然后更新请求状态,变成了红叉,直接运行DTP......