收藏 分享(赏)

SAP-HR-Schema-详解.docx

上传人:weiwoduzun 文档编号:5686817 上传时间:2019-03-12 格式:DOCX 页数:18 大小:34KB
下载 相关 举报
SAP-HR-Schema-详解.docx_第1页
第1页 / 共18页
SAP-HR-Schema-详解.docx_第2页
第2页 / 共18页
SAP-HR-Schema-详解.docx_第3页
第3页 / 共18页
SAP-HR-Schema-详解.docx_第4页
第4页 / 共18页
SAP-HR-Schema-详解.docx_第5页
第5页 / 共18页
点击查看更多>>
资源描述

1、推荐原创SAP HR Schema 详解(一)一、Payroll schema 基础1、Schema 和 Function在 SAP 薪酬中, Function 为薪酬计算提供了逻辑公式。Function 执行一般的过程如在给定的薪资方法上计算薪酬税,从特定的信息类型中读取工资类型,计算奖金,并保存薪酬计算的结果。SAP 薪酬系统中有几十个 Function,有些是与国家相关的而有些不是。每个 Function 在 PE04 中定义并有文档;在 4.5 版本以上可以通过 PDSY 查看 Function 文档,在早期的版本可以通过 RPDSYS00 查看。在 SAP HR 术语中,一个薪酬 F

2、unction 与一个 ABAP Function 是不一样的。薪酬 Function 也包含 ABAP 代码,但它不像 ABAP Function 那样执行。薪酬 Function 在 Schema 中被薪酬驱动程序(假定为 PRCALCUO)所执行。Schema 是一系列 Function 以某种顺序执行的集合每个 Function 执行后把结果传给下一个 Function。Schema 可以通过 PE01 被创建和编辑,但是被保存在表 T52C0(SAP 标准 Schema )和表 T52C1(用户创建的 Schema 和修改 SAP 标准 Schema )。薪酬驱动读取 T52C0/T

3、52C1 表中的行并依次执行 Function。我们如何跳过保存在表中的薪酬 Function 而执行 ABAP 代码来完成工作呢?在 t-code PE04 中可以看到 ABPA 代码对应的每个 Function。在 Schema 中 Function 名与 ABAP Form 有关联,如薪酬 Function WPBP 映射到 ABAP form fuwpbp;Function USTAX 映射到 form fuustax。所以当薪酬驱动执行 Schema 时,它从 Schema 中取得 Function 名,然后在名称前加上FU,然后执行 perform 语句。这是一个很简单巧妙的设计。

4、2、工资类型(wage type)即工资项在很大程度上,工资类型只是包含一些数据比率,数字 和/或数量。但是更详细的,一个工资类型有几十个属性用来控制它是如何被操作和处理的。但是在最后,它在薪酬结果数据库中作为一个对象保存成比率,数字和/或数量。工资类型大多情况下用来保存一个员工薪水中收入的数量、扣除的数额和税收数额。员工的基本工资保存在一个工资类型中,作为一般用途扣除的费用保存在一个工资类型中,他们应征税的工资和税保存在工资类型中。作为员工工资的基本数据元素工资类型,也同样映射到 FI/CO 账户以记录工资上的借贷,并报告在 W-2 和税务表格上。工资类型也保存统计数据如带薪时期内工作的小时

5、数,在过去的六个月平均的周工资,或分红计算的工资的数量。工资类型保存在几个表中,但是主要是 T512W。将有更多的时间花在 T512W 表的各个方面。(重要的视图包括:V_512W_D,V_512W_O,V_512W_B 等。)工资类型有三类:模型、技术和用户。1)模型工资类型是 SAP 给客户用来作为向导创建他们自己的工资类型的。他们常常以一个字母开始,SAP 可能在系统升级或 HRSP 中添加、删除或更新他们。2)技术工资类型经常由 SAP 产生,以/ 开始。他们一般用在薪酬的特定的标准过程中,但你也可以修改他们,SAP 可能在升级的过程中或在 HRSP 中更新他们。所以,如果你曾经修改过

