| Status | Approved |
|---|---|
| Owner | BIDALIA-ext, Kuldeep |
| Stakeholders | |
| Jira Request ID | ERP-90 - Getting issue details... STATUS |
| Jira Development ID | ERP-130 - Getting issue details... STATUS |
High- Level Specification
| Parameter | Value |
|---|---|
| Application System | S/4Hana ROW, S/4Hana China, S/4Hana CUI |
| Business Process Reference | 10.02.03.01. Manage Project Execution |
Functional Overview
In a typical SAP Project, budget control serves as a foundational mechanism to ensure financial discipline across capital and operational projects. When a WBS element surpasses its assigned budget threshold, based on the configured budget tolerance limits, the system automatically initiates an email notification to the designated Person Responsible for that WBS element (standard functionality).
However, SAP e-mail is old technology and is to be replaced with a Launchpad Notification for Syensqo. Notifications are required to ensure the Project Manager can proactively prevent overspend of the project budget and delays by timely request for supplementary budget approval. This is especially important for capex budgets which are constrained at a GBU level.
Scope and Objectives
Scope: This enhancement aims to proactively notify users of budget overruns by identifying WBS elements with insufficient budget and delivering alerts directly as Fiori notification and a message to their Launchpad. This enhancement will be applicable to all budget-controlled projects i.e. projects with project profile ZPS0001.
Objective: The key objectives of implementing this enhancement is enhanced visibility i.e. notifications appear directly in the Launchpad, where users already perform daily tasks. It reduces reliance on external email systems and avoids missed alerts.
Step | Description | Comment |
|---|---|---|
| 1 | Create Project | A capital project in SAP will be created from a corresponding PPM item automatically |
| 2 | Budget Allocation |
|
| 3 | Expense Posting |
|
| 4 | Availability Control Monitoring | System checks budget consumption against tolerance limits. 100% = warning, 110% = error notification |
| 5 | Budget Threshold Breach | When costs exceed defined thresholds on a WBS element:
|
| 6 | Notification Trigger | For active WBS elements with status ISBD a batch job triggers custom notification routed to the “My Inbox” application of the user maintained in Person Responsible Position ID, detailing the budget overrun. |
| 7 | User Action | Person Responsible reviews notification in “My Inbox” app and take corrective actions. |
Assumptions
- It is assumed that CAPEX projects will be budgeted, and availability control status will be active.
- Notifications will not be generated upon the 110% as system will not allow any further posting
Dependencies
- Person Responsible is maintained against all WBS elements of Capital projects with correct position id.
- Position ID must be assigned to an active person, and person must possess valid SAP user credential.
Security, Integrity and Controls
Users must have access to Launchpad Notifications.
Configuration Requirements
The following configurations are pre-requisites for this enhancement:
- Budget profile must be configured for availability control activation and assigned to Project Profile.
- Tolerance Limit must be Configured for the budget profile.
Language Requirements
The notification contents will be maintained in four languages i.e. English, French, Italian & Mandarin.
Refer KDD055 - Multi Language Support for more details.
Special Requirements
N/A
Design Rationale
Functional Requirements
For capital projects in SAP PS, exceeding the defined budget tolerance limit in standard SAP sends an email alert to the designated Person Responsible.
To streamline communication and align with SAP Fiori-based notifications, standard email notifications will not be used. There is requirement for an enhancement that:
- Read the WBS Elements that have insufficient budget status
- Calculate both the assigned cost and total budget of the WBS element and report the available budget by subtracting the assigned cost from the budget.
- Routes insufficient budget alerts to the Launchpad notifications (bell icon).
- Once the first threshold has been exceeded, notifications to the Person Responsible
- Subsequent notifications will only be triggered upon further expense postings.
Proposed Technology to Use
Launchpad notifications
Data Source Considerations
N/A
| Table | Field Name | Comments/Calculation/Field Manipulation |
|---|---|---|
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
This enhancement is triggered via a batch job when a Capex-funded project exists within S/4HANA and a financial posting causes the defined budget tolerance threshold to be exceeded. The following sequence outlines the actions executed by the proposed enhancement:
- Identify active WBS elements- The program will identify WBS elements having system status AVAC (I0005)+ ISBD (I0093); excluding WBS elements having any of the system status like Closed (I0046), Account Assignment Locked (I0064) and Deletion Flag (I0076) or user status HOLD or CNCL. Collect the WBS elements and Corresponding Projects.
- Check if any financial posting/ assignment carried out on the same day- Above step will not provide list of child WBS elements if not budgeted. To identify child WBS elements pass identified WBS elements in BAPI BAPI_PROJECT_GETINFO. Collect all Account Assigned WBS elements. These are the active WBS elements to be checked.
- To check if actual cost & commitments are posted on the WBS elements, Pass all identified WBS elements to ACDOCA-PS_POSID where posting date i.e. ACDOCA-BUDAT= System Date.
- To identify if Maintenance or Process orders are assigned to WBS element, Pass WBSE to ACDOCP-PS_POSID and project to ACDOCP- PS_PRJ_PNR and from listed records check if ACDOCP-REQTSN= System Date.
- Ignore the WBS elements if there was no record found on current/system date.
- Calculate WBS element Overall Budget- Pass the WBS to BPGE , BPGE-LEDNR= 0001, Value Type i.e. BPGE-WRTTP= 41, Budget Type i.e. BPGE-VORGA= KBN0, KBR0, KBUD and KBUS (Original budget + Supplementary budget + Transfer budget + Return Budget), get Total Value in Ledger currency i.e. BPGE- WLGES. Calculate total if multiple record exist, it is Overall Budget of a WBS element. From any of the selected record pick currency from BPGE-TWAER.
- Calculate WBS element Assigned Cost- Pass WBS to BPGE . BPGE-LEDNR= 0001, Value Type i.e. BPGE-WRTTP= 42 (Assigned Budget), and get Total Value in Ledger currency i.e. BPGE- WLGES. This Assigned Cost will appear in CA currency, Convert it to local currency using suitable currency conversion rate.
Calculate Remaining Budget =in Local currency, Overall Budget (BPGE-TWAER) - Assigned Cost (BPGE- WLGES)
- Identify launchpad notification recipients Trigger Notification - If remaining budget was 0 or negative, Notification is sent to the Person responsible (PRPS-VERNR) of the WBS element. User ID is to be found from the HR master record of the position
- Notification Content - Below is sample notification content.
Subject: - Budget Alert for WBS element "PRPS-POSID + PRPS-POST1"
Content
WBS element "PRPS-POSID of Project PRPS-PSPHI" has reached 100% Budget threshold. Remaining budget is XXXXX. Please take action.
Report access link for analysis.
This program will be executed via a scheduled batch job at the close of each business day to trigger notifications as per above.
Volumetrics
N/A
Performance Considerations
N/A
Error Handling
Monitoring and tracking of all budget overrun events should enable notification status checks (success or failure) and the ability to resend notifications if needed.
Failed Batch jobs must be identifiable with exact reason of failure-
- Batch job failed due to missing Person Responsible field.
The error message should explicitly state: “Project XX-000000, WBS Element XX-000000-00-00-00 — Person Responsible field is blank.” - Batch job failed because no Person is maintained for the specified Person Responsible position
The error message should clearly indicate: “Project XX-000000, WBS Element XX-000000-00-00-00 — Person is not maintained for Person Responsible 000000.” position - Batch job failed as SAP Logon User ID is not maintained for the Person assigned in Person Responsible.
The error message should explicitly state: “Project XX-000000, WBS Element XX-000000-00-00-00 — SAP Logon User ID is blank for Person 00000 maintained in Person Responsible 000000.”
Once batch job errors are corrected, the system should allow the administrator to reinitiate processing of the failed entries.
Testing
How to Test
- Person Responsible position must be assigned on each level of WBS elements. Person Responsible Position is assigned to an user with SAP ID.
Test Conditions and Expected Results
| ID | Condition | Expected Result |
|---|---|---|
| 1 | Capital Project with Budget must be created with some postings to ensure Overall Budget < Expense posting. This will set Statuses BUDG, ISBD & AVAC on WBS Element (WBS system status not CLSD, DLFL or AALK, user status not on HOLD or CNCL). ISBD status date is same as of system date. Execute the Batch Job manually. | For active WBS element with status ISBD, batch job will issue warning notification to the user maintained in Person Responsible Position ID. |
| 2 | Capital Project with Budget must be created with some postings to ensure Overall Budget > Expense posting. This will set BUDG & AVAC (WBS system status not CLSD, DLFL or AALK, user status not on HOLD or CNCL). Execute the Batch Job manually. | Notification logic is not activated since the WBS element has not breached the budget warning threshold. |
| 3 | Capital project budget of a WBS element exceeded due to Goods Receipt posting. Since warning message tolerance is 100% then post >100% actual cost but <110% of the budget value. (Posting Date= System Date) The WBS element must not carry any system status indicating deletion, lock, or closure and user status not On Hold or Cancelled. Execute the Batch Job manually. | For active WBS element with status ISBD a batch job will issue warning notification to the user maintained in Person Responsible Position ID. |
| 4 | In continuation of step 3, now post cost less than 110% budget e.g. between 100-109% of assigned budget. (Posting Date = System Date) Execute the Batch Job manually. | Regardless of the number of budget overrun warnings generated in a single day for an active WBS element with status ISBD, the scheduled batch job will issue a single notification to the user assigned in the Person Responsible Position ID |
| 5 | Capital project budget exceeded due to Invoice Variation posting. Since warning message tolerance is 100% then post >100% actual cost but <110% of the budget value. (Posting Date = System Date) The WBS element must not carry any system status indicating deletion, lock, or closure and user status not On Hold or Cancelled. Execute the Batch Job manually. | For active WBS element with status ISBD a scheduled batch job will issue warning notification to the user maintained in Person Responsible Position ID. |
| 6 | Capital project budget exceeded due to Goods issue posting (P2F- plant to project issue). (Posting Date = System Date) Since warning message tolerance is 100% then post >100% actual cost but <110% of the budget value. The WBS element must not carry any system status indicating deletion, lock, or closure and user status not On Hold or Cancelled. Execute the Batch Job manually. | For active WBS element with status ISBD a scheduled batch job will issue warning notification to the user maintained in Person Responsible Position ID. |
| 7 | Capital project budget exceeded due to Service entry sheet posting. (Posting Date = System Date) Since warning message tolerance is 100% then post >100% actual cost but <110% of the budget value. The WBS element must not carry any system status indicating deletion, lock, or closure and user status not On Hold or Cancelled. Execute the Batch Job manually. | For active WBS element with status ISBD a scheduled batch job will issue warning notification to the user maintained in Person Responsible Position ID. |
| 8 | Capital project budget exceeded due to financial journal posting. (Posting Date = System Date) Since warning message tolerance is 100% then post >100% actual cost but <110% of the budget value. The WBS element must not carry any system status indicating deletion, lock, or closure and user status not On Hold or Cancelled. Execute the Batch Job manually. | For active WBS element with status ISBD a scheduled batch job will issue warning notification to the user maintained in Person Responsible Position ID. |
| 9 | Capital project budget exceeded due to Work Order assignment. Since warning message tolerance is 100% then post >100% actual cost but <110% of the budget value. The WBS element must not carry any system status indicating deletion, lock, or closure and user status not On Hold or Cancelled. Execute the Batch Job manually. | For active WBS element with status ISBD a scheduled batch job will issue warning notification to the user maintained in Person Responsible Position ID. |
| 10 | Capital project budget exceeded due to Process Order assignment. Since warning message tolerance is 100% then post >100% actual cost but <110% of the budget value. The WBS element must not carry any system status indicating deletion, lock, or closure and user status not On Hold or Cancelled. Execute the Batch Job manually. | For active WBS element with status ISBD a scheduled batch job will issue warning notification to the user maintained in Person Responsible Position ID. |
| 11 | Capital project budget exceeded due to Work Order settlement on WBS element. (Posting Date = System Date) Since warning message tolerance is 100% then post >100% actual cost but <110% of the budget value. The WBS element must not carry any system status indicating deletion, lock, or closure and user status not On Hold or Cancelled. Execute the Batch Job manually. | For active WBS element with status ISBD a scheduled batch job will issue warning notification to the user maintained in Person Responsible Position ID. |
| 12 | Capital project budget exceeded due to timesheet posting. (Posting Date = System Date) Since warning message tolerance is 100% then post >100% actual cost but <110% of the budget value. The WBS element must not carry any system status indicating deletion, lock, or closure and user status not On Hold or Cancelled. Execute the Batch Job manually. | For active WBS element with status ISBD a scheduled batch job will issue warning notification to the user maintained in Person Responsible Position ID. |
| 13 | Capital project Commitment values (purchase requisition) exceeded budget. Since warning message tolerance is 100% then post >100% actual cost but <110% of the budget value. The WBS element must not carry any system status indicating deletion, lock, or closure and user status not On Hold or Cancelled. Execute the Batch Job manually. | For active WBS element with status ISBD a scheduled batch job will issue warning notification to the user maintained in Person Responsible Position ID. |
| 14 | Capital project budget exceeded due to Process Order settlement. (Posting Date = System Date) Since warning message tolerance is 100% then post >100% actual cost but <110% of the budget value. The WBS element must not carry any system status indicating deletion, lock, or closure and user status “In Progress” must be active. Execute the Batch Job manually. | For active WBS element with status ISBD a scheduled batch job will issue warning notification to the user maintained in Person Responsible Position ID. |
| 15 | Projects without budget, actual cost posting on WBS element. (Posting Date = System Date) Execute the Batch Job manually. | No notification in “My Inbox” should be triggered by the Budget Overrun batch job. |
| 16 | WBS Element with ISBD & AVAC status and Account Assignment Lock status is also assigned. Execute the Batch Job manually. | No notification in “My Inbox” should be triggered by the Budget Overrun batch job. |
| 17 | WBS Element with ISBD & AVAC status and Closed status is also assigned. Execute the Batch Job manually. | No notification in “My Inbox” should be triggered by the Budget Overrun batch job. |
| 18 | WBS Element with ISBD & AVAC status and Deletion Flag status is also assigned. Execute the Batch Job manually. | No notification in “My Inbox” should be triggered by the Budget Overrun batch job. |
| 19 | Capital project Commitment values (purchase requisition) exceeded budget. No Person is assigned to Person Responsible Position. Since warning message tolerance is 100% then post >100% actual cost but <110% of the budget value. The WBS element must not carry any system status indicating deletion, lock, or closure and user status not On Hold or Cancelled. Execute the Batch Job manually. | No notification will be triggered as Person is not maintained in Person Responsible Position. Batch job log should clearly define the error and reason of failure. |
| 20 | Capital project Commitment values (purchase requisition) exceeded budget. No SAP logon User ID is assigned to Person defined to Person Responsible Position. Since warning message tolerance is 100% then post >100% actual cost but <110% of the budget value. The WBS element must not carry any system status indicating deletion, lock, or closure and user status not On Hold or Cancelled. Execute the Batch Job manually. | No notification will be triggered as SAP logon user ID is not maintained against Person maintained in Person Responsible Position. Batch job log should clearly define the error and reason of failure. |
| 21 | Capital Project exist with a WBS element having statuses BUDG, ISBD & AVAC (WBS system status not CLSD, DLFL or AALK, user status not on HOLD or CNCL). ISBD status date is before system date. No posting made on the day of system date. Execute the Batch Job manually. | No notification will be triggered, as no financial posting has been made on the current date. |
| 22 | Post the budget threshold on the following day to ensure the notification mechanism activates reliably Capital project Commitment values, create new PR that exceeded warning threshold but <110% of the budget value. The WBS element must not carry any system status indicating deletion, lock, or closure and user status not On Hold or Cancelled. Execute the Batch Job manually. | For active WBS element with status ISBD a scheduled batch job will again issue warning notification on the following day to the user maintained in Person Responsible Position ID. |
Test Considerations/Dependencies
- Enhancement E-ERP-167 must be in-place to ensure Person Responsible field is filled by Position ID.
- 3-4 test position IDs & assigned Personal IDs must be created by the H2R team within the testing organizational units.
- Assign tester’s SAP Office User ID to the personal ids. This ensures that system-generated notifications for budget overrun are correctly routed to the tester during execution and validation.
- The steps listed below require cross-stream collaboration to generate the necessary testing data-
- Service & Material PRs from S2P (2nos. each)
- Service & Material POs from S2P (2nos. each)
- Invoice with variation amount from S2P
- Plant Material in stock for Goods Issue from P2F
- Debit and Credit G/Ls for financial posting on project from R2R
- Maintenance Order from A2D ((2nos.)
- Process Order from P2F (2Nos.)
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 |
