HR常用BAPI和FM搜罗

 最近正在编几张HR的报表,把用到的一些BAPI和FM整理一下

  1. 读取信息类型
        CALL FUNCTION  ' HR_READ_INFOTYPE '
         EXPORTING
           TCLAS                  
    =   ' A '
           PERNR                 
    =  L_OBJID
           INFTY                   
    =   ' 0001 '
           BEGDA                 
    =  SY - DATUM
           ENDDA                 
    =  SY - DATUM
         TABLES
           INFTY_TAB             
    =  P0001
    主要用来读取 “P” 人事关系信息类型方面的数据。
    其中 TCLAS " A = employee, B = applicant
    INFTY " infotype
    PERNR " employee number
    CALL FUNCTION  ' RH_READ_INFTY '
    *  EXPORTING
    *    AUTHORITY                   =   ' DISP '
    *    WITH_STRU_AUTH              =   ' X '
    *    PLVAR                       =
    *    OTYPE                       =
    *    OBJID                       =
    *    INFTY                       =   '   '
    *    ISTAT                       =   '   '
    *    EXTEND                      =   ' X '
    *    SUBTY                       =   '   '
    *    BEGDA                       =   ' 19000101 '
    *    ENDDA                       =   ' 99991231 '
    *    CONDITION                   =   ' 00000 '
    *    INFTB                       =   ' 1 '
    *    SORT                        =   ' X '
    *    VIA_T777D                   =   '   '
      TABLES
        INNNN                      
    =
    *    OBJECTS                     =
    *  EXCEPTIONS
    *    ALL_INFTY_WITH_SUBTY        =   1
    *    NOTHING_FOUND               =   2
    *    NO_OBJECTS                  =   3
    *    WRONG_CONDITION             =   4
    *    WRONG_PARAMETERS            =   5
    *    OTHERS                      =   6
    主要是读取组织管理信息类型方面的数据。
    其中 OBJID “employee number
  2. 读取RT表
    × 读取RGDIR
         CALL FUNCTION  ' CU_READ_RGDIR '
            EXPORTING
               PERSNR                   
    =  L_PERNR
            TABLES
               IN_RGDIR                 
    =  TAB_IN_RGDIR
    根据读出的记录读出最符合条件的一条。
    LOOP AT TAB_IN_RGDIR WHERE SRTZA = 'A' AND FPPER = L_FPPER.
    L_SEQNR = TAB_IN_RGDIR-SEQNR.
    ENDLOOP.

    ×读PAYROLL表
         CALL FUNCTION  ' PYXX_READ_PAYROLL_RESULT '
            EXPORTING
              EMPLOYEENUMBER                     
    =  L_PERNR2
              SEQUENCENUMBER                     
    =  L_SEQNR
              CHECK_READ_AUTHORITY          
    =   ' X '
            CHANGING
              PAYROLL_RESULT                         
    =  L_PY_RESULT

  3. 和时间有关的FM
    ×根据当前月的开始日,得到结束日
      CALL FUNCTION  ' SLS_MISC_GET_LAST_DAY_OF_MONTH '
        EXPORTING
          DAY_IN                                     
    =  SY - DATUM
        IMPORTING
          LAST_DAY_OF_MONTH          
    =  G_ENDDA

    ×取得时间文本
       CALL FUNCTION  ' ZFUN0012 '
         EXPORTING
           I_DATE                       
    =  PN - BEGDA
         IMPORTING
           E_DATE_TEXT           
    =  BEGDA_TEXT.

  4. 读取标准工时
    CALL FUNCTION  ' HR_PERSONAL_WORK_SCHEDULE '
        EXPORTING
          PERNR         
    =  REC_PER - PERNR
          BEGDA         
    =  PN - BEGDA
          ENDDA         
    =  PN - ENDDA
        TABLES
          PERWS         
    =  TAB_PERWS

  5. 读取跨月情况下的缺勤时数
      CALL FUNCTION  ' HR_PERSONAL_WORK_SCHEDULE '
        EXPORTING
          PERNR         
    =  PERNR - PERNR
          BEGDA         
    =  L_BEGDA
          ENDDA         
    =  L_ENDDA
        TABLES
          PERWS         
    =  L_TAB_PERWS

        LOOP AT L_TAB_PERWS.
            P_STDAZ 
    =  P_STDAZ  +  L_TAB_PERWS - STDAZ.
        ENDLOOP.

  6. 用ALV方式展现
    CALL FUNCTION  ' REUSE_ALV_GRID_DISPLAY '
        EXPORTING
          I_CALLBACK_PROGRAM      
    =  SY - REPID
          IS_LAYOUT                            
    =  L_LAYOUT
          IT_FIELDCAT                         
    =  L_TAB_FIELDCAT
          I_GRID_TITLE                        
    =  L_TITLE
       TABLES
          T_OUTTAB                             
    =  L_TAB_DATA

  7. 等待补充... 
引用\[2\]:前几天用到HR模块的一个函数:HR_INFOTYPE_OPERATION。这个函数是用来操作HR信息类型的。在调用这个函数之前,需要先加锁,然后调用HR_INFOTYPE_OPERATION函数进行操作,最后再解锁。\[2\]根据参数OPERATION的不同取值,可以实现不同的操作,比如创建、修改、删除等。其中,主要的取值有INS、INSS和MOD。\[2\]INS表示创建一个新的记录,即使系统中已经存在相同类型的记录。INSS表示创建一个新的记录,如果系统中已经存在相同类型的记录,则将其转换为修改操作。MOD表示修改已存在的记录。\[3\]根据你的需求,你可以查找类似的BAPI函数来实现相同的功能。 #### 引用[.reference_title] - *1* [SAP 函数HR_INFOTYPE_OPERATION报错](https://blog.csdn.net/ptpassword/article/details/131400421)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* *3* [HR_INFOTYPE_OPERATION_SAP刘梦_新浪博客](https://blog.csdn.net/senlinmu110/article/details/109652316)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值