6、一个技术工资类型,那么要在每次升级以后或 HRSP 以后检查他们,以保证他们还有你需要的属性。并且不要删除任何技术工资类型。3)用户工资类型一般以数字开始,SAP 在升级或 HRSP 中是不会改变这些工资类型的。或 SAP 很少在升级或 HRSP 中改变这些工资类型。用户工资类型是为所有公司特定的工资支付制定的。3、Rule 和 Operation我们的一个长期客户曾经创建了一个保存界面的信息叫“薪水 Rule”!那些有经验的 SAP 薪水分析者和顾问立刻看成其中的双层含义和幽默。Rule 包含 SAP 薪水中大多基本的逻辑。其中 Schema 是 Function 的集合,Rule 是 Op

7、eration 的集合。一个 Operation 是一个非常基本的被用来操作工资类型的逻辑。例如,Operation MULTI 是乘以工资类型中的数字和比率以决定付给员工工资的数目。Operation OUTWP 获取一个员工特定的数据并决定如何去处理它。比如,如果工作合同在信息类型 1 中是 UA,那么执行x ,如果是 UB,执行y ,可以通过 t-code PE04 和 PDSY 查看 Operation,也可以通过 PE02 编辑 Operation。Function 对应的 ABAP form 是以fu开始,Operation 对应的 ABAP form 是以op开始。比如,Oper

8、ationMULTI ,将有 ABAP form opmulti。同 Schema 一样,Rule 保存在表中, Rule 被保存在表 T52C5 中。有多年计算机系统工作经验的 SAP 高级顾问们常在发现工资 Rule 和编程大型机汇编语言的类似性。然而当 Operation 被正确使用时功能强大,但这没有什么好神奇的。希望我们这个简短的介绍是有意义的。下一篇 SAP 工资技术文档中我们将更深入探讨用在 SAP 的工资 Schema 中的公共 Function。Function 最多能有 4 个参数,SAP 文档将告诉你每个参数的用法。通过 PDSY 和 PE04 能看到每个Function

9、 和 Operation。COPY这与 ABAP 和编程语言中的include相同。当工资执行时,Copy 是插入包含在参数 1 中的 Schema 。好的 Schema 配置风格和好的编程风格是一样的将公共使用的逻辑放在include 中,这样能被用于多个地方,同时也增加可读性。BLOCK在 4.0 版中,Schema 日志是放在树状结构中的。 BLOCK BEG 开始一个节点,BLOCK END 结束一个节点。在 BEG 和 END 之间是包含在节点中。BLOCK BEG/END 能被多层嵌套。同时,适当的放置 BLOCK BEG/END,使日志更方便读。IF/ELSE/ENDIF对IF

10、Function,有 2 种方法说明真/假条件。SAP 有几个内置的条件可以在参数 2(Schema U000 中的 IF NAMC)中使用。你同时也能在参数 1 中说明一个定制的 Rule,并且在 Rule 中执行你任意想要的逻辑。在 Rule 中,使用 Operation SCOND 为 IF Function 设置真 /假转换。Pxxxx 工资驱动和 Schema 从许多信息类型中读取数据并处理数据。一般是以 P 和四位数字命名的信息类型来执行。所以,P0014 读取并处理从信息类型 14 来的数据,P0168 从信息类型 168 处理人生保险计划,P2010 从信息类型 2010 中读

11、取附加工资。许多 Function,但并非所有的 Function,允许你用工资 Rule 进一步精练此过程。例如,Schema UAP0 表明 P0014 被 RuleU011 处理过。Function P0168 是没有使用 Rule 的 Function 之一(在一些老的版本中有使用),而是在参数中说明 Operation(见 Schema UBE1)。有些信息类型在工资中被使用,但没有 Pxxx Function。这些包括信息类型 207,208,209 和 210,他们都在主税款 Function USTAX 中被读取并处理。信息类型 0,1,7 和 8 被 Function WPB

