77范文网 - 专业文章范例文档资料分享平台

SAP-HR模块报表开发(3)

来源:网络收集 时间:2020-04-13 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

这样的界面基本上就能满足我们大部分的需要了,如果还有不够的,那我们可以还可以再程序里自己定义屏幕选择条件。同样,我们自己定义的屏幕选择条件是不影响逻辑数据库的返回值,所以要我们根据选择条件自己再进行后续处理。

大部分时候,对象类型,评估路径等内容我们都会根据程序确定好,做成默认输入,或者干脆隐藏起来,但如果要影响PCH逻辑数据库的返回值,objec和gdstr是必须要声明的。

程序DBPCHSEL声明了PCH选择屏幕的选择字段,我们可以仿照PNP的处理方法对初始屏幕进行定义。

3. HR报表开发

3.1 HR相关数据库表

HR报表开发很肯定会涉及到数据库表,因为SAP的数据都存放在表里。

PNP逻辑数据最常用的就是PAnnnn的表,人事数据的信息类型数据都存放在这些表中,PNP其实就是从这些表中抓取的数据,所以如果我们需要一些数据,可以直接手动从这些表中抓取。逻辑数据库返回的结构Pnnnn其实就是表PAnnnn的子结构,所以想详细了解Pnnnn的结构,只需要仔细研究PAnnnn的定义即可。

PCH逻辑数据库对应的是表HRPnnnn,一般我们常碰到就是HPR1000、HRP1001,这两个表分别是对象定义和对象关系。一个对象的自身描述都是定义在HRP1000里包括起始时间、名称等,而两个对象的关系则定义在HRP1001,如果想关联两个对象,那HRP1001表就是最好的查找对象。

当然还有很多我们常碰到的表,通过F1帮助,我们大多都能找到他们。

3.2 常用函数和宏

HR常用逻辑数据库,尤其是PNP逻辑数据库提供很多常用的宏和函数供我们使用。

3.2.1 宏RP_PROVIDE_FROM_FRST和

RP_PROVIDE_FROM_LAST

宏RP_PROVIDE_FROM_FRST和RP_PROVIDE_FROM_LAST是一对相对应的宏,也是我们PNP逻辑数据库里最常用的一组宏。 这对宏的作用就是在返回个人信息的结构Pnnnn里提取时间最早和时间最晚的记录。 具体用法:

RP_PROVIDE_FROM_FRST Pnnnn subtype BEGDA ENDDA RP_PROVIDE_FROM_LAST Pnnnn subtype BEGDA ENDDA 其中Pnnnn就是要处理的信息类型,subtype处填写子信息类型,如果没有字信息类型,此处传入 SPACE,后面两个是参数时间,即开始时间和结束时间。这个宏处理过后,会将开始时间和结束时间之间的,时间最早(晚)的一条数据,放入Pnnnn表头(工作区)。 PNP还有许多有用的宏,可以帮助我们快速处理数据,具体宏的定义,可参见程序DBPNPMAC。

3.2.2 函数 RH_STRUC_GET

个人感觉,这个函数是最好用最常用的一个函数之一,无论是PNP和PCH,这个函数在程序里都是最好补充。

这个函数是根据评估路径返回一个objec结构的内表,这就相当于在程序里又调用了一次PCH逻辑数据库的感觉。因为我们每次只

能选择一个逻辑数据库,所以在PNP里或是在PCH里,想再次通过评估路径来查找一些信息,这个函数都提供了很方便的功能。只要给一个入口,然后再loop返回的内表,相当于在成立内嵌了一个小的PCH逻辑应用,十分好用。 例如:

CALL FUNCTION 'RH_STRUC_GET' EXPORTING

act_otype = 'O'

act_objid = t_itab-objid act_wegid = 'PERS-O' act_plvar = '01'

act_begda = pchoend \期末 act_endda = pchoend TABLES

result_objec = tab_org1 EXCEPTIONS

no_plvar_found = 1 no_entry_found = 2 OTHERS = 3.

有了评估路径,无论是从O,S,P,我们都可以通过函数找到我们需要的结点。PNP里是以P 为主,如果我们想得到相关O、S的信息;或是在PCH里进行二次的查找,这个函数都是十分管用的。

3.2.3 函数HR_READ_FOREIGN_OBJECT_TEXT

在SAP系统中,大部分对象存在的方式的都是以ID的方式记录在数据库表中,HR模块也不例外,但是HR报表中,绝大部分的可以都希望显示名称,这时函数HR_READ_FOREIGN_OBJECT_TEXT

就非常有用。当然你也可以把它写到公共子例程里随时调用,我就是这么使用的。

这个函数是返回对象的名称文本,例如:

CALL FUNCTION 'HR_READ_FOREIGN_OBJECT_TEXT' EXPORTING

otype = 'O' objid = g_orgeh begda = pn-endda endda = pn-endda IMPORTING

* SHORT_TEXT = object_text = l_dw_text EXCEPTIONS

nothing_found = 1 wrong_objecttype = 2 missing_costcenter_data = 3 missing_object_id = 4 OTHERS = 5

3.2.4 函数PYXX_READ_PAYROLL_RESULT

这个函数主要是获取员工工资,大部分时间要和函数

CU_READ_RGDIR配合使用,这里不再赘述,由于用法比较简单可自行揣摩。值得注意的地方就是函数CU_READ_RGDIR函数返回结果中表项srtza的筛选和PYXX_READ_PAYROLL_RESULT返回表工资是放在payroll_result-inter-rt内表中 举例:

CALL FUNCTION 'CU_READ_RGDIR' EXPORTING

persnr = ipernr * BUFFER =

* NO_AUTHORITY_CHECK = ' ' * IMPORTING

* MOLGA =

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库SAP-HR模块报表开发(3)在线全文阅读。

SAP-HR模块报表开发(3).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/jiaoyu/936522.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: