COBOL読解の知識マップ(知識グラフ)
type: Dataset
description: COBOLはPROCEDURE DIVISIONによる処理手順の言語である前に、DATA DIVISIONでレコードの形を定義する言語であり、各データ項目はPICTURE句で形を、USAGE句でCOMP-3のような内部表現を指定します。COMP-3は10進数字を2桁ずつ1バイトに詰めるpacked decimalで、テキストとして開くと意味不明なバイト列に見えます。REDEFINESは同じ領域を別の形で読み替え、OCCURSは配列を、88レベルは直前項目の値に名前を付けた条件を表します。COPY文は外部のcopybookをコンパイル時に取り込むため、開いているソース単体では全体像が見えず、PERFORM文とスコープ終端子で処理の流れを追い、FILE STATUSやEXEC SQL、EXEC CICSで外部境界を押さえる必要があります。

COBOL
type: Concept
definition: DATA DIVISIONによるレコード定義とPROCEDURE DIVISIONによる処理手順を柱とする、業務システムで使われてきたプログラミング言語。
alternative label: COBOL言語
alternative label: Common Business Oriented Language
uses: DATA DIVISION
uses: PROCEDURE DIVISION

DATA DIVISION
type: Concept
definition: COBOLプログラムでレコード定義や作業領域などデータの構造を宣言する部分。
alternative label: データ部
uses: PICTURE句(PIC)
uses: USAGE句
uses: REDEFINES句
uses: OCCURS句
uses: 88レベル(条件名)

COMP-3(packed decimal)
type: Concept
definition: 1バイトに10進数字を2桁ずつ詰め、最後のバイトだけ下位1桁と符号を格納するCOBOLの数値内部表現。
alternative label: PACKED-DECIMAL
alternative label: パックド10進数

PROCEDURE DIVISION
type: Concept
definition: COBOLプログラムで実際の処理手順を記述する部分。
alternative label: 手続き部
uses: PERFORM文
uses: スコープ終端子(scope terminator)
uses: MOVE文

PICTURE句(PIC)
type: Concept
definition: COBOLのデータ項目の形(文字数・桁数・符号の有無・小数点位置など)を指定する句。
alternative label: PIC句

USAGE句
type: Concept
definition: COBOLのデータ項目をどのような内部表現(DISPLAY・COMP・COMP-3など)で保持するかを指定する句。
alternative label: USAGE
uses: COMP-3(packed decimal)
uses: COMP-5

COMP-5
type: Concept
definition: PICTUREで指定した桁数ではなく、2/4/8バイトというネイティブな2進数の容量まで値を保持し、切り捨てもそのバイナリのサイズ側で起きるCOBOLの数値内部表現。
alternative label: COMPUTATIONAL-5

REDEFINES句
type: Concept
definition: 同じメモリ領域を別のデータ構造として重ねて定義する、COBOLの句。
alternative label: REDEFINES

OCCURS句
type: Concept
definition: COBOLで配列(テーブル)を定義する句。
alternative label: OCCURS
alternative label: table

OCCURS DEPENDING ON
type: Concept
definition: テーブルの要素数を実行時のデータ項目の値に応じて変える、OCCURS句の拡張。
alternative label: ODO
alternative label: 可変長テーブル
uses: OCCURS句

88レベル(条件名)
type: Concept
definition: 直前のデータ項目が特定の値を持つときに真になる、名前付きの条件を宣言するCOBOLのレベル番号。
alternative label: 条件名
alternative label: condition-name

COPY文
type: Concept
definition: コンパイル時に外部のcopybookをソースへ取り込む、COBOLの文。
alternative label: COPY
uses: copybook

copybook
type: Concept
definition: COPY文で取り込まれる、レコード定義や共通項目などをまとめた外部ソースファイル。
alternative label: コピー簿

PERFORM文
type: Concept
definition: 指定した段落やブロックを呼び出して戻る、COBOLの基本的な制御移動を行う文。
alternative label: PERFORM

スコープ終端子(scope terminator)
type: Concept
definition: IFやPERFORMなど未終了の文をどこまで閉じるかを決める、明示的なEND-*、または暗黙のスコープ終端子として働くピリオドによる終端の仕組み。
alternative label: END-IF
alternative label: 暗黙終端のピリオド

