前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何在知行之桥EDI系统中修改ICN?

如何在知行之桥EDI系统中修改ICN?

原创
作者头像
知行软件EDI
发布2023-05-12 12:05:06
2550
发布2023-05-12 12:05:06
举报
文章被收录于专栏:EDI技术知识EDI技术知识
EDI电子数据交换中的ICN是什么?

在EDI术语中,ICN# 的全称为Interchange Control Number,是文件的发送方分配的唯一标识符,可以识别每一个文件。

我们常见的符合X12和EDIFACT报文标准的文件中,ICN#分别指的是ISA13和UNB06,如下示例:

X12标准:

1

ISA*00*          *00*          *ZZ*               *ZZ*               *230511*1225*U*00401*000000004*0*T*:~

ISA13表示ISA段中第13个和第14个之间的数据,该文件的ICN#为000000004。

EDIFACT标准:

1

UNB+UNOB:3+ + +230511:1405+000000004++++++'

UNB05表示的是UNB段中第5个+和第六个+之间的数据,该文件的ICN#为000000004。

修改ICN的常见场景

交易伙伴要求不同的报文/工厂等的头部信息不一样,所有报文的Interchange control number都不能重复或者升级后需要interchange control number与升级前保持一致,该如何解决呢?

要想解决Interchange control number不能重复或者是需要实现修改前后保持一致的问题,可以对Interchange control number进行自定义的修改。在知行之桥EDI系统中,可以控制不同端口的interchange control number的起始值。

由于interchange control number是一个长度为9位的数字,每次生成一个interchange信息时,知行之桥的每个 EDI 端口会各自按顺序自动生成一个数字。在知行之桥EDI系统中,当你新建一个X12或者EDIFACT端口,interchange control number默认的起始值都是000000001。如果需要控制该数字的起始值,可以按以下操作:

知行之桥EDI系统2023.net版本修改方法:

打开软件安装目录下的db文件夹,可以看到如下几个数据库:

edi
edi

打开名为app_storage.db的数据库后,找到要修改的EDI端口,示例如下:

1)EDIFACT端口(端口ID为EDIFACT_ICNTEST):修改UNBInterchangeControlNumber对应的值:

edi
edi

如上图所示,UNBInterchangeControlNumber的值为4,我们可以回到知行之桥EDI系统中,点击查看端口ID为EDIFACT_ICNTEST的EDIFACT端口中最近发出的文件:

edi
edi

以ORDRSP.edi为例,点击这个文件即可预览:

edi
edi

可以看到上图中,interchange control number为000000004,与我们在数据库中查询的结果一致。

接下来我们将interchange control number的值修改为100000000,如下图所示:

edi
edi

此时在EDIFACT端口上传四个测试文件,按照我们设定的参数,这几个文件的interchange control number应该是从100000000开始自增的。我们在EDIFACT的输入选项卡下预览这几个文件:

edi
edi

可以看到修改参数之后,发送新的文件时,interchange control number是由我们新设定的100000000开始自增。我们可以根据时间的文件量,将这个参数设置为任意一个9位数。

2)X12端口:修改ISAControlNumber和GSControlNumber对应的值

edi
edi

如上图所示,ISAControlNumber以及GSControlNumber的值为4,我们可以回到知行之桥EDI系统中,点击查看端口ID为X12_ICNTEST的EDIFACT端口中最近发出的文件:

edi
edi

以856.x12为例,点击这个文件即可预览:

edi
edi

可以看到上图中,interchange control number为000000004,与我们在数据库中查询的结果一致。

接下来我们将数据库文件中的ISAControlNumber以及GSControlNumber的值修改为200000000,如下图所示:

edi
edi

此时在EDIFACT端口上传四个测试文件,按照我们设定的参数,这几个文件的interchange control number应该是从200000000开始自增的。我们在EDIFACT的输入选项卡下预览这几个文件:

edi
edi

可以看到修改参数之后,发送新的文件时,interchange control number是由我们新设定的200000000开始自增。我们可以根据时间的文件量,将这个参数设置为任意一个9位数。

需要注意的是,在修改interchange control number的时候,需要评估各个端口的文件量,在修改时可以把参数适当的设置大一些,以免出现由于文件量过大而导致再次出现重复ICN的情况。

JAVA版修改方法:

打开安装路径下的db文件夹,打开 derby数据库 app_storage。(可下载到本地后打开)

打开数据库后找到要修改的EDI端口

1)EDIFACT端口:修改UNBInterchangeControlNumber对应的值 2)X12端口:修改ISAControlNumber和GSControlNumber对应的值

修改完成后,打开知行之桥,重新在EDIFACT/X12端口上传XML 生成EDI 后可以看到Interchange control number已从设定的值开始自增了。

了解更多 EDI 信息,请参阅: EDI 是什么?

阅读原文

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • EDI电子数据交换中的ICN是什么?
  • 修改ICN的常见场景
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档