罗克韦尔Rockwell EDI 项目案例

news2025/3/14 11:37:55

项目挑战

企业A有两个工厂需要接受来自Rockwell的订单,出于成本考虑,两个工厂需要使用同一套EDI系统实现对接,因此在EDI系统中要区分发给不同工厂的订单数据。除此之外,此项目中涉及到了EDI系统与SAP系统的集成,SAP系统中的字段很多,实现EDI字段与SAP字段的一一对应对于EDI实施工程师的技术水平有着较高的要求。

罗克韦尔Rockwell EDI 项目需求

传输协议:AS2

Rockwell支持直连AS2,会提供给企业A一个Word版的配置文档。

报文标准:X12

需要传输的业务单据类型包括:

  • EDI 850 采购订单,Rockwell发送给企业A
  • EDI 855 采购订单确认,企业A发送给 Rockwell
  • EDI 856 发货通知,企业A发送给 Rockwell
  • 997 功能性确认,接收EDI 850之后,需要给Rockwell回复。

EDI解决方案

为了减少人工处理的工作量,企业A选择使用EDI与SAP集成的解决方案。其中EDI负责文件的传输而数据的产生以及查看需要在SAP系统中完成。

例如,当企业需要接收交易伙伴发来的采购订单时,EDI系统会将从Rockwell处收到的数据从 EDI 格式转换为SAP可识别的格式,然后数据会被同步到SAP系统中,企业可在SAP中查看订单数据。从 SAP 开具发票时,首先会将数据同步给EDI系统,EDI系统转换成标准EDI格式,发送给Rockwell。

如何实现与罗克韦尔Rockwell的EDI对接?

1.搭建AS2传输通道

搭建AS2传输通道,需要准备的信息包括:

  • AS2 ID(AS2身份标识符)
  • Private Certificate (私钥证书)
  • Certificate Password(私钥证书密码)
  • Public Certificate(与私钥证书成对的公钥证书)
  • Receiving URL (数据接收URL地址)

其中需要提供给罗克韦尔Rockwell的信息为:AS2 ID(您的AS2身份标识符),用于在AS2传输中标识您的身份,Public Certificate(与私钥证书成对的公钥证书)以及Receiving URL(您的数据接收URL地址)。在开始EDI项目前,供应商需要与罗克韦尔Rockwell交换上述AS2连接信息。在知行之桥EDI系统的 个人设置 选项卡下配置供应商自己的AS2连接信息:

Rockwell_EDI_case1.png

接下来需要在AS2端口的 设置 选项卡下配置Rockwell的AS2连接信息,如下所示:

Rockwell_EDI_case2.png

项目成果

根据上述EDI需求,在知行之桥EDI系统中搭建如下所示的工作流:

Rockwell_EDI_case3.png

接收方向的详细工作流如下:

Rockwell_EDI_case4.png

发送方向的详细工作流如下:

Rockwell_EDI_case5.png

用于测试流程中的AS2端口以及SAP端口

Rockwell_EDI_case6.png

测试流程

开始进行测试前,需要先完成EDI项目的实施,准备工作如下:

1.知行的EDI工程师根据Rockwell提供的EDI 规范整理EDI Mapping,即EDI字段表。
2.企业需要提供IDOC规范,并由SAP顾问整理IDOC业务字段
3.实现EDI字段与IDOC字段的对应
4.知行的EDI工程师根据整理好的EDI字段与IDOC字段对应表,进行EDI项目实施。

本地实施以及自测完成后,即可联系Rockwell进行测试。无论是连接测试还是生产测试,都可以通过邮件与Rockwell的EDI团队沟通测试中遇到的问题。

连接测试

需要区分生产和测试,连接测试部分主要验证企业A和Rockwell是否能够正常收发文件。需要注意的是,后续业务测试完成后,需要配置生产AS2,切换至生产模式。

业务测试

1.企业接收一条来自Rockwell的EDI 850

企业接收来自Rockwell的EDI 850,需要实现EDI到IDOC的格式转换,步骤如下:

