Skip to content

Commit 32dbd4c

Browse files
committed
Partial clarity refactoring, strict min access requirements
1 parent c5d7ee2 commit 32dbd4c

File tree

1 file changed

+30
-23
lines changed

1 file changed

+30
-23
lines changed

articles/logic-apps/logic-apps-using-sap-connector.md

Lines changed: 30 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -1,81 +1,88 @@
11
---
22
title: Connect to SAP
3-
description: Connect to SAP resources from workflows in Azure Logic Apps.
3+
description: Connect to an SAP server from a workflow in Azure Logic Apps.
44
services: logic-apps
55
ms.suite: integration
66
author: divyaswarnkar
77
ms.author: divswa
88
ms.reviewer: estfan, daviburg, azla
99
ms.topic: how-to
10-
ms.date: 08/22/2022
10+
ms.date: 01/23/2023
1111
tags: connectors
1212
---
1313

1414
# Connect to SAP from workflows in Azure Logic Apps
1515

1616
[!INCLUDE [logic-apps-sku-consumption](../../includes/logic-apps-sku-consumption.md)]
1717

18-
This article explains how you can access your SAP resources from Azure Logic Apps using the [SAP connector](/connectors/sap/).
18+
This how-to guide shows how to access your SAP server from a workflow in Azure Logic Apps using the [SAP connector](/connectors/sap/).
1919

2020
## Prerequisites
2121

2222
* An Azure account and subscription. If you don't have an Azure subscription yet, [sign up for a free Azure account](https://azure.microsoft.com/free/?WT.mc_id=A261C142F).
2323

24-
* A logic app workflow from which you want to access your SAP resources. If you're new to Azure Logic Apps, review the [Azure Logic Apps overview](logic-apps-overview.md) and the [quickstart for creating your first logic app workflow in the Azure portal](quickstart-create-first-logic-app-workflow.md).
24+
* The logic app workflow from where you want to access your SAP server.
2525

26-
* If you've used a previous version of the SAP connector that has been deprecated, you must [migrate to the current connector](#migrate-to-current-connector) before you can connect to your SAP server.
26+
* If you're using a deprecated version of the SAP connector, you have to [migrate to the current connector](#migrate-to-current-connector) before you can connect to your SAP server.
2727

2828
* If you're running your logic app workflow in multi-tenant Azure, review the [multi-tenant prerequisites](#multi-tenant-azure-prerequisites).
2929

3030
* If you're running your logic app workflow in a Premium-level [integration service environment (ISE)](connect-virtual-network-vnet-isolated-environment-overview.md), review the [ISE prerequisites](#ise-prerequisites).
3131

