TENNECO EDI 项目——X12与XML之间的转换
近期为了帮助广大用户更好地使用 EDI 系统,我们根据以往的项目实施经验,将成熟的 EDI 项目进行开源。用户安装好知行之桥EDI系统之后,只需要下载我们整理好的示例代码,并放置在知行之桥指定的工作区中,即可开始使用。
今天的文章主要为大家介绍 TENNECO EDI 项目,了解如何获取开源的项目代码以及如何部署到知行之桥 EDI 系统中。
TENNECO EDI 到 XML 示例流具有预配置的端口,用于依据 TENNECO 提供的 EDI 规范,转换以下交易集:
1. 830 物料需求预测,TENNECO 发送给供应商
2. 856 提前发货通知,供应商发送给 TENNECO
以下端口构成了工作流的核心元素:
1. AS2 端口:用于通过 Internet 网络进行安全传输的功能,确认 TENNECO 的 AS2 连接信息,如 AS2 ID,URL 及公钥证书,以便进行正确配置。
2. X12 端口:从 XML 生成 EDI 文件或将 EDI 文件转换为 XML 以供进一步处理。
3. XMLMap 端口:提供可视化的方式将 XML 数据从一种结构转换为另一种结构,建立从源文件到模板文件的映射关系。
准备下载和运行
TENNECO EDI 到 XML
使用 XML 生成一系列 EDI 文档与 TENNECO 通信。
下载工作流 下载示例文件
进入测试流程
以解析方向(即接收 TENNECO 发来的 ORDERS 订单,并将其转换为 JSON 格式)为例,测试流程如下:
X12 转为 XML
导航到端口 ID 为 TENNECO_X12ToXML 的 X12 端口中,在 输入 选项卡下上传此前下载的示例文件。

