1. 程式人生 > >HR 開發技術(abap 轉載)

HR 開發技術(abap 轉載)

HR學習資料

1.     綱要

工作總結:

一、編寫報表程式:直管人員花名冊

二、編寫Smart Form:財務會計列印憑證

三、學習了HR業務知識

四、學習HR350

五、練習從VB和Notes中通過OCX呼叫BAPI

六、準備Info Pak培訓

下週計劃:

一、繼續學習和研究HR模組的程式設計。

二、學習FICO模組業務知識。

2.1.   在VB和Notes中呼叫BAPI

2.2.1.1.   常用Tcode

PA30人力資源>行政事務>人力資源主資料>PA30 人事事件

人力資源主資料-用於單獨維護某個資訊型別,如修改員工姓名、增加職業資格等。

PA40人力資源>行政事務>人力資源主資料>PA40 人事事件

人事事件-用於執行特定的人事流程性工作,如員工入職、退休等,流程中會涉及多個資訊型別的修改、增加工作。

2.2.1.2.   資訊型別

2.2.2.1.   常用Tcode

PP03人力資源->組織管理->工具->物件->動作

建立組織單元

PO10人力資源->組織管理->專家模式->組織單位

修改組織單元

PP03人力資源->組織管理->工具->物件->動作

建立職務

PO03人力資源->組織管理->專家模式->職務

修改職務

PP03人力資源->組織管理->工具->物件->動作

建立職位

PO13人力資源->組織管理->專家模式->職位

修改職位

PPOME人力資源->組織管理->組織計劃->組織和人員配備->更改

更改組織和人員分配

2.2.2.2.   物件結構

計劃版本:系統中可以維護多套組織結構版本,唯一有效版本是01。

2.2.3.1.   常用Tcode

PA61人力資源>時間管理 >行政事務 >時間資料>維護

維護時間資料-維護員工工作計劃,休假資訊。

PA30人力資源>行政事務>人力資源主資料>PA30 人事事件

維護產假續假期間扣減比例

手工維護缺勤扣減

2.2.3.2.   業務流程和資訊型別

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.1.   常用T-code

PBAZ招聘>廣告>空缺>顯示

檢視組織管理部分的職位空缺,瞭解整體招聘需求。

PB10招聘>申請人資料>初始資料錄入

通過建立、維護申請人資料,將申請人資訊在系統中進行管理。

PB40招聘>申請人資料>人事事件

通過建立、維護申請人附加資料,將申請人資訊在系統中進行管理。

PBA7招聘>申請人活動>傳輸申請人資料>執行

輸申請人成為正式員工

PBA8招聘>申請人活動>傳輸申請人資料>完成活動

2.2.6.1.   常用Tcode

S_AHR_61011887人力資源>培訓和事件管理>設定>當前設定>主資料目錄

建立業務事件組/業務事件型別-通過建立、維護業務事件組,登記參加人員情況,建立培訓業務資料庫,實現記錄、修改、統計、管理相關單位綜合類培訓事件的功能。

PSV2人力資源>培訓和事件管理>業務事件>業務事件選單

建立業務事件-通過建立、維護業務事件,登記參加人員情況,建立培訓業務資料庫,實現記錄、修改、統計、管理相關單位綜合類培訓事件的功能。

PV00人力資源>培訓和事件管理>出席>登記:業務事件的出席者

登記業務時間的出席者-通過建立、維護業務事件,登記參加人員情況,建立培訓業務資料庫,實現記錄、修改、統計、管理相關單位綜合類培訓事件的功能。

PV12人力資源>培訓和事件管理>業務事件>確定的預定/取消

確定業務事件的預定或取消-通過建立、維護業務事件,登記參加人員情況,建立培訓業務資料庫,實現記錄、修改、統計、管理相關單位綜合類培訓事件的功能。

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間隔重複:孩子

邏輯資料庫:結構-事件-資料

優勢在於:

1. 自動產生相應的螢幕和事件。

2. 自動檢查許可權。

3. 解決效能問題。

4. 資料抓取,獨立於程式。

PNP-人的資訊-PNPCE

PCH-組織資料

PAB-招聘用的

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

讀取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