中途启用批次管理方案

时间:2022-05-15 01:35:08 阅读: 最新文章 文档下载
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。
中途启用批次管理方案

一、 业务场景

有些存货在启用之初没有进行批次管理,随着管理的细化,在使用一段时间后,需要启用批次管理.因为标准产品控制存货档案一旦被引用后,就不能再编辑勾选批次管理的属性。为实现该场景,特提供如下方案。 二、 方案应用前提

1 方案适用于中途启用批次管理属性,而非批次核算。 2 方案执行过程中不能执行相关影响存货批次管理的操作。 3 方案允许存在流程中的销售或采购的业务单据。 4 方案暂不适用于做过数据卸载的项目。 5 执行方案之前注意确定库存现存量、收发存汇总表等数据的准确性. 6 因批次管理的存货,在销售订单、采购订单、调拨订单、库存调整(转库单、形

态转换单等)等单据中是可以不录入批次号的,所以方案没有考虑销售、采购、调拨、库存调整等相关单据的处理。基于此也没有对可用量的预计入和预计出进行处理。

三、 具体方案

1 将存货管理方案的批次管理属性设置为",使用SQL脚本处理,涉及表

bd_invmandoc; 为该存货默认一批次号,用来补充之前的出入库记录上的批次号,例如为20140911

3 新增批次号档案,新增该存货的默认批次号档案,前台手工录入;登录对应公司,

打开批次号档案节点,手工增加;也可通过SQL脚本处理;

4 更新该存货库存管理所有出入库单据的批次号,更新为默认批次号20140911

使用SQL脚本处理,涉及表ic_general_b;

5 更新该存货库存管理相关月结表纪录的批次号,更新为默认批次号20140911,

使用SQL脚本处理,涉及表ic_month_handic_month_handsignic_month_recordic_month_recordsign

6 更新该存货库存管理现存量表纪录的批次号,更新为默认批次号20140911,使

SQL脚本处理,涉及表ic_onhandnumic_onhandnum_b;

7 更新该存货存货核算所有出入库单单据的批次号,更新为默认批次号20140911

使用SQL脚本处理,涉及表ia_bill_b;

四、 存在的风险

1 方案绝大部分都是通过SQL脚本处理,可能会存在遗漏或者错误的情况,需要大量数

据验证.

2 因方案涉及库存和存货核算模块所有相关明细单据,会影响所有相关报表查询,涉

及面很大.

3 SQL脚本会涉及所有历史出入库单据,如果数据量很大,执行效率也需要测试评估. 4 脚本更新后,如果出现现存量不正确,可通过调整现存量的功能进行修复。 5 脚本更新后,如果出现收发存汇总表不正确,可通过调整月结数据进行修复。 五、 建议的方案执行过程

1 搭建测试环境

2


2 在测试环境上执行方案

3 记录方案执行过程和执行时间,以预估生产环境的执行情况 4 在测试环境上验证数据

5 安排生产环境停机时间,如果执行时间很长,可考虑分多次进行执行,每次调整部分

存货

6 备份最新的生产环境 7 在生产环境上执行方案 8 在生产环境上验证数据 六、 相关脚本

———-———------——-——----———---———----——----------——-----

---——------

——查询相应公司主键——

select pk_corp from bd_corp where unitcode = 公司编码

--查询存货基本档案主键-

select bdpk_invbasdoc from bd_invbasdoc bd where bd.invcode = 存货编码 -查询存货管理档案主键- select bmpk_invmandoc from bd_invmandoc bm

where bmpk_invbasdoc = 存货基本档案主键' and bmpk_corp = '公司主键';

-———————-----------——-——----——-——--——-——————-——----——-----———----——-

——更新存货管理档案批次管理属性,把非批次管理更新为批次管理- update bd_invmandoc bm set bm.wholemanaflag = Y'

where bm.pk_invmandoc = '存货管理档案主键 and nvl(bm.wholemanaflag, N) = N' -插入默认批次号档案-- insert into scm_batchcode

bseal, dr, pk_batchcode, pk_invbasdoc, tbatchtime ts vbatchcode values (N' 0

-主键20位,不重复即可-- 0001AA00000000000001', --存货基本档案主键- '存货基本档案主键 '2014-09-01 0000:00 201409-01 00:0000' --默认批次号- '20140911')

-更新该存货库存管理所有出入库单据的批次号,更新为默认批次号20140911——

update ic_general_b icb

set icbvbatchcode = 20140911


where icbcinventoryid = '存货管理档案主键 and icbpk_corp = 公司主键

and nvlicb.noutnum 0.0 <> 0.0 or nvl(icb.ninnum 0.0 〈〉 00) and icb.dr = 0;

-更新该存货库存管理现存量表纪录的批次号,更新为默认批次号20140911- update ic_month_hand icm1

set icm1.vbatchcode = 20140911'

where icm1cinventoryid = '存货管理档案主键 and icm1.pk_corp = '公司主键 and icm1.dr = 0;

update ic_month_handsign icm2 set icm2.vbatchcode = 20140911

where icm2.cinventoryid = '存货管理档案主键 and icm2pk_corp = 公司主键' and icm2dr = 0; update ic_month_record icm3 set icm3.vbatchcode = 20140911

where icm3.cinventoryid = '存货管理档案主键 and icm3pk_corp = '公司主键 and icm3dr = 0;

update ic_month_recordsign icm4 set icm4vbatchcode = '20140911'

where icm4.cinventoryid = '存货管理档案主键' and icm4pk_corp = '公司主键 and icm4dr = 0;

——更新该存货库存管理现存量表纪录的批次号,更新为默认批次号20140911-- update ic_onhandnum icnumh set icnumh.vlot = '20140911

where icnumhcinventoryid = '存货管理档案主键 and icnumh.pk_corp = '公司主键' update ic_onhandnum_b icnumb set icnumb.vlotb = 20140911'

where icnumb.cinventoryidb = '存货管理档案主键' and icnumb.pk_corp = '公司主键';

-更新该存货存货核算所有出入库单单据的批次号,更新为默认批次号20140911--

update ia_bill_b iab

set iabvbatch = '20140911'

where iab.cinventoryid = '存货管理档案主键' and iabpk_corp = '公司主键' and iabdr = 0;

------------——--——---------———-——------————----——----——----——---——--


本文来源:https://www.wddqw.com/doc/05b73f9fbad528ea81c758f5f61fb7360a4c2b49.html