`

SAP HR Schema 详解(二)

阅读更多

ZZ from http://blog.vsharing.com/bluedream/A1150039.html

 

 

在前面的例子中,我们给每个基本工资类型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  可变表

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics