


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、SAP HR模块报表开发目录1. 概述 32. HR开发介绍 32.1逻辑数据库介绍 322 HR相关逻辑数据库 42.2.1 PNP 42.2.2 PCH 52.3逻辑数据库的选择屏幕 62.3.1 PNP的选择屏幕 62.3.2 PCH的选择屏幕 103. HR报表开发 123.1 HR相关数据库表 123.2常用函数和宏 123.2.1 宏 RP_PROVIDE_FROM_FRBTRP_PROVIDE_FROM_LAST 133.2.2 函数RH_STRUC_GET. 133.2.3 函数HR_READ_FOREIGN_OBJECT_TEXT 143.2.4 函数PYXX_READ_PA
2、YROLL_RESULT. 154. 其他 174.1 PNP和PCH里的变量 174.2时间交叉 174.3权限检查 181. 概述本文介绍了 SAP HR模块报表开发的相关经验,结合本人参与项 目所做的开发工作,汇总整理了一些在 HR开发中需要注意的地方, 并介绍了有用的小技巧。相信本文对初级从事 HR开发工作的相关人 员有一定帮助。 因为笔者相关经验也在积累过程中, 也许本文中会出 现一些错误,还望见谅指正。2. HR 开发介绍HR 报表开发主要涉及到逻辑数据库的应用, 相关的开发工作也主 要围绕着逻辑数据库进行。2.1 逻辑数据库介绍逻辑数据库则提供另一种选择数据的方式,可以代替 SQ
3、L语句在 数据库中提取数据,供程序操作。因而,可以认为逻辑数据库是一种 报表设计程序中的辅助工具, 而不能将其误解为一种可进行数据存储 的数据库。SAP中提供多种类型的逻辑数据库,开发人员也可自行定 义数据源。Transaction Code : SE36 或 SLDB22 HR相关逻辑数据库HR报表开发主要是对逻辑数据库 PNP( PNPCE和PCH的应用。其 中PNPC是 PNP的加强。但是本文所举例子,皆是 PNP的应用,如果 将来有机会应用到PNPC逻辑数据库,会再进行补充。程序中使用逻辑数据库非常方便,只要在程序属性里选择关联到 就可以实现,直接在程序里就可以使用。2.2.1 PNP
4、PNP逻辑数据库主要针对人事信息的查询。PNP查询到的信息是以 人为单位的,每次查询到一个人相关信息。如果报表的信息是关于个 人人事信息的容,首先考虑 PNP逻辑数据库。逻辑数据使用,首先要在程序里定义 TABLES: PERNRPERN是 一个结构,每次程序返回一个 PERN的结点,代表员工号为 pernr-pernr的这个人,并附带这个人的相关数据。如果想让每次返回的人员附带信息类型数据,需要在程序里定义INFOTYPESnnnn, nnnn代表信息类型编号(包括自定义增强的信息 类型)。如果声明了信息类型,贝S在返回个人信息的时候,也顺带返 回这个人的一个Pnnnn的结构,对应相应个信息
5、类型。Pnnnn的容根 据屏幕选择字段容确定(PNPC逻辑数据库返回的容与PNP有所不 同)。程序里想使用逻辑数据,在主程序里调用GET PERNRGETpernr 类似于一个循环,每次返回一个 per nr结点,就是一个人,我们可以 对这个人的信息进行处理。当把所有的人都处理完了,那我们所得到 的就是需要的数据了。所以使用PNP逻辑数据库,最少得有三行:TABLES: PERNRINFOT YPES: nnnnGET PERNR.IDES系统里有例程: ZPSOL0102.2.2 PCHPCH逻辑数据库主要是对应于组织管理(OM。相对于PNP逻辑 数据库,PCH每次返回的结点是OBJECT型
6、,代表一个对象。这些对 象包括在PP01可以维护的对象(例如:O, S,等等),随其一 同返回的也是OM勺信息类型(例如1000, 1001等)。PCH查找 结点,除了标准的选择条件之外,还可以应用评估路径,这样大大增 强了 PCH的可用性。同PNP逻辑数据库一样,PCH也许要在程序里声明TABLESQJBEC 才可以使用,返回的也是objec结构。使用方法基本同PNP逻辑数据 库类似。所以也必须要添加三行:TABLES: OJBECINFOT YPES: nnnnGET OBJEC.IDES系统里有例程: ZHSOL0102.3逻辑数据库的选择屏幕2.3.1 PNP的选择屏幕默认的PNP选择
7、屏幕如下:T寺JL匚3岂航冃前年6砖.5令曰姬谡?期冃询工竟帆st丽r阳1就感工罗荊田丿贞苛卸予:厨应下m心屏幕主要分为两个部分,期间选择和条件选择,最上面一排按钮 还可以进行进一步选择。同时,我们还可以自定义我们的选择屏幕。标准选择屏虽然功能完备,但界面繁琐,很多时候客户并不接受,所 以我们大多都使用自定义的选择屏幕。注意:在下面选择窗口中的组织结构选择,只能找寻这个组织部 门下面的人员,如果还有子部门,逻辑数据库并不能返回子部门的人 员。如果想要返回子部门的人员,可以在上排按钮中选择 组织结构, 这里边选择的部门,会搜寻到下级子部门。使用自定义选择屏幕,可在程序属性里选择。当我们关联到PN
8、P逻辑数据库,再进属性界面,会多出个按钮 HR1告类,这就是我们r该図|3 HR报吿类刼朗箕r Start using variant可以自定义选择界面的地方。Type1可执行程序IIStatusP即P标淮生产程序ApplicationPA力资彩Authorization Grouj幵世类ZHR350匚uurse HR350; ProgrammLogical databasePHP人力資源主数据Selection £匚reenAttributesEditor lockI? Fixed point drithraticPI Unicode检查黴括在HR报告类中,可以创建、选择系统提供的
9、和我们自定义的选择 屏幕。选择屏幕也可以在IMG里定义BaEP sBacaaBaaaBBpbf> 卩卩卩ppp 口PP卩卩卩卩卩ppd l=3r人爭着理在人爭管理中的全局设養 姐飙管理人爭管理服务招聘 辐利 薪酬営理 八事成本计划和累积 企业商酬营理 莹球员工菅理 公司养老金计划 募老基全 职位预宦和控制 管理者桌页 专家发现者 人力费練信息采统 人力资源信息呆统 SAP查询的HR谡晝B遍翹标准选择屏專參劲建蘇濒 为 芬配旅袁笑别我们可以再报表类别中创建我们自定义的报表选择条件,这样基 本上能满足客户的需要。例如:选择1工费複邱0闾/工赍樓苴范圉©当前期间 O其植期间O、卜I亠
10、、卜:注意:报表类是必须选择现有的字段,如果标准里没有需要的选 择条件,我们可以在程序里自定义屏幕选择,但自定义的选择条件并 不会影响PNP逻辑数据库的选择,需要我们自己处理。标准的屏幕选择定义在程序:DBPNPSEL如果我们需要在程序的 初始屏幕赋值或做一下定制化的容,可参考程序DBPNPSE里的定义其中最常见的客户要求可能就是时间期间选择。客户通常希望能 按自己的要求来自动选择期间,我们可以用程序变式的方式来实现, 但有时候,客户的要求我们也可以再程序初始化的实现, 尤其是一些 按钮的选择,让他们出现在默认状态也是客户经常提出的。例如,客户想把期间选择默认为当前月,其实很简单,在初始化的时
11、候加入代码:这些变量的声明都可以再DBPNPSE里找到,我们只要仔细研究这 些声明,很多事情我们都可以再初始化的时候做232 PCH的选择屏幕PCH选择屏幕没有报告类可以配置,因为他的默认选择屏幕相对 比较简单。的s珂羞欢盃译石站嗨杵评瓯匀0当前AOasfl0兰iti年侖O耒来工肆日豹这个界面只有期间选择和对象选择,所以没有报告类可供我们自由配置。这些在大多时候很难满足我们的业务需要,但我们最长用到的评估路径选择也是可以很容易加入进去。在代码中除了声明TABLE ojbec之外,我们只要在声明 TABLE gdstr,就可以出现评估路径的选择界面.trs刊慢盂h宓加划旳星标说.目曰匕弄牛耦昨m
12、新百|问啊1 O距官诘构审洋-+康珊尺0审前月CtTM0岂芥耳奩ClF.f.占帼數1匚犧武車痪这样的界面基本上就能满足我们大部分的需要了,如果还有不够 的,那我们可以还可以再程序里自己定义屏幕选择条件。同样,我们 自己定义的屏幕选择条件是不影响逻辑数据库的返回值,所以要我们根据选择条件自己再进行后续处理。大部分时候,对象类型,评估路径等容我们都会根据程序确定好, 做成默认输入,或者干脆隐藏起来,但如果要影响PCH逻辑数据库的 返回值,objec和gdstr是必须要声明的。程序DBPCHSE声明了 PCH选择屏幕的选择字段,我们可以仿照PNP的处理方法对初始屏幕进行定义。3. HR 报表开发3.
13、1 HR 相关数据库表HRB表开发很肯定会涉及到数据库表,因为 SAP的数据都存放在 表里。PNP逻辑数据最常用的就是PAnnnn的表,人事数据的信息类型数 据都存放在这些表中,PNP其实就是从这些表中抓取的数据,所以如 果我们需要一些数据, 可以直接手动从这些表中抓取。 逻辑数据库返 回的结构Pnnnn其实就是表PAnnnn的子结构,所以想详细了解Pnnnn 的结构,只需要仔细研究PA nnnn的定义即可。PCH逻辑数据库对应的是表 HRP nnnn 般我们常碰到就是HPR100、0 HRP100,1 这两个表分别是对象定义和对象关系。一个对象 的自身描述都是定义在HRP100Q!包括起始时
14、间、名称等,而两个对 象的关系则定义在HRP1001如果想关联两个对象,那 HRP100俵就 是最好的查找对象。当然还有很多我们常碰到的表,通过F1帮助,我们大多都能找到 他们。3.2 常用函数和宏HR常用逻辑数据库,尤其是PNR逻辑数据库提供很多常用的宏和函数供我们使用321宏 RP_PROVIDE_FROM_FRST 禾口RP_PROVIDE_FROM_LAST宏 RP_PROVIDE_FROM_F和SRP_PROVIDE_FROM_L是一对相对 应的宏,也是我们PNP逻辑数据库里最常用的一组宏。这对宏的作用就是在返回个人信息的结构 Pnnnn里提取时间最早 和时间最晚的记录。具体用法:R
15、P_PROVIDE_FROM_FRS Tnn subtype BEGDA ENDDA RP_PROVIDE_FROM_LASTi nn subtype BEGDA ENDDA其中Pnnnn就是要处理的信息类型,subtype处填写子信息类型, 如果没有字信息类型,此处传入SPACE后面两个是参数时间,即开 始时间和结束时间。这个宏处理过后,会将开始时间和结束时间之间 的,时间最早(晚)的一条数据,放入 Pnnnn表头(工作区)。PNP还有许多有用的宏,可以帮助我们快速处理数据,具体宏的定义,可参见程序 DBPNPMAC3.2.2 函数 RH_STRUC_GET个人感觉,这个函数是最好用最常用的
16、一个函数之一, 无论是PNP 和PCH这个函数在程序里都是最好补充。这个函数是根据评估路径返回一个 objec结构的表,这就相当于 在程序里又调用了一次PCH逻辑数据库的感觉。因为我们每次只能选择一个逻辑数据库,所以在PNP里或是在PCH里,想再次通过评估路 径来查找一些信息,这个函数都提供了很方便的功能。只要给一个入 口,然后再loop返回的表,相当于在成立嵌了一个小的 PCH逻辑应 用,十分好用。例如: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,我们都可以通过函数找到我们需要的结点。PNP里是以P为主,如果我们想得到相关 O S的信息;或是在PCH里进行二次的查找,这个函数都是十分管用的。323 函数 HR_READ_FOREIGN_OBJECT_TEXT在SAP系统
18、中,大部分对象存在的方式的都是以ID的方式记录在数据库表中,HR模块也不例外,但是HRB表中,绝大部分的可以都希望显示名称,这时函数 HR_READ_FOREIGN_OBJECT_TEX常有用。当然你也可以把它写到公共子例程里随时调用,我就是这么使用这个函数是返回对象的名称文本,例如: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 函数 PYXX_READ_PAYROLL_RESULT这个函数主要是获取员工工资,大部分时间要和函数CU_READ_RGDIR合使用,这里不再赘述,由于用法比较简单可自行 揣摩。值得注意的地方就是函数CU_READ_RGEB数返回结果中表项 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结果表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. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 自行车服务在历史文化街区的融合考核试卷
- 花卉种植的园林景观植物养护考核试卷
- 2025年工业炉窑的新型燃烧装置项目建议书
- 橡胶板在电梯门挡板中的安全性能考核试卷
- 品牌营销实际流程策划
- 环保专业知识课件
- 中医骨伤科学多媒体课件-中医骨伤科学
- 2025年石英玻璃纤维套管项目建议书
- 福建高二考试试题及答案
- 嘉定国资委考试试题及答案
- 汉语语气词的语用功能分析论文
- 光伏材料与器件-深度研究
- 高考英语阅读理解题干、选项及近五年高频词汇
- 广东省华附、省实、广雅、深中2025届高三四校联考语文试题与答案
- 骨科专业培训计划及总结
- 2025年河北省职业院校技能大赛工业互联网集成应用参考试题库(含答案)
- 钢结构钢筋大棚施工方案
- 《春夏中医养生》课件
- 机械通气患儿的观察与护理
- 2021年妇产科主治医师资格考试题库(含答案)
- 2024年短剧拍摄及制作协议版
评论
0/150
提交评论