当前位置: 首页 > news >正文

Brose EDI 项目报文解读:VDA 4987 Global DESADV

此前的文章:《Brose EDI 项目报文解读:VDA 4984 Global DELFOR》中介绍了DELFOR交付预测报文,本文主要为大家介绍Brose EDI项目中常用的VDA 4987 Global DESADV发货通知报文。旨在带大家了解如何阅读Brose提供的EDI规范文件,如何在规范文件中获取ASN提前发货通知所需要的关键信息。

DESADV报文即ASN,指定了在约定条件下发货或准备发货的货物的详细信息,通常需要根据收到的ORDERS采购订单或者DELFOR交付预测进行回复。

遵循 EDIFACT 标准,确保 DESADV 报文在全球范围内的通用性和互操作性,使得不同国家、不同行业的企业之间能够以统一的格式和规则进行数据交换。Brose最新提供的 DESADV EDI规范中使用的版本号为UN D.20B。

DESADV报文的报文结构

brose-edi-desadv1.png

UNB是报文交换头,通常包含发送方和接收方的标识信息,报文日期、测试标识符等,UNH是消息头,主要包含报文类型标识、版本号等,根据Brose的EDI DESADV规范中展示的报文结构,Data数据主要从BGM字段开始,至最后一个DTM结束。

点击在Brose官网获取VDA 4987 Global DESADV相关规范资料

结合Brose提供的DESADV报文规范来解读DESADV报文
DESADV EDI结构解读

首先我们要知道,在Brose的DESADV报文中,从UNB到UNZ,每一行都是一个数据段,而每一行的前三个字母,如UNB、BGM、DTM则是数据段的名称。

UNH就是消息头,BGM用于提供消息的总体说明,一般主要包含消息类型、消息编号等信息,DTM则用来说明消息中涉及的各种日期和时间信息。

1.No列是一个序号列
2.Tag列对应DESADV报文的段名
3.St列则用于标记每个segment数据段的状态

  • M=Mandatory 表示强制的,也就是必须出现在报文中的
  • C=Conditional 表示有条件的,也就是可以有也可以没有
  • R=Required 也是必须出现在报文中的

除此之外常用的状态还有O=Optional 可选的;N=Not used 不使用的等等。

4.MaxOcc列则表示每个数据段可出现的最大次数
5.Level列则表示每个数据段的层级
6.Content列则是每个数据段对应的含义

DESADV头部信息

brose-edi-desadv2.png

以UNH为例,状态为M,表示强制字段,在一个消息里只能出现一次,表示消息头。注意一个EDI报文中是可以有多条消息的。Brose DESADV发货通知规范中提供的示例报文中包含一个UNH字段,意味着这个报文中有一条DESADV消息。BGM也是一个M强制字段,在一个消息里只能出现一次,表示消息信息的开始。

Segment Group 段组信息

brose-edi-desadv3.png

上图中的SG12,9999表示这个段组可以出现的次数是9999次,在出现的次数大于99的情况下,我们会认为该段组是不能穷举的。后面的描述表示此段组的含义是包装信息。

brose-edi-desadv4.png

从CPS一直到结束的这些段信息全部被包含到了SG11这个包装信息段组里,CPS是一个包装头,用于表示包装结构信息,GIR字段存放批次号,最大出现次数为1,即在一组包装信息中仅包含一组GIR信息。

SG19则包含了物料信息和发货数量信息,LIN字段用于存放用户零部件编号,PIA字段用来存放一些额外的产品编号信息,QTY存放的是发货数量信息以及每包装单位包含的数量信息。

这些段组信息是虚拟的,仅用于帮助我们理解报文结构,而并不会体现在DESADV发货通知报文中。我们可以通过这些段组将一个DESADV消息分成几部分。

首先从BGM字段到第一个SG11段组之前是Header主信息部分,然后从第一个SG11段组到SG19段组之前是Pack包装信息,从SG19段组开始到报文结束都是Item物料信息。这样DESADV信息就被分为了三部分。Header主信息和包装信息是一对多的关系,包装信息和物料信息也是一对多的关系。了解清楚报文结构会帮助我们进行数据解析。

DESADV EDI字段解读

EDI报文中的数据段是由数据元和报文分隔符组成的,接下来了解每个数据段分别代表哪些含义。

brose-edi-desadv5.png

第一个是我们的主信息BGM段,包含两个数据元,一个是C002/_1001 Document name code,消息名称代码,是固定值351,固定值的含义可以从规范中拿到,这里“351”代表这个消息是一个Despatch advice发货通知,这个数据元的最大长度是3,an表示这个数据元的值可以是字母和数字,R表示它是一个必须要有的数据元。然后是C106/_1004 Document identifier消息编号,这个一般要保证唯一性,一年内不重复,最大长度是35位。每个数据段的下方还会有一个示例报文段供读者参考。

brose-edi-desadv6.png

接下来是DTM时间信息段,包含3个数据源,首先是2005 Date Qualifier,取固定值137,表示此DTM段存放的是DESADV消息的创建日期。2380 Date则用于存放具体的日期值,2379用于表示日期格式,取值为102时需要按照20250410这样的格式填写,取值为203时,则需要按照202504101537这样的格式填写。CCYY表示年,MM表示月,DD表示日,HH和MM表示时和分。

brose-edi-desadv7.png

最后是LIN物料信息段,可以看到1082的St Format为N,表示在本报文中不使用。C212/_7140中存放具体的买方物料编号值。C212/_7143物料号类型编码,取固定值IN,表示_7140中存放的是买方物料编号。

DESADV报文中的其他字段也可以按照上述的方式进行解读,您可以尝试用本文中提到的方法进一步解读Brose的DESADV规范文档。

如果您希望了解有关EDI对接的相关信息,欢迎交流。

阅读原文

相关文章:

  • 网站优化建设扬州sem推广计划
  • 乐达网站建设公司外链大全
  • 车辆管理网站开发如何制作链接推广
  • 做seo要明白网站内世界足球排名前十名
  • 顺义电大网上作业在那个网站做在百度如何发布作品
  • 企业网站建立流程的第一步是哈尔滨优化网站方法
  • 带label的3D饼图(threejs)
  • IAP Firmware Upload Tools.exe IAP 网络固件升级教程
  • (五)深入了解AVFoundation-播放:多音轨、字幕、倍速播放与横竖屏切换
  • Spring 的 IoC 和 DI 详解:从零开始理解与实践
  • mysql的基础用法索引分表
  • Mysql 中表的相关操作(1)
  • NVIDIA RTX™ GPU 在 Houdini 中的渲染表现实测
  • pg_basebackup 备份和还原
  • 微信小程序事件绑定基本语法
  • 折叠屏手机:技术进步了,柔性OLED面板测试技术需求跟上了吗?
  • 十三种物联网/通信模块综合对比——《数据手册--物联网/通信模块》
  • 基于FPGA实现BPSK 调制
  • std::allocator和 __pool_alloc
  • MySQL---Ubuntu环境安装
  • 开发一款区块链软件的周期解析
  • 【C语言】预处理(预编译)(C语言完结篇)
  • 工作搁置重启:引发的决策深思
  • CNVD-2025-06046:Google Chrome沙箱逃逸漏洞大揭秘与防护指南
  • 菊风RTC 2.0 开发者文档正式发布,解锁音视频新体验!
  • Java 解析日期格式各个字段含义温习