Financial Management Blog Posts by SAP
Get financial management insights from blog posts by SAP experts. Find and share tips on how to increase efficiency, reduce risk, and optimize working capital.
cancel
Showing results for 
Search instead for 
Did you mean: 
arliesanisidro
Product and Topic Expert
Product and Topic Expert
2,205

Hello fellow SAP Community members!

Have you been exploring the newest solution that is SAP Profitability and Performance Management Cloud - Universal Model (SAP PaPM Cloud UM)? If you are, then you are in for a treat! As you are aware in SAP PaPM Cloud, users get new features and enhancements automatically to their tenants. In this blogpost, allow me to introduce the new features and enhancements that were released recently for SAP PaPM Cloud UM which you can already use.

To always be in the loop on the latest updates and insights about SAP Profitability and Performance Management Cloud - Universal Model, you can refer to the following tags: PaPMCloudUM and PaPMCloudUMWhatsNew.

Let's get started!

Model

Manage Environments: Restrict Copy of Protected Environments

Users can protect their environment from being subject to changes in another tenant using the Set Protection button. Once the Tenant Protection button is triggered in the source tenant, the Tenant Protection would change to "Yes". However, the environment attribute Is Protected would still be displayed as "No".

Figure 1. Protected Environment in Source TenantFigure 1. Protected Environment in Source Tenant

If the user imports the protected environment to another tenant, the Is Protected attribute of the environment would automatically be displayed as "Yes".

Figure 2. Protected Environment after import to another tenantFigure 2. Protected Environment after import to another tenantSince the environment is protected in the target tenant (where is was imported to), users would be restricted from copying this environment.

Manage Connections: Test Connection button for HANA Connections

The button “Test Connection” has been implemented in Manage Connections which will allow users to directly test the connection of the HTTP Destination created in the BTP Application for Connection Types: ODATA Service and SAC Model.

Once the “Test Connection” button is triggered, users would now see a corresponding message if the selected destination of the created connection is invalid or valid.

OData Service Connection

Validation message if destination is invalid:

Metadata for destination <invalid destination name> and service path <Path which indicates the specific location of service to be used> cannot be retrieved
The destination tried to provide authorization tokens but failed in all cases. This is most likely due to misconfiguration Original error messages: Bad credentials
Connection test failed

Figure 3. Validation message for OData Service connection that has an invalid destinationFigure 3. Validation message for OData Service connection that has an invalid destination

Validation message if destination is valid:

Service metadata successfully fetched
Connection test successfully finished

Figure 4. Validation message for OData Service connection that has a valid destinationFigure 4. Validation message for OData Service connection that has a valid destination

SAC Model Connection

Validation message if destination is invalid:

Failed to fetch details of the namespace sac
The destination tried to provide authorization tokens but failed in all cases. This is most likely due to misconfiguration. Original error messages: Bad credentials
Connection test failed

Figure 5. Validation message for SAC Model connection that has an invalid destinationFigure 5. Validation message for SAC Model connection that has an invalid destination

Validation message if destination is valid:

Details for namespace sac successfully fetched
Details for model <SAC Model ID> successfully fetched
Service metadata successfully fetched
Connection test successfully finished

Figure 6. Validation message for SAC Model connection that has a valid destinationFigure 6. Validation message for SAC Model connection that has a valid destination

Meanwhile, the "Test Connection" button would remain as disabled for Connection Target Types: HANA Schema, and Environment as these connections do not have an HTTP destination configured.

Derivation and Model Derivation: Assignment Formula

Formula in Assignment configuration for Derivation and Model Derivation functions has been enhanced wherein users can maintain any fixed value based on its corresponding field type.

Scenario 1: If Characteristic field in Assignment is assigned, user can maintain any characters in Formula.

Figure 7. Characteristic field in Assignment of Derivation / Model Derivation functionFigure 7. Characteristic field in Assignment of Derivation / Model Derivation function

Scenario 2: If Key Figure field in Assignment is assigned, user can maintain any numeric value in Formula.

Figure 8. Key Figure field in Assignment of Derivation / Model Derivation functionFigure 8. Key Figure field in Assignment of Derivation / Model Derivation function

