当前位置: 首页 > news >正文

HR模块中PA信息类型的相关函数

目录

    • 1、新增、删除,修改:HR_INFOTYPE_OPERATION
      • 新增:INS
      • 删除:DEL
      • 修改:MOD
    • 2、读取PA信息类型:HR_READ_INFOTYPE
    • 3、入职,生成新工号用:HR_PAD_HIRE_EMPLOYEE
    • 4、加锁:BAPI_EMPLOYEE_ENQUEUE
    • 5、解锁:BAPI_EMPLOYEE_DEQUEUE

1、新增、删除,修改:HR_INFOTYPE_OPERATION

新增:INS

备注:这里新增是以PA0008这个信息类型为例

  DATA: ls_p0008  TYPE p0008.
"先把0008信息类型的字段赋值ls_p0008-waers = iv_waers.ls_p0008-pernr = lv_pernr.ls_p0008-infty = '0008'.ls_p0008-endda = '99991231'.
*  ls_p0008-trfar = is_input-trfar.ls_p0008-trfgb = 'NA'.ls_p0008-trfgr = '无职级'.ls_p0008-trfst = 'NA'.ls_p0008-bsgrd = '100'.ls_p0008-divgv = '174'.IF ev_sspt = '17'.ls_p0008-trfar  = 'I1'.ELSEIF ev_sspt = '12'.ls_p0008-trfar  = 'A5'.ELSEIF ev_sspt = '10'.ls_p0008-trfar  = 'A6'.ELSE.ls_p0008-trfar  = 'A4'.ENDIF.ls_p0008-lga01 = iv_lgart.ls_p0008-bet01 = iv_salar.DATA ls_return TYPE bapireturn1."清缓存CALL FUNCTION 'HR_INITIALIZE_BUFFER'EXPORTINGpernr = lv_pernr.
CALL FUNCTION 'HR_PSBUFFER_INITIALIZE'."加锁CALL FUNCTION 'BAPI_EMPLOYEE_ENQUEUE'EXPORTINGnumber = lv_pernrIMPORTINGreturn = ls_return.IF ls_return-type CA 'AEX'.es_message-msgty = 'E'.es_message-msgtx = ls_return-message.EXIT .ENDIF.CLEAR ls_return.CALL FUNCTION 'HR_INFOTYPE_OPERATION'EXPORTINGinfty         = '0008'number        = ls_p0008-pernrsubtype       = ls_p0008-subty "子信息类型
*     objectid      = ls_pskey-objps
*     lockindicator = ls_pskey-sprpsvalidityend   = ls_p0008-endda validitybegin = ls_p0008-begda
*     recordnumber  = ls_pskey-seqnrrecord        = ls_p0008operation     = 'INS'  "INS:新增  DEL:删除 MOD      tclas         = 'A'dialog_mode   = '0'
*     nocommit      = 'X'IMPORTINGreturn        = ls_return.IF ls_return-type CA 'AEX'.es_message-msgty = 'E'.es_message-msgtx = ls_return-message.ELSE.es_message-msgty = 'S'.es_message-msgtx = '成功'.ENDIF."解锁CALL FUNCTION 'BAPI_EMPLOYEE_DEQUEUE'EXPORTINGnumber = lv_pernr.

删除:DEL

修改:MOD

2、读取PA信息类型:HR_READ_INFOTYPE

 DATA: lt_p0001 TYPE TABLE OF p0001,ls_p0001 TYPE p0001.CALL FUNCTION 'HR_READ_INFOTYPE'EXPORTINGpernr           = iv_user  "员工号infty           = '0001'begda           = iv_begda "查询的开始日期endda           = iv_endda "查询的结束日期
*     BYPASS_BUFFER   = ' '
*     LEGACY_MODE     = ' '
*    importing
*     subrc           =TABLESinfty_tab       = lt_p0001EXCEPTIONSinfty_not_found = 1OTHERS          = 2.IF sy-subrc <> 0.
* Implement suitable error handling hereENDIF.

** 得到的内表数据lt_p0001就是信息类型PA0001的数据 **

3、入职,生成新工号用:HR_PAD_HIRE_EMPLOYEE

4、加锁:BAPI_EMPLOYEE_ENQUEUE

** 锁定员工,对员工操作前,都必须锁定**

 CALL FUNCTION 'BAPI_EMPLOYEE_ENQUEUE'EXPORTINGnumber = lv_pernrIMPORTINGreturn = ls_return.IF ls_return-type CA 'AEX'.es_message-msgty = 'E'.es_message-msgtx = ls_return-message.EXIT .ENDIF.

5、解锁:BAPI_EMPLOYEE_DEQUEUE

加锁和解锁是一起使用的,只要有加锁那必定要有解锁

  "解锁CALL FUNCTION 'BAPI_EMPLOYEE_DEQUEUE'EXPORTINGnumber = lv_pernr.
http://www.lryc.cn/news/410186.html

相关文章:

  • c# 日期类型变量默认值
  • 设计模式实战:任务调度系统的设计与实现
  • 代码中的特殊注释
  • ubuntu20.04.6 安装Skywalking 10.0.1
  • C++:map和set
  • 深入理解二叉搜索树:定义、操作及平衡二叉树
  • vue3组件通信(二)
  • 关键词查找【Boyer-Moore 算法】
  • 【前端手写代码】手写Object.create
  • 速通JS模块化规范
  • HamonyOS性能优化工具和方法
  • 前端实现边下载文件边上传
  • 滑线变阻器的优缺点是什么?
  • K8s大模型算力调度策略的深度解析
  • Unity Transform组件实现动画:基础与进阶技巧
  • 基于深度学习的图像与文本结合
  • windows安全加固
  • 网络安全是什么?怎么入门网络安全?
  • 语义分割介绍
  • Unity Editor免登录启动 无需UnityHub
  • Redis实战篇(黑马点评)笔记总结
  • vulntarget-b
  • Axure Web端元件库:构建高效互动网页的基石
  • mac OS matplotlib missing from font(s) DejaVu Sans
  • 在 .NET 中使用 Elasticsearch:从安装到实现搜索功能的完整指南
  • Ecovadis认证的步骤需要怎么做?
  • git sendemail使用
  • 【React】package.json 文件详解
  • 【嵌入式开发】Keil下载安装
  • 【vluhub】elasticsearch漏洞