《(s实施)s中比较好用的功能》由会员分享,可在线阅读,更多相关《(s实施)s中比较好用的功能(12页珍藏版)》请在金锄头文库上搜索。
1、1. HFIUCPL0我们都知道,在SAP中维护员工的主数据时,为了保证数据的一致性,SAP会自动的把当前的员工数据锁定,这样其他的用户就只能查看,而不能维护。这个设计是SAP严谨性的一个体现,但是同时也给实际的使用带来了一定的困扰,尤其是在结算工资的时候,经常会碰到运行了工资计算的程序后,发现一堆错误都是“用户不能锁定“的错误。只能一个一个打电话或者发mail去催促别人赶紧完成主数据的维护。有没有一个好的方法来解决这个问题呢?答案当然是有的,并且不止一种:1.通过流程来规范:规定主数据的维护(包括人事资料、考勤数据等)的截止时间。但是这种方法在实际执行的过程中,效果也不是特别好,毕竟执行力不
2、是通过一些流程的规范就能够提高的;2.通过技术的手段来处理:SAP已经考虑到了这个问题,所以提供了一个标准的程序,可以在运行工资计算的程序之前,先检查一下有哪些员工的数据是不能锁定的,必要的时候还可以发mail通知,甚至把该用户的session给踢掉(当然需要相应的授权)。这个程序的名字就是我今天要介绍的主角HFIUCPL0。图1HFIUCPL0运行界面如上图,上半部分是选择的界面,和其他人事的报表的选择界面大同小异。下半部分是程序运行的选项,从上到下依次是: 只显示锁定的用户:显示哪些员工的数据当前被哪个用户锁定图2显示锁定的用户 发送mail给用户:给锁定的用户发mail 踢掉锁定用户的s
3、ession:把锁定用户的session给踢掉有了这个程序以后,我们就可以通过运行它来做工资计算之前的检查了。它的TCode是PC00_M44_UCPL,当然我们也可以自定义一个Z开头的、容易记忆的TCode。2. RDDKOR54顾问在实施的时候,主要的工作之一就是维护IMG中的数据。而IMG说穿了,也就是一堆堆的Table或者View。所以顾问实际上也就是在维护Table或者View的数据。但是有个问题是顾问在维护的时候经常碰到的,就是”命名空间“。比如说维护工资项的时候,是不允许用字母开头的;维护自定义的rule的名称时,是不允许用A-Y打头的等等。如果你没有使用用户的命名空间,而是使用
4、了SAP的命名空间,一般情况下,你的下场有两个:1. 无法保存;2. 以后在升级版本的时候,你做的修改被SAP所覆盖所以顾问在配置系统的时候,还是要遵守命名空间的规定的。当然,有些有经验的项目团队会在项目配置开始之前,就先准备一个命名规范,规定报表如何命名,工资项如何命名等,这样也就防止了上述问题的发生。但是,会不会有人会问:SAP到底有哪些给用户使用的命名空间呢?这个问题,可以通过运行程序-RDDKOR54来得到答案。如上图,就是程序的运行界面,你可以输入你要维护的Table或者View的名称。如以Personnel Calculation Rule的名称为例,我们知道Personnel C
5、alculation Rule是保存在T52CE表中,就在文本框中输入T52CE,然后运行,得到如下画面:我们从程序运行的结果可以清楚的看到,Personnel Caluation Rule的用户命名空间是不包括A-Y开头的。有人也许会问:怎么知道我要维护的表或者试图的名称是什么呢?鉴于这个问题太过”三俗”,我就不在这里回答了,自己想办法解决吧J3.TABLE和VARGB今天不谈报表,谈一下SAP Payroll中比较常用的两个OperationTABLE和VARGB。为什么要说这两个Operation?起因是来自于网上的一个帖子:一个老印(如果我没猜错的话,应该是个印度人)讲述了他碰到的一个
6、问题。他们的系统中在信息类型0001中增加了一个自定义字段”能否享受福利基金”,选择”E-是”或者”N-否”。然后在工资计算中去读取这个值,来计算对应的金额。他们自定义的PCR类似下面这样:TABLEP0001VARGBZZZZ(自定义字段的字段名)*ADDDWTE就像童话故事的结局一样,他们已经解决了计算福利基金的问题,从此过上了幸福的生活。但是,悲剧发生了。他们最近碰到了一个问题:有一名员工, 2010/01/01能享受福利基金;到了2010/03/01的时候,不能享受了。结果在算3月份工资的时候,由于其他的主数据更改导致回算到1月份的工资,发现回算的1月份、2月份的工资里面都把福利基金给
7、扣掉了。也就是说:在回算1月份、2月份的工资时,VARGBZZZZZ取出来的数不是”E”。为什么会这样呢?难道TABLE不支持回算吗?我发现这个问题挺有趣的,所以就研究了一下。发现这里面又隐藏了一个SAP不告诉你的秘密:TABLE后面确实可以支持很多表的名称(不仅仅是帮助文档中提到的那些表),比如TAX、PXXXX等,也确实都能和VARGB配合取得到栏位的数据。但是只有少数几个才支持回算,其他的在回算的时候都不保证正确。而这些支持回算的表的名称,就都在TABLE的帮助文档中。所以下次使用这两个Operation的时候要注意了。有兴趣看原始问题的讨论,在这里4. RPUDEL20在实际使用系统的
8、过程中,总有各种各样的意外情况发生,有些时候逼得你不得不删除掉SAP中计算过的工资结果。SAP中是有删除Payroll Result的程序的,Tcode是PU01。不过这个程序有两个缺点:1.一次只能操作一个人;2.一次只能删除最后一次计算的记录;换句话说,如果有5个人的记录错了,起码要删5次;而如果有的人的记录是涉及到多个月的,这个数目还要增加。但是SAP没有告诉你的是:它还有另外一个程序,可以解决上述的问题,这就是RPUDEL20。运行界面如下注意看了,程序的名称为“Delete Payroll Results”,看到了吧?是复数形式。运行后,可以看到类似下面的画面:程序会把选择的所有员工
9、的所有Payroll Result的记录全部都列出来。如果要删除,在前面的选择框打钩,并点击删除按钮。系统就会提示:然后就看到执行后的结果:是不是很强大?不要羡慕哥,哥只是个传说:)5.如何查看哪些工资项应税经过多日的奋战后,你终于完成了工资项配置的任务。长舒一口气,喝了点茶,接下来该做什么了?对了,你应该检查一下你的配置是否正确。但是,你已经恨透了使用SM30来查看一个一个工资项的具体配置,尤其是V_512W_D里面翻页还特别麻烦。有没有更好的方法呢?我不知道你是怎么做的,但是我可以告诉你我是怎么做的:使用程序RPDLGA20。举例来说,工资项有一个很重要的配置就是是不是应税,这个是设置工资
10、项是否累计到/103中来实现的。但是配置的时候,是一个工资项一个工资项的设置,怎么能查看到所有应税的工资项有哪些呢?我们运行完报表RPDLGA20后,可以看到类似的界面:其中,我们要找应税的工资项,应该在Cumulation wage type中找/103,找到后,展开:是不是所有应税的工资项都查出来了?当然,这只是这个程序的很多功能中的一个,更多强大的功能还有待你去发现!6.如何查询一个员工的所有信息SAP的Infotype是一个很好的架构设计,充分满足了信息存储的要求,包括各种不同的信息以及各个国家甚至企业的不同要求。但是,它同时带来了一个缺点:就是查询的时候不够方便。使用PA20/PA3
11、0查看的时候,只能看得到当前Info Group中的信息类型(还要受到屏幕显示的限制),而且只能看到有没有维护。今天告诉大家一个秘密武器,可以查看所有已经维护的信息,而且是在一个屏幕里。这个武器就是HTWLINF0.在选择屏幕中,输入查询条件,查询后的结果类似如下画面:可以看到员工的所有维护过的信息类型,包括几条记录,分别的起止时间,最后修改的时间、用户等,如果有子类型,还会按照子类型来区分;更方便的是,双击每条记录,都可以跳到PA20中查看详细的信息。7.更改Schema和Rule的Editor Lock在ABAP的程序属性中,有一个叫“Editor Lock”,意思是除了作者以外其他人无法
12、修改。这个功能的本意是很好的,防止别人无意中修改了你的代码,尤其是好不容易才调试正确的代码。但是总会有些人把这个功能用在不好的地方,比如离职前把所有自己开发的程序都设置成Editor Lock的状态,打算让别人接手的时候费点劲。如果正好碰到一个没经验的,可能就真的一筹莫展了。典型的“损人不利己-白开心”。当然,这个的破解方法网上有很多。可是很少人会注意到,SAP HCM模块的Schema和Rule也有类似的设置。如果真的碰到了这种情况,有什么办法来破解呢?所幸的是,SAP提供了一个标准程序-RPUCTF00。程序运行的选择屏幕如下:运行后的结果很简单,就是已经修改成了你要的结果(如果你没有把T
13、est设置为ON的话)。8.查看PA信息类型的变更严格的来说,这个已经是个全国皆知的秘密了。不过为了引出下一篇文章,还是先简单介绍一下。由于HR的数据有很多都是敏感的(要知道很早以前某些人的名字都已经是敏感词了),所以任何对HR数据的修改,最好都有记录可查。国外(具体是欧盟还是美国,记不清了)有一个专门的法律来保护员工的数据不能外泄,所以HR的数据已经被提到了一个很高的高度。不过SAP在设计之初,就已经考虑到了这方面的问题,已经在系统里集成了相应的功能。对HR数据的修改,可以分为两个部分,一个是PA主数据(对应PNP/PNPCE逻辑数据库),一个是PD的数据(对应PCH数据库)。我们今天先来说
14、一下查看对PA主数据的修改记录的程序-RPUAUD00。上图就是该程序的运行界面,可以设置查询的相关条件,运行后,就可以查看哪些信息类型的哪些字段在什么时间被哪个用户修改过,修改前的值是什么,新的值又是什么,很详细的信息。当然,这张报表必须先在后台做完相应的设置之后才会有数据产生。9.查看PD信息类型的变更这篇和上篇是一起的。如果要查看PD信息类型的变更,应该运行报表-RHCDOC_DISPLAY。同样,这个报表的运行,也需要后台配置的支持。10.RHUSERRELATIONSSAP HCM的项目中,每当考虑到权限的问题的时候,都绕不过去一个话题-“结构化授权”。这是SAP HCM特有的权限概念,也是一大创新(起码在我看来)。但是,在我们辛辛苦苦设置完每个用户的权限后,有没有什么地方可以检查授权的情况呢?尤其是结构化权限的部分。当然是有的,SAP标准程序RHUSERRELATIONS就是专门为实现这个目标而开发的。上图就是这个程序的运行界面,可以看的出来SAP考虑的方面还是挺多的,不单单把结构化权限列出来,还可以列出来对应的授权对象,甚至可以显示权限开关的配置以及查找到对应的员工。