
1. 纲要 1
2. 具体内容 2
2.1. 在VB和Notes中调用BAPI 2
2.1.1. BAPI 2
2.2. HR业务知识 2
2.2.1. 人事管理 2
2.2.2. 组织管理 3
2.2.3. 时间管理 4
2.2.4. 薪资核算 5
2.2.5. 招聘管理 6
2.2.6. 培训管理 7
2.2.7. 绩效考核 7
2.3. HR编程 7
2.3.1. 术语 7
2.3.2. 逻辑数据库 9
2.3.3. 常用表 9
2.3.4. 常见语法和Function 10
2.3.5. HR的PAYRESULT 20
1.纲要
工作总结:
一、编写报表程序:直管人员花名册
二、编写Smart Form:财务会计打印凭证
三、学习了HR业务知识
四、学习HR350
五、练习从VB和Notes中通过OCX调用BAPI
六、准备Info Pak培训
下周计划:
一、继续学习和研究HR模块的编程。
二、学习FICO模块业务知识。
2.具体内容
2.1.在VB和Notes中调用BAPI
2.1.1.BAPI
2.2.HR业务知识
2.2.1.人事管理
常用Tcode
| PA30人力资源>行政事务>人力资源主数据>PA30 人事事件 | 人力资源主数据-用于单独维护某个信息类型,如修改员工姓名、增加职业资格等。 |
| PA40人力资源>行政事务>人力资源主数据>PA40 人事事件 | 人事事件-用于执行特定的人事流程性工作,如员工入职、退休等,流程中会涉及多个信息类型的修改、增加工作。 |
2.2.2.组织管理
常用Tcode
| PP03人力资源->组织管理->工具->对象->动作 | 创建组织单元 |
| PO10人力资源->组织管理->专家模式->组织单位 | 修改组织单元 |
| PP03人力资源->组织管理->工具->对象->动作 | 创建职务 |
| PO03人力资源->组织管理->专家模式->职务 | 修改职务 |
| PP03人力资源->组织管理->工具->对象->动作 | 创建职位 |
| PO13人力资源->组织管理->专家模式->职位 | 修改职位 |
| PPOME人力资源->组织管理->组织计划->组织和人员配备->更改 | 更改组织和人员分配 |
计划版本:系统中可以维护多套组织结构版本,唯一有效版本是01。
2.2.3.时间管理
常用Tcode
| PA61人力资源>时间管理 >行政事务 >时间数据>维护 | 维护时间数据-维护员工工作计划,休假信息。 |
| PA30人力资源>行政事务>人力资源主数据>PA30 人事事件 | 维护产假续假期间扣减比例 手工维护缺勤扣减 |
2.2.4.薪资核算
常用Tcode
| PA30人力资源>行政事务>人力资源主数据>PA30 人事事件 | 人力资源主数据-薪资维护 |
| PC00_M99_PA03_RELEA人力资源>工资 >亚洲/太平洋 >中国>工资核算 > - 发布工资核算 | 核算薪资 |
| PC00_M99_PA03_CHECK人力资源>工资 >亚洲/太平洋 >中国>工资核算 > 检查结果 | 修正薪资数据 |
| PC00_M99_PA03_END人力资源>工资 >亚洲/太平洋 >中国>工资核算 > 退出工资核算 | 结束薪资核算 |
| PC00_M99_CIPE人力资源>工资 >亚洲/太平洋 >中国>后续活动 >每个工资核算期间>过帐以核算>创建过帐运行 | 执行薪资过账-薪资核算结果过账到财务 |
| PC00_M28_CALC人力资源>工资 >亚洲/太平洋 >中国>工资核算 >起始工资核算 | 发放非周期性支付的奖金-发放非周期性支付的奖金(包括效益月奖/季度奖、效益半年奖、效益年终奖) |
2.2.5.招聘管理
常用T-code
| PBAZ招聘>广告>空缺>显示 | 查看组织管理部分的职位空缺,了解整体招聘需求。 |
| PB10招聘>申请人数据>初始数据录入 | 通过创建、维护申请人数据,将申请人信息在系统中进行管理。 |
| PB40招聘>申请人数据>人事事件 | 通过创建、维护申请人附加数据,将申请人信息在系统中进行管理。 |
| PBA7招聘>申请人活动>传输申请人数据>执行 | 输申请人成为正式员工 |
| PBA8招聘>申请人活动>传输申请人数据>完成活动 | 完成传输申请人成为正式员工的活动 |
常用Tcode
| S_AHR_61011887人力资源>培训和事件管理>设置>当前设置>主数据目录 | 创建业务事件组/业务事件类型-通过创建、维护业务事件组,登记参加人员情况,建立培训业务数据库,实现记录、修改、统计、管理相关单位综合类培训事件的功能。 |
| PSV2人力资源>培训和事件管理>业务事件>业务事件菜单 | 创建业务事件-通过创建、维护业务事件,登记参加人员情况,建立培训业务数据库,实现记录、修改、统计、管理相关单位综合类培训事件的功能。 |
| PV00人力资源>培训和事件管理>出席>登记:业务事件的出席者 | 登记业务时间的出席者-通过创建、维护业务事件,登记参加人员情况,建立培训业务数据库,实现记录、修改、统计、管理相关单位综合类培训事件的功能。 |
| PV12人力资源>培训和事件管理>业务事件>确定的预定/取消 | 确定业务事件的预定或取消-通过创建、维护业务事件,登记参加人员情况,建立培训业务数据库,实现记录、修改、统计、管理相关单位综合类培训事件的功能。 |
2.3.HR编程
2.3.1.术语
信息类型 Infotype
信息类型是4位编码,对应一张物理数据库表。SM30-v_t582a
0-1000 人员信息
1000-2000 职务、部门
2000以上 考勤
4000以上 人事事件
9000以上 自定义
信息类型是基于时间的,一个员工在一张表中可能有多条记录。RP_PROVIDE_FROM_LAST和RP_PROVIDE_FROM_FRST两个宏用于读取。
Join and Time
Infotype三种类型:
1不间隔不重复:组织分配 任意事件点有且只有一条。
2 间隔不重复:婚姻
3间隔重复:孩子
2.3.2.逻辑数据库
逻辑数据库:结构-事件-数据
优势在于:
1.自动产生相应的屏幕和事件。
2.自动检查权限。
3.解决性能问题。
4.数据抓取,于程序。
PNP-人的信息-PNPCE
PCH-组织数据
PAB-招聘用的
2.3.3.常用表
PA表 Personnel Administration 存储Infotype nnnn人事
PB表 Personnel Recruitment存储Infotype nnnn 招聘
P结构
PS结构 如果ABAP字典中定义了许多表或结构,PSnnnn常用作子结构。
PCLn PCL簇 存储Cluster Results 例如:Time Managerment,Travel Management,and Payroll
HRP表 组织 绩效 人员发展
2.3.4.常见语法和Function
INFOTYPES
在GET语句时,填充Pnnnn内表。
例子:
REPORT Z_LF_HR02.
TABLES: PERNR.
INFOTYPES: 0001.
GET PERNR.
PROVIDE * FROM P0001 BETWEEN PN-BEGDA AND PN-ENDDA.
WRITE: / P0001-PERNR,
P0001-STELL,
P0001-BEGDA,
P0001-ENDDA.
ENDPROVIDE.
PROVIDE……ENDPROVIDE
类似Select语句,时间相关
RP_PROVIDE_FROM_LAST,RP_PROVIDE_FROM_FRST,
该宏是在SAPDBPNP中定义的,用于读取这个时间段内最后一条或第一条的信息类型。
宏程序不能调试。
RP_SET_DATA_INTERVAL
该宏是把数据库表PAnnnn中的数据填充到内表Pnnnn中。
RP-READ-T001P
读取人事范围/子范围
({?SYB}="0" OR {ZM_HR_101_ZM_HR_101_PABO01.[ZC_SYB]-[2ZC_SYB]} = {?SYB}) and
(if {?Type}="1" then {ZM_HR_101_ZM_HR_101_PABO01.[Z_GLZJL]-[2Z_GLZJL]}={?ParamValue} elseif{?Type}="2"then{ZM_HR_101_ZM_HR_101_PABO01.[Z_YGYJFL]-[2Z_YGYJFL]}={?ParamValue}
elseif{?Type}="4"then{ZM_HR_101_ZM_HR_101_PABO01.[ZC_SLFW]-[2ZC_SLFW]}={?ParamValue}
elseif{?Type}="5"then{ZM_HR_101_ZM_HR_101_PABO01.[0AGE_RANGE]-[20AGE_RANGE]}={?ParamValue}
else {ZM_HR_101_ZM_HR_101_PABO01.[Z_ZGXL]-[2Z_ZGXL]}={?ParamValue})
HR_READ_INFOTYPE
读取信息类型到内部Pnnnn中
RP_GET_HIRE_DATE
读取雇佣日期
BAPI_EMPLOYEE_ENQUEUE
程序在修改人力资源主数据时锁定当前personnel number
HR_INFOTYPE_OPERATION
更新、拷贝、删除、插入信息类型,自动逻辑检查。
不自动做逻辑检查。
HR_CHECK_AUTHORITY_INFTY
检查用户权限,使用逻辑数据库自动检查权限。
RP_READ_ALL_TIME_TIY 宏
读取时间信息类型时系统资源消耗很大,所以采用MODE N关键字,在GET PERNR时不读取信息类型。在后续程序中用RP_READ_ALL_TIME_TIY读取
RH_READ_INFTY_1001
用于读取对象关系的函数
输入参数有:计划版本PLVAR,对象类型OTYPE(人员是P),对象编号OBJID(人员编号),对象关系SUBTY(从P到S关系为B008,该信息存放在T77AW表中,也可以通过“SELECT * INTO TABLE it77aw FROM t77aw WHERE wegid = 'P-S-O' ORDER BY PRIMARY KEY.”去取得。)
输出参数是一个内表,字段PROZT表示职位所占百分比,SOBID表示职位编码。
CALL FUNCTION 'RH_READ_INFTY_1001'
EXPORTING
plvar = '01'
otype = 'P'
objid = g_objid
subty = 'B008'
begda = pn-begda
endda = pn-endda
TABLES
i1001 = tab_i1001
EXCEPTIONS
nothing_found = 1
wrong_condition = 2
wrong_parameters = 3
OTHERS = 4.
LOOP AT tab_i1001 WHERE sclas = 'S'.
* 取出比例最大的职位
IF tab_i1001-prozt > g_prozt.
g_prozt = tab_i1001-prozt.
g_sobid = tab_i1001-sobid.
ENDIF.
ENDLOOP.
AT关键字
DO关键字
循环域名从DAR01到DAR12。
2.3.5.HR的PAYRESULT
读取PAYRESULT的方法:
1、T-CODE PC_PAYRESULT;2、报表程序H99_DISPLAY_PAYRESULT
RH_STRUC_GET读取Evaluation Path O-S-P
CU_READ_RGDIR、CD_READ_LAST
读取RGDIR
PYXX_READ_PAYROLL_RESULT
