SAP HCM人事报表开发的一些个人经验

来源:互联网 发布:mac淘宝无法上传图片 编辑:程序博客网 时间:2024/04/28 01:21

前言

自打来了SAP Labs以后,码abap搬砖一直是自己的日常任务,之前说好的对sap产品业务的学习也变得缺乏动力了,所以只好借着所做的项目中去了解点业务知识吧- - 话说回来,从入职到现在做的项目都是人事相关的report的开发.我表示,怎么都是report啊...做的我整个人都report了- -

正文

所谓的人事报表就是一个单位要对员工的各种信息做个汇总然后用于上报到有关部门或者到上级领导(我自己的感觉...),各种报表需要的员工信息都是因所需目的不同而不同的.因此所导致的结果就是,我们系统里的每个country version下面充满各种不同的报表,这些报表基本都是一些该国家的法定报表,总之就是让人看了就觉得有点眼花- -
不过,对于这些报表的开发其实都是大同小异,作为一名底层搬砖工,这种活就肯定落到了我头上了...那么我自己大约总结了一下,开发这么一个报表需要以下这么五个步骤:
  1. 明确需求: 明确需要哪些信息(如:员工号码,当月工资收入,奖金收入等等...),需要哪些控制条件(如:显示总和,显示小计,显示regular period等等选项),需要何种展现方式(如:ALV, PDF),文件下载选项(如:文件路径选择,文件名输入,文件格式选择等等).
  2. 建立对应selection screen:根据以上的所需的一些选项建立对应的block,comment,check box,radio button, parameters之类的在selection screen上的component. 其中对这些component的状态控制(如:可否编辑,是否在一定条件下隐藏)可以在对应的component上加上modify id,然后在主程序的'AT SELECTION-SCREEN OUTPUT'的event下做一个screen的循环并且加一些if条件的控制来进行实现. 其中这部分代码可以放到一个include文件去完成.
  3. 建立相关structure:根据所需信息字段建立一个structure(或者在DDIC里创建),同时也可以创建一些相关的global 变量,当然这些data declaration也可以放到一个include里面去.
  4. 根据所给条件导入数据:在主程序的'START-OF-SELECTION'的event下面,可以把get pernr(peras) 这个循环来获得选取一条条的获取对应的employee的数据. 在这个循环里,当我们想取得该员工的工资信息时,则需将对应的保存工资结果的cluster表给导入进来.这里的导入可以通过几个function来实现,大致的流程应该是:Read cluster CU to RGDIR(payroll directory) > filter the payrolls within the specified period > Get the detailed payroll results. 接着就可以通过循环所导入的result table里的记录来得到每一期的payroll信息.对于PA数据的话,可以通过rp_provide_from_last的宏来拿到最新的PA数据.
  5. 用ALV展示数据或者提供数据下载:将结果用ALV显示出来或者将结果下载出来,具体的ALV展示在之前有介绍.
感觉这样的步骤是自己目前做report的方式,其中也包含了很多逻辑处理也放在了数据整理与结果展示上。

总结

总之report似乎是现在手头做的最多的东西了,希望通过本篇可以巩固自己对report开发的熟练度,也希望有将来自己看到这篇的时候还能回忆起来这么一个流程,哈哈

原创粉丝点击