You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 38 Next »

Status

  Approved

OwnerBIDALIA-ext, Kuldeep 
Stakeholders
Jira Request ID

ERP-90 - Getting issue details... STATUS

Jira Development ID

ERP-130 - Getting issue details... STATUS

High- Level Specification

ParameterValue
Application SystemS/4Hana ROW, S/4Hana China, S/4Hana CUI
Business Process Reference10.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 SAP "My Inbox" application. 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 My Inbox, where users already perform daily tasks. It reduces reliance on external email systems and avoids missed alerts.


Process Flow Diagram

Step

Description

Comment

1

Create Project

A capital project in SAP will be created from a corresponding PPM item automatically

2

Budget Allocation

  • Upon approval of the Funding Request, PS budget will be automatically applied to the level-1 and/or level-2 WBS elements of the project.
  • If needed,  PS budget is distributed further down to level-3 and level-4 WBS elements within the project structure.
  • The assigned budget profile automatically activates Availability Control (AVAC) as soon as the budget is allocated.
3

Expense Posting

  • Actual costs & commitments will be posted on WBS elements against assigned budget.
  • Transactions like PR/PO creation, goods receipt, Work Order & Maintenance Order Assignments, Process Order Settlements, financial postings, timesheets and service entry affect budget consumption.
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:

  • System triggers warning or error message to the user on the transaction screen itself
  • Sets ISBD (Insufficient Budget) status on budgeted 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 My Inbox.

Configuration Requirements

The following configurations are pre-requisites for this enhancement:

  1. Budget profile must be configured for availability control activation and assigned to Project Profile.
  2. 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 SAP My Inbox application
  • Once the first threshold has been exceeded, notifications to the Person Responsible be triggered only upon expense postings that result in budget overruns.

Proposed Technology to Use

Data Source Considerations

TableField NameComments/Calculation/Field Manipulation











Data Validation Considerations

TableField NameComments/Calculation/Field Manipulation













Custom Tables

Master Data

FieldDescriptionData Type/LengthValidation rule/ Value Help









Configuration Table

FieldDescriptionData Type/LengthValidation rule/ Value Help








Selection Screen Enhancement

Field NameDescription

Select:

Data Type/LengthDefault Value/ Validation rule/ Value HelpSelection Logic












Processing Logic

This enhancement is triggered 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 WBS elements having system status AVAC + ISBD and user status not in HOLD or CNCL but excluding WBS elements having any of the system status like Closed, Account Assignment Locked and Deletion Flag.

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). Get list of WBS elements.

         Check if any financial posting made on the same day:- Collect all WBS elements object numbers i.e. JEST-OBJNR and pass to PRPS-OBJNR to pick PRPS-POSID & PRPS-POST1 i.e. WBS element description . 

To identify child WBS elements use BAPI BAPI_PROJECT_GETINFO. In BAPI, enter parameter WITH_SUBTREE = X, PRPS-POSID in parameter I_WBS_ELEMENT_TABLE (if required use routine CONVERSION_EXIT_ABPSN_OUTPUT to get WBS element number). Collect all child WBS elements and pass to ACDOA & ACDOCP tables to check if any posting or order assignment is carried out on System Date. 

  1. Pass WBS elements to ACDOCA-PS_POSID where posting date i.e. ACDOCA-BUDAT= System Date, if no records found then exclude the parent WBS element from the original list else it will proceed further with additional fields like PRPS-OBJNR, PRPS-POSID, PRPS-POST1 & PRPS-PSPHI. 
  2. To identify if Maintenance or Process orders are assigned or any actual cost posted, pass WBS elements to CAUFV-PSPEL and pick CAUFV-OBJNR.
    1. To check if Order assignment made to WBS element:- Pass CAUFV-OBJNR to ACDOCP-OBJNR and from listed records check if ACDOCP-REQTSN= System Date. if no records found then exclude the parent WBS element from the original list else it will proceed further with additional fields like PRPS-OBJNR, PRPS-POSID, PRPS-POST1 & PRPS-PSPHI. 
    2. To check of actual expenses made on the assigned order:- Pass CAUFV-OBJNR to ACDOCA-OBJNR and from listed records check if ACDOCA-BUDAT = System Date. if no records found then exclude the parent WBS element from the original list else it will proceed further with additional fields like PRPS-OBJNR, PRPS-POSID, PRPS-POST1 & PRPS-PSPHI. 
  3. Extract all WBS elements from sections 1, 2.a, and 2.b, eliminate any duplicates, and proceed with the refined list in the subsequent step.

        Calculate WBS element Overall Budget:

