COBOL言語のレベル番号「88」によるチェック項目の定義とは | 用語辞典
COBOL(コボル)言語のレベル番号88を使用したチェック項目の定義と使用法とは
COBOL(コボル)言語のレベル番号88とは?
COBOL(コボル)言語において、レベル番号はデータ項目の階層や従属性を表します。レベル番号には、1から49までの通常のレベル番号と、66、77、88といった特殊なレベル番号があり、88は上位のデータ項目に対する条件名と条件を定義するときに使用します。
レベル番号88の形式
レベル番号88で定義した条件名と条件は、命令部での値のチェックに使用することができます。
■書式
88 条件名 VALUE 値 [,値…].
■構文規則
<条件名>
条件名を記述します。記述した条件名は命令部で値のチェックに使用することができます。
<値 [,値…]>
条件となる値を文字定数や数字定数で記述します。
■使用例
レベル番号88を使用して、入力データをチェックするプログラム例をご紹介します。
プログラム例は、コンソールに1桁の数字の入力を促すメッセージを表示し、数字の9が入力されるまで、入力を促し続けるプログラムです。プログラム例では、「CONSOLE-INPUT」という1桁の入力エリアに対して、レベル番号88で0から8までに「SUJI」、9に「OWARI」という条件名を定義し、入力チェックに使用しています。
■実行結果
はじめに入力を促すメッセージが表示されます。
数字の0を入力してみましょう。
再度、入力を促すメッセージが表示されました。次に数字の8を入力してみましょう。
再度、入力を促すメッセージが表示されました。次に英字のAを入力してみましょう。
エラーメッセージが表示され、入力が促されました。次に数字の9を入力してみましょう。
プログラムが終了しました。
レベル番号88のCOBOL(コボル)言語における基本事項やルールについて
レベル番号88の定義は、チェック対象項目を定義した直後に記述します。チェックしたい項目が複数ある場合、それぞれの項目に対して、レベル番号88で条件名と値を定義する必要があります。条件名は重複して定義することはできません。
COBOL(コボル)言語のレベル番号88を使うときの注意点
レベル番号88を使用すると、データのチェック部分のコーディングを簡素化することができますが、同じ条件名で複数のデータをチェックすることができませんので、同じ条件であっても複数の条件名を定義しなければならない場合があります。例えば入力条件として、値域が1から5までという条件があり、データ項目AとBに対し、同じ条件を適用したい場合などです。
同じ条件に対してたくさんの条件名があると、プログラムがわかりにくくなってしまうことがありますので、わかりにくくならないように注意してください。
レベル番号88を使ったCOBOL(コボル)プログラムの活用方法
レベル番号88の条件として、値を書き連ねることもできますが、範囲を指定することもできます。範囲を指定する場合はTHRUを使用します。
■書式
88 条件名 VALUE 値 TRUE 値.
「COBOL(コボル)言語のレベル番号88とは?」でご紹介したサンプルプログラムでは、データ項目が取り得る値をレベル番号88で条件として羅列していましたが、ここでは条件に範囲を指定する方法をご紹介します。
サンプルプログラムでは、「COBOL(コボル)言語のレベル番号88とは?」でご紹介したサンプルプログラムのレベル番号88の条件を範囲指定に変更しています。
変更箇所は、赤マーカーの部分です。
- ******************************************************************
- * Author:
- * Date:
- * Purpose:
- * Tectonics: cobc
- ******************************************************************
- IDENTIFICATION DIVISION.
- PROGRAM-ID. 88-SAMPLE2.
- DATA DIVISION.
- FILE SECTION.
- WORKING-STORAGE SECTION.
- 01 WORKING-AREA.
- * コンソール入力バッファ
- 03 CONSOLE-INPUT PIC X(1).
- 88 SUJI VALUE 0 THRU 8.
- 88 OWARI VALUE 9.
- PROCEDURE DIVISION.
- *-------------------------------------------
- * 主手続
- *-------------------------------------------
- MAIN-PROCEDURE.
- * コンソール入力エリアの初期化
- MOVE SPACE TO CONSOLE-INPUT.
- EXEC-DISPLAY-INPUT-PROC.
- * コンソール表示&入力
- DISPLAY "数字を1文字入力してください".
- DISPLAY "0-8:CONTINUE 9:EXIT".
- ACCEPT CONSOLE-INPUT FROM CONSOLE.
- * 0から8が入力された場合、コンソール表示&入力を繰り返す
- IF SUJI THEN
- GO TO EXEC-DISPLAY-INPUT-PROC
- END-IF.
- * 9が入力された場合、プログラムを終了する
- IF OWARI THEN
- GO TO END-PROC
- END-IF.
- DISPLAY "入力された値は数字ではありません".
- GO TO EXEC-DISPLAY-INPUT-PROC.
- END-PROC.
- STOP RUN.
- END PROGRAM 88-SAMPLE2.
■実行結果
はじめに入力を促すメッセージが表示されます。
数字の0を入力してみましょう。
再度、入力を促すメッセージが表示されました。次に数字の8を入力してみましょう。
再度、入力を促すメッセージが表示されました。次に英字のAを入力してみましょう。
エラーメッセージが表示され、入力が促されました。次に数字の9を入力してみましょう。
プログラムが終了しました。
「COBOL(コボル)言語のレベル番号88とは?」でご紹介したサンプルプログラムと、全く同じ結果を得られることがおわかりいただけたと思います。
レベル番号88によるデータ項目のチェック条件の定義は、上手く使うとシンプルでわかりやすいコーディングをすることができます。覚えておいて損はない機能ですので、COBOL言語の知識のひとつとして覚えておくといいでしょう。
この記事を読んだ人は、こちらの記事も読んでいます
あなたの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句」は便利?使用方法を学びましょう|用語辞典