Skip to Content
author's profile photo Former Member
Former Member

Appraisal template download upload in excel

Hi All

We have the download upload functionality of appraisal template in PDF by offline layout setting in phap_catalog_pa. My query is can the upload and download of the template can be done in excel also. Our requirement is to download the appraisal template as configured in phap_catalog_pa in excel and then uploading back the same through portal. Please suggest if this can be done and how to proceed further.

Thanks

Add a comment
10|10000 characters needed characters exceeded

Related questions

3 Answers

  • author's profile photo Former Member
    Former Member
    Posted on Jul 17, 2014 at 08:24 AM

    You need to develop this feature.

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Jul 17, 2014 at 08:47 AM

    Hi Yury

    I have few dynamic fields in the template , for example , training and qualification catalog , which gets open up after clicking on add button . Can that be build in the excel as well.

    Thanks

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Jul 21, 2014 at 06:39 AM

    Hi yury

    Thanks a lot. Your blog is very helpful. My major concern is uploading dynamic fields which gets generated at run time . Let me know if you find any solution for the same.

    Thanks

    Smriti

    Add a comment
    10|10000 characters needed characters exceeded

    • Former Member

      I have found a solution. FM HRHAP_DOC_BODY_ENHANCE

      In this example the program add two dynamic elements for qualification.

      REPORT ZYS_APR_UPLOAD_DYN.

      DATA: wa_prepare TYPE zys_upload,
      g_template_id TYPE hap_template_id,
      g_header_defaulting TYPE flag,
      gs_return TYPE bal_s_msg,
      gs_menu TYPE hap_s_menu, "for status
      gs_appraisal_id TYPE hap_s_appraisal_id,
      gs_doc_processing TYPE hap_s_doc_processing,
      gs_header_texts TYPE hap_s_header_texts,
      gs_header_status TYPE hap_s_header_status,
      gs_header_dates TYPE hap_s_header_dates,
      gt_header_add_data TYPE hap_t_header_add_data,
      gs_header_display TYPE hap_s_header_display,
      gt_header_appraiser TYPE hap_t_header_appraiser ,
      gt_header_appraisee TYPE hap_t_header_appraisee ,
      gt_header_p_appraiser TYPE hap_t_header_part_appraisers ,
      gt_header_others TYPE hap_t_header_others,
      gt_buttons TYPE hap_t_buttons,
      gt_body_columns TYPE hap_t_body_columns,
      gs_body_columns LIKE LINE of gt_body_columns,
      gt_body_elements TYPE hap_t_body_elements,
      gs_body_elements LIKE LINE of gt_body_elements,
      gt_body_element_descr TYPE hap_t_body_element_descr,
      gt_body_element_buttons TYPE hap_t_body_element_buttons,
      gt_body_cells TYPE hap_t_body_cells,
      gs_body_cells like line of gt_body_cells,
      gt_body_cell_val_values TYPE hap_t_body_cell_val_values,
      gt_body_cell_val_ranges TYPE hap_t_body_cell_val_ranges,
      gt_body_cell_val_c_like TYPE hap_t_body_cell_val_c_like,
      gt_body_cell_val_descr TYPE hap_t_body_cell_val_descr,
      gt_body_cell_notes TYPE hap_t_body_cell_notes,
      ls_header_appraiser TYPE hap_s_header_appraiser,
      ls_header_appraisee TYPE hap_s_header_appraisee.

      DATA: COUNTER(5) type n VALUE '00003',
      lv_template_id TYPE objektid,
      date type sy-datum,
      lv_pernr TYPE pernr_d,
      s_return TYPE bal_s_msg,
      lt_status_notes TYPE hap_t_status_note,
      lv_error TYPE flag,
      ls_wd_return TYPE bal_s_msg,
      ET_BODY_ELEMENTS_ADD type HAP_T_BODY_ELEMENTS_ADD,
      wa_BODY_ELEMENTS_ADD like line of ET_BODY_ELEMENTS_ADD.

      START-OF-SELECTION.

      gs_header_dates-ap_start_date = '01.01.2014'.
      "endda
      gs_header_dates-ap_end_date = '31.12.2014'.
      gs_header_dates-ap_date_set = '31.12.2014'.
      "APPRAISER
      FREE gt_header_appraiser.
      ls_header_appraiser-plan_version = '01'.
      ls_header_appraiser-type = 'P'.
      lv_pernr = '1000800'."wa_prepare-value.
      ls_header_appraiser-id = lv_pernr.
      APPEND ls_header_appraiser TO gt_header_appraiser .
      "APPRAISEE
      FREE gt_header_appraisee.
      ls_header_appraisee-plan_version = '01'.
      ls_header_appraisee-type = 'P'.
      lv_pernr = '1000800'."wa_prepare-value.
      ls_header_appraisee-id = lv_pernr.
      APPEND ls_header_appraisee TO gt_header_appraisee .

      wa_BODY_ELEMENTS_ADD-NEW_ELEMENT_TYPE = 'Q'.
      wa_BODY_ELEMENTS_ADD-NEW_ELEMENT_ID = '50000392'.
      APPEND wa_BODY_ELEMENTS_ADD to et_BODY_ELEMENTS_ADD.
      wa_BODY_ELEMENTS_ADD-NEW_ELEMENT_ID = '50000399'.
      APPEND wa_BODY_ELEMENTS_ADD to et_BODY_ELEMENTS_ADD.
      CALL FUNCTION 'HRHAP_DOC_BODY_ENHANCE'
      EXPORTING
      row_iid = '0001'"wd_comp_controller->enhance_row_iid
      plan_version = '01'
      s_appraisal_id = gs_appraisal_id
      t_header_appraiser = gt_header_appraiser
      t_header_appraisee = gt_header_appraisee
      t_header_part_appraisers = gt_header_p_appraiser
      t_header_others = gt_header_others
      s_header_dates = gs_header_dates
      s_header_status = gs_header_status
      t_body_columns = gt_body_columns
      * FREE_ENHANCEMENT = ' '
      trusted_call = 'X'
      enhancement_type = ' '
      t_body_elements_add = et_body_elements_add
      * T_BODY_ELEMENTS_STRUC_ADD =
      IMPORTING
      s_return = ls_wd_return
      CHANGING
      s_doc_processing = gs_doc_processing
      t_body_elements = gt_body_elements
      t_body_element_descr = gt_body_element_descr
      t_body_element_buttons = gt_body_element_buttons
      t_body_cells = gt_body_cells
      t_body_cell_notes = gt_body_cell_notes
      t_body_cell_val_values = gt_body_cell_val_values
      t_body_cell_val_ranges = gt_body_cell_val_ranges
      t_body_cell_val_c_like = gt_body_cell_val_c_like
      t_body_cell_val_descr = gt_body_cell_val_descr.
      "Saving document
      CALL FUNCTION 'HRHAP_DOC_UPDATE_BODY_AND_SAVE'
      EXPORTING
      plan_version = '01'
      IMPORTING
      s_return = s_return
      CHANGING
      s_appraisal_id = gs_appraisal_id
      s_doc_processing = gs_doc_processing
      t_header_appraiser = gt_header_appraiser[]
      t_header_appraisee = gt_header_appraisee[]
      t_header_part_appraisers = gt_header_p_appraiser[]
      t_header_others = gt_header_others
      s_header_texts = gs_header_texts
      s_header_dates = gs_header_dates
      s_header_status = gs_header_status
      s_header_display = gs_header_display
      t_body_columns = gt_body_columns
      t_body_elements = gt_body_elements
      t_body_cells = gt_body_cells[]
      t_body_cell_notes = gt_body_cell_notes
      t_status_notes = lt_status_notes.
      IF s_return IS NOT INITIAL .
      WRITE: / s_return-msgid , s_return-msgty ,s_return-msgno ,s_return-msgv1, s_return-msgv2, s_return-msgv3 .
      ENDIF.
      counter = counter + 1.

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.