Professional Documents
Culture Documents
Function Module To Get Manager Details in ABAP
Function Module To Get Manager Details in ABAP
FUNCTION z_get_manager.
*"----------------------------------------------------------------------
*"*"Local interface:
*" IMPORTING
*" EXPORTING
*" EXCEPTIONS
*" MISSING_PARAMETERS
*" MISSING_ORG_ASSIGNMENT
*"----------------------------------------------------------------------
lv_pernr = pernr.
lv_orgeh = orgeh.
lv_plans = plans.
lv_begda = begda.
lv_endda = endda.
lv_plans IS INITIAL.
RAISE missing_parameters.
ENDIF.
*--- Arrive at the org unit that the person or position belongs to
CHANGING lv_orgeh.
ENDIF.
lv_plans IS INITIAL.
lv_begda
lv_endda
CHANGING lv_orgeh.
ENDIF.
IF lv_orgeh IS INITIAL.
RAISE missing_org_assignment.
ENDIF.
CLEAR: gs_manager.
lv_orgeh
lv_begda
lv_endda
CHANGING gs_manager.
mpernr = gs_manager-pernr.
mfname = gs_manager-fname.
mlname = gs_manager-lname.
musrid = gs_manager-usrid.
ENDFUNCTION.
*----------------------------------------------------------------------*
***INCLUDE LZ_ORGF01 .
*----------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*----------------------------------------------------------------------*
p_objid
p_plvar
p_begda
p_endda
p_rsign
p_relat
p_sclas
CHANGING p_sobid.
CLEAR : p_sobid.
SELECT begda
endda
sobid
FROM hrp1001
ENDSELECT.
IF sy-subrc = 0.
p_sobid = lv_sobid.
ENDIF.
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
* Description : Get employees org unit from IT0001
*----------------------------------------------------------------------*
FROM pa0001
ENDSELECT.
IF sy-subrc = 0.
p_orgeh = lv_orgeh.
ENDIF.
*&---------------------------------------------------------------------*
*----------------------------------------------------------------------*
CHANGING lv_pos.
CHANGING lv_pernr.
IF p_pernr IS INITIAL OR
lv_pernr NE p_pernr.
p_begda
p_endda
CHANGING p_manager.
EXIT.
ENDIF.
ENDIF.
CHANGING lv_next_org.
IF lv_next_org IS INITIAL.
EXIT.
ENDIF.
lv_next_org
p_begda
p_endda
CHANGING p_manager.
*&---------------------------------------------------------------------*
*&---------------------------------------------------------------------*
*----------------------------------------------------------------------*
p_manager-pernr = p_pernr.
FROM pa0002
ENDSELECT.
IF sy-subrc = 0.
p_manager-fname = lv_vorna.
p_manager-lname = lv_nachn.
ENDIF.
FROM pa0105
ENDSELECT.
IF sy-subrc = 0.
p_manager-usrid = lv_usrid.
ENDIF.