MOVE文
type: Concept
definition: 受け側の型に応じて変換・桁合わせ・ゼロ埋め・切り詰め・編集/逆編集などを伴う、COBOLの値の転記を行う文。
alternative label: MOVE

固定形式(参照形式)
type: Concept
definition: ソース行の列位置(一連番号・indicator・Area A・Area B)に構文上の意味を持たせる、COBOLの伝統的なソース記述形式。
alternative label: fixed format
alternative label: 参照形式

IBM Enterprise COBOL
type: Concept
definition: z/OS向けのIBM製COBOLコンパイラー製品で、ライブラリ処理後の入力ソースを書き出すMDECKなど独自のコンパイラーオプションを持つ。
alternative label: Enterprise COBOL for z/OS
uses: EBCDIC

EBCDIC
type: Concept
definition: z/OS系メインフレームで前提とされることが多い文字コード体系で、数字や英字に見えるバイトでもASCIIとはバイト値の対応が異なる。
alternative label: EBCDIC文字コード

FILE STATUS句
type: Concept
definition: ファイルへの入出力操作ごとの結果コードを受け取る、COBOLのSELECT句で指定するデータ項目。
alternative label: FILE STATUS

EXEC SQL
type: Concept
definition: COBOLソースに埋め込まれたSQL文の区間を示す構文で、COBOL側はホスト変数の受け渡しを担う。
alternative label: 埋め込みSQL

EXEC CICS
type: Concept
definition: CICSのトランザクション処理をCOBOLソースの中で呼び出す構文で、画面・応答コード・COMMAREAなど外部文脈込みで読む必要がある。
alternative label: CICSコマンド

subject: COBOL
predicate: uses
object: DATA DIVISION
description: COBOLはPROCEDURE DIVISIONだけ読んでも半分しか分からず、まずDATA DIVISIONでレコードの形を押さえる必要があるほど、レコード定義中心の言語である。
evidence: https://www.ibm.com/docs/en/cobol-zos/6.3.0
verified at: 2026-08-01
certainty: established

subject: COBOL
predicate: uses
object: PROCEDURE DIVISION
description: COBOLプログラムは実際の処理手順をPROCEDURE DIVISIONに記述する。
evidence: https://www.ibm.com/docs/en/cobol-zos/6.4.0
verified at: 2026-08-01
certainty: established

subject: DATA DIVISION
predicate: uses
object: PICTURE句(PIC)
description: DATA DIVISIONの各データ項目は、PICTURE句でその形(文字数・桁数・符号の有無)を指定する。
evidence: https://www.ibm.com/docs/en/cobol-zos/6.3.0
verified at: 2026-08-01
certainty: established

subject: DATA DIVISION
predicate: uses
object: USAGE句
description: DATA DIVISIONの各データ項目は、USAGE句でDISPLAYやCOMP-3のような内部表現を指定する。
evidence: https://www.ibm.com/docs/ja/cobol-zos/6.4.0
verified at: 2026-08-01
certainty: established

subject: USAGE句
predicate: uses
object: COMP-3(packed decimal)
description: USAGE句の値の1つがCOMP-3(PACKED-DECIMAL)で、金額・件数・レート系の項目でよく使われる。
evidence: https://www.ibm.com/docs/ja/cobol-zos/6.4.0
verified at: 2026-08-01
certainty: established

subject: USAGE句
predicate: uses
object: COMP-5
description: USAGE句の値の1つがCOMP-5で、PICTUREの桁数ではなくネイティブな2進数の容量まで値を保持する。
evidence: https://www.ibm.com/docs/en/cobol-zos/6.4.0
verified at: 2026-08-01
certainty: established

subject: DATA DIVISION
predicate: uses
object: REDEFINES句
description: DATA DIVISIONではREDEFINES句で、同じメモリ領域を別のレコード種別として重ねて定義できる。
evidence: https://www.ibm.com/docs/ja/cobol-zos/6.4.0
verified at: 2026-08-01
certainty: established

subject: DATA DIVISION
predicate: uses
object: OCCURS句
description: DATA DIVISIONではOCCURS句で配列(テーブル)を定義できる。
evidence: https://www.ibm.com/docs/en/cobol-zos/6.4.0
verified at: 2026-08-01
certainty: established

