This content was created to help users / support engineers debug issues when Resource Management Fast Entry Screen (FES) is not showing the expected results.
The Resource Overview or Staffing Overview FES shows unexpected results.
This content shows the main sections of code where you can set breakpoints to investigate the issue further.
This document assumes the reader has some basic debugging skills.
Section 1 - Configuration
Before debugging, ensure all configuration is done as per SAP PPM Configuration Guide under section Resource Management. Particularly, note the following:
Portfolio Management offers a view for resources and one view for staffing. In the resources view, you will see those resources for which you are assigned as:
- Staffing manager for the organizational unit.
- Candidate manager for the organizational unit.
- Resource manager for the resource pool.
In the staffing view, you will see only those projects and roles for which you are assigned as:
- Staffing manager for the role.
- Candidate manager for the role.
- Resource manager for the project.
Buffering in Resource Management
In Resource Management the Buffering can be activated in customizing:
Spro > Project Management > Resource Management > Fast entry screen > Set summary line and buffering of Fast Entry Screen
To fill the buffer tables you can use the button "Recalculate" on Resource-Overview or Staffing-Overview or you can start report RPM_FES_RECALCULATE.
Section 2 - Debugging
For Resource Overview, consider the methods in Class CL_RPM_RES_MGR_WORKLIST:
For details the following methods can be used:
GET_AVAILABILITY - Gets the distributed availability of a Person
GET_DEMANDS - Gets the demand of a project role
GET_ASSIGNMENTS - Gets the assignments to a project role
ADVANCED_DISTRIBUTION - Gets advanced distribution information
MODIFY_BUPA_LINKS - when assigning or changing a resource
If no resources are returned and you have configured correctly (see Section 1) set a breakpoint in GET_ALL_RESOURCES.
Determine resource manager of a resource pool
SELECT * INTO TABLE lt_pools_assign FROM rpm_pool_assign
WHERE resource_manager = lv_partner.
Get Resources: from Resource Pool, Organizational Unit, Buffer,...
> Get Resources from Pool
IF ot_resources IS INITIAL OR iv_search = abap_true.
*Refresh resource data
CALL FUNCTION 'BUP_BUFFER_REFRESH_INTERNAL'.
IF ov_buffer_config IS INITIAL.
* Get resources from pools
CALL METHOD cl_rpm_fast_entry_util=>get_res_details_from_pools
iv_uname = ls_context-as_name
iv_langu = lv_langu
et_resources = lt_pool_resources.
> Get Resources from Organizational unit:
CALL METHOD get_all_sm_orgunits
is_context = ls_context
et_sm_orgunits = lt_org.
> Get Resources from Buffer: (see customizing setting above):
CALL METHOD or_buffer_management->resman_read_resources
is_context = is_context
iv_data_view = iv_data_view
iv_all_resources = iv_all_resources
et_resources = lt_resources_db.
For Staffing Overview, consider the same methods above but in Class CL_RPM_PRJ_MGR_WORKLIST. The following methods can also be helpful:
Method GET_WORKLIST_DETAIL_PROJ and GET_WORKLIST_ROLE_DETAIL.
Also Class CL_RPM_FAST_ENTRY_UTIL, Method GET_AVAIL_CALID - Gets calendar / number of hours for resource or role.
Finally, you can set an external breakpoint in Class CL_RPM_RES_MGR_WORKLIST_API, Method INITIALIZE if you are unsure of where else to set a breakpoint. This is the starting point of FES.
Methods SEARCH_PROJECTS and SEARCH_RESOURCES in CL_RPM_FES_MGR_WORKLIST are also useful. These can be found in Class CL_RPM_PRJ_MGR_WORKLIST.
General Information: Resource Management (PPM-PFM-RES)