32-
* An [SAP Application server](https://wiki.scn.sap.com/wiki/display/ABAP/ABAP+Application+Server) or [SAP Message server](https://help.sap.com/saphelp_nw70/helpdata/en/40/c235c15ab7468bb31599cc759179ef/frameset.htm) that you want to access from Azure Logic Apps. For information about the SAP servers that support this connector, review [SAP compatibility](#sap-compatibility).
32+
* The [SAP Application server](https://wiki.scn.sap.com/wiki/display/ABAP/ABAP+Application+Server) or [SAP Message server](https://help.sap.com/saphelp_nw70/helpdata/en/40/c235c15ab7468bb31599cc759179ef/frameset.htm) that you want to access from Azure Logic Apps.
3333

34-
> [!IMPORTANT]
35-
> Make sure that you set up your SAP server and user account to allow using RFC. For more information, which includes the supported
36-
> user account types and the minimum required authorization for each action type (RFC, BAPI, IDOC), review the following SAP note:
37-
> [460089 - Minimum authorization profiles for external RFC programs](https://launchpad.support.sap.com/#/notes/460089).
38-
>
39-
> * For RFC actions, the user account additionally needs access to function modules `RFC_GROUP_SEARCH` and `DD_LANGU_TO_ISOLA`.
40-
> * For BAPI actions, the user account also needs access to the following function modules: `BAPI_TRANSACTION_COMMIT`,
41-
> `BAPI_TRANSACTION_ROLLBACK`, `RPY_BOR_TREE_INIT`, `SWO_QUERY_METHODS` and `SWO_QUERY_API_METHODS`.
42-
> * For IDOC actions, the user account also needs access to the following function modules: `IDOCTYPES_LIST_WITH_MESSAGES`,
43-
> `IDOCTYPES_FOR_MESTYPE_READ`, `INBOUND_IDOCS_FOR_TID`, `OUTBOUND_IDOCS_FOR_TID`, `GET_STATUS_FROM_IDOCNR`, and `IDOC_RECORD_READ`.
44-
> * For the **Read Table** action, the user account also needs access to *either* following function module:
45-
> `RFC BBP_RFC_READ_TABLE` or `RFC_READ_TABLE`.
34+
For information about the SAP servers that support this connector, review [SAP compatibility](#sap-compatibility).
35+
36+
* Set up your SAP server and user account to allow using RFC.
37+
38+
For more information, which includes the supported user account types and the minimum required authorization for each action type (RFC, BAPI, IDOC), review the following SAP note: [460089 - Minimum authorization profiles for external RFC programs](https://launchpad.support.sap.com/#/notes/460089).
39+
40+
* Your SAP user account needs access to the respective function modules for the following connector operations:
4641

47-
* Message content to send to your SAP server, such as a sample IDoc file. This content must be in XML format and include the namespace of the [SAP action](#actions) you want to use. You can [send IDocs with a flat file schema by wrapping them in an XML envelope](#send-flat-file-idocs).
42+
| Operations | Access to function modules |
43+
|------------|----------------------------|
44+
| RFC actions | `RFC_GROUP_SEARCH` and `DD_LANGU_TO_ISOLA` |
45+
| BAPI actions | `BAPI_TRANSACTION_COMMIT`, `BAPI_TRANSACTION_ROLLBACK`, `RPY_BOR_TREE_INIT`, `SWO_QUERY_METHODS`, and `SWO_QUERY_API_METHODS` |
46+
| IDOC actions | `IDOCTYPES_LIST_WITH_MESSAGES`, `IDOCTYPES_FOR_MESTYPE_READ`, `INBOUND_IDOCS_FOR_TID`, `OUTBOUND_IDOCS_FOR_TID`, `GET_STATUS_FROM_IDOCNR`, and `IDOC_RECORD_READ` |
47+
| **Read Table** action | Either `RFC BBP_RFC_READ_TABLE` or `RFC_READ_TABLE` |
4848

49-
* If you want to use the **When a message is received from SAP** trigger, you must also do the following tasks:
49+
* To use the **When a message is received from SAP** trigger, complete the following tasks:
5050

51-
* Set up your SAP gateway security permissions or Access Control List (ACL). In the **secinfo** and **reginfo** files, which are visible in the Gateway Monitor dialog box, T-Code SMGW, follow **Goto > Expert Functions > External Security > Maintenance of ACL Files**. The following permission setting is required:
51+
* Set up your SAP gateway security permissions or Access Control List (ACL). In the **Gateway Monitor** (T-Code SMGW) dialog box, which show the **secinfo** and **reginfo** files, open the **Goto** menu, and select **Expert Functions** > **External Security** > **Maintenance of ACL Files**.
52+
53+
The following permission setting is required:
5254

5355
`P TP=LOGICAPP HOST=<on-premises-gateway-server-IP-address> ACCESS=*`
5456

5557
This line has the following format:
5658

5759
`P TP=<trading-partner-identifier-(program-name)-or-*-for-all-partners> HOST=<comma-separated-list-with-external-host-IP-or-network-names-that-can-register-the-program> ACCESS=<*-for-all-permissions-or-a-comma-separated-list-of-permissions>`
5860

59-
If you don't configure the SAP gateway security permissions, you might receive this error:
61+
If you don't configure the SAP gateway security permissions, you might receive the following error:
6062

6163
`Registration of tp Microsoft.PowerBI.EnterpriseGateway from host <host-name> not allowed`
6264

6365
For more information, review [SAP Note 1850230 - GW: "Registration of tp &lt;program ID&gt; not allowed"](https://userapps.support.sap.com/sap/support/knowledge/en/1850230).
6466

6567
* Set up your SAP gateway security logging to help find Access Control List (ACL) issues. For more information, review the [SAP help topic for setting up gateway logging](https://help.sap.com/viewer/62b4de4187cb43668d15dac48fc00732/7.31.25/en-US/48b2a710ca1c3079e10000000a42189b.html).
6668

67-
* In the **Configuration of RFC Connections** (T-Code SM59) dialog box, create an RFC connection with the **TCP/IP** type. The **Activation Type** must be **Registered Server Program**. Set the RFC connection's **Communication Type with Target System** value to **Unicode**.
69+
* In the **Configuration of RFC Connections** (T-Code SM59) dialog box, create an RFC connection with the **TCP/IP** type. Make sure that the **Activation Type** is set to **Registered Server Program**. Set the RFC connection's **Communication Type with Target System** value to **Unicode**.
6870

6971
* If you use this SAP trigger with the **IDOC Format** parameter set to **FlatFile** along with the [Flat File Decode action](logic-apps-enterprise-integration-flatfile.md), you have to use the `early_terminate_optional_fields` property in your flat file schema by setting the value to `true`.
7072

7173
This requirement is necessary because the flat file IDoc data record that's sent by SAP on the tRFC call `IDOC_INBOUND_ASYNCHRONOUS` isn't padded to the full SDATA field length. Azure Logic Apps provides the flat file IDoc original data without padding as received from SAP. Also, when you combine this SAP trigger with the Flat File Decode action, the schema that's provided to the action must match.
7274

7375
> [!NOTE]
76+
>
7477
> This SAP trigger uses the same URI location to both renew and unsubscribe from a webhook subscription. The renewal
7578
> operation uses the HTTP `PATCH` method, while the unsubscribe operation uses the HTTP `DELETE` method. This behavior
7679
> might make a renewal operation appear as an unsubscribe operation in your trigger's history, but the operation is
7780
> still a renewal because the trigger uses `PATCH` as the HTTP method, not `DELETE`.
7881
82+
* To grant only strict minimum access for your SAP connection from Azure Logic Apps, your SAP user account needs access to the `RFC_METADATA` function group and the following function modules: `RFC_METADATA_GET` and `RFC_METADATA_GET_TIMESTAMP`
83+
84+
* The message content to send to your SAP server, such as a sample IDoc file. This content must be in XML format and include the namespace of the [SAP action](#actions) you want to use. You can [send IDocs with a flat file schema by wrapping them in an XML envelope](#send-flat-file-idocs).
85+
7986
### SAP compatibility
8087

8188
The SAP connector is compatible with the following types of SAP systems:

0 commit comments

Comments
 (0)