| Status | Approved |
|---|---|
| Owner | FRUTEAU-ext, Sabrina |
| Stakeholders | |
| Jira Request ID |
ERP-1018
-
Getting issue details...
STATUS
|
| Jira Development ID | ERP-714 - Getting issue details... STATUS |
High- Level Specification
| Parameter | Value |
|---|---|
| Application System | SAP S/4HANA - CUI instanceSAP S/4HANA - China instance SAP S/4HANA - Rest of World instance |
| Business Process Reference | 10.02.04.01. Manage Project Settlement and Closure |
Functional Overview
This functional specification defines the custom development required to automatically replicate specific PPM Item User Statuses to linked PS Project and WBS Element User Statuses.
The enhancement ensures that when an Item in PPM is updated to statuses: TECO/Cancelled, Closed/Cancelled or On Hold, the corresponding PS User Status is automatically set on the associated Project Definition.
Scope and Objectives
Standard PPM to PS integration (via DFM configuration) supports mapping PPM Item Status to PS System Status only.
Since Cancelled and On Hold are User Statuses in PS, standard functionality cannot be used, requiring custom development.
The objectives of this Functional Specification are to ensure consistency between PPM and PS project status management by synchronizing User Statuses across both modules whenever a relevant status change occurs in PPM.
Step | Description | Comment |
|---|---|---|
| 1 | Trigger: User changes of PPM Item Status to:
| Upon saving, the PPM item status is updated. |
| 2 | System triggers the status change on the corresponding SAP PS project to Cancelled or On Hold. | Item changed to status On Hold => PS project status changed to On Hold Item changed to status TECO/Cancelled =>
Item changed to status Closed/Cancelled =>
The statuses Cancelled and On Hold are assigned to the related WBS element of the same project. |
| 3 | User changes the PPM item status from On hold to Approved. The system removed status On Hold on the corresponding PS project. | |
| 4 | User changes the PPM item status from TECO/Cancelled to Closed/Cancelled. PS project system status updated to Closed via DFM | Not in the scope of this FS. |
| 5 | User changes the PPM item status from TECO/Cancelled to TECO. The system removed status Cancelled on the corresponding PS project. | |
| 6 | User changes the PPM item status from Closed/Cancelled to TECO/Cancelled. PS project system status updated to TECO via DFM. | Not in the scope of this FS. |
Assumptions
N/A
Dependencies
PPM item status configuration defined.
DFM configuration to synchronize PPM item status with SAP PS project system status.
SAP PS user statuses Cancelled and On Hold defined.
Security, Integrity and Controls
N/A
Configuration Requirements
N/A
Language Requirements
N/A
Special Requirements
N/A
Design Rationale
Functional Requirements
- Automatic Synchronization
When a user sets the Item Status in PPM to one of the below statuses:
- TECO/Cancelled
- Closed/Cancelled
- On Hold
The corresponding PS Project and its WBS Elements must automatically receive the corresponding PS User Status.
PPM is the controlling application. Users must not manually adjust the PS status for these cases.
The solution must ensure aligned user statuses between PPM and PS at all times.
The update must occur:
- Immediately upon Item status change
- With error logging and alerting in case of failures
2. Update related WBS elements with Cancelled or On hold statuses
When the status "Cancelled" or "On Hold" is assigned to a project definition, the same status must be automatically assigned to all underlying WBS elements. The replication should occur immediately upon status assignment at the project level.
3. Reversibility
If the PPM item status is changed from On Hold, TECO/Cancelled or Closed/Cancelled to another allowed status as per PPM configuration, the status change must be reflected on the SAP PS project, and removed from all dependent WBS elements.:
| From | To | Expected behavior |
| On Hold | Approved | deactivate user status On Hold on PS Project |
| On Hold | TECO | deactivate user status On Hold on PS Project |
| TECO/Cancelled | TECO | deactivate user status Cancelled on PS Project |
| TECO/Cancelled | Closed/Cancelled | TECO system status handled by DFM configuration. User status Cancelled is already assigned to PS project. |
| Closed/Cancelled | TECO/Cancelled | Closed system status handled by DFM configuration. User status Cancelled is already assigned to PS project. |
4 If corresponding SAP PS status is locked for edit by a user, do not allow the change on the PPM item. Error message in PPM stating that the SAP PS project is currently being used by user id, and therefore the status change is not allowed.
Proposed Technology to Use
Implement BADI RPM_PROJ_CUST_FIELDS to trigger synchronisation and update the PS using BAPI.
Data Source Considerations
| Table | Field Name | Comments/Calculation/Field Manipulation |
|---|---|---|
| /RPM/ITEM_D | STATUS | Check PPM item status assigned |
| TJ30 | ESTAT, TXT04, TXT30 | SAP PS user statuses definition table |
| /RPM/STATUS_T | STATUS, TEXT | PPM item status definition table |
| PRPS | PSPHI | Check WBS elements related to project |
Data Validation Considerations
N/A
| Table | Field Name | Comments/Calculation/Field Manipulation |
|---|---|---|
Custom Tables
N/A
Master Data
N/A
| Field | Description | Data Type/Length | Validation rule/ Value Help |
|---|---|---|---|
Configuration Table
N/A
| Field | Description | Data Type/Length | Validation rule/ Value Help |
|---|---|---|---|
Selection Screen Enhancement
N/A
| Field Name | Description | Select: | Data Type/Length | Default Value/ Validation rule/ Value Help | Selection Logic |
|---|---|---|---|---|---|
Processing Logic
- Detect change in Item Status.
If the field STATUS on the PPM item (table /RPM/ITEM_D) is changed to values On Hold, TECO/Cancelled, Closed/Cancelled:
- Identify related SAP PS Project definition: PPM item id = PS Project definition id.
- Set PS User Status on the SAP PS Project definition to the corresponding PS user status:
PPM Status | PPM status id | Corresponding SAP PS User status | PS - TXT04 status text |
On Hold | Z006 | On Hold | HOLD |
TECO/Cancelled | Z007 | Cancelled | CNCLD |
Closed/Cancelled | Z008 | Cancelled | CNCLD |
- Set/remove User Status accordingly using: STATUS_CHANGE_IN_PROJECT or BAPI_BUS2001_SETSTATUS
2. Automatic Replication of User Statuses "Cancelled" and "On Hold" from Project to WBS Elements
For each WBS element, if the status is being set on the project, set the same status on the WBS element (if not already set).
If the status is removed from the project definition, it should also be removed from the WBS elements.
- Identify the related WBS elements:
Table PRPS field PSPHI = Project id
- Use standard SAP function modules or BAPIs for status updates, such as
BAPI_BUS2054_SET_STATUSfor WBS elements.
- Use standard SAP function modules or BAPIs for status updates, such as
3. If status is changed from On Hold, TECO/Cancelled, Closed/Cancelled to another value:
- Identify related SAP PS Project definition: PPM item id = PS Project definition id.
- Set/remove User Status accordingly using: STATUS_CHANGE_IN_PROJECT or BAPI_BUS2001_SETSTATUS
From | PPM status id from | To | PPM status id To | Expected results |
On Hold | Z006 | Approved | Z002 | Deactivate user status On Hold on PS Project |
On Hold | Z006 | TECO | Z006 | Deactivate user status On Hold on PS Project |
TECO/Cancelled | Z007 | TECO | Z006 | Deactivate user status Cancelled on PS Project |
TECO/Cancelled | Z007 | Closed/Cancelled | Z007 | Check that user status Cancelled is already assigned to PS project. If not, Set. |
Closed/Cancelled | Z008 | TECO/Cancelled | Z008 | Check that user status Cancelled is already assigned to PS project. If not, Set. |
4. If the status update fails because the PS Project is locked:
Display a meaningful error message to the PPM user: “Status update cannot be applied because Project <Project ID> is currently locked in SAP PS by user <username>. Please try again later.”
- The status change is not saved on the PPM item.
Log the failure in the PPM log or message queue.
Volumetrics
Unknown.
Performance Considerations
N/A
Error Handling
All failures logged in SLG1.
In case of failure the status change will not save. So the user will receive an error message, and can re iterate the status change save.
Testing
How to Test
To test the solution, open the PPM application and update the PPM item status to the relevant statuses (On Hold, TECO/Cancelled, and Closed/Cancelled). After saving, verify that the corresponding SAP PS project and its associated WBS elements reflect the same status changes. Additionally, confirm that reversing these statuses in the PPM item also reverses the statuses in the corresponding SAP PS project and WBS elements.
Test Conditions and Expected Results
| ID | Condition | Expected Result |
|---|---|---|
| 1 | Create 3 PPM items and approve the first Stage Gate to trigger the PS Project creation. | SAP PS project created with same id as PPM item. |
| 2 | Change the projects status to:
| Statuses are replicated to the corresponding SAP PS projects. Related WBS elements are updated with the same. |
| 3 | Change again the statuses on the 3 projects:
| Changes are reflected to the SAP PS project. Related WBS elements are updated with the same. |
| 4 | Open the SAP PS project and the PPM item in edit mode simultaneously. Change the PPM item with any of the above mentioned statuses. Save. | PS project lock error message and status change is not saved on the PPM item. |
Test Considerations/Dependencies
Other Information
Development Details
Package
| Package Name | Parent Package |
|---|---|
Enhancement Implementation
| Enhancement Type | Standard Definition Name | Custom Implementation Name | Design Rationale Reference |
|---|---|---|---|
Other Development Objects
| Object Type | Object Name | Purpose/High Level Logic | Design Rationale Reference |
|---|---|---|---|
Appendix
Custom Authorization Group Naming Convention
This table is based on the Syensqo development standards document. It provides the naming conventions for authorization groups to associated with custom reports and tables to comply with security requirements.
ABAP | ZFI | ZMM | ZPS | ZCO | ZSD | ZBC | ZFI | ZCA |
|---|---|---|---|---|---|---|---|---|
| TABLES | ZFIT | ZMMT | ZPST | ZCOT | ZSDT | ZBCT | ZFIT | ZCAT |
