VDA(Verband der Automobilindustrie,德国汽车工业联合会)报文标准是专为汽车行业制定的电子数据交换(EDI)标准,用于支持供应链管理中的数据传输。它是由德国汽车工业联合会开发和维护的,广泛应用于德国及欧洲的汽车制造商和供应商之间的信息交换。
VDA报文标准的规则
VDA报文标准下的EDI报文具有以下特点:
1.每一行的长度必须是128位。
2.每个字段长度都有明确的要求。数字类型:如果长度不足以填充要求的长度,会右对齐左补0来填充;字符串类型:如果长度不足以填充要求的长度,会左对齐右补空格来填充。
3.对于数字类型来说,有些需要根据 VDA 报文规范要求,进行小数点后两位或三位的保留。例如 VDA 4905 中的 51306 – 上次接收数量,就需要保留三位小数。那么保留三位小数,在 VDA 4905 报文中的实现,是在原数据的基础上,乘以 1000 来体现的,后三位表示小数位。
VDA 标准下的EDI报文解析
对报文结构有了基本的了解之后,我们再来看下如何从报文中获取数据。以下是一段示例的 VDA 4905 物料需求计划报文,每一行开头的3位数字,用来区分各个层级,代表特定的业务含义。如 511 层级主要传输报文头部信息,515层级作为中间层,用于传递有关累计交付数量的信息。
5110234890 0000000012412110000241201
51201123000000001241211000005186241210ITEMNO CGF-56026482A013B STL00S
51301121113432701 121113000000346000000001942724010200000000024000102 24020002 000000 222222
51401333333000000000444444123456789555555 999999
5150112010113021300000000001202011303150000000000 120101
517011234567891 1234567891 1234567
5180107-08140295/04 23-09140029
5190100000010000001000000100000000000000000000100000010000001
VDA 4905 (物料需求计划 Delivery Note)报文中主要包含 511、512、513、514、519 等层级,并且这些层级出现的先后顺序都是有严格规定的。
报文行解析
以 512 层级为例:
1.51201表示的是标识类型(Record Type),长度是3位,固定值为512;
2.51202表示的是512版本号(Version Number),长度是2位,这里提供的版本号是01;
3.51203表示的是客户工厂代码(Plant-customer),长度是3位,这里提供的测试数据是123;
4.51204表示的是新的交货计划编号(Delivery Schedule Number New),长度是9位,这里提供的测试数据是000000001;
5.51205表示的是新的交货计划日期(Delivery Schedule Date New),长度是6位,日期格式是yyMMdd,这里提供的测试数据是200210;
6.51206表示的是旧的交货计划编号(Delivery Schedule Number Old),长度是9位,这里提供的测试数据是000000000;
7.51207表示的旧的交货计划日期(Delivery Schedule Date Old),长度是6位,日期格式是yyMMdd,这里提供的测试数据是200120;
8.51208表示的是买方物料编号(Article Number Customer),长度是22位,这里提供的测试数据是TEST00001;
9.51209表示的是供应商物料编号(Article Number Supplier),长度是22位。这个字段不是必填字段,如果没有,使用22位空格来填充;
10.51210表示的是订单号(Purchase Order Number),长度是12位,这里提供的测试数据是123456;
11.51211表示的是卸货点(Unloading Point),长度是5位,这里提供的测试数据是123;
12.51212表示的是参考编号(Sign of the Customer),长度是4位。这个字段不是必填字段,如果没有,使用4位空格来填充;
13.51213表示的是物料单位(Quantity Unit of Measure (UoM)),长度是2位,这里提供的测试数据是ST;
14.51214表示的是时间间隔(Delivery – Interval),长度是1位。这个字段有相应的代码对应,L表示按具体日期发货,T表示按天发货,W表示按每周发货,M表示按每月发货。这里提供的测试数据是L;
15.51215表示的是生产版本(Production Release),长度是1位,固定位0;
16.51216表示的是物料版本(Material Release),长度是1位,固定位0;
17.51217表示的是(Using Code),长度是1位,固定为S;
18.51218表示的是应用代码(Application code),长度是7位,使用7位空格来填充;
19.51219表示的是仓库(Store),长度是7位,这里提供的测试数据是123;
20.51220长度是5位,使用空格来填充。
报文头部数据解析
1.51101 表示的是标识类型(Record Type),长度是 3 位,固定值为 511;
2.51102 表示的是 511 版本号(Version Number),长度是 2 位,这里提供的版本号是 02;
3.51103 表示的是发送方编号(Customer Number),长度是 9 位。如果数据不足以填充 9 位,不足位数,左对齐右补空格来填充,这里提供的测试数据是34890;
4.51104 表示的是供应商编号(Supplier Number),长度是 9 位。同样也是左对齐右补空格来填充,这里提供的测试数据是 000000001;
5.51105 表示的是旧的传输编号(Transmission Number Old),长度是 5 位,这里提供的测试数据是 24121;
6.51106 表示的是新的传输编号(Transmission Number New),长度是 5 位,这里提供的测试数据是 10000;
7.51107 表示的是传输日期(Transmission Date),长度是 6 位,日期格式是 yyMMdd,这里提供的测试数据是 241201;
8.51108 表示的也是一种日期(Date – receipt number reset),实际业务中没有什么含义,使用6个空格来填充;
9.51109 长度是83位,使用空格来填充。
了解了VDA标准下的EDI报文的基本结构,接下来可以在示例工作流中查看知行之桥EDI系统对于此格式的转换效果。
知行之桥EDI系统VDA端口
知行之桥EDI系统中的 VDA 端口,能够实现VDA标准下的EDI报文的解析与生成。实现EDI报文与XML之间的格式转换。
用户需要在VDA端口的设置以及高级设置选项卡的交换头配置中填写上文提到的头部信息。
按照上文EDI示例报文中包含的头部信息在VDA端口中进行配置之后,即可在输入选项卡下上传示例报文,在输出选项卡下即可查看转换结果。
导航到 输入 选项卡下,点击 更多 -> 创建 测试文件,即可创建符合VDA国际报文标准的EDI报文示例,默认开启了自动发送,因此导航到输出选项卡下即可查看转换后的XML。
输入选项卡下,上传一个示例 VDA 4905 报文:
输出选项卡下,转换为 XML格式的 物料需求计划文件:
VDA 开源示例
针对汽车行业常用的两种业务单据:VDA 4905以及 VDA 4913,根据以往的项目经验,我们特别整理出两种不同传输方向的EDI开源工作流。
供应商角色:接收VDA 4905,发VDA 4913
扩展阅读:VDA 4905 / 4913 & JSON方案
采购方角色:发VDA 4905,接收VDA 4913
扩展阅读:采购方 VDA 4905 / 4913 & SQL Server方案
如果您希望了解有关EDI对接的相关信息,欢迎交流。
阅读原文:VDA 学习手册