在选用OFTP协议通信时,有一些交易伙伴会要求设置VFN(Virtual File Name),也就是虚拟文件名来将文件名统一格式。那虚拟文件名和文件本身的名称有什么区别和联系呢,应该如何在知行之桥当中进行设置呢,我们一起来看看吧。
一、什么是虚拟文件名以及实例
虚拟文件名与真正的文件名不同,虚拟文件名是文件的一个属性,在设置虚拟文件名后,文件本身的名称不会改变,而文件多了该属性值。在与交易伙伴收发报文时,VFN的格式要按照交易伙伴的要求设置,一般来说,每个交易伙伴对VFN的格式要求都是固定统一的。
在以往的项目中,交易伙伴采用的VFN大多包含以下信息:工厂代码、供应商编号、报文类型等。VFN的设置可以便于交易伙伴通过虚拟文件名对文件进行快速的识别,在虚拟文件名中提取关键信息,从而直接对报文进行分流处理。
这里举几个项目实例:
在华晨宝马的项目中,采用的虚拟文件名格式为”T.BMW.工厂编号.报文格式.报文类型编号.报文类型代码”,其中T代表测试,BMW代表宝马;保时捷项目中是“供应商编号.工厂代码.报文类型代码”;戴姆勒项目中是“MB+工厂编号+报文类型代码;墨西哥大众项目中是“报文类型编码.供应商编码.墨西哥大众代码”。这些VFN中的每一项信息都有固定的位数,比如戴姆勒项目中,首先是固定字符“MB”,再来是三位数字的工厂编号,最后是四位业务类型代码。所以虚拟文件名的总长度也是固定的位数,设置时要严格按照要求,否则会导致报文从OFTP端口发送失败。
二、怎样在知行之桥进行设置
在知行之桥中,点击OFTP端口,进入高级设置页面,下拉,找到“虚拟文件名称映射”设置。鼠标光标放置在格子上,就会有提示设置方式的信息出现。
首先可以将以不同名称开头的文件名做映射设置VFN,比如文件名以INVOICE开头的文件代表是发票数据文件,可以将所有这样的文件经过映射改为想要的VFN,设置时就是这样的格式:INVOICE=MB000LAB2,表示通配符,这样发出的所有以INVOIC开头的文件,其虚拟文件名会被映射为MB000LAB2;也可直接映射所有文件,比如:*=MB000LAB2,这就对于发送的所有文件,其虚拟文件名都会被设置为MB000LAB2。
也可以通过支持的宏来进行更复杂的设置,比如,想要将文件本身的文件名也写进VFN中可以这样设置:*=MB000LAB2%Filename%,这样,VFN组成就是MB000LAB2+Filename。
这里举一个项目实例,在保时捷的项目中,VFN组成内容如下:
Incoming mesges
The filename format for messages that Porsche receives from suppliers is as follows:
YYYYY.XX.ZZZZZZZ with the exception of invoices which are always formatted as
YYYYY.ZU.V4906 or YYYYY.ZU.V4938
XX = plant code
ZU Zuffenhausen
LU Ludwigsburg
YYYYY = supplier number
ZZZZZZZ = transfer format
V4905 VDA 4905 delivery instruction
V4938 VDA 4938 invoices (Global Invoice)
其中supplier number和plant code是固定的,可直接写固定值,但报文类型代码是需要根据所发送的不同报文类型来定。在该项目中有V4938发票和V4987发货通知两种报文业务,我们可以先在工作流中编写脚本,将不同报文类型的代码编号放入至报文的message header中,这里设置其名称为messagetype,值分别是“V4938”和“V4987”。
在OFTP端口中设置时,可以写为“*=86922.ZU.%Header:messageType%”。
更多EDI信息,请参阅: EDI是什么?
标签:VFN,文件名,报文,OFTP,虚拟,设置 From: https://www.cnblogs.com/edi-ka/p/16918272.html