OutSystems recently introduced a new enterprise edition that features built-in SAP integration, replacing the need of integrating with SAP through extensions in C# or Java - or SOAP.

What are the Advantages?

We recommend you to use it to get the following advantages:

  • It’s fast and easy to discover, select, and import SAP remote functions. Learn more about it here;

  • Implement the authentication mechanism that best suits your security needs, like user credentials, SAP Logon Tickets, or certificates. Learn more about it here;

  • Calls to SAP remote functions are logged and allow a simplified troubleshooting and auditing with low level call tracking. Learn more about it here;

  • You can configure which SAP system to connect in each environment (Development, QA, Production, ...). There’s no need to change the application. This allows deploying the application from one environment to another connected to the right SAP system. Learn more about it here.
  • You can build complex, multi-level transactions that leverage the transaction management system directly inside SAP. Learn more about it here.


How to Migrate?

To migrate your existing integrations, do the following for each action integrating with SAP:

  1. Take note of the action name and delete it from the module. You will get errors where the action is in use;

  2. Import the SAP remote function using the new native SAP integration. See how to do it here;

  3. Change the name of the newly imported action to the old name. Errors raised by step 1. will disappear;

  4. As for the credentials that are sent to SAP:

    1. Old calls to the action that are passing credentials, will raise warnings. This is because actions imported with the new SAP integration do not have credentials by default. Instead, OutSystems automatically passes credentials that are defined in the new SAP integration;

    2. Delete the credentials passed to the action. Warnings will disappear;

    3. If you have other kind of authentication, like user credentials, SAP Logon Tickets, or certificates, then see how to implement them here;

  5. Variables and parameters defined with compound data types (e.g., Lists or Records), may raise errors. That’s because their usage is now simpler.
    To fix these situations, check errors in the TrueChange tab, and do the following:

    1. Double-click on the error to show the wrong usage of the variable/parameter;

    2. In the expression, copy the part with ‘<wrong record usage>’ and the following dot (‘.’), e.g., ‘CUSTOMERDATA.’;

    3. Press CTRL+R to find that text and replace it with an empty string (“”). The invalid usage of the variable/parameter is fixed.


Once this is done for all errors, you should get a green 1-Click Publish button.

Before publishing the application, remove the extension module. See how to do it here.


That’s it!