12、P 处理。PITPIT 是 Process Input Table 的首字母简写,它也是工资中最常用功能最强大的 Function 之一。当工资类型被 Pxxx Function 读入工资时,他们被保存在称为 IT(Input Table)的内部表中。PIT 通过内部表循环,并应用包含 Rule 中的逻辑。所以对于 IT 中的每个工资类型,它都将从 Rule 中申请一个逻辑。PIT 的目标是将工资类型从 IT 中移出,移入到 RT(Result Table)中。大多数情况下,被 PIT 调用的 Rule 会改变工资类型的一些属性然后把他们从 IT 中转移到 RT 中。工资类型也能留在 IT 中

13、并移到表中去。在说明 Operation 是如何工作的时候我们再解释这种可能性。PIT 的一个例子是在 Schema UAL0 中PIT X023。当工资驱动到达 Schema 的这点时,PIT 将遍历 IT 中的每个工资类型,RuleX023 告诉它做什么事是取决于工资类型在过程类 20 中的值。值为 3,4,5, 6, 9 和 B 使将把工资类型移到 RT 中,而 1,7 和 8 是将工资类型留在 IT 中,值 2 没有任何操作,但本质上其实是将工资类型从 IT 中清除。PRTPRT 是 Process Results Table 的缩写。虽然大多数工资类型处理发生在 PIT,也有几种情况

14、当你想处理工资类型时已经被转移到 RT 中。 PRT 工作原理同 PIT,通过 RT 循环,同时从 Rule 中申请逻辑。在 Schema UTX0 中,PRT 被用来处理已经在 RT 中的税款工资类型。Function UTX0(US 税款Function)直接返回它的工资类型给 RT,所以任何一个在税款工资类型中的处理都要 PRT Function 来完成。ACTIOACTI0Function 处理工资 Rule,但是它不通过工资类型表来循环,但它在不同的工作地点/基础工资记录间循环,并挨个处理它们的 Rule。例如,假设员工在当前带薪时期有 2 个信息类型 1 个记录,ACTI0 将有

15、2 条记录要循环。UTX0 Schema 是 ACTI0 使用 RuleUWH1 计算带薪时期工作的小时数的一个好的例子。像 Function 一样,Operation 的帮助文档也能通过 PDSY 和 PE04 找到。Operation 能被放在 2 个不同的组他们分布用来决策和操作工资类型。有些 Operation 刚好适用这 2 个组。操作工资类型在 Rule 中使用工资类型就好像在 ABAP 中使用内表。Function 通过把表的每一行一次性都放在 头空间来循环调用 Rule(PIT,PRT,P0014 或)。在头空间使用工资类型,完成以后在把它加回表中。MULTI, DIVID这些

16、 Operation 让你将工资类型中的两个字段相乘并将结果保存在第三个字段中。能使用的字段是 AMT,RTE 和 NUM。 MULTI RNA 将用一个数乘以比率并将结果保存在 amount 字段。DIVID ANA 将用一个数除 amount 字段并将结果保存回 amount 字段。NUM, RTE and AMT这些是非常基本的也很强大的 Operation,它们能操作他们各自字段的内容。很大情况会用到这些 Operation,F1 帮助文档是很有用的。基本情况下,设置值 NUM=1 或者 AMT=2.50,但这不是一个好的实践方法。而使用常数在表 T511K 中创建名叫 ZNUM 的常