上传的X12文件如下:
ISA*00* *00* *ZZ*SenderID *ZZ*ReceiverID *160224*1228*U*00400*000010139*0*T*<~
GS*PS*SenderID*ReceiverID*20160224*1228*10143*X*004010~
ST*830*0001~
BFR*05**28*DL*A*20160224*20160224*20160224***5500037012~
PER*PL*DAWN GUINTHER*TE*999-999-9999~
N1*ST**1*TTTTTTTTT~
N1*SF**1*VVVVVVVVV~
LIN**BP*253620~
UIT*EA~
PID*F*Part number desciption~
FST*0*C*D*20160223*20160228~
SHP*01*1820*050*20150127~
SHP*02*12740*050*20150127~
CTT*1*0~
SE*12*0001~
GE*5*10143~
IEA*1*000010139~
查看 XML 结果
X12 端口发出后,导航到端口 ID 为 TENNECO_XMLMap_830 的 XMLMap 端口中,在 输出 选项卡下可以看到刚刚接收的 830 文件的状态为 Success ,这时就可以下载 XML 文件 查看订单数据了。
<?xml version="1.0" encoding="UTF-8"?>
<EDI_830 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><Version>1.1.0</Version><Mode>T</Mode><TsetPurposeCode>05</TsetPurposeCode><ReferenceNumber>28</ReferenceNumber><ScheduleType>DL</ScheduleType><ScheduleQuantity>A</ScheduleQuantity><ForecastHorizonStartDate>20160224</ForecastHorizonStartDate><ForecastHorizonEndDate>20160224</ForecastHorizonEndDate><ForecastHorizonGeneratedDate>20160224</ForecastHorizonGeneratedDate><PONumber>5500037012</PONumber><Contact><ContactFunctionCode>PL</ContactFunctionCode><Name>DAWN GUINTHER</Name><TelephoneNumber>999-999-9999</TelephoneNumber></Contact><ShipFromInfo><Name></Name><DUNSNumber>VVVVVVVVV</DUNSNumber></ShipFromInfo><ShipToInfo><Name></Name><DUNSNumber>TTTTTTTTT</DUNSNumber></ShipToInfo><Item><BuyerPartNumber>253620</BuyerPartNumber><UnitDetail><UOM>EA</UOM></UnitDetail><ProductDescription><DescriptionType>F</DescriptionType><ProductCharacteristicCode>Part number desciption</ProductCharacteristicCode></ProductDescription><ForecastSchedule><ForecastQuantity>0</ForecastQuantity><ForecastQualifier>C</ForecastQualifier><ForecastTimingQualifier>D</ForecastTimingQualifier><StartDate>20160223</StartDate><EndDate>20160228</EndDate></ForecastSchedule><ShipppedOrReceivedInformation><DiscreteQuantity>1820</DiscreteQuantity><ReceivedDate>20150127</ReceivedDate></ShipppedOrReceivedInformation><ShipppedOrReceivedInformation><CumulativeQuantity>12740</CumulativeQuantity><ReceivedDate>20150127</ReceivedDate></ShipppedOrReceivedInformation></Item>
</EDI_830>
获取更多 EDI 转换信息,欢迎阅读原文。
相关文章:
TENNECO EDI 项目——X12与XML之间的转换
近期为了帮助广大用户更好地使用 EDI 系统,我们根据以往的项目实施经验,将成熟的 EDI 项目进行开源。用户安装好知行之桥EDI系统之后,只需要下载我们整理好的示例代码,并放置在知行之桥指定的工作区中,即可开始使用。 …...
C++项目:在线五子棋对战(网页版)
项目介绍 本项⽬主要实现⼀个⽹⻚版的五⼦棋对战游戏,其主要⽀持以下核⼼功能: • 用户管理:实现用户注册,用户登录、获取用户信息、用户天梯分数记录、用户比赛场次记录等。 • 匹配对战:实现两个玩家在网页端根据天梯分数匹配游戏对⼿&…...
flutter遇到的小问题记录
flutter-getx的Get.bottomSheet组件改变高度 Get.bottomSheet( isScrollControlled: true,) isScrollControlled: true 就是控制高度 (无语) 截取视频第一针 返回的是本地url 或者Uint8List的数据 String? videoStr await VideoThumbnail.thumbnailFile(video: videoPath,…...
Golang bitset 基本使用
安装: go get github.com/bits-and-blooms/bitset下面代码把fmtx换成fmt就行 //------------基本操作------------//构建一个64bit长度的bitsetb : bitset.New(64)//放入一个数b.Set(10)fmtx.Println("add-10:", b.DumpAsBits()) // 0000000…...
sql 分组讨论,二级分组(非2个字段分组),使用 窗口函数和普通分组实现
1. 二级分组需求 先按照一个字段分组,在按照 第二个字段分组。之后,如果 这个 二级分组中的数据,是 > 1条的。就筛选出来。 比如: 先按照 站点分组,再按照 设备分组, 即:如果站点上配置了…...
业务中如何过滤敏感词
在我们访问网站的时候,如果发现我们发布的内容有色情暴力的东西等等,会屏蔽掉,这种行为就是过滤敏感词。 从技术层面实现起来,其实比较简单,因为我们输入的内容就是一个大型的字符串,我们要调用某些api来判…...
用服务器搭建网站需要做什么
网站建设是一个广义的术语,涵盖了许多不同的技能和学科中所使用的生产和维护的网站。不同领域的网页设计,网页图形设计,界面设计,创作,其中包括标准化的代码和专有软件,用户体验设计和搜索引擎优化。许多人…...
clickhouse 删除操作
OLAP 数据库设计的宗旨在于分析适合一次插入多次查询的业务场景,市面上成熟的 AP 数据库在更新和删除操作上支持的均不是很好,当然 clickhouse 也不例外。但是不友好不代表不支持,本文主要介绍在 clickhouse 中如何实现数据的删除,…...
C 语言中,「.」与「->」有什么区别?
使用“.”的话,只需要声明一个结构体。格式是结构体类型名结构体名。然后通过结构体名加上“.”再加上域名,就可以引用结构体的域了。因为结构体的内存是自动分配的,就像使用int a;一样。而使用“->”的话,需要声明一个结构体的…...
github pages 用法详解 发布自己的网站
github pages 基础用法 URL 规则 假设你的 github 帐号为 mygithub,需要发布的仓库名为 myrepo,那么 pages 的 URL 为: https://mygithub.github.io/myrepo 添加内容 用任意编辑器写好(或者生成)标准的网页内容&a…...
坤简炫酷的JQuery轮播图插件
介绍: 找到了一个炫酷的JQuery轮播图插件,只需要配置三四行代码就可以实现很多二维三维炫酷的切换效果。 视频效果及教程: https://www.bilibili.com/video/BV1Fu4y1d776/ 代码: https://github.com/w-x-x-w/AwesomeWeb 使用…...
C# 条件编译
C# 条件编译 C# 条件编译:根据不同的需求,编译生成不同的程序版本,条件编译是一种编译预处理命令,它是在编译代码之前对源代码进行处理。它可以根据条件,决定是否编译某段代码 条件编译的三种形式: 第一种…...
IntelliJ IDEA如何重新弹出git身份验证窗口
1、点击File菜单—>点击Settings—>点击Appearance & Behavior—>点击System Settings—>点击Passwords—>选中Do not save, forget passwords after restart—>点击Apply—>点击OK,如下所示: 2、重启IntelliJ IDEA—>通过g…...
【雕爷学编程】Arduino动手做(200)---WS2812B幻彩LED灯带4
37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的&#x…...
【雕爷学编程】Arduino动手做(201)---DFRobot 行空板03
37款传感器与模块的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的&#x…...
Spring中Bean的“一生”(生命周期)
文章目录 一、图解二、文字解析总结 一、图解 >注:处于同一行的执行顺序是从左往右 二、文字解析 SpringBean的生命周期总体分为四个阶段:实例化>属性注入>初始化>销毁 Step1 实例化Bean:根据配置文件中Bean的定义,…...
安卓:LitePal操作数据库
目录 一、LitePal介绍 常用方法: 1、插入数据: 2、更新数据: 3、删除数据: 4、查询数据: 二、LitePal的基本用法: 1、集成LitePal: 2、创建LitePal配置文件: 3、创建模型类…...
【JavaEE初阶】了解JVM
文章目录 一. JVM内存区域划分二. JVM类加载机制2.1 类加载整体流程2.2 类加载的时机2.3 双亲委派模型(经典) 三. JVM垃圾回收机制(GC)3.1 GC实际工作过程3.1.1 找到垃圾/判定垃圾1. 引用计数(不是java的做法,Python/PHP)2. 可达性分析(Java的做法) 3.1.2 清理垃圾1. 标记清除2…...
基于vue2.0和elementUi的vue农历日期组件vue-jlunar-datepicker(插件)
vue-jlunar-datepicker(插件) vue实现农历日历插件——vue-jlunar-datepicker插件 这个插件本身是基于vue2.0和elementUi框架来实现的。 安装 vue-jlunar-datepicker 插件 npm install vue-jlunar-datepicker --save // 如果安装过程中,出现…...
Python爬虫——selenium_元素定位
元素定位:自动化要做的就是模拟鼠标和键盘来操作这些元素,点击,输入等等。操作这些元素前首先要找到它们,WebDriver提供很多定位元素的方法 from selenium import webdriver# 创建浏览器对象 path files/chromedriver.exe brows…...
算法可视化神器!用动画让冒泡排序、二分查找一目了然
还在为理解冒泡排序的每一趟交换,或是二分查找的边界条件而绞尽脑汁吗?静态的代码和文字描述有时确实不够直观。 想要真正让算法“动”起来,一目了然?强烈推荐你试试**图码这个专注于算法可视化**的神器。 它提供了超过60种数据…...
FreakStudio锰
环境安装 pip install keystone-engine capstone unicorn 这3个工具用法极其简单,下面通过示例来演示其用法。 Keystone 示例 from keystone import * CODE b"INC ECX; ADD EDX, ECX" try:ks Ks(KS_ARCH_X86, KS_MODE_64)encoding, count ks.asm(CODE)…...
2026年主流会议录音转写工具大横评全场景准确率实测对比,谁才是职场人首选的效率王者?
作为折腾过几十款效率工具的老油条,最近为了搞定自媒体团队的访谈整理、视频转字幕需求,我把2026年市面上主流的5款录音转写工具全测了一遍,踩了一堆坑之后可以明明白白说:听脑AI是同类工具中综合体验最好的,不管是准确…...
GPS卫星轨道计算的数学原理与实践
1. GPS卫星轨道计算的基础概念 当你打开手机地图查看自己位置时,背后其实隐藏着一套精密的太空几何运算。GPS定位的核心在于准确计算每颗卫星在太空中的实时位置,这个过程就像在玩一个立体的"星际捉迷藏"游戏。 想象一下,24颗卫星以…...
RK3568 I2C设备驱动开发实战:以AP3216C传感器为例
1. RK3568 I2C控制器基础认知 RK3568作为一款高性能嵌入式处理器,内置了6个独立的I2C控制器接口(I2C0-I2C5)。在实际项目中,我经常遇到开发者对这些控制器的特性理解不够深入的问题。这里我结合实测经验,详细解析几个关…...
企业知识竞赛系统选型指南:核心功能、采购清单与实施建议
企业知识竞赛系统选型指南:赋能培训与文化建设引言:为何需要专业的竞赛系统?在数字化学习时代,知识竞赛已成为企业激发员工学习热情、检验培训成果、营造竞争性学习氛围的有效手段。然而,依靠传统线下或简单的在线工具…...
:RAG 入门-向量嵌入与检索召
这,是一个采用C精灵库编写的程序,它画了一幅漂亮的图形: 复制代码 #include "sprites.h" //包含C精灵库 Sprite turtle; //建立角色叫turtle void draw(int d){for(int i0;i<5;i)turtle.fd(d).left(72); } int main(){ …...
工业智能体:解锁制造业数字化转型密码,小白也能轻松掌握的AI应用(收藏版)
文章探讨了中国制造业在数字化转型中面临的挑战与机遇,强调工业智能体作为融合感知、认知、决策、执行、协同与进化能力的自主软件实体,是解决数据孤岛、AI场景适配性不足、系统集成壁垒及价值闭环难题的关键。文章详细阐述了工业智能体的定义、核心能力…...
Audio Slicer音频分割工具:用智能静音检测告别手动剪辑烦恼
Audio Slicer音频分割工具:用智能静音检测告别手动剪辑烦恼 【免费下载链接】audio-slicer A simple GUI application that slices audio with silence detection 项目地址: https://gitcode.com/gh_mirrors/aud/audio-slicer 你是否曾为处理长音频文件而烦恼…...
最近搞了个串口转以太网的小工具,支持双向数据转发还带图形界面,顺手把源码整理出来了。这玩意儿最实用的地方在于能让老设备通过网口联网,咱们直接上干货聊聊实现细节
串口转以太网通信源代码C语言C编写支持多路转换双向通信支持UDP和TCP客户端 提供,带注释,带设计文档 使用说明介绍 1.功能介绍: 完成了多路网口和串口数据转换的功能。 可实现串口接收到的数据,通过网口发送出去;而网口…...
