信息类型是SAP HR模块数据单元,用于对人员数据的记录和维护,是HR的基础。信息类型按照其创建方式的不同可以分为:人事信息类型、组织信息类型。信息类型数据的维护主要在事物码PA30、PA40、po10、P013 中进行。
1 信息类型的创建
信息类型的创建涉及到的两个事务码:PM01,PPCI。分别对应人事主数据与组织、职位主数据的增强。
1.1 人事信息类型在生成时,系统会自动生成2000、1000、3000等屏幕,以及相应的类,和PR模块。其中2000屏幕是我们在PA30中(对人
事信息类型来说)编辑或查看时看到的屏幕,一般做好信息类型增强后需要对2000屏进行修改,像设置下拉框、设置单选按钮组、制作树
型结构F4等;3000屏为列表屏幕,是我们点击“概览”时所看到的屏幕。PR模块用于信息类型的显示。
1.2 组织信息或职位信息类型,有时需要创建7000屏,也就是我们常见的PPOSE屏,这个屏幕可以在生成信息类型时直接在PPCI里生成
(点击菜单栏中,信息类型—创建子屏幕 即可,当然逻辑流要与2000屏的逻辑流保持一致)。
2 人事信息类型的创建
2.1 创建信息类型
HR本身提供一些常用的信息类型,但当有特殊的需求时需要进行信息类型的创建。自己创建的信息类型编码是以‘9’开头的四位数字,其他数字开头的信息类型为系统自带的。像9025、9195、9135等。创建步骤如下(以9001为例):TCODE PM01
PM01——》创建IT——》输入9001——》选择PS结构——》编辑,进入ps9001编辑界面。
维护后点击 ;
信息类型增强时,需要创建一个结构,用于说明该信息类型有哪些字段,结构的名称格式为:”PS+信息类型” 。实例结构如下:
保存,激活后返回PM01界面,点击生成对象,同前。
2.2 维护信息类型特征:
系统会按照你提供的字段生成2000屏、3000屏;其中2000屏为我们在PA30中进行维护(查看)时展现出的屏幕,3000屏即列表屏,当我们选择概览时的所看到屏幕。
详细设置如下:(我们可以通过SM30维护V_T582A中信息从而实现对信息类型的属性的维护)
维护完保存,进入PA30,效果如下:
信息类型自动生成完成。由于屏幕是自动生成,屏幕中的所有字段均由结构中的字段生成。所以需要对屏幕进行修改。(像:屏幕字段描述的修改、F4帮助、下拉列表等)
2.3 增强单个屏幕
当某些信息类型的字段不能满足当前的业务需求时,需要对这个信息类型进行增强。单个屏幕增强的步骤如下(以信息类型0529为例)。
PM01——》单个屏——》信息类型号0529——》客户包含——》编辑,这时进入CI_P0529结构的创建。
CI_0529结构中的字段即为需要在屏幕中增强的附加字段。CI_0529结构如下:
创建完成后,保存,激活,回到PM01初始界面,点击生成对象,这时系统会给出一系列提示消息框,不要理会,点确定直到不出现。这时相关的屏幕、结构、表都已经创建完毕,但要在前台界面显示出来还需做一定的设置。
PM01——》分配增强——》新条目。
维护好之后,保存,退出,现在可在事务码PA30里看到效果了。
注: 屏幕自动生成的字段的输入/输出以及可修改性是可以在屏幕修正(v_t588m/t588m)里进行设置。
3 组织职位信息类型的创建
3.1 创建信息类型
组织信息信类型的创建TCODE为:PPCI
信息类型以9开头,最好与人事的信息类型编码区分开。
首先要创建HRIXXXX结构。SE11 根据业务字段进行HRI结构的创建.(在创建组织信息类型时要,收集好需求,避免遗漏字段。组织信息类型后期删除比较麻烦。)
创建信息类型 PPCI
进行检查
生成信息类型
维护信息类型视图(SM30 —— T777I),维护时间限制和信息类型类型
组织职位中子屏幕(7000)屏幕的创建
进入PPCI,填写信息类型,点击创建,点击菜单栏中的“信息类型”,选择“创建子屏幕”。
创建完子屏幕后,对新生成屏幕的逻辑流及屏幕进行修改。
4 HR出口(CMOD)增强
HR出口增强中常用的 方法有:
1、 cl_hr_pnnnn_type_cast=>prelp_to_pnnnn “ 获取数据
2、 cl_hr_pnnnn_type_cast=>pnnnn_to_prelp “写入数据
HR中常用的BADI
1、HRBAS00INFTY “ 作用于 OM
2、HRPAD00INFTY “ 作用于 PA
原始字段描述修改增强
1、 CMOD
HR程序开发
HR程序开发如其他模块开发有些不同。主要是因为HR模块中引入了信息类型、逻辑数据库和宏。
2.1 逻辑数据库
HR中常用的逻辑数据库为:PNP、PCH、PNPCE、PAP,其中PNP及PCH用的最多。PNP 用于获取人员信息,PCH用于获取组织信息。
2.2 Provide
PROVIDE常用于HR的取数中。
一般provide和end provide用于处理时间限制是1和2的infotype.会一笔一笔的循环该infotype.provide endprovide 会将符合条件的记录进行分段,因此会改变pnnnn-begda 或 pnnnn-endda 的值,使用时要注意。
2.3 HR报表常用的宏
1、rp_provide_from_last 用于获取信息类型中的最新的一笔数据
2、rp_provide_from_frst 用法与rp_provide_from_last 相同,用于获取信息类型中的第一笔数据
与HR相关的FM
1、RH_STRUC_GET 用于获取组织单元下的职位及人员信息
2、CU_READ_RGDIR 薪资报表中用于获取期间
3、PYXX_READ_PAYROLL_RESULT 根据索引号得到工资数 一般与CU_READ_RGDIR一起用
4、RP_LAST_DAY_OF_MONTHS 获取一个月的最后一天
5、HR_GET_TIME_BETWEEN_DATES 获取日期 年月差
6、RH_OBJID_REQUEST 获取组织对象
7、HR_HCP_READ_OBJECT_TEXT 获取对象文本
8、RP_HIRE_FIRE 获取0041中的日期
9、HR_AUPBS_AGE 计算员工年龄