SAP HCM SCHEMA-002 operation自学方法及实战案例AMT= BETRG

01Operation的作用

首先,我将谈谈我所理解的Operation的作用,Operation 是 SAP HCM 薪资 / 时间计算的 "最小执行单元" ,负责对工资类型、时间类型、内部表进行读写、计算、判断、写入 等原子操作。它被封装在 PCR 中,由 Function 调用,最终在 Schema 中按流程执行,共同实现复杂的薪资与时间业务规则起。

1.1 流程逻辑:复用的力量

  1. Schema(模式,PE01)

    :按顺序执行的 ** 函数(Function)** 集合,定义整体流程(如中国薪资模式 CN01)。

  2. Function(函数)

    :Schema 中的步骤,负责调用子模式、循环处理表、执行规则(如 PIT、PRT、ACTIO)。

  3. PCR(人事计算规则,PE02)

    :由多个 Operation 按顺序组成,实现具体业务逻辑(如加班计算、社保扣除)。

  4. Operation(操作)

    PCR 中的最小执行单位,完成单一数据处理动作。

一句话总结:Schema → Function → PCR → Operation,Operation 是最终 "干活" 的最小单元。

1.2 如何自学:授之以鱼不如授之以渔

学习任何一门技术,关键就是入门,然后是如何提高自学的能力,任何事情不能师傅一致带领,所以需要提升自身能力,这样后期才会走上正常轨道,今天我们分析下如何通过SAP的标准F1帮助去理解Operation的功能。

不是学不会,而是不知道如何学

学习Operation之前,我们需要知道整体SAP薪酬Schema的调用流程图,如下图所示:

1.3 复用规则?

Operation的实际作用其实就是知识复用,在薪酬核算的时候我们也希望更多的抽象,能有更多的标准化,这样能加快的完成薪酬核算任务,这里我们EXCEL的vlookup函数,其实就是我们的一个Operation,因为对数据的工作重要且繁琐,所以才会提炼出Vlookup函数。sap的operation就和千万个vlookup函数一样,系统帮我们封装出一些开箱即用的工具。

02如何学会看懂标准文档:从耐心到技巧

对于学习SAP的人员迈不过去的一道坎,就是阅读SAP的文档,SAP的文档最好的还是英文文档,据说当年SAP进入中国的时候,找来一堆英文专业的人员翻译,但是因为没有业务背景,翻译出来的文档都十分羞涩,所以我们即要耐心又要学会技巧。我给大家推荐的还是多看英文文档,因为英文目前还是全球最通用的语言。现在我们就通过一个例子如何学会看懂SAP Operation的帮助文档:

2.1 真正的难点,需要:业务知识+IT思维

Schema其实需要一些IT背景,但从文档来说,有的是很难理解,如果会一些abap技能,能更快的学习Schema:Operation只是Schema的一个环节,也可以理解是最小的一个单元,所以理解Operation需要你有足够的业务储备只是+IT思维。我在这里说几个业务例子,2019年中国个税改革,累计扣减的月份就是P0531函数生成的,所以你需要具备个税的计算逻辑,这样你分析累计免扣减的月份才能更好理解,前几天我遇到一个问题,员工税组没有变化,到2月工资核算,累计抵扣的钱还是0,按道理应该5000*3,这个时候就需要具备IT思维,也就是我说的abap技能,debug函数P0531,后发现是因为配置税组的有个生效日期维护成2022年,因为我们个税是2019年改革,第一个期间是2018年12月(下发薪)。

03源码案例分析

以上就是一些Operation标注文档解读析,下面我们来来分享一些Operation的实践。我需要从从信息类型2010中读取数据,然后把金额与数值写入到IT表中。

3.1 P2010、P0014、P0015函数与AMT的关联关系

例如我复制x930规则到Z930,我们先理解下AMT= BETRG的含义,理解这个之前我们先需要知道P2010的函数。P2010就行读取2010信息类型的数据,然后每一行都去执行规则z930,例如下下图中的有2026-03-14和2026-03-15的数据,AMT= BETRG的作用就是把2010信息类型的金额字段写入到OT表的AMT字段中(金额字段),后面会通过方法把ot表转入到it表。

那么小伙伴就会问,为什么是读取2010的数据,而不是0014的数据或者0015的数据,这是因为系统有判断,如果是p2010函数,数据写入到PZ表,如果是P0014函数,那么数据是写入到P3表,系统是通过函数名字来区分。

04回答开头的问题

最后,回答一下开头提到的问题:我们如何面对成数百个标准的Operation,应该如何学习?我认为需要根据自己遇到的问题然后去多练习,然后再加以改造,为什么?因为从来都不存在两个一模一样的问题,只有相似的问题,我们可以借鉴,但是不能照搬!

-End-

原创作者|刘巍

相关推荐
郝学胜-神的一滴6 小时前
深入理解Python生成器:从基础到斐波那契实战
开发语言·前端·python·程序人生
焦糖玛奇朵婷1 天前
盲盒小程序开发|解锁开箱新体验[特殊字符]
大数据·开发语言·程序人生·小程序·软件需求
1104.北光c°1 天前
基于Canal + Kafka的高可用关注系统:一主多从关系链
java·开发语言·笔记·分布式·程序人生·kafka·一主多从
青柠代码录1 天前
【MySQL】SQL 优化:关联查询优化
程序人生
普贤莲花2 天前
【2026年第11周---写于20260322】
程序人生·算法·leetcode
百锦再2 天前
《码农职场》(IT人求职就业手册)导读和理性书评
程序人生·求职招聘·职场发展
Bonnie3733 天前
云边端一体化解析-什么是云边端,为何能成为AI基础设施核心
人工智能·程序人生·云原生·个人开发
Bonnie3733 天前
云边端一体化架构:三大组件(云、边、端)的分工与协同逻辑
人工智能·程序人生·云原生·架构·个人开发
Bonnie3733 天前
算力基建入门-AI时代,算力为何是数字底座
人工智能·程序人生·云原生·个人开发