测试 EDI 850的过程中,需要注意Rockwell发来的EDI 850中包含的信息较多,对企业而言并非所有的数据都需要解析进SAP系统中,因此可以与业务人员以及Rockwell沟通后,根据企业的实际需求对字段进行增加或者删减。

由于本次EDI项目中,企业有两个工厂需要接收来自Rockwell的 EDI 850采购订单,使用了同一套EDI规范,需要根据不同的接收方ID区分当前订单是给A工厂还是B工厂的。

2.企业根据收到的EDI 850,向Rockwell回复 997,EDI 855和EDI 856

此次对接Rockwell的EDI项目中,虽然有两个工厂需要接收EDI 850,但当前项目中,由于SAP系统尚未完善,因此只有一个工厂需要发送EDI 855 订单确认以及 EDI 856 发货通知。EDI 856中没有包装信息。

项目回顾

配置 EDI分隔符

Rockwell发来的EDI 850采购订单中EDI分隔符与常见的设置不同,以下是部分示例(非完整报文):

ISA¡00¡          ¡00¡          ¡14¡001237109AAAA  ¡12¡11111AAAS2HFT  ¡240304¡1411¡U¡00211¡000005123¡0¡T¡½\GS¡PO¡001234109TEST¡suppplierID¡20240304¡1459¡2902¡X¡004010\
BEG¡00¡SA¡12312312361¡¡20240304\
CUR¡BY¡USD\
PER¡BD¡shan xi xian\
FOB¡CC¡¡¡¡FCA¡OR\
ITD¡01¡3¡¡¡90¡¡90\
N9¡L1¡Message Text\
N1¡SO¡Rockwell Automation¡92¡5015\
N2¡TEST\
N3¡TESR\
N4¡TESTLOCATION¡SG¡111222¡SG\
PO1¡00010¡300¡EA¡143.21¡HP¡BP¡PN-111120¡EC¡06¡¡¡¡¡GE¡TOK-J DIO¡PW¡10001234500¡DR¡06¡¡¡¡¡KJ¡113\
SCH¡300¡EA¡¡¡002¡20240529\
CTT¡1\
SE¡30¡29020001\
GE¡1¡2902\
IEA¡1¡000005303\

在知行之桥EDI系统的X12端口的高级设置页面中可以配置自定义的EDI分隔符,包括数据元素分隔符、组件元素分隔符以及段终止符,如下所示:

Rockwell_EDI_case7.png

这里配置的内容需要与EDI报文保持一致。

通过EDI系统生成 EDI 855以及EDI 856 报文时,遇到这样的问题:数据元素分隔符设置为¡时,Rockwell方接收到的文件会自动加上一个其他字符,经沟通,需要将这里的数据元素分隔符设置为 ~ 或者 *。

因此在Rockwell XMLToEDI方向中,按照如下所示的内容配置 EDI 分隔符:

Rockwell_EDI_case8.png

如何区分需要接收EDI 850的两个工厂

要想区分这两个工厂,首先需要找到分别发给两个工厂的EDI报文有何区别,我们的EDI实施工程师与Rockwell沟通得知,Rockwell会在EDI 850报文的Receiver ID中进行区分,因此需要通过在Script端口中编写如下脚本来实现。

Rockwell_EDI_case9.png

<rsb:set attr="Indata.file" value="[Filepath]"/>
<rsb:set attr="Indata.encoding" value="ISO8859-1"/>
<rsb:call op="fileRead" in="Indata" out="Outdata">
	<rsb:set attr="t.data" value="[Outdata.file:data|replace('½','!')]"/>
    <rsb:set attr="output.header:ReceiverId" value="[Outdata.file:data|split('¡',9)|trim]"/>
</rsb:call>

<rsb:set attr="output.filename" value="[FileName]" />
<rsb:set attr="output.data" value="[t.data]" />
<rsb:push item="output" />

阅读原文:罗克韦尔Rockwell EDI 项目案例

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1850790.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ArmSoM-Sige7/5/1 和树莓派5规格比较

