首页 > 其他分享 >HR_INFOTYPE_OPERATION DEMO

HR_INFOTYPE_OPERATION DEMO

时间:2023-07-08 09:14:22浏览次数:35  
标签:gv sy return HR DEMO ENDIF OPERATION EQ ASSIGN

  DATA: ls_return TYPE bapireturn1. "bapi的返回结果

  LOOP AT <gfs_t_output> ASSIGNING <gfs_s_output>.
    CLEAR:gv_pernr,gv_begda,gv_endda,gv_subty,gv_seqnr,ls_return.
    ASSIGN COMPONENT 'ZSTATUS' OF STRUCTURE <gfs_s_output> TO <gfs_field>.
    IF sy-subrc EQ 0 AND <gfs_field> IS NOT INITIAL AND <gfs_field> NE icon_yellow_light.
      CONTINUE.
    ENDIF.

    ASSIGN COMPONENT 'PERNR' OF STRUCTURE <gfs_s_output> TO <gfs_field>.
    IF sy-subrc EQ 0. gv_pernr = <gfs_field>. ENDIF.
    ASSIGN COMPONENT 'BEGDA' OF STRUCTURE <gfs_s_output> TO <gfs_field>.
    IF sy-subrc EQ 0. gv_begda = <gfs_field>. ENDIF.
    ASSIGN COMPONENT 'ENDDA' OF STRUCTURE <gfs_s_output> TO <gfs_field>.
    IF sy-subrc EQ 0. gv_endda = <gfs_field>. ENDIF.
    ASSIGN COMPONENT 'SUBTY' OF STRUCTURE <gfs_s_output> TO <gfs_field>.
    IF sy-subrc EQ 0. gv_subty = <gfs_field>. ENDIF.
    ASSIGN COMPONENT 'SEQNR' OF STRUCTURE <gfs_s_output> TO <gfs_field>.
    IF sy-subrc EQ 0. gv_seqnr = <gfs_field>. ENDIF.

    CLEAR:<gfs_s_ptype>.
    MOVE-CORRESPONDING <gfs_s_output> TO <gfs_s_ptype>.

    CALL FUNCTION 'BAPI_EMPLOYEE_ENQUEUE'
      EXPORTING
        number = gv_pernr
      IMPORTING
        return = ls_return.
    IF ls_return-type NE 'E'.

      CLEAR:ls_return.
      CASE: p_actio.
        WHEN: 'INS'.
          CALL FUNCTION 'HR_INFOTYPE_OPERATION'
            EXPORTING
              infty         = p_infty
              number        = gv_pernr
              subtype       = gv_subty
              validityend   = gv_endda
              validitybegin = gv_begda
              record        = <gfs_s_ptype>
              operation     = p_actio
            IMPORTING
              return        = ls_return.

        WHEN: 'MOD' OR 'DEL'.
          CALL FUNCTION 'HR_INFOTYPE_OPERATION'
            EXPORTING
              infty         = p_infty
              number        = gv_pernr
              subtype       = gv_subty
              validityend   = gv_endda
              validitybegin = gv_begda
              recordnumber  = gv_seqnr
              record        = <gfs_s_ptype>
              operation     = p_actio
            IMPORTING
              return        = ls_return.
      ENDCASE.

      IF ls_return-type EQ 'E'.
        ASSIGN COMPONENT 'ZSTATUS' OF STRUCTURE <gfs_s_output> TO <gfs_field>.
        IF sy-subrc EQ 0.<gfs_field> = icon_red_light. ENDIF.
        ASSIGN COMPONENT 'ZMSG' OF STRUCTURE <gfs_s_output> TO <gfs_field>.
        IF sy-subrc EQ 0.<gfs_field> = ls_return-message. ENDIF.
      ELSE.
        ASSIGN COMPONENT 'ZSTATUS' OF STRUCTURE <gfs_s_output> TO <gfs_field>.
        IF sy-subrc EQ 0.<gfs_field> = icon_green_light. ENDIF.
        ASSIGN COMPONENT 'ZMSG' OF STRUCTURE <gfs_s_output> TO <gfs_field>.
        IF sy-subrc EQ 0.<gfs_field> = '数据操作成功!'. ENDIF.
      ENDIF.

      CALL FUNCTION 'BAPI_EMPLOYEE_DEQUEUE' "解锁人员号
        EXPORTING
          number = gv_pernr
        IMPORTING
          return = ls_return.

    ELSE.
      ASSIGN COMPONENT 'ZSTATUS' OF STRUCTURE <gfs_s_output> TO <gfs_field>.
      IF sy-subrc EQ 0.<gfs_field> = icon_red_light. ENDIF.
      ASSIGN COMPONENT 'ZMSG' OF STRUCTURE <gfs_s_output> TO <gfs_field>.
      IF sy-subrc EQ 0.<gfs_field> = ls_return-message. ENDIF.
    ENDIF.
  ENDLOOP.

 

