logo

Are you need IT Support Engineer? Free Consultant

SAP Profitability and Performance Management Cloud…

  • By Sanjay
  • 10/06/2026
  • 11 Views


Hello, SAP Community members!

If you have been working with SAP Profitability and Performance Management for a while, you know that one of the platform's greatest strengths is its extensibility. In the On-Premise world, the Remote Function Adapter: External Function has long been a favorite among modelers who need to plug custom ABAP logic, written as a BAPI wrapper, directly into their calculation models. The idea is elegant: you write your logic once in ABAP, and SAP Profitability and Performance Management calls it, passes data in, and writes the output back to the result table.

For SAP Profitability and Performance Management Cloud Standard Model customers, this raises a natural question: what about all that existing On-Premise ABAP logic? Rebuilding it natively in the Cloud is costly and unnecessary if it already works perfectly.  This gap is addressed by the General Function – a newly available function type in the Remote Function Adapter (RFA) palette in SAP Profitability and Performance Management Cloud Standard Model. It connects SAP Profitability and Performance Management Cloud Standard Model to your On-Premise custom Function Module through an RFC destination configured in SAP Business Technology Platform (BTP).

For On-Premise users: If you are already familiar with the Remote Function Adapter in SAP Profitability and Performance Management (On-Premise), you will immediately recognize the inspiration behind the General Function. The concept is the same. For those new to the On-Premise Remote Function Adapter, we recommend this blog post as background reading: Exploring SAP Profitability and Performance Management's Remote Function Adapter (RFA).

Prerequisites

1. Custom Function Module

First, you need to have a custom Function Module (commonly referred to as a BAPI Wrapper when it wraps a standard SAP BAPI) ready on your On-Premise SAP system. This is the On-Premise half of the connection – SAP Profitability and Performance Management Cloud Standard Model calls it via RFC and reads the results back.

For the full list of what your custom Function Module must include to be compatible, refer to the Custom Function Module Compatibility Requirements section below. For a step-by-step guide on building one, refer to: Exploring SAP Profitability and Performance Management's Remote Function Adapter (RFA).

2. Cloud Connector and BTP Destination Setup

Now, in order to connect your On-Premise system to SAP Profitability and Performance Management Cloud Standard Model, follow these steps:

  1. Configure the SAP Cloud Connector to map your On-Premise SAP system to your BTP subaccount, and add your BAPI as an allowed RFC resource within that system mapping.
  2. Create an RFC Destination in the SAP BTP Destination Service pointing to that On-Premise system. This is what will appear in the RFC Destination dropdown when configuring the General Function.

For a step-by-step guide covering both the Cloud Connector and SAP BTP destination setup, refer to Integration Setup: SAP Profitability and Performance Management Cloud to use RFA FI-GL and FI-GLI to…

Meet the General Function in the Remote Function Adapter (RFA) Palette

Open the modeling palette in SAP Profitability and Performance Management Cloud Standard Model and scroll to the Remote Function Adapter (RFA) group. You will find the General Function listed there alongside other RFA-type functions.

Lance_Genesis_0-1781013263743.Png

The icon is intentionally familiar to On-Premise users. It is reused from the SAP Profitability and Performance Management (On-Premise) RFA External Function, making it immediately recognizable if you have worked with that feature before.

One key structural difference worth knowing upfront: in SAP Profitability and Performance Management (On-Premise), you define Rules as child nodes beneath the External Function. The General Function in SAP Profitability and Performance Management Cloud Standard Model has no child nodes. All custom logic lives inside the BAPI wrapper on the On-Premise side. SAP Profitability and Performance Management Cloud Standard Model is the orchestrator and the consumer of the result, not the rule engine.

Configuring the General Function

Drag and drop the General Function from the palette into your modeling diagram. Open its Properties panel and configure your Function ID and Description to identify the function within your model. The two sections that matter most for getting the function working are Specific and Signature.

Lance_Genesis_1-1781010893048.Png

Specific Section: Defining the RFC Connection

This is where you connect SAP Profitability and Performance Management Cloud Standard Model to your On-Premise system.

  • RFC Destination (required, dropdown): Select the RFC destination that points to the On-Premise system where your custom Function Module is deployed. This list is populated from the RFC destinations configured in your SAP BTP tenant's Destination Service.

Lance_Genesis_3-1781011075654.Png

Important: If your target RFC destination does not appear in the dropdown, it has not yet been configured in the SAP BTP Destination Service. Do not proceed with configuration until this is resolved – the connection is a prerequisite for successful execution.

  • Function Name (free-text input): Enter the exact name of your custom Function Module (e.g., Z_TEST_EXTERNAL_FUNCTION). This field does not validate or suggest function names. You need to confirm the correct name with your ABAP team in advance. An incorrect name will only surface as a failure at runtime.

Signature Section: Why It Exists, and What It Does

Before diving into what you configure here, it helps to understand why this section exists at all. If you have worked with the SAP Profitability and Performance Management (On-Premise) External Function, you may have noticed that it does not require you to declare a Signature in the same way. In On-Premise, the Rules tab automatically discovers and displays the function module's interface through its Template section once you specify the Function Name, you can see the structure directly. The General Function takes a deliberate different approach: rather than auto-discovering the full interface, the Signature lets you explicitly declare exactly which fields to send to and receive from the custom Function Module. That is exactly what the Signature section is for. It is your way of telling SAP Profitability and Performance Management Cloud Standard Model: “Here is the shape of the data the custom Function Module expects to receive, and here is the shape of the data it will return.” Once you define this, SAP Profitability and Performance Management Cloud Standard Model knows what columns to send through IT_DATA and what columns to read back from ET_DATA.

  • Selection Fields: Correspond to the fields in the BAPI wrapper's import structure (inside IT_DATA). These define the input columns SAP Profitability and Performance Management Cloud Standard Model passes to the On-Premise function.
  • Action Fields: Correspond to the fields in the custom Function Module's export structure (inside ET_DATA). The values returned through these fields are written back to the SAP Profitability and Performance Management Cloud Standard Model result table.

