SAP HCM 如何计算缺勤实数

导读

INTRODUCTION

缺勤实数:这几天好几个朋友问题有什么办法可以计算出缺勤的时长,因为计算时长需要和排班去匹配,所以逻辑复杂度还是比较高的,希望有标准的函数能完成。其实SAP有个标准的函数可以完成,复杂的时候填充的参数特别多,所以今天介绍一个函数PA30保存2001的时候会调用,这样可以知道标准参数需要填充什么值。

作者:vivi,来源:osinnovation

一、具体函数名称:

函数名:HR_ABS_ATT_TIMES_AT_ENTRY,这个函数关键是填充0000、0001、0002、0007、2001、2002、2003这几个内表,注意,这里内表我们最好是填充全量值,特别是2003内表,Why?因为底层函数判断经常会找前天与后天的班次(真要针对的跨夜班),所以如果数据不全,查询的数据不全。如果是用逻辑数据库,那么get pernr即可。

二、函数OR报表的具体解决方案:

方案一:报表中调用此函数,那么就方便,我们启用逻辑数据库,在报表中tables:0000,0001,0002,0007,2001,2002,2003就可以,系统会自动抓取内表数据。方案二:在函数中调用report的数据,例如下图参考就是函数中调用标准的报表,然后从标准报表中抓内表数据到函数中。

DATA: selectable LIKE TABLE OF rsparams.  "选择参数内表DATA: selectline LIKE LINE OF selectable.

  CLEAR selectline.

   selectline-selname = 'PNPPERNR'.

   selectline-kind = 'S'.

    selectline-sign = 'I'.
    selectline-option = 'EQ'.
    selectline-low = wa_data-pernr.
    APPEND selectline TO selectable.

    CLEAR selectline.
    selectline-selname = 'PNPTIMR6'.
    selectline-kind = 'P'.
    selectline-low = 'X'.
    APPEND selectline TO selectable.

    CLEAR selectline.
    selectline-selname = 'PNPBEGDA'.
    selectline-kind = 'P'.
    selectline-low = lv_begda.
    APPEND selectline TO selectable.

    CLEAR selectline.
    selectline-selname = 'PNPENDDA'.
    selectline-kind = 'P'.
    selectline-low = lv_endda.
    APPEND selectline TO selectable.

*按工资核算的历经期
    CLEAR selectline.
    selectline-selname = 'FOR_VIEW'.
    selectline-kind = 'P'.
    selectline-low = 'X'.
    APPEND selectline TO selectable.

*收入类别
    CLEAR selectline.
    selectline-selname = 'SALA'.
    selectline-kind = 'P'.
    selectline-low = 'X'.
    APPEND selectline TO selectable.

    CLEAR selectline.
    selectline-selname = 'BONU'.
    selectline-kind = 'P'.
    selectline-low = 'X'.
    APPEND selectline TO selectable.

    CLEAR selectline.
    selectline-selname = 'STOC'.
    selectline-kind = 'P'.
    selectline-low = 'X'.
    APPEND selectline TO selectable.

    CLEAR selectline.
    selectline-selname = 'SEVE'.
    selectline-kind = 'P'.
    selectline-low = 'X'.
    APPEND selectline TO selectable.

    CLEAR selectline.
    selectline-selname = 'CPER'.
    selectline-kind = 'P'.
    selectline-low = 'X'.
    APPEND selectline TO selectable.

    CLEAR selectline.
    selectline-selname = 'ICI'.
    selectline-kind = 'P'.
    selectline-low = 'X'.
    APPEND selectline TO selectable.

    CLEAR selectline.
    selectline-selname = 'IDB'.
    selectline-kind = 'P'.
    selectline-low = 'X'.
    APPEND selectline TO selectable.

*员工类型
    CLEAR selectline.
    selectline-selname = 'CHRD'.
    selectline-kind = 'P'.
    selectline-low = 'X'.
    APPEND selectline TO selectable.

    CLEAR selectline.
    selectline-selname = 'CHOB'.
    selectline-kind = 'P'.
    selectline-low = 'X'.
    APPEND selectline TO selectable.

    CLEAR selectline.
    selectline-selname = 'CHCW'.
    selectline-kind = 'P'.
    selectline-low = 'X'.
    APPEND selectline TO selectable.

    CLEAR selectline.
    selectline-selname = 'RDPR'.
    selectline-kind = 'P'.
    selectline-low = 'X'.
    APPEND selectline TO selectable.

*输出格式
    CLEAR selectline.
    selectline-selname = 'RB_ALV'.
    selectline-kind = 'P'.
    selectline-low = 'X'.
    APPEND selectline TO selectable.

    CLEAR selectline.
    selectline-selname = 'TOTAL'.
    selectline-kind = 'P'.
    selectline-low = 'X'.
    APPEND selectline TO selectable.
    EXPORT lv_flag = 'X' TO MEMORY ID 'HCNCTXM0'.
    SUBMIT hcnctxm0 WITH SELECTION-TABLE selectable AND RETURN.
    IMPORT it_data_tax FROM MEMORY ID 'MH253'.
    IF sy-subrc = 0.
      FREE MEMORY ID 'MH253'.
    ENDIF.

图片

三 总结

如果不知道此函数如何传参数,还有一个最简单的办法,就是在函数HR_ABS_ATT_TIMES_AT_ENTRY中打一个断点,然后PA30中选择2001信息类型,输入相应时间,点保存就会进入此函数,可以看看系统标准是如何传参数的。

  • 16
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要自学SAP HCM,你可以按照以下步骤进行: 1. 熟悉SAP HCM的基本概念:开始之前,了解SAP HCM的基本概念和术语是很重要的。可以通过阅读相关的文档、书籍或在线教程来了解SAP HCM的基础知识。 2. 学习SAP HCM的功能模块:SAP HCM包含多个功能模块,如人力资源管理、薪酬管理、绩效管理等。选择一个你感兴趣的模块开始学习,并深入了解该模块的功能、配置和操作。 3. 寻找合适的学习资源:有很多学习资源可以帮助你学习SAP HCM,例如官方文档、在线教程、培训课程等。你可以根据自己的学习风格和需求选择适合你的资源。 4. 搭建实验环境:为了更好地学习和实践,建议你在自己的电脑或云服务器上搭建一个SAP HCM的实验环境。这样你可以进行实际的操作和配置,加深对系统的理解。 5. 参加培训课程或认证考试:如果你希望获得官方认可的SAP HCM技能,可以考虑参加官方的培训课程或认证考试。这将提供更系统和全面的学习体验,并为你的职业发展带来一定的优势。 6. 实践和项目经验:除了理论学习,实际的实践和项目经验对于掌握SAP HCM也非常重要。尝试参与实际的SAP HCM项目或者通过自己搭建的实验环境进行实践,这样可以更好地应用你所学到的知识。 记住,自学SAP HCM需要耐心和坚持,同时也要注重理论和实践的结合。尽量多使用各种资源和交流平台,与其他学习者和专业人士进行交流和分享经验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值