SAP HCM 标准报表与前台操作的增强差异逻辑分析(rhgrenz4)

 

导读

增强差异:SAP的HCM模块组织和人事增强都有标准的增强点,不管你调用标准的函数还是前台操作都会触发对应的增强。所以很多业务不需要考虑那么多分散点,只要找到一个合适的增强点,就能解决很多和外围系统集成的业务逻辑,今天遇到的问题就是调用标准rhgrenz4程序,设置组织的结束日期与PPOSE撤销部门结束日期,增强点的的入参居然部一样。

作者:vivi,来源:osinnovation

2024年是高产的一年,但是不是高效的一年,全年写70多篇文章,但是阅读率不高,只有3万左右的阅读率,但是2023年一共写不到10篇文章,但是阅读率居然有两万左右的阅读率,所以2025年需要有新的观点,新的思路,希望2025年比2024年更好。今天这篇文章就是2024年的最后一篇,2025年加油。

1 rhgrenz4程序设置部门结束日期

图片

增强点的变量NEW_IMAGE的infotype居然是是1000,而不是1001,导致推送外围系统的时候,抓不到增量数据。(项目背景:因为最近做的是中台和SAP的系统集成逻辑,中台创建和SAP一样的数据库表,原来的逻辑中台操作,自己更新表,但是系统运行一段时间后,发现两套系统表数据差异比较大,导致数据报表差异大,为避免出现数据差异的问题,希望只要SAP数据有变更,就把变更ID的全量数据推送给中台,中台就不需要自己向数据库写数据,尽量保持两边系统数据一致。)

图片

2 PPOSE部门定界

在页面前台定界,发现系统增强会抓取到本层节点的上级节点与本层节点的下级节点,也就是会出现父节点和子节点,这样就不需要从历史数据找记录,这和rhgrenz4传过来的数据不一样,这个问题就复杂,因为想到增强做文章,就是希望我们有个共同点,只要修改一个地方就可以,所以如何处理这个复杂的问题。这里就想起是不是可以从程序名字入手,如果增强判断是从rhgrenz4过来的,那么我修改逻辑,否则就按照原来的逻辑处理,这样就不需要修改多个地方,避免问题复杂化。

图片

图片

3 解决思路

因为系统有个参数SY-CPROG的参数是调用的程序名,那是否能根据这个参数,判断增强的地方是什么程序调用的,如果是rhgrenz4这个程序调用的,我把参数值修改成PPOSE调用的参数值一样,那不就解决这个问题。所以判断的条件分三个,SY-CPROG=rhgrenz4 and infotype=1000且enda不等于99991231,这样就限制特定场景,然后把infotype=1000改成1001,然后用objid到OLD_IMAGE数据抓取到历史数据,用新的ID与老的ID合并起来,重新从数据库取一次数据,这样数据就全。

图片

4 总结

其实评估人天是一件技术活,如何能准确评估人天是IT的基础功能,最近这几次评估的人天都不靠谱,每次都少很多,其实很多原因就是没有考虑到沟通成本,如果涉及的集成接口,评估的人天一定需要考虑和对方系统的业务沟通成本,对方系统的开发沟通成本,对方系统的测试沟通成本,对如果存在中间件,还需要考虑到与中间件的沟通成本,对应非常复杂的业务,还需要考虑特殊场景考虑不全的新方案设计成本,所以经验还是比较重要的点。

2024年是忙碌的一年,除拿到一个最基本的证书,自己最关心的证书总是擦肩而过,2025年希望自己能有好的运气,能拿到自己梦寐以求的证书,加油。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/64650.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Spring】Spring DI(依赖注入)详解——自动装配——手动装配与自动装配的区别