Scenario 3: If Characteristic field in Assignment is assigned and its Formula contains a calculation (ex. CH_STRING*2), the result will contain the calculation itself since it will be treated as characters.

Figure 9. Characteristic field in Assignment with Formula that contains a calculationFigure 9. Characteristic field in Assignment with Formula that contains a calculation

Scenario 4: If Key Figure field in Assignment is assigned and its Formula contains a calculation (ex. QTY*2), a validation error would be displayed since Model Derivation and Derivation do not support formulas in Assignment field.

Figure 10. Key Figure field in Assignment with Formula that contains a calculationFigure 10. Key Figure field in Assignment with Formula that contains a calculation

View and Model View: Support for Default Values and Parameters

Users can now assign a Default Value of Parameter field to an Output of View and Model View functions.

Figure 11. Assignment of Default Value to assigned field in ViewFigure 11. Assignment of Default Value to assigned field in View

The maintained Default Values in View and Model View will be used depending on the Default Value Filling maintained by the user.

Figure 12. Default Value Filling options for Model View and View functionsFigure 12. Default Value Filling options for Model View and View functions

  • Empty - All the Data from the Model Entity corresponding to the maintained Field will be replaced by the maintained default value in View/Model View.
  • If Null then Default - If the Data from the Model Entity is Null, then the system will get the maintained default value in View/Model View.
  • If Null/Initial then Default - If the Data from the Model Entity is Null/Initial, then the system will get the maintained default value in View/Model View.

In addition to this, users can also use Parameter with selections. It’s a kind of conditional execution of View/Model View. For example, the user has a parameter and in the View function, the user has maintained selection as Parameter1 = 'A'. Then if the user is running some activity where the user maintained Parameter1 value as 'A', user will see some result from View if there is something. If user maintains Parameter1 value as 'B' in the activity, the user will not get any result from the View.

Model Entity: Reclassify Validation Errors to Warning, Information, or Notifications

In data modeling, it is often necessary to provide end users with guidance during data entry. To streamline this process, the Model Entity has been enhanced to allow users the option to reclassify validation errors as warnings, information, or notification messages.

Figure 13. Reclassify Validation Error options for Model Entity RelationsFigure 13. Reclassify Validation Error options for Model Entity Relations

This ensures that if user has set an option in Reclassify Validation Error for a relation, data entry will still proceed while still delivering valuable feedback.

Figure 14. Reclassify Validation Error assigned to a created Relation in Model EntityFigure 14. Reclassify Validation Error assigned to a created Relation in Model Entity

Model View Type "Table Function"

Another exciting news that I'd like to share is that the Model View function has a new Type called "Table Function" which enables users to integrate HANA table functions into the overall model function. To ensure a secure setup, the table function must be manually entered and activated through the HANA UI. This way, the Model View function simply pulls the source code and incorporates it into your Model View function. For detailed guidance on creating a table function, check out the Tutorial: Create a Table User-Defined Function.

As an example, create an Environment that has a Model Entity where the Model View of Type "Table Function" is to be configured.

1) Model Entity Input of Model View (Considered as Input Source)

EMP_IDEMP_NAMEEMP_CMPYEMP_YR
NVARCHARNVARCHARNVARCHARINTEGER
EIN1EMP1INMSGIN110
EIN2EMP2INMSGIN220

Note: This table will also create a HANA Table called <schema name>Z_ENVIRONMENTID_FUNCTIONID

2) Create a "Table Function" in HANA database, for example:

 

 

---This should be successfully called and used as a Table function

CREATE FUNCTION "SCHEMA_NAME"."Table_Function_Name"()	
RETURNS TABLE (EMP_ID NVARCHAR(50), EMP_CMPY NVARCHAR(50), EMP_NAME NVARCHAR(50), EMP_YR INT) LANGUAGE SQLSCRIPT AS 
BEGIN 
RETURN SELECT EMP_ID, EMP_CMPY, EMP_NAME, EMP_YR + 100 AS EMP_YR FROM "schema_name"."Z_ENVIRONMENTID_FUNCTIONID";
END;

 

 

