资源描述
ERP项目
仓库管理
业务规则
版本 <1.0>
文档编号:ERP-REQ-BR-WHM
版本历史
日期
版本
变更ID
描述
作者
2009-02-04
<1.0>
初始创建
李娜
2010-01-23
<1.0>
MM.WHM.U.100123.001
规则BR-031增加传入的存储单位号的存储性判断和处理规则
李娜
2010-01-23
<1.0>
MM.WHM.U.100123.002
规则BR-031对于策略=空的情况,修改传出参数:存储单位号的取值规则
李娜
2010-01-23
<1.0>
MM.WHM.U.100123.003
规则BR-031对于策略=F的情况,在传出参数时增加对按存储单位管理标识的判断
李娜
2010-01-23
<1.0>
MM.WHM.U.100123.004
规则BR-033增加传入参数:存储单位号
李娜
2010-01-23
<1.0>
MM.WHM.U.100123.005
规则BR-033修改对存储单位号的赋值规则
李娜
2010-03-03
<1.0>
MM.WHM.U.100303.001
规则BR-030、BR-031:修改对传入存储单位号的获取规则
李娜
2010-03-03
<1.0>
MM.WHM.U.100303.002
规则BR-035:修改对“存储单位头记录”类的数据保存规则
李娜
2010-03-05
<1.0>
MM.WHM.U.100305.001
规则BR-031:
1增加根据存储单位号找不到仓位时的仓位获取规则;
2.修改传出参数的取值规则
李娜
2010-03-05
<1.0>
MM.WHM.U.100305.002
规则BR-033:修改存储单位编号分配类型为3和4时的存储单位号获取规则
李娜
2010-04-26
<1.0>
MM.WHM.U.100426.001
规则BR-031:修改存储单位号的检查条件
李娜
2010-05-04
<1.0>
MM.WHM.U.100504.002
增加规则BR-030的序列号相关规则,包括传入、传出参数及获取、检查规则
李娜
2010-05-04
<1.0>
MM.WHM.U.100512.001
增加规则BR-031的序列号相关规则,包括传入、传出参数及获取、检查规则
李娜
2010-05-12
<1.0>
MM.WHM.N.100512.001
规则BR-035增加序列号保存规则
李娜
2010-05-12
<1.0>
MM.WHM.N.100512.002
增加规则BR-040:查询仓库中指定物料的序列号
李娜
2010-05-25
<1.0>
MM.WHM.N.100525.001
增加规则BR-041:仓库数据校验规则,为库存模块提供校验仓库数据的规则
李娜
2010-05-25
<1.0>
MM.WHM.N.100525.002
增加规则BR-042:获取存储单位的装载数据
李娜
2010-06-07
<1.0>
MM.WHM.N.100607.002
增加规则BR-043:附加数据维护窗口显示及校验规则
李娜
2010-06-21
<1.0>
Error! Reference source not found.
规则BR-035:在保存“物料的仓位数据”和“转储单行项”类时修改属性值:证书号的保存规则;
李娜
2010-08-26
<1.0>
MM.WHM.U.100826.003
规则BR-030、BR-031修改找不到仓位时的错误消息
李娜
2010-10-12
<1.0>
MM.WHM.N.101012.001
增加仓库库存数据显示规则BR-044
李娜
2010-11-08
<1.0>
MM.WHM.U.101108.001
规则BR-030:出库策略F(先进先出)修改对负数库存的处理规则
李娜
2010-11-17
<1.0>
MM.WHM.U.101117.001
规则BR-035:更新“仓位”类时,如果动态仓位为空仓位,删除该仓位数据
李娜
2010-11-22
<1.0>
MM.WHM.U.101122.001
规则BR-044:将界面WHM105-11的查询条件放到WHM105-12上,并增加查询按钮,用户可以重新维护查询条件并查询,查询结果显示到界面WHM105-12和WHM105-13上
李娜
2011-04-19
<1.0>
MM.WHM.U.110419.001
修改规则BR-030:按先进先出规则出库时,改为按“上次入库日期”和“上次入库时间”来确定份数据
李娜
2011-06-03
<1.0>
MM.WHM.U.110603.001
修改规则BR-044:1.界面WHM105-12上增加查询条件 “仓库管理的库存类型”;2. 隐藏头数据中的仓库管理的库存类型,显示到行项中
李娜
2011-06-27
<1.0>
MM.WHM.U.110627.001
修改规则BR-027:增加传入参数以及对该参数的处理规则
李娜
2011-06-29
<1.0>
MM.WHM.N.110629.001
新增规则BR-045:物料定址定位仓位获取规则
李娜
2011-10-10
<1.0>
MM.WHM.N.111010.001
新增规则BR-046:创建转储单规则
李娜
2011-10-10
<1.0>
MM.WHM.N.111010.002
新增规则BR-047:整车库内换车规则
李娜
2011-11-10
<1.0>
MM.WHM.U.111110.001
规则BR-040新增传出参数存储区
李娜
2012-02-14
<1.0>
MM.WHM.U.120214.001
规则BR-030增加序列号传递的分组条件
李娜
2012-02-17
<1.0>
MM.WHM.U.120217.001
规则BR-041修改参考移动类型的获取规则
李娜
目 录
ERP项目 1
BR-001 检查仓库的可用性 7
BR-002 检查存储类型的可用性 7
BR-003 检查门的可用性 7
BR-004 检查物料集结区的可用性 7
BR-005 检查存储区的可用性 7
BR-006 检查拣配区的可用性 7
BR-007 检查仓位类型的可用性 7
BR-008检查存储类型标识的可用性 8
BR-009检查存储区标识的可用性 8
BR-010检查存储单位类型的可用性 8
BR-011检查冻结原因的可用性 8
BR-012检查堆垛存储标识的可用性 8
BR-013检查仓库移动类型分类的可用性 8
BR-014检查参考类型的可用性 8
BR-015检查仓位的可用性 9
BR-016检查库存管理移动类型的可用性 9
BR-017检查仓库管理移动类型的可用性 9
BR-018检查仓库管理特殊移动标识的可用性 9
BR-019检查仓位分区的可用性 9
BR-020获取缺省计量单位 9
BR-021物料重量及重量单位的获取规则 10
BR-022两步拣配标识设置规则 10
BR-023检查组的可用性 11
BR-024存储类型的搜索规则 11
BR-025允许存储类型增加已有库存的判断规则 12
BR-026判断物料的可用性 12
BR-027仓库可用能力检查规则 12
BR-028检查批次的可用性 14
BR-029根据移动类型获取仓位数据 14
BR-030发出仓位搜索规则 15
BR-030-1传入仓位为空时的处理规则 18
BR-030-2传入仓位不为空时的处理规则 22
BR-031接收仓位搜索规则 25
BR-031-1传入仓位为空时的处理规则 29
BR-031-2传入仓位不为空时的处理规则 42
BR-032份号生成规则 45
BR-033存储单位号生成规则 46
BR-034返还仓位搜索规则 46
BR-035转储单保存规则 47
BR-036堆垛存储仓位的能力检查规则 64
BR-037数量差指示符的可用性 64
BR-038替代计量单位的可用性 65
BR-039存储单位的可用性 65
BR-038替代计量单位的可用性 65
BR-039查询物料的存储仓位 65
BR-040查询仓库中指定物料的序列号 65
BR-041仓库数据校验 66
BR-042获取存储单位的装载数据 69
BR-043附加数据维护窗口显示及校验规则 70
1.1E-1 仓库不存在 72
1.2E-2 仓库的存储类型不存在 72
1.3E-3 仓库的门不存在 72
1.4E-4 仓库的物料集结区不存在 72
1.5E-5 仓库的存储区不存在 72
1.6E-6 仓库的拣配区不存在 73
1.7E-7 仓库的仓位类型不存在 73
1.8E-8 仓库的存储类型标识不存在 73
1.9E-9 仓库的存储区标识不存在 73
1.10E-10 仓库的存储单位类型不存在 73
1.11E-11 仓库的冻结原因不存在 73
1.12E-12 仓库的堆垛存储标识不存在 74
1.13E-13 仓库的移动类型分类不存在 74
1.14E-14 仓库的参考类型不存在 74
1.15E-15 仓库的仓位不存在 74
1.16E-16 库存管理移动类型不存在 74
1.17E-17 仓库的移动类型不存在 74
1.18E-18 仓库的特殊移动标识不存在 74
1.19E-19 仓库的仓位分区不存在 75
1.20E-20 仓库的组不存在 75
1.21E-21 物料不存在或未激活 75
1.22E-22 没有给仓库的存储单位类型分配仓位类型 75
1.23E-23 批次不存在 75
1.24E-24 不允许移动状态为“限制使用库存”的批次 75
1.25E-25 没有找到接收仓位 76
1.26E-26 找不到存储区(物料、存储类型) 76
1.27E-27 存储类型没有维护堆垛存储控制参数 76
1.28E-28没有为存储类型定义存储单位类型 76
1.29E-29 存储类型不允许存储单位类型 76
1.30E-30 存储单位类型不允许仓位类型 76
1.31E-31 存储类型不允许混储 76
1.32E-32 存储类型只允许一个存储单位号 77
1.33E-33 仓位被冻结 77
1.34E-34 请维护存储单位类型 77
1.35E-35 没有定义仓位的仓位分区 77
1.36E-36 没有为仓位分区定义仓位位置 77
1.37E-37 没有为存储类型定义合计信息层次 77
1.38E-38 没有找到发出仓位 77
1.39E-39 存储单位被冻结或不存在 77
1.40E-40 仓位不能使用 77
1.41E-41 仓库的存储类型不允许增加物料的库存 78
1.42E-42 没有为物料维护存储单位类型 78
1.43E-43 存储类型不允许存储未装满的存储单位 78
1.44E-44 没有为仓库的存储类型定义堆垛存储结构 78
1.45E-45 仓位没有足够空间 78
1.46E-46 仓位的可用库存为零 78
1.47E-47 存储类型不允许负库存 79
1.48E-48 仓位的可用库存小于等于零 79
1.49E-49 存储单位类型不适合当前仓位 79
1.50E-50 仓库的数量差指示符不存在 79
1.51E-51 物料主数据不允许计量单位 79
1.52E-52 存储单位不存在 79
1.53E-53 份不存在 79
1.54E-54 份与另一份转储单数据不一致 79
1.55E-55 存储单位与另一份转储单数据不一致 80
1.56E-56 存储单位被冻结 80
1.57E-57 份被冻结 80
1.58E-58 存储类型被冻结 80
1.59E-59 段号不存在,请检查相关设置 80
1.60E-60 不允许给存储单位分配外部编号 80
1.61E-61 内部编号不能用于外部分配 80
1.62E-62 不允许使用旧的存储单位号 80
1.63E-63 存储单位号属于另一个编号范围 81
1.64E-64 能力检查时出错 81
1.65E-65 超出仓位的可用能力 81
1.66E-66 存储类型只允许存储同种物料 81
1.67E-67 需要定址定位管理的物料存储在多个仓位中 81
1.68E-68 序列号不在仓库中 81
1.69E-69 找到的序列号信息与输入不匹配 81
1.70E-70 没有可以使用的序列号 81
1.71E-71物料在仓库中不存在 82
1.72E-72 查询仓库管理移动类型时出现错误 82
1.73E-73 仓库没有定义移动类型 82
1.74E-74 找不到相应仓位 82
1.75E-75 存储类型不适合作接口(激活了存储单位管理) 82
1.76E-76 存储类型不适合作接口(激活了序列号管理) 82
1.77E-77 仓位被冻结 82
1.78E-78仓位因盘点而冻结 83
1.79E-79数量必须大于零 83
1.80E-80存储单位数必须是正整数 83
1.81E-81分解数量大于需求数量 83
1.82E-82需求数量没有完全分解 83
1.83E-83必须同时维护存储单位号、装载数量和存储单位类型 83
1.84E-84 83
1.85E-85 83
BR-001 检查仓库的可用性
传入参数:仓库号
系统检查传入的仓库号是否在“仓库”类中存在,如果不存在,执行例外E-1。
BR-002 检查存储类型的可用性
传入参数:仓库号、存储类型
系统检查传入的仓库号+存储类型是否在“存储类型”类中存在,如果不存在,执行例外E-2。
BR-003 检查门的可用性
传入参数:仓库号、门
系统检查传入的仓库号+门是否在“门”类中存在,如果不存在,执行例外E-3。
BR-004 检查物料集结区的可用性
传入参数:仓库号、物料集结区
系统检查传入的仓库号+物料集结区是否在“物料集结区”类中存在,如果不存在,执行例外E-4。
BR-005 检查存储区的可用性
传入参数:仓库号、存储类型、存储区
系统检查传入的仓库号+存储类型+存储区是否在“存储区”类中存在,如果不存在,执行例外E-5。
BR-006 检查拣配区的可用性
传入参数:仓库号、存储类型、拣配区
系统检查传入的仓库号+存储类型+拣配区是否在“拣配区”类中存在,如果不存在,执行例外E-6。
BR-007 检查仓位类型的可用性
传入参数:仓库号、仓位类型
系统检查传入的仓库号+仓位类型是否在“仓位类型”类中存在,如果不存在,执行例外E-7。
BR-008检查存储类型标识的可用性
传入参数:仓库号、存储类型标识
系统检查传入的仓库号+存储类型标识是否在“存储类型标识”类中存在,如果不存在,执行例外E-8。
BR-009检查存储区标识的可用性
传入参数:仓库号、存储区标识
系统检查传入的仓库号+存储区标识是否在“存储区标识”类中存在,如果不存在,执行例外E-9。
BR-010检查存储单位类型的可用性
传入参数:仓库号、存储单位类型
系统检查传入的仓库号+存储单位类型是否在“存储单位类型”类中存在,如果不存在,执行例外E-10。
BR-011检查冻结原因的可用性
传入参数:仓库号、冻结原因
系统检查传入的仓库号+冻结原因是否在“冻结原因”类中存在,如果不存在,执行例外E-11。
BR-012检查堆垛存储标识的可用性
传入参数:仓库号、堆垛存储标识
系统检查传入的仓库号+堆垛存储标识是否在“堆垛存储标识”类中存在,如果不存在,执行例外E-12。
BR-013检查仓库移动类型分类的可用性
传入参数:仓库号、仓库移动类型分类
系统检查传入的仓库号+仓库移动类型分类是否在“仓库移动类型分类”类中存在,如果不存在,执行例外E-13。
BR-014检查参考类型的可用性
传入参数:仓库号、参考类型
系统检查传入的仓库号+参考类型是否在“参考类型”类中存在,如果不存在,执行例外E-14。
BR-015检查仓位的可用性
传入参数:仓库号、存储类型、仓位
系统检查传入的仓库号+存储类型+仓位是否在“仓位”类中存在,如果不存在,执行例外E-15。
BR-016检查库存管理移动类型的可用性
传入参数:移动类型
系统检查传入的移动类型是否在“移动类型”类中存在,如果不存在,执行例外E-16。
BR-017检查仓库管理移动类型的可用性
传入参数:仓库号、仓库管理的移动类型
系统检查传入的仓库号+仓库管理的移动类型是否在“WM移动类型”类中存在,如果不存在,执行例外E-17。
BR-018检查仓库管理特殊移动标识的可用性
传入参数:仓库号、仓库管理的特殊移动标识
系统检查传入的仓库号+仓库管理的特殊移动标识是否在“特殊移动标识”类中存在,如果不存在,执行例外E-18。
BR-019检查仓位分区的可用性
传入参数:仓库号、存储类型、仓位分区
系统检查传入的仓库号+存储类型+仓位分区是否在“仓位分区”类中存在,如果不存在,执行例外E-19。
BR-020获取缺省计量单位
注:可处理批量数据
传入参数:仓库号、物料号、工厂
传出参数:仓库号、物料号、缺省的计量单位
系统根据物料号+仓库号从“每个仓库的物料数据”类中取出对象的属性值(物料主数据的缺省计量单位、仓库管理的计量单位);
系统根据仓库号从“WM缺省值”类中取出对象的属性值(计量单位的第一缺省值、计量单位的第二缺省值):
系统按照物料主数据的缺省值计量单位 > 计量单位的第一缺省值 > 计量单位的第二缺省值的优先级顺序逐一判断:
(1) 只要遇到属性值:
· 为A(发货计量单位),则令缺省的计量单位 = 发货计量单位;
· 为B(采购订单计量单位),则令缺省的计量单位 = 采购订单计量单位;
· 为L(WM计量单位),则令缺省的计量单位 = 仓库管理的计量单位;
· 为N(即使参考凭证中有替代计量单位,仍使用基本计量单位),则令缺省的计量单位 = 基本计量单位;
· 如果获取的发货计量单位或采购订单计量单位或仓库管理的计量单位为空,执行规则(2)。
(2) 否则,
· 三个字段有一个为K(没有指定替代计量单位时使用基本计量单位),按照WM计量单位 >发货计量单位 > 采购订单计量单位的优先级顺序获取缺省的计量单位,如果三个属性均为空,执行规则(3);
(3) 其它情况或按以上规则找不到缺省计量单位时,令缺省计量单位 = 基本计量单位。
其中:
发货计量单位由系统根据物料号+工厂从“物料的工厂数据”类中获得;
采购订单计量单位有系统根据物料号从“物料基本数据”类中获得。
BR-021物料重量及重量单位的获取规则
注:可处理批量数据
传入参数:物料号、毛重、重量单位(“物料基本数据”类)、重量单位(“WM缺省值”类)、数量
传出参数:物料号、物料重量、重量单位
物料重量 = 毛重 * 数量;
重量单位 =重量单位(“WM缺省值”类);
当 重量单位(“物料基本数据”类)<> 重量单位(“WM缺省值”类)时:系统根据《ERP-REQ-MDM81802计量单位数量转换为基本计量单位数量》(传出参数:物料号、数量 = 物料重量、计量单位 =重量单位(“物料基本数据”类)、目标计量单位 = 重量单位(“WM缺省值”类));获取换算后的物料重量传出。
BR-022两步拣配标识设置规则
注:可处理批量数据
传入参数:仓库号、物料号、仓库移动类型分类、组的仓库凭证类型
传出参数:仓库号、物料号、两步拣配标识
当仓库移动类型分类 <> 空时,系统根据仓库号+仓库移动类型分类从“仓库移动类型分类”类中取出属性值(两步拣配):
如果两步拣配 = Y(两步拣配),系统根据仓库号+组的仓库凭证类型从“两步拣配的控制”类中取出属性值(两步拣配相关、两步拣配物料相关标识);
如果两步拣配相关 = Y(两步拣配):
如果两步拣配物料相关标识被设置,当根据仓库号+物料号从“每个仓库的物料数据”类中取出的两步拣配物料相关标识被设置时,两步拣配标识 = Y(两步拣配);否则,两步拣配标识 = N(两步不相关);
否则,两步拣配标识 = Y(两步拣配)。
否则,两步拣配标识 = N(两步不相关)。
否则,两步拣配标识 = N(两步不相关)。
否则,两步拣配标识 = N(两步不相关)。
BR-023检查组的可用性
传入参数:仓库号、组
系统检查传入的仓库号+组是否在“WM 组的定义”类中存在,如果不存在,执行例外E-20。
BR-024存储类型的搜索规则需要进一步验证、修改
注:可处理批量数据
传入参数:仓库号、物料号、仓库管理的移动类型、仓库管理的库存类型、特殊移动标识、入出库标识
传出参数:仓库号、物料号、仓库管理的移动类型、仓库管理的库存类型、特殊移动标识、存储类型集合
系统根据物料号从“每个仓库的物料数据”类中取出属性值(存储类型标识(入库)、存储类型标识(出库)):
如果入出库标识 = E(入库),令 存储类型标识 = 存储类型标识(入库);
如果入出库标识 = A(出库)或2(两步拣配),令 存储类型标识 = 存储类型标识(出库);
如果入出库标识 = 空,存储类型标识不作为查询条件。
系统根据仓库号+仓库管理的移动类型从“WM 移动类型”类中取出属性值(存储类型搜索参考)。
系统根据仓库号+入出库标识+存储类型标识+仓库管理的库存类型+特殊库存标识+存储类型搜索参考从“存储类型搜索”类中查找符合条件的对象的属性值,形成存储类型集合{存储类型1,存储类型2,……存储类型30};
如果没有找到对象,则按照仓库号、入出库标识、存储类型标识、仓库管理的库存类型、特殊库存标识、存储类型搜索参考的顺序从后向前依次减少查询条件,直到找到合适的对象为止;如果只按照仓库号依然找不到合适的对象,存储类型集合 = 空。
BR-025允许存储类型增加已有库存的判断规则
注:可处理批量数据
传入参数:仓库号、存储类型、物料号
传出参数:仓库号、存储类型、物料号、允许增加已有库存标识
系统根据传入的仓库号+存储类型从“存储类型控制”类中取出属性值(允许增加已有库存标识):
如果允许增加已有库存标识 = N(不允许增加已有库存),令传出参数 允许增加已有库存标识 = N;
如果允许增加已有库存标识 = Y(允许增加已有库存),令传出参数 允许增加已有库存标识 = Y;
如果允许增加已有库存标识 = M(通过物料主数据中的“增加已有库存”标识判断),系统根据物料号+仓库号从“每个仓库的物料数据”类中取出属性值(允许增加已有库存标识):
如果允许增加已有库存标识 = Y,令传出参数 允许增加已有库存标识 = Y;
否则,令传出参数 允许增加已有库存标识 = N。
BR-026判断物料的可用性
传入参数:仓库号、物料号
系统根据传入的仓库号+物料号是否在“每个仓库的物料数据”类中存在,如果不存在,执行例外E-21。
BR-027仓库可用能力检查规则所有涉及到用总可能能力-已用能力(即总库存数)的规则都没有考虑混储(物料、批次……)时总库存数的计算
注:可处理批量数据,除数据库中的数据外,还有考虑缓存中的数据!
传入参数:仓库号、物料号、存储类型、仓位、存储单位类型、入库数量、计量单位、基本计量单位、/*MM.WHM.U.110627.001 按空仓库处理标识 MM.WHM.U.110627.001*/
传出参数:仓库号、物料号、存储类型、仓位、可用能力、仓位可用标识
系统根据传入的仓库号+存储类型从“存储类型控制”类中取出属性值(能力检查方法);
/*MM.WHM.U.110627.001 如果传入的按空仓位处理标识被设置,以下规则计算仓位能力时,按照空仓位处理;即设置了该标识,则令从“仓位”类获取的已存储物料的重量 = 0; 从“物料的仓位数据”类获取的总库存数 = 0;仓位的可用能力 = 仓位的总能力MM.WHM.U.110627.001*/
系统根据物料号从“物料替代计量单位”类中取出所有对象;
Case1:能力检查方法 = 0(没有能力检查),令 可用能力 = 空;
Case2:能力检查方法 = 1(根据最大重量检查),系统根据仓库号+存储类型+仓位从“仓位”类中取出对象的属性值(仓位的负载能力、重量单位、已存储物料的重量):
如果仓位不存在或仓位的负载能力 = 空,令 可用能力 = N;
否则,系统根据物料号从“物料基本数据”类中取出属性值(毛重、重量单位、基本计量单位),并计算可用能力:
n 计算规则:
1.每单位物料的重量 = 毛重 * (N1/D1);
其中:N1为基本计量单位与计量单位间的转换分子;
D1为基本计量单位与计量单位间的转换分母。
2.W = 仓位的负载能力 – 已存储物料的重量
3.可用能力 = W(换算后的) / 每单位物料的重量;
n 当“仓位”类中的重量单位 <> “物料基本数据”类中的重量单位时,系统调用用例《ERP-REQ-MDM81802计量单位数量转换为基本计量单位数量》先对W进行换算(传出参数:物料号、W、“物料基本数据”类中的重量单位、“仓位”类中的重量单位)。
Case3:能力检查方法 = 2(基于存储单位类型的托盘检查),系统根据物料号+仓库号从“每个仓位的物料数据”类中取出(装载数量1、装载数量2、装载数量3、装载数量1的计量单位、装载数量2的计量单位、装载数量3的计量单位、存储单位类型1、存储单位类型2、存储单位类型3):
如果传入的存储单位类型与存储单位类型1、存储单位类型2、存储单位类型3均不相同,令 可用能力 = N;
否则,系统根据仓库号+物料号+存储类型+仓位从“物料的仓位数据”类获取所有对象的总库存数,可用能力 = 装载数量 * (D1/N1)*(N2/D2)- ∑总库存数量 * (D1/N1);(取存储单位类型 = 传入存储单位类型的装载数量,如果有多条相同,取第一条)
其中:N1为基本计量单位与计量单位间的转换分子;
D1为基本计量单位与计量单位间的转换分母;
N2为基本计量单位与装载数量的计量单位间的转换分子;
D2为基本计量单位与装载数量的计量单位间的转换分母。
Case4:能力检查方法 = 3(基于存储类型中每个仓位的最大数量检查),系统根据物料号+仓库号+存储类型从“每个存储类型的物料数据”类中取出属性值(仓位的最高储量):
如果记录不存在或仓位的最高储量 = 空,可用能力 = N;
否则,系统根据仓库号+物料号+存储类型+仓位从“物料的仓位数据”类获取所有对象的总库存数,然后调用用例《ERP-REQ-MDM81802计量单位数量转换为基本计量单位数量》对(仓位的最高储量- ∑总库存数)的差值进行换算(传出参数:物料号、仓位的最高储量、基本计量单位、计量单位),令可用能力 =仓位的最高储量- ∑总库存数(换算后的)。
Case5:能力检查方法 = 4(基于物料的使用检查),系统根据仓库号+存储类型+仓位从“仓位”类中取出对象的属性值(仓位的总能力、仓位的可用能力):
如果仓位不存在或仓位的总能力 = 空,令 可用能力 = N;
否则,系统根据仓库号+物料号从“每个仓库的物料数据”类中取出属性值(能力使用、能力使用的计量单位),如果能力使用或能力使用的计量单位为空,令 可用能力 = N;否则计算可用能力:
n 计算规则:
1.每单位物料的能力使用 = 能力使用 *(N1/D1)*(D2/N2);
其中:N1为基本计量单位与计量单位间的转换分子;
D1为基本计量单位与计量单位间的转换分母;
N2为基本计量单位与能力使用的计量单位间的转换分子;
D2为基本计量单位与能力使用的计量单位间的转换分母。
2.可用能力 = 仓位的可用能力 / 每单位物料的能力使用。
Case6:能力检查方法 = 5(基于存储单位类型的检查):
Case7:能力检查方法 = 6(基于物料和存储单位类型的检查):
暂时不知道计算方法!
如果入库数量 <> 空:
当入库数量 > 可用能力时(可用能力为空时视为+∞),令 仓位可用标识 = 0(仓位不可用);
否则,令 仓位可用标识 = 1(仓位可用)
BR-028检查批次的可用性
注:可处理批量数据
传入参数:工厂、物料号、批次号
系统从“批次管理”类中取出属性值(批次确定指示符):
如果批次确定指示符 = 3(工厂级),系统检查传入的批次号+物料号+工厂在“批次主数据(工厂级)”类中是否存在,如果不存在,执行例外E-23;
如果批次确定指示符 = 2(物料级),系统检查传入的批次号+物料号在“批次主数据(物料级)”类中是否存在,如果不存在,执行例外E-23;
如果批次确定指示符 = 1(应用环境级),系统检查传入的批次号是否在“批次主数据(物料级)”类中是否存在,如果不存在,执行例外E-23。
如果批次存在,系统检查从“批次主数据(工厂级)”或“批次主数据(物料级)”类中取出的属性值(限制使用库存标识):若限制使用库存标识 = Y,执行例外E-24。
BR-029根据移动类型获取仓位数据
注:可处理批量数据
传入参数:仓库号、仓库管理的移动类型、参考凭证号、物料号
传出参数:发出存储类型、发出仓位、接收存储类型、接收仓位、返还存储类型、返还仓位
系统根据传入的仓库号+仓库管理的移动类型从“WM 移动类型”类中取出对象的属性值(发出存储类型、发出仓位、接收存储类型、接收仓位、返还存储类型、返回仓位、动态发出仓位标识、动态接收仓位标识、使用固定仓位作为发出仓位标识、使用固定仓位作为接收仓位标识)。
如果动态发出仓位标识或动态接收仓位标识被设置,发出仓位(接收仓位) = 参考凭证号;
如果使用固定仓位作为发出仓位标识或使用固定仓位作为接收仓位标识被设置,系统根据物料号+仓库号+存储类型从“每个存储类型的物料数据”类获取属性值(仓位),令发出仓位(接收仓位) = 仓位
如果两个标识都没有设置,令发出仓位 = 发出仓位,接收仓位 = 接收仓位。
发出存储类型 = 发出存储类型;接收存储类型 = 接收存储类型;返还存储类型 = 返还存储类型;返还仓位 = 返回仓位。
BR-030发出仓位搜索规则
注:可处理批量数据,除从数据库中获取数据外,还需要考虑缓存中的数据!
传入参数:仓库号、存储类型、仓位、物料号、批次号、工厂、存储地点、仓位位置、份号、存储单位号、存储单位类型、数量、计量单位、基本计量单位、仓库管理的库存类型、特殊库存标识、特殊库存号、返还存储类型、返还仓位、动态发出仓位标识、/*MM.WHM.U.100504.002序列号集合、修改标识(0:只读显示;1:可维护;2:物料凭证)、序列号参数MM.WHM.U.100504.002*/
传出参数:发出仓位集合(仓库号、发出存储类型、发出存储区、发出仓位、仓位位置、份(发出)、存储单位号(发出)、出库数量、返还存储类型、返回存储区、返回仓位、份(返还)、返还数量)、剩余数量、/*MM.WHM.U.100504.002序列号数据集MM.WHM.U.100504.002*/)
如果传入的存储类型 = 空,执行例外/*MM.WHM.U.100826.003 E-38 E-84 MM.WHM.U.100826.003*/;
否则,系统根据传入的仓库号+存储类型(可能是集合)从“存储类型控制”类中取出对象;
/*对可用库存的解释规则
注:下列所有涉及到可用库存的检查规则,当存储类型的入库策略 = B(堆垛存储)时,需要根据仓库号+物料号+工厂+仓库管理的库存类型+特殊库存标识+批次号+特殊库存号+存储类型+仓位+存储地点从“某一策略的总份数”类获取总数量,如果从“物料的仓位数据”类获得的可用库存>总数量,则将检查规则中的可用库存换成总数量,同时增减总数量,以保证下一次使用该值时的准确性。
/*MM.WHM.U.100303.001
系统按照下列规则对传入的每个存储类型逐一检查,直到找到合适的仓位为止。如果按下列规则搜索完所有存储类型后,若发出仓位集合 =空,执行例外E-38。系统返回调用点时,剩余数量 = 数量 – 发出仓位集合中所有出库数量之和 + 发出仓位集合中所有返还数量之和。
如果存储类型对应的按存储单位管理的存储类型标识没有被设置,按传入的存储单位号 = 空处理;
MM.WHM.U.100303.001*/
/*MM.WHM.U.100504.002
/*按照序列号查找仓位规则
如果传入的序列号集合 <> 空,系统检查从“存储类型控制”类获取序列号管理标识:
如果设置了序列号管理标识,系统对序列号集合中的每个序列号逐一按下列规则进行处理,获取发出仓位,如果没有发生例外,返回调用点,传出参数来自下列规则中获取到的属性值(注:如果获取到了多个发出存储类型+发出存储区+发出仓位+仓位位置+份(发出)+存储单位号(发出)/*MM.WHM.U.120214.001 +设备号 MM.WHM.U.120214.001*/,按照这些属性值将获取的仓位分组,分别返还给调用点;如果传入的数量 > 序列号集合中的序列数量,剩余数量单分一组,并按序列号集合为空的情况处理):
系统根据应用环境+设备号从“序列号主数据(仓库段)”类中获取对象,如果对象不存在,执行例外E-68;如果获取对象的仓库号、工厂、存储地点、存储类型、存储区、仓位、仓位位置、份、存储单位号、批次号、仓库管理的库存类型、特殊库存标识、特殊库存号有一个与传入的数据不同,执行例外E-69;
系统根据MDM的公共规则文档ERP-REQ-BR-MDM-V1.0中的规则(BR-0069)获取序列号参数(序列化启用标识、序列号主数据、库存检查标识、设备主数据标识、设备类别、序列化过程码、序列号参数文件),传入参数:物料号、工厂、序列化参数 = 11;
系统调用用例《MDM47105输入序列号(仓库管理)》对序列号进行检查并获取序列号数据集,传出参数:物料号、仓库号、工厂、存储地点、存储类型、存储区、仓位、仓位位置、份、存储单位号、批次号、仓库管理的库存类型、特殊库存标识、特殊库存号、数量 = 传入的数量、计量单位、操作标识 = 空(不显示错误消息)、应用标识 = 1(发出)、业务事务 = WM01、修改标识、序列号参数、序列号集合。
否则,
展开阅读全文