2011年10月31日 星期一

新手COBOL學習_1

COBOL是一個很舊的語言,可是仍活躍在金融與保險業之中,沒有什麼其他的理由,只是穩定與搭配AS400多工這兩個優點,不知道還能夠撐多久,但就目前來看COBOL仍然可以活一陣子,除非IBM或者是其他公司有提出更好的主機,更便宜又穩定支援多工,那或許COBOL與AS400才會有退場的機會。

接下來幾天,我會將一些我目前學到的相關指令與講解,分享給大家。

Part 1 :
先從程序部(PROCEDURE DIVISION),開始因為我一開始也不是學COBOL,我主要熟悉是MATLAB,或許很多人會說,MATLAB是軟體不是語言,但是如果你每次都要完完全全自己造橋鋪路,那真的開發太慢了,有一群人幫妳寫好FUNCTION或是副程式,讓你來使用不是很好嗎?

所以我剛開始學COBOL,要定義一大堆變數真的很頭大,所以定義那件事情,過兩天再說,
一開始先介紹幾個常用用法。

注意唷,因為COBOL裡面有FILE-NAME和RECORD-NAME,所以要搞清楚,以免亂用,程式就給你亂當。如何分清楚,也需要一點時間來說明,過兩天再開篇專門的來說。

1. OPEN    INPUT          FILE-NAME. 
                  OUTPUT
                   I-O
   注意黑,開檔是要開INPUT檔還是OUTPUT檔,這個就是學問啦,不要每個都開I-O檔,
   小訣竅:如果你程式裡面要READ 那個檔,就是開INPUT;
                                                   WRITE那個檔,就是開OUTPUT;
                                                   如果兩個都有,就是開I-O檔。

  例如:我要開一個檔叫GCC給程式讀,那我就是寫成
              OPEN INPUT GCC
              ...........
              ...........
              (READ GCC)←程式裡面一定可以找到這句


2. READ PRIOR             ←讀上一筆資料
               NEXT              ←讀下一筆資料
               LAST               ←讀最後一筆資料
               FIRST              ←讀第一筆資料
               AT END               ←讀好了之後該做啥
    END-READ  

   例如:讀了M1FL之後就關檔
             READ M1FL
                        AT END
                        CLOSE M1FL
             END-READ.

   小提醒:注意唷COBOL每一句敘述之後都要有句點,除非是包在裡面的敘述,
                   像是IF....  END-IF 或者是READ .... END-READ. 包在中間的句子不需要加句點。       
              
   READ FILE-NAME INTO DATA-NAME

   舉例:我要把M1FL裡面的資料放到M1-REC這個資料名稱(想成變數比較好想)
               READ M1FL INTO M1-REC
               END-READ.
               這樣M1-REC裡面就會放了M1FL中的所有資料。

   今天先到這邊啦,因為上班也很累,我會持續更新,也歡迎大家多給予鼓勵,謝謝啦。