3) Create a Model View of type "Table Function" then choose the created "Table Function" from HANA database. For example: Table Function = "SCHEMA_NAME"."Table_Function_Name"

Once the Model View of Type "Table Function" is saved, users can easily confirm that the Table Function source (in read-only mode) will showcase the selected custom table function's source in the following format: "<environment>_<function>"

This feature allows for seamless activation within the environment, like other HANA artifacts, and can be carried alongside the Model View-function definition.

Figure 15. Model View function Type: Table FunctionFigure 15. Model View function Type: Table Function

Writer Type "Library"

A new Writer Type known as "Library" has been introduced. With this, users can smoothly integrate custom HANA SQL Script coding into the model execution process. To ensure security, this SQLScript should be manually entered and activated through the HANA Database UI.

As an example, an Environment with Model Entities where the Writer of type "Library" have been configured:

1) Model Entity Input (Considered as Writer Source)

EMP_IDEMP_NAMEEMP_CMPYEMP_YR
NVARCHARNVARCHARNVARCHARINTEGER
EIN1EMP1INMSGIN110
EIN2EMP2INMSGIN220

2) Writer Result Model Entity

KEYIDEmpExistsEmpCountBPCount
UUIDBooleanIntInt
Can be empty

Note: These tables will also create a HANA Table called <schema name>Z_ENVIRONMENTID_FUNCTIONID

3) Create a "Library" in the HANA database for example:

 

 

---This should be successfully called and used as a Library

CREATE LIBRARY "SCHEMA_NAME"."LIBRARY_NAME" LANGUAGE SQLSCRIPT AS
BEGIN
PUBLIC PROCEDURE _main (in logId NVARCHAR(36)) AS BEGIN
Declare ex_within "SAP_PAPM_UM"."Z_CPE6879MI_IN_CPE6879MI";
Declare withinrowcount int;
ex_within = select * from " SCHEMA_NAME "."Z_ENVIRONMENTID_FUNCTIONID";
withinrowcount = record_count(:ex_within);
end;
END

 

 

For more information on how to create library statements, see: CREATE LIBRARY Statement (SQLScript).

4) In the created Environment, create a Writer function Type "Library" then choose your created "Library". For example, the Library created is: "SCHEMA_NAME"."LIBRARY_NAME"

Once saved within the Writer function, user should be able to verify that Library source (read-only) would display the source of the selected custom library in the following format: "<environment>_<function>". It can be easily activated within the environment like other HANA artifacts and transported alongside the Writer-function definition.

Figure 16. Writer function Type: LibraryFigure 16. Writer function Type: Library

Apart from Modeling enhancements, the SAP PaPM Cloud UM is also introducing new functions which are: Transfer Structure, Model Collection, and Collection.

Transfer Structure

If you're interested in simplifying the analysis and interpretation of complex datasets into form that is more adequate for financial calculations, we are glad to share that there is a new function introduced to SAP PaPM Cloud UM called Transfer Structure. You can use it if you need to pivot data, like in the example below:

Figure 17. Sample pivot data using Transfer StructureFigure 17. Sample pivot data using Transfer Structure

For more information and how to configure this function, you may refer to the Application Help for Universal Model: Transfer Structure. You can also learn more about Transfer Structure function in the blogpost SAP PaPM Cloud UM: Transpose your data where we'll show how you can get the results shown in the above table and experiment with different configuration and options.

Model Collection and Collection

Do you want to union more than two functions at the same time in your modeling? Good news! This is now possible using Model Collection and Collection functions which allow users to combine the records of two or more functions by union. This is beneficial for users to have a more optimized environment.

It introduces the result options: All and First Non-Empty which will affect the overall result data:

  • All - All fields and data records from all Input functions maintained in the Rules section are displayed in the results.
  • First Non-Empty - The system includes only the result of the first Input function that contains at least one record, which is shown in the results.

Like the View and Model View functions, it also supports Default Value Filling which allows users to set a default value for a field or parameter.

