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

导读

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行就能获取到员工编号。所以只需要三个信息类型就能生成对应的员工编号。

图片

图片

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-13 13:32:06       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-13 13:32:06       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-13 13:32:06       58 阅读
  4. Python语言-面向对象

    2024-07-13 13:32:06       69 阅读

热门阅读

  1. springboot的mybatis使用CONCAT模糊查询

    2024-07-13 13:32:06       20 阅读
  2. std::filesystem::current_path().generic_string()的bug

    2024-07-13 13:32:06       23 阅读
  3. 【Android】在渲染生效前提前测量View大小

    2024-07-13 13:32:06       22 阅读
  4. 基于节点嵌入的链接预测(暂时这样吧)

    2024-07-13 13:32:06       19 阅读
  5. C#中where的约束

    2024-07-13 13:32:06       22 阅读
  6. ABP框架中的ISoftDelete与软删除

    2024-07-13 13:32:06       25 阅读
  7. 三级_网络技术_13_局域网技术基础及应用

    2024-07-13 13:32:06       23 阅读
  8. 服务器数据出现丢失该怎样恢复?

    2024-07-13 13:32:06       17 阅读