你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
将本地 SAP 系统连接到 Azure
许多制造商使用本地 SAP 企业资源规划 (ERP) 系统。 通常,制造商将 SAP 系统连接到工业 IoT 解决方案,并使用连接的系统来检索制造流程、客户订单和库存状态的数据。 本文介绍如何连接这些基于 SAP 的 ERP 系统。
此解决方案使用了 IEC 62541。开放平台通信 (OPC) 统一体系结构 (UA)。
下图高度概括了此解决方案:
若要详细了解解决方案的组成,请参阅 Azure 工业 IoT 参考体系结构教程。
先决条件
若要完成本文中所述的 SAP 连接,需要在 Azure 订阅中部署的 Azure 工业 IoT 解决方案,如 Azure 工业 IoT 参考体系结构中所述。
将参考解决方案连接到本地 SAP 系统
Azure 逻辑应用服务处理与本地 SAP 系统的连接。 Azure 逻辑应用是一项无代码 Azure 服务,用于编排可触发操作的工作流。
注意
如果要在连接真正的 SAP 系统之前尝试 SAP 连接,可以在 Azure 订阅中部署和使用 SAP S/4 HANA 完全激活的设备。
配置 Azure 逻辑应用
Azure 逻辑应用工作流将数据从本地 SAP 系统移动到 Azure 逻辑应用。 此工作流还会存储 SAP 系统发送到 Azure 存储帐户的数据。 若要创建新的 Azure 逻辑应用工作流,请执行以下步骤:
在 Azure 门户中,新建一个 Azure 存储帐户。 记下帐户的名称,稍后将在配置工作流时使用它。
在存储帐户中,选择“存储浏览器”,然后选择“文件共享”>“添加文件共享”。 输入“sap”作为名称,然后选择“创建”。
在参考解决方案部署所在的同一区域中部署 Azure 逻辑应用实例。 选择基于使用量的托管选项。
导航到“逻辑应用设计器”,选择“添加触发器”,然后选择“收到 HTTP 请求时”触发器模板。
若要添加新步骤,请依次选择“+ > 添加操作”、“Azure 文件存储”和“创建文件”。 输入连接的名称、之前创建的存储帐户的名称和存储帐户密钥。
在下一页上,输入“sap”作为“文件夹路径”,输入“IDoc.xml”作为“文件名”,从动态内容中选择“正文”作为“文件内容”。
保存工作流。
选择“运行”并等待运行完成。 验证工作流的两个组件上都有绿色复选标记。 如果看到任何红色感叹号,请选择该组件以获取有关该错误的更多信息。
从工作流中的 HTTP 触发器复制 HTTP URL。 在下一步中配置 SAP 系统时,需要用到它。
在 Azure 数据资源管理器中创建表
若要存储 SAP 系统中的数据,请在 Azure 数据资源管理器数据库中创建一个表。 要创建表,请按照以下步骤操作:
在 Azure 门户中,导航到 Azure 数据资源管理器数据库。 可以使用“本体”数据库,该数据库是 Azure 工业 IoT 参考解决方案的一部分。
运行以下 Azure 数据资源管理器查询:
.create table SAP (name:string, label:string)
此查询将创建一个名为“SAP”的表,其中包含两列:“名称”列和“标签”列。
配置本地 SAP 系统
若要配置本地 SAP 系统以将数据发送到逻辑应用工作流,请按照以下步骤操作:
登录到 SAP Windows 虚拟机。
在虚拟机桌面上,选择“SAP 登录”。
选择“登录”并使用用户名和密码登录:
在搜索框中输入“SM59”。 此时将显示“RFC 连接配置”屏幕:
在应用程序菜单中选择“编辑”>“创建”。
在“目标”字段中输入“LOGICAPP”。
在“连接类型”下拉列表中,选择“与外部服务器的 HTTP 连接”。 若要保存更改,请选中绿色复选标记:
在“说明 1”中输入“LOGICAPP”。
选择“技术设置”选项卡,然后在“主机”字段中输入逻辑应用工作流中 HTTP GET URL 的第一部分。 例如:
https://example-18.westeurope.logic.azure.com
。 输入“41”作为“端口”。 在“路径前缀”中输入从“/workflows/...”开始的 HTTP GET URL 的其余部分:选择“登录和安全性”选项卡。
向下滚动到“安全选项”,将“SSL”设置为“主动”。
选择“保存”。
在搜索框中,输入“WE21”。 此时将显示“IDoc 处理中的端口”屏幕。
选择“XML HTTP”文件夹,然后选择“创建”。
在“端口”字段中,输入“LOGICAPP”。
在“RFC 目标”中,选择“LOGICAPP”。
若要保存更改,请选中绿色复选标记:
在搜索框中,输入“WE20”。 此时将显示“合作伙伴配置文件”屏幕。
展开“合作伙伴配置文件”文件夹,然后选择“合作伙伴类型 LS”文件夹。
在“合作伙伴编号”字段中,选择“S4HCLNT100”合作伙伴配置文件。
选择“创建出站参数”按钮:
在“合作伙伴配置文件: 出站参数”对话框中,输入“INTERNAL_ORDER”作为“消息类型”。 在“出站选项”选项卡的“接收方端口”字段中输入“LOGICAPP”。 选择“立即传递 IDoc”单选按钮。 对于“基本类型”,请输入“INTERNAL_ORDER01”。 选择“保存”按钮:
测试 SAP 到 Azure 逻辑应用的工作流
若要测试 SAP 到 Azure 逻辑应用的工作流,请按照以下步骤操作:
在搜索框中,输入“WE19”。 此时将显示“IDoc 处理的测试工具”屏幕。
选择“使用消息类型”并输入“INTERNAL_ORDER”。
选择创建。
选择“EDICC”字段以打开“编辑控件记录字段”屏幕。
在“接收方”部分中,输入“LOGICAPP”作为“端口”,输入“S4HCLNT100”作为“合作伙伴编号”,并输入“LS”作为“合作伙伴类型”。
在“发送方”部分中,输入“SAPS4H”作为“端口”,输入“S4HCLNT100”作为“合作伙伴编号”,并输入“LS”作为“合作伙伴类型”。
若要保存更改,请选中绿色复选标记:
选择屏幕顶部的“标准出站处理”选项卡。
在“IDoc 出站处理”对话框中,选择绿色复选按钮以启动 IDoc 消息处理。
在 Azure 存储帐户中打开存储浏览器,选择“文件共享”并检查“sap”文件夹中是否有新的“IDoc.xml”文件。
注意
若要检查 IDoc 消息处理错误,请在 SAP 应用程序搜索框中输入“WE09”,选择时间范围,然后选择“执行”按钮。 此时会打开“按业务内容搜索 IDoc”屏幕,可以选择每个 IDoc 来处理显示的表中的错误。
Microsoft 本地数据网关
为了将数据从 Azure 逻辑应用发送到本地 SAP 系统,Microsoft 提供了一个本地数据网关。
注意
SAP 连接器和本地数据网关不需要将数据从本地 SAP 系统接收到云中的 Azure 逻辑应用。
若要安装本地数据网关,请执行以下操作:
按照为 Azure 逻辑应用安装本地数据网关的步骤操作。
按照用于 Microsoft .NET 的 SAP 连接器中的步骤安装适用于 Windows x64 的 Microsoft .NET 3.0 SAP 连接器。 需要对 SAP 门户的 SAP 下载访问权限。 如果没有此权限,请联系 SAP 支持。
将四个库 libicudecnumber.dll、rscp4n.dll、sapnco.dll 和 sapnco_utils.dll 从 SAP 连接器安装位置(通常为 C:\Program Files\SAP\SAP_DotNetConnector3_Net40_x64)复制到数据网关的安装位置(通常为 C:\Program Files\On-premises data gateway)。
通过之前安装的本地数据网关安装程序包附带的“本地数据网关”配置工具重新启动数据网关。
在上一步的数据网关安装过程中选择的同一 Azure 区域中创建本地数据网关 Azure 资源。 在“安装名称”下选择数据网关的名称。
若要了解详细信息,请参阅从 Azure 逻辑应用中的工作流连接到 SAP。
注意
如果数据网关或 SAP 连接器遇到错误,则启用调试跟踪。