关于SAP系统的HR模块国内典型用户:三资部分:SAP,Volkswagen,Microsoft,Bosch,Siemens,AMD,AMECO,AT&S,Metro, Samsung,Basf,Shell,Tyco;内资部分:联想,万科,招商银行,浦发银行,中石化,中石油,中国电信(网通被Oracle抢了,中海油,养生堂,同洲电子,上海电力,邯郸钢铁;子模块:PA(Personnel AdministrationOM(Organizational ManagementPT(Personnel Time ManagementPY(PayrollPD(Personnel DevelopmentCompensationBenefitsRecruitment(ore-RecruitingTE(Training & Event Management,ore-LearningESS&MSS(Employee Self-Service,Manager Self-ServiceIncentive WageShift Planning(with PP通常国内用到的模块:PA,OM,PT,PY(号称"四大"一、PAPA基本上就是涵盖各个方面的员工主数据,PA有两个基本概念:lnfo type和Action 。
Info type是一类相关信息的集合,用四位数字为代码,例如:0001组织分配,0002 个人基本信息,0006地址,0008基本工资,0021家庭成员,每个Info type其实就是一个table,table里有很多字段,比如"0002"这个Info type里有的字段:姓/名/称谓/别名/婚姻/宗教/性别等等,同一个Info type 可以根据人员不同国家呈现不同的屏幕,并且某些Info type是特定国家专用的,比如中国专用的"个人所得税/社保/公积金/政治面貌/档案"等。
"身份证号"这个Info type 各国都会用,但是每个国家的编辑屏幕不一样。
Action表示一个人事事件,例如雇佣/离职/升迁/跨公司转移等,按照SAP的逻辑, 一个Action 会引发一系列特定的Info type 的增减或变更,Info type 的变更也应该有一个Action 作为其缘由,所以要把相关的Info type 按照特定顺序组合起来,在给员工执行Action的时候,这些Info type会按顺序逐个呈现,用户在前台逐个维护这些信息举个简单的例子,用户在执行"雇佣"这一Action后,系统会接连调出Info type:个人信息/组织分配/地址/排班/基本工资/银行/休假定额,用户在前台把这些信息逐个维护直至完毕。
而所执行的Action也被记录于Info type0000中。
这一系列Info type和对Info type 的操作(创建/修改/删除/终止的组合称为Info group」nfo group被分配给Action。
HR 的每个Info type 都必须指定有效期,有的Info type 有重叠或间断,用户可以自己定义每个Info type的"time constraint",常用的有三种:1.无间断无重叠;2.有间断无重叠;3.有间断有重叠,以业务为例,"基本工资"这一Info type的time constraint=1某人在某一时点必须且只能有一条记录,如果在 1 月8号给员工修改"基本工资",原有的记录就被掐断(即终止于1月7日这一天,SAP叫做Delimit。
Time constraint=2的例子:配偶,员工可以有配偶可以没有配偶,但如果有配偶只能有一个,timeconstraint=3的例子:子女,某人可以没有子女,可以有一个子女,可以同时有几个子女。
某些Info type可以有Subtype,Subtype的表结构完全继承于Info type,只是用来细化和区别具体的Info type,例如:"0021家庭成员"这个Info type可以有"配偶/子女/ 父亲/母亲/兄弟姐妹"这些Subtype,这些都是可定义的,当某个Info type或者Subtype 在同一时间有多条记录时,再用"Object ID"作为索引来区别,例如某员工在同一时间有三个子女‘"Object ID"分别为1,2,3在允许"一夫多妻制"的国家也可以用"Object ID"来指代同时拥有的多个配偶。
二、OMSAP的OM是基于对象的结构,每个业务单元都被描述成一个对象(Object,常见的有:Position(岗位,Org Unit(部门Job工作,Cost Center(成本中心,Person人,即PA 里的Employee,Task(任务,Qualification(资格等,由唯一的8位数字表示,各个对象之间建立起来的联系称为Relationship,Relationship是自动双向的,由字母A或B加3个数字表示,比如说你分配某个Person占据了某个Position,系统创建RelationshipB008保人占据某岗,同时创建RelationshipA008(某岗被某人占据删除或者修改一个Relationship时,对应的双向Relationship自动更新。
各类Object允许的Relationship可以配置,各Relationship 允许的time constraint也可以配置,Object和Relationship都需要指定有效期,两个Object之间Relationship的有效期不可以大过Object本身的有效期。
Position是连接PA和OM的重要纽带,在SAP-HR里,某Person并不是直接属于某Org Un it,而是因为这个Perso n占据了某Positio n而这个Position属于Org Un it,因而这个Person被连接到该Org Unit,Person同样以这样的方式获得Job,Cost Center 的属性。
面向对象的架构使得SAP里可以建立完全立体的组织架构,避免了平面/梯级架构的层数限制。
用户可以通过"Root Object + Evaluation Path'来呈现组织结构里的对象和关系’Evaluation Path通常被叫做"评估路径",就是各种Relationship的集合。
SAP会从根对象开始寻找有指定关系的所有其他Objects,再从找到的其他Objects 开始寻找,如此一层一层往下寻找一直到找不到为止,当然,用户也可以预先限定需要寻找的层数。
似乎SAP 对矩阵组织(Matrix 的支持方式不是很好。
OM的一个重要的功能是做结构化授权(Structural Authorization,顾名思义,结构化授权是区别于PFCG授权的,直接以组织结构为对象的授权方法,可以让User ID 只能显示或维护某些特定的Objects例如,通过”根对象+Evaluation Path某经理只能观看所在部门的岗位、员工等对象信息。
在实施结构化授权时,可以在权限档案里直接维护Object的代码,也可以维护”根对象+Evaluation Path可以将权限档案赋给某个User ID,或者赋给某个员工号或者岗位,再通过员工号或岗位与User ID连接,这样的好处是,如果部门经理经过调动,只要在HR里正常维护这一调动事件,其User ID 的权限会自动更新到新的部门,而不需要维护其权限档案。
在实施Workflow的环境下(无论SAP自己的还是用户开发的,0M通常也被用来作为Workflow 的组织结构。
三、PT从PT开始,HR的技术特征逐渐增强,HR的事务性业务本身复杂无规律以致难以标准化,典型的比如对排班考勤的处理、考勤对薪资的影响。
为了更加灵活地满足多样的需求,SAP在PT和PY里运用了Schema的概念,考勤数据和工资均由专门程序来处理,而schema就是程序运行时所依据的准则,比如说:某些员工计加班/某些员工不计加班/什么情况下算缺勤‘Schema会按照设定的规则,调用主数据/配置表/历史结果,经过几千步的运算后返回结果。
用户可以根据自己的需求修改SAP自带的Schema按照自己的独特规则处理考勤和计算工资,但是修改Schema是一个很有技术难度的事情。
事实上Schema可以理解为"业务上的编程",SAP已经提供了成百上千的Rule/Function/Operation,正是这三者构成了完整的Schema每个Rule/Function/Operation都有其独特的结构和功能,用户只需要按规定格式填写需处理的对象(time type,wage type,日期,主数据,判断标准等。
可以将Schema/Rule/Operaio n/Fu nction理解为圭寸装好的、面向业务对象的、专用的超级函数。
强大可配置选项+完善的国家版本+巨大函数库,在处理时间及计算工资时,基本上只有想不到,没有做不到(给SAP做个广告。
当然,为了保证系统的连续和完整,这些东西改的越少越好。
排班计划(Work Schedule Rule即每周期内每天的工作起始时间、休息时间,SAP 支持弹性工作制,但是弹性工作制也要限定每天的必须工作时间和周累计工作时间。
Work Schedule Rule可以根据工作日、假日、周末分成不同day type和class可以轻松处理夜班津贴、假日津贴等考勤方法,SAP提供两种思路:正向考勤(Positive 和逆向考勤(Negative在员工主数据里指定员工使用正向还是逆向考勤,所谓正向,是指记录员工所有的出勤数据,未记录的视为缺勤,所谓逆向,是指只记录有Work Schedule有差异的考勤信息,未记录的系统视为符合Work Schedule不做专门处理, 可见,逆向考勤是对用户和顾问都比较方便的方法。
SAP本身不是考勤软件,也不附带任何考勤硬件,只是有考勤数据处理功能,将考勤数据导入SAP,需要经过专门接口(SAP 有标准程序,或者手工Batch Input。
缺勤与缺勤配额,SAP叫做Absenee和Absenee Quota分别存于员工的主数据2001和2006每个缺勤类型就是一个Subtype比病假、年假、事假等,有些缺勤是有额度的比如年假,只能在年假额度里扣,而年假额度存储于Info type2006中,当Info type2006中的相应额度用完,此年假在2001中就不可输入(也可以配置成允许额度为负,如果有剩余额度,可以按比例结转下期,或者用薪资补偿。