Figure 18. Collection function Initial Configuration ScreenFigure 18. Collection function Initial Configuration Screen

In addition, users can also view the created Model Collection and Collection functions in the Manage Model Collections and Manage Collections tiles under Model in the Home Page:

Figure 19. Manage Model Collections and Model Collections tile in the Home PageFigure 19. Manage Model Collections and Model Collections tile in the Home Page

 

Spoiler
Kindly take note that the Model Collection function is somehow different from the Collection function from a technical aspect as it acts as an Information function which purely projects combined Input functions.

You may find out more information about these functions in our Application Help for Universal Model: Model Collection and Collection.

Process

Manage Teams: Refresh Teams

The Refresh Teams button has been added in Manage Teams which will trigger the automatic replication of the Teams assigned to the users (User Attributes from BTP) to the specified environment.

Figure 20. Refresh Teams button in Manage TeamsFigure 20. Refresh Teams button in Manage Teams

Upon choosing the Refresh Teams button, a pop-up dialog will be displayed asking for the Runtime Environment where the Teams will be created.

Figure 21. Refresh Teams pop-up dialogFigure 21. Refresh Teams pop-up dialog

Once the Runtime Environment is confirmed and the Refresh Teams is chosen, the Teams will be added on the Manage Teams list for the specified environment.

The Teams that will be created are based on the User Teams assigned to the user (User Attributes from BTP) which are already logged and can be seen in the Manage Event Logs. Meaning, upon replicating of Teams, it will scan through the Manage Event Logs for all existing User Teams assigned to users in the system and it will be created on the specified environment.

Figure 22. Manage Event Logs User TeamsFigure 22. Manage Event Logs User Teams

Reports

Enhance Reports with Images and Printing

Take your reports to the next level by seamlessly adding images to your report screen. Visualize your data with photos to make your presentations more engaging and informative.

To upload an image, simply select the Insert/Edit Image button and choose a file from your computer's folders. You can also adjust the image width and height to fit your needs.

Figure 23. Insert Image in Report pageFigure 23. Insert Image in Report page

Once your report is finalized, our streamlined printing feature guarantees professional, high-quality hard copies with just a few clicks. Simply choose the Print button, select your printer, and you're ready to print your report. You can also adjust settings such as pages, layouts, and colors as desired.

Figure 24. Print button in ReportFigure 24. Print button in Report

System

Manage Event Logs: Statistics

As a user of SAP PaPM Cloud UM, having comprehensive insights into the performance and resource utilization of executed functions is important. To meet this need, we have introduced a new column called "Maximum Memory (Byte)". This column is populated with the maximum memory consumed during the execution of each function.

Figure 25. Maximum Memory (Byte) in Manage Event Logs - StatisticsFigure 25. Maximum Memory (Byte) in Manage Event Logs - Statistics

Manage Chats and Manage Chat Prompts

Joule is a cutting-edge AI that handles personal chats, enters prompts, and provides responses based on your reports. Users can access it easily through the properties panel in reports for instant information.

For added convenience, users can manage chats and prompts directly from the Manage Chats and Manage Chat Prompts application tiles under System in the Home Page, ensuring a seamless AI experience within the application.

Figure 26. Manage Chats and Manage Chat Prompts tile in the Home PageFigure 26. Manage Chats and Manage Chat Prompts tile in the Home Page

 

Spoiler
Prerequisite for using AI in SAP PaPM Cloud UM, is a created destination in BTP and connection in tenant. On how to create destination and connection, please refer to our SAP Help Portal links: AI Core Service and What is SAP AI Launchpad?

For more information on this topic, you may check our blogpost on Enhancing Report Management with the power of generative AI copilot - Joule.

Manage User Settings

In our ongoing effort to enhance user experience and streamline operations, we're thrilled to introduce three new functionalities that will significantly improve your notification management.

Figure 27. User Setting in Manage User SettingsFigure 27. User Setting in Manage User Settings

1) Notifications for Tenants

Stay informed about important events with our new Tenant Notification feature. This functionality ensures that all users within a tenant receive notifications for critical events related to your working space such as Tenant crashes, Stop, Updates, and Restarts.

