SAP HCM 如何根据事件原因分配工号

7 篇文章 0 订阅

导读

INTRODUCTION

工号分配:SAP HCM中员工编号是判断员工的唯一标识,所以可以设置员工分类设置不同员工编号范围,今天遇到的case就是不能按照标准的feature:NUMKR设置分类,根据根据事件原因设置不同的号段。NUMKR的细分维度只有BUKRS、WERKS、PERSG、PERSK没有办法选到时间原因。

作者:vivi,来源:osinnovation

背景:系统已经上线,现在有特殊的人群,需要单独划分员工编号号段,但是单独规划出来的人群,不方便在人事范围、员工组、员工子组设置,所以这个号段的设置就比较难处理,今天是借用事件原因的字段做分类,设置单独的号段。

步骤一、设置对应的员工工号分段

图片

步骤二、通过事物码pe03,设置feature;NUMRK

可以看到系统提供的NUMKR这个feature只能根据这5个维度设置对应的员工编号分组,但是目前因为特殊原因,这五个维度无法满足。

图片

原来在国网的时候我记得原来feature是可以自己写代码的,所以想想是不是可以根据配置加代码双重组合完成这个case,于是看规则中有个否则,点新增有个程序的选项,这里可以设置自己写的report,featue会走这个自定义的代码。

图片

这里我借鉴事件原因来区分,首先看到这个repot只有namen、back、status、struc这几个字段,但是这个几个字段并不是我需要的数据,所以想到是不是可以利用MP00000这个程序的P0000的内表数据,想到原来做过从全局变量获取内存数据,我记得原来刚学ABAP的时候有篇文章叫隔山打牛,获取全局变量程序某个变量的值, fielda = '(MP000000)P0000-MASSG'.大致逻辑是取到P0000内表的MASSG字段,这个字段就是事件原因,如果时间原因是08,那么走的编号范围是04,否则就走01,这样可以把feature与自定义的report结合使用。

图片

步骤三、测试编号范围

开始做测试的时候,是想用MASSN这个事件,在程序中用指针修改massn的值,但是程序一直无法正确生成工号,所以只有借鉴massg字段。

图片

在callpa40的时候,790行就能获取到员工编号。所以只需要三个信息类型就能生成对应的员工编号。

图片

图片

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值