MSS Requisition Request creation option for other than Chief positions
Overview:
This document explains how to provide the option to create requisition request as section manager for responsible organizational units.
Identification/Issue:
In recruitment, from MSS role only manager who had chief position (012 – Relationship) can create the requisition request. But as a section manager can’t able to create any requisition for the responsible or his department vacant positions.
Requirement:
Section manager should be able to create the requisition request for his responsible organizational units.
Solution:
- Create custom relation ship
- Create custom evaluation path
- Create custom OADP structure to display the positions of responsible organizational units
- Link the custom OADP view with standard application HRRCF_C_POSITION component
Step 1:
Create a custom relation ship Z12.
Step 2:
Create custom evaluation path
Step 3:
Configure OADP views, refer the sap help document for creation/configuring the OADP in MSS SPRO nodes.
Here i configured custom organization views to display the vacant positions from responsible organizational units.
Step 4:
Create enhancement to standard webdynpro HRRCF_C_POSITION component
Create post exit to WDDOINT method and write below code.
METHOD _PST_006EI3D4RSSMF3YBN0EMH11LZ . "Exit of WDDOINIT (in ZHRRCF_C_POSITION )
* DATA: LR_OADP_USAGE TYPE REF TO IF_WD_COMPONENT_USAGE.
*
** create oadp component
* LR_OADP_USAGE = WD_THIS->WD_CPUSE_OADP( ).
* IF LR_OADP_USAGE->HAS_ACTIVE_COMPONENT( ) IS INITIAL.
* LR_OADP_USAGE->CREATE_COMPONENT( ).
* ENDIF.
DATA : LV_DEPTMGR TYPE C,
LV_SECMGR TYPE C,
LV_HRAM TYPE C,
LV_OBJID TYPE SOBID.
DATA : LV_UNAME TYPE SY-UNAME,
* lv_name TYPE ESS_EMP-NAME,
LV_POSID TYPE ESS_EMP-POSITION.
CALL FUNCTION 'HR_GETEMPLOYEEDATA_FROMUSER'
EXPORTING
USERNAME = SY-UNAME
VALIDBEGIN = SY-DATUM
IMPORTING
* EMPLOYEENUMBER =
* ORGUNIT =
POSITION = LV_POSID
* RETURN =
EXCEPTIONS
USER_NOT_FOUND = 1
COUNTRYGROUPING_NOT_FOUND = 2
INFTY_NOT_FOUND = 3
OTHERS = 4.
IF SY-SUBRC EQ 0.
** check is hradmin
SELECT SINGLE SOBID INTO LV_OBJID
FROM HRP1001 WHERE OTYPE EQ 'S'
AND OBJID EQ LV_POSID
AND PLVAR EQ '01'
AND RSIGN EQ 'A'
AND RELAT EQ 'H12'
AND ISTAT EQ '1'
AND BEGDA LE SY-DATUM
AND ENDDA GE SY-DATUM.
IF SY-SUBRC EQ 0.
WD_THIS->ORGVIEWGROUP = 'MSS_POS_SEARCH2'.
ELSE.
** check is section manager
SELECT SINGLE SOBID INTO LV_OBJID
FROM HRP1001 WHERE OTYPE EQ 'S'
AND OBJID EQ LV_POSID
AND PLVAR EQ '01'
AND RSIGN EQ 'A'
AND RELAT EQ 'Z12'
AND ISTAT EQ '1'
AND BEGDA LE SY-DATUM
AND ENDDA GE SY-DATUM.
IF SY-SUBRC EQ 0.
WD_THIS->ORGVIEWGROUP = 'MSS_POS_SEARCH1'.
ELSE.
** default department manager
WD_THIS->ORGVIEWGROUP = 'MSS_POS_SEARCH'.
ENDIF.
ENDIF.
ENDIF.
ENDMETHOD.
Step 5:
Maintain the relation ship Z12 for section manager position to roganization unit for which and he is responsible.
Once it’s maintain, section manager can see all positions from organizations in MSS Requisition form position select search option.
Output in Portal:
Section manager shod be able to view positions from organization units in select position search list for MSS Requisition creation form.
This is good one and helpful as many enquire about this functionality