17、数,并使 NUM=KZNUM(把 number 字段的值赋给常数 ZNUM)。因为常数是根据日期有效的,而 Rule 不是,这样当数值需要改变时使你更灵活地改变。你可以设置工资类型的头的字段等于另外一个工资类型中对应的字段AMT=E9XXX 是使 amount 等于 RT 工资类型 9XXX 中的 amount 字段。当且仅当 IT 中的 9XXX 小于 amount 域的值时,AMT,2 位数ENQ 不再使用INFT 必需的信息类型 (导入仅仅是 schema 所需的主数据信息类型)NRC 无回溯核算TIME 读时间信息类型必需入口:参数 1注意:如果你想在工资核算中去处理时间管理数据(如:

18、改变日程表,缺勤等),在你的 schema 中 OPTFunction 必需在参数 1 中包含 TIME。CHECK:在选择雇员之前/之后核查。FunctionCHECK 完成两个任务1) 按照 schema 类型检查规定的时间(期间)2) 执行一个整体的检查:Schema CNBD 中国基础数据工资子 Schema ,子 Schema 被主 Schema 调用该子 Schema 读取国际总工资计算 (核算)所需的全部基础数据(主数据),基础数据接着被打印到工资日志( 如果 program option=ON).结构:该子 Schema 由以下主要步骤组成:1、 读取员工姓名(P0001-EN

19、AME)2、 从以下信息类型中读有关工作中心和基本工资数据a) 人事事件 P0000,b) 组织分配 P0001,c) 计划工作时间 P0007d) 基本工资 P0008e) 工资维护 P0052 和f) 成本分配 P00273、 检查所需的所有主数据可以被工资驱动的,否则程序被取消。4、 在工资日志中打印上述基本数据。FUNCTIO 参数 1 参数 2 参数 3 参数 4 DCOM 编辑基本数据BLOCK BEG 编辑基本数据ENAME 从 EE(Infotype0001)中确定名字WPBP 读取工作中心和基础工资数据P0014 CN14 GEN NOAB 为 P0014 分割 WPBP 和

20、设置 APZNRDATES 读取详细时间数据IF SPRN 判读是否为非周期工资运行?ELSE 周期性工资运行?P0532 读取(5)保险数据P0530 读取公积金数据P0533 读取人事档案中的服务费ENDIF 结束 IF 语句块P0531 读取所得税数据GON 如果数据完整,继续BLOCK END 结束块-A previous employer table VAG 先前雇主表C Cumulation table CRT 累积表D difference table DT 差异表E results table RT 结果表G Gross results table GRT 总结果表H Old

21、results table AIT 旧结果表I Input table IT 输入表L Results table last payroll LRT 上一工资结果表M Incentive wages results LS 计件工资结果表N Loan LO 借出(仅仅可以再 function P0045 使用)O see blank aboveU Difference table DFT 差异表W wage maintenance table X Cumulated tax table SCRT 累积税表Z Table of time wage types ZL 计时工资表/090-/099V_

22、512w_t 工资项文本表/1(累计工资项)打头存放合计,/101 应发合计,/103 应税合计, /110 中国不用,存放法定扣除,/150 月社保公积金标准。/151 基本工资总计, /180-/199 用户自定义/2(平均基)平均工资、平均加班,自定义平均期间/8(折算因子):存放的值= 实际工作日/计划工作天数/3(社保扣减)/4(应税项目) /401 计税基数 、 /402 税率基数(找税率)、/403 工资税收 、/404 奖金税收、 /498 应征税的奖金/A(回溯流出项)/Z(回溯流入项)A 与 Z 配套出现2 工资计算过程1 读取基本数据:读 0008、0009 等信息2 读取上月工资结果:因为上月工资会影响本月工资3 时间数据处理读考勤数据 生成考勤工资项 评估考勤工资项:计算考勤工资项相关的薪资 4 导入经常性支付 /扣减、附加支付 /扣减5 因子折减 基本工资或经常性支付 决定过帐工资项 6 法定支付/扣减7 净支付/扣减8 决定 银行 实际支付用户主要修改 1 5 步骤,68 很少需要更改3 SAP 薪资概念 The SAP payroll concepts1、 Identity the sap payroll concepts2、 Define sap schemas3、 Define personnel calculation rules

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报