86SAP-HR模块报表开发

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

SAPHR模块报表开发目录1.概述..............................................................................................................................................32.HR开发介绍................................................................................................................................32.1逻辑数据库介绍........................................................................................................................32.2HR相关逻辑数据库...............................................................................................................42.2.1PNP..........................................................................................................................................42.2.2PCH..........................................................................................................................................52.3逻辑数据库的选择屏幕............................................................................................................62.3.1PNP的选择屏幕.....................................................................................................................62.3.2PCH的选择屏幕...................................................................................................................103.HR报表开发..............................................................................................................................123.1HR相关数据库表....................................................................................................................123.2常用函数和宏..........................................................................................................................123.2.1宏RP_PROVIDE_FROM_FRST和RP_PROVIDE_FROM_LAST.................................133.2.2函数RH_STRUC_GET......................................................................................................133.2.3函数HR_READ_FOREIGN_OBJECT_TEXT...................................................................143.2.4函数PYXX_READ_PAYROLL_RESULT..........................................................................154.其他............................................................................................................................................164.1PNP和PCH里的变量.............................................................................................................164.2时间交叉..................................................................................................................................174.3权限检查..................................................................................................................................181.概述本文介绍了SAPHR模块报表开发的相关经验,结合本人参与项目所做的开发工作,汇总整理了一些在HR开发中需要注意的地方,并介绍了有用的小技巧。相信本文对初级从事HR开发工作的相关人员有一定帮助。因为笔者相关经验也在积累过程中,也许本文中会出现一些错误,还望见谅指正。2.HR开发介绍HR报表开发主要涉及到逻辑数据库的应用,相关的开发工作也主要围绕着逻辑数据库进行。2.1逻辑数据库介绍逻辑数据库则提供另一种选择数据的方式,可以代替SQL语句在数据库中提取数据,供程序操作。因而,可以认为逻辑数据库是一种报表设计程序中的辅助工具,而不能将其误解为一种可进行数据存储的数据库。SAP中提供多种类型的逻辑数据库,开发人员也可自行定义数据源。TransactionCode:SE36或SLDB2.2HR相关逻辑数据库HR报表开发主要是对逻辑数据库PNP(PNPCE)和PCH的应用。其中PNPCE是PNP的加强。但是本文所举例子,皆是PNP的应用,如果将来有机会应用到PNPCE逻辑数据库,会再进行补充。程序中使用逻辑数据库非常方便,只要在程序属性里选择关联到就可以实现,直接在程序里就可以使用。2.2.1PNPPNP逻辑数据库主要针对人事信息的查询。PNP查询到的信息是以人为单位的,每次查询到一个人相关信息。如果报表的信息是关于个人人事信息的内容,首先考虑PNP逻辑数据库。逻辑数据使用,首先要在程序里定义TABLES:PERNR。PERNR是一个结构,每次程序返回一个PERNR的结点,代表员工号为pernr-pernr的这个人,并附带这个人的相关数据。如果想让每次返回的人员附带信息类型数据,需要在程序里定义INFOTYPES:nnnn,nnnn代表信息类型编号(包括自定义增强的信息类型)。如果声明了信息类型,则在返回个人信息的时候,也顺带返回这个人的一个Pnnnn的结构,对应相应个信息类型。Pnnnn的内容根据屏幕选择字段内容确定(PNPCE逻辑数据库返回的内容与PNP有所不同)。程序里想使用逻辑数据,在主程序里调用GETPERNR。GETpernr类似于一个循环,每次返回一个pernr结点,就是一个人,我们可以对这个人的信息进行处理。当把所有的人都处理完了,那我们所得到的就是需要的数据了。所以使用PNP逻辑数据库,最少得有三行:TABLES:PERNRINFOTYPES:nnnnGETPERNR.IDES系统里有例程:ZPSOL0102.2.2PCHPCH逻辑数据库主要是对应于组织管理(OM)。相对于PNP逻辑数据库,PCH每次返回的结点是OBJEC类型,代表一个对象。这些对象包括在PP01可以维护的对象(例如:O,S,……等等),随其一同返回的也是OM的信息类型(例如1000,1001……等)。PCH查找结点,除了标准的选择条件之外,还可以应用评估路径,这样大大增强了PCH的可用性。同PNP逻辑数据库一样,PCH也许要在程序里声明TABLES:OJBEC才可以使用,返回的也是objec结构。使用方法基本同PNP逻辑数据库类似。所以也必须要添加三行:TABLES:OJBECINFOTYPES:nnnnGETOBJEC.IDES系统里有例程:ZHSOL0102.3逻辑数据库的选择屏幕2.3.1PNP的选择屏幕默认的PNP选择屏幕如下:屏幕主要分为两个部分,期间选择和条件选择,最上面一排按钮还可以进行进一步选择。同时,我们还可以自定义我们的选择屏幕。标准选择屏虽然功能完备,但界面繁琐,很多时候客户并不接受,所以我们大多都使用自定义的选择屏幕。注意:在下面选择窗口中的组织结构选择,只能找寻这个组织部门下面的人员,如果还有子部门,逻辑数据库并不能返回子部门的人员。如果想要返回子部门的人员,可以在上排按钮中选择组织结构,这里边选择的部门,会搜寻到下级子部门。使用自定义选择屏幕,可在程序属性里选择。当我们关联到PNP逻辑数据库,再进属性界面,会多出个按钮HR报告类,这就是我们可以自定义选择界面的地方。在HR报告类中,可以创建、选择系统提供的和我们自定义的选择屏幕。选择屏幕也可以在IMG里定义。我们可以再报表类别中创建我们自定义的报表选择条件,这样基本上能满足客户的需要。例如:注意:报表类是必须选择现有的字段,如果标准里没有需要的选择条件,我们可以在程序里自定义屏幕选择,但自定义的选择条件并不会影响PNP逻辑数据库的选择,需要我们自己处理。标准的屏幕选择定义在程序:DBPNPSEL。如果我们需要在程序的初始屏幕赋值或做一下定制化的内容,可参考程序DBPNPSEL里的定义。其中最常见的客户要求可能就是时间期间选择。客户通常希望能按自己的要求来自动选择期间,我们可以用程序变式的方式来实现,但有时候,客户的要求我们也可以再程序初始化的实现,尤其是一些按钮的选择,让他们出现在默认状态也是客户经常提出的。例如,客户想把期间选择默认为当前月,其实很简单,在初始化的时候加入代码:PNPTIMED='M'.当前月这些变量的声明都可以再DBPNPSEL里找到,我们只要仔细研究这些声明,很多事情我们都可以再初始化的时候做。2.3.2PCH的选择屏幕PCH选择屏幕没有报告类可以配置,因为他的默认选择屏幕相对比较简单。这个界面只有期间选择和对象选择,所以没有报告类可供我们自由配置。这些在大多时候很难满足我们的业务需要,但我们最长用到的评估路径选择也是可以很容易加入进去。在代码中除了声明TABLEojbec之外,我们只要在声明TABLEgdstr,就可以出现评估路径的选择界面这样的界面基本上就能满足我们大部分的需要了,如果还有不够的,那我们可以还可以再程序里自己定义屏幕选择条件。同样,我们自己定义的屏幕选择条件是不影响逻辑数据库的返回值,所以要我们根据选择条件自己再进行后续处理。大

1 / 18
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功