subject: OCCURS DEPENDING ON
predicate: uses
object: OCCURS句
description: OCCURS DEPENDING ONはOCCURS句を拡張し、要素数を実行時の値に応じて可変にする。
evidence: https://www.ibm.com/docs/en/cobol-zos/6.4.0
verified at: 2026-08-01
certainty: established

subject: DATA DIVISION
predicate: uses
object: 88レベル(条件名)
description: DATA DIVISIONでは88レベルで、直前項目の値に名前を付けた条件名を宣言できる。
evidence: https://www.ibm.com/docs/en/cobol-zos/6.3.0
verified at: 2026-08-01
certainty: established

subject: COBOL
predicate: uses
object: COPY文
description: COBOLソースはCOPY文でcopybookをコンパイル時に取り込むことができ、その場合いま開いているソースはまだ完成形ではない。
evidence: https://www.ibm.com/docs/ja/cobol-linux-x86/1.2.0
verified at: 2026-08-01
certainty: context-dependent

subject: COPY文
predicate: uses
object: copybook
description: COPY文は、レコード定義や共通フラグなどをまとめたcopybookという外部ソースファイルを取り込む。
evidence: https://www.ibm.com/docs/ja/cobol-linux-x86/1.2.0
verified at: 2026-08-01
certainty: established

subject: PROCEDURE DIVISION
predicate: uses
object: PERFORM文
description: PROCEDURE DIVISIONの主な制御移動はPERFORM文で、段落やブロックを呼んで戻る。
evidence: https://www.ibm.com/docs/en/cobol-zos/6.4.0
verified at: 2026-08-01
certainty: established

subject: PROCEDURE DIVISION
predicate: uses
object: スコープ終端子(scope terminator)
description: PROCEDURE DIVISIONの文は、END-IFなどの明示的な終端か、暗黙のスコープ終端子であるピリオドで閉じられる。
evidence: https://www.ibm.com/docs/en/cobol-aix/5.1.0
verified at: 2026-08-01
certainty: established

subject: PROCEDURE DIVISION
predicate: uses
object: MOVE文
description: PROCEDURE DIVISIONのMOVE文は単純代入ではなく、受け側の型に応じた変換・桁合わせ・ゼロ埋め・切り詰めを伴うことがある。
evidence: https://www.ibm.com/docs/en/cobol-zos/6.3.0
verified at: 2026-08-01
certainty: established

subject: COBOL
predicate: uses
object: 固定形式(参照形式)
description: 古いCOBOLソースは、列位置(一連番号・indicator・Area A・Area B)に意味を持たせる固定形式で書かれていることがある。
evidence: https://www.ibm.com/docs/en/cobol-zos/6.4.0
verified at: 2026-08-01
certainty: context-dependent

subject: IBM Enterprise COBOL
predicate: uses
object: EBCDIC
description: z/OS系(IBM Enterprise COBOL)ではEBCDICが文字コードの前提になる。
evidence: https://www.ibm.com/docs/en/zos-basic-skills
verified at: 2026-08-01
certainty: established

subject: IBM Enterprise COBOL
predicate: uses
object: 固定形式(参照形式)
description: z/OS系(IBM Enterprise COBOL)ではfixed形式が伝統的な既定の参照形式であり、free形式も選べる。
evidence: https://www.ibm.com/docs/en/cobol-zos/6.4.0
verified at: 2026-08-01
certainty: context-dependent

subject: COBOL
predicate: uses
object: FILE STATUS句
description: ファイル入出力の結果コードを見るため、COBOLはSELECT句でFILE STATUS項目を指定できる。
evidence: https://www.ibm.com/docs/en/cobol-linux-x86/1.2.0
verified at: 2026-08-01
certainty: context-dependent

subject: COBOL
predicate: uses
object: EXEC SQL
description: COBOLソースにはEXEC SQLで埋め込みSQLを書けることがあり、その場合COBOLはホスト変数の器になる。
evidence: https://www.ibm.com/docs/en/cobol-zos/6.4.0
verified at: 2026-08-01
certainty: context-dependent

subject: COBOL
predicate: uses
object: EXEC CICS
description: COBOLソースにはEXEC CICSでCICSのトランザクション処理を書けることがあり、その場合は画面・応答コード・COMMAREAなど外部文脈込みで読む必要がある。
evidence: https://www.ibm.com/docs/ja/cobol-zos/6.3.0
verified at: 2026-08-01
certainty: context-dependent