标签:gv,sy,return,HR,DEMO,ENDIF,OPERATION,EQ,ASSIGN
From: https://www.cnblogs.com/rainysblog/p/17536604.html

相关文章

  • ZHR_EMP_INQUIRY-人员信息查询
    *&---------------------------------------------------------------------**&ReportZHR_EMP_INQUIRY*&*&---------------------------------------------------------------------**&*&*&-------------------------------------------......
  • Hello-FPGA CoaXPress 2.0 FPGA HOST IP Core Demo User Manual
     目录Hello-FPGACoaXPress2.0HostFPGAIPCoreDemo41说明42设备连接53VIVADOFPGA工程64SDK工程9图1‑1VIVADO工程目录结构4图1‑2SDK工程目录结构4图2‑1ZCU102结构图5图2‑2ZCU102UART接口6图3‑1VIVADO工程6图3‑2CPU控制器7图......
  • 前端Chrome调试技巧汇总
    Chrome浏览器调试工具的核心功能:......
  • 如何实现pymysql.err.OperationalError: (2003, "Can't connect to MySQL server on '
    解决“pymysql.err.OperationalError:(2003,"Can'tconnecttoMySQLserveron'10.1"错误的步骤概述当使用pymysql连接MySQL数据库时,有时会出现连接错误,其中一个常见的错误是pymysql.err.OperationalError:(2003,"Can'tconnecttoMySQLserveron'10.1'")......
  • C++ std::chrono 计时器的使用
    使用标准库 #include<chrono>intmain(){ autostampBeg=std::chrono::steady_clock::now(); //dosometing Sleep(2400); autostampEnd=std::chrono::steady_clock::now(); doubletime_second=std::chrono::duration<double>(stampEnd-sta......
  • org.apache.poi.openxml4j.exceptions.InvalidOperationException: Can't open the sp
    环境和所需包:      1,JDK1.5      2,poi-3.5-FINAL-20090928.jar,           poi-contrib-3.5-FINAL-20090928.jar,           poi-ooxml-3.5-FINAL-20090928.jar,           poi-scratchpad-3.5-FINAL-20090928.jar,        ......
  • 尝试写一个SpringBoot的demo
    在Spring官网使用脚手架:  https://start.spring.io/选择3项依赖:   编写代码: 启动运行应用:   启动了8080端口 访问:http://localhost:8080/hyc健康检查:  http://localhost:8080/actuator/health......
  • Paper Reading: A three-way decision ensemble method for imbalanced data oversamp
    目录研究动机文章贡献预备知识构造覆盖算法三向决策本文方法基于CCA的三向决策模型CTD集成实验结果数据集实验设置与过采样的比较显著性检验优点和创新点PaperReading是从个人角度进行的一些总结分享,受到个人关注点的侧重和实力所限,可能有理解不到位的地方。具体的细节还需......
  • 脱发秘籍:前端Chrome调试技巧汇总
    Chrome浏览器调试工具的核心功能:......
  • 错误:rpmdb: BDB0113 Thread/process 8709/139671674841152 failed
    rpm库报错错误:rpmdb:BDB0113Thread/process8709/139671674841152failed:BDB1507ThreaddiedinBerkeleyDBlibrary错误:db5错误(-30973)来自dbenv->failchk:BDB0087DB_RUNRECOVERY:Fatalerror,rundatabaserecovery错误:无法使用db5- (-30973)打开Packages......