


版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、SAP HR模塊報表開發(fā)目錄1. 概述 32. HR開發(fā)介紹 32.1邏輯數(shù)據(jù)庫介紹 322 HR相關(guān)邏輯數(shù)據(jù)庫 42.2.1 PNP 42.2.2 PCH 52.3邏輯數(shù)據(jù)庫的選擇屏幕 62.3.1 PNP的選擇屏幕 62.3.2 PCH的選擇屏幕 103. HR報表開發(fā) 123.1 HR相關(guān)數(shù)據(jù)庫表 123.2常用函數(shù)和宏 123.2.1 宏 RP_PROVIDE_FROM_FRBTRP_PROVIDE_FROM_LAST 133.2.2 函數(shù)RH_STRUC_GET. 133.2.3 函數(shù)HR_READ_FOREIGN_OBJECT_TEXT 143.2.4 函數(shù)PYXX_READ_PA
2、YROLL_RESULT. 154. 其他 174.1 PNP和PCH里的變量 174.2時間交叉 174.3權(quán)限檢查 181. 概述本文介紹了 SAP HR模塊報表開發(fā)的相關(guān)經(jīng)驗,結(jié)合本人參與項 目所做的開發(fā)工作,匯總整理了一些在 HR開發(fā)中需要注意的地方, 并介紹了有用的小技巧。相信本文對初級從事 HR開發(fā)工作的相關(guān)人 員有一定幫助。 因為筆者相關(guān)經(jīng)驗也在積累過程中, 也許本文中會出 現(xiàn)一些錯誤,還望見諒指正。2. HR 開發(fā)介紹HR 報表開發(fā)主要涉及到邏輯數(shù)據(jù)庫的應(yīng)用, 相關(guān)的開發(fā)工作也主 要圍繞著邏輯數(shù)據(jù)庫進(jìn)行。2.1 邏輯數(shù)據(jù)庫介紹邏輯數(shù)據(jù)庫則提供另一種選擇數(shù)據(jù)的方式,可以代替 SQ
3、L語句在 數(shù)據(jù)庫中提取數(shù)據(jù),供程序操作。因而,可以認(rèn)為邏輯數(shù)據(jù)庫是一種 報表設(shè)計程序中的輔助工具, 而不能將其誤解為一種可進(jìn)行數(shù)據(jù)存儲 的數(shù)據(jù)庫。SAP中提供多種類型的邏輯數(shù)據(jù)庫,開發(fā)人員也可自行定 義數(shù)據(jù)源。Transaction Code : SE36 或 SLDB22 HR相關(guān)邏輯數(shù)據(jù)庫HR報表開發(fā)主要是對邏輯數(shù)據(jù)庫 PNP( PNPCE和PCH的應(yīng)用。其 中PNPC是 PNP的加強(qiáng)。但是本文所舉例子,皆是 PNP的應(yīng)用,如果 將來有機(jī)會應(yīng)用到PNPC邏輯數(shù)據(jù)庫,會再進(jìn)行補(bǔ)充。程序中使用邏輯數(shù)據(jù)庫非常方便,只要在程序?qū)傩岳镞x擇關(guān)聯(lián)到 就可以實現(xiàn),直接在程序里就可以使用。2.2.1 PNP
4、PNP邏輯數(shù)據(jù)庫主要針對人事信息的查詢。PNP查詢到的信息是以 人為單位的,每次查詢到一個人相關(guān)信息。如果報表的信息是關(guān)于個 人人事信息的容,首先考慮 PNP邏輯數(shù)據(jù)庫。邏輯數(shù)據(jù)使用,首先要在程序里定義 TABLES: PERNRPERN是 一個結(jié)構(gòu),每次程序返回一個 PERN的結(jié)點,代表員工號為 pernr-pernr的這個人,并附帶這個人的相關(guān)數(shù)據(jù)。如果想讓每次返回的人員附帶信息類型數(shù)據(jù),需要在程序里定義INFOTYPESnnnn, nnnn代表信息類型編號(包括自定義增強(qiáng)的信息 類型)。如果聲明了信息類型,貝S在返回個人信息的時候,也順帶返 回這個人的一個Pnnnn的結(jié)構(gòu),對應(yīng)相應(yīng)個信息
5、類型。Pnnnn的容根 據(jù)屏幕選擇字段容確定(PNPC邏輯數(shù)據(jù)庫返回的容與PNP有所不 同)。程序里想使用邏輯數(shù)據(jù),在主程序里調(diào)用GET PERNRGETpernr 類似于一個循環(huán),每次返回一個 per nr結(jié)點,就是一個人,我們可以 對這個人的信息進(jìn)行處理。當(dāng)把所有的人都處理完了,那我們所得到 的就是需要的數(shù)據(jù)了。所以使用PNP邏輯數(shù)據(jù)庫,最少得有三行:TABLES: PERNRINFOT YPES: nnnnGET PERNR.IDES系統(tǒng)里有例程: ZPSOL0102.2.2 PCHPCH邏輯數(shù)據(jù)庫主要是對應(yīng)于組織管理(OM。相對于PNP邏輯 數(shù)據(jù)庫,PCH每次返回的結(jié)點是OBJECT型
6、,代表一個對象。這些對 象包括在PP01可以維護(hù)的對象(例如:O, S,等等),隨其一 同返回的也是OM勺信息類型(例如1000, 1001等)。PCH查找 結(jié)點,除了標(biāo)準(zhǔn)的選擇條件之外,還可以應(yīng)用評估路徑,這樣大大增 強(qiáng)了 PCH的可用性。同PNP邏輯數(shù)據(jù)庫一樣,PCH也許要在程序里聲明TABLESQJBEC 才可以使用,返回的也是objec結(jié)構(gòu)。使用方法基本同PNP邏輯數(shù)據(jù) 庫類似。所以也必須要添加三行:TABLES: OJBECINFOT YPES: nnnnGET OBJEC.IDES系統(tǒng)里有例程: ZHSOL0102.3邏輯數(shù)據(jù)庫的選擇屏幕2.3.1 PNP的選擇屏幕默認(rèn)的PNP選擇
7、屏幕如下:T寺JL匚3豈航冃前年6磚.5令曰姬謖?期冃詢工竟帆st麗r陽1就感工羅荊田丿貞苛卸予:廚應(yīng)下m心屏幕主要分為兩個部分,期間選擇和條件選擇,最上面一排按鈕 還可以進(jìn)行進(jìn)一步選擇。同時,我們還可以自定義我們的選擇屏幕。標(biāo)準(zhǔn)選擇屏雖然功能完備,但界面繁瑣,很多時候客戶并不接受,所 以我們大多都使用自定義的選擇屏幕。注意:在下面選擇窗口中的組織結(jié)構(gòu)選擇,只能找尋這個組織部 門下面的人員,如果還有子部門,邏輯數(shù)據(jù)庫并不能返回子部門的人 員。如果想要返回子部門的人員,可以在上排按鈕中選擇 組織結(jié)構(gòu), 這里邊選擇的部門,會搜尋到下級子部門。使用自定義選擇屏幕,可在程序?qū)傩岳镞x擇。當(dāng)我們關(guān)聯(lián)到PN
8、P邏輯數(shù)據(jù)庫,再進(jìn)屬性界面,會多出個按鈕 HR1告類,這就是我們r該図|3 HR報吿類刼朗箕r Start using variant可以自定義選擇界面的地方。Type1可執(zhí)行程序IIStatusP即P標(biāo)淮生產(chǎn)程序ApplicationPA力資彩Authorization Grouj幵世類ZHR350匚uurse HR350; ProgrammLogical databasePHP人力資源主數(shù)據(jù)Selection £匚reenAttributesEditor lockI? Fixed point drithraticPI Unicode檢查黴括在HR報告類中,可以創(chuàng)建、選擇系統(tǒng)提供的
9、和我們自定義的選擇 屏幕。選擇屏幕也可以在IMG里定義BaEP sBacaaBaaaBBpbf> 卩卩卩ppp 口PP卩卩卩卩卩ppd l=3r人爭著理在人爭管理中的全局設(shè)養(yǎng) 姐飆管理人爭管理服務(wù)招聘 輻利 薪酬営理 八事成本計劃和累積 企業(yè)商酬營理 瑩球員工菅理 公司養(yǎng)老金計劃 募老基全 職位預(yù)宦和控制 管理者桌頁 專家發(fā)現(xiàn)者 人力費練信息采統(tǒng) 人力資源信息呆統(tǒng) SAP查詢的HR謖晝B遍翹標(biāo)準(zhǔn)選擇屏專參勁建蘇瀕 為 芬配旅袁笑別我們可以再報表類別中創(chuàng)建我們自定義的報表選擇條件,這樣基 本上能滿足客戶的需要。例如:選擇1工費複邱0閭/工赍樓苴范圉©當(dāng)前期間 O其植期間O、卜I亠
10、、卜:注意:報表類是必須選擇現(xiàn)有的字段,如果標(biāo)準(zhǔn)里沒有需要的選 擇條件,我們可以在程序里自定義屏幕選擇,但自定義的選擇條件并 不會影響PNP邏輯數(shù)據(jù)庫的選擇,需要我們自己處理。標(biāo)準(zhǔn)的屏幕選擇定義在程序:DBPNPSEL如果我們需要在程序的 初始屏幕賦值或做一下定制化的容,可參考程序DBPNPSE里的定義其中最常見的客戶要求可能就是時間期間選擇??蛻敉ǔOM?按自己的要求來自動選擇期間,我們可以用程序變式的方式來實現(xiàn), 但有時候,客戶的要求我們也可以再程序初始化的實現(xiàn), 尤其是一些 按鈕的選擇,讓他們出現(xiàn)在默認(rèn)狀態(tài)也是客戶經(jīng)常提出的。例如,客戶想把期間選擇默認(rèn)為當(dāng)前月,其實很簡單,在初始化的時
11、候加入代碼:這些變量的聲明都可以再DBPNPSE里找到,我們只要仔細(xì)研究這 些聲明,很多事情我們都可以再初始化的時候做232 PCH的選擇屏幕PCH選擇屏幕沒有報告類可以配置,因為他的默認(rèn)選擇屏幕相對 比較簡單。的s珂羞歡盃譯石站嗨杵評甌勻0當(dāng)前AOasfl0蘭iti年侖O耒來工肆日豹這個界面只有期間選擇和對象選擇,所以沒有報告類可供我們自由配置。這些在大多時候很難滿足我們的業(yè)務(wù)需要,但我們最長用到的評估路徑選擇也是可以很容易加入進(jìn)去。在代碼中除了聲明TABLE ojbec之外,我們只要在聲明 TABLE gdstr,就可以出現(xiàn)評估路徑的選擇界面.trs刊慢盂h宓加劃旳星標(biāo)說.目曰匕弄牛耦昨m
12、新百|(zhì)問啊1 O距官詰構(gòu)審洋-+康珊尺0審前月CtTM0豈芥耳奩ClF.f.占幗數(shù)1匚犧武車瘓這樣的界面基本上就能滿足我們大部分的需要了,如果還有不夠 的,那我們可以還可以再程序里自己定義屏幕選擇條件。同樣,我們 自己定義的屏幕選擇條件是不影響邏輯數(shù)據(jù)庫的返回值,所以要我們根據(jù)選擇條件自己再進(jìn)行后續(xù)處理。大部分時候,對象類型,評估路徑等容我們都會根據(jù)程序確定好, 做成默認(rèn)輸入,或者干脆隱藏起來,但如果要影響PCH邏輯數(shù)據(jù)庫的 返回值,objec和gdstr是必須要聲明的。程序DBPCHSE聲明了 PCH選擇屏幕的選擇字段,我們可以仿照PNP的處理方法對初始屏幕進(jìn)行定義。3. HR 報表開發(fā)3.
13、1 HR 相關(guān)數(shù)據(jù)庫表HRB表開發(fā)很肯定會涉及到數(shù)據(jù)庫表,因為 SAP的數(shù)據(jù)都存放在 表里。PNP邏輯數(shù)據(jù)最常用的就是PAnnnn的表,人事數(shù)據(jù)的信息類型數(shù) 據(jù)都存放在這些表中,PNP其實就是從這些表中抓取的數(shù)據(jù),所以如 果我們需要一些數(shù)據(jù), 可以直接手動從這些表中抓取。 邏輯數(shù)據(jù)庫返 回的結(jié)構(gòu)Pnnnn其實就是表PAnnnn的子結(jié)構(gòu),所以想詳細(xì)了解Pnnnn 的結(jié)構(gòu),只需要仔細(xì)研究PA nnnn的定義即可。PCH邏輯數(shù)據(jù)庫對應(yīng)的是表 HRP nnnn 般我們常碰到就是HPR100、0 HRP100,1 這兩個表分別是對象定義和對象關(guān)系。一個對象 的自身描述都是定義在HRP100Q!包括起始時
14、間、名稱等,而兩個對 象的關(guān)系則定義在HRP1001如果想關(guān)聯(lián)兩個對象,那 HRP100俵就 是最好的查找對象。當(dāng)然還有很多我們常碰到的表,通過F1幫助,我們大多都能找到 他們。3.2 常用函數(shù)和宏HR常用邏輯數(shù)據(jù)庫,尤其是PNR邏輯數(shù)據(jù)庫提供很多常用的宏和函數(shù)供我們使用321宏 RP_PROVIDE_FROM_FRST 禾口RP_PROVIDE_FROM_LAST宏 RP_PROVIDE_FROM_F和SRP_PROVIDE_FROM_L是一對相對 應(yīng)的宏,也是我們PNP邏輯數(shù)據(jù)庫里最常用的一組宏。這對宏的作用就是在返回個人信息的結(jié)構(gòu) Pnnnn里提取時間最早 和時間最晚的記錄。具體用法:R
15、P_PROVIDE_FROM_FRS Tnn subtype BEGDA ENDDA RP_PROVIDE_FROM_LASTi nn subtype BEGDA ENDDA其中Pnnnn就是要處理的信息類型,subtype處填寫子信息類型, 如果沒有字信息類型,此處傳入SPACE后面兩個是參數(shù)時間,即開 始時間和結(jié)束時間。這個宏處理過后,會將開始時間和結(jié)束時間之間 的,時間最早(晚)的一條數(shù)據(jù),放入 Pnnnn表頭(工作區(qū))。PNP還有許多有用的宏,可以幫助我們快速處理數(shù)據(jù),具體宏的定義,可參見程序 DBPNPMAC3.2.2 函數(shù) RH_STRUC_GET個人感覺,這個函數(shù)是最好用最常用的
16、一個函數(shù)之一, 無論是PNP 和PCH這個函數(shù)在程序里都是最好補(bǔ)充。這個函數(shù)是根據(jù)評估路徑返回一個 objec結(jié)構(gòu)的表,這就相當(dāng)于 在程序里又調(diào)用了一次PCH邏輯數(shù)據(jù)庫的感覺。因為我們每次只能選擇一個邏輯數(shù)據(jù)庫,所以在PNP里或是在PCH里,想再次通過評估路 徑來查找一些信息,這個函數(shù)都提供了很方便的功能。只要給一個入 口,然后再loop返回的表,相當(dāng)于在成立嵌了一個小的 PCH邏輯應(yīng) 用,十分好用。例如:CALL FUNCTION 'RH_STRUC_GET'EXPORTINGact otype='O'act_objid= t_itab-objidact_we
17、gid='PERS-O'act_plvar='01'act begda=pchoend"期末act e ndda=pchoendTABLESresult_objec=tab_org1EXCEPTIONSn o_plvar_fou nd=1no en try fou nd=2OTHERS=3.有了評估路徑,無論是從 0, S, P,我們都可以通過函數(shù)找到我們需要的結(jié)點。PNP里是以P為主,如果我們想得到相關(guān) O S的信息;或是在PCH里進(jìn)行二次的查找,這個函數(shù)都是十分管用的。323 函數(shù) HR_READ_FOREIGN_OBJECT_TEXT在SAP系統(tǒng)
18、中,大部分對象存在的方式的都是以ID的方式記錄在數(shù)據(jù)庫表中,HR模塊也不例外,但是HRB表中,絕大部分的可以都希望顯示名稱,這時函數(shù) HR_READ_FOREIGN_OBJECT_TEX常有用。當(dāng)然你也可以把它寫到公共子例程里隨時調(diào)用,我就是這么使用這個函數(shù)是返回對象的名稱文本,例如:CALL FUNCTION 'HR_READ_FOREIGN_OBJECT_TEXT'EXPORTINGotype='O'objid=g_orgehbegda=pn-en ddaen dda=pn-en ddaIMPORTING*SHORT_TEXT=object_text=l_d
19、w_textEXCEPTIONSno thi ng_fou nd=1wro ng_objecttype=2miss in g costce nter data=3miss in g object id=4OTHERS=5324 函數(shù) PYXX_READ_PAYROLL_RESULT這個函數(shù)主要是獲取員工工資,大部分時間要和函數(shù)CU_READ_RGDIR合使用,這里不再贅述,由于用法比較簡單可自行 揣摩。值得注意的地方就是函數(shù)CU_READ_RGEB數(shù)返回結(jié)果中表項 srtza的篩選和PYXX_READ_PAYROLL_RE返回表工資是放在 payroll_result-i nter-rt 表中
20、舉例:CALL FUNCTION 'CU_READ_RGDIR'EXPORTINGpers nr= iper nr* BUFFER=* NO_AUTHORITY_CHECK=''* IMPORTING*MOLGA=TABLESin_rgdir=prgdir"pc261結(jié)果表EXCEPTIONSn o_record_fou nd=1OTHERS=2.loop at prgdir where FPPER = iperiod and SRTZA = 'Aand PAYTY =pseq nr= prgdir-SEQNR.endloop .CALL FU
21、NCTION 卩YXX_READ_PAYROLL_RESULT' EXPORTING* clusteridemployee number ipernrseque ncen umberpseqnr* READ_ONLY_BUFFER* READ_ONLY_INTERNATIONAL* ARC_GROUPcheck_read_authority='X'*FILTER_CUMULATIONS=X廠*CLIENT*IMPORTING*VERSION_NUMBER_PAYVN=*VERSION_NUMBER_PCL2CHANGINGpayroll result=tpayresul
22、tEXCEPTIONSillegal_isocode_or_clusterid=1error_ge nerat ingm port=2import_mismatch_error=3subpool_dir_full=4n o_read_authority=5n o_record_fou nd=6versio ns_do _no t_match=7error_read in g_archive=8error_read in g_relid=9OTHERS4.其他4.1 PNP和PCH里的變量其實我們在看PNP和PCH里程序是時常會看到些變量,這些變量 是PNF和PCH里固有的變量,在程序里我們可以
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 車輛質(zhì)押貸款專項:二手車質(zhì)物抵押借款合同
- 企業(yè)團(tuán)結(jié)的課件教學(xué)
- 餐飲門店裝修設(shè)計租賃服務(wù)合同
- 企業(yè)四新教育課件
- 農(nóng)產(chǎn)品存放租賃及保鮮服務(wù)合同
- 旅游度假村場推廣運營合同
- 高速鐵路站場場地與高鐵設(shè)備租賃服務(wù)協(xié)議
- 沉井基礎(chǔ)施工勞務(wù)合作及施工技術(shù)支持服務(wù)合同
- 青春相關(guān)面試題及答案
- 魚塘捕魚測評方案
- DB32T 4176-2021 公共建筑室內(nèi)空氣質(zhì)量監(jiān)測系統(tǒng)技術(shù)規(guī)程
- 中俄文一般貿(mào)易合同范本
- 不合格品退貨處理單
- 國家開放大學(xué)2022春(202207)《2624醫(yī)藥商品營銷實務(wù)》期末考試真題及答案-開放???/a>
- 大連海事大學(xué)畢業(yè)成績表
- 尾礦庫模施袋筑壩工藝在施工中的應(yīng)用
- 中國34個省級行政區(qū)輪廓圖
- 人教版三年級下冊數(shù)學(xué)(全冊)同步隨堂練習(xí)一課一練
- 肺小結(jié)節(jié)定位和肺段切除規(guī)劃PPT學(xué)習(xí)課件
- 精品專題資料(2022-2023年收藏)國家電網(wǎng)公司智能電網(wǎng)知識競賽題目
- 0上海市康復(fù)治療質(zhì)量控制中心推薦病史及記錄單
評論
0/150
提交評論