COBOL程式結構


COBOL程式結構包括如在下面的圖片顯示:

Program Structure

簡單介紹這些分割區如下:

  • Sections 是程式邏輯的邏輯細分。段是段落的集合。
  • Paragraphs 是分割區的一段或分立。它可以是使用者自定義或預定義的名稱後面加上的一段,由零個或多個句子/項。
  • Sentences 是一個或多個語句的組合。句子只出現在程式師。句子,必須結束有一個時期。
  • Statements 其執行一些處理有意義的COBOL語句。
  • Characters 是最低的層次,不能再分。

您可以互相涉及的以下範例中的上述條件與COBOL程式:

PROCEDURE DIVISION.
A0000-FIRST-PARA SECTION.
FIRST-PARAGRAPH.
ACCEPT WS-ID            - Statement-1  -----|
MOVE '10' TO WS-ID      - Statement-2       |-- Sentence - 1
DISPLAY WS-ID           - Statement-3  -----|
.

區劃

COBOL程式由4個區劃組成

鑑定區劃

這是每個COBOL程式的第一個也是唯一的強制性分工。程式設計器和編譯器使用該分工鑑定程式。在此處程式唯一的ID是強制性的段落。程式ID指定的程式名稱。程式名稱可以由1?30個字元組成。

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.
PROCEDURE DIVISION.
DISPLAY 'Welcome to yiibai'.
STOP RUN.

JCL以上COBOL程式執行。

//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C
//STEP1 EXEC PGM=HELLO

當編譯並執行上面的程式它會產生以下結果:

Welcome to Yiibai

環境分割區

環境區劃用於指定輸入和輸出檔案的程式。它由兩部分組成:

  • 組態部分給出了關於在其上的程式被寫入和執行的系統資訊。它由兩段: 
    來源計算機:用於編譯程式系統。

    目標計算機:用於執行程式系統。

  • 輸入 - 輸出部分,用於指定關於在節目中要使用的檔案的資訊。它由兩段: 
    檔案控制:給出的程式中使用的外部資料集的資訊。

    IO控制:提供在程式中使用的檔案的資訊。

ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SOURCE-COMPUTER. XXX-ZOS.
OBJECT-COMPUTER. XXX-ZOS.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT FILEN ASSIGN TO DDNAME
ORGANIZATION IS SEQUENTIAL.

資料分割區

資料分割區是用來定義在該程式中使用的變數。它包括四個部分:

  • 檔案部分是用來定義檔案的記錄結構。
  • 工作 - 儲存部分被用於宣告在程式中使用臨時變數和檔案結構。
  • 本地儲存部分與工作- 儲存部分是一樣的。唯一的區別是,變數將被分配並初始化每個程式開始執行時間。
  • 連線段是用來形容那些從外部程式接收到的資料的名稱。

COBOL程式

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT FILEN ASSIGN TO INPUT.
       ORGANIZATION IS SEQUENTIAL.
       ACCESS IS SEQUENTIAL.
DATA DIVISION.
FILE SECTION.
FD FILEN
01 NAME PIC A(25).
WORKING-STORAGE SECTION.
01 WS-STUDENT PIC A(30).
01 WS-ID PIC 9(5).
LOCAL-STORAGE SECTION.
01 LS-CLASS PIC 9(3).
LINKAGE SECTION.
01 LS-ID PIC 9(5).
PROCEDURE DIVISION.
DISPLAY 'Executing COBOL program using JCL'.
STOP RUN.

JCL以上COBOL程式執行。

//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C
//STEP1 EXEC PGM=HELLO
//INPUT DD DSN=ABC.EFG.XYZ,DISP=SHR

當編譯並執行上面的程式它會產生以下結果:

Executing COBOL program using JCL

程式區劃

程式分部被用於包含程式的邏輯。它包括使用資料分割定義的變數可執行語句。在這個劃分,段落和章節名稱是user-defined。

必須有程式師至少有一個語句。最後語句結束在執行這種劃分或者是停止執行它用於呼叫它採用的是被稱為程式的程式或退出程式。

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-NAME PIC A(30).
01 WS-ID PIC 9(5) VALUE '12345'.
PROCEDURE DIVISION.
A000-FIRST-PARA.
DISPLAY 'Hello World'.
MOVE 'YiiBai' TO WS-NAME.
DISPLAY "My name is : "WS-NAME.
DISPLAY "My ID is : "WS-ID.
STOP RUN.

JCL以上COBOL程式執行。

//SAMPLE JOB(TESTJCL,XXXXXX),CLASS=A,MSGCLASS=C
//STEP1 EXEC PGM=HELLO

當編譯並執行上面的程式它會產生以下結果:

Hello World
My name is : YiiBai
My ID is : 12345