| Status |
| ||||||||
|---|---|---|---|---|---|---|---|---|---|
| Owner | BIDALIA-ext, Kuldeep | ||||||||
| Stakeholders | MOREAU, Patrick | ||||||||
| Jira Request ID |
| ||||||||
| Jira Development ID |
|
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 for that WBS element (standard functionality).
However, SAP e-mail is old technology and is to be replaced with a Launchpad Notification 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 SAP "My Inbox" applicationLaunchpad. 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 are: Enhanced Visibility:Notifications is enhanced visibility i.e. notifications appear directly in the Fiori Launchpad (bell icon), where users already perform daily tasks. It reduces reliance on external email systems and avoids missed alerts.
Real-Time Action: Speeds up response time to budget breaches, improving governance and control.
Scalability & Futureproofing: Easier to extend with push notifications to mobile devices.
N/A
Step | Description | Comment | ||
|---|---|---|---|---|
| 1 | Create Project | A capital project in SAP will be generated created from a corresponding PPM item and automatically transitioned to released status upon creation. | ||
| 2 | Budget Allocation |
| ||
| 3 | Expense Posting |
| ||
| 4 | Availability Control Monitoring | AVAC System checks budget consumption against tolerance limits.
Example: 90% 100% = warning, 110% = error notification | ||
| 5 | Budget Threshold Breach | When costs exceed defined thresholds on a WBS element:
| ||
| 6 | Notification Trigger | 6 | Notification Trigger | When a WBS element exceeds its budget threshold and attains the system status ISBD (Insufficient Budget). 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.
The WBS element must possess appropriate system status and user statuses to enable financial postings.
Monitoring and tracking of all budget overrun events should enable notification status checks (success or failure) and the ability to resend notifications if needed.
Dependencies
Person Responsible will be- 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 SAP Fiori Launchpad and My InboxNotifications.
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 ZPS0001.
- Tolerance Limit must be Configured for the budget profile.
Language Requirements
The notification content dispatched to the Fiori Launchpad contents will be displayed in English.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 SAP My Inbox applicationthe 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
Application Job triggering 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:
Steps-
1. Identify budget overrun event and remaining budget:
A scheduled batch job will be triggered every day to identify- 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, |
To identify WBS elements, pass statuses I0005 & I0093 & E0001 in JEST-STAT where JEST-INACT= Blank i.e. status is active for highest change number JEST-CHGNR. (I0005 AVAC Availability Control Active, I0093 ISBD Insufficient budgeting, E0001 IWIP In Progress).
Exclude records where any of statuses i.e. JEST-STAT=I0046 or I0064 or I0076 is active i.e. JEST-INACT= Blank for highest change number JEST-CHGNR (I0046 CLSD Closed, I0064 AALK Account Assignment Locked, I0076 DLFL Deletion flag)
Collect all WBS elements object numbers i.e. JEST-OBJNR and pass it to PRPS-OBJNR to get the WBS element ID PRPS-POSID.
Update Logic for Assigned Cost
For each WBS element calculate the Assigned Cost & budget value and compile and derive value Budget- Assigned Cost and currency.
2. Identify launchpad notification recipients:
Program will identify the posting WBS element in the step 1. For the WBS elements identify corresponding “No. of Person Responsible” assigned. As per design solution “No. of Person Responsible” represent Position ID of a user. Identify the Personnel ID/s of the active person associated with the Position ID/s (refer table HRP1001).
Pass Person Responsible Position in HRP1001-OBJID, where HRP1001-OTYPE= S (Position), system date must be between HRP1001-BEGDA & HRP1001-ENDDA, HRP1001-SCLAS=P (Person) and pick HRP1001-SOBID (Personal ID).
Pass HRP1001-SOBID in PA0105-PERNR, system date must be between BEGDA & ENDDA, Communication Type PA0105-USRTY= 0001. Pick user id from field PA0105-USRID.
3. Build Notification Payload:
Inside the program, assemble a structured payload containing WBS Element ID, overrun amount and Person Responsible user ID.
For each WBS element compile below message-
Subject: - WBS element A.000000.00 budget almost exhausted
Body: - Diagnosis
The assigned funds are Value=Budget- Assigned Cost "Currency" (identified in step 2) less than budget in WBS element A.000000.00
4. Trigger notification:
Fiori launchpad notification will be triggered with payload to identified user from step-2.
Volumetrics
N/A
Performance Considerations
N/A
Error Handling
In cases notifications are initiated by the batch job but not received by designated recipient/s, the issue may lie in the sender service's processing or transmission logic. To ensure timely escalation, administrators must have the capability to detect such delivery failures and re-initiate the notification process to the appropriate recipient/s.
Testing
How to Test
Person Responsible must be assigned on each level of WBS elements, ensure that the Person Responsible is Position ID assigned to an user, ideally using the tester’s own user ID. Availability Control will be automatically activated on budget allocation to monitor budget consumption and trigger system responses accordingly.
Proceed with the following test conditions, ensuring that each WBS element is used for a distinct type of posting.
Test Conditions and Expected Results
Capital project budget of a WBS element exceeded due to Goods Receipt posting. If warning message tolerance is 90% then post >90% 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.
For active WBS element with status ISBD a batch job will issue warning notification to the user maintained in Person Responsible Position ID.
In continuation of step 1, now post cost less than 110% budget e.g. between 91-109% of assigned budget.
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
Capital project budget exceeded due to Invoice Variation posting.
If warning message tolerance is 90% then post >90% 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.
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% |
If warning message tolerance is 90% then post >90% 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.
For active WBS element with status ISBD a scheduled batch job will issue warning notification to the user maintained in Person Responsible Position ID.
Capital project budget exceeded due to Service entry sheet posting.
If warning message tolerance is 90% then post >90%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. |
Capital project budget exceeded due to financial journal posting.
If warning message tolerance is 90% then post >90% 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.
| 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 |
Projects without budget, actual cost posting on WBS element
No notification in “My Inbox” should be triggered by the Budget Overrun batch job.
WBS Element with ISBD & AVAC status and Account Assignment Lock status is also assigned.
No notification in “My Inbox” should be triggered by the Budget Overrun batch job.
WBS Element with ISBD & AVAC status and Closed status is also assigned.
No notification in “My Inbox” should be triggered by the Budget Overrun batch job.
WBS Element with ISBD & AVAC status and Deletion Flag status is also assigned.
No notification in “My Inbox” should be triggered by the Budget Overrun batch job.
WBS Element with ISBD & AVAC status and User Status is not IWIP.
No notification in “My Inbox” should be triggered by the Budget Overrun batch job.
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.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 |
See also
| Attachments | ||||||
|---|---|---|---|---|---|---|
|
Change log
| Change History | ||
|---|---|---|
|
