cancel
Showing results for 
Search instead for 
Did you mean: 

Get Appraisal Result

Former Member
0 Kudos

Hi all,

I would like to know which functional module are retrieve data for appraisal result for HR.

Thanks,

Sim

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi wee,

1. appraisal data must have been punched

in , in some infotype.

2. Use the same infotype to read data

using fm

HR_READ_INFOTYPE

regards,

amit m.

suresh_datti
Active Contributor
0 Kudos

Hi Wee,

There is no function module that can get you the Appraisal Result from OSA in one go.. You have to create a custom function that is a combination of delivered modules.. here os one that I created.. you pass the pernr & get back the rating..this is only for Performance Appraisals.. Some of the code I pasted may not be relevant..you can use my approach to meet your reqt..


  data: lt_appraisee       type standard table of hrpe_appraisees
                                with non-unique default key,
        lt_appraisal       type standard table of hrpe_appraisals
                                with non-unique default key,
        lt_pt1045_ext      type standard table of pt1045_ext
                                with non-unique default key.
  data: ls_key_objects     type hrwpc_s_keyobjec,
        ls_column_content  type hrwpc_s_keycolcont,
        ls_period          type hrwpc_s_ep_period,
        ls_validity_period type hrsel_period,
        ls_appraisee       type hrpe_appraisees,
        ls_appraisal       type hrpe_appraisals,
        ls_pt1045_ext      type pt1045_ext.
  data: l_subrc            type sy-subrc,
        l_otype            type otype,
        l_content          type hrwpc_s_keycolcont-content.
  data: w_content          type hrwpc_s_keycolcont-content. 

  data: t_templates type hap_t_hrobject,
        rec_template type hrobject,
        t_appraisees type hap_t_hrsobid,
        rec_appraisee type hrsobid,
        rec_sel_with_or_without type hap_s_sel_with_or_without,
        rec_sel_status type hap_s_sel_status,
        rec_sel_dates type  hap_s_sel_dates,
        t_appraisal_id type  hap_t_appraisal_id,
        rec_appraisal_id type hap_s_appraisal_id,
        rec_bal_s_msg type bal_s_msg.

  data: w_apprsl_id type hap_appraisal_id,
        w_appee_id type hap_appraisee_id,
        w_rating type hap_value_num.
  constants:
           c_ap_id(8) value '50001379',
           c_fapp(4)  value 'FAPP',
           c_01 type hap_plan_version value '01',           
           c_p value 'P',
           c_va(2) value 'VA',
           c_pa type hap_add_on_application value 'PA'. 
  constants: c_0101(4) value '0101',                        
             c_1231(4) value '1231'.                        
* initialize export parameters
  clear: coltype,
         column_content[],
         column_content,
         sort_column_content[],
         sort_column_content.

* set coltype
  coltype = gc_col_sortable.

* get object type for persons
  perform re77s0(mstt77s0) using 'OTYPE'
                                 'PERNR'
                                 l_otype
                                 l_subrc.
  if l_subrc <> 0.
    l_otype = 'P '.
  endif.

* get selection period
  call function 'HRWPC_EP_CALC_PERIOD'
    exporting
      keydate      = key_date
      years_past   = '01'
      years_future = '00'
    importing
      period       = ls_period.
  move-corresponding ls_period to ls_validity_period.

  concatenate ls_validity_period-begda+0(4) c_0101 into
                         ls_validity_period-begda.
  concatenate ls_validity_period-begda+0(4) c_1231 into
                         ls_validity_period-endda.

