Difference between revisions of "SAP HCM APPRAISALS"

From SapWiki
Line 89: Line 89:
 
   lt_notas-objid = l_appID.
 
   lt_notas-objid = l_appID.
 
   lt_notas-infty = '1045'.
 
   lt_notas-infty = '1045'.
   lt_notas-itxnr = '00000012'.
+
   lt_notas-itxnr = '00000001'.
 
   APPEND lt_notas.
 
   APPEND lt_notas.
 
Nota sobre campo ITXNR: Corresponde a la posición/línea en el modelo de calificación, equivalente a campo COUNT en la taba de salida APPRAISAL_DATA en la bapi BAPI_APPRAISAL_GETDETAIL
 
 
    
 
    
 
***** grabacion de notas
 
***** grabacion de notas

Revision as of 16:04, 16 January 2021

Crear Calificación

Trn. PA30 infotipo 0025

Relación entre N° de Personal y Id de Calificación

Vamos a la tabla HRP1001 con Tipo objeto = P (Personal), ID Objeto = Nº personal, Clase de enlace = ‘A’, Enlace = 046’, Tipo del objeto vinculado = ‘BA’. Seleccionamos los registros HRP1001-SOBID (ID Calificación)

Ver datos de Calificación

Trn. PP01 con Tipo Objeto = BA - Calificación

Funciones

BAPI_APPRAISAL_GETDETAIL : Leer datos de Calificación (Objeto BA)

ejemplo

method GET_CALIFICACION.

    data lt_calif type ZBAPIAPPHEAD_tab.
    data ls_calif like line of lt_calif.

    data lt_sobid type table of hrp1001-sobid.
    data: lt_appraisers type table of bapiappraiser,
          lt_appraisees type table of bapiappraisee.
    data: lt_appraisal_data type table of bapiappdata.
    data: ls_appraisal   type  bapiapphead.
    data l_id type BAPIAPPRAISAL-ID.

* obtiene datos calificación( ver IT0025 en trn. PA30)
    select sobid
      into table lt_sobid
      from hrp1001
      where   otype = 'P'
        and   objid = i_pernr
        and   plvar = '01'
        and   rsign = 'A'
        and   relat = '046'   "obtiene
        and   istat = '1'
        and   begda <= i_endda
        and   endda >= i_begda
        and   varyf like 'BA%' "Calificacion
        .

    if lt_sobid[] is initial.
      return.
    endif.

    loop at lt_sobid into data(ls_sobid).
      clear: ls_appraisal,
             lt_appraisers[],
             lt_appraisees[],
             lt_appraisal_data[].

      l_id = ls_sobid.

      call function 'BAPI_APPRAISAL_GETDETAIL'
        exporting
          plan_version   = '01'
          appraisal_id   = l_id
        importing
          appraisal      = ls_appraisal
*         return         = e_return
        tables
          appraisers     = lt_appraisers
          appraisees     = lt_appraisees
          appraisal_data = lt_appraisal_data.

      if ls_appraisal is INITIAL.
        continue.
      endif.

      MOVE-CORRESPONDING ls_appraisal to ls_calif.
      read table lt_appraisal_data into data(ls_appraisal_data) with key element_type = 'BS'. "resultado final - Modelo de calificación
      if sy-subrc = 0.
        ls_calif-rating = ls_appraisal_data-rating.
        append ls_calif to lt_calif.
        clear ls_calif.
      endif.
    endloop.

    e_calif[] = lt_calif[].

  endmethod.

BAPI_APPRAISAL_CREATE : Crear Calificación

BAPI_APPRAISAL_CHANGE : Modificar Calificación

RHPA_APPRAISAL_NOTES_READ : Leer Notas de Calificación

RHPA_APPRAISAL_NOTES_WRITE : Crear Notas de Calificación

  lt_notas-tdline = 'Esta es mi Nota'
  lt_notas-plvar = '01'.
  lt_notas-otype = 'BA'.
  lt_notas-objid = l_appID.
  lt_notas-infty = '1045'.
  lt_notas-itxnr = '00000001'.
  APPEND lt_notas.
  
***** grabacion de notas
  CALL FUNCTION 'RHPA_APPRAISAL_NOTES_WRITE'
    EXPORTING
      PLANVERSION         = '01'
      APPRAISAL_ID        = l_appID
    TABLES
      NOTES               = lt_notas
    EXCEPTIONS
      OTHERS              = 3.

RHPS_APP_SCHEME_READ : Leer datos de Modelo de calificación (Objeto BS)

RHPA_APPRAISAL_1045_READ : Leer datos de valoración de Calificación (Infotipo 1045)

Grupo de funciones RHPA - PA-PD: Appraisals - Technology

IMG

En IMG(trn. SPRO) : Gestión de personal->Desarrollo de personal->Sistemas calificación