SAP工资基础教程(全)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
SAP⼯资基础教程(全)
SAP Payroll Basics - Part 1
模式和函数
在SAP薪酬中,函数为薪酬计算提供了逻辑公式。
函数执⾏⼀般的过程-如在给定的薪资⽅法上计算薪酬税,从特定的信息类型中读取⼯资类型,计算奖⾦,并保存薪酬计算的结果。
SAP薪酬系统中有⼏⼗个函数,有些是与国家相关的⽽有些不是。
每个函数在PE04中定义并有⽂档;在4.5版本以上可以通过PDSY查看函数⽂档,在早期的版本可以通过RPDSYS00查看。
在SAP HR术语中,⼀个薪酬函数与⼀个ABAP函数是不⼀样的。
薪酬函数也包含ABAP代码,但它不像ABAP函数那样执⾏。
薪酬函数在模式中被薪酬驱动程序(假定为PRCALCUO)所执⾏。
模式是⼀系列函数以某种顺序执⾏的集合-每个函数执⾏后把结果传给下⼀个函数。
模式可以通过PE01被创建和编辑,但是被保存在表T52C0(SAP标准模式)和表T52C1(⽤户创建的模式和修改SAP标准模式)。
薪酬驱动读取T52C0/T52C1表中的⾏并依次执⾏函数。
我们如何跳过保存在表中的薪酬函数⽽执⾏ABAP代码来完成⼯作呢?在t-code PE04中可以看到ABPA代码对应的每个函数。
在模式中函数名与ABAP Form有关联,如薪酬函数WPBP映射到ABAP form ‘fuwpbp’;函数USTAX映射到form ‘fuustax’。
所以当薪酬驱动执⾏模式时,它从模式中取得函数名,然后在名称前加上‘fu’,然后执⾏perform语句。
这是⼀个很简单巧妙的设计。
⼯资类型
在很⼤程度上,⼯资类型只是包含⼀些数据-⽐率,数字和/或数量。
但是更详细的,⼀个⼯资类型有⼏⼗个属性⽤来控制它是如何被操作和处理的。
但是在最后,它在薪酬结果数据库中作为⼀个对象保存成⽐率,数字和/或数量。
⼯资类型⼤多情况下⽤来保存⼀个员⼯薪⽔中收⼊的数量、扣除的数额和税收数额。
员⼯的基本⼯资保存在⼀个⼯资类型中,作为⼀般⽤途扣除的费⽤保存在⼀个⼯资类型中,他们应征税的⼯资和税保存在⼯资类型中。
作为员⼯⼯资的基本数据元素-⼯资类型,也同样映射到FI/CO帐号以记录⼯资上的借贷,并报告在W-2和其他税务表格上。
⼯资类型也保存统计数据-如带薪时期内⼯作的⼩时数,在过去的六个⽉平均的周⼯资,或分红计算的⼯资的数量。
⼯资类型保存在⼏个表中,但是主要是
T512W。
将有更多的时间花在T512W表的各个⽅⾯。
⼯资类型有三类-模型、技术和⽤户。
模型⼯资类型是SAP给客户⽤来作为向导创建他们⾃⼰的⼯资类型的。
他们常常以⼀个字母开始,SAP可能在系统升级或HRSP中添加、删除或更新他们。
技术⼯资类型经常由SAP产⽣,以’/’开始。
他们⼀般⽤在薪酬的特定的标准过程中,但你也可以修改他们,SAP可能在升级的过程中或在HRSP中更新他们。
所以,如果你曾经修改过⼀个技术⼯资类型,那么要在每次升级以后或HRSP以后检查他们,以保证他们还有你需要的属性。
并且不要删除任何技术⼯资类型。
⽤户⼯资类型⼀般以数字开始,SAP在升级或HRSP中是不会改变这些⼯资类型的。
或SAP很少在升级或HRSP中改变这些⼯资类型。
⽤户⼯资类型是为所有公司特定的⼯资⽀付制定的。
规则和操作符
我们的⼀个长期客户曾经创建了⼀个保存界⾯的信息叫“薪⽔规则”!那些有经验的SAP薪⽔分析者和顾问⽴刻看成其中的双层含义和幽默。
规则包含SAP薪⽔中⼤多基本的逻辑。
其中模式是函数的集合,规则是操作符的集合。
⼀个操作符是⼀个⾮常基本的被⽤来操作⼯资类型的逻辑。
例如,操作符MULTI是乘以⼯资类型中的数字和⽐率以决定付给员⼯⼯资的数⽬。
操作符OUTWP获取⼀个员⼯特定的数据并决定如何去处理它。
⽐如,如果⼯作合同在信息类型1中是UA,那么执⾏‘x’,如果是UB,执⾏‘y’,其他的执⾏‘z’。
可以通过t-code PE04和PDSY查看操作符,也可以通过PE02编辑操作符。
函数对应的ABAP form是以‘fu’开始,操作符对应的ABAP form是以‘op’开始。
⽐如,操作符MULTI,将有ABAP form ‘opmulti’。
同模式⼀样,规则保存在表中,规则被保存在表T52C5中。
有多年计算机系统⼯作经验的SAP⾼级顾问们常在发现⼯资规则和编程⼤型机汇编语⾔的类似性。
然⽽当操作符被正确使⽤时功能强⼤,但这没有什么好神奇的。
希望我们这个简短的介绍是有意义的。
下⼀篇SAP⼯资技术⽂档中我们将更深⼊探讨⽤在SAP的⼯资模式中的公共函数。
函数最多能有4个参数,SAP⽂档将告诉你每个参数的⽤法。
通过PDSY和PE04能看到每个函数和操作符。
COPY 这与ABAP和其他编程语⾔中的‘include’相同。
当⼯资执⾏时,Copy是插⼊包含在参数1中的模式。
好的模式配置风格和
好的编程风格是⼀样的-将公共使⽤的逻辑放在‘include’中,
这样能被⽤于多个地⽅,同时也增加可读性。
BLOCK 在4.0版中,模式⽇志是放在树状结构中的。
BLOCK BEG开始⼀个节点,BLOCK END结束⼀个节点。
在BEG和END之间是包
含在节点中。
BLOCK BEG/END能被多层嵌套。
同时,适当的放
置BLOCK BEG/END,使⽇志更⽅便读。
IF/ELSE/ENDIF 对IF函数,有2种⽅法说明真/假条件。
SAP有⼏个内置的条
件可以在参数2(模式U000中的IF NAMC)中使⽤。
你同时也
能在参数1中说明⼀个定制的规则,并且在规则中执⾏你任意
想要的逻辑。
在规则中,使⽤操作符SCOND为IF函数设置真/
假转换。
Pxxxx ⼯资驱动和模式从许多信息类型中读取数据并处理数据。
⼀般是以P和四位数字命名的信息类型来执⾏。
所以,P0014读取
并处理从信息类型14来的数据,P0168从信息类型168处理⼈
⽣保险计划,P2010从信息类型2010中读取附加⼯资。
许多函
数,但并⾮所有的函数,允许你⽤⼯资规则进⼀步精练此过程。
例如,模式UAP0表明P0014被规则U011处理过。
函数P0168
是没有使⽤规则的函数之⼀(在⼀些⽼的版本中有使⽤),⽽
是在参数中说明操作符(见模式UBE1)。
有些信息类型在⼯资中被使⽤,但没有Pxxx函数。
这些包括信
息类型207,208,209和210,他们都在主税款函数USTAX中
被读取并处理。
信息类型0,1,7和8被函数WPBP处理。
PIT PIT是Process Input Table的⾸字母简写,它也是⼯资中最常⽤功能最强⼤的函数之⼀。
当⼯资类型被Pxxx函数读⼊⼯资时,他们被保存在称为IT(Input Table)的内部表中。
PIT通
过内部表循环,并应⽤包含规则中的逻辑。
所以对于IT中的每
个⼯资类型,它都将从规则中申请⼀个逻辑。
PIT的⽬标是将⼯资类型从IT中移出,移⼊到RT(Result
Table)中。
⼤多数情况下,被PIT调⽤的规则会改变⼯资类型
的⼀些属性然后把他们从IT中转移到RT中。
⼯资类型也能留
在IT中并移到其他表中去。
在说明操作符是如何⼯作的时候我
们再解释这种可能性。
s
PIT的⼀个例⼦是在模式UAL0中-PIT X023。
当⼯资驱动到达
模式的这点时,PIT将遍历IT中的每个⼯资类型,规则X023
告诉它做什么事是取决于⼯资类型在过程类20中的值。
值为3,
4,5,6,9和B使将把⼯资类型移到RT中,⽽1,7和8是将
⼯资类型留在IT中,值2没有任何操作,但本质上其实是将⼯
资类型从IT中清除。
PRT PRT是Process Results Table的缩写。
虽然⼤多数⼯资类型处理发⽣在PIT,也有⼏种情况当你想处理⼯资类型时已经被转移到RT中。
PRT⼯作原理同PIT,通过RT循环,同时从规则
中申请逻辑。
在模式UTX0中,PRT被⽤来处理已经在RT中的税款⼯资类型。
函数UTX0(US 税款函数)直接返回它的⼯资类型给RT,所以
任何⼀个在税款⼯资类型中的处理都要PRT函数来完成。
ACTIO ACTI0函数处理⼯资规则,但是它不通过⼯资类型表来循环,但它在不同的⼯作地点/基础⼯资记录间循环,并挨个处理它们
的规则。
例如,假设员⼯在当前带薪时期有2个信息类型1个
记录,ACTI0将有2条记录要循环。
UTX0模式是ACTI0使⽤规则UWH1计算带薪时期⼯作的⼩时数的⼀个好的例⼦。
象函数⼀样,操作符的⽂档也能通过PDSY 和PE04找到。
操作符能被放在2个不
同的组-他们分布⽤来决策和操作⼯资类型。
有些操作符刚好适⽤这2个组。
操作⼯资类型
在规则中使⽤⼯资类型就好像在ABAP 中使⽤内表。
函数通过把表的每⼀⾏⼀次
性都放在‘头’空间来循环调⽤规则(PIT ,PRT ,P0014或其他)。
在头空间使
⽤⼯资类型,完成以后在把它加回表中。
MULTI, DIVID 这些操作符让你将⼯资类型中的两个字段相乘并将结果保存在第三个
字段中。
能使⽤的字段是AMT ,RTE 和NUM 。
MULTI RNA 将⽤⼀个数乘
以⽐率并将结果保存在amount 字段。
DIVID ANA 将⽤⼀个数除amount
字段并将结果保存回amount 字段。
NUM, RTE and AMT 这些是⾮常基本的也很强⼤的操作符,它们能操作他们各⾃字段的内
容。
很⼤情况会⽤到这些操作符,F1帮助⽂档是很有⽤的。
基本情况
下,设置值NUM=1 或者AMT=2.50,但这不是⼀个好的实践⽅法。
⽽使
⽤常数-在表T511K 中创建名叫ZNUM 的常数,并使NUM=KZNUM(把
number 字段的值赋给常数ZNUM)。
因为常数是根据⽇期有效的,⽽规
则不是,这样当数值需要改变时使你更灵活地改变。
你可以设置⼯资类型的头的字段等于另外⼀个⼯资类型中对应的字段
-AMT=E9XXX 是使amount 等于RT ⼯资类型9XXX 中的amount 字段。
当且仅当IT 中的9XXX ⼩于amount 域的值时,AMT<9XXX 将amount
域设置为IT 中的9XXX (取两个值中的较⼩者)
最后,你可以使⽤值上的算法。
RTE*100是rate 字段的内容乘以100
并把结果保存会rate 字段。
AMT*KZNUM 是amount 字段被常数ZNUM 中
的值相乘,ZNUM 中的值可以是任意数。
ADDWT ⾄此,我们已经使⽤MULTI,DIVID,AMT,RTE 和NUM 设置我们的⼯资类
型的值。
ADDWT 将头中的⼯资类型转不改变值或改变值后移到其他的
表。
ADDWTE*是不改变⼯资类型的数值加到RT 中。
ADDWTE9XXX 将它重
命名为9XXX 然后转移到RT 中。
⽤F1帮助⽂档将告诉你所有这些你能
转移到的表。
ELIMI and RESET 裂⽚是⽤于将⼯资类型连接到⼯资中其他表的属性。
有时你在做某个
规则时不得不移除某个裂⽚-这就是ELIMI 做的(ELIMInate 裂⽚)。
在删除⼀个⼯资类型的裂⽚后,你可以使⽤RESET 重新保存他们。
⼀
般来说,你应该避免删除裂⽚-因为这可能导致⽐率和报表出错。
所
以使⽤和测试时要⼩⼼。
FILLF 这个简单的操作符能重置wagetype 域的值。
例如,FILLF A 是在规则
第⼀次被调⽤时将amount 重置回原来的值。
这⾥你将把把所有这些操作符集合在⼀起在基本⼯资的基础上计算固定⽐例的
扣除数(有⼏种⽅法计算,这⾥仅介绍⼀种)。
假设基础⼯资在IT 值,⽐率作
为⼀个完整的数保存在常数ZNUM 中,你制定了⼀个规则包含了⼯资类型****和
基础⼯资,在这个例⼦中⽤‘OBAS ’。
扣除的部分将是4XXX 。
所以,在这个模
式中我们将在规则Z001中执⾏⼀个PIT :PIT Z001。
在规则中:
⼯资类型****:ADDWT *(如果它不是OBAS ,我们就不改变它)。
规则类型OBAS :ADDWT*, NUM=KZNUM,MULTI ANA, AMT/-100, ADDWT 4XXX(将OBAS
传到输出表,这样我们就不会丢失它了,设置number 域等于常数ZNUM ,⽤amount
乘以number ,因为我们将百分⽐作为⼀个完整的数保存并且我们希望这个扣除
数是负数,所以⽤-100除amount ,并把结果作为⼯资类型4XXX 保存。
决策
很多次我们只需在某种条件存在时执⾏某个动作-⽐如,我们只想为某种员⼯计
算扣除数4XXX 。
在这种情况下,我们必须选择什么时候执⾏这个动作。
Decisions 将结果放⼊称为变量的键中-这就象⼀个带有通配符的描述。
如果我
们把公司代码放在⼀个变量键只,那么含有1234的⾏将为公司1234执⾏,含有
2***的⾏将为任何以2打头的公司执⾏,⽽****将为所有任意匹配的公司执⾏。
OUTWP 这个操作符使我们在基于⼯资中的WPBP 表中的各种数据元素做出决
策-粗略地只有信息类型0和1数据。
通过F1帮助⽂档,可以看到许
多的元素。
例如,通过OUTWPCOMPY 可以查看公司代码,它把company
code 域的内容芳到变量键中。
VAKEY 象OUTWP 这个操作符是把某个数据放在变量键中,可以看F1帮助查看
各种可能性。
NUM, RTE and AMT 作为decisions ,他们⼜出现在这⾥。
如果⽤AMT?0,它将amount 域的
值与0⽐较然后返回>,<,或=.你也可以⽤上⾯提到的概念将它与⼀个
常熟或另外⼀个⼯资类型进⾏⽐较。
VWTCL 这个操作符为当前的⼯资类型返回某个处理类的值。
例如,VWTCL 93
将处理类93的值放在变量键⾥。
规则X023是如何使⽤处理类值的⼀
个好例⼦。
在前⾯的例⼦中,我们给每个基本⼯资类型OBAS 的员⼯计算扣除数4XXX 。
使⽤
OUTWP 你可以决定只计算在某个⼈事范围/⼦范围或员⼯⼦组的员⼯。
假设你想
计算在信息类型14或15已经进⼊⼯资类型4XXX 的员⼯。
假设已经进⼊⼯资类
型,信息类型的number 域也有要求的数据,你需要做以下步骤:
⼯资类型OBAS:ADDWT *, NUM=4XXX, 在NUM?0做选择,如果是=(等于),就什么也不做,否则( * 条件)执⾏
NUM=KZNUM,MULTI ANA, AMT/-100, ADDWT 4XXX.这取决于在这点你的⼯资类型裂⽚是如何组织的,你可能想在
NUM=4XXX之前ELIMI R,在ADDWT 4XXX之前RESET R。
正如前⾯提到的,这仅仅是隔靴搔痒。
当配置薪酬时你不能仅关注某个问题,⽽应该理解所有的部分并⼒求最好的配置。
你有许多的⽅法组合函数,操作符,处理类和常数等。
SAP 已经为薪酬创建了灵活的功能强⼤的配置模型。
当使⽤正确时,许多⼯作就已经完成好了,当使⽤不正确时,发现它会引起困惑并且导致不稳定。
所以要好好的测试你的配置并以⽂档形式记录你的配置。
SAP Payroll Basics - Part 2
在前⾯的例⼦中,我们给每个基本⼯资类型OBAS的员⼯计算扣除数4XXX。
使⽤OUTWP你可以决定只计算在某个⼈事范围/⼦范围或员⼯⼦组的员⼯。
假设你想计算在信息类型14或15已经进⼊⼯资类型4XXX的员⼯。
假设已经进⼊⼯资类型,信息类型的number域也有要求的数据,你需要做以下步骤:
⼯资类型OBAS:ADDWT *, NUM=4XXX, 在NUM?0做选择,
IF:如果是=(等于),就什么也不做,
ELSE:否则(_*条件)执⾏NUM=KZNUM,MULTI ANA, AMT/-100, ADDWT 4XXX.这取决于在这点你的⼯资类型裂⽚是如何组织的,你可能想在NUM=4XXX之前ELIMI R,在ADDWT 4XXX之前RESET R。
正如前⾯提到的,这仅仅是隔靴搔痒。
当配置薪酬时你不能仅关注某个问题,⽽应该理解所有的部分并⼒求最好的配置。
你有许多的⽅法组合函数,操作符,处理类和常数等。
SAP已经为薪酬创建了灵活的功能强⼤的配置模型。
当使⽤正确时,许多⼯作就已经完成好了,当使⽤不正确时,发现它会引起困惑并且导致不稳定。
所以要好好的测试你的配置并以⽂档形式记录你的配置。
下⾯是对模式CN28的部分简单阐述:
BLOCK BEG *Payroll schema:CHINA
COM ⼯资模式:中国标准
COPY XIN0 初始化⼯资
COPY CNBD 编辑基本数据(中国)
IF SPRN 特别处理运⾏??⾮周期性⽀付?
RERSH IT 删除IT(删除内表)
ENDIF 到:特别处理运⾏?
COPY XLR0 导⼊上⼀期⼯资结果
COPY CNT0 ⼯资总额(读⼊时间数据)
COPY CNAP 导⼊扣减(0014、0015导⼊)
COPY CNAL 确定每个⽉的扣减因⼦
COPY CNNG 净⽀付(净⼯资)计算(中国)
COPY XNA0 累计净⽀付的值
COPY XRR0 回溯(反算)
COPY XNN0 净⽀付/扣减和传输
COPY CNEN 最后处理
BLOCK END *中国⼯资核算
----------------------------------------------------------
函数(Function)
BLOCK
描述:BLOCK函数允许你构造⼀个⼯资核算过程⽇志。
在开始和结束标记点中把⼯资函数按语义顺序聚集在⼀起,且他们出现在⽇志中的⼀个普通节点。
语法:
函数参数1 参数2 参数3 参数4
FUNCTION BLOCK 函数名称
参数1 BEG 开始⼀个语义块
END 结束⼀个语义块
参数2 ⽬前⽆该参数
参数3 ⽬前⽆该参数
参数4 ⽬前⽆该参数
说明:BLOCK函数可以被嵌套,在⼀个⼦模式中,⼀个结束块必须对应⼀个开始块
-----------------------------------------------------------
模式
XIN0 初始化⼯资数据(国际)
⼈员计算模式
重要的信息/事件(开关),哪⼀些有关⼯资核算的进⼀步过程,⼯资运⾏开始在这个⼦模式中指定。
结构:
⼦模式由下述步骤组成:
1、指定程序类型(⼯资核算或评估)
2、设置数据库更新开关(YES/NO)
3、必需的信息类型(导⼊仅仅是schema所需的主数据信息类型)
4、导⼊所有时间信息类型
5、指定检查控制记录PA03(测试或激活⽣产)
参数1 参数2 参数3 参数4 D
COM 注释:⼯资发放核算初始化
BLOCK BEG 块开始:
PGM ABR ⼯资发放的程序类型
UPD YES 更新数据库(是/否)
OPT INFT 只使⽤信息类型的读取
OPT TIME 输⼊全部的时间信息类型
CHECK ABR * 核查PA03(⽣产机去掉*)
BLOCK END 块结束
-----------------------------------------------------------
函数
PGM :识别⼀个⼯资发放的程序类型
PGM函数给⼯资核算驱动提供⼀个⼯资核算的程序类型信息
不同的Schema允许薪资驱动在不同的时间段⾥去执⾏不同的程序,这些⼯资和评估程序哪⼀个在⼯资核算之后运⾏。
这两个类型说明程序现有的⼯资数据
如果⼀个Schema不包含PGM函数,程序是假设(缺省)⼀个发薪程序。
如果⼀个schema包含多个PGM函数,那么最后⼀个是有效的。
语法:
参数1
ABR ⼯资核算
AUS 评估
MIX ⼯资/评估
SP 特殊运⾏,这个特殊的仅仅适⽤于西班⽛和奥地利国家的版本
TRN 遗留数据传输
例:如果你想去创建⼀个⼯资的模式PGM (参数1)ABR
-----------------------------------------------------------
UPD:执⾏数据库更新
函数UPD控制在运⾏⼯资核算后产⽣的结果是否保存到数据库或仅仅在当前显⽰。
参数1作为⼀个开关在⼀个schema之初设置
语法:
Function UPD
参数1
NO 不更新数据库
YES 更新数据库
参数2
参数3
参数4
例:
如果你想去测试⼀个⼯资核素且结果不被更新到数据库UPD (参数1)NO
OPT(Options):你可以使⽤OPT函数去为⼯资导⼊信息类型
语法:
参数1:BSI 已过时
COPL 集成成本计划
DEC ⼩时⼯资>2位数
ENQ 不再使⽤
INFT 必需的信息类型(导⼊仅仅是schema所需的主数据信息类型)
NRC ⽆回溯核算
TIME 读时间信息类型
必需⼊⼝:参数1
注意:
如果你想在⼯资核算中去处理时间管理数据(如:改变⽇程表,缺勤等),在你的schema中OPT函数必需在参数1中包含TIME。
-----------------------------------------------------------
CHECK:在选择雇员之前/之后核查。
函数CHECK完成两个任务
1) 按照schema类型检查规定的时间(期间)
2) 执⾏⼀个整体的检查:
-----------------------------------------------------------
模式
CNBD 中国基础数据
⼯资⼦模式,⼦模式被主模式调⽤
该⼦模式读取国际总⼯资计算(核算)所需的全部基础数据(主数据),基础数据接着被打印到⼯资⽇志(如果program
option=ON).
结构:
该⼦模式由以下主要步骤组成:
1、读取员⼯姓名(P0001-ENAME)
2、从以下信息类型中读有关⼯作中⼼和基本⼯资数据
a) ⼈事事件P0000,
b) 组织分配P0001,
c) 计划⼯作时间P0007
d) 基本⼯资P0008
e) ⼯资维护P0052和
f) 成本分配P0027
3、检查所需的所有主数据可以被⼯资驱动的,否则程序被取消。
4、在⼯资⽇志中打印上述基本数据。
FUNCTIO 参数1 参数2 参数3 参数4 D
COM 编辑基本数据BLOCK BEG 编辑基本数据ENAME 从EE(Infotype0001)中确定名字WPBP 读取⼯作中⼼和基础⼯资数据P0014 CN14 GEN NOAB 为P0014分割WPBP和设置APZNR DATES 读取详细时间数据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 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 above
U Difference table DFT 差异表
W wage maintenance table
X Cumulated tax table SCRT 累积税表
Z Table of time wage types ZL 计时⼯资表
& Variable table VAR 可变表
SAP Payroll Basics - Part 3 (2)
1 ⼯资项(wage type)的分类
1.1 主要⼯资项 Primary wage tapes
主要⼯资项也称为对话⼯资项由⽤户前台⼿⼯输⼊,或通过系统设定的时间来产⽣。
通过复制系统标准的技术⼯资项(模型⼯资项,以M开头,尽量选择接近的进⾏复制)来产⽣主要⼯资项。
primary wage tapes 前台输⼊
1.dialog wage types 前台维护(0008、0014、0015、0267)
2.time wage types 前台可以输⼊也可以不输⼊
3.others:absences(包含在time wage types⾥⾯)
使⽤程序:RPUTRBK0可以修改0003⾥⾯的字段状态
1.2 次要⼯资项 Secondary wage types
次要⼯资项⼜称为技术⼯资项。
每个系统内的技术⼯资项都包含特定含义,⽤户⼀般不可以修改,⽤户可以复制系统标准的技术⼯资项,⽣成⾃⼰需要的技术⼯资项。
secondary wage tapes 后台⼯资项,不能维护,也叫技术⼯资项
/0(⼯资标准)打头的⼯资项存放⼩时⼯资和⽉⼯资,同理ERP论坛欢迎您⼯资标准也可以放到⾥⾯,⾃定义/080-/089;/090-/099
V_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步骤,6-8很少需要更改
3 SAP 薪资概念 The SAP payroll concepts
1、 Identity the sap payroll concepts
2、 Define sap schemas
3、 Define personnel calculation rules
SAP HR⼯资项
SAP HR⾥的⼀部分⼯资项总结在⼀个表格⾥⾯,既不全⾯,也不专业,放在下⾯,供⼤家学习:。