| Status | |
|---|---|
| Owner | |
| Stakeholders | The business stakeholders involved in making, reviewing, and endorsing this decision. Type @ to mention people by name |
| Jira Request ID | |
| Jira Development ID |
| Parameter | Value |
|---|---|
| Application System | SAP S/4HANA ROW, SAP S/4HANA China, SAP S/4HANA CUI |
| Business Process Reference |
The purpose of this enhancement is to introduce a validation and logic control during the creation of Settlement Rules in Plant Maintenance Orders.
Settlement rules are automatically created with Cost Center as the settlement receiver for all the maintenance orders. However, for Turnaround scenarios, the settlement should not go to a Cost Center but instead to a WBS Element associated with the Turnaround event.
The enhancement will intervene at the moment of Settlement Rule creation (not necessarily during Order Release), check whether the Maintenance Order is part of a Turnaround (via Revision/Maintenance Event field), and assign the correct receiver type accordingly.
Enhancement of Settlement Rule creation logic in PM Orders (via BAdI or Enhancement Spot).
Automatic determination of WBS element for Turnaround-related orders.
Maintain standard behavior for non-turnaround orders (default Cost Center settlement).
To ensure correct and automated determination of the appropriate settlement receiver (WBS or Cost Center) based on Turnaround context, maintaining compliance with project cost accounting principles.
Insert the flowchart and fill in the steps
Step | Description | Comment |
|---|---|---|
| 1 | User creates a Maintenance Order or open an existing active order. | Change Maintenance Order Fiori app |
| 2 | User opens the Cost tab → triggers Settlement Rule creation or triggers Settlement Rule via releasing the order. | |
| 3 | System calls Enhancement (BAdI). | |
| 4 | Settlement Rule created accordingly. |
|
| 5 | Order can later be released and costs will settle correctly. |
Y3 notification type is available and configured in the system.
Relevant users have Fiori app access (Create Maintenance Notification, Find Maintenance Notification)
Each Turnaround Order has at least one Maintenance Event/Revision assigned.
Notifications with the same REVNR contain the correct WBS element to be used for settlement.
Standard SAP PM settlement logic is assumed to be functioning correctly for non-turnaround orders.
Users creating maintenance orders have appropriate authorization for reading notifications and WBS elements.
Fiori app configuration for notifications and orders.
Y3 Notification must have WBS element assigned.
BADI implementation must be activated in the system for settlement rule enhancement.
Integration with PS module (for WBS element retrieval) must be in place.
Other custom developments interacting with AFIH, VIQMEL, or settlement rules must not conflict with this logic.
The following configuration changes are required to support the enhancement:
Implementing BADI for settlement rule creation
No additional customizing required for standard Cost Center settlement logic.
Specify the language requirements for this object. Specify the required language and type of translation, like labels, data.
Ensure performance is not impacted when processing large numbers of orders or notifications.
In case of multiple notifications for the same Maintenance Event, implement a rule to select the correct WBS.
If future integrations consume WBS or settlement data, ensure compliance with their data structure and format.
Check Order:
Check if the Maintenance Event/Revision (REVNR) field is filled in the order (AFIH).
Retrieve Maintenance Event:
If REVNR exists, go to the maintenance notification (VIQMEL) and populate Y3 (QMART) with the REVNRvalue from the order.
Identify WBS Element:
For the maintenance notification matching this REVNR, retrieve the associated WBS element (PSP_NR).
Settlement Rule Creation:
For all orders with this Maintenance Event/Revision, create settlement rule to the retrieved WBS element.
If no REVNR is found, default settlement rule is created to the order’s Cost Center.
TBD
Include an overview of the source
| Table | Field Name | Comments/Calculation/Field Manipulation |
|---|---|---|
| AFIH | AUFNR, REVNR | Maintenance Event assigned to the order. |
| VIQMEL | QMART, REVNR, PSP_NR | Used to identify if there is a notification of type ‘Y3’ linked to the same Maintenance Event. If yes, PSP_NR (WBS Element) is used as the settlement receiver. |
| AUFK | KOSTL | Used when no valid Turnaround link is found; settlement to Cost Center. |
Include an overview of the data validation requirement
| Table | Field Name | Comments/Calculation/Field Manipulation |
|---|---|---|
| AFIH | REVNR | Validate that the Maintenance Event field is not empty before proceeding to check in VIQMEL. |
| VIQMEL | QMART | Validate that QMART = ‘Y3’ |
| VIQMEL | PSP_NR | Validate that PSP_NR (WBS Element) is filled for the identified notification; if missing, default settlement to Cost Center. |
If any custom configuration tables are required, which will be read by the enhancement logic, then specify them here.
<Title Custom Table 1>
<Include an overview of the table and what it’s used for>
| Field | Description | Data Type/Length | Validation rule/ Value Help |
|---|---|---|---|
Title Configuration Table 1
Include an overview of the table and what it’s used for
| Field | Description | Data Type/Length | Validation rule/ Value Help |
|---|---|---|---|
This section will give the details on the selection screen parameters, parameter type and whether it’s obligatory or not. This section can be used to define the Import Export parameters for Function Module or User Exit or Screens.
| Field Name | Description | Select: Option or Parameter Check box or Radio button Import or Export | Data Type/Length | Default Value/ Validation rule/ Value Help | Selection Logic |
|---|---|---|---|---|---|
Trigger Point:
Enhancement is triggered when the system attempts to create a settlement rule for a maintenance order.
Check Maintenance Event:
Read the order from table AFIH.
If field REVNR (Maintenance Event) is blank, proceed with Cost Center settlement (standard behavior).
Check Related Notification:
If REVNR is filled, check table VIQMEL for any notification where:
QMART = 'Y3'
REVNR = <Order’s REVNR>
Determine Settlement Receiver:
If such a notification exists:
Read PSP_NR (WBS element) from the notification.
Create settlement rule for WBS element.
If no matching notification found:
Create settlement rule for Cost Center from AUFK-KOSTL.
Validation Checks:
Ensure only one receiver type (WBS or Cost Center) is active. (TBD)
Ensure WBS element or Cost Center is valid and open for posting.
Result:
Settlement rule created for the correct receiver type depending on business scenario.
Provide volumetrics details: Initial load volumes, Number of Records, Expected Frequency, Expected Long term Growth)
Specify if there are any specific performance factors that need to be taken into consideration during development i.e. enhancement must be able to be executed by 10 users at the same time, etc.
Please provide some guidance and/or test data to help the developer unit test the enhancement. Please include both positive and negative testing (to validate error situations handling). The developer will need to test repeatedly, so where appropriate provide instructions to reverse the actions performed so the test may be run again or explain how to create new input data to the test. The developer will need logons for test users representing the various roles within the approval process.
| ID | Condition | Expected Result |
|---|---|---|
| 1 | Order without Maintenance Event/Revision | System creates settlement rule for Cost Center (AUFK-KOSTL) |
| 2 | Order with Maintenance Event/Revision but there is no Y3 notification with the same Maintenance Event/Revision. | System creates settlement rule for Cost Center (AUFK-KOSTL) |
| 3 | Order with Maintenance Event/Revision and there is a valid Y3 notification with the same Maintenance Event/Revision. | System creates settlement rule for WBS Element (VIQMEL-PSP_NR) |
| 4 | Order with Maintenance Event but Y3 notification missing WBS element | System defaults to Cost Center settlement. |
| Multiple Y3 notifications found. |
List any considerations essential for application test planning (e.g., test this before ABC along with DEF separate from GHI). If the development encompasses a user interface, explain how to test it. List any insights as to how this component could be tested the most efficiently.
| Package Name | Parent Package |
|---|---|
| Enhancement Type | Standard Definition Name | Custom Implementation Name | Design Rationale Reference |
|---|---|---|---|
| Object Type | Object Name | Purpose/High Level Logic | Design Rationale Reference |
|---|---|---|---|
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 |
Insert links and references to other documents which are relevant when trying to understand this decision and its implications. Other decisions are often impacted, so it's good to list them here with links. Attachments are also possible but dangerous as they are static documents and not updated by their authors.
