|
1 | 1 | ---
|
2 | 2 | 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. |
4 | 4 | services: logic-apps
|
5 | 5 | ms.suite: integration
|
6 | 6 | author: divyaswarnkar
|
7 | 7 | ms.author: divswa
|
8 | 8 | ms.reviewer: estfan, daviburg, azla
|
9 | 9 | ms.topic: how-to
|
10 |
| -ms.date: 08/22/2022 |
| 10 | +ms.date: 01/23/2023 |
11 | 11 | tags: connectors
|
12 | 12 | ---
|
13 | 13 |
|
14 | 14 | # Connect to SAP from workflows in Azure Logic Apps
|
15 | 15 |
|
16 | 16 | [!INCLUDE [logic-apps-sku-consumption](../../includes/logic-apps-sku-consumption.md)]
|
17 | 17 |
|
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/). |
19 | 19 |
|
20 | 20 | ## Prerequisites
|
21 | 21 |
|
22 | 22 | * 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).
|
23 | 23 |
|
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. |
25 | 25 |
|
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. |
27 | 27 |
|
28 | 28 | * If you're running your logic app workflow in multi-tenant Azure, review the [multi-tenant prerequisites](#multi-tenant-azure-prerequisites).
|
29 | 29 |
|
30 | 30 | * 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).
|
31 | 31 |
|
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. |
33 | 33 |
|
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: |
46 | 41 |
|
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` | |
48 | 48 |
|
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: |
50 | 50 |
|
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: |
52 | 54 |
|
53 | 55 | `P TP=LOGICAPP HOST=<on-premises-gateway-server-IP-address> ACCESS=*`
|
54 | 56 |
|
55 | 57 | This line has the following format:
|
56 | 58 |
|
57 | 59 | `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>`
|
58 | 60 |
|
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: |
60 | 62 |
|
61 | 63 | `Registration of tp Microsoft.PowerBI.EnterpriseGateway from host <host-name> not allowed`
|
62 | 64 |
|
63 | 65 | For more information, review [SAP Note 1850230 - GW: "Registration of tp <program ID> not allowed"](https://userapps.support.sap.com/sap/support/knowledge/en/1850230).
|
64 | 66 |
|
65 | 67 | * 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).
|
66 | 68 |
|
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**. |
68 | 70 |
|
69 | 71 | * 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`.
|
70 | 72 |
|
71 | 73 | 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.
|
72 | 74 |
|
73 | 75 | > [!NOTE]
|
| 76 | + > |
74 | 77 | > This SAP trigger uses the same URI location to both renew and unsubscribe from a webhook subscription. The renewal
|
75 | 78 | > operation uses the HTTP `PATCH` method, while the unsubscribe operation uses the HTTP `DELETE` method. This behavior
|
76 | 79 | > might make a renewal operation appear as an unsubscribe operation in your trigger's history, but the operation is
|
77 | 80 | > still a renewal because the trigger uses `PATCH` as the HTTP method, not `DELETE`.
|
78 | 81 |
|
| 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 | + |
79 | 86 | ### SAP compatibility
|
80 | 87 |
|
81 | 88 | The SAP connector is compatible with the following types of SAP systems:
|
|
0 commit comments