
In the previous blog Quick Financial Plan – The new planning tool of CPM, which explains about the features offered in Quick Financial Plan (QFP). This blog will help you to create your own quick financial planning application which will allow you to extend the application based on your own business scenario.
Introduction
SAP Commercial Project management is a Project Management solution provided by SAP which addresses a company’s core business process requirements in ECO (Engineering Construction & Operations) industry to manage their projects and handle their large financial and non-financial data. CPM handles multiple processes in an end-to-end scenario spanning the selling, planning, execution, monitoring, and controlling of projects.
Most of the customers tend to customise the application based on their business requirements and when it comes to customisation, it is remarkably simple and easy to customise QFP. As discussed in the earlier blog, QFP is a Web Dynpro based planning tool offered by SAP CPM from S/4HANA 2021 FPS01 onwards, but this blog focuses on the latest version of QFP planning page which is available from S/4HANA 2022 FPS03 and S/4 HANA 2023 FPS00 onwards.
Prerequisite: ABAP and Web Dynpro FPM (Floor Plan Manager).
Quick Financial Plan Standard Design:
The QFP application page is divided in 4 sections:
Steps to create your own QFP application:
Step 1: Create custom feeder class
There are following classes involved in the application. Copy and create the custom classes based on the business requirement which requires custom enhancement.
Class used | Class Name |
APCC | /CPD/CL_QFP_PLAN_APCC |
Area Feeder | /CPD/CL_QFP_PLAN_AREA_FEEDER |
Page Header Area | /CPD/CL_QFP_PAGE_HEADER |
Copy Form | /CPD/CL_QFP_PLAN_COPY_FORM |
Copy List | /CPD/CL_QFP_PLAN_COPY_LIST |
Distribute | /CPD/CL_QFP_PLAN_DISTRIBUTION |
Step 2: Create OVP FPM Floorplan Configurations
Create your own OVP page similar to the standard OVP page '/CPD/APP_CFG_PFP_QUICK_FP_OVP'. You can find standard configuration by following the path:
Go to transaction SE80. Select Package in dropdown and pass package as '/CPD/PFP_UI' and hit enter. Navigate to /CPD/PFP_UI-> Web Dynpro -> FPM Floorplan Configurations and double click on '/CPD/APP_CFG_PFP_QUICK_FP_OVP'.
/CPD/APP_CFG_PFP_QUICK_FP_OVP
Right click on 'FPM Floorplan Configurations ' and click on create. Provide component name and configuration ID:
Component Name : FPM_OVP_COMPONENT
Configuration ID : (Custom Configuration Name)
Create and Save the page.
Step 3: Create FPM Application Configuration
Create your Application page similar to the standard Application page '/CPD/APP_CFG_QUICK_FIN_PLAN'. You can find standard configuration by following the path:
Go to transaction SE80. Select Package in dropdown and pass package as '/CPD/PFP_UI' and hit enter. Once the all the object tree loads, go to path /CPD/PFP_UI-> Web Dynpro -> FPM Application Configurations and double click on /CPD/APP_CFG_QUICK_FIN_PLAN.
/CPD/APP_CFG_QUICK_FIN_PLAN
Right click on 'FPM Application Configurations' and click on create. Provide application name and configuration ID.
Application name : '/CPD/WDA_FIN_PLANNING_APPL
Configuration ID : (Custom Configuration Name)
Create and save the page.
Assign OVP configuration name created in step 2 and save.
Assign the APCC class from the step 1.
Step 4: Create all the required UIIBs
There are following UIBBs involved in the application. Copy and create the custom UIBBs based on the business requirement which requires custom enhancement.
To create FPM GUIBB Configuration, Go to path /CPD/PFP_UI -> Web Dynpro -> FPM GUIBB Configurations.
Overview Page Schema
Step 5: Create the page and section on the OVP Component Configuration
Open the Configurator for OVP Component created in step 2.
As shown in the below snippet, all the sections and UIBBs must be added in the configuration. Refer standard configuration for any clarification.
The toolbar buttons also need to be added as per below snippet. The button IDs and event IDs can be referred in standard.
Toolbar Schema
The dialog boxes 'COPY', 'EMAIL_URL', 'EMAIL_LOG' and 'DISTRIBUTE' can be copied as it is from standard.
Added Page Type
Key points to remember while copying:
Wire Schema
UIBB Processing Mode
Make sure that under no condition, the properties for 'UIBB Processing Mode' defined under General settings could be different from the standard application, otherwise the error 'Specify a value for variable Financial Plan' or any other errors may occur.
Page Header Area
Form UIBB
This section of page contains details related to Financial Plan. Once the standard config id is copied to custom config id, elements can be added, changed, or removed. For any logic changes, the custom feeder class corresponding to standard feeder class '/CPD/CL_QFP_PAGE_HEADER' can be modified accordingly.
Form UIBB: /CPD/PFP_QFP_PAGE_HEADER
Section 1
Search UIBB
Under configuration ID for search UIBB, three major technical details are defined:
During the copy of custom config id from standard, the feeder class 'CL_BS_ANLY_LIST_SEARCH_FEEDER' should used as in standard. Add the BW queries as available in the standard search UIBB and replace these queries with your own custom queries (If any).
Hidden Element Property
Analytic Query in Feeder Class Parameters
From the available search criteria list, add the required search criteria in the search UIBB schema. Added search criteria will be used further for the selection of data. If there is any change in search variable, set it's value in the method 'INITIALZE_DATA' of class '/CPD/CL_QFP_PLAN_APCC' with prefix 'BSA_VARIABLE_'. Example variable name - 'BSA_VARIABLE_/CPD/F_V13'.
Search UIBB Config ID
Tree UIBB
Consume the standard Tree UIBB as it is in the OVP. (It's corresponding query is derived from the APCC class.
Tree UIBB: /CPD/PFP_QUICK_PLAN_SUMMARY
Chart UIBB
Consume the standard Chart UIBB as it is in the OVP. (It's corresponding query is derived from the APCC class.
Component Configuration: /CPD/PFP_PLAN_SUM_CHART
Section 2
Resource Type Summary
Consume the standard Resource Type Summary as it is in the OVP. (It's corresponding query is derived from the APCC class.
Component Configuration: /CPD/PFP_QUICK_PLAN_RES_SUMMARY
Section 3
Planning Area
Create a Planning Area comparing the standard configuration '/CPD/PFP_QUICK_PLAN_LINEITEM' and replace the feeder class with the custom class, if any.
List UIBB: /CPD/PFP_QUICK_PLAN_LINEITEM
Relevant methods for custom changes:
APCC Class
Relevant methods for custom changes:
/CPD/CL_QFP_PLAN_APCC~INITIALIZE_DATA
Once the custom page for QFP is ready, the application configuration can be attached to Target mapping and Launchpad customising. To handle custom navigation, a custom implementation for BAdI '/CPD/PFP_BADI_LAUNCH_PLAN_APPL' can be created accordingly.
Conclusion
For making your own QFP page, Only the Component Configuration '/CPD/APP_CFG_PFP_QUICK_FP_OVP', Application Controller Class (APCC), Search UIBB, Planning Area config id and feeder class needs to be copied and rest can be reused by referring the standard objects.
Similarly PICM planning and Forecasting application can be created comparing the standard configuration.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.