说明:
标准系统中,一旦物料被使用,物料中【启用保质期管理】这一参数就会锁定,不允许再次修改。但是存在部分客户在物料使用一段时间后,发现业务上是需要启用保质期,对于这部分用户,可以参考这个方案进行处理。
前提:
相关物料的即时库存为0, 启用后历史单据禁止再次操作,比如反审核,删除等。
数据库处理语句:
第一步:查询判断库存是否为0:
SELECT FNUMBER,FBASEQTY FROM T_STK_INVENTORY A
INNER JOIN T_BD_MATERIAL B ON A.FMATERIALID =B.FMATERIALID
INNER JOIN T_BD_MATERIALSTOCK C ON B.FMATERIALID=C.FMATERIALID
WHERE B.FNUMBER IN ('物料编码1','物料编码2','物料编码3')
AND FBASEQTY<>0
如果查询出数据,那这个物料还存在库存,需要出库。
第二步:
--备份数据
SQL SERVER:
SELECT * INTO T_BD_MATERIALSTOCK_BAK20221107 FROM T_BD_MATERIALSTOCK
ORACLE:
CREATE TABLE T_BD_MATERIALSTOCK_20221107 AS SELECT * FROM T_BD_MATERIALSTOCK
--
MERGE INTO T_BD_MATERIALSTOCK A
USING
(SELECT FMATERIALID
FROM T_BD_MATERIAL
WHERE FNUMBER IN ('物料编码1','物料编码2','物料编码3'))B
ON (A.FMATERIALID =B.FMATERIALID)
WHEN MATCHED THEN
UPDATE SET FISKFPERIOD=1 ;---(1是启用,0是不启用,如果需要反启用保质期,改为0即可)
执行完上面语句后,前台查询下对应物料,保质期管理是否启用,如果已经启用,对应维护下保质期和保质期单位即可。
注意事项:
1.标准产品不支持中途启用保质期,如需处理,需要联系专项服务支持。
2.如若自行后台处理 可以参考上面方案, 处理后历史单据不能反向操作
3.因后台操存在风险,所以请做好数据备份,测试环境测试验证后,无异常再到生产环境处理。
4.建议在期末的时候处理掉库存,结账后下期期初后台启用保质期参数
推荐阅读