核心概念:批次属性的定义、分类与存储结构
在WMS与EDI的交互中,批次属性是连接物理库存与电子数据交换的核心元数据。它决定了仓库能否精确追溯每一件货物的来源、生产周期与质量状态。本章将系统定义批次属性,梳理其分类体系,并解析其在WMS数据库中的存储结构。
1. 批次属性的定义
批次属性是指附着于同一生产或供应批次上的一组结构化特征值,用于唯一标识该批次在供应链全生命周期中的身份、来源与状态。在WMS中,批次属性通常以主批次号为索引,关联多个扩展字段。
核心作用:
- 追溯性:从成品追溯到原料供应商与生产日期。
- 质量控制:根据批次状态(待检、合格、冻结)控制出入库操作。
- 合规性:满足医药、食品、化工等行业的GxP与FIFO/FEFO要求。
- EDI校验:发货通知(ASN)中的批次信息必须与WMS批次属性精确匹配。
2. 批次属性的分类
根据生成来源与业务场景,批次属性可分为以下三类:
| 分类 | 定义 | 典型字段 | 生成时机 |
|---|---|---|---|
| 生产批次 | 由制造商在生产过程中赋予的唯一批次编号,通常按生产日期或班次生成。 | 生产批号、生产日期、有效期、生产线ID | 完工入库时 |
| 供应商批次 | 由上游供应商在发货时赋予的批次号,用于标识其内部生产或采购单元。 | 供应商批号、供应商代码、收货日期 | 收货质检时 |
| 内部批次 | 由WMS或ERP系统在入库时自动生成的内部管理批次,用于库存周转与追溯。 | 内部批次号、库位、入库单号、状态 | 上架确认时 |
实践要点:在EDI发货通知中,供应商批次是校验的核心对象。WMS必须将供应商批次映射到内部批次,才能完成库存扣减与追溯链闭合。
3. 批次属性的存储结构
在WMS数据库中,批次属性通常采用主表+扩展表或宽表两种存储模式。以下为典型的关系型存储结构:
3.1 主批次表(lot_master)
CREATE TABLE lot_master (
lot_id INT PRIMARY KEY AUTO_INCREMENT,
lot_number VARCHAR(50) NOT NULL UNIQUE, -- 内部批次号
sku_id INT NOT NULL, -- 物料ID
supplier_lot VARCHAR(50), -- 供应商批次号
prod_lot VARCHAR(50), -- 生产批次号
prod_date DATE, -- 生产日期
exp_date DATE, -- 有效期
supplier_code VARCHAR(20), -- 供应商代码
lot_status TINYINT DEFAULT 0, -- 0=待检,1=合格,2=冻结
create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);
3.2 批次扩展属性表(lot_attribute)
CREATE TABLE lot_attribute (
attr_id INT PRIMARY KEY AUTO_INCREMENT,
lot_id INT NOT NULL, -- 关联主批次ID
attr_name VARCHAR(50) NOT NULL, -- 属性名称
attr_value VARCHAR(200), -- 属性值
FOREIGN KEY (lot_id) REFERENCES lot_master(lot_id)
);
数据质量风险:扩展属性表虽然灵活,但容易产生属性值格式不一致(如日期格式混用、单位缺失)和空值泛滥问题。在EDI校验前,必须对扩展属性进行标准化清洗。
4. 批次属性关系图
下图展示了三类批次属性在WMS中的关联关系及其与EDI发货通知的映射路径:
5. 批次属性与EDI校验的映射关系
在EDI 856(发货通知)报文中,批次属性通常出现在HL循环的LIN+MAN段组中。以下为典型映射表:
| EDI字段 | WMS字段 | 校验规则 |
|---|---|---|
| MAN02(供应商批次号) | lot_master.supplier_lot | 必须存在且与WMS记录一致 |
| LIN03(物料编码) | lot_master.sku_id | 必须与WMS库存物料匹配 |
| DTM02(生产日期) | lot_master.prod_date | 日期格式校验,不能晚于当前日期 |
| DTM03(有效期) | lot_master.exp_date | 必须晚于生产日期,且未过期 |
| N1(供应商代码) | lot_master.supplier_code | 必须存在于供应商主数据中 |
校验优先级:供应商批次号(supplier_lot)是EDI与WMS匹配的首要键值。若匹配失败,则触发批次异常流程,需要人工介入或系统自动创建新批次。
6. 批次状态流转图
批次属性中的状态字段(lot_status)控制着库存的可操作范围。以下为典型的状态流转路径:
状态校验要点:EDI发货通知中的批次,其WMS状态必须为合格(1)。若为待检或冻结状态,系统应拒绝发货并生成异常告警。