引言 在当今快速发展的嵌入式系统领域&#xff0c;选择一款性能强大、功能丰富的开发板对于项目的成功至关重要。本文将介绍并比较 Sige7、Sige5、Raspberry Pi 5 和 Sige1 这四款开发板的关键规格和特性&#xff0c;帮助开发者和爱好者选择最适合其需求的平台。 ArmSoM-Sige…

【鸿蒙踩坑记录】解决:list组件滑动至左边或右边,回弹效果过大问题

一、问题描述 开发过程中使用List组件&#xff0c;当内容超过一屏时可出现滚动效果&#xff0c;此时按住内容迅速滑动至左边&#xff0c;或者滑动到右边&#xff0c;回弹效果过大 期望&#xff1a;滑动时&#xff0c;不要有那么大的回弹效果 二、目前效果 三、解决方法 3.1…

怎么把pdf文件转cad图纸?方法分享!

怎么把pdf文件转cad图纸&#xff1f;在数字化时代&#xff0c;PDF和CAD作为两种常见的文件格式&#xff0c;各自在各自的领域发挥着重要作用。然而&#xff0c;当需要在两者之间进行转换时&#xff0c;许多人可能会感到困惑和无从下手。今天&#xff0c;我将为大家推荐三款强大…

Java-拼接字符串数组(String.join()方法)

问题引入 刷算法题lc2288的时候遇见的一个小细节&#xff0c;记录一下&#xff0c;有兴趣的朋友可以做一下&#xff0c;练习一下哈哈~ 此题需要使用大家都比较熟悉的split方法将句子按照空格拆分为字符串数组。 然后再在数组中对每一个字符串操作&#xff0c;操作完成后要求…

无需安装就能一键部署Stable Diffusion 3?

一键部署使用SD3&#xff1f;让你的创作更加便捷&#xff01; 前言 厚德云上架SD3! 距离Stable Diffusion 3的上线已经有一阵时间了。从上线至今SD3也是一直好评不断&#xff0c;各项性能的提升也让它荣获“最强开源新模型”的称号。成为了AI绘画设计师们新的香馍馍。 可对于SD…

JS小游戏-像素鸟#源码#Javascript

1、游戏图片 2、HTML部分 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>Document</title>&…

操作系统:高效、稳定的承上启下

标题&#xff1a;操作系统&#xff1a;高效、稳定的承上启下 水墨不写bug &#xff08;图片来源于网络&#xff09; 目录 一、初识操作系统 第一个操作系统&#xff1a;Uinx Uinx的商业化 Linux&#xff1a;横空出世 二、如何在Windows上使用Linux 正文开始&#xff1a;…

2023年JCR影响因子正式发布,点击查看能源与燃料领域期刊变化【持续更新02】

2024年6月20日&#xff0c;科睿唯安发布了2024年度《期刊引证报告》(Journal Citation Reports&#xff0c;JCR)&#xff0c;报告覆盖全面的高质量期刊资源&#xff0c;提供了丰富的数据、指标和分析。今年JCR的最大变化为&#xff1a;把属于不同数据库&#xff0c;但属于同一学…

移动端的HSR技术

overdraw问题&#xff1a; overdraw顾名思义就是过度绘制&#xff0c;就是在渲染过程中**绘制一帧FBO&#xff08;或者RenderTarget&#xff09;**超过一次相同像素的现象!这个是CG的问题&#xff01;特别在是用来大量的透明混合的情况下会产生的&#xff0c;当然客户端andrio…

【代码随想录】【算法训练营】【第45天】 [198]打家劫舍 [213]打家劫舍II [337]打家劫舍III

前言 思路及算法思维&#xff0c;指路 代码随想录。 题目来自 LeetCode。 day 45&#xff0c;周五&#xff0c;坚持不了一点~ 题目详情 [198] 打家劫舍 题目描述 198 打家劫舍 解题思路 前提&#xff1a; 思路&#xff1a; 重点&#xff1a; 代码实现 C语言 虚拟头…

