Skip to content

Commit f9bd03b

Browse files
authored
Merge pull request #272191 from timlt/arch-articles-final
Add new arch content for HMI
2 parents fd93ddb + 183aaa2 commit f9bd03b

28 files changed

+681
-0
lines changed

articles/iot/TOC.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@ items:
4141
href: howto-manage-digital-twin.md
4242
- name: Convert a device to IoT Plug and Play
4343
href: howto-convert-to-pnp.md
44+
- name: Connect an on-premise SAP system to Azure
45+
href: howto-connect-on-premises-sap-to-azure.md
4446

4547
- name: Tutorials
4648
items:
@@ -125,6 +127,10 @@ items:
125127
href: iot-mqtt-5-preview.md
126128
- name: MQTT 5 API reference
127129
href: iot-mqtt-5-preview-reference.md
130+
- name: Architecture
131+
items:
132+
- name: Reference architecture for condition monitoring
133+
href: concepts-iot-industrial-solution-architecture.md
128134

129135
- name: Resources
130136
items:

articles/iot/concepts-iot-industrial-solution-architecture.md

Lines changed: 526 additions & 0 deletions
Large diffs are not rendered by default.
Lines changed: 149 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,149 @@
1+
---
2+
title: "Connecting on-premises SAP systems to Azure"
3+
description: "Step by step guide about that shows how to connect an on-premises SAP Enterprise Resource Planning system to Azure."
4+
author: barnstee
5+
ms.author: erichb
6+
ms.service: iot
7+
ms.topic: how-to #Don't change.
8+
ms.date: 4/14/2024
9+
10+
#customer intent: As an ower of on-prem SAP systems, I want connect them to Azure so that I can add data from these SAP systems to my cloud analytics.
11+
12+
---
13+
14+
# Connect on-premises SAP systems to Azure
15+
16+
Many manufacturers use on-premises SAP Enterprise Resource Planning (ERP) systems. Often, manufacturers connect SAP systems to Industrial IoT solutions, and use the connected system to retrieve data for manufacturing processes, customer orders, and inventory status. This article describes how to connect these SAP-based ERP systems.
17+
18+
19+
## Prerequisites
20+
21+
The following prerequisites are required to complete the SAP connection as described in this article.
22+
23+
- An Azure Industrial IoT solution deployed in an Azure subscription as described in [Azure Industrial IoT reference architecture](concepts-iot-industrial-solution-architecture.md)
24+
25+
26+
## IEC 62541 Open Platform Communications Unified Architecture (OPC UA)
27+
28+
This solution uses IEC 62541 Open Platform Communications (OPC) Unified Architecture (UA) for all Operational Technology (OT) data. This standard is described [here](https://opcfoundation.org).
29+
30+
31+
## Reference Solution Architecture
32+
33+
:::image type="content" source="media/howto-connect-on-premises-sap-to-azure/architecture-iiot-sap.png" alt-text="Diagram of a simple IIoT architecture that shows all components." lightbox="media/howto-connect-on-premises-sap-to-azure/architecture-iiot-sap.png" border="false" :::
34+
35+
36+
## Components
37+
38+
For a list of components, refer to [Azure Industrial IoT reference architecture](concepts-iot-industrial-solution-architecture.md).
39+
40+
41+
## Connect the reference solution to on-premises SAP Systems
42+
43+
The Azure services handling connectivity to your on-premises SAP systems is called Azure Logic Apps. Azure Logic Apps is a no-code Azure service to orchestrate workflows that can trigger actions.
44+
45+
> [!NOTE]
46+
> If you want to try out SAP connectivity before connecting your real SAP system, you can deploy an `SAP S/4 HANA Fully-Activated Appliance` to Azure from [here](https://cal.sap.com/catalog#/applianceTemplates) and use that instead.
47+
48+
### Configure Azure Logic Apps to receive data from on-premises SAP systems
49+
50+
The Azure Logic Apps workflow is from your on-premises SAP system to Azure Logic Apps. It also stores the data sent from SAP in your Azure Storage Account. To create a new Azure Logic Apps workflow, follow these steps:
51+
52+
1. Deploy an instance of Azure Logic Apps in the same region you picked during deployment of this reference solution via the Azure portal. Select the consumption-based version.
53+
1. From the Azure Logic App Designer, select the trigger template `When a HTTP request is received`.
54+
1. Select `+ New step`, select `Azure File Storage`, and select `Create file`. Give the connection a name and select the storage account name of the Azure Storage Account. For `Folder path`, enter `sap`, for `File name` enter `IDoc.xml` and for `File content` select `Body` from the dynamic content. In the Azure portal, navigate to your storage account, select `Storage browser`, select `File shares` > `Add file share`. Enter `sap` for the name and select `Create`.
55+
1. Hover over the arrow between your trigger and your create file action, select the `+` button, then select `Add a parallel branch`. Select `Azure Data Explorer` and add the action `Run KQL query` from the list of Azure Data Explorer (ADX) actions available. Specify the ADX instance (Cluster URL) name and database name of your Azure Data Explorer service instance. In the query field, enter `.create table SAP (name:string, label:string)`.
56+
1. Save your workflow.
57+
1. Select `Run Trigger` and wait for the run to complete. Verify that there are green check marks on all three components of your workflow. If you see any red exclamation marks, select the component for more information regarding the error.
58+
59+
Copy the `HTTP GET URL` from your HTTP trigger in your workflow. You'll need it when configuring SAP in the next step.
60+
61+
### Configure an on-premises SAP system to send data to Azure Logic Apps
62+
63+
1. Sign in to the SAP Windows Virtual Machine
64+
2. Once at the Virtual Machine desktop, select on `SAP Logon`
65+
3. Select `Log On` in the top left corner of the app
66+
67+
:::image type="content" source="media/howto-connect-on-premises-sap-to-azure/log-on.png" alt-text="Screenshot that shows an SAP sign-in form." lightbox="media/howto-connect-on-premises-sap-to-azure/log-on.png" border="false" :::
68+
69+
4. Sign in with the `BPINST` user name, and `Welcome1` password
70+
5. In the top right corner, search for `SM59`. This should bring up the `Configuration of RFC Connections` screen.
71+
72+
:::image type="content" source="media/howto-connect-on-premises-sap-to-azure/sm95-search.png" alt-text="Screenshot that shows configuration of RFC connections and search for SM95." lightbox="media/howto-connect-on-premises-sap-to-azure/sm95-search.png" border="false" :::
73+
74+
6. Select on `Edit` and `Create` at the top of the app.
75+
7. Enter `LOGICAPP` in the `Destination` field
76+
8. From the `Connection Type` dropdown, select `HTTP Connection to external server`
77+
9. Select The green check at the bottom of the window.
78+
79+
:::image type="content" source="media/howto-connect-on-premises-sap-to-azure/connection-logic-app.png" alt-text="Screenshot that shows the details of a connection logic app." lightbox="media/howto-connect-on-premises-sap-to-azure/connection-logic-app.png" border="false" :::
80+
81+
10. In the `Description 1` box, put `LOGICAPP`
82+
11. Select the `Technical Settings` tab and fill in the `Host` field with the `HTTP GET URL` from the logic app you copied (for example prod-51.northeurope.logic.azure.com). In `Port` put `443`. And in `Path Prefix` enter the rest of the `HTTP GET URL` starting with `/workflows/...`
83+
84+
:::image type="content" source="media/howto-connect-on-premises-sap-to-azure/add-get-url.png" alt-text="Screenshot that shows how to add a get url." lightbox="media/howto-connect-on-premises-sap-to-azure/add-get-url.png" border="false" :::
85+
86+
12. Select the `Login & Security` tab.
87+
13. Scroll down to `Security Options` and set `SSL` to `Active`
88+
14. Select `Save`
89+
15. In the main app from step 5, search for `WE21`. This brings up the `Ports in IDoc processing`.
90+
16. Select the `XML HTTP` folder and select `Create`.
91+
17. In the `Port` field, input `LOGICAPP`
92+
18. In the `RFC destination`, select `LOGICAPP`.
93+
19. Select `Green Check` to `Save`
94+
95+
:::image type="content" source="media/howto-connect-on-premises-sap-to-azure/port-select-logic-app.png" alt-text="Screenshot that shows port selection for a Logic App." lightbox="media/howto-connect-on-premises-sap-to-azure/port-select-logic-app.png" border="false" :::
96+
97+
20. Create a partner profile for your Azure Logic App in your SAP system by entering `WE20` from the SAP system's search box, which will bring up the `Partner profiles` screen.
98+
21. Expand the `Partner Profiles` folder and select the `Partner Type LS` (Logical System) folder.
99+
21. Select on the `S4HCLNT100` partner profile.
100+
23. Select on the `Create Outbound Parameter` button below the `Outbound` table.
101+
102+
:::image type="content" source="media/howto-connect-on-premises-sap-to-azure/outbound.png" alt-text="Screenshot that shows creation of an outbound parameter." lightbox="media/howto-connect-on-premises-sap-to-azure/outbound.png" border="false":::
103+
104+
24. In the `Partner Profiles: Outbound Parameters` dialog, enter `INTERNAL_ORDER` for `Message Type`. In the `Outbound Options` tab, enter `LOGICAPP` for `Receiver port`. Select the `Pass IDoc Immediately` radio button. For `Basic type` enter `INTERNAL_ORDER01`. Select the `Save` button.
105+
106+
:::image type="content" source="media/howto-connect-on-premises-sap-to-azure/outbound-parameters.png" alt-text="Screenshot that shows outbound parameters." lightbox="media/howto-connect-on-premises-sap-to-azure/outbound-parameters.png" border="false" :::
107+
108+
### Testing your SAP to Azure Logic App Workflow
109+
110+
To try out your SAP to Azure Logic App workflow, follow these steps:
111+
112+
1. In the main app, search for `WE19`. This should bring up the `Test Tool for IDoc Processing` screen.
113+
2. Select `Using message type` and enter `INTERNAL_ORDER`
114+
3. Select `Create` at the top left corner of the screen.
115+
4. Select the `EDICC` field.
116+
5. A `Edit Control Record Fields` screen should open up.
117+
6. In the `Receiver` section: `PORT` enter `LOGICAPP`, `Partner No.` enter `S4HCLNT100`, `Part. Type` enter `LS`
118+
7. In the `Sender` section: `PORT` enter `SAPS4H`, `Partner No.` enter `S4HCLNT100`, `Part. Type` enter `LS`
119+
8. Select the green check at the bottom of the window.
120+
121+
:::image type="content" source="media/howto-connect-on-premises-sap-to-azure/test-tool-idoc-processing.png" alt-text="Screenshot that shows the test tool for IDoc processing." lightbox="media/howto-connect-on-premises-sap-to-azure/test-tool-idoc-processing.png" border="false" :::
122+
123+
9. Select `Standard Outbound Processing` tab at the top of the screen.
124+
10. In the `Outbound Processing of IDoc` dialog, select the green check button to start the IDoc message processing.
125+
11. Open the Storage browser of your Azure Storage Account, select Files shares and check that a new `IDoc.xml` file was created in the `sap` folder.
126+
127+
> [!NOTE]
128+
> To check for IDoc message processing errors, entering `WE09` from the SAP system's search box, select a time range and select the `execute` button. This brings up the `IDoc Search for Business Content` screen and you can select each IDoc for processing errors in the table displayed.
129+
130+
### Microsoft on-premises Data Gateway
131+
132+
Microsoft provides an on-premises data gateway for sending data **to** on-premises SAP systems from Azure Logic Apps.
133+
134+
> [!NOTE]
135+
> To receive data **from** on-premises SAP systems to Azure Logic Apps in the cloud, the SAP connector and on-premises data gateway are **not** required.
136+
137+
To install the on-premises data gateway, complete the following steps:
138+
139+
1. Download and install the on-premises data gateway from [here](https://aka.ms/on-premises-data-gateway-installer). Pay special attention to the [prerequisites](/azure/logic-apps/logic-apps-gateway-install#prerequisites)! For example, if your Azure account has access to more than one Azure subscription, you need to use a different Azure account to install the gateway and to create the accompanying on-premises data gateway Azure resource. If so, create a new user in your Azure Active Directory.
140+
1. If not already installed, download and install the Visual Studio 2010 (Visual C++ 10.0) redistributable files from [here](https://download.microsoft.com/download/1/6/5/165255E7-1014-4D0A-B094-B6A430A6BFFC/vcredist_x64.exe).
141+
1. Download and install the SAP Connector for Microsoft .NET 3.0 for Windows x64 from [here](https://support.sap.com/en/product/connectors/msnet.html?anchorId=section_512604546). SAP download access for the SAP portal is required. Contact SAP support if you don't have this.
142+
1. Copy the four libraries libicudecnumber.dll, rscp4n.dll, sapnco.dll, and sapnco_utils.dll from the SAP Connector's installation location (by default this is `C:\Program Files\SAP\SAP_DotNetConnector3_Net40_x64`) to the installation location of the data gateway (by default this is `C:\Program Files\On-premises data gateway`).
143+
1. Restart the data gateway through the `On-premises data gateway` configuration tool that came with the on-premises data gateway installer package installed earlier.
144+
1. Create the on-premises data gateway Azure resource in the same Azure region as selected during the data gateway installation in the previous step and select the name of your data gateway under `Installation Name`.
145+
146+
You can access more details about the configuration steps [here](/azure/logic-apps/logic-apps-using-sap-connector?tabs=consumption).
147+
148+
> [!NOTE]
149+
> If you run into errors with the Data Gateway or the SAP Connector, you can enable debug tracing by following [these steps](/archive/blogs/david_burgs_blog/enable-sap-nco-library-loggingtracing-for-azure-on-premises-data-gateway-and-the-sap-connector).
59.5 KB
Loading
59 KB
Loading
252 KB
Loading
115 KB
Loading
275 KB
Loading
268 KB
Loading
105 KB
Loading

0 commit comments

Comments
 (0)