• OFTP虚拟文件名设置


    在选用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是什么?

    阅读原文

  • 相关阅读:
    JAVA反射
    Node.js-express框架-cookie设置参数详解和举例
    大数据必知必会之Kafka
    javaweb:springboot+vue实现在线点餐系统:ssm+mysql线上点餐
    selenium 定位不到元素的几种情况
    LeetCode 0667. 优美的排列 II - 思维 + 构造
    STM32中的printf重定向uart1串口输出
    vue项目npm install报错解决
    如何监控慢 SQL?
    JavaScript入门 Vuex/elementPlus UI组件库 Day08
  • 原文地址:https://blog.csdn.net/Cara_EDI_Consultant/article/details/128000204