Figure 28. Notifications for TenantFigure 28. Notifications for Tenant

By default, these notifications are enabled for all users and they cannot be configured via User Settings. This is ensuring that no one will miss out on vital information.

2) Email Notifications for Processes

Our new Email Notification feature keeps you updated on key process events. Whether you're part of the Reader or Writer Team, you'll receive timely notifications for events like Process Resets or Process Activation. Here's what you can expect:

  • Tailored Notifications: Users can opt-in or opt-out of receiving email notifications by adjusting their preferences in the User Settings application.
  • Default Settings: For those who haven't personalized their settings, notifications are enabled by default, ensuring comprehensive coverage.
  • User Flexibility: The easy-to-use toggle option in the User Settings application makes managing your email notifications simple and convenient.

Figure 29. Email Notification for ProcessFigure 29. Email Notification for Process

3) Notifications for Archives

Since Archiving event will be run in background only, the Archive Notification feature will efficiently manage your archive-related events. This ensures that all users in a space are promptly informed about key archive events, including Archive Started, Archive Finished, and Archive Failed. Key features include:

  • Automatic Enablement: Notifications are enabled by default for all users who haven't set their preferences, providing consistent updates.
  • Customization Options: Users can control their notification preferences via the User Settings application, allowing them to enable or disable notifications as needed.
  • Comprehensive Coverage: Receive real-time updates on all archive activities, ensuring you're always in the loop.

Figure 30. Notifications for ArchiveFigure 30. Notifications for Archive

These enhancements are designed to keep you informed and in control, providing a seamless and efficient notification experience. We encourage all users to explore these new feature and customize their settings which will suit your needs.

Show Screen

To make your experience even better, we've introduced some features that provide more flexibility and clarity in Show Screen and Show Elements (Reports).

1) Expanding All Grouped Columns

Expanding rows one-by-one can be time consuming. That's why we implemented this improvement: the ability to expand all rows at once. This means users can quickly see all the details in their report/show screen without having to click each row individually, saving users time and effort. If you decide you no longer want to keep all columns expanded, simply select "Collapse All" to retract them.

Figure 31. Expanding grouped columns in Show ScreenFigure 31. Expanding grouped columns in Show Screen

Spoiler
Important: For Reports, this option is available only in Show Element.
2) Rearrange Columns using Adapt UI

It is now possible to rearrange the order of columns for line items when switching to the Adapt UI interface. Here's how you can do it:

  1. Access the Show Screen and choose a specific data record to navigate to the object page screen.
  2. Choose the profile icon and select Adapt UI.
  3. Arrange the columns in desired order.
  4. Choose Save and Exit to save the new order.

After reordering the columns and saving the new layout using Adapt UI, the changes will be applied and becomes visible in the object page of the specific data record.

Figure 32. Rearranging columns in Adapt UIFigure 32. Rearranging columns in Adapt UI

3) Support Empty (Null) value for Boolean Field

Empty (Null) values are now supported for Boolean field which can be added during data input in the object page of Show Screen. Users can change the value of the Boolean field using its checkbox control which will have three states: Empty (Null), Yes, and No.

Figure 33. Boolean field checkbox control in Object Page of Show ScreenFigure 33. Boolean field checkbox control in Object Page of Show Screen

Figure 34. Boolean field values in Show ScreenFigure 34. Boolean field values in Show Screen

4) Inline Editing for Parents in Show Screen

In a Show Screen with nested structures and enabled relations, users can conveniently enable "Inline Editing" for parent rows, ensuring that changes can be made quickly and efficiently without navigating away from the screen. From the context menu, select Edit Mode > Inline to update your records as needed. Once you've made your changes, you can save them directly from that view.

Figure 35. Inline editing of parent row in Show ScreenFigure 35. Inline editing of parent row in Show Screen

That's all for now!

We've finally reached the end of this blogpost and I hope you can enjoy these new features and enhancements in SAP PaPM Cloud Universal Model. Thank you for taking the time reading through this blogpost and stay tuned for another "What's New in SAP PaPM Cloud Universal Model" blogpost from our team!