SAP Business ByDesign没有"EDI"连接,因此您需要开发自己的软件,将您的EDI合作伙伴与SAP ByD连接起来。
此软件需要完成以下几项工作。但是,首先,我们需要接收和发送EDI消息。今天,我将尝试分享一种获得它的方法
在这里,您可以阅读如何使用企业集成包的Azure逻辑应用程序的EDIFACT消息解码器验证EDI并生成确认
前提条件
Microsoft Azure帐户与你的Azure帐户关联的集成帐户。以下是创建集成帐户的步骤:https://github.com/MicrosoftDocs/azure-docs/blob/master/articles/logic-apps/logic-apps-enterprise-integration-create-integration-account.md
https://github.com/MicrosoftDocs/azure-docs/blob/master/articles/logic-apps/logic-apps-limits-and-config.md
创建过程完成后,您将在Azure中收到一条消息门户:
集成帐户准备就绪:
在Azure中创建逻辑应用程序
我们需要一个与集成帐户链接的逻辑应用程序来管理EDI消息。
您的集成帐户包含您的B2B工件,如贸易伙伴、协议、地图和架构。
请记住:您的逻辑应用程序包含管理消息的代码需要访问您的集成帐户。它们必须存在于同一个Azure区域。
一旦你的逻辑应用程序被创建,你需要链接你的自动化帐户。点击逻辑应用的名称进入"设置"。
选择您的集成帐户并保存您的工作流设置:
请,有关如何管理集成帐户链接的详细信息,请参见:
https://github.com/MicrosoftDocs/azure-docs/blob/master/articles/logic-apps/logic-apps-enterprise-integration-create-integration-account.md
"现在,您的逻辑应用程序可以使用集成帐户中的任何和所有工件以及B2B连接器,如XML验证和平面文件编码或解码"
创建贸易伙伴
"合作伙伴是参与企业对企业(B2B)交易并在彼此之间交换消息的实体。在这些事务中创建代表您和另一个组织的合作伙伴之前,必须共享标识和验证彼此发送的消息的信息。在您讨论这些细节并准备开始业务关系后,您可以在您的集成帐户中创建合作伙伴来代表您俩。"
https://github.com/MicrosoftDocs/azure-docs/blob/master/articles/logic-apps/logic-apps-enterprise-integration-partners.md
要定义合作伙伴之间交换的消息的详细信息,你在这些伙伴之间建立协议。但是,在创建协议之前,必须至少向集成帐户添加两个合作伙伴。您的组织必须作为东道主合作伙伴成为协议的一部分。另一个合作伙伴或来宾合作伙伴表示与您的组织交换消息的组织。来宾合作伙伴可以是另一家公司,甚至是您自己组织中的一个部门。
添加这些合作伙伴后,您可以创建一个协议。
接收和发送设置从托管合作伙伴的角度出发。例如,大数据解决方案,协议中的接收设置确定托管合作伙伴如何接收来宾合作伙伴发送的消息。同样,物联网系统,协议上的发送设置指示托管合作伙伴如何向来宾合作伙伴发送消息。
转到您的集成帐户:
并单击合作伙伴按钮:
我们可以在Azure合作伙伴定义中选择不同类型的限定符。我们将使用DUNS(数据通用编号系统),即Dun&Bradstreet分配的合作伙伴标识码:
在这里您可以找到关于EDIFACT规范的信息,该值:
https://www.stylusstudio.com/edifact/40000/0007.htm
为每个公司创建一个合作伙伴,销售公司和购买公司
创建协议
您可以在这里找到创建协议的信息:
https://github.com/MicrosoftDocs/azure-docs/blob/master/articles/logic-apps/logic-apps-enterprise-integration-agreements.md
"本文介绍如何创建一个AS2、EDIFACT或X12协议,您可以在使用企业集成包和Azure逻辑应用程序为B2B场景构建企业集成解决方案。创建协议后,可以使用AS2、EDIFACT、,或X12连接器,用于交换B2B消息。"
"贸易伙伴协议通过定义交换B2B消息时使用的特定行业标准协议,帮助组织和企业无缝地相互通信"
转到您的集成帐户并选择"协议":
添加新协议协议:
我们选择"EDIFACT"协议类型,自助建站服务,但您可以使用AS2或X12。
在本例中,云服务器平台,主合作伙伴是购买公司,来宾合作伙伴是销售公司。
按"确定"将创建您的新协议:
使用EDIFACT消息
https://docs.microsoft.com/en-us/azure/logic-apps/logic-apps-enterprise-integration-edifact-encode
按照你的逻辑应用程序:
编码EDIFACT消息连接器没有触发器,因此您必须添加一个触发器来启动逻辑应用程序,如请求触发器。在逻辑应用程序设计器中,添加触发器,然后向逻辑应用程序添加操作。
选择"收到HTTP请求时",然后按"+新建步骤":
搜索"EDIFACT"操作:
我们选择"按协议名称解码EDIFACT消息"操作:
命名您的连接并选择您的集成帐户以启用"创建"按钮。按按钮创建操作:
显示一个新窗口:
您需要EDIFACT平面文件消息来解码
在本文中,您可以在演示程序中找到一些附带的EDIFACT示例消息:
https://www.codeproject.com/Articles/11278/EDIFACT-to-XML-to-Anything-You-Want
在这里您可以看到EDIFACT示例消息:
在此消息,标识类型14,这些是接收方和发送方的代码:
接收方(类型14):7080000426829
发送方(类型14):708000000012
这些值必须与您在集成帐户中创建的值匹配,以标识合作伙伴。如果您有不同的值,您可以编辑您的协议并更改值:
EDIFACT解码的某些错误
EDIFACT解码的某些错误。您可以在您的逻辑应用程序"运行历史记录"输出中找到错误消息。
在这里您可以找到有关EDIFACT错误的一些有价值的信息:
"在交换、组、,或消息级别"
https://blog.sandro-pereira.com/2012/07/10/error-when-trying-to-validate-edi-message-against-the-schema-29-invalid-count-specified-at-interchange-group-or-message-level/
https://docs.microsoft.com/en-us/azure/logic-apps/logic-apps-enterprise-integration-edifact\u inputfile\u unh2.5更新-模式
下一步是什么?
正如我们在一开始所说的,这个软件需要执行更多的任务(正如John Meadows在这个回答中所说)