|
1 | 1 | --- |
2 | | -title: Create common SAP workflows |
3 | | -description: Build workflows for common SAP scenarios in Azure Logic Apps. |
4 | | -services: logic-apps |
| 2 | +title: Create Common SAP Integration Workflows |
| 3 | +description: Build integration workflows for common SAP integration scenarios by using workflows in Azure Logic Apps. |
| 4 | +services: azure-logic-apps |
5 | 5 | ms.suite: integration |
6 | 6 | author: daviburg |
7 | 7 | ms.author: daviburg |
8 | | -ms.reviewer: estfan, azla |
| 8 | +ms.reviewers: estfan, azla |
9 | 9 | ms.topic: how-to |
10 | | -ms.date: 02/12/2025 |
| 10 | +ms.update-cycle: 1095-days |
| 11 | +ms.date: 03/13/2026 |
11 | 12 | ms.custom: sfi-ropc-nochange |
12 | | -#As an integration solution developer, I want to learn how I can build automated workflows that perform tasks with SAP resources. |
| 13 | +#Customer intent: As an SAP integration solution developer who works with Azure Logic Apps, I want to create automation and integration workflows that perform tasks with SAP resources. |
13 | 14 | --- |
14 | 15 |
|
15 | 16 | # Create workflows for common SAP integration scenarios in Azure Logic Apps |
16 | 17 |
|
17 | | -[!INCLUDE [logic-apps-sku-consumption-standard](../../../includes/logic-apps-sku-consumption-standard.md)] |
| 18 | +[!INCLUDE [logic-apps-sku-consumption-standard](../includes/logic-apps-sku-consumption-standard.md)] |
18 | 19 |
|
19 | | -This how-to guide shows how to create example logic app workflows for some common SAP integration scenarios using Azure Logic Apps and the SAP connector. |
| 20 | +This guide shows how to create example logic app workflows for some common SAP integration scenarios using Azure Logic Apps and the SAP connector. |
20 | 21 |
|
21 | | -Both Standard and Consumption logic app workflows offer the SAP *managed* connector that's hosted and run in multitenant Azure. Standard workflows also offer the SAP *built-in service provider* connector that's hosted and run in single-tenant Azure Logic Apps. For more information, see [Connector technical reference](sap.md#connector-technical-reference). |
| 22 | +Both Standard and Consumption logic app workflows offer the SAP *managed* connector hosted and run in multitenant Azure. Standard workflows also offer the SAP *built-in service provider* connector hosted and run in single-tenant Azure Logic Apps. For more information, see [Connector technical reference](sap.md#connector-technical-reference). |
22 | 23 |
|
23 | 24 | ## Prerequisites |
24 | 25 |
|
@@ -77,9 +78,9 @@ Based on whether you have a Consumption workflow in multitenant Azure Logic Apps |
77 | 78 | | **ProgramId** | Yes | The registration gateway program ID for the SAP RFC server. <br><br>**Note**: This value is case-sensitive. Make sure that you consistently use the same case format for the **Program ID** value when you configure your logic app workflow and SAP server. Otherwise, when you attempt to send an IDoc to SAP, the tRFC Monitor (T-Code SM58) might show the following errors (links require SAP login): <br><br>- [**Function IDOC_INBOUND_ASYNCHRONOUS not found** (2399329)](https://launchpad.support.sap.com/#/notes/2399329)<br>- [**Non-ABAP RFC client (partner type) not supported** (353597)](https://launchpad.support.sap.com/#/notes/353597) | |
78 | 79 | | **DegreeOfParallelism** | No | The number of calls to process in parallel. To add this parameter and change the value, from the **Advanced parameters** list, select **DegreeOfParallelism**, and enter the new value. | |
79 | 80 | | **SapActions** | No | Filter the messages that you receive from your SAP server based on a [list of SAP actions](#filter-with-sap-actions). To add this parameter, from the **Advanced parameters** list, select **SapActions**. In the new **SapActions** section, for the **SapActions - 1** parameter, use the file picker to select an SAP action or manually specify an action. For more information about the SAP action, see [Message schemas for IDoc operations](/biztalk/adapters-and-accelerators/adapter-sap/message-schemas-for-idoc-operations). | |
80 | | - | **IDoc Format** | No | The format to use for receiving IDocs. To add this parameter, from the **Advanced parameters** list, select **IDoc Format**. <br><br>- To receive IDocs as SAP plain XML, from the **IDoc Format** list, select **SapPlainXml**. <br><br>- To receive IDocs as a flat file, from the **IDoc Format** list, select **FlatFile**. <br><br>- **Note**: If you also use the [Flat File Decode action](../logic-apps-enterprise-integration-flatfile.md) in your workflow, in your flat file schema, you have to use the **early_terminate_optional_fields** property and set the value to **true**. This requirement is necessary because the flat file IDoc data record that's sent by SAP on the tRFC call named `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. | |
| 81 | + | **IDoc Format** | No | The format to use for receiving IDocs. To add this parameter, from the **Advanced parameters** list, select **IDoc Format**. <br><br>- To receive IDocs as SAP plain XML, from the **IDoc Format** list, select **SapPlainXml**. <br><br>- To receive IDocs as a flat file, from the **IDoc Format** list, select **FlatFile**. <br><br>- **Note**: If you also use the [Flat File Decode action](../logic-apps-enterprise-integration-flatfile.md) in your workflow, in your flat file schema, you have to use the **early_terminate_optional_fields** property and set the value to **true**. This requirement is necessary because the flat file IDoc data record sent by SAP on the tRFC call named `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 provided to the action must match. | |
81 | 82 | | **Receive IDOCS with unreleased segments** | No | Receive IDocs with or without unreleased segments. To add this parameter and change the value, from the **Advanced parameters** list, select **Receive IDOCS with unreleased segments**, and select **Yes** or **No**. | |
82 | | - | **SncPartnerNames** | No | The list of SNC partners that have permissions to call the trigger at the SAP client library level. Only the listed partners are authorized by the SAP server's SNC connection. To add this parameter, from the **Advanced parameters** list, select **SncPartnerNames**. Make sure to enter each name separated by a vertical bar (**\|**). | |
| 83 | + | **SncPartnerNames** | No | The list of SNC partners that have permissions to call the trigger at the SAP client library level. The list shows only partners that the SAP server's SNC connection authorizes. To add this parameter, from the **Advanced parameters** list, select **SncPartnerNames**. Make sure to enter each name separated by a vertical bar (**\|**). | |
83 | 84 |
|
84 | 85 | The following example shows a minimally configured SAP managed trigger in a workflow: |
85 | 86 |
|
@@ -355,7 +356,7 @@ Next, create an action to send your IDoc to SAP when the workflow's **Request** |
355 | 356 |
|
356 | 357 | 1. Browse the SAP action type folders using the arrows to find and select the SAP action that you want to use. |
357 | 358 |
|
358 | | - This example selects the following folders all the way to the SAP action named **Send**: **ORDERS** > **ORDERS05** > **720** > **Send**. |
| 359 | + This example selects the following folders up to the SAP action named **Send**: **ORDERS** > **ORDERS05** > **720** > **Send**. |
359 | 360 |
|
360 | 361 | :::image type="content" source="media/sap-create-example-scenario-workflows/sap-send-message-find-orders-action-consumption.png" alt-text="Screenshot shows Consumption workflow and selections for folders named Orders, Orders05, 720, and so on."::: |
361 | 362 |
|
@@ -691,23 +692,23 @@ In the following example, the `STFC_CONNECTION` RFC module generates a request a |
691 | 692 |
|
692 | 693 | You've now created a workflow that can send IDocs and communicate with your SAP server. Now that you've set up an SAP connection for your workflow, you can try experimenting with BAPI and RFC. |
693 | 694 |
|
694 | | -#### Workflow time-out issues |
| 695 | +#### Workflow timeout issues |
695 | 696 |
|
696 | 697 | Your workflow times out in any of the following scenarios: |
697 | 698 |
|
698 | | -- All the steps required for the response don't finish within the [request time-out limit](../logic-apps-limits-and-config.md). If this condition happens, requests might get blocked. To help you diagnose problems, learn [how to check workflow status and view run history for your workflows](/azure/logic-apps/view-workflow-status-run-history). |
| 699 | +- All the steps required for the response don't finish within the [request timeout limit](../logic-apps-limits-and-config.md). If this condition happens, requests might get blocked. To help you diagnose problems, see [how to check workflow status and view run history for your workflows](/azure/logic-apps/view-workflow-status-run-history). |
699 | 700 |
|
700 | 701 | - Your SAP system's processing mode is set to the default **Trigger immediately** setting, which causes your SAP system to block the inbound call for IDoc transmission until an IDoc finishes processing. |
701 | 702 |
|
702 | | - If your SAP system is under load, for example, when your workflow sends a batch of IDocs all at one time to SAP, the queued IDoc calls time out. The default processing mode causes your SAP system to block the inbound call for IDoc transmission until an IDoc finishes processing. In Azure Logic Apps, workflow actions have a 2-minute time out, by default. |
| 703 | + If your SAP system is under load, for example, when your workflow sends a batch of IDocs all at one time to SAP, the queued IDoc calls time out. The default processing mode causes your SAP system to block the inbound call for IDoc transmission until an IDoc finishes processing. In Azure Logic Apps, workflow actions have a 2-minute timeout, by default. |
703 | 704 |
|
704 | 705 | To resolve this problem, follow the [steps in the **Prerequisites** section that change the setting to **Trigger by background program**](sap.md#prerequisites). |
705 | 706 |
|
706 | 707 | <a name="safe-typing"></a> |
707 | 708 |
|
708 | 709 | ## Safe typing |
709 | 710 |
|
710 | | -By default, when you create a connection for the SAP managed operation, strong typing is used to check for invalid values by performing XML validation against the schema. This behavior can help you detect issues earlier. The **Safe Typing** option is available for backward compatibility and only checks the string length. If you choose **Safe Typing**, the DATS type and TIMS type in SAP are treated as strings rather than as their XML equivalents, `xs:date` and `xs:time`, where `xmlns:xs="http://www.w3.org/2001/XMLSchema"`. Safe typing affects the behavior for all schema generation, the send message for both the "been sent" payload and the "been received" response, and the trigger. |
| 711 | +By default, when you create a connection for the SAP managed operation, strong typing is used to check for invalid values by performing XML validation against the schema. This behavior can help you detect issues earlier. The **Safe Typing** option is available for backward compatibility and only checks the string length. If you choose **Safe Typing**, the DATS type and TIMS type in SAP are treated as strings rather than as their XML equivalents, `xs:date` and `xs:time`, where `xmlns:xs="http://www.w3.org/2001/XMLSchema"`. Safe typing affects the behavior for all schema generation, the Send message for both the "sent" payload and the "received" response, and the trigger. |
711 | 712 |
|
712 | 713 | When strong typing is used (**Safe Typing** isn't enabled), the schema maps the DATS and TIMS types to more straightforward XML types: |
713 | 714 |
|
|
0 commit comments