SAP HCM HR_MAINTAIN_MASTERDATA自带解锁功能

news2024/9/20 17:04:40
导读

锁功能:在SAP HCM模块有针对人的加锁功能,今天遇到的一个问题是,人员无法被锁住,给我第一反应就是代码没有加锁,代码有问题,但是去看代码系统确实已经加锁,但是系统还是提示这个,那问题出现在哪里呢,今天给就来分析下次问题发生的情况,以后大家避免踩坑。

作者:vivi,来源:osinnovation

1 背景

中台做个前端页面,然后调用SAP封装好的逻辑展现出来,同时中台也有和SAP一样的表结构,今天在做人员异动流程的时候,SAP系统返回:SAP返回雇佣/申请人没有被锁定,第一反应就是程序中可能没有加锁,所以执行函数的时候提示这个,但是检查程序里面循环调用的时候确实有加锁,问题就奇怪在这个地方。下图是错误的提示。

图片

2 从代码开始发现问题。

因为是自定义开发的代码,所以问题肯定就在代码上,所以只有剖析代码去发现问题,首先是找到加锁的地方,从47行开始系统是已经加锁的,既然加锁为什么还是提示没锁住,所以首先不要死磕代码,可以想一个办法去验证这个问题,我想到的办法是,代码执行51行的时候去查看PA30,看看系统能不能锁住人,如果能锁住人,说明锁是没问题的,如果不能锁住,就是加锁的函数出问题,但是实际打开PA30,页面确实提示人员被锁住,所以加锁的函数是没问题,那就要继续向下看,看看是那个地方出现的雇员\申请人没有被锁住,HR的人员创建函数比较简单,就那么几个,一般是HR_INFOTYPE_OPERATION与HR_MAINTAIN_MASTERDATA。

图片

后来发现是这个函数提示,人员没被锁住,那是不是可以在这个函数之前打个断点,然后PA30查询下是是不是被锁住,后发现这个时候PA30是能查看到这个人,没有提示锁,那么问题就是在调用HR_INFOTYPE_OPERATION的时候系统已经解锁,所以只有向上去看代码,向上看只有一个标准函数HR_MAINTAIN_MASTERDATA,所以解锁就应该出现在这个函数。

图片

后来发现HR_MAINTAIN_MASTERDATA函数的481行下面的这个form就是解锁的,NO_ENQUEUE默认是传空,所以HR_MAINTAIN_MASTERDATA在执行0000、0001信息类型后系统就会自动取解锁,你要在调用HR_INFOTYPE_OPERATION的时候需要加一次锁。

图片

3 总结。

所以以后遇到这个函数HR_MAINTAIN_MASTERDATA,然后调用HR_INFOTYPE_OPERATION函数的时候记得需要再次加锁。

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

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

相关文章

BPF 调度器 sched_ext 实现机制、调度流程及样例

本文地址:https://www.ebpf.top/post/bpf_sched_ext_dive_into 在文章 Linus 强势拍板合入: BPF 赋能调度器终成正果中,我们回顾了 BPF 在调度器在合入社区过程中的历程,补丁 V7 已经在为合并到 6.11 做好了准备,后续代码仓库也变…

4. 认识 LoRA:从线性层到注意力机制

如果你有使用过 AI 生图,那你一定对 LoRA 有印象,下图来自Civitai LoRA,上面有很多可供下载的LoRA模型。 你可能也曾疑惑于为什么只导入 LoRA 模型不能生图,读下去,你会解决它。 文章目录 为什么需要 LoRA?…

预训练数据指南:衡量数据年龄、领域覆盖率、质量和毒性的影响

前言 原论文:A Pretrainer’s Guide to Training Data: Measuring the Effects of Data Age, Domain Coverage, Quality, & Toxicity 摘要 预训练是开发高性能语言模型(LM)的初步和基本步骤。尽管如此,预训练数据的设计却严…

STM32 HAL freertos零基础(十一)中断管理

1、简介 在FreeRTOS中,中断管理是一个重要的方面,尤其是在嵌入式系统中。正确地处理中断可以确保系统的实时响应能力,并且能够在中断服务程序(ISR)中执行关键操作。FreeRTOS提供了一些机制来帮助开发者管理中断,并确保在多任务环境下中断处理的安全性和高效性。 任何中…

【AI大模型】Transformer模型:Postion Embedding概述、应用场景和实现方式的详细介绍。

一、位置嵌入概述 \1. 什么是位置嵌入? 位置嵌入是一种用于编码序列中元素位置信息的技术。在Transformer模型中,输入序列中的每个元素都会被映射到一个高维空间中的向量表示。然而,传统的自注意力机制并不包含位置信息,因此需要…

3CCD的工作原理

昨天看编辑送的一本《计算机视觉》中3CCD的工作原理错了,其实是百度百科错了,所以我想有人就照搬照抄错了。专业问题不要问百度,百度就是骗子一样的存在,这么多年就从来没有把心思放在做事上。3CCD通过光学棱镜分光后就已经是单色…

