信息類型是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 計算員工年齡