在spring开发中,依赖注入(Dependency Injection,DI)是实现松耦合和高内聚设计的重要模式。它使得对象的创建和管理与其依赖关系分离,从而提高了代码的可维护性、可测试性和灵活性。Spring框架通过IoC(控制反…

EZ-USB™ FX3 USB 5 Gbps 外设控制器

EZ-USB™ FX3 USB 5 Gbps 外设控制器 EZ-USB™ FX3 提供 USB 5Gbps 至 32 位数据总线,并配备 ARM9,可为任何系统添加 USB 3.0 连接 英飞凌的 EZ-USB™ FX3 是业界用途最广泛的 USB 外围设备控制器,可以为几乎任何系统添加 USB 5Gbps 连接。 …

【数据仓库】spark大数据处理框架

文章目录 概述架构spark 架构角色下载安装启动pyspark启动spark-sehll启动spark-sqlspark-submit经验 概述 Spark是一个性能优异的集群计算框架,广泛应用于大数据领域。类似Hadoop,但对Hadoop做了优化,计算任务的中间结果可以存储在内存中&a…

数据库容灾备份的意义+分类+执行工具!

数据库容灾解决方案的背景 数据库容灾(Disaster Recovery,DR)解决方案的背景主要源于企业对数据安全性、业务连续性和系统高可用性的需求。随着数字化转型的加速,企业的数据量迅猛增长,数据库已成为支撑核心业务的关键…

PDF怎么压缩得又小又清晰?5种PDF压缩方法

PDF 文件在日常办公与学习中使用极为频繁,可想要把它压缩得又小又清晰却困难重重。一方面,PDF 格式本身具有高度兼容性,集成了文字、图像、矢量图等多样元素,压缩时难以兼顾不同元素特性,稍不注意,文字就会…

SpringBoot数据字典字段自动生成对应code和desc

效果:接口会返回orderType,但是这个orderType是枚举的类型(1,2,3,4),我想多返回一个orderTypeDesc给前端展示,这样前端就可以直接拿orderTypeDesc使用了。 1. 定义注解 …

【YashanDB知识库】imp导入数据库时,报错YAS-08023

本文内容来自YashanDB官网,原文内容请见 https://www.yashandb.com/newsinfo/7849010.html?templateId1718516 **【问题分类】**数据导入导出 **【关键字】**imp、YAS-08023 【问题描述】 导出数据库时,使用以下命令,导出正常&#xff1…

又一年。。。。。。

2024,浑浑噩噩的一年。 除了100以内的加减法(数据,数据,还是数据。。。。。。),似乎没做些什么。 脸盲症越来越重的,怕是哪天连自己都不认得自己的了。 看到什么,听到什…

FreeRTOS: ISR(中断服务例程)和 TCB(任务控制块)

在讨论 ISR(中断服务例程)和 TCB(任务控制块,Task Control Block)时,我们实际上是在探讨 FreeRTOS 中两个不同但又相互关联的概念:一个是用于处理硬件或软件触发的中断事件,另一个是…

GoldenDB组件及对应的用户和进程

1. GoldenDB组件及对应的用户和进程 GoldenDB数据库由管理节点、全局事务节点GTM、计算节点CN、数据节点DN等组成。 1.1. 管理节点 管理节点分为集群管理、Insight运维管理平台(InsightServer、RDB、ZK)。 1.1.1. 集群管理 1. 集群管理包括Metadatas…

OpenStack系列第四篇:云平台基础功能与操作(Dashboard)

文章目录 1. 镜像(Image)添加镜像查看镜像删除镜像 2. 卷(Volume)创建卷查看卷删除卷 3. 网络(虚拟网络)创建网络查看网络删除网络 4. 实例类型创建实例类型查看实例类型删除实例类型 4. 密钥对&#xff08…

CSDN编辑器

这里写自定义目录标题 欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants 创建一个自定义列表如何创建一个…

MTK 平台关于WIFI 6E P2P的解说

一 前言 官方 P2P 6E 设计原理,请查看这个网站 hostap - hostapd/wpa_supplicant 配置:p2p_6ghz_disable 允许上层指定是否允许6G连接 仅允许6G用于WFD –不允许6G用于纯P2P 缺点:存在很多 IOT issues 如:一些物联网设备无法识别6G类/信道,可能存在物联网问…

四大自平衡树对比:AVL树、红黑树、B树与B+树

AVL树、红黑树、B树和B树的对比与应用场景 树系列相关文章(置顶) 1、从链表到平衡树:二叉查找树的退化与优化 2、自平衡二叉查找树:如何让二叉查找树始终保持高效 3、AVL树入门:理解自平衡二叉查找树的基础 4、红黑树全…

Linux下读取Windows下保存的文件,报错信息中出现“^M“时如何解决?【由于Windows和Linux的换行方式不同造成的-提供两种转换方式】

Windows 和 Linux 的文本文件使用的换行符不同: Windows 使用 \r\n (回车 换行)。Linux 使用 \n (换行)。 因此,当在 Linux 系统上运行带有 Windows 换行符的脚本或读取相关文件时,可能会出现…

简易内存池(下)

提示&#xff1a;文章 文章目录 前言一、背景二、2.1Ace代码 三、3.1 总结 前言 前期疑问&#xff1a; 本文目标&#xff1a; 一、背景 最近 二、 2.1 Ace代码 Aced代码形式如下 #include <stdbool.h> #include <stdio.h> #include <malloc.h> #inclu…

npm ERR! ECONNRESET 解决方法

问题&#xff1a;npm 命令遇到的错误是 ECONNRESET&#xff0c;这通常与网络连接问题相关。设置代理解决问题。 一、查看当前代理设置 npm config get proxy npm config get https-proxy二、设置代理 npm config set proxy http://your-proxy-address:port npm config set h…

【UE5】UnrealEngine源码构建2:windows构建unreal engine 5.3.2

参考大神知乎的文章:UE5 小白也能看懂的源码编译指南 据说会耗费400G的空间。 代码本身并不大,可能是依赖特别多,毕竟看起来UE啥都能干,核心还是c++的, 【UE5】UnrealEngine源码构建1:tag为5.3.2源码clone 本着好奇+ 学习的态度,想着也许有机会能更为深入的熟悉UE的机制…

Day60 图论part10

今天大家会感受到 Bellman_ford 算法系列在不同场景下的应用。 建议依然是:一刷的时候,能理解 原理,知道Bellman_ford 解决不同场景的问题 ,照着代码随想录能抄下来代码就好,就算达标。 二刷的时候自己尝试独立去写,三刷的时候 才能有一定深度理解各个最短路算法。 Bell…

在Linux上获取MS(如Media Server)中的RTP流并录制为双轨PCM格式的WAV文件

在Linux上获取MS(如Media Server)中的RTP流并录制为双轨PCM格式的WAV文件 一、RTP流与WAV文件格式二、实现步骤三、伪代码示例四、C语言示例代码五、关键点说明六、总结在Linux操作系统上,从媒体服务器(如Media Server,简称MS)获取RTP(Real-time Transport Protocol)流…