1027. 方格取数

Powered by:NEFU AB-IN Link 文章目录 1027. 方格取数题意思路代码 1027. 方格取数 题意 某人从图中的左上角 A 出发&#xff0c;可以向下行走&#xff0c;也可以向右行走&#xff0c;直到到达右下角的 B 点。 在走过的路上&#xff0c;他可以取走方格中的数&#xff08;取…

MySQL数据库中的索引知识

MySQL数据库中索引的作用是用来加快数据的查询速度。 索引 index&#xff08;表的层面&#xff09; 在数据库中使用select来查询数据的时候会一条一条得去查询符合要求的数据&#xff0c;而索引就相当于在这张表中依据某一个字段的数值给这张表的数据创建了一个目录。目录帮…

NSIS 入门教程 (一)

介绍 大多数应用程序都附带一个安装程序&#xff0c;它将所需的文件复制到正确的文件夹中&#xff0c;创建注册表项&#xff0c;并提供卸载例程以&#xff08;希望&#xff09;从计算机中彻底删除应用程序. 有多种解决方案可以为自主开发的应用程序配备安装程序。除了Install …

服务器安装JDK,Maven等常用环境

生产环境部署服务器需要安装一些常用工具&#xff0c;下面我就把常用的jdk&#xff0c;maven&#xff0c;node&#xff0c;git的安装方法和步骤演示 一、安装JDK环境 执行如下命令&#xff0c;安装JDK,所有命令都是 复制&#xff0c;粘贴&#xff0c;回车 yum install -y jav…

Apple - Secure Coding Guide

本文翻译整理自&#xff1a;Secure Coding Guide https://developer.apple.com/library/archive/documentation/Security/Conceptual/SecureCodingGuide/Introduction.html#//apple_ref/doc/uid/TP40002477-SW1 文章目录 一、安全编码指南简介1、概览黑客和攻击者没有平台是免疫…

并行计算之SIMD与SPMD

SIMD (Single Instruction Multiple Data) SIMD&#xff0c;也就是单指令多数据计算&#xff0c;一条指令可以处理多个数据。通过向量寄存器存储多个数据元素&#xff0c;并使用单条指令同时对这些数据元素进行处理&#xff0c;从而提高了计算效率。 代码示例&#xff1a; fl…

【数据结构】顺序表实操——通讯录项目

Hi~&#xff01;这里是奋斗的小羊&#xff0c;很荣幸您能阅读我的文章&#xff0c;诚请评论指点&#xff0c;欢迎欢迎 ~~ &#x1f4a5;&#x1f4a5;个人主页&#xff1a;奋斗的小羊 &#x1f4a5;&#x1f4a5;所属专栏&#xff1a;C语言 &#x1f680;本系列文章为个人学习…

对比学习

对比学习基本概念 对比学习通过对比数据对的“相似”或“不同”以获取数据的高阶信息。 由同一张原始图片扩增而来的两张新的图片&#xff0c;叫做Positive Pairs。将这两张图片送入深度学习模型中&#xff0c;我们希望深度学习模型学习到这两个图像是相似的。 由不同原始图…

【尚庭公寓SpringBoot + Vue 项目实战】移动端找房功能(二十一)

【尚庭公寓SpringBoot Vue 项目实战】移动端找房功能&#xff08;二十一&#xff09; 文章目录 【尚庭公寓SpringBoot Vue 项目实战】移动端找房功能&#xff08;二十一&#xff09;1、业务介绍2、接口开发2.1、地区信息2.2、获取全部支付方式列表2.3、房间信息2.2.1. 根据条…

SpringCloud中Eureka和Nacos的区别和各自的优点

Eureka注册中心 Eureka作为一个注册中心&#xff0c;服务提供者把服务注册到注册中心&#xff0c;服务消费者去注册中心拉取信息&#xff0c; 然后通过负载均衡得到对应的服务器去访问。 服务提供者每隔30s向注册中心发送请求&#xff0c;报告自己的状态&#xff0c;当超过一定…