COBOL言語の「TYPE句」とは?データ型機能について知ろう | 用語辞典
COBOL(コボル)言語の予約語TYPE句を使った命令文の書き方とは
COBOL(コボル)言語のTYPE句とは?
TYPE句は報告書や帳票などを作成するときに、報告集団の情報を記述する報告集団記述項の1つです。
TYPE句は報告書集団記述項の中でも、主に報告書集団のデータ型や種類、出力位置などを宣言するときに、データ部(DATA DIVISION)に記述します。
TYPE句で指定する項目は主に「REPORT HEADING (報告書頭書き)」「PAGE HEADING(ページ頭書き)」「CONTROL HEADING (制御頭書き)」「DETAIL(明細報告)」「CONTROL FOOTING(制御脚書き)」「PAGE FOOTING(ページ脚書き)」「REPORT FOOTING (報告書脚書き)」などがあります。
また、報告書を作成するにはTYPE句の他にも印字位置を指定するCOLUMN NUMBER句や制御切れ、改ページを指定するGROUP INDICATE句、報告集団の縦の位置を指定するLINE NUMBER句など、さまざまな機能があります。
書き方:
TYPE IS {REPORT HEADING または RH}
{PAGE HEADING または PH}
{CONTROL HEADING または CH} {データ-1 または FINAL}
{DETAIL または DE}
{CONTROL FOOTING または CF} {データ-1 または FINAL}
{PAGE FOOTING または PF}
{REPORT FOOTING または RF}
※TYPE句の各項目は、それぞれRH、PHなどの省略形で記述することもできます。
TYPE句は以下のように記述します。
※サンプルでは報告書記述項(RD)も記述しています。RD句では報告書のページ形式や制御用データ項目について指定します。
TYPE句のCOBOL(コボル)言語における基本事項やルールについて
- TYPE IS 各項目などの間の空白や改行は、自由に指定できます。
- REPORT HEADINGには報告書頭書き報告集団を指定します。
- PAGE HEADINGにはページ頭書き報告集団を指定します。
- CONTROL HEADINGには制御頭書き報告集団を指定します。
- DETAILには明細報告集団を指定します。
- CONTROL FOOTINGには制御脚書き報告集団を指定します。
- PAGE FOOTINGにはページ脚書き報告集団を指定します。
- REPORT FOOTINGには報告書脚書き報告集団を指定します。
- データ-1、データ-2およびFINALは、報告書記述項のCONTROL句で指定します。また、両方を省略することもできます。
COBOL(コボル)言語のTYPE句を扱う上での注意点
- TYPE IS 各項目の報告集団は複数指定できません。
- TYPE句で参照する型は同じでなければいけません。
- 制御脚書きおよび報告書脚書きでは、SOURCEおよびUSE句は、制御(CONTROL)項目または制御項目に従属する項目を参照することはできません。
- ページ頭書きまたは頭書きグループでは、制御(CONTROL)項目または制御項目に従属する項目を参照することはできません。
- 1つの報告書の記述には、1つの本体集団の記述がなければいけません。
TYPE句を使ったCOBOL(コボル)プログラムの活用法
TYPE句を指定すれば、報告書を作成する上で必要な報告集団を宣言することができます。ここでは、帳票を出力するための簡単なサンプルを紹介します。
(TYPE句以外のプログラムの詳細な処理内容については、ここでは省略します。)
- IDENTIFICATION DIVISION.
- PROGRAM-ID. TYPE_SAMPLE.
- ENVIRONMENT DIVISION.
- INPUT-OUTPUT SECTION.
- FILE-CONTROL.
- SELECT REPORT-FILE ASSIGN TO 'report.txt'
- …
- DATA DIVISION.
- FILE SECTION.
- FD REPORT-FILE
- …
- WORKING-STORAGE SECTION.
- …
- *>報告書節
- REPORT SECTION.
- *>報告書記述項
- RD URIAGE-HOKOKUSHO-LIST
- LINE LIMIT 100
- FIRST DETAIL 5
- PAGE LIMIT 50
- CONTROL IS HOKOKUSHO.
- *>制御頭書き報告集団を指定
- 01 TYPE IS CONTROL HEADING URIAGE.
- 02 LINE NUMBER PLUS 3.
- 03 COLUMN 10 PIC X(5) VALUE '-----'.
- 03 COLUMN 20 PIC X(5) VALUE 'URIAGE'.
- 03 COLUMN 30 PIC X(5) VALUE 'REPORT'.
- 03 COLUMN 46 PIC X(5) VALUE '-----'.
- *>制御頭書き報告集団を指定
- 01 TYPE IS CONTROL HEADING REPORT.
- 02 LINE NUMBER PLUS 2.
- 03 COLUMN 13 PIC X(2) VALUE '--'.
- 03 COLUMN 20 PIC X(5) VALUE 'TOKYO'.
- 03 COLUMN 30 PIC X(11) VALUE 'URIAGE-DAKA'.
- 03 COLUMN 46 PIC X(2) VALUE '--'.
- *>明細報告集団を指定
- 01 URIAGE-DAKA TYPE IS DETAIL.
- 02 LINE NUMBER PLUS 1.
- 03 COLUMN 15 PIC X(15) SOURCE SHOHIN.
- 03 COLUMN 30 PIC 99,999 SOURCE ITEM02.
- *>制御脚書き報告集団を指定
- 01 TYPE IS CONTROL FOOTING TOKUYAKU.
- 02 LINE NUMBER PLUS 2.
- 03 COLUMN 15 PIC X(7) VALUE "GOUKEI".
- 03 COLUMN 25 PIC ¥¥,¥¥9 SUM URIAGE.
- 03 COLUMN 35 PIC X(6) VALUE "RUIKEI".
- 03 COLUMN 45 PIC ¥,¥¥¥,¥¥9 SUM URIAGE.
- PROCEDURE DIVISION.
- …
- STOP RUN.
※【¥】は全角表記ですが、実際の入力は半角で入力ください。
帳票への出力例:
サンプルでは、それぞれのTYPE句の項目に出力するためのデータを指定しています。
「TYPE IS CONTROL HEADING URIAGE」CONTROL HEADINGではURIAGEの値に変更があったときに、印刷します。
「TYPE IS CONTROL HEADING REPORT」では、REPORTの値が変わったときに印刷します。
「URIAGE-DAKA TYPE IS DETAIL」では、明細報告集団を印刷します。
「TYPE IS CONTROL FOOTING TOKUYAKU」では、TOKUYAKUの値が変わったときに印刷します。
各TYPE句では指定した位置に帳票へ出力するために、COLUMNでカラムの位置を指定しています。
この記事を読んだ人は、こちらの記事も読んでいます
あなたのCOBOL技術を活かしませんか?
COBOL入門のカテゴリー
1. 優良社員が多数在籍しています
2. 即日派遣、又は請負います
3. 安心価格で請負います
4. 同時、協力会社募集中です
1. 正社員
2. 契約社員
3. 個人事業主
などの 求人情報 が閲覧できます。
目指せ!COBOLダントツ一番企業。
創業当初の話や理念が閲覧できます。
応募条件
※2020年5月31日を以って、締切りました。
18歳~28歳の方。
正社員採用において、北川社長の著書『祈り方が9割』を読んで感想文を事前に提出すると、無条件で最終面接まで進むことができます。
COBOLとは、どのようなプログラミング言語なのか、初心者にもわかりやすく、文法の例をあげて解説してます。
COBOL入門の人気記事
- COBOL言語とは?プログラムの書き方やルールを解説!|基礎ガイド
- 【COBOL言語】条件分岐処理の代名詞「IF文」について知ろう|用語辞典
- COBOL言語の「MOVE文」とは?転記のルールをご紹介します|用語辞典
- COBOL言語の「STRING文」とは?文字連結の基礎知識と注意点|用語辞典
- 多枝分岐ってなに?COBOL言語の「EVALUATE文」を知ろう!|用語辞典
- COBOL言語の「PICTURE句」とは?基本事項を解説します!|用語辞典
- COBOL言語で計算処理をするなら「COMPUTE文」|用語辞典
- COBOL言語の「REDEFINES句」とは?使い方を確認しよう!|用語辞典
- 覚えておけば楽ができる?COBOL言語の「COPY文」の使い方|用語辞典
- COBOL言語の文字列操作のパターンを理解しよう!|基礎ガイド
- COBOL言語の初期化処理に重宝する「INITIALIZE文」とは?|用語辞典
- COBOL言語の「LOW-VALUE」の使い方について理解しよう!|基礎ガイド
- COBOL言語の「OCCURS句」について知ろう!学ぶべき基本とは|用語辞典
- COBOL言語初心者も安心! 難解「CALL文」をスッキリ解決|用語辞典
- COBOL言語の「PERFORM文」とは。実行制御について解説!|用語辞典
- COBOL言語の繰り返し処理のパターンを理解しよう!|基礎ガイド
- COBOL言語の「定数」の種類と使い方について理解しよう!|用語辞典
- COBOLのDBアクセスパターンを学ぼう!「FETCH」|応用ガイド
- COBOL言語の「DISPLAY文」は、ディスプレイ出力の為にある|用語辞典
- COBOL言語の「VARYING句」は便利?使用方法を学びましょう|用語辞典