




已阅读5页,还剩14页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
精品文档 1欢迎下载 SAPSAP HRHR 模块模块 报表开发报表开发 精品文档 2欢迎下载 目录目录 1 概述 3 2 HR 开发介绍 3 2 1 逻辑数据库介绍 3 2 2 HR 相关逻辑数据库 4 2 2 1 PNP 4 2 2 2 PCH 5 2 3 逻辑数据库的选择屏幕 6 2 3 1 PNP 的选择屏幕 6 2 3 2 PCH 的选择屏幕 10 3 HR 报表开发 12 3 1 HR 相关数据库表 12 3 2 常用函数和宏 12 3 2 1 宏 RP PROVIDE FROM FRST 和 RP PROVIDE FROM LAST 13 3 2 2 函数 RH STRUC GET 13 3 2 3 函数 HR READ FOREIGN OBJECT TEXT 15 3 2 4 函数 PYXX READ PAYROLL RESULT 15 4 其他 17 4 1 PNP 和 PCH 里的变量 17 4 2 时间交叉 17 4 3 权限检查 18 精品文档 3欢迎下载 1 概述 本文介绍了 SAP HR 模块报表开发的相关经验 结合本人参与项 目所做的开发工作 汇总整理了一些在 HR 开发中需要注意的地方 并介绍了有用的小技巧 相信本文对初级从事 HR 开发工作的相关人 员有一定帮助 因为笔者相关经验也在积累过程中 也许本文中会 出现一些错误 还望见谅指正 2 HRHR 开发介绍开发介绍 HR 报表开发主要涉及到逻辑数据库的应用 相关的开发工作也 主要围绕着逻辑数据库进行 2 12 1 逻辑数据库介绍逻辑数据库介绍 逻辑数据库则提供另一种选择数据的方式 可以代替 SQL 语句在 数据库中提取数据 供程序操作 因而 可以认为逻辑数据库是一 种报表设计程序中的辅助工具 而不能将其误解为一种可进行数据 存储的数据库 SAP 中提供多种类型的逻辑数据库 开发人员也可 自行定义数据源 Transaction Code SE36 或 SLDB 精品文档 4欢迎下载 2 22 2 HRHR 相关逻辑数据库相关逻辑数据库 HR 报表开发主要是对逻辑数据库 PNP PNPCE 和 PCH 的应用 其中 PNPCE 是 PNP 的加强 但是本文所举例子 皆是 PNP 的应用 如果将来有机会应用到 PNPCE 逻辑数据库 会再进行补充 程序中使用逻辑数据库非常方便 只要在程序属性里选择关联到 就可以实现 直接在程序里就可以使用 2 2 12 2 1 PNPPNP PNP 逻辑数据库主要针对人事信息的查询 PNP 查询到的信息是 以人为单位的 每次查询到一个人相关信息 如果报表的信息是关 于个人人事信息的内容 首先考虑 PNP 逻辑数据库 逻辑数据使用 首先要在程序里定义 TABLES TABLES PERNRPERNR PERNR 是 一个结构 每次程序返回一个 PERNR 的结点 代表员工号为 pernr pernr 的这个人 并附带这个人的相关数据 精品文档 5欢迎下载 如果想让每次返回的人员附带信息类型数据 需要在程序里定义 INFOTYPES INFOTYPES nnnnnnnn nnnn 代表信息类型编号 包括自定义增强的信 息类型 如果声明了信息类型 则在返回个人信息的时候 也顺 带返回这个人的一个 Pnnnn 的结构 对应相应个信息类型 Pnnnn 的内容根据屏幕选择字段内容确定 PNPCE 逻辑数据库返回的内容 与 PNP 有所不同 程序里想使用逻辑数据 在主程序里调用 GETGET PERNRPERNR GET pernr 类似于一个循环 每次返回一个 pernr 结点 就是一个人 我们可以对这个人的信息进行处理 当把所有的人都处理完了 那 我们所得到的就是需要的数据了 所以使用 PNP 逻辑数据库 最少得有三行 TABLES TABLES PERNRPERNR INFOTYPES INFOTYPES nnnnnnnn GETGET PERNR PERNR IDES 系统里有例程 ZPSOL010ZPSOL010 2 2 22 2 2 PCHPCH PCH 逻辑数据库主要是对应于组织管理 OM 相对于 PNP 逻辑 数据库 PCH 每次返回的结点是 OBJEC 类型 代表一个对象 这些 对象包括在 PP01 可以维护的对象 例如 O S 等等 随 其一同返回的也是 OM 的信息类型 例如 1000 1001 等 PCH 查找结点 除了标准的选择条件之外 还可以应用评估路径 这样 大大增强了 PCH 的可用性 精品文档 6欢迎下载 同 PNP 逻辑数据库一样 PCH 也许要在程序里声明 TABLES TABLES OJBECOJBEC 才可以使用 返回的也是 objec 结构 使用方法基本同 PNP 逻辑数据库类似 所以也必须要添加三行 TABLES TABLES OJBECOJBEC INFOTYPES INFOTYPES nnnnnnnn GETGET OBJEC OBJEC IDES 系统里有例程 ZHSOL010ZHSOL010 2 32 3 逻辑数据库的选择屏幕逻辑数据库的选择屏幕 2 3 12 3 1 PNPPNP 的选择屏幕的选择屏幕 默认的 PNP 选择屏幕如下 屏幕主要分为两个部分 期间选择和条件选择 最上面一排按钮 还可以进行进一步选择 同时 我们还可以自定义我们的选择屏幕 精品文档 7欢迎下载 标准选择屏虽然功能完备 但界面繁琐 很多时候客户并不接受 所以我们大多都使用自定义的选择屏幕 注意 在下面选择窗口中的组织结构选择 只能找寻这个组织 部门下面的人员 如果还有子部门 逻辑数据库并不能返回子部门 的人员 如果想要返回子部门的人员 可以在上排按钮中选择组织组织 结构结构 这里边选择的部门 会搜寻到下级子部门 使用自定义选择屏幕 可在程序属性里选择 当我们关联到 PNP 逻辑数据库 再进属性界面 会多出个按钮 HRHR 报告类报告类 这就是我们 可以自定义选择界面的地方 在 HR 报告类中 可以创建 选择系统提供的和我们自定义的选 择屏幕 选择屏幕也可以在 IMG 里定义 精品文档 8欢迎下载 我们可以再报表类别中创建我们自定义的报表选择条件 这样基 本上能满足客户的需要 例如 精品文档 9欢迎下载 注意 报表类是必须选择现有的字段 如果标准里没有需要的 选择条件 我们可以在程序里自定义屏幕选择 但自定义的选择条 件并不会影响 PNP 逻辑数据库的选择 需要我们自己处理 标准的屏幕选择定义在程序 DBPNPSELDBPNPSEL 如果我们需要在程序的 初始屏幕赋值或做一下定制化的内容 可参考程序 DBPNPSEL 里的定 义 其中最常见的客户要求可能就是时间期间选择 客户通常希望能 按自己的要求来自动选择期间 我们可以用程序变式的方式来实现 但有时候 客户的要求我们也可以再程序初始化的实现 尤其是一 些按钮的选择 让他们出现在默认状态也是客户经常提出的 例如 客户想把期间选择默认为当前月 其实很简单 在初始化 的时候加入代码 PNPTIMED M 当前月 精品文档 10欢迎下载 这些变量的声明都可以再 DBPNPSEL 里找到 我们只要仔细研究 这些声明 很多事情我们都可以再初始化的时候做 2 3 22 3 2 PCHPCH 的选择屏幕的选择屏幕 PCH 选择屏幕没有报告类可以配置 因为他的默认选择屏幕相对 比较简单 这个界面只有期间选择和对象选择 所以没有报告类可供我们自 由配置 这些在大多时候很难满足我们的业务需要 但我们最长用 到的评估路径选择也是可以很容易加入进去 在代码中除了声明 TABLE ojbec 之外 我们只要在声明 TABLETABLE gdstrgdstr 就可以出现评估路径的选择界面 精品文档 11欢迎下载 这样的界面基本上就能满足我们大部分的需要了 如果还有不够 的 那我们可以还可以再程序里自己定义屏幕选择条件 同样 我 们自己定义的屏幕选择条件是不影响逻辑数据库的返回值 所以要 我们根据选择条件自己再进行后续处理 大部分时候 对象类型 评估路径等内容我们都会根据程序确定 好 做成默认输入 或者干脆隐藏起来 但如果要影响 PCH 逻辑数 据库的返回值 objec 和 gdstr 是必须要声明的 程序 DBPCHSELDBPCHSEL 声明了 PCH 选择屏幕的选择字段 我们可以仿照 PNP 的处理方法对初始屏幕进行定义 精品文档 12欢迎下载 3 3 HRHR 报表开发报表开发 3 13 1 HRHR 相关数据库表相关数据库表 HR 报表开发很肯定会涉及到数据库表 因为 SAP 的数据都存放 在表里 PNP 逻辑数据最常用的就是 PAnnnn 的表 人事数据的信息类型 数据都存放在这些表中 PNP 其实就是从这些表中抓取的数据 所 以如果我们需要一些数据 可以直接手动从这些表中抓取 逻辑数 据库返回的结构 Pnnnn 其实就是表 PAnnnn 的子结构 所以想详细了 解 Pnnnn 的结构 只需要仔细研究 PAnnnn 的定义即可 PCH 逻辑数据库对应的是表 HRPnnnn 一般我们常碰到就是 HPR1000 HRP1001 这两个表分别是对象定义和对象关系 一个对 象的自身描述都是定义在 HRP1000 里包括起始时间 名称等 而两 个对象的关系则定义在 HRP1001 如果想关联两个对象 那 HRP1001 表就是最好的查找对象 当然还有很多我们常碰到的表 通过 F1 帮助 我们大多都能找 到他们 3 23 2 常用函数和宏常用函数和宏 HR 常用逻辑数据库 尤其是 PNP 逻辑数据库提供很多常用的宏 和函数供我们使用 精品文档 13欢迎下载 3 2 13 2 1 宏宏 RP PROVIDE FROM FRSTRP PROVIDE FROM FRST 和和 RP PROVIDE FROM LASTRP 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 还有许多有用的宏 可以帮助我们快速处理数据 具体宏的 定义 可参见程序 DBPNPMACDBPNPMAC 3 2 23 2 2 函数函数 RH STRUC GETRH STRUC GET 个人感觉 这个函数是最好用最常用的一个函数之一 无论是 PNP 和 PCH 这个函数在程序里都是最好补充 精品文档 14欢迎下载 这个函数是根据评估路径返回一个 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 里进行二次的查找 这个函数都是十分管用的 精品文档 15欢迎下载 3 2 33 2 3 函数函数 HR READ FOREIGN OBJECT TEXTHR 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 43 2 4 函数函数 PYXX READ PAYROLL RESULTPYXX READ PAYROLL RESULT 这个函数主要是获取员工工资 大部分时间要和函数 CU READ RGDIRCU READ RGDIR 配合使用 这里不再赘述 由于用法比较简单可自 行揣摩 值得注意的地方就是函数 CU READ RGDIR 函数返回结果中 精品文档 16欢迎下载 表项 srtza 的筛选和 PYXX READ PAYROLL RESULT 返回表工资是放在 payroll result inter rt 内表中 举例 CALL FUNCTION CU READ RGDIR EXPORTING persnr ipernr BUFFER NO AUTHORITY CHECK IMPORTING MOLGA TABLES in rgdir prgdir pc261 结果表 EXCEPTIONS no record found 1 OTHERS 2 loop at prgdir where FPPER iperiod and SRTZA A and PAYTY pseqnr prgdir SEQNR endloop CALL FUNCTION PYXX READ PAYROLL RESULT EXPORTING clusterid employeenumber ipernr sequencenumber pseqnr READ ONLY BUFFER READ ONLY INTERNATIONAL ARC GROUP check read authority X FILTER CUMULATIONS X CLIENT IMPORTING VERSION NUMBER PAYVN VERSION NUMBER PCL2 CHANGING payroll result tpayresult EXCEPTIONS illegal isocode or clusterid 1 error generating import 2 import mismatch error 3 subpool dir full 4 no read authority 5 no record found 6 versions do not match 7 error reading archive 8 error reading relid 9 OTHERS 10 精品文档 17欢迎下载 4 4 其他其他 4 14 1 PNPPNP 和和 PCHPCH 里的变量里的变量 其实我们在看 PNP 和 PCH 里程序是时常会看到些变量 这些变量 是 PNP 和 PCH 里固有的变量 在程序里我们可以方便的拿来直接使 用 他们大部分都分别定义在程序 DBPNPCOMDBPNPCOM 和 DBPCHCOMDBPCHCOM 里 PNP 里最常用的变量恐怕就是 pn begda 和 pn endda 他们是属 于结构 pn 的 都是在 DBPNPCOM 里定义的 这两个值 会在程序程 序执行的时候赋值成屏幕选择字段的数据选择期间 即屏幕字段 pnpbegda 和 pnpendda 在程序里我们就可以
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 数据共享协议的法律风险
- 2025年事业单位招聘考试物流类专业能力测试试卷及答案
- 2025年事业单位招聘考试综合类公共基础知识真题模拟试卷(生活智慧库)
- 2025年成都市事业单位招聘考试时事政治真题模拟试卷
- 2025年安徽省事业单位招聘考试综合类无领导小组讨论面试真题模拟试卷
- 2025广东深圳市大鹏新区群团工作部招聘编外人员1人考前自测高频考点模拟试题及答案详解(名校卷)
- 2025年海南省事业单位招聘考试综合类专业能力测试试卷(财务类)真题模拟解析及答案
- 2025年事业单位招聘面试真题模拟试卷:通信科学研究与应用
- 国家安全处置方案
- 幼儿园安全管理制度
- 2025至2030麻醉药行业市场发展分析及投资融资策略报告
- 加油站装修质量管理制度
- 青少年心理健康知识教育主题班会50
- 中韩新农村建设比较:基于路径、成效与启示的深度剖析
- 汽车维修服务中心车辆维修证明书(8篇)
- 《围城》介绍课件
- 2025承包商入厂安全培训考试试题及完整答案(全优)
- 《社会工作法规与政策》课件-第10章 社会团体和公益事业法规与政策
- 分形几何在材料科学中的结构优化-洞察阐释
- 怎样上好科学课
- 上海嘉定区区属国有企业招聘笔试题库2025
评论
0/150
提交评论