Home - sharathsym/SAP-Employee_summary GitHub Wiki
Welcome to the SAP-Employee_summary wiki!
FORM get_award USING im_pernr TYPE pernr_d lv_molga TYPE molga. DATA: lv_pskey TYPE pskey, lt_ptext TYPE TABLE OF ty_ptext, lt_i0183 TYPE TABLE OF p0183.
CALL FUNCTION 'HR_READ_INFOTYPE_AUTHC_DISABLE'. CALL FUNCTION 'HR_READ_INFOTYPE' EXPORTING pernr = im_pernr infty = '0183' TABLES infty_tab = lt_i0183. IF lt_i0183 IS NOT INITIAL. LOOP AT lt_i0183 ASSIGNING FIELD-SYMBOL(<fs_0183>). APPEND INITIAL LINE TO gt_award ASSIGNING FIELD-SYMBOL(<fs_award>). MOVE-CORRESPONDING <fs_0183> TO <fs_award>. SELECT SINGLE awdtx FROM t5r02 INTO <fs_award>-awdtx WHERE sprsl EQ sy-langu AND molga EQ lv_molga AND awdtp EQ <fs_0183>-awdtp. lv_pskey-pernr = im_pernr. lv_pskey-infty = '0183'. lv_pskey-endda = <fs_0183>-endda. lv_pskey-begda = <fs_0183>-begda. IMPORT ptext TO lt_ptext FROM DATABASE pcl1(tx) ID lv_pskey. LOOP AT lt_ptext ASSIGNING FIELD-SYMBOL(<fs_ptext>). <fs_award>-text1 = <fs_ptext>-line. IF sy-tabix GT 1. APPEND INITIAL LINE TO gt_award ASSIGNING <fs_award>. <fs_award>-text1 = <fs_ptext>-line. ENDIF. ENDLOOP. ENDLOOP. ENDIF. ENDFORM. FORM get_qual USING im_pernr TYPE pernr_d im_plvar TYPE plvar. DATA: lt_objct TYPE hrahq_hrsobid_table, lt_prof TYPE TABLE OF hrpe_ind_dev_plan, lt_qcat TYPE hap_t_q_profile.
APPEND INITIAL LINE TO lt_objct ASSIGNING FIELD-SYMBOL(<fs_objct>). <fs_objct>-plvar = im_plvar. <fs_objct>-otype = 'P'. <fs_objct>-sobid = im_pernr.
CALL FUNCTION 'BAPI_QUALIFIC_GETLIST' EXPORTING plvar = <fs_objct>-plvar otype = <fs_objct>-otype sobid = <fs_objct>-sobid TABLES qualificationprofile = lt_qcat.
gt_qual = lt_qcat.
CALL FUNCTION 'HR_READ_INFOTYPE_AUTHC_DISABLE'. CALL FUNCTION 'RHPQ_INDIVIDUAL_PLAN_READ' EXPORTING plvar = im_plvar begda = '19900101' TABLES persons = lt_objct pplans_tab = lt_prof EXCEPTIONS no_authority = 1 nothing_found = 2 OTHERS = 3. IF sy-subrc EQ 0. gt_dev = lt_prof. ENDIF.
ENDFORM. FORM get_employer USING im_pernr TYPE pernr_d. DATA: lt_t005t TYPE TABLE OF t005t, lt_i0023 TYPE TABLE OF p0023.
CALL FUNCTION 'HR_READ_INFOTYPE_AUTHC_DISABLE'. CALL FUNCTION 'HR_READ_INFOTYPE' EXPORTING pernr = im_pernr infty = '0023' TABLES infty_tab = lt_i0023.
IF lt_i0023 IS NOT INITIAL. SELECT * FROM t005t APPENDING TABLE lt_t005t FOR ALL ENTRIES IN lt_i0023 WHERE spras EQ sy-langu AND land1 EQ lt_i0023-land1.
LOOP AT lt_i0023 ASSIGNING FIELD-SYMBOL(<fs_0023>).
APPEND INITIAL LINE TO gt_employer ASSIGNING FIELD-SYMBOL(<fs_emp>).
MOVE-CORRESPONDING <fs_0023> TO <fs_emp>.
READ TABLE lt_t005t ASSIGNING FIELD-SYMBOL(<fs_t005t>) WITH KEY land1 = <fs_0023>-land1.
IF sy-subrc EQ 0.
<fs_emp>-landx = <fs_t005t>-landx.
ENDIF.
ENDLOOP.
ENDIF.
ENDFORM. FORM get_address USING im_pernr TYPE pernr_d.
DATA lt_p0006 TYPE p0006_tab. DATA lv_landx TYPE t005t-landx. DATA ls_p0006 TYPE p0006.
CALL FUNCTION 'HR_READ_INFOTYPE_AUTHC_DISABLE'. CALL FUNCTION 'HR_READ_INFOTYPE' EXPORTING pernr = im_pernr infty = '0006' begda = sy-datum endda = sy-datum TABLES infty_tab = lt_p0006.
READ TABLE lt_p0006 INTO ls_p0006 INDEX 1. IF sy-subrc EQ 0. IF ls_p0006-locat IS NOT INITIAL. CONCATENATE ls_p0006-locat ',' INTO ls_p0006-locat. ENDIF. IF ls_p0006-stras IS NOT INITIAL. CONCATENATE ls_p0006-stras ',' INTO ls_p0006-stras. ENDIF. IF ls_p0006-ort01 IS NOT INITIAL. CONCATENATE ls_p0006-ort01 ',' INTO ls_p0006-ort01. ENDIF. CONCATENATE ls_p0006-locat ls_p0006-stras ls_p0006-ort01 INTO gv_addr SEPARATED BY space. IF ls_p0006-land1 IS NOT INITIAL. SELECT SINGLE landx FROM t005t INTO lv_landx WHERE spras EQ sy-langu AND land1 EQ ls_p0006-land1. IF sy-subrc EQ 0. lv_landx = lv_landx && '.'. CONCATENATE gv_addr lv_landx INTO gv_addr SEPARATED BY space. ENDIF. ENDIF. ENDIF. ENDFORM. FORM get_mgr USING im_pernr TYPE pernr_d im_plvar TYPE plvar CHANGING lv_mgr TYPE emnam.
DATA: lv_objid TYPE realo, lv_pernr TYPE pernr_d.
CALL FUNCTION 'HR_READ_INFOTYPE_AUTHC_DISABLE'. lv_objid = im_pernr. CALL FUNCTION 'RH_GET_LEADER' EXPORTING plvar = im_plvar keydate = sy-datum otype = 'P' objid = lv_objid IMPORTING leader_id = lv_objid EXCEPTIONS no_leader_found = 1 no_leading_position_found = 2 OTHERS = 3. IF sy-subrc EQ 0. lv_pernr = lv_objid. CALL FUNCTION 'HR_TMW_GET_EMPLOYEE_NAME' EXPORTING person_no = lv_pernr IMPORTING edit_name = lv_mgr. ENDIF.
ENDFORM. FORM get_id USING im_pernr TYPE pernr_d im_molga TYPE molga CHANGING lv_ictxt TYPE ictxt lv_idnum TYPE psg_idnum. DATA: lt_i0185 TYPE TABLE OF p0185, ls_i0185 TYPE p0185.
CALL FUNCTION 'HR_READ_INFOTYPE_AUTHC_DISABLE'. CALL FUNCTION 'HR_READ_INFOTYPE' EXPORTING pernr = im_pernr infty = '0185' TABLES infty_tab = lt_i0185. READ TABLE lt_i0185 INTO ls_i0185 INDEX 1. IF sy-subrc EQ 0. SELECT SINGLE ictxt FROM t5r06 INTO lv_ictxt WHERE sprsl EQ sy-langu AND molga EQ im_molga AND ictyp EQ ls_i0185-ictyp. IF sy-subrc EQ 0. lv_ictxt = lv_ictxt && ':'. ENDIF. lv_idnum = ls_i0185-icnum. ENDIF. IF lv_ictxt IS INITIAL. lv_ictxt = 'National ID:'. ENDIF. ENDFORM. FORM get_002 USING im_pernr TYPE pernr_d. DATA: lt_i0002 TYPE TABLE OF p0002.
CALL FUNCTION 'HR_READ_INFOTYPE_AUTHC_DISABLE'. CALL FUNCTION 'HR_READ_INFOTYPE' EXPORTING pernr = im_pernr infty = '0002' TABLES infty_tab = lt_i0002. READ TABLE lt_i0002 INTO gs_p0002 INDEX 1. IF sy-subrc EQ 0. SELECT SINGLE ftext FROM t502t INTO gv_marr_stat WHERE sprsl EQ sy-langu AND famst EQ gs_p0002-famst.
SELECT SINGLE landx FROM t005t INTO gv_cob
WHERE spras EQ sy-langu
AND land1 EQ gs_p0002-gblnd.
SELECT SINGLE landx FROM t005t INTO gv_natio
WHERE spras EQ sy-langu
AND land1 EQ gs_p0002-natio.
ENDIF.
ENDFORM. FORM get_001 TABLES lt_001 TYPE tt_001 USING lv_molga TYPE molga im_pernr TYPE pernr_d.
DATA: li_t501t TYPE TABLE OF t501t WITH KEY persg, lt_pa001 TYPE p0001_tab. DATA: li_t503t TYPE TABLE OF t503t WITH KEY persk. DATA: li_cskt TYPE TABLE OF cskt WITH KEY kokrs kostl. DATA: li_t527x TYPE TABLE OF t527x WITH KEY orgeh. DATA: lv_plvar TYPE plvar.
CALL FUNCTION 'HR_READ_INFOTYPE_AUTHC_DISABLE'. CALL FUNCTION 'HR_READ_INFOTYPE' EXPORTING pernr = im_pernr infty = '0001' TABLES infty_tab = lt_pa001.
CHECK lt_pa001[] IS NOT INITIAL.
SELECT * FROM t501t INTO TABLE li_t501t FOR ALL ENTRIES IN lt_pa001 WHERE sprsl EQ sy-langu AND persg EQ lt_pa001-persg.
SELECT * FROM t503t INTO TABLE li_t503t FOR ALL ENTRIES IN lt_pa001 WHERE sprsl EQ sy-langu AND persk EQ lt_pa001-persk.
SELECT * FROM cskt INTO TABLE li_cskt FOR ALL ENTRIES IN lt_pa001 WHERE spras EQ sy-langu AND kokrs EQ lt_pa001-bukrs AND kostl EQ lt_pa001-kostl.
SELECT * FROM t527x INTO TABLE li_t527x FOR ALL ENTRIES IN lt_pa001 WHERE sprsl EQ sy-langu AND orgeh EQ lt_pa001-orgeh.
LOOP AT lt_pa001 INTO gs_p0001.
APPEND INITIAL LINE TO lt_001 ASSIGNING FIELD-SYMBOL(<fs_001>).
MOVE-CORRESPONDING gs_p0001 TO <fs_001>.
READ TABLE li_t501t ASSIGNING FIELD-SYMBOL(<fs_t501t>)
WITH TABLE KEY persg = gs_p0001-persg.
IF sy-subrc EQ 0.
<fs_001>-emgrp = <fs_t501t>-ptext.
ENDIF.
READ TABLE li_t503t ASSIGNING FIELD-SYMBOL(<fs_t503t>)
WITH TABLE KEY persk = gs_p0001-persk.
IF sy-subrc EQ 0.
<fs_001>-esgrp = <fs_t503t>-ptext.
ENDIF.
READ TABLE li_cskt ASSIGNING FIELD-SYMBOL(<fs_cskt>)
WITH TABLE KEY kokrs = gs_p0001-bukrs kostl = gs_p0001-kostl.
IF sy-subrc EQ 0.
<fs_001>-ktext = <fs_cskt>-ktext.
ENDIF.
READ TABLE li_t527x ASSIGNING FIELD-SYMBOL(<fs_t527x>)
WITH TABLE KEY orgeh = gs_p0001-orgeh.
IF sy-subrc EQ 0.
gv_dept = <fs_001>-orgtx = <fs_t527x>-orgtx.
ENDIF.
IF gs_p0001-begda LE sy-datum AND gs_p0001-endda GE sy-datum.
SELECT SINGLE name1 FROM t500p INTO gv_persa
WHERE persa EQ gs_p0001-werks
AND molga EQ lv_molga
AND bukrs EQ gs_p0001-kokrs.
cl_hap_generic=>get_active_plan_version(
IMPORTING
plan_version = lv_plvar ).
SELECT SINGLE stext FROM hrp1000 INTO gv_plans
WHERE plvar EQ lv_plvar
AND otype EQ 'S'
AND objid EQ gs_p0001-plans
AND begda LE sy-datum
AND endda GE sy-datum
AND langu EQ sy-langu.
ENDIF.
ENDLOOP. ENDFORM. FORM get_molga USING im_pernr TYPE pernr_d CHANGING im_molga TYPE molga.
CALL FUNCTION 'HR_READ_INFOTYPE_AUTHC_DISABLE'. CALL FUNCTION 'RH_PM_GET_MOLGA_FROM_PERNR' EXPORTING pernr = im_pernr IMPORTING molga = im_molga EXCEPTIONS nothing_found = 1 no_active_plvar = 2 OTHERS = 3. IF sy-subrc <> 0.
-
Implement suitable error handling here ENDIF. ENDFORM. FORM get_photo USING im_pernr TYPE pernr_d. *Photo CALL FUNCTION 'HRWPC_RFC_EP_READ_PHOTO_URI' EXPORTING pernr = im_pernr datum = sy-datlo
-
TCLAS = 'A'
IMPORTING uri = gv_url EXCEPTIONS not_supported = 1 nothing_found = 2 no_authorization = 3 internal_error = 4 OTHERS = 5. IF sy-subrc NE 0. gv_url = 'https://upload.wikimedia.org/wikipedia/commons/d/d6/Nophoto.jpg'. ENDIF. ENDFORM. FORM get_basic_pay USING im_pernr TYPE pernr_d. DATA: lt_wages TYPE TABLE OF bapip0008p, lv_curr TYPE waers, lt_i0008 TYPE TABLE OF p0008.
CALL FUNCTION 'HR_READ_INFOTYPE_AUTHC_DISABLE'. CALL FUNCTION 'HR_READ_INFOTYPE' EXPORTING pernr = im_pernr infty = '0008' TABLES infty_tab = lt_i0008. CHECK lt_i0008 IS NOT INITIAL. READ TABLE lt_i0008 INTO gs_p0008 INDEX lines( lt_i0008 ). CHECK sy-subrc EQ 0. CALL FUNCTION 'HR_READ_INFOTYPE_AUTHC_DISABLE'. CALL FUNCTION 'BAPI_BASICPAY_GETDETAIL' EXPORTING employeenumber = gs_p0008-pernr subtype = gs_p0008-subty objectid = gs_p0008-objps lockindicator = gs_p0008-sprps validitybegin = gs_p0008-begda validityend = gs_p0008-endda recordnumber = gs_p0008-seqnr IMPORTING currency = lv_curr TABLES wagetypes = lt_wages.
gt_wages = lt_wages. LOOP AT gt_wages ASSIGNING FIELD-SYMBOL(<fs_wages>). IF lv_curr NE 'USD'. CALL FUNCTION 'CONVERT_TO_LOCAL_CURRENCY' EXPORTING
-
CLIENT = SY-MANDT date = sy-datum foreign_amount = <fs_wages>-amount foreign_currency = lv_curr local_currency = 'USD'
-
RATE = 0
-
TYPE_OF_RATE = 'M'
-
READ_TCURR = 'X' IMPORTING local_amount = <fs_wages>-amount EXCEPTIONS no_rate_found = 1 overflow = 2 no_factors_found = 3 no_spread_found = 4 derived_2_times = 5 OTHERS = 6. IF sy-subrc <> 0.
-
Implement suitable error handling here ENDIF. ENDIF. <fs_wages>-curr_key = lv_curr. ENDLOOP. ENDFORM. FORM get_edu USING im_pernr TYPE pernr_d. DATA: lt_i0022 TYPE TABLE OF p0022, lt_t517t TYPE TABLE OF t517t, lt_t005t TYPE TABLE OF t005t, lt_t538t TYPE TABLE OF t538t, lt_t519t TYPE TABLE OF t519t.
CALL FUNCTION 'HR_READ_INFOTYPE_AUTHC_DISABLE'. CALL FUNCTION 'HR_READ_INFOTYPE' EXPORTING pernr = im_pernr infty = '0022' TABLES infty_tab = lt_i0022.
IF lt_i0022 IS NOT INITIAL.
SELECT * FROM t517t INTO TABLE lt_t517t FOR ALL ENTRIES IN lt_i0022 WHERE sprsl EQ sy-langu AND slart EQ lt_i0022-slart.
SELECT * FROM t005t INTO TABLE lt_t005t FOR ALL ENTRIES IN lt_i0022 WHERE spras EQ sy-langu AND land1 EQ lt_i0022-sland.
SELECT * FROM t519t INTO TABLE lt_t519t FOR ALL ENTRIES IN lt_i0022 WHERE sprsl EQ sy-langu AND slabs EQ lt_i0022-slabs.
SELECT * FROM t538t INTO TABLE lt_t538t FOR ALL ENTRIES IN lt_i0022 WHERE sprsl EQ sy-langu AND zeinh EQ lt_i0022-anzeh. ENDIF.
LOOP AT lt_i0022 ASSIGNING FIELD-SYMBOL(<fs_0022>). APPEND INITIAL LINE TO gt_edu ASSIGNING FIELD-SYMBOL(<fs_edu>). MOVE-CORRESPONDING <fs_0022> TO <fs_edu>. READ TABLE lt_t538t ASSIGNING FIELD-SYMBOL(<fs_t538t>) WITH KEY zeinh = <fs_0022>-anzeh. IF sy-subrc EQ 0. <fs_edu>-etext = <fs_t538t>-etext. ENDIF. READ TABLE lt_t519t ASSIGNING FIELD-SYMBOL(<fs_t519t>) WITH KEY slabs = <fs_0022>-slabs. IF sy-subrc EQ 0. <fs_edu>-satxt = <fs_t519t>-stext. ENDIF. READ TABLE lt_t517t ASSIGNING FIELD-SYMBOL(<fs_t517t>) WITH KEY slart = <fs_0022>-slart. IF sy-subrc EQ 0. <fs_edu>-stext = <fs_t517t>-stext. ENDIF. READ TABLE lt_t005t ASSIGNING FIELD-SYMBOL(<fs_t005t>) WITH KEY land1 = <fs_0022>-sland. IF sy-subrc EQ 0. <fs_edu>-landx = <fs_t005t>-landx. ENDIF. ENDLOOP.
ENDFORM. FORM loan_bal USING im_pernr TYPE pernr_d. DATA(lo_loan) = NEW zcl_assist_loan_req( ). CALL METHOD lo_loan->get_outstanding_loan EXPORTING im_pernr = im_pernr IMPORTING ex_outstand = DATA(li_loan). CHECK li_loan IS NOT INITIAL. READ TABLE li_loan ASSIGNING FIELD-SYMBOL(<fs_loan>) INDEX lines( li_loan ). IF sy-subrc EQ 0. gv_loan = <fs_loan>-bal_amt. ENDIF. ENDFORM. FORM get_kin USING im_pernr TYPE pernr_d. DATA: lv_subty TYPE subty VALUE '7', ls_p0021 TYPE p0021, lv_objps TYPE objps.
CALL FUNCTION 'HR_READ_INFOTYPE_AUTHC_DISABLE'. CALL FUNCTION 'HRMGE_GET_DEPENDANT_INFO' EXPORTING pernr = im_pernr subty = lv_subty objps = lv_objps IMPORTING p0021 = ls_p0021. CONCATENATE ls_p0021-favor ls_p0021-fanam INTO gv_kin SEPARATED BY space. ENDFORM. FORM get_plvar CHANGING ex_plvar TYPE plvar. DATA : lv_plvar TYPE plvar. cl_hap_generic=>get_active_plan_version( IMPORTING plan_version = lv_plvar ). ex_plvar = lv_plvar. ENDFORM.