Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- *&---------------------------------------------------------------------*
- *& Report ZHCMR_ASSESSMENT
- *&
- *&---------------------------------------------------------------------*
- *&
- *&
- *&---------------------------------------------------------------------*
- REPORT zhcmr_assessment.
- INCLUDE zhcmn_assessment_data.
- INCLUDE zhcmn_assessment_parms.
- INITIALIZATION.
- PERFORM f_initialize.
- START-OF-SELECTION.
- DATA r_pernr TYPE TABLE OF selopt WITH HEADER LINE.
- IF s_pernr IS NOT INITIAL.
- MOVE-CORRESPONDING s_pernr[] TO r_pernr[].
- ELSE.
- CLEAR r_pernr[].
- ENDIF.
- IF p_prf = abap_true.
- PERFORM f_retrive_profile_data.
- IF it_profile_ext IS NOT INITIAL.
- PERFORM f_prepare_fcat_prf.
- PERFORM f_show_report TABLES it_profile_ext USING 'PS9188' 'Profile XT Report'.
- ENDIF.
- ****
- ELSEIF p_tln = abap_true.
- PERFORM f_retrive_talent_data.
- IF it_talent_ext IS NOT INITIAL.
- PERFORM f_prepare_fcat_tln.
- PERFORM f_show_report TABLES it_talent_ext USING 'PS9189' 'Talent Q Report'.
- ENDIF.
- ELSEIF p_eng = abap_true.
- PERFORM f_retrive_english_data.
- IF it_english_ext IS NOT INITIAL.
- PERFORM f_prepare_fcat_eng.
- PERFORM f_show_report TABLES it_english_ext USING 'PS9190' 'English Test Report'.
- ENDIF.
- ****
- ELSEIF p_app = abap_true.
- PERFORM f_retrive_appraisal_data.
- IF it_appraisal_ext IS NOT INITIAL.
- PERFORM f_prepare_fcat_app.
- PERFORM f_show_report TABLES it_appraisal_ext USING 'PS9191' 'Appraisal Report'.
- ENDIF.
- **
- ELSEIF p_maj = abap_true.
- CALL SCREEN 0001.
- ENDIF.
- FORM f_fill_app_ext.
- CLEAR it_appraisal_ext[].
- DATA it_personal_data TYPE TABLE OF bapip0001b.
- MOVE-CORRESPONDING it_appraisal_9191[] TO it_appraisal_ext[].
- LOOP AT it_appraisal_ext.
- CLEAR it_personal_data[].
- CALL FUNCTION 'BAPI_EMPLOYEE_GETDATA'
- EXPORTING
- employee_id = it_appraisal_ext-pernr
- TABLES
- org_assignment = it_personal_data
- * PERSONAL_DATA =
- * INTERNAL_CONTROL =
- * COMMUNICATION =
- * ARCHIVELINK =
- .
- CHECK it_personal_data IS NOT INITIAL.
- it_appraisal_ext-name = it_personal_data[ 1 ]-name.
- MODIFY it_appraisal_ext.
- ENDLOOP .
- ENDFORM.
- ****
- FORM f_fill_eng_ext.
- CLEAR it_english_ext[].
- DATA it_personal_data TYPE TABLE OF bapip0001b.
- MOVE-CORRESPONDING it_english_9190[] TO it_english_ext[].
- LOOP AT it_english_ext.
- CLEAR it_personal_data[].
- CALL FUNCTION 'BAPI_EMPLOYEE_GETDATA'
- EXPORTING
- employee_id = it_english_ext-pernr
- TABLES
- org_assignment = it_personal_data
- * PERSONAL_DATA =
- * INTERNAL_CONTROL =
- * COMMUNICATION =
- * ARCHIVELINK =
- .
- CHECK it_personal_data IS NOT INITIAL.
- it_english_ext-name = it_personal_data[ 1 ]-name.
- MODIFY it_english_ext.
- ENDLOOP .
- ENDFORM.
- FORM f_fill_tln_ext.
- CLEAR it_talent_ext[].
- DATA it_personal_data TYPE TABLE OF bapip0001b.
- MOVE-CORRESPONDING it_talent_9189[] TO it_talent_ext[].
- LOOP AT it_talent_ext.
- CLEAR it_personal_data[].
- CALL FUNCTION 'BAPI_EMPLOYEE_GETDATA'
- EXPORTING
- employee_id = it_talent_ext-pernr
- TABLES
- org_assignment = it_personal_data
- * PERSONAL_DATA =
- * INTERNAL_CONTROL =
- * COMMUNICATION =
- * ARCHIVELINK =
- .
- CHECK it_personal_data IS NOT INITIAL.
- SORT it_personal_data BY to_date DESCENDING.
- it_talent_ext-name = it_personal_data[ 1 ]-name.
- MODIFY it_talent_ext.
- ENDLOOP .
- ENDFORM.
- FORM f_initialize.
- ENDFORM.
- *&---------------------------------------------------------------------*
- *& Form F_SHOW_APPRAISAL_REPORT
- *&---------------------------------------------------------------------*
- * text
- *----------------------------------------------------------------------*
- * --> p1 text
- * <-- p2 text
- *----------------------------------------------------------------------*
- FORM f_show_report TABLES i_tab USING str_name report_name.
- *In the function module pass :
- CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
- EXPORTING
- i_structure_name = str_name
- it_fieldcat = i_fcat
- i_grid_title = report_name
- TABLES
- t_outtab = i_tab.
- ENDFORM. " F_SHOW_APPRAISAL_REPORT
- FORM f_prepare_fcat_app.
- CLEAR wa_fcat.
- CLEAR i_fcat[].
- wa_fcat-outputlen = 15.
- wa_fcat-col_pos = '1'.
- wa_fcat-fieldname = 'PERNR'.
- wa_fcat-seltext_m = 'Personnel No.'.
- APPEND wa_fcat TO i_fcat.
- CLEAR wa_fcat.
- wa_fcat-outputlen = 40.
- wa_fcat-col_pos = '2'.
- wa_fcat-fieldname = 'NAME'.
- wa_fcat-seltext_m = 'Name'.
- APPEND wa_fcat TO i_fcat.
- CLEAR wa_fcat.
- ENDFORM.
- FORM f_prepare_fcat_eng.
- CLEAR wa_fcat.
- CLEAR i_fcat[].
- wa_fcat-outputlen = 15.
- wa_fcat-col_pos = '1'.
- wa_fcat-fieldname = 'PERNR'.
- wa_fcat-seltext_m = 'Personnel No.'.
- APPEND wa_fcat TO i_fcat.
- CLEAR wa_fcat.
- wa_fcat-col_pos = '2'.
- wa_fcat-fieldname = 'NAME'.
- wa_fcat-seltext_m = 'Name'.
- wa_fcat-outputlen = 40.
- APPEND wa_fcat TO i_fcat.
- CLEAR wa_fcat.
- ENDFORM.
- FORM f_prepare_fcat_tln.
- CLEAR wa_fcat.
- CLEAR i_fcat[].
- wa_fcat-outputlen = 15.
- wa_fcat-col_pos = '1'.
- wa_fcat-fieldname = 'PERNR'.
- wa_fcat-seltext_m = 'Personnel No.'.
- APPEND wa_fcat TO i_fcat.
- CLEAR wa_fcat.
- wa_fcat-col_pos = '2'.
- wa_fcat-fieldname = 'NAME'.
- wa_fcat-seltext_m = 'Name'.
- wa_fcat-outputlen = 40.
- APPEND wa_fcat TO i_fcat.
- CLEAR wa_fcat.
- ENDFORM.
- *&---------------------------------------------------------------------*
- *& Form F_FILL_PRF_EXT
- *&---------------------------------------------------------------------*
- * text
- *----------------------------------------------------------------------*
- * --> p1 text
- * <-- p2 text
- *----------------------------------------------------------------------*
- FORM f_fill_prf_ext .
- CLEAR it_profile_ext[].
- DATA it_personal_data TYPE TABLE OF bapip0001b.
- **
- MOVE-CORRESPONDING it_profile_9188[] TO it_profile_ext[].
- LOOP AT it_profile_ext.
- CLEAR it_personal_data[].
- CALL FUNCTION 'BAPI_EMPLOYEE_GETDATA'
- EXPORTING
- employee_id = it_profile_ext-pernr
- TABLES
- org_assignment = it_personal_data
- * PERSONAL_DATA =
- * INTERNAL_CONTROL =
- * COMMUNICATION =
- * ARCHIVELINK =
- .
- CHECK it_personal_data IS NOT INITIAL.
- SORT it_personal_data BY to_date DESCENDING.
- it_profile_ext-name = it_personal_data[ 1 ]-name.
- MODIFY it_profile_ext.
- ENDLOOP .
- ENDFORM. " F_FILL_PRF_EXT
- *&---------------------------------------------------------------------*
- *& Form F_PREPARE_FCAT_PRF
- *&---------------------------------------------------------------------*
- * text
- *----------------------------------------------------------------------*
- * --> p1 text
- * <-- p2 text
- *----------------------------------------------------------------------*
- FORM f_prepare_fcat_prf .
- CLEAR wa_fcat.
- CLEAR i_fcat[].
- wa_fcat-outputlen = 15.
- wa_fcat-col_pos = '1'.
- wa_fcat-fieldname = 'PERNR'.
- wa_fcat-seltext_m = 'Personnel No.'.
- APPEND wa_fcat TO i_fcat.
- CLEAR wa_fcat.
- wa_fcat-col_pos = '2'.
- wa_fcat-fieldname = 'NAME'.
- wa_fcat-seltext_m = 'Name'.
- wa_fcat-outputlen = 40.
- APPEND wa_fcat TO i_fcat.
- CLEAR wa_fcat.
- wa_fcat-col_pos = '3'.
- wa_fcat-fieldname = 'SG'.
- wa_fcat-seltext_m = 'SG'.
- wa_fcat-outputlen = 10.
- APPEND wa_fcat TO i_fcat.
- CLEAR wa_fcat.
- wa_fcat-col_pos = '4'.
- wa_fcat-fieldname = 'COMP_CODE'.
- wa_fcat-seltext_m = 'Orglv'.
- wa_fcat-outputlen = 10.
- APPEND wa_fcat TO i_fcat.
- CLEAR wa_fcat.
- wa_fcat-col_pos = '5'.
- wa_fcat-fieldname = 'POSITION'.
- wa_fcat-seltext_m = 'Current Position'.
- wa_fcat-outputlen = 20.
- APPEND wa_fcat TO i_fcat.
- CLEAR wa_fcat.
- wa_fcat-col_pos = '6'.
- wa_fcat-fieldname = 'MAN_LVL'.
- wa_fcat-seltext_m = 'Managerial Level'.
- wa_fcat-outputlen = 20.
- APPEND wa_fcat TO i_fcat.
- CLEAR wa_fcat.
- wa_fcat-col_pos = '7'.
- wa_fcat-fieldname = 'COSTCENTER'.
- wa_fcat-seltext_m = 'Cost Center'.
- wa_fcat-outputlen = 20.
- APPEND wa_fcat TO i_fcat.
- CLEAR wa_fcat.
- wa_fcat-col_pos = '7'.
- wa_fcat-fieldname = 'PERS_AREA'.
- wa_fcat-seltext_m = 'Location 1'.
- wa_fcat-outputlen = 20.
- APPEND wa_fcat TO i_fcat.
- CLEAR wa_fcat.
- wa_fcat-col_pos = '8'.
- wa_fcat-fieldname = 'P_SUBAREA'.
- wa_fcat-seltext_m = 'Location 2'.
- wa_fcat-outputlen = 20.
- APPEND wa_fcat TO i_fcat.
- CLEAR wa_fcat.
- wa_fcat-col_pos = '9'.
- wa_fcat-fieldname = 'ORG_UNIT'.
- wa_fcat-seltext_m = 'Department'.
- wa_fcat-outputlen = 20.
- APPEND wa_fcat TO i_fcat.
- CLEAR wa_fcat.
- wa_fcat-col_pos = '10'.
- wa_fcat-fieldname = 'BUS_AREA'.
- wa_fcat-seltext_m = 'Business Area'.
- wa_fcat-outputlen = 20.
- APPEND wa_fcat TO i_fcat.
- CLEAR wa_fcat.
- wa_fcat-col_pos = '11'.
- wa_fcat-fieldname = 'SEN_DATE'.
- wa_fcat-seltext_m = 'Seniority Date'.
- wa_fcat-outputlen = 20.
- APPEND wa_fcat TO i_fcat.
- CLEAR wa_fcat.
- wa_fcat-col_pos = '12'.
- wa_fcat-fieldname = 'LST_PRM'.
- wa_fcat-seltext_m = 'Last Promotion'.
- wa_fcat-outputlen = 20.
- APPEND wa_fcat TO i_fcat.
- CLEAR wa_fcat.
- ENDFORM. " F_PREPARE_FCAT_PRF
- *&SPWIZARD: FUNCTION CODES FOR TABSTRIP 'DATA_SHEET'
- CONSTANTS: BEGIN OF c_data_sheet,
- tab1 LIKE sy-ucomm VALUE 'DATA_SHEET_FC1',
- tab2 LIKE sy-ucomm VALUE 'DATA_SHEET_FC2',
- tab3 LIKE sy-ucomm VALUE 'DATA_SHEET_FC3',
- tab4 LIKE sy-ucomm VALUE 'DATA_SHEET_FC4',
- END OF c_data_sheet.
- *&SPWIZARD: DATA FOR TABSTRIP 'DATA_SHEET'
- CONTROLS: data_sheet TYPE TABSTRIP.
- DATA: BEGIN OF g_data_sheet,
- subscreen LIKE sy-dynnr,
- prog LIKE sy-repid VALUE 'ZHCMR_ASSESSMENT',
- pressed_tab LIKE sy-ucomm VALUE c_data_sheet-tab1,
- END OF g_data_sheet.
- DATA: ok_code LIKE sy-ucomm.
- *&SPWIZARD: OUTPUT MODULE FOR TS 'DATA_SHEET'. DO NOT CHANGE THIS LINE!
- *&SPWIZARD: SETS ACTIVE TAB
- MODULE data_sheet_active_tab_set OUTPUT.
- data_sheet-activetab = g_data_sheet-pressed_tab.
- CASE g_data_sheet-pressed_tab.
- WHEN c_data_sheet-tab1.
- g_data_sheet-subscreen = '0002'.
- WHEN c_data_sheet-tab2.
- g_data_sheet-subscreen = '0003'.
- WHEN c_data_sheet-tab3.
- g_data_sheet-subscreen = '0004'.
- WHEN c_data_sheet-tab4.
- g_data_sheet-subscreen = '0005'.
- WHEN OTHERS.
- *&SPWIZARD: DO NOTHING
- ENDCASE.
- ENDMODULE.
- *&SPWIZARD: INPUT MODULE FOR TS 'DATA_SHEET'. DO NOT CHANGE THIS LINE!
- *&SPWIZARD: GETS ACTIVE TAB
- MODULE data_sheet_active_tab_get INPUT.
- ok_code = sy-ucomm.
- CASE ok_code.
- WHEN c_data_sheet-tab1.
- g_data_sheet-pressed_tab = c_data_sheet-tab1.
- WHEN c_data_sheet-tab2.
- g_data_sheet-pressed_tab = c_data_sheet-tab2.
- WHEN c_data_sheet-tab3.
- g_data_sheet-pressed_tab = c_data_sheet-tab3.
- WHEN c_data_sheet-tab4.
- g_data_sheet-pressed_tab = c_data_sheet-tab4.
- WHEN OTHERS.
- *&SPWIZARD: DO NOTHING
- ENDCASE.
- ENDMODULE.
- *&---------------------------------------------------------------------*
- *& Form F_RETRIVE_PROFILE_DATA
- *&---------------------------------------------------------------------*
- * text
- *----------------------------------------------------------------------*
- * --> p1 text
- * <-- p2 text
- *----------------------------------------------------------------------*
- FORM f_retrive_profile_data .
- CLEAR it_profile_ext[].
- CLEAR it_profile_9188[].
- CALL FUNCTION 'ZHCM_GET_PROFILE_XT_9188'
- EXPORTING
- im_latest_only = p_latest
- TABLES
- im_pernrs_selopt = r_pernr
- ex_tab_infty = it_profile_9188.
- IF it_profile_9188[] IS NOT INITIAL.
- PERFORM f_fill_prf_ext.
- ELSE.
- MESSAGE 'No talent test data found for selected personal no.' TYPE 'I'.
- ENDIF.
- ENDFORM. " F_RETRIVE_PROFILE_DATA
- *&---------------------------------------------------------------------*
- *& Form F_RETRIVE_TALENT_DATA
- *&---------------------------------------------------------------------*
- * text
- *----------------------------------------------------------------------*
- * --> p1 text
- * <-- p2 text
- *----------------------------------------------------------------------*
- FORM f_retrive_talent_data .
- CLEAR it_talent_ext[].
- CLEAR it_talent_9189[].
- CALL FUNCTION 'ZHCM_GET_TALENT_Q_9189'
- EXPORTING
- im_latest_only = p_latest
- TABLES
- im_pernrs_selopt = r_pernr
- ex_tab_infty = it_talent_9189.
- IF it_talent_9189[] IS NOT INITIAL.
- PERFORM f_fill_tln_ext.
- ELSE.
- MESSAGE 'No talent test data found for selected personal no.' TYPE 'I'.
- ENDIF.
- ENDFORM. " F_RETRIVE_TALENT_DATA
- *&---------------------------------------------------------------------*
- *& Form F_RETRIVE_ENGLISH_DATA
- *&---------------------------------------------------------------------*
- * text
- *----------------------------------------------------------------------*
- * --> p1 text
- * <-- p2 text
- *----------------------------------------------------------------------*
- FORM f_retrive_english_data .
- CLEAR it_english_ext[].
- CLEAR it_english_9190[].
- CALL FUNCTION 'ZHCM_GET_ENGLISH_TEST_9190'
- EXPORTING
- im_latest_only = p_latest
- TABLES
- im_pernrs_selopt = r_pernr
- ex_tab_infty = it_english_9190.
- IF it_english_9190[] IS NOT INITIAL.
- PERFORM f_fill_eng_ext.
- ELSE.
- MESSAGE 'No english test data found for selected personal no.' TYPE 'I'.
- ENDIF.
- ENDFORM. " F_RETRIVE_ENGLISH_DATA
- *&---------------------------------------------------------------------*
- *& Form F_RETRIVE_APPRAISAL_DATA
- *&---------------------------------------------------------------------*
- * text
- *----------------------------------------------------------------------*
- * --> p1 text
- * <-- p2 text
- *----------------------------------------------------------------------*
- FORM f_retrive_appraisal_data .
- CLEAR it_appraisal_ext[].
- CLEAR it_appraisal_9191[].
- CALL FUNCTION 'ZHCM_GET_APPRAISAL_9191'
- EXPORTING
- im_latest_only = p_latest
- TABLES
- im_pernrs_selopt = r_pernr
- ex_tab_infty = it_appraisal_9191.
- IF it_appraisal_9191[] IS NOT INITIAL.
- PERFORM f_fill_app_ext.
- ELSE.
- MESSAGE 'No appraisal data found for selected personal no.' TYPE 'I'.
- ENDIF.
- ENDFORM. " F_RETRIVE_APPRAISAL_DATA
- INCLUDE zhcmn_assessment_datasheet.
- INCLUDE zhcmn_assessment_datasheet_prf.
- INCLUDE zhcmn_assessment_datasheet_eng.
- INCLUDE zhcmn_assessment_datasheet_tln.
- INCLUDE zhcmn_assessment_datasheet_app.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement