SAP HR创建关系

发布时间 2023-05-15 09:38:13作者: tbmr

SAP HR创建关系

SAP 人力中需要维护岗位与人员的关系使用函数RH_PNNNN_MAINTAIN
入参中没有字段职位百分比PROZT,需要将值拼接在WPLOG-VDATA中。
WPLOG-VDATA中的数据会强转到 <wplog_vdata>

    " 包含文件 MPHCOM00
    field-symbols: <wplog_vdata> type hrip1001.

因此需要用指针强转变量传入参数。

如果出现错误,可以在 act_pnnn_out 中查看问题。
参考代码如下


    DATA: ls_plog LIKE wplog.
    DATA: ls_hrip1001 TYPE hrip1001.
    MOVE-CORRESPONDING ls_hrp1001 TO ls_plog.
    MOVE-CORRESPONDING ls_hrp1001 TO ls_hrip1001 .

    FIELD-SYMBOLS:<fv_a> TYPE x.
    FIELD-SYMBOLS:<fv_b> TYPE x.
    ASSIGN ls_hrip1001 TO <fv_a> CASTING .
    IF <fv_a> IS ASSIGNED .
       " 强制转换
       ASSIGN ls_plog-vdata TO <fv_b> CASTING .
       <fv_b> = <fv_a> .
    ENDIF.

    CALL FUNCTION 'RH_PNNNN_MAINTAIN'
      EXPORTING
        act_fcode           = 'INSE'
        act_plvar           = ls_plog-plvar
        act_otype           = ls_plog-otype
        act_objid           = ls_plog-objid
        act_infty           = ls_plog-infty
        act_subty           = ls_plog-subty
        act_istat           = ls_plog-istat
        act_gdate           = ls_plog-begda   " 定界日期
        act_begda           = ls_plog-begda
        act_endda           = ls_plog-endda
        act_pnnnn           = ls_plog
        suppress_dialog     = '2'
      IMPORTING
        act_ok_code         = lv_fcode
        act_pnnnn_out       = ls_plog
      EXCEPTIONS
        infty_not_valid     = 1
        no_plvar            = 2
        object_not_defined  = 3
        otype_not_valid     = 4
        no_authority        = 5
        action_rejected     = 6
        no_gdate            = 7
        fcode_not_supported = 8
        OTHERS              = 9.