配置指南:关于SAP工资计算操作WPALL的使用问题的探讨
员工在一个工资核算期间(在中国大部分为自然月,以下行文中用月代替工资核算期间)里的在职状态,可以分为以下三种情形:
Case 1、全月在职,即全月的雇佣状态都是3
Case 2、全月不在职,即全月的雇佣状态都是0、1或者2
Case 3、部分在职部分不在职,即这个月的雇佣状态部分期间是3、部分期间是0、1或者2
这种情况包括以下几种情景:
1)当月月中入职
2)当月月中离职
3)当月离职,隔几天后,再次入职。这种情况发生的概率很小,本文不做讨论。
在某些业务场景下,如果我们需要在规则中判断哪一段是第一段、哪一段是最后一段,可以在规则中使用操作WPALL做判断处理。
比如:
1)在十二月,取WPBP最后一段内的基本工资做基数计算13薪;
2)在工资计算时。取WPBP第一段的员工主数据作为判断的依据,计算员工的某个津贴标准。
对于员工全月在职的情形,工资核算时的内表WPBP可以有1到多段,在WPBP表中用分段号(WPBP Split)01、02等标识。
1)假如WPBP只有一段,则WPALL?FRST和WPALL?LAST都返回真值(Y);
2)假如WPBP有两段,则WPALL?FRST对第一段返回真值(Y),WPALL?LAST对第二段返回真值(Y);
3)假如WPBP有三段及以上,则WPALL?FRST对第一段返回真值,WPALL?LAST对最后一段返回真值(Y),对第二段操作WPALL?FRST和WPALL?LAST均返回假值(N)。
对于员工当月月中入职的情形,如果IT0000、IT0001、IT0007、IT0008、IT0027和IT0014在入职后本月内没有变化,则WPBP只有一段(第一段从入职日期开始),则WPALL?FRST和WPALL?LAST都返回真值(Y)。
对于员工当月月中离职的情形,如果IT0000、IT0001、IT0007、IT0008、IT0027和IT0014在当月在职期间没有变化,则WPBP有两段,而不是一段。第一段是在职期间(雇佣状态为3),第二段是不在职期间(雇佣状态为0、1和2),则WPALL?FRST和WPALL?LAST都对第一段返回真值(Y),而不是WPALL?FRST对第一段返回真值、WPALL?LAST对第二段返回真值。
计算规则示例:
D WPALL?FRST
Y 操作1 操作2 ...
N 操作3 操作4 ...
D WPALL?LAST
Y 操作1 操作2 ...
N 操作3 操作4 ...