HR 开发技术(abap 转载)

时间:2021-08-23 12:55:45

HR学习资料

 

1.    纲要... 1

2.    具体内容... 2

2.1.     在VB和Notes中调用BAPI2

2.1.1.      BAPI2

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.      人事管理

2.2.1.1.   常用Tcode

PA30人力资源>行政事务>人力资源主数据>PA30 人事事件

人力资源主数据-用于单独维护某个信息类型,如修改员工姓名、增加职业资格等。

PA40人力资源>行政事务>人力资源主数据>PA40 人事事件

人事事件-用于执行特定的人事流程性工作,如员工入职、退休等,流程中会涉及多个信息类型的修改、增加工作。

 

 

 

 

2.2.1.2.   信息类型

2.2.2.      组织管理

2.2.2.1.   常用Tcode

PP03人力资源->组织管理->工具->对象->动作

创建组织单元

PO10人力资源->组织管理->专家模式->组织单位

修改组织单元

PP03人力资源->组织管理->工具->对象->动作

创建职务

PO03人力资源->组织管理->专家模式->职务

修改职务

PP03人力资源->组织管理->工具->对象->动作

创建职位

PO13人力资源->组织管理->专家模式->职位

修改职位

PPOME人力资源->组织管理->组织计划->组织和人员配备->更改

更改组织和人员分配

 

2.2.2.2.   对象结构

计划版本:系统中可以维护多套组织结构版本,唯一有效版本是01。

2.2.3.     时间管理

2.2.3.1.   常用Tcode

PA61人力资源>时间管理 >行政事务 >时间数据>维护

维护时间数据-维护员工工作计划,休假信息。

PA30人力资源>行政事务>人力资源主数据>PA30 人事事件

维护产假续假期间扣减比例

手工维护缺勤扣减

 

2.2.3.2.   业务流程和信息类型

2.2.4.      薪资核算

2.2.4.1.   常用Tcode

PA30人力资源>行政事务>人力资源主数据>PA30 人事事件

人力资源主数据-薪资维护

PC00_M99_PA03_RELEA人力资源>工资 >亚洲/太平洋 >中国>工资核算 > - 发布工资核算

核算薪资

PC00_M99_PA03_CHECK人力资源>工资 >亚洲/太平洋 >中国>工资核算 > 检查结果

修正薪资数据

PC00_M99_PA03_END人力资源>工资 >亚洲/太平洋 >中国>工资核算 > 退出工资核算

结束薪资核算

PC00_M99_CIPE人力资源>工资 >亚洲/太平洋 >中国>后续活动 >每个工资核算期间>过帐以核算>创建过帐运行

执行薪资过账-薪资核算结果过账到财务

PC00_M28_CALC人力资源>工资 >亚洲/太平洋 >中国>工资核算 >起始工资核算

发放非周期性支付的奖金-发放非周期性支付的奖金(包括效益月奖/季度奖、效益半年奖、效益年终奖)

2.2.4.2.   业务流程和信息类型

2.2.5.      招聘管理

2.2.5.1.   常用T-code

PBAZ招聘>广告>空缺>显示

查看组织管理部分的职位空缺,了解整体招聘需求。

PB10招聘>申请人数据>初始数据录入

通过创建、维护申请人数据,将申请人信息在系统中进行管理。

PB40招聘>申请人数据>人事事件

通过创建、维护申请人附加数据,将申请人信息在系统中进行管理。

PBA7招聘>申请人活动>传输申请人数据>执行

输申请人成为正式员工

PBA8招聘>申请人活动>传输申请人数据>完成活动

完成传输申请人成为正式员工的活动

2.2.6.      培训管理

2.2.6.1.   常用Tcode

S_AHR_61011887人力资源>培训和事件管理>设置>当前设置>主数据目录

创建业务事件组/业务事件类型-通过创建、维护业务事件组,登记参加人员情况,建立培训业务数据库,实现记录、修改、统计、管理相关单位综合类培训事件的功能。

PSV2人力资源>培训和事件管理>业务事件>业务事件菜单

创建业务事件-通过创建、维护业务事件,登记参加人员情况,建立培训业务数据库,实现记录、修改、统计、管理相关单位综合类培训事件的功能。

PV00人力资源>培训和事件管理>出席>登记:业务事件的出席者

登记业务时间的出席者-通过创建、维护业务事件,登记参加人员情况,建立培训业务数据库,实现记录、修改、统计、管理相关单位综合类培训事件的功能。

 

PV12人力资源>培训和事件管理>业务事件>确定的预定/取消

确定业务事件的预定或取消-通过创建、维护业务事件,登记参加人员情况,建立培训业务数据库,实现记录、修改、统计、管理相关单位综合类培训事件的功能。

 

 

 

2.2.7.      绩效考核

 

2.3.    HR编程

2.3.1.      术语

2.3.1.1.   信息类型 Infotype

信息类型是4位编码,对应一张物理数据库表。SM30-v_t582a

0-1000 人员信息

1000-2000 职务、部门

2000以上考勤

4000以上人事事件

9000以上自定义

信息类型是基于时间的,一个员工在一张表中可能有多条记录。RP_PROVIDE_FROM_LAST和RP_PROVIDE_FROM_FRST两个宏用于读取。

2.3.1.2.   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

2.3.4.1.   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.

2.3.4.2.  PROVIDE……ENDPROVIDE

类似Select语句,时间相关

2.3.4.3.   RP_PROVIDE_FROM_LAST,RP_PROVIDE_FROM_FRST,

该宏是在SAPDBPNP中定义的,用于读取这个时间段内最后一条或第一条的信息类型。

宏程序不能调试。

2.3.4.4.   RP_SET_DATA_INTERVAL

该宏是把数据库表PAnnnn中的数据填充到内表Pnnnn中。

2.3.4.5.   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})

2.3.4.6.   HR_READ_INFOTYPE

读取信息类型到内部Pnnnn中

 

2.3.4.7.   RP_GET_HIRE_DATE

读取雇佣日期

 

2.3.4.8.   BAPI_EMPLOYEE_ENQUEUE

程序在修改人力资源主数据时锁定当前personnel number

 

2.3.4.9.   HR_INFOTYPE_OPERATION

更新、拷贝、删除、插入信息类型,自动逻辑检查。

 

不自动做逻辑检查。

 

2.3.4.10. HR_CHECK_AUTHORITY_INFTY

检查用户权限,使用逻辑数据库自动检查权限。

 

2.3.4.11. RP_READ_ALL_TIME_TIY 宏

读取时间信息类型时系统资源消耗很大,所以采用MODE N关键字,在GET PERNR时不读取信息类型。在后续程序中用RP_READ_ALL_TIME_TIY读取

2.3.4.12. 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.

 

2.3.4.13. AT关键字

2.3.4.14. DO关键字

循环域名从DAR01到DAR12。

 

2.3.5.      HR的PAYRESULT

读取PAYRESULT的方法:

1、T-CODE PC_PAYRESULT;2、报表程序H99_DISPLAY_PAYRESULT

 

RH_STRUC_GET读取EvaluationPath O-S-P

2.3.5.1.   CU_READ_RGDIR、CD_READ_LAST

 读取RGDIR

2.3.5.2.   PYXX_READ_PAYROLL_RESULT