Because SAP Profitability and Performance Management Cloud Standard Model relies entirely on what you declare here, the field IDs and data types must match the custom Function Module's structure exactly, one-to-one. There is no automatic discovery or reconciliation. If the Signature says a field exists and the custom Function Module does not have it or vice versa, the connection breaks.

No Mapping Section: The General Function has no dedicated Mapping section in its Properties panel, unlike other RFA functions in SAP Profitability and Performance Management Cloud Standard Model, which include a mapping layer between SAP Profitability and Performance Management Cloud Standard Model fields and BAPI parameters. For the General Function, the Signature is the mapping. Field names in the ABAP structures and field IDs in the SAP Profitability and Performance Management Cloud Standard Model Signature must be identical – there is no UI layer in between to translate or reconcile differences.

Custom Function Module Compatibility Requirements

For the General Function to work, your custom Function Module on the On-Premise system must meet the following requirements.

  • Remote-Enabled Module set in the Attributes tab in SE37; makes the Function Module callable from outside the On-Premise system via RFC.

Lance_Genesis_5-1781011273472.Png

  • IT_DATA import parameter typed against a custom table type; SAP Profitability and Performance Management Cloud Standard Model delivers input records through this parameter. The import structure's fields define what input columns SAP Profitability and Performance Management Cloud Standard Model passes in. These must match the Selection Fields you declare in the SAP Profitability and Performance Management Cloud Standard Model Signature section. The structure must also include __GUID__ so SAP Profitability and Performance Management Cloud Standard Model can stamp each row with a tracking number before sending it.

Lance_Genesis_6-1781011373603.Png

  • ET_DATA export parameter typed against a custom table type; your Function Module writes output records here for SAP Profitability and Performance Management Cloud Standard Model to read back into the result table. The export structure's fields must match the Action Fields in the SAP Profitability and Performance Management Cloud Standard Model Signature section. __GUID__ must also be present in this structure and populated for every output row, so SAP Profitability and Performance Management Cloud Standard Model can match results back to their source records.

Lance_Genesis_7-1781011421339.Png

  • ET_MESSAGE export parameter; used to return log messages that appear in the SAP Profitability and Performance Management Cloud Standard Model Application Log after execution.

Parameter names are fixed: IT_DATA, ET_DATA, and ET_MESSAGE cannot be renamed. The back end of the SAP Profitability and Performance Management Cloud Standard Model is built to look for these exact parameter names. If any are missing or renamed, the connection will fail at runtime.

Activating, Running, and Verifying the Result

Once your SAP Profitability and Performance Management Cloud Standard Model configuration is complete and your custom Function Module is deployed on the On-Premise system, save and activate the General Function. The activation log will confirm that both the input function and the General Function are activated.

Lance_Genesis_8-1781011531876.Png

The General Function can then be run through all standard SAP Profitability and Performance Management Cloud Standard Model run entry points: direct Run from the Modeling screen, Run with Parameters and Selections, Process Template, Process Instance, or Process Scheduler for automated runs.

After the run completes, open the Application Monitor to review the outcome. The logs show the full run chain: how many input records were selected, whether the RFC call was submitted successfully, how many records were processed, and any custom messages returned by the custom Function Module through ET_MESSAGE.

Lance_Genesis_9-1781011592931.Png

To verify the results, navigate to Manage Data and open the result table for your environment. The Action Fields defined in the Signature section will be populated with the output values returned from the custom Function Module exactly as it exported them.

In our example, the Result Object column (mapped from CH_OBJKEY in ET_DATA) is where you can confirm if the end-to-end connection succeeded. A populated Result Object column means SAP Profitability and Performance Management Cloud Standard Model successfully reached the On-Premise system, the custom Function Module run, and the output values were sent back and written to the result table. If this column is empty, the custom Function Module either did not run or did not write any rows to ET_DATA. Check the Application Monitor for details.

Notice that in this example, the Result Object column is populated on every other row. This is expected behavior based on the sample code: the function only writes a result row when the loop index is an even number. In a real implementation, your custom Function Module's business logic determines which rows produce output; the structure of the result table will reflect exactly what it wrote to ET_DATA.

Lance_Genesis_10-1781012485761.Png

This is the complete end-to-end flow: SAP Profitability and Performance Management Cloud Standard Model passed the data in through IT_DATA, the On-Premise custom Function Module processed it, and the output came back through ET_DATA and landed in the result table.

Wrapping Up

The General Function is a meaningful step forward for SAP Profitability and Performance Management Cloud Standard Model customers who want to leverage existing On-Premise ABAP logic without rebuilding it from scratch in the cloud. Whether you have a complex allocation rule, a proprietary enrichment process, or a calculation that lives better on the On-Premise side, the General Function gives you a clean, supported way to call it from SAP Profitability and Performance Management Cloud Standard Model and consume its results.

We are eager to hear from you. What use cases are you thinking about? What On-Premise logic would you most want to bridge into SAP Profitability and Performance Management Cloud Standard Model? Share your thoughts in the comments below and stay tuned for the general availability announcement.

As always, feel free to reach out via the SAP Profitability and Performance Management Community  with questions.

Related Resources



Source link

Leave a Reply

Your email address will not be published. Required fields are marked *