- 名词介绍
名词 |
描述 |
信息类型 |
区分组织管理中的不同信息,例如组织关系、党组织信息、股权信息等等。 |
对象 |
SAP对HR日常业务中涉及到的人、部门、岗位等等的抽象,每个对象会对应一个编号,用于唯一标识。例如,员工编号。 |
组织单位 |
对应企业和企业所管理的部门的抽象。标识符为O |
职位/岗位 |
对应企业中的职位和岗位。标识符为S |
人员 |
对应企业的员工。标识符为P |
职务 |
对具有相同属性的职位的抽象。对应标识符C |
|
|
- 组织架构基本信息
OM主要是用于管理公司的组织架构、岗位设定、人员分配等,常见有:
l 组织单位(O) - 定义一个管理组织单元(例如XXX集团、XXX部门)
l 职位(S) - 定义一个职位单元(例如总经理、助理)
l 职务(C)- 对具有相同属性的职位的抽象(例如:开发人员)
l 人员(P)- 对应一个员工编号
一般情况下,一个组织单位下可包含多个组织单位和职位。每个职位分配给一个人员(也可能会有一岗多人的情况)。
OM中大部分的事情都是围绕这颗树在进行(也可能有其它的体系架构数)。
- 数据表特性
数据表构成分为4个部分:
l 主键区域,一般引用结构HRIKEY,所有的OM表都是相同的。
l 控制区域,一般引用结构HRIADMIN,所有的OM表都是相同的。
l 信息类型主数据,结构名称为HRI+信息类型编号
l 可增强区域,结构名称CI_P+信息类型编号。所有带有CI_PXXXX的信息类型原则上都是可以增强,通常只有标准的OM信息类型才具备CI_PXXXX这个include。
- OM架构搭建
OM各对象之间均使用对象间关系实现架构搭建,关系规格包含两种:
关系由两部分组成:关系方向/关系类型 + 对象关系
关系方向包含:
l 自上而下 - A
l 自下而上 - B
意思就是包含和被包含的关系(所站的角度不同)。
而对象关系包含非常之多,例如003代表组织单位与职位之间的关系。
一般情况下,当创建关系数据时,标准都会在双方的关系数据中产生正向关系和反向关系数据。
例如:
组织单位60002457领导班子 包含 职位90024810 总经理。
在组织单位的关系中:(事务代码PO10)
在职位的关系中:(事物代码PO13)
注:理解关系的概念可以熟练的根据需求获取相应的数据。
- 常用的对象关系
对象关系 |
描述和作用 |
002 |
报告到,即组织单位上下级关系,主要是O和O之间的关系。 |
003 |
属于,表示O和S之间的管理关系。可理解为该组织单位O下有哪些职位S,或者是该职位S直属于哪个组织单位O。 |
012 |
管理,表示该组织单位O的管理职位S是哪个(或者哪些)。 |
008 |
持有人,表示职位S和持有人P的关系 |
007 |
描述,表示职位S和岗位描述C之间的从属关系。一般情况下,一个职位只有一个岗位描述,而一个岗位描述对应多个职位。 |
|
|
- 评估路径
SAP是通过对象与对象之间的关系数据来实现整个架构的搭建,在实际应用和报表开发过程中,常常需要通过某个对象获取指定的某类对象集,可能会有多层次的嵌套。例如,某需求需要读取组织单位60002456(xxx有限公司)下的所有员工。其取数逻辑非常复杂。因此SAP引入了评估路径的概念。
评估路径实际上就是一类关系取数集合:
而上述的需求对应的评估路径O-O-P。
用途:
l 数据定向读取
l 结构化权限控制点
在开发过程中,会使用函数RH_STRUC_GET来读取评估路径数据。
此时函数会返回所有组织单位60002456下的组织单位、职位和人。
配置路径:
SPRO/人事管理/组织管理/基本设置/维护评估路径
常用的评估路径有:
评估路径 |
用途 |
O-O_DOWN |
读取组织单位下所有的组织单位 |
O-O-S |
组织单位下所有的职位 |
O-O-P |
组织单位下所有的员工 |
O-O |
组织单位的直属上层组织单位 |
S-O |
职位直属部门 |
P_S_S_C |
人员相关的职位职务信息 |
P-S-C-O |
人员相关的职位职务组织单位信息 |
P-S-O-O |
人员的组织架构信息(完整) |
注:合理的利用评估路径可以极大的简化代码量。
- RH_STRUC_GET使用
这个函数主要用于根据评估路径读取各种所需的组织架构信息。
ACT_TYPE 对象类型,可以是O – 组织单位,S – 职位, P – 人员
ACT_OBJID 对象编号,比如组织单位、职位编号、员工编号
ACT_WEGID 评估路径
ACT_PLVAR 计划版本,一般为01 – 当前计划(正在使用的)
ACT_BEGDA 有效开始日期
ACT_ENDDA 有效结束日期
ACT_TDEPTH 取数层级,默认为0(取全部层级),依次可为 1,2,3,4,….层级。
RESULT_TAB 返回结果所有对象
RESULT_OBJEC 返回结果所有对象对应的基础信息(例如:文本信息)
RESULT_STRUC 返回结果中所有对象的层次架构关系
实际开发中,可根据PUP(对应SEQNR)字段判断直属上层对象是哪个。在层级关系中比较实用。
- OM核心数据表
表名 |
用途 |
HRP1000 |
对象定义表,如果要取对象的描述,一般从此表读取, 不可增强 |
HRP1001 |
对象关系表,不可增强 |
HRP1002 |
对象的描述信息,信息文本存储于HRT1002中。不可增强 |
HRP9XXX |
自定义 |
- OM权限管理
OM权限管理不仅包含标准的权限管理,还包含基于组织架构的权限控制 – 即结构化权限。
配置路径:
区别于常用的PFCG权限控制模式,结构化权限控制以组织结构对象为控制对象,并可以控制评估路径(根据评估路径,可获取不同的结构化数据)。然后再分配给特定的人员。权限控制更为精准的方便。
人工检查组织架构权限函数:
RH_STRU_AUTHORITY_CHECK
- 时间限制
对于信息类型内数据的时间,系统需要设置时间限制,一般包含:
0 可以仅存在一次
1 没有间隔
2 具有间隔
3 与需要的一样频繁
- 组织单位、职位和职务文本描述
在组织管理OM和PA人事管理两个模块中,组织单位、职位和职务的文本描述是相互分开的。
模块/文本类型 |
组织单位 |
职位 |
职务 |
OM |
HRP1000-STEXT |
HRP1000-STEXT |
HRP1000-STEXT |
PA |
T527X-ORGTX |
T528T-PLSTX |
T513S-STLTX |
通常情况下,在创建/修改组织单位、职务、职位时,会同步修改PA的对应表中的描述。
注:在OM的组织、职位、职务创建/修改开发过程中,在使用BDC时,可能会出现两边未同步的情况,此时可通过调用事物代码S_PH0_48000125或者S_PH0_48000126来实现同步。同时需要检查bdc的参数(应该是bdc的racommit参数引起的)。
- 主要的事务代码
事务代码 |
用途 |
PO03 |
职务及关系维护 |
PO10 |
组织单位即关系维护 |
PO13 |
职位及关系维护 |
PPOME/PPOM/PPOSE |
组织单位分配和工作人员分配 |
PP01 |
对象信息维护。 |
PP02 |
对象信息维护(专家模式),每次仅能维护一个信息类型。 |
- 相关函数
函数 |
描述 |
RH_CLEAR_BUFFER |
清空缓存 |
RH_DELETE_INFTY |
删除信息类型数据 |
RH_INSERT_INFTY |
信息类型插入数据 |
RH_UPDATE_INFTY |
更新信息类型数据 |
RH_UPDATE_DATABASE |
提交数据库。如果上述delete/insert/update需要整体提交,可在调用时设置参数VTASK = ‘B’。然后调用该函数进行提交。 |
RH_READ_INFTY_NNNN |
读取OM信息类型数据 |
RH_STRU_AUTHORITY_CHECK |
OM结构化权限检查 |
RH_BASE_AUTHORITY_CHECK |
基本权限检查 |
RH_STRUC_GET |
根据评估路径读取指定OM架构信息 |
HR_ENQUEUE_OBJECT |
锁定待操作的OM对象 |
HR_DEQUEUE_OBJECT |
解锁 |
- 更新模式介绍
拿RH_INSERT_INFTY举例,其中参数VTASK有如下几种
VTASK |
介绍 |
S |
同步模式,其实这个描述不正确,应该是实时更新模式。具体来说,当更新完成后,系统会自动调用COMMIT WORK and Wait 直接提交。不受参数COMMIT_FLG的制约。 |
V |
异步更新,更新完成后,系统会判断COMMIT_FLG是否设置,如果设置会设置COMMIT WORK。然后继续执行,不会等待更新是否完成。 |
B |
更新buffer,需要调用函数RH_UPDATE_DATABASE进行提交数据库操作。可用于每次更新多信息类型数据的需求。 |
D |
Dialog模式,受COMMIT_FLG制约。看代码,好像和S 和V后台都差球不多 |
关系图(实例):
标签:OM,HR,组织,职位,单位,对象,SAP,RH From: https://www.cnblogs.com/ZJY-1314/p/18262379