码迷,mamicode.com
首页 > 其他好文 > 详细

[易飞]取消库位规格书

时间:2016-05-05 08:28:04      阅读:250      评论:0      收藏:0      [点我收藏+]

标签:

程序代号: CMSB07
程序名称: 取消库位管理
Parent Class:
系统分析代号:
信息文件:BOMTD (R/W) 组合单单头
BOMTE (R/W) 组合单单身
BOMTF (R/W) 拆解单单头
BOMTG (R/W) 拆解单单身
CMSMA (R/W) 公用参数档
CMSNI (R/W) 仓库库位档
COPTH (R/W) 销货单单身信息档
COPTJ (R/W) 销退单单身信息档
COPTO (R/W) 出货通知单身档
CUSTN (R/W) 交易单据单身档
DHQTE (R/W) 调拨出库单身档
DHQTG (R/W) 调拨出库到达单身档
DHQTM (R/W) 调拨退库到达单身档
EPSTB (R/W) 出货通知单身
EPSTC (R/W) 包装明细信息档
GMPTH (R/W) 留样单信息档
GMPTI (R/W) 留样检验单头信息档
GMPTL (R/W) 养护检验单头信息档
INVMC (R/W) 品号仓库档
INVML (R/W) 品号仓库库位批号档
INVTB (R/W) 交易单据单身档
INVTC (R/W) 盘点底稿信息档单身
INVTD (R/W) 盘点信息汇总档
INVTG (R/W) 借出入调拨单身档
INVTI (R/W) 借出入归还单身档
INVTK (R/W) 成本开账/调整单身档
INVTM (R/W) 报废单单身档
INVTO (R/W) 销毁单单身档
INVLA (R/W) 交易明细信息档
INVLE (R/W) 品号月档子单身
KBSMM (R/W) 看板序号维护单身档
KBSTF (R/W) 刷读产生生产入库单单身档
KBSTI (R/W) 刷读产生调拨单单身档
KBSTK (R/W) 刷读产生销货单单身档
MOCTE (R/W) 领/退料单身档
MOCTG (R/W) 生产入库单身档
MOCTI (R/W) 委外进货单身档
MOCTL (R/W) 委外退货单身档
PURTH (R/W) 进货单单身信息档
PURTJ (R/W) 退货单单身信息档
QMSTA (R/W) 进货检验单单头档
QMSTD (R/W) 委外进货检验单单头档
QMSTG (R/W) 生产入库检验单单头档
QMSTJ (R/W) 转移检验单单头档
RMATD (R/W) 维修单单身档
SFCTC (R/W) 转移单单身档

屏幕格式:

* 运行本作业将取消库位管理,在进行取消之前,请做好数据的备份工作,防止因误取消而带来工作不便*

信息处理:
0.开启程序时,做判断
IF 启用库位管理(CMS.MA093)<>’Y’ THEN
SHOW MSG E+200483:”共用参数中未启用库位管理,不可运行该作业!”,不开启该程序
ENDIF

按「直接处理」或「后台处理」后SHOW WARNING MSG
MSG CODE:W+200253,”运行本作业将取消库位管理,在进行取消之前,请做好数据的备份工作,防止因误取消而带来工作不便!确定开始取消?”

1.BOM系统
1.1 BOMTD(组合单单头)
UPDATE BOMTD SET TD022=’##########’

1.2 BOMTE(组合单单身)
UPDATE BOMTE SET TE015=’##########’

1.3 BOMTF(拆解单单头)
UPDATE BOMTF SET TF021=’##########’

1.4 BOMTG(拆解单单身)
UPDATE BOMTG SET TG015=’##########’

2.CMS系统
2.1 CMSMA(公用参数档)
UPDATE CMSMA SET MA093=’N’,MA096=’Y’

2.2 CMSNI(仓库库位档)

  DELETE CMSNI     

  关联 仓库信息档(CMSMC) 得到QureyA
  逐笔INSERT
  WHILE NOT QueryA.EOF DO
    INSERT CMSNI
    NI001    仓库编号  =  QueryA.MC001
    NI002    库位编号  =  ‘##########‘
    NI003    库位说明  =  ‘‘
    NI004    有效码    =  QueryA.MC018
    NI005    备注      =  ‘‘
    NI006    传送码    =  ‘N‘
    NI007    传送日期  =  ‘‘

    QueryA.NEXT
  END

3.COP系统
3.1 COPTH(销货单单身信息档)
UPDATE COPTH SET TH056=’##########’

3.2 COPTJ(销退单单身信息档)
UPDATE COPTJ SET TJ057=’##########’

3.3 COPTO(出货通知单身档)
UPDATE COPTO SET TO039=’##########’

4.CUS系统
4.1 CUSTN(交易单据单身档)
UPDATE CUSTN SET TN013=’##########’

5.DHQ系统
5.1 DHQTE(调拨出库单身档)
UPDATE DHQTE SET TE032=’##########’

5.2 DHQTG(调拨出库到达单身档)
UPDATE DHQTG SET TG029=’##########’

5.3 DHQTM(调拨退库到达单身档)
UPDATE DHQTM SET TM024=’##########’

6.EPS系统
6.1 EPSTB(出货通知单身)
UPDATE EPSTB SET TB041=’##########’

6.2 EPSTC(包装明细信息档)
UPDATE EPSTC SET TC037=’##########’

7.GMP系统
7.1 GMPTH(留样单信息档)
UPDATE GMPTH SET TH027=’##########’

7.2 GMPTI(留样检验单头信息档)
UPDATE GMPTI SET TI038=’##########’

7.3 GMPTL(养护检验单头信息档)
UPDATE GMPTL SET TL038=’##########’

8.INV系统
8.1 INVMC(品号仓库档)
UPDATE INVMC SET MC015=’##########’

8.2 INVML(品号仓库库位批号档)

  IF 数量表达方式(CMS.MA024)=‘1‘单单位  OR ‘3‘制造双单位 THEN
     关联:品号仓库库位档.品号+仓库(INV.ML001+ML002) *= 品号仓库档.品号+仓库(INV.MC001+MC002)
          品号仓库库位档.品号+批号(INV.ML001+ML004) *= 品号批号档.品号+批号(INV.ME001+ME002)

     GROUP BY 品号(ML001)+仓库(ML002)+批号(ML004)

     排序:品号(ML001)+仓库(ML002)+批号(ML004)

     Qty     = SUM(INV.ML005)
     QtyPack = SUM(INV.ML006)

  ELSE 
     关联:品号仓库库位档.品号+仓库(INV.ML001+ML002)   *= 品号仓库档.品号+仓库(INV.MC001+MC002)
          品号仓库库位档.品号+批号(INV.ML001+ML004)   *= 品号批号档.品号+批号(INV.ME001+ME002)
          品号仓库库位档.品号(INV.ML001)              *= 品号基本信息档.品号(INV.MB001)
          品号基本信息档.品号+小单位(INV.MB001+MB072) *= 品号换算单位档.品号+换算单位(INV.MD001+MD002)

     GROUP BY 品号(ML001)+仓库(ML002)+批号(ML004)

     排序:品号(ML001)+仓库(ML002)+批号(ML004)

     IF 换算率分子(MD003) is null OR 换算率分子(MD003)=0 OR 换算率分母(MD004)=0
        Qty = SUM(INV.ML005)
     ELSE
        SIGN(INV.ML005)*FLOOR(ABS(INV.ML005)) AS ML005A                    库存数量整数位
        INV.ML005-(SIGN(INV.ML005)*FLOOR(ABS(INV.ML005))) AS ML005B        库存数量小数位
        INVML_库存量 = SUM((ML005A*MD003/MD004)+(ML005B*1000))             加总换算成小单位数量
        INVML_库存量/MD003*MD004 ,取整数 AS ML005_A,取余数 AS ML005_B    换算成大单位数量
        Qty = ML005_A+(ML005_B/1000,取小数三位)
     ENDIF

     QtyPack = 0
  ENDIF

  得到 QueryA

  关联 QueryA.品号+仓库+批号(ML001+ML002+ML004) *= 品号仓库库位档.品号+仓库+批号(INV.ML001+ML002+ML004)
  ORDER BY 品号(ML001)+仓库(ML002)+批号(ML004)
  GET MAX(ML008) AS ML008A, MAX(ML009) AS ML009A, MAX(ML010) AS ML010A

  得到 QueryB

  DELETE INVML

  逐笔 INSERT 品号仓库库位批号档(INVML)
  ML001    品号          =   QueryB.ML001
  ML002    仓库          =   QueryB.ML002
  ML003    库位          =   ‘##########‘
  ML004    批号          =   QueryB.ML004
  ML005    库存数量      =   QueryB.Qty
  ML006    库存包装数量  =   QueryB.QtyPack
  ML007    预留字段      =
  ML008    上次盘点日    =   QueryB.ML008A 
  ML009    最近入库日    =   QueryB.ML009A 
  ML010    最近出库日    =   QueryB.ML010A 
  ML011    备注          =

8.3 INVTB(交易单据单身档)
UPDATE INVTB SET TB029=’##########’
UPDATE INVTB SET TB030=’##########’ WHERE TB013<>”

8.4 INVTC(盘点底稿信息档单身)
UPDATE INVTC SET TC014=’##########’

8.5 INVTD(盘点信息汇总档)
UPDATE INVTD SET TD017=’##########’

8.6 INVTG(借出入调拨单身档)
UPDATE INVTG SET TG033=’##########’,TG034=’##########’

8.7 INVTI(借出入归还单身档)
UPDATE INVTI SET TI026=’##########’,TI027=’##########’

8.8 INVTK(成本开账/调整单身档)
UPDATE INVTK SET TK026=’##########’

8.9 INVTM(报废单单身档)
UPDATE INVTM SET TM026=’##########’ WHERE TM014<>”
UPDATE INVTM SET TM027=’##########’

8.10 INVTO(销毁单单身档)
UPDATE INVTO SET TO016=’##########’

8.11 INVLA(交易明细信息档)
UPDATE INVLA SET LA023=’##########’

8.12 INVLE(品号月档子单身)
IF 数量表达方式(CMS.MA024)=’1’单单位 OR ‘3’制造双单位 THEN

     关联:品号月档子单身.品号+库存年月+仓库+批号(INV.LE001+LE002+LE003+LE005)

     条件:库存年月(LE002)<=库存现行年月(CMS.MA011)

     GROUP BY 品号(LE001)+库存年月(LE002)+仓库(LE003)+批号(LE005)
     ORDER BY 品号(LE001)+库存年月(LE002)+仓库(LE003)+批号(LE005)

     Q006 = SUM(INV.LE006)
     Q008 = SUM(INV.LE008)
     Q010 = SUM(INV.LE010)
     Q012 = SUM(INV.LE012)
     Q014 = SUM(INV.LE014)
     Q016 = SUM(INV.LE016)
     Q018 = SUM(INV.LE018)
     Q020 = SUM(INV.LE020)
     Q022 = SUM(INV.LE022)
     Q024 = SUM(INV.LE024)
     Q026 = SUM(INV.LE026)

     Q032 = SUM(INV.LE032)
     Q033 = SUM(INV.LE033)
     Q034 = SUM(INV.LE034)
     Q035 = SUM(INV.LE035)
     Q036 = SUM(INV.LE036)
     Q037 = SUM(INV.LE037)
     Q038 = SUM(INV.LE038)
     Q039 = SUM(INV.LE039)
     Q040 = SUM(INV.LE040)
     Q041 = SUM(INV.LE041)
     Q042 = SUM(INV.LE042)

  ELSE 
     关联:品号月档子单身.品号(INV.LE001)              *= 品号基本信息档.品号(INV.MB001)
          品号基本信息档.品号+小单位(INV.MB001+MB072) *= 品号换算单位档.品号+换算单位(INV.MD001+MD002)

     条件:库存年月(LE002)<=库存现行年月(CMS.MA011)

     GROUP BY 品号(LE001)+库存年月(LE002)+仓库(LE003)+批号(LE005)
     ORDER BY 品号(LE001)+库存年月(LE002)+仓库(LE003)+批号(LE005)

     IF 换算率分子(MD003) is null OR 换算率分子(MD003)=0 OR 换算率分母(MD004)=0
        Q006 = SUM(INV.LE006)
        Q008 = SUM(INV.LE008)
        Q010 = SUM(INV.LE010)
        Q012 = SUM(INV.LE012)
        Q014 = SUM(INV.LE014)
        Q016 = SUM(INV.LE016)
        Q018 = SUM(INV.LE018)
        Q020 = SUM(INV.LE020)
        Q022 = SUM(INV.LE022)
        Q024 = SUM(INV.LE024)
        Q026 = SUM(INV.LE026)           
     ELSE
        SIGN(INV.LE006)*FLOOR(ABS(INV.LE006)) AS LE006A                    库存数量整数位
        INV.LE006-(SIGN(INV.LE006)*FLOOR(ABS(INV.LE006))) AS LE006B        库存数量小数位
        INVLE_LE006 = SUM((LE006A*MD003/MD004)+(LE006B*1000))              加总换算成小单位数量
        INVLE_LE006/MD003*MD004 ,取整数 AS LE006_A,取余数 AS LE006_B     换算成大单位数量
        Q006 = LE006_A+(LE006_B/1000,取小数三位)

        Q008 ,Q010 ,Q012 ,Q014 ,Q016 ,Q018 ,Q020 ,Q022 ,Q024 ,Q026分别对应于
        LE008,LE010,LE012,LE014,LE016,LE018,LE020,LE022,LE024,LE026同上处理
     ENDIF

        Q032 = 0
        Q033 = 0
        Q034 = 0
        Q035 = 0
        Q036 = 0
        Q037 = 0
        Q038 = 0
        Q039 = 0
        Q040 = 0
        Q041 = 0
        Q042 = 0       
  ENDIF

  得到 QueryA

  DELETE INVLE 

  WHILE NOT QueryA.EOF DO
    LE001    品号                  =   QueryA.LE001
    LE002    库存年月              =   QueryA.LE002
    LE003    仓库                  =   QueryA.LE003
    LE004    库位                  =   ‘##########‘
    LE005    批号                  =   QueryA.LE005
    LE006    月初数量              =   QueryA.Q006
    LE007    预留字段              =    
    LE008    本月入库数量          =   QueryA.Q008
    LE009    预留字段              =    
    LE010    本月销货数量          =   QueryA.Q010
    LE011    预留字段              =    
    LE012    本月领料数量          =   QueryA.Q012
    LE013    预留字段              =    
    LE014    本月调拨(入)数量      =   QueryA.Q014
    LE015    预留字段              =    
    LE016    本月调整(入)数量      =   QueryA.Q016
    LE017    预留字段              =    
    LE018    本月出库数量          =   QueryA.Q018
    LE019    预留字段              =    
    LE020    本月销退数量          =   QueryA.Q020
    LE021    预留字段              =    
    LE022    本月退料数量          =   QueryA.Q022
    LE023    预留字段              =    
    LE024    本月调拨(出)数量      =   QueryA.Q024
    LE025    预留字段              =    
    LE026    本月调整(出)数量      =   QueryA.Q026
    LE027    预留字段              =   
    LE028    预留字段              =   
    LE029    预留字段              =   
    LE030    预留字段              =   
    LE031    预留字段              =   
    LE032    月初包装数量          =   QueryA.Q032
    LE033    本月入库包装数量      =   QueryA.Q033
    LE034    本月销货包装数量      =   QueryA.Q034
    LE035    本月领料包装数量      =   QueryA.Q035
    LE036    本月调拨(入)包装数量  =   QueryA.Q036
    LE037    本月调整(入)包装数量  =   QueryA.Q037
    LE038    本月出库包装数量      =   QueryA.Q038
    LE039    本月销退包装数量      =   QueryA.Q039
    LE040    本月退料包装数量      =   QueryA.Q040
    LE041    本月调拨(出)包装数量  =   QueryA.Q041
    LE042    本月调整(出)包装数量  =   QueryA.Q042     
    LE043    预留字段              =
    LE044    预留字段              =
    LE045    预留字段              =
    LE046    预留字段              =
    LE047    预留字段              =
    LE048    预留字段              =  

    QueryA.NEXT  
  ENDDO 

9.KBS系统
9.1 KBSMM(看板序号维护单身档)
UPDATE KBSMM SET MM014=’##########’

9.2 KBSTF(刷读产生生产入库单单身档)
UPDATE KBSTF SET TF014=’##########’

9.3 KBSTI(刷读产生调拨单单身档)
UPDATE KBSTI SET TI015=’##########’,TI019=’##########’

9.4 KBSTK(刷读产生销货单单身档)
UPDATE KBSTK SET TK015=’##########’

10.MOC系统
10.1 MOCTE(领/退料单身档)
UPDATE MOCTE SET TE025=’##########’

10.2 MOCTG(生产入库单身档)
UPDATE MOCTG SET TG036=’##########’

10.3 MOCTI(委外进货单身档)
UPDATE MOCTI SET TI060=’##########’

10.4 MOCTL(委外退货单身档)
UPDATE MOCTL SET TL040=’##########’

11.PUR系统
11.1 PURTH(进货单单身信息档)
UPDATE PURTH SET TH072=’##########’

11.2 PURTJ(退货单单身信息档)
UPDATE PURTJ SET TJ046=’##########’

12.QMS系统
12.1 QMSTA(进货检验单单头档)
UPDATE QMSTA SET TA037=’##########’ WHERE TA036<>”

12.2 QMSTD(委外进货检验单单头档)
UPDATE QMSTD SET TD037=’##########’ WHERE TD036<>”

12.3 QMSTG(生产入库检验单单头档)
UPDATE QMSTG SET TG037=’##########’ WHERE TG036<>”

12.4 QMSTJ(转移检验单单头档)
UPDATE QMSTJ SET TJ037=’##########’ WHERE TJ036<>”

13.RMA系统
13.1 RMATD(维修单单身档)
UPDATE RMATD SET TD019=’##########’

14.SFC系统
14.1 SFCTC(转移单单身档)
UPDATE SFCTC SET TC056=’##########’

[易飞]取消库位规格书

标签:

原文地址:http://blog.csdn.net/david_520042/article/details/51319706

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!