資訊人員盤點時的痛

這幾天公司在盤點,12月的帳還沒有關掉,但是會計在之前會議已經說過了,25日之後不再進出庫,首先說為什麼還不關帳。

因為參數的關閉,把帳別開在2010年的1月時,目前生產的報工就沒有辦法進行,但是又要管制進出貨怎麼辦?

鼎新ERP使用的是Oracle Database,其實也沒有這麼難,只要把庫存交易檔鎖起來就好。
登入sqlplus之後,指令如下
lock table tlf_file in exclusive mode;

系統會回覆
Table(s) Locked.
表示資料表已經鎖定

這麼做有幾個好處,各部門就算開單了,也無法進行過帳,不能過庫就不會造成庫存異動,還好,這樣就不用再去重印盤點標籤了(驚)。

怎麼解鎖呢?其實也蠻簡單的
只要輸入commit;指令或是連線串斷(session中斷),lock就解鎖了

如果要鎖定一段時間怎麼做(定時鎖定table)
其實也很簡單
到ERP的主機上,登入任一個TTL(2~6,請按ctrl+alt+[2~6])
登入ERP環境(Profile),再進到sqlplus
輸入上面的指命
先鎖住

再來就是使用ps aux看看這個TTL的PID
寫一個小的script放入cron job
使用kill PID -9指命 強迫TTL中的程式(sqlplus)結束
就可以定時解開了,當然,解開了之後
還是要把script拿掉
不然同一個PID還有可能被別的程式用到
到時誤殺了可就不好了

2 thoughts on “資訊人員盤點時的痛

  • 2010 年 01 月 01 日 at 18:18:33
    Permalink

    哈!你的留言板好像有點問題
    所以用這篇文章的回應來祝福你
    新的一年
    要快樂滿身
    新年快樂!!!

    Reply
    • 2010 年 01 月 05 日 at 08:09:10
      Permalink

      有一隻外掛影響到我的留言版
      我可能會先把外掛停掉吧

      Reply

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *