1 2 3 6 Previous Next

SAP ERP HCM Employee Self-Service

76 Posts

Requirement :

      As per standard functionality the leave records (In Record working time)will be in display mode as like below. User want to  modify these type leave (already applied leaves )records. So, we have to make these type  of leave records in edit mode.

 

record1.png

 

     Solution: All type of leave records will be maintained in the view:  V_T554S_ESSEX.


    Table.png

 

      Unchecked the Deactivate box . Automatically, corresponding leaves will display in change mode in the portal level.

 

       RWT.png

The leave application provided by SAP system has evolved over last many years from ITS to JAVA and ABAP webdynpro. Universal worklist to My inbox uses the business workflow templates which are used with various MSS roles.

 

This blog throws some light on the issues which are easy to resolve but takes a lot of analysis to identify the core issue. We face these issues because matching all the right release level at ERP is a tedious job and we need more than one skill to assure the match.

 

1. If you are using uwl and if you get a blank page (Blank page means there is nothing on the browser page, not even a header) then what should you do?

 

Step 1. Please check your obn logs of uwl. go to your portal url (http://xxxx.xxxx.com:xxxxx/nwa)

 

Follow path troubleshooting->logs and traces->log viewer

 

Look for ERROR, if the error is Refer to message ID: com.sap.ep.obn.008.

 

This error is related to OBN which means that you must have implemented below notes.

 

ESS LEA: Web Dynpro ABAP based Leave Request use in UWL

Modifications to UWL configuration file in BP MSS Add-On 1.0

Modifications to UWL configuration file in BP MSS 1.51

 

All the above notes refer to the customization of xml the xml customization in most cases use obn hence you must assure that obn for leave request is correctly defined.

 

Next step is to check the OBN (Object based navigation) properties.

  • Follow path in portal content directory as shown below. you need to open the iview that you are using for approval. Please note that all leave applications use either abap or java iview (application) that is called in the SAP business workflow.

 

1.jpg

  • Open the approve leave application iview as part of MSS package that you are using. You need to right click and select the object based navigation of the iview and make sure you see an entry as shown below.

 

2.jpg

  • If the above employee entry is not there then you need to add this object in the iview. To do so Go to  Business object folder and drill down till Employee object that is under human resources folder

 

3.jpg

 

 

4.jpg

  • Select the employee object shown above and add to the iview by right clicking on the object employee.
  • You must assure that your obn is active for leave application by making xml changes for your leave. An example for task 21500003 is provided below.

 

  • <Property name="page" value="ROLES://portal_content/com.kpa.KPA/com.kpa.HCM/com.sap.pct.addon.mss.PACKAGEMSS/com.sap.pct.addon.mss.Rolesmss/com.sap.pct.addon.mss.ZK_XX50/com.sap.pct.addon.mss.Manager_Self-Service/Overview"/>

 

Above xml path is to the standard role hence if you are using any custom role then it should point to that respective pcd location.

 

  • <ItemType name="uwl.task.webflow.TS21500003.SAP_ECC_HumanResources" connector="WebFlowConnector" defaultView="DefaultView" defaultAction="defaultAction" executionMode="default">

<ItemTypeCriteria systemId="SAP_ECC_HumanResources" externalType=" TS21500003" connector="WebFlowConnector"/>

<CustomAttributes>

<CustomAttributeSource id="WEBFLOW_CONTAINER" objectIdHolder="externalObjectId" objectType="WebflowContainer" cacheValidity="final">

<Attribute name="REQUESTID" type="string" displayName="Request ID"/>

</CustomAttributeSource>

</CustomAttributes>

<Actions>

<Action name="defaultAction" groupAction="" handler="ObjectNavigationLauncher" returnToDetailViewAllowed="yes" launchInNewWindow="yes">

          <Properties>

            <Property name="Operation" value="approveleaverequest"/>

<Property name="ObjectValue" value="LRF_REQUEST_ID=${item.REQUESTID}"/>

           <Property name="DynamicParameter" value="LRF_REQUEST_ID=${item.REQUESTID}"/>

            <Property name="openInNewWindow" value="true"/>

            <Property name="ObjectName" value="employee"/>

            <Property name="System" value="SAP_ERP_HumanResources"/>

          </Properties>

          <Descriptions default="defaultAction"/>

        </Action>

      </Actions>

    </ItemType>

 

There are many incomplete and unexplained solutions without step by step guide  the objective of this article is to take a pre implementation check of above based on your respective product Service and Support packs.

 

Important note - You must assure that you send transport of above changes from DEV TO QA and in QA recreate the transport and send from QA to PRD.

In the standard shipment, “My Reports” chip under MSS Landing Page shows a blank screen.

 

There are few configurations and settings to be carried out to bring the standard reports into My Reports Chip/Service.

 

Step1: Configure Launchpad for MyReports Lane

 

Goto T.Code LPD_CUST

Select Role =HRMSS and Instance = REPORTING

Generally this Launchpad consists of no reports in standard.

 

1.png

Step2: Copy the Reports from Role = MSS and Instance = REP

 

2.png

 

In this example I copied 3 folders as shown in below screenshot.

 

3.png

 

Step3: Assign Launchpad to Role

 

We need to add technical name of Launchpad in Personalization object of MSS Role SAP_MANAGER_MSS_SR_ANA_1

Goto to T.Code PFCG

Click on change --> Select Personalisation tab --> select HRMSS_REPORT_LPD--> Double
click and add role and instance under personalization data

 

4.png

 

 

Step4: Activate SAP Standard queries

 

 

Goto T-Code SQ01

The standard SAP queries in standard infosets for example /SAPQUERY/H2 and integrated into MSS Reporting Launchpad

 

5.png

 

Step5: Convert MDT Reports to MSS Lauchpad customisation

Executing the below report will convert MDT queries into MSS Reporting Launchpad. The converted MSS queries are populated in Role HRMSS and Instance REPORTING as shown in below step. Also corrects any inconsistencies in any custom reports copied or added
into the Launchpad.

SE38--> RP_MSS_CONVERT_MDT_TO_LPD_CUST

 

 

 

 

 

 

 

6.png

 

Step6: Check the Reports in Portal

Click on MSS Landing page--> Select My Reports and switch to full screen mode

7.png

8.png

 

You can also refer my document http://scn.sap.com/docs/DOC-50736 to learn about how to Integrate Sap Query into ESS and MSS Reporting Launchpad in EHP6

 

Thank

Gita

 

 

When I updated one of the role and Instance in LPD_CUST, system didnt ask for Transport request number

 

But It wont be possible to update LPD_CUST in QA and Production environment

 

To transport LPD_CUST you would need 2 transports - Workbench and Customizing

 

Set user Parameters

 

 

 

Now change LPD_CUST, system will pop up for transport

 

Mainly SAP stores table contents with these transports

tables -

APB_LPD_TRANSLOG

APB_LAUNCHPAD_V

APB_LPD_OTR_KEYS

APB_LPD_VERSIONS

Are there a lot of options to validate users when they click on the record working time link on the ESS and prevent their access to the timesheet under some specific custom conditions alone?

 

Unfortunately, all the exits that are available for CAT2 validations aren't available here, as listed in the link http://wiki.scn.sap.com/wiki/display/ERPHCM/User-exits+in+CATS

 

So how do we force SAP to throw some custom exceptions and prevent the users from accessing the timesheet application? (In cases where validations on check/save will not suffice)

 

Here is one last resort:

 

The standard method CL_HRESS_AS_CATS->SET_EMPLOYEE_DETAILS gets invoked when the user tries to access the ESS timesheet. This method determines if the user is eligible to open the record working time application and if his PERNR setup is correct. If any error occurs, the standard catches an exception and opens a new window showing the error instead of opening the ESS timesheet application. Hence one way to put in custom validations is to perform an implicit enhancement within this method .

By carefully placing a proper try-catch statement and catching the exception of type CX_HRESS, the standard framework can be leveraged to pass custom messages. (Here the appropriate complex constant needs to be passed).

Overview:

This document explains about hiding buttons in standard business workplace POWL query Inbox application.

Here i didn't explain much about POWL query design related.

 

Requirement:

Hide some buttons in workflow inbox POWL query in business workflow application.

SBWP.PNG

 

Solution Steps:

 

Step 1: First identify the Query ID in t-code POWL_QUERY for which you want to hide the buttons. Here i explained for query Inbox.

SBWP1.PNG

 

Step 2: Navigate to details screen of Inbox entry, here you can see the POWL Type ID mapped for this query in application.

 

SBWP2.PNG

 

Step 3: For this POWL Type ID WF_INBOX Check the class mapped in t-code POWL_TYPE

SBWP3.PNG

 

SBWP4.PNG

 

Step 4: Now, check this CL_SWF_POWL_FEEDER_INBOX class in t-code SE24

SBWP5.PNG

 

In this class, the method IF_POWL_FEEDER~GET_ACTIONS will contain the code for these all buttons as shown below.

SBWP6.PNG

 

Step 5: Create enhancement/exit for this method and comment the button code which ever you want to hide in application.

Here i just hide for the Set to Done button by commenting the code.

SBWP7.PNG

 

 

Output :

Now run the business workplace application, you will not see Set to Done button for Inbox query.

 

SBWP8.PNG

 

In same way other query's can be enhanced.

Overview:

In Leave request application, leave types field will show all the leave types for employee which ever is applicable. It will show the leave types which contains leave quota 0. This document explains how to restrict these 0 balance leave types from leave type drop down list.

 

Requirement:

In Leave request creation, for leave type selection list should display only available quota leave types. It should not 0 balance leave types in list.

 

Solution Steps:

Step 1: Create enhancement to standard class CL_HRESS_PTARQ_LEAVREQ_GUIBBF in method SET_VALUE_HELP

ESS LR.PNG

 

Step 2: Write code before selecting the leave type

ESS LR1.png

 

Step 3: Add below code to avoid 0 balance leave types display in Leave Type drop down list.

 

DATA : lt_accounts TYPE PTARQ_TIME_ACCOUNTS_TAB,
        ls_accounts TYPE LINE OF ptarq_time_accounts_tab,
        lt_attabs_customizing TYPE PTARQ_UIA_ATTABS_TAB,
        ls_attabs_customizing TYPE LINE OF PTARQ_UIA_ATTABS_TAB.
 DATA : account     TYPE REF TO cl_pt_arq_timeaccounts.
 CALL METHOD cl_pt_arq_timeaccounts=>get_instance
     RECEIVING
       result = account.
 CALL METHOD account->get_time_accounts
   EXPORTING
     im_pernr        = MV_PERNR_EMP
     im_begda        = SY-DATUM
 *    im_endda        = '99991231'
 *    im_sel_begda    = '18000101'
 *    im_sel_endda    = '99991231'
   IMPORTING
     ex_timeaccounts = lt_accounts.
 DELETE lt_accounts WHERE REST_POSTED&REQUESTED IS INITIAL.
 LOOP AT lt_accounts INTO ls_accounts.
 IF LS_ACCOUNTS-REST_POSTED&REQUESTED IS NOT INITIAL.
    LOOP AT mt_attabs_customizing ASSIGNING <ls_attabs_customizing> WHERE SUBTYTEXT = LS_ACCOUNTS-QUOTATEXT.
         append <ls_attabs_customizing> TO lt_attabs_customizing.
    ENDLOOP.
 ENDIF.
 ENDLOOP.
 mt_attabs_customizing[] = lt_attabs_customizing[].
SORT mt_attabs_customizing ASCENDING BY subty.

 

OutPut: In Leave request, employee will able to see only quota available leave types in leave type drop down list for selection.

 

 

Note: This is done in EHP5 and above verions.

Overview:

This document explains how to restrict display of no quota balance leave types i.e remaining balance 0.00 in Time Accounts application.

 

Requirement:

In Time Accounts application, it should not display the no quota balance leave types in list.

 

Solution Steps:

Step 1: Create enhancement to standard class CL_HRESS_PTARQ_TIMEACC_GUIBBL for method IF_FPM_GUIBB_LIST~GET_DATA

ESS TA.png

 

 

Step 2: Write below logic in created enhancement.

 

CLASS LCL_ZHRESS_LR_TIMEACCS DEFINITION DEFERRED.
CLASS CL_HRESS_PTARQ_TIMEACC_GUIBBL DEFINITION LOCAL FRIENDS LCL_ZHRESS_LR_TIMEACCS.
*----------------------------------------------------------------------*
*       CLASS LCL_ZHRESS_LR_TIMEACCS DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS LCL_ZHRESS_LR_TIMEACCS DEFINITION.
   PUBLIC SECTION.
     CLASS-DATA OBJ TYPE REF TO LCL_ZHRESS_LR_TIMEACCS.      "#EC NEEDED
     DATA CORE_OBJECT TYPE REF TO CL_HRESS_PTARQ_TIMEACC_GUIBBL . "#EC NEEDED
     INTERFACES  IPO_ZHRESS_LR_TIMEACCS.
     METHODS:
      CONSTRUCTOR IMPORTING CORE_OBJECT
        TYPE REF TO CL_HRESS_PTARQ_TIMEACC_GUIBBL OPTIONAL.
ENDCLASS.                    "LCL_ZHRESS_LR_TIMEACCS DEFINITION
*----------------------------------------------------------------------*
*       CLASS LCL_ZHRESS_LR_TIMEACCS IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS LCL_ZHRESS_LR_TIMEACCS IMPLEMENTATION.
   METHOD CONSTRUCTOR.
     ME->CORE_OBJECT = CORE_OBJECT.
   ENDMETHOD.                    "CONSTRUCTOR
   METHOD IPO_ZHRESS_LR_TIMEACCS~GET_DATA.
*"------------------------------------------------------------------------*
*" Declaration of POST-method, do not insert any comments here please!
*"
*"methods GET_DATA
*"  importing
*"    !IV_EVENTID type ref to CL_FPM_EVENT
*"    !IT_SELECTED_FIELDS type FPMGB_T_SELECTED_FIELDS optional
*"    !IV_RAISED_BY_OWN_UI type BOOLE_D optional
*"    !IV_VISIBLE_ROWS type I optional
*"    !IV_EDIT_MODE type FPM_EDIT_MODE optional
*"    !IO_EXTENDED_CTRL type ref to IF_FPM_LIST_ATS_EXT_CTRL optional
*"  changing
*"    !ET_MESSAGES type FPMGB_T_MESSAGES
*"    !EV_DATA_CHANGED type BOOLE_D
*"    !EV_FIELD_USAGE_CHANGED type BOOLE_D
*"    !EV_ACTION_USAGE_CHANGED type BOOLE_D
*"    !EV_SELECTED_LINES_CHANGED type BOOLE_D
*"    !EV_DND_ATTR_CHANGED type BOOLE_D
*"    !EO_ITAB_CHANGE_LOG type ref to IF_SALV_ITAB_CHANGE_LOG
*"    !CT_DATA type DATA
*"    !CT_FIELD_USAGE type FPMGB_T_FIELDUSAGE
*"    !CT_ACTION_USAGE type FPMGB_T_ACTIONUSAGE
*"    !CT_SELECTED_LINES type RSTABIXTAB
*"    !CV_LEAD_INDEX type SYTABIX
*"    !CV_FIRST_VISIBLE_ROW type I
*"    !CS_ADDITIONAL_INFO type FPMGB_S_ADDITIONAL_INFO optional
*"    !CT_DND_ATTRIBUTES type FPMGB_T_DND_DEFINITION optional .
*"------------------------------------------------------------------------*
     DATA: LT_DATA TYPE PTARQ_UIA_QUOTA_STATUS_TAB_CE.
     IF CT_DATA IS NOT INITIAL.
       LT_DATA = CT_DATA.
       DELETE LT_DATA WHERE REST_POSTED_REQUESTED = '     0.00 Days'.
       CT_DATA = LT_DATA.
     ENDIF.
   ENDMETHOD.                    "IPO_ZHRESS_LR_TIMEACCS~GET_DATA
ENDCLASS.                    "lcl_zhress_lr_timeaccs IMPLEMENTATION

 

Output: It will not display 0 balance quota leave types in list

ESS TA1.png

 

Note: This is done for WDABAP based applications in EHP5/6.

After a rather long hiatus I finally found sometime to logon to SCN, and to my chagrin, I still see my points stuck at 399 , just like Sachin's score on 99. There are times when nobody rewards for the knowledge you post, but that should never deter one from posting new ones. SCN is the backbone for so many developers and consultants, and many cannot imagine a SAP career without it ..haha .

 

Once in a while you feel some change in the wind and think good times are back, life is getting easy, but then happiness is always short lived unless you achieve nirvana. Resting on the laurels and being complacent that atlast we have met every requrement and hit the nail on the head is just a delusion of all developers. As a SAP developer you might ponder why end users are so insistent on things which you might think is trivial and silly, may be, because we are never the end user and fail see it from their perspectives, how simple things can change their mundane work and make life easier for them.

 

Just as I was feeling that the end user training was going as planned, one of users gets a brainwave after seeing the POWL inbox and suggests why should I see all the queries when there are no tasks in those, this makes it difficult to identify and it looks cluttered, he wanted all queries with no task to be removed from his view. By the time I recover from the shot I have another sniper shot from another user with the bullet reading "I want different colors for different kinds of request for the same process", I gather my senses and balance thinking of the golden words "nothing is impossible", some times you need hang on to your hopes. In POWL configuration we do have an option to assign POWL queries to particular users or based on roles. With no stone left unturned I could not see how this particular requirement can be met from powl cockpit.

 

In one of my earlier blogs I have explained how you can categorize the POWL queries based on the text when you have the same taskid, here in this short blog we will see how we can make the powl link matrix neater and the powl rows colorful. To meet these requirements we need to get out of the cockpit and work on the engine, to nail the first one, find out the POWL component for the MSS inbox, get into the actual component, the POWL_UI_COMP. The hyperlinks are rendered dynamically in the view MASTER_MATRIX in the active queries section.

 

BLOG_PIC1.JPG

 

Create an enhancement in the form of post exit on the WDMODIFYVIEW method, Before you goahead with the coding find out the UI structure from the web dynpro technical help. As you can see below, the links are rendered encapsulated in Groups and Transparent containers, so we need to drill down the UI element to get a handle to that link. Once you know the structure, it just takes a few lines of code to achieve your requirement.

 

BLOG_PIC2.JPG

 

Sample code as below. Just read the text view text to detect any string with "(0)", and hide it.

BLOG_PIC3.JPG

 

POWL before  the changes looks cluttered with too many links appearing with Zero tasks.

BLOG_PIC4.JPG

 

POWL after modifcation, looks neater and easier to work with lesser and relevant links on which user has to work on.

 

BLOG_PIC5.JPG

 

For the second requirment of colouring the POWL rows based on request type for the same process we need to initially have the text of request as a part of the work item text, which can be easily accomplished by having the request type as part of the workflow container and then mapping the same on to the work item text. Once we have done this, there is a bit of enhacement which needs to be done on the feeder. the easiest way to find the feeder is to get it from the powl cockpit for the application ID MANAGER_MSS_INBOX_2 or go through the technical help, the feeder for MSS inbox is CL_IBO_INBOX_FEEDER_WI.

As you most of you will be aware that POWL is basically an ALV with all the added functionality, so to manipulate it we need to alter its field catalog. So in the method READ_CUST_FIELDCAT of this class add another column named COLOR to the fieldcatalog, and make this COLOR as the color reference field by passing the column name to  color_ref field of the field catalog.

 

In the method IF_POWL_FEEDER~GET_OBJECTS it gets all the work items related to the query this could be the ideal place to check the work item text and then manipulate the color. Here you can validate the string for particular value and assign required color by passing an integer value to the COLOR column, you can pass up to value 19 to get different colour variations. The color variations can really be helpful for the user to identify the priority tasks based on the request type for the same process.

 

Row colors based on request type text.

BLOG_PIC6.JPG

 

Hope this stuff is useful to someone, somewhere, in some project , and thanks for reading. And yes my points has passed the 399 jinx after this blog.

 

raghavendra

Overview:

This document explains how to display the part appraisal documents in MSS POWL application instead of ESS POWL application for part appraiser.

 

Identification/Issues in standard:

In Standard, POWL will show all appraisal documents for part appraiser in employee appraisal documents powl application instead of approver powl applications

 

Requirement:

All appraisal documents for approval it should show in approval i.e MSS POWL application for part appraiser.

 

Solution Steps:

Create enhancement to standard function module HRHAP_RFC_DOCUMENT_GET_LIST.

 

Write below logic in function module before call function  HRHAP_DOCUMENT_GET_LIST_XXL

 

DATA: wa_hrhap      TYPE hrhap,
       ls_documents type hap_s_documents.
   IF lt_appraisees is not initial.
     refresh: lt_others, lt_part_appraisers.
   ELSEIF lt_appraisers is not initial.
      lt_part_appraisers = lt_appraisers.
      lt_others = lt_appraisers.
ENDIF.

MSS PMS.PNG

 

Output:

Part appraiser should be able to view all appraisal templates in MSS POWL application for approval instead in ESS POWL application

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.

MSS RERS.PNG

 

Step 2:

Create custom evaluation path

MSS REEP.PNG

 

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.

MSS REOV.PNG

 

Step 4:

Create enhancement to standard webdynpro HRRCF_C_POSITION component

 

MSS REPC.PNG

 

Create post exit to WDDOINT method and write below code.

MSS REPCC.PNG

 

 

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.

 

MSS RM.PNG

 

Output in Portal:

Section manager shod be able to view positions from organization units in select position search list for MSS Requisition creation form.

 

MSS REPS.png

 

MSS PSL.png

The Team View application has configurable event that allows you display short profile of your employees. Our requirement was to add another application (Emergency Contacts) to the context menu that would open in the side panel like the short profile.

1.png

 

 

 

First step would be maintaining an custom event. Configure the event name.

2.png

 

 

 

Next design your Custom WD Component. Here name/contact info from primary and secondary emergency contact as added.

3.png

 

 

 

In the component controller of HRMSS_TEAM_HIERARCHY, write a post exit of GENERAL_EVENT & CUSTOM_EVENT, CUSTOM_EVENTS_HANDLER.

4.png

 

 

 

For HRMSS_TEAM_HIERARCHY in the Layout of V_MAIN_FLASH, customize the panel.5.png

 

 

In WDDOMODIFYVIEW of V_MAIN_FLASH, do a post exit and enhance.

6.png

 

 

The emergency application opens in the side panel.

7.png

 

Special thanks to Sriranjani Chimakurthy.

Our customer (on EHP minus 1) decided on a multi country implementation of MSS Add-on 1.0 with a unique requirement that a single portal role has to be assigned to Managers (irrespective of country) and a single role for employees across the globe

.

In this scenario, we try to set visibility of fields available in MSS Short Profile based on parameters defined by the customer. For eg: Job Code of Blue collar workers should be not visible to managers in Nordics.

 

Standard Code hides fields with no values in it, we decided to leverage the existing functionality. First Step would be in enabling the Hide checkbox for the fields you require visibility control in V_T77TMCDRCNFFLD_GRP

1.png



In WD Component: HRTMC_SHORT_PROFILE, View: V_MAIN and Method: WDDOMODIFYVIEW, enhancements needs to done to standard source.

2.png



Placing a break as shown:

3.png



For any field, for eg: SAP_PA_BIRTHDATE, clear the value of the field from LS_FIELD_VALUE.

5.png



Field is hidden as shown in HRTMC_SHORT_PROFILE.

7.png



Our customer (on EHP minus 1) decided on a multi country implementation of MSS Add-on 1.0 with the requirement that all UIBBs in ESS should have visibility control based on attributes of employee like Company Code, PA/PSA or EG/ESG.

 

 

The standard approach would be to use define multiple screens with required fields, use HRESS_C_PERSINFO_CONFIG to replace per combination and implement BAdI HRESS_PER_CONFIG_KEY for additional attributes. This definitely meets the requirement, however has following maintenance issues from a customer perspective.

 


  1. Any changes to screen for a specific combination defined by business will have wait till the monthly release cycle to be reflected in the portal ( only emergency transports can be moved to production environment between cycles)
  2. Most importantly, all changes require support organization involvement (configuration/transport). This should be avoided and had to be maintained by a power user using a custom table directly in Production.

 

 

This can be achieved with a post exit in method: GET_UIBBS_FOR_EVENT in Component Controller of FPM_OVP_COMPONENT.

 

U.jpg

 

Key Steps:


  1. Get PERNR from Memory (PERNR_MEM_ID )
  2. Read all UIBBs.
  3. Remove UIBBs according to your customer requirements (used CONFIG_ID)

Our customer (on EHP minus 1) decided on a multi country implementation of MSS Add-on 1.0 with a unique requirement. A Single portal role has to be assigned to Managers (irrespective of country) and a single role for employees across the globe. This did create some unique challenges, this blogs describes approaches on how to address some of the scenarios.

 

MSS Reports are configured in LPD_CUST. However the same set of reports called for all Managers across the globe. This has to be avoided, certain reports needs to be set as invisible to certain countries. 

 

WD Application APB_LAUNCHPAD is used in MSS Reports. We need to do overwrite of GET_TREE_CONTENT method in the component controller.

 

10.jpg

 

 

Break at ITAB_READ_APPLICATIONS. Append this as per the requirement to set visibility of Reports.

11.jpg

 

This applicable to all reports using HRMSS_REPORTING_LAUNCHPAD


Special Thanks to Hitesh Batra.

Actions

Filter Blog

By author:
By date:
By tag: