歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

[易飛]取消庫位規格書

程序代號: 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=’##########’

Copyright © Linux教程網 All Rights Reserved