* fill export table
  loop at key_objects into ls_key_objects where otype = l_otype.
    clear l_content.
    clear: rec_template,rec_appraisee,rec_sel_status,rec_sel_with_or_without,
           t_templates[],t_appraisees[],t_appraisal_id[],rec_appraisal_id.
    rec_template-plvar = c_01.
    rec_template-otype = c_va.
    rec_template-objid = c_ap_id.
    append rec_template to t_templates.
    clear rec_template.

    rec_appraisee-plvar = c_01.
    rec_appraisee-otype = c_p.
    rec_appraisee-sobid = ls_key_objects-objid.
    append rec_appraisee to t_appraisees.
    clear rec_appraisee.

    rec_sel_status-ap_status_1 = true.
    rec_sel_status-ap_status_2 = true.
    rec_sel_status-ap_status_3 = true.
    rec_sel_status-ap_status_4 = true.
    rec_sel_status-ap_status_5 = true.

    rec_sel_with_or_without-sel_display_existing = true.
    rec_sel_with_or_without-sel_display_without = true.

    rec_sel_dates-validity_from_date = ls_validity_period-begda.
    rec_sel_dates-validity_to_date = ls_validity_period-endda.

    call function 'HRHAP_DOCUMENT_GET_LIST'
      exporting
        add_on_application    = c_pa
        plan_version          = c_01
        t_templates           = t_templates
        t_appraisees          = t_appraisees
        s_sel_dates           = rec_sel_dates
        s_sel_status          = rec_sel_status
        s_sel_with_or_without = rec_sel_with_or_without
      importing
        t_appraisal_id        = t_appraisal_id
        s_return              = rec_bal_s_msg.
    if rec_bal_s_msg is initial.
      read table t_appraisal_id into rec_appraisal_id index 1.

      select value_num into w_rating
                          up to 1 rows
                          from hrhap_final
                          where plan_version = c_01
                            and appraisal_id = rec_appraisal_id-appraisal_id
                            and column_id = c_fapp.
      endselect.
      if sy-subrc eq 0.
        write w_rating to w_content decimals 0.
      else.
        clear w_rating.
      endif.
    endif.

    l_content  = w_content.                                 "SD1K909622
*   fill column content structure
    clear ls_column_content.
    move-corresponding ls_key_objects to ls_column_content.
    ls_column_content-content = l_content.
    append ls_column_content to column_content.
  endloop.

endfunction.

Regards,

Suresh Datti

Former Member
0 Kudos

Sorry Suresh but that answer is incorrect. Also the given coding can result into incorrect data.

To get the data of a document use FM HRHAP_DOCUMENT_GET_DETAIL.

Regards and Groetjes,

Maurice

suresh_datti
Active Contributor
0 Kudos

>>>Sorry Suresh but that answer is incorrect. Also the given coding can result into incorrect data.

Maurice,

Can you pl elaborate? I am really concerned as we have been using this function module without any issue thus far.. We are getting the expected results correctly..

I would appreciate if you can point out what you mean by incorrect data..

Regards,

Suresh Datti

P.S. I did see all your other replies related to the OSA Appraisals & have high regard for them.. You do seem to have alreday been THERE.

Former Member
0 Kudos

Hi Suresh,

Thanks, my knowledge of the application is a result of being the responsible developer

As to your coding. I do not recommend to directly read from the database, the only exception being when a document has status completed or higher.

The coding you use should always give consistent data with the condition that the status is completed or higher.

The function module I mentioned is the recommended way to read appraisal version, this because it takes care of authorization, locks, value determination etc.

Regards and Groetjes,

Maurice

Answers (4)

Answers (4)

Former Member
0 Kudos

any more input on this one? I am stuck as well.

I've tried to use the HR_ECM_GET_APPRAISAL, however it require you to pass the Appraisal Model (APMOD) value. When using the MBO appraisal, there is no APMOD to pass, thus the function module crash.

Former Member
0 Kudos

That function module is for the old appraisal functionality. I would expect HRHAP_PA_ECM_PERFORMANCE_GET to work better if your using the new compensation or HRHAP_PA_CMP_PERFORMANCE_GET for the old compensation module.

Regards and Groetjes,

Maurice

Former Member
0 Kudos

Hi Maurice:

We are using MBO Appraisal Model in our system.Does your function module take care of that.

My requirement is to pass App Template ID,Date,PERNR and the output should be All appraisal elements and Ratings etc.Do you have any coding for this kind of scenario?

One more thing we were using appraisal model(BS) stuff in our previous systems(HRP1045 and HRT1045 data)and now we activated MBO in new system.We need to pull all appraisal data and Map them to our new system(must be in some HRHAP* tables.Any thoughts?

I am sure your answer will help me a lot and ofcourse I confirm your reward points )

Cheers,

Sinchan

jayanthi_jayaraman
Active Contributor
0 Kudos

Hi,

Check this.

BAPI_APPRAISAL_CHANGE Change appraisals

BAPI_APPRAISAL_CREATE Create appraisals

BAPI_APPRAISAL_DELETE Delete appraisals

BAPI_APPRAISAL_GETDETAIL Read appraisal

BAPI_APPRAISAL_GETLIST Display appraisals

BAPI_APPRAISAL_STATUS_CHANGE Change appraisal status

Former Member
0 Kudos

Hi all,

If their appraisal are create under Objective setting & appraisals , then those functional module can be use?

Former Member
0 Kudos

HR_ECM_GET_APPRAISAL Read appraisal result

HR_ECM_GET_APPRAISAL_GENERIC Read appraisal result