智能摄像头MP4格式化恢复方法

如果说生孩子扎堆,那很显然最近智能摄像头多碎片的恢复也扎堆了,这次恢复的是一个不知名的小品牌。其采用了mp4视频文件方案,不过这个案例的特殊之处在于其感染了病毒且不只一次,我们来看看这个小品牌的智能恢复头格式化的恢复方法…

Oracle发邮件功能:设置的步骤与注意事项?

Oracle发邮件配置教程?如何实现Oracle发邮件功能? Oracle数据库作为企业级应用的核心,提供了内置的发邮件功能,使得数据库管理员和开发人员能够通过数据库直接发送邮件。AokSend将详细介绍如何设置Oracle发邮件功能。 Oracle发邮…

基于web的 BBS论坛管理系统设计与实现

博主介绍:专注于Java .net php phython 小程序 等诸多技术领域和毕业项目实战、企业信息化系统建设,从业十五余年开发设计教学工作 ☆☆☆ 精彩专栏推荐订阅☆☆☆☆☆不然下次找不到哟 我的博客空间发布了1000毕设题目 方便大家学习使用 感兴趣的可以…

Linux 基本使用和 web 程序部署 ( 8000 字 Linux 入门 )

一:Linux 背景知识 1.1. Linux 是什么 Linux 是一个操作系统. 和 Windows 是 “并列” 的关系,经过这么多年的发展, Linux 已经成为世界第一大操作系统,安卓系统本质上就是 Linux. 1.2 Linux 发行版 Linux 严格意义来说只是一个 “操作系…

【楚怡杯】职业院校技能大赛 “云计算应用” 赛项样题三

某企业根据自身业务需求,实施数字化转型,规划和建设数字化平台,平台聚焦“DevOps开发运维一体化”和“数据驱动产品开发”,拟采用开源OpenStack搭建企业内部私有云平台,开源Kubernetes搭建云原生服务平台,选…

高亮下位机温湿度

效果如下: 如何对QTextEditor中的内容进行高亮和格式化显示: 首先我们要自定义一个类WenshiduHighlighter,继承自QSyntaxHighlighter实现构造函数,在构造函数中将需要匹配的正则和对应的格式创建,存到成员变量中重写父类的void h…

DNS应答报文分析

目录 DNS应答以太网数据帧 1. 数据链路层 1.1 以太网首部:(目的MAC地址6字节)(源MAC地址6字节)(帧类型2字节)共14字节 1.2 以太网首部数据 2. 网络层 2.1 IP协议头部共20个字节 2.2 IP协议头部数据 3. 传输层 3.1 UDP头部共8字节 3.2 UDP头部数据 4. 应用层 4.1 D…

低空经济第一站:无人机飞手人才培养技术详解

在低空经济蓬勃发展的背景下,无人机飞手作为直接操作者和应用者,其人才培养技术成为推动这一新兴经济形态持续健康发展的关键。以下是对无人机飞手人才培养技术的详细解析: 一、培养目标 无人机飞手的培养旨在培养具备扎实无人机操作技能、…

_Array类,类似于Vector,其实就是_string

例子&#xff1a; using namespace lf; using namespace std;int main() {_Array<int> a(10, -1);_Array<_string> s { _t("one"), _t("two") };_pcn(a);_pcn(s);} 结果&#xff1a; 源代码_Array.h&#xff1a; /***********************…

el-table 的单元格 + 图表 + 排序

<el-table border :data"tableDataThree" height"370px" style"width: 100%"><el-table-column :key"activeName 8" width"50" type"index" label"序号" align"center"></el…

macOS系统Homebrew工具安装及使用

1.打开Homebrew — The Missing Package Manager for macOS (or Linux) 2.复制安装命令到终端执行 复制 执行 3. 开始自动安装过程 4.安装成功 5.使用brew安装wget工具

第L6周:机器学习-随机森林(RF)

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 目标&#xff1a; 1.什么是随机森林&#xff08;RF&#xff09; 随机森林&#xff08;Random Forest, RF&#xff09;是一种由 决策树 构成的 集成算法 &#…

WebSocket vs. Server-Sent Events:选择最适合你的实时数据流技术

引言&#xff1a; 在当今这个信息爆炸的时代&#xff0c;用户对于网页应用的实时性要求越来越高。从即时通讯到在线游戏&#xff0c;再到实时数据监控&#xff0c;WebSocket技术因其能够实现浏览器与服务器之间的全双工通信而受到开发者的青睐。 WebSocket技术为现代Web应用…

java计算机毕设课设—电子政务网系统(附源码、文章、相关截图、部署视频)

这是什么系统&#xff1f; 资源获取方式在最下方 java计算机毕设课设—电子政务网系统(附源码、文章、相关截图、部署视频) 电子政务网系统主要用于提升政府机关的政务管理效率&#xff0c;核心功能包括前台网站展示、留言板管理、后台登录与密码修改、网站公告发布、政府部…