Pass WBS Element JEST-OBJNR in BPGE-OBJNR where Ledger i.e. 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. From any of the selected record pick currency from BPGE-TWAER. It is Overall Budget of a WBS element.

        Calculate WBS element Assigned Cost:

Pass WBS Element JEST-OBJNR in BPGE-OBJNR where Ledger i.e. BPGE-LEDNR= 0001, Value Type i.e. BPGE-WRTTP= 42 (Assigned Budget), Budget Type i.e. BPGE-VORGA= KBFC 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.

Remaining Budget = Overall Budget - Assigned Cost with Currency

 

2. Identify launchpad notification recipients:

Program will identify the budgeted 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” represents 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-PERSNO, system date must be between BEGDA & ENDDA, PA0105-USRID Communication Type PA0105-USRTY= 0001. Pick user id from field PA0105-USRID.

Derive the SAP login user id from the identified Personal ID (refer table PA0105).

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 "PRPS-POSID + PRPS-POST1" budget warning threshold crossed

Body: -

Warning message Analysis-

The assigned funds are "Remaining Budget" "Currency" (identified in step 1) less than overall budget in WBS element "PRPS-POSID of Project PRPS-PSPHI".

 4. Trigger notification:

Fiori launchpad notification will be triggered with payload to identified user from step-2 and identified recipients will receive notification in SAP My Inbox application.

Volumetrics

N/A

Performance Considerations

N/A

Error Handling

In cases Fiori launchpad 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.

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.
    The error message should clearly indicate: “Project XX-000000, WBS Element XX-000000-00-00-00 — Person is not maintained for Person Responsible 000000.”
  • 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 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

IDConditionExpected Result
1

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 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 exist with one WBS element having statuses 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

WBS Element with ISBD & AVAC status and User Status is not IWIP.

Execute the Batch Job manually.

No notification in “My Inbox” should be triggered by the Budget Overrun batch job.

20

Capital project Commitment values (purchase requisition) exceeded budget. 

Person Responsible field is blank on the WBS element.

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 Responsible is not maintained. Batch job log should clearly define the error and reason of failure.  

21

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.  

22

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.  

23

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.

24

 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 NameParent Package




Enhancement Implementation

Enhancement TypeStandard Definition NameCustom Implementation NameDesign Rationale Reference









Other Development Objects

Object TypeObject NamePurpose/High Level LogicDesign 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

ZFIZMMZPSZCOZSDZBCZFIZCA
TABLESZFITZMMTZPSTZCOTZSDTZBCTZFITZCAT

See also


No files shared here yet.

Change log

Version Published Changed By Comment
CURRENT (v. 38) Oct 06, 2025 12:41 BIDALIA-ext, Kuldeep
v. 49 Oct 06, 2025 12:36 BIDALIA-ext, Kuldeep
v. 48 Oct 06, 2025 12:33 BIDALIA-ext, Kuldeep
v. 47 Oct 06, 2025 12:20 BIDALIA-ext, Kuldeep
v. 46 Oct 01, 2025 15:24 UPADHYAY-ext, Anjali
v. 45 Oct 01, 2025 15:01 UPADHYAY-ext, Anjali
v. 44 Oct 01, 2025 14:01 UPADHYAY-ext, Anjali
v. 43 Sept 30, 2025 14:07 BIDALIA-ext, Kuldeep
v. 42 Sept 30, 2025 12:42 BIDALIA-ext, Kuldeep
v. 41 Sept 30, 2025 11:20 BIDALIA-ext, Kuldeep

Go to Page History

  • No labels