读取SAP HR特征(决策树)


前言

本文用于简单介绍SAP HR模块中PE03特征相关内容


提示:以下是本篇文章正文内容,下面案例可供参考

一、系统内容查看

通过事务代码PE03可以查看特征决策树等内容。

二、相关内容表存储情况

2.1.T549B&T549C 存储标准特征以及定制特征内容,存在C表中内容时候,以C表对应内容为准,不存在时候,以B表中记录信息为准;

2.2.T549BT&T549CT 记录对应文本描述信息等

2.3.T549D 根据决策树名称,判断是调用对应程序或者直接获取VALUE返回值,FUNID = V 时,FUNCT 记录返回值;FUNID = P 时,根据FUNCT中程序名称执行对应程序功能;

三、示例代码

示例代码供参考。

DATA DREF TYPE REF TO DATA.
FIELD-SYMBOLS <FS_TABLE> TYPE ANY .
FIELD-SYMBOLS <FS_LINE> TYPE ANY.
DATA LV_VALUE TYPE STRING .

PARAMETERS:P_PERNR TYPE P0001-PERNR OBLIGATORY.
PARAMETERS:P_FEAT TYPE T549D-NAMEN OBLIGATORY.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FEAT.
  PERFORM GET_FEAT.
START-OF-SELECTION.
  PERFORM GET_DATA.
*&---------------------------------------------------------------------*
*&      Form  GET_DATA
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM GET_DATA .
  SELECT SINGLE *
    FROM T549D
    INTO @DATA(LS_T549D)
    WHERE NAMEN = @P_FEAT
    .
  IF SY-SUBRC NE 0.
    WRITE :/ '输入的特征不存在' .
  ENDIF.
  CHECK SY-SUBRC EQ 0 AND LS_T549D-STRUC IS NOT INITIAL.


  TRY.
      CREATE DATA DREF TYPE (LS_T549D-STRUC).
      ASSIGN DREF->* TO <FS_LINE>.
    CATCH CX_SY_CREATE_DATA_ERROR.

  ENDTRY.

  "
  SELECT SINGLE *
    FROM PA0001
    INTO @DATA(LS_PA0001)
    WHERE PERNR = @P_PERNR
      AND BEGDA <= @SY-DATUM
      AND ENDDA >= @SY-DATUM
      .

  MOVE-CORRESPONDING LS_PA0001 TO <FS_LINE>.

  CALL FUNCTION 'HR_FEATURE_BACKFIELD'
    EXPORTING
      FEATURE       = P_FEAT
      STRUC_CONTENT = <FS_LINE>
*     KIND_OF_ERROR =
    IMPORTING
      BACK          = LV_VALUE.
  .
  IF SY-SUBRC EQ 0.
    WRITE :/ '特征' ,P_FEAT .
    WRITE :/ '参数' ,<FS_LINE> .
    WRITE :/ '返回值',LV_VALUE.
  ENDIF.
ENDFORM.

*&---------------------------------------------------------------------*
*&      Form  GET_FEAT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM GET_FEAT .

  DATA: RT_TAB LIKE DDSHRETVAL OCCURS 0 WITH HEADER LINE.

  DATA: IT_FEAT TYPE STANDARD TABLE OF T549BT.
  SELECT * INTO CORRESPONDING FIELDS OF TABLE IT_FEAT FROM T549BT WHERE FEATURE_LANGUAGE = '1'.
  SELECT * APPENDING CORRESPONDING FIELDS OF TABLE IT_FEAT FROM T549CT WHERE FEATURE_LANGUAGE = '1'.
  SORT IT_FEAT BY FEATURE.
  DELETE ADJACENT DUPLICATES FROM IT_FEAT COMPARING FEATURE.


  CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
    EXPORTING
      RETFIELD         = 'FEATURE'
      DYNPPROG         = SY-REPID
      DYNPNR           = SY-DYNNR
      DYNPROFIELD      = 'P_FEAT'
      VALUE_ORG        = 'S'
      CALLBACK_PROGRAM = SY-REPID
    TABLES
      VALUE_TAB        = IT_FEAT
      RETURN_TAB       = RT_TAB
    EXCEPTIONS
      PARAMETER_ERROR  = 1
      NO_VALUES_FOUND  = 2
      OTHERS           = 3.
  IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.
ENDFORM. 
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值