


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、wordword格式-感谢下载支持SAP HR模块报表开发目录概述2 HYPERLINK l _TOC_250011 HR开发介绍3 HYPERLINK l _TOC_250010 逻辑数据库介绍3 HYPERLINK l _TOC_250009 HR 相关逻辑数据库3 HYPERLINK l _TOC_250008 PNP4PCH5 HYPERLINK l _TOC_250007 逻辑数据库的选择屏幕5 HYPERLINK l _TOC_250006 PNP的选择屏幕5 HYPERLINK l _TOC_250005 PCH的选择屏幕9 HYPERLINK l _TOC_250004 HR报
2、表开发10 HYPERLINK l _TOC_250003 HR相关数据库表10 HYPERLINK l _TOC_250002 常用函数和宏 HYPERLINK l _TOC_250001 宏RP_PROVIDE_FROM_FRST 和RP_PROVIDE_FROM_LAST.函数 RH_STRUC_GET12函数HR_READ_FOREIGN_OBJECT_TEXT13函数134. 其他15 HYPERLINK l _TOC_250000 PNP和PCH 里的变量15时间交叉15权限检查16概述本文介绍了SAPHR 模块报表开发的相关经验结合本人参与项目所做的开发工作,汇总整理了一些在HR
3、 开发中需要注意的地方,并介绍了有用的技巧。相信本文对初级从事HR 开发工作的相关人员有一定帮助。因为笔者相关经验也在积累过程中,也许本文中会出现一些错误,还望见谅指正。HR开发介绍HR 报表开发主要涉及到逻辑数据库的应用,相关的开发工作也主要围绕着逻辑数据库进行。逻辑数据库介绍逻辑数据库则提供另一种选择数据的方式,可以代替SQL 语句在数据库中提取数据,供程序操作。因而,可以认为逻辑数据库是一种报表设计程序中的辅助工具,而不能将其误解为一种可进行数据存储的数据库。SAP 中提供多种类型的逻辑数据库,开发人员也可自行定义数据源。Transaction CodeSE36 或SLDBHR 相关逻辑
4、数据库HR PNP( PNPCE)和PCH 的应用。其中PNPCE 是PNP 的加强。但是本文所举例子,皆是PNP PNPCE 逻辑数据库,会再进行补充。程序中使用逻辑数据库非常方便,只要在程序属性里选择关联到就可以实现,直接在程序里就可以使用。word 格式-可编辑-感谢下载支持PNPPNP 逻辑数据库主要针对人事信息的查询。PNP 查询到的信息是以人为单位的,每次查询到一个人相关信息。如果报表的信息是关于个人人事信息的内容,首先考虑PNP 逻辑数据库。逻辑数据使用,首先要在程序里定义 TABLES: PERNR。PERNR 是一个结PERNR pernr-pernr 并附带这个人的相关数据
5、。如果想让每次返回的人员附带信息类型数据,需要在程序里定义INFOTYPES: (包括自定义增强的信息类型如果声明了信息类型,则在返回个人信息的时候,也顺带返回这个人的一个Pnnnn Pnnnn 的内容根据屏幕选择字段内容确定(PNPCE 逻辑数据库返回的内容与PNP 有所不同)。程序里想使用逻辑数据,在主程序里调用 GET PERNR。GET pernr 类似于一个循环,每次返回一个pernr 结点,就是一个人,我们可以对这个人的信息进行处理。当把所有的人都处理完了,那我们所得到的就是需要的数据了。所以使用PNP 逻辑数据库,最少得有三行:TABLES: PERNR INFOTYPES: G
6、ETPERNR.word 格式-TABLES: PERNR INFOTYPES: GETPERNR.IDES 系统里有例程: ZPSOL010PCHPCH 逻辑数据库主要是对应于组织管理。相对于PNP PCH 每次返回的结点是OBJEC 类型,代表一个对象。这些对象包括在PP01 可以维护的对象(O,S,等等),随其一同返回的也是OM 的信息类型(1000,1001等)PCH 查找结点,除了标准的选择条件之外,还可以应用评估路径,这样大大增强了PCH的可用性。同PNP逻辑数据库一样,PCHTABLES:OJBEC可以使用,返回的也是objec 结构。使用方法基本同PNP 逻辑数据库类似。所以也
7、必须要添加三行:TABLES: OJBEC TABLES: OJBEC INFOTYPES: GETOBJEC.IDES 系统里有例程: ZHSOL010逻辑数据库的选择屏幕PNP 的选择屏幕默认的 PNP 选择屏幕如下:word 格式-可编辑-感谢下载支持屏幕主要分为两个部分,期间选择和条件选择,最上面一排按钮还可以进行进一步选择。同时,我们还可以自定义我们的选择屏幕。标准选择屏虽然功能完备,但界面繁琐,很多时候客户并不接受,所以我们大多都使用自定义的选择屏幕。注意: 在下面选择窗口中的组织结构选择,只能找寻这个组织部门下面的子部门的人员,可以在上排按钮中选,这里边选择的部门,会搜寻 到下级
8、子部门。使用自定义选择屏幕,可在程序属性里选择。当我们关联到PNP 逻辑数据库,再进属性界面,会多出个按钮HR 报告类面的地方。word 格式-可编辑-感谢下载支持在HR 选择屏幕也可以在IMG 里定义。我们可以再报表类别中创建我们自定义的报表选择条件,这样基本上能满足客户的需要。例如:word 格式-可编辑-感谢下载支持NP 逻辑数据库的选择,需要我们自己处理。标准的屏幕选择定义在程序:DBPNPSEL 。如果我们需要在程序的初始屏幕赋值或做一下定制化的内容,可参考程序DBPNPSEL 里的定义。其中最常见的客户要求可能就是时间期间选择。客户通常希望能按自己的要求来自动选择期间,我们可以用程
9、序变式的方式来实现,但有时候,客户的要求我们也可以再程序初始化的实现,尤其是一些按钮的选择,让他们出现在默认状态也是客户经常提出的。例如,客户想把期间选择默认为当前月,其实很简单,在初始化的时候加入代码:PNPTIMED =M当前月word 格式-可编辑-感谢下载支持这些变量的声明都可以再DBPNPSEL 很多事情我们都可以再初始化的时候做。PCH 的选择屏幕PCH 选择屏幕没有报告类可以配置,因为他的默认选择屏幕相对比较简单。这个界面只有期间选择和对象选择,所以没有报告类可供我们自由配置。是可以很容易加入进去。在代码中除了声明 TABLE ojbec TABLE 可以出现评估路径的选择界面这
10、样的界面基本上就能满足我们大部分的需要了,如果还有不够的,那我们可以还可以再程序里自己定义屏幕选择条件。同样,我们自己定义的屏幕选wordword格式-感谢下载支持择条件是不影响逻辑数据库的返回值,所以要我们根据选择条件自己再进行后续处理。大部分时候,对象类型,评估路径等内容我们都会根据程序确定好,做成PCH gdstr 是必须要声明的。DBPCHSEL 声明了PCH PNP 处理方法对初始屏幕进行定义。HR 报表开发HR 相关数据库表HR 报表开发很肯定会涉及到数据库表,因为SAP 的数据都存放在表里。PNP 逻辑数据最常用的就是PAnnnn 的表,人事数据的信息类型数据都存Pnnnn 其实
11、就是PAnnnn Pnnnn PAnnnn 的定义即可。PCH 逻辑数据库对应的是表HRPnnnn,一般我们常碰到就是HPR1000、HRP1001,这两个表分别是对象定义和对象关系。一个对象的自身描述都是定义在HRP1000 如果想关联两个对象,那HRP1001 表就是最好的查找对象。当然还有很多我们常碰到的表,通过F1 帮助,我们大多都能找到他们。常用函数和宏HR 常用逻辑数据库,尤其是PNP 逻辑数据库提供很多常用的宏和函数供我们使用。宏RP_PROVIDE_FROM_FRST和RP_PROVIDE_FROM_LAST宏RP_PROVIDE_FROM_FRST 和RP_PROVIDE_F
12、ROM_LAST 是一对相对应的宏,也是我们PNP 逻辑数据库里最常用的一组宏。这对宏的作用就是在返回个人信息的结构Pnnnn 里提取时间最早和时间最晚的记录。具体用法:RP_PROVIDE_FROM_FRST Pnnnn subtype BEGDA ENDDARP_PROVIDE_FROM_FRST Pnnnn subtype BEGDA ENDDARP_PROVIDE_FROM_LAST Pnnnn subtype BEGDA ENDDA其中Pnnnn 处填写子信息类型,如果没有字信息类型,此处传入 SPACE,后面两个是参数时间,即开始时间和结束时间。这个宏处理过后,会将开始时间和结束时
13、间之间的,时间最早(晚)条数据,放入Pnnnn 表头(工作区)。PNP 还有许多有用的宏,可以帮助我们快速处理数据,具体宏的定义,可参见程序 DBPNPMAC。RH_STRUC_GETact_plvar= 01RH_STRUC_GETact_plvar= 01PNP 和这个函数在程序里都是最好补充。这个函数是根据评估路径返回一个objec 又调用了一次PCH 逻辑数据库的感觉。因为我们每次只能选择一个逻辑数据库,所以在PNP 里或是在PCH 里,想再次通过评估路径来查找一些信息,这loop PCH 逻辑应用,十分好用。例如:CALL FUNCTION CALL FUNCTION RH_STRU
14、C_GETEXPORTINGEXPORTINGact_otypeact_otype= Oact_objidact_objid= t_itab-objidact_wegidact_wegid= PERS-Oact_begda=pchoend期末act_endda=pchoendTABLESTABLESresult_objecresult_objec= tab_org1EXCEPTIONSEXCEPTIONSno_plvar_found=1no_entry_found=2OTHERS=3.有了评估路径,无论是从O,S,P,我们都可以通过函数找到我们需要的结点。PNP 里是以P 为主,如果我们想得到
15、相关O、S 的信息;或是在PCH 里进行二次的查找,这个函数都是十分管用的。HR_READ_FOREIGN_OBJECT_TEXT函数HR_READ_FOREIGN_OBJECT_TEXT在SAP 系统中,大部分对象存在的方式的都是以ID 的方式记录在数据库表 模块也不例外,但是HR HR_READ_FOREIGN_OBJECT_TEXT这个函数是返回对象的名称文本,例如:CALL FUNCTION CALL FUNCTION HR_READ_FOREIGN_OBJECT_TEXTEXPORTINGEXPORTINGotype=Oobjid=g_orgehbegda=pn-enddaendda
16、=pn-enddaIMPORTINGIMPORTING*SHORT_TEXT=object_textobject_text= l_dw_textEXCEPTIONSEXCEPTIONSnothing_found=1wrong_objecttype=2missing_costcenter_data=3missing_object_id=4OTHERS=5PYXX_READ_PAYROLL_RESULT函数PYXX_READ_PAYROLL_RESULTCU_READ_RGDIR这个函数主要是获取员工工资,大部分时间要和函数CU_READ_RGDIR配合使用,这里不再赘述,由于用法比较简单可自行揣
17、摩。值得注意的地方就是函数 CU_READ_RGDIR 函数返回结果中表项srtza 的筛选和PYXX_READ_PAYROLL_RESULT 返回表工资是放在payroll_result-inter-rt 内表中举例:*CALL FUNCTION CU_READ_RGDIR EXPORTINGpersnrBUFFER NO_AUTHORITY_CHECK IMPORTINGMOLGATABLESin_rgdir EXCEPTIONS= ipernr= =prgdir pc261结果表no_record_found= 1OTHERS= 2.loop at loop at prgdir wher
18、e FPPER = iperiod and SRTZA = A and PAYTY = . pseqnr = prgdir-SEQNR.endloop.CALLFUNCTION PYXX_READ_PAYROLL_RESULTEXPORTING*clusteridemployeenumber=ipernr*sequencenumberREAD_ONLY_BUFFER=pseqnr*READ_ONLY_INTERNATIONAL=*ARC_GROUPcheck_read_authority=XFILTER_CUMULATIONSCLIENTIMPORTINGVERSION_NUMBER_PAYV
19、NVERSION_NUMBER_PCL2CHANGINGpayroll_result=X= tpayresultEXCEPTIONSillegal_isocode_or_clusterid=1error_generating_import=2import_mismatch_error=3subpool_dir_full=4no_read_authority=5no_record_found=6versions_do_not_match=7error_reading_archive=8error_reading_relid=9OTHERS=10.其他word 格式-可编辑-感谢下载支持PNP PCH 里的变量其实我们在看PNP 和PCH 里程序是时常会看到些变量,这些变量是PNP PCH DBPNPCOM DBPCHCOM 里。PNP pn-begda 和pn-endda,他们是属于结构pn 的,都是在DBPNPCOM 里定义的。这两个值,会在程序程序执行的时候赋值成屏幕选择字段的数据选择期间,即屏幕字段pnpbegda 和pnpendda。在程序里我们就可以直接使用的pn-begda 和pn-endda是数据的有效期,如果
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 特种设备岗位试题及答案
- 畜牧发展面试题目及答案
- 国际商业美术设计师考试中的视觉传播理念与试题及答案
- 公文作文考试题及答案
- 测试实例面试题目及答案
- 北京中院面试题目及答案
- 图像描摹考试题及答案
- 2024年国际商业美术设计师考试创新设计探究试题及答案
- 幼儿模拟测试题及答案
- 恙虫病护理的试题及答案
- 妊娠合并垂体侏儒的护理查房
- 厨房消防安全培训课件
- 全国工会财务知识竞赛题库及答案
- 保险学(第五版)课件 魏华林 第9、10章 再保险、保险经营导论
- 田忌赛马何捷教学设计
- 人工智能原理与技术智慧树知到课后章节答案2023年下同济大学
- 某高速公路岩土工程勘察报告
- SL631-637-2012-水利水电工程单元工程施工质量验收评定标准
- 人教版七年级生物下册《血流的管道-血管》评课稿
- 门诊办运用PDCA提高门诊预约挂号率品管圈成果汇报
- 市场开拓委托合同书
评论
0/150
提交评论