SAP Profitability and Performance Management (PaPM) – Handy Tips to Manage Performance
PaPM is a versatile application. Unlike many traditional SAP modules (like FICO) which runs based on configuration, PaPM works like building blocks. We can build the solution/environment in our own way for variety of business requirements and scenarios.
While designing an environment in PaPM, our focus will be on getting results as per business requirement. However, we should also consider certain design aspects which impacts performance, memory usage, flexibility, and maintenance.
In my experience of implementing PaPM, I have learnt certain practices/tips which have positively impacted on performance and memory usage. In this blog, will try to bring out such practices/tips which can help build an efficient environment in PaPM.
Tip 1: Consider fields which are required
In Function Types Model View or Model Table, when referred to a view or table, include only those fields which are relevant for further processing. We can exclude the non-relevant by ticking the Exclude option as below.
This will drastically reduce memory used by non-relevant fields/columns and improves performance.
Note: Do not exclude field Client. Otherwise, data from all the clients will be considered.
Tip 2: Filter data at the very beginning
Before we start processing of the external/huge data, filter the relevant data (within the relevant fields) at the earliest possible using Selection Condition.
Let’s take an example of monthly cost allocation run. Here a particular period data is only relevant. The user will maintain parameter information like period while deploying the Processes. We can use the same in function.
Using parameter will make sure we effectively process data which is required and don’t overrun on memory.
Tip 5: Using Parameter in File Adapter
Using of a Parameter in the File Adapter function gives flexibility and reusability of the function. Please refer to the detail blog on the same.
Tip 6: Using Environment CDS in Query Function
When we define Query function report as one of the user activities in a Process, the results shown to the users in the report are not limited to the RUN ID but all the entries in the underlying table.
This surprisingly not only gives access of the resulted data to unrelated and unauthorized parties, but also eats upon processing and loading of all the data into the report. Ideally only the relevant data for the Run ID would be appreciated.
Though we can’t do anything on unauthorized access, there is a workaround to restrict (manually) loading of the data relevant to the RUN ID, thus reducing the processing and loading time of the report.
Tip 8: Setting functions as Executable
Keep only those functions executable which are either part of Process Template or input to a query function, to avoid unwanted memory consumption.
Below SAP Note is a must read.
2967291 – FS-PER 3.0: Performance related Modeling Best Practices
Hope you will find this blog and practices/tips helpful.
There will be lot many such practices/tips in your experience, please do add in the comments.