読み込み中...

【COBOL】DISPLAY-1句の活用法10選

COBOLのDISPLAY-1句の活用法を徹底解説するイメージ COBOL
この記事は約14分で読めます。

【サイト内のコードはご自由に個人利用・商用利用いただけます】

この記事では、プログラムの基礎知識を前提に話を進めています。

説明のためのコードや、サンプルコードもありますので、もちろん初心者でも理解できるように表現してあります。

本記事のサンプルコードを活用して機能追加、目的を達成できるように作ってありますので、是非ご活用ください。

※この記事は、一般的にプロフェッショナルの指標とされる『実務経験10,000時間以上』を満たす現役のプログラマチームによって監修されています。

※Japanシーモアは、常に解説内容のわかりやすさや記事の品質に注力しております。不具合、分かりにくい説明や不適切な表現、動かないコードなど気になることがございましたら、記事の品質向上の為にお問い合わせフォームにてご共有いただけますと幸いです。
(送信された情報は、プライバシーポリシーのもと、厳正に取扱い、処分させていただきます。)

はじめに

この記事を読めば、COBOLプログラミングの中核をなすDISPLAY-1句の基本から応用までを習得できます。

初心者でも理解しやすいよう、基本的な概念から丁寧に説明し、実践的なサンプルコードを交えてご紹介します。

COBOLは長年にわたりビジネスアプリケーションの開発に使用されてきたプログラミング言語で、その堅牢性と信頼性から現在でも広く使われています。

この記事を通じて、COBOLの魅力とその基本的な使い方を理解し、プログラミングスキルを一段と深めることができるでしょう。

●COBOLとは

COBOL(Common Business Oriented Language)は、1959年に開発されたビジネス向けのプログラミング言語です。

その設計は、ビジネスデータ処理と金融システムを念頭に置いており、読みやすく理解しやすい英語に近い構文が特徴です。

COBOLは、その長い歴史の中で多くのバージョンアップを経てきましたが、基本的な構造と文法は初期の頃から大きく変わっていません。

このため、現在でも多くの既存システムで使用されており、特に金融機関や政府機関などで重要な役割を果たしています。

○COBOLの歴史と特徴

COBOLは、その誕生以来、ビジネスアプリケーションの開発において中心的な役割を担ってきました。

特に、大量のデータを扱うビジネス環境や複雑な数値計算を必要とする場面で、その強力なデータ処理能力が発揮されています。

COBOLのコードは、英語に似た自然な文法で書かれているため、プログラミング初心者でも理解しやすいのが大きな特徴です。

さらに、堅牢性と移植性に優れ、大規模なシステムでも安定した運用が可能です。

○COBOLの現在の利用状況

現代でも、COBOLは世界中の多くの企業や組織において広く使用されています。

特に金融機関、保険会社、政府機関では、既存のシステムがCOBOLで構築されていることが多く、これらのシステムのメンテナンスやアップデートにはCOBOLの知識が不可欠です。

新規のプロジェクトでCOBOLが選ばれることは少なくなっていますが、既存システムの重要性を考えると、COBOLスキルは依然として市場価値の高いものと言えます。

また、最近ではクラウド環境やモダンな開発フレームワークとの連携を強化する動きも見られ、COBOLの進化が続いています。

●DISPLAY-1句の基本

COBOLにおいて、DISPLAY-1句はプログラムで最も基本的かつ頻繁に使用される命令の一つです。

DISPLAY-1句は、主にデータや文字列を画面に表示するために使用されます。

この命令の一般的な使用法は、文字列や数値を直接、または変数を通じて出力することです。

この命令の柔軟性により、COBOLプログラマーはユーザーインターフェースの構築やデータ出力のために重要なツールとしてDISPLAY-1句を活用します。

○DISPLAY-1句とは

DISPLAY-1句は、COBOLプログラム内でデータを画面に出力するために使用される命令です。

この命令は、文字列リテラルや数値リテラル、または変数の内容を標準出力(通常はコンソール画面)に表示するために使用されます。

DISPLAY-1句は、そのシンプルさと直感的な構文から、COBOLプログラミングを学ぶ初心者にとって理解しやすい命令の一つとなっています。

例えば、「DISPLAY “Hello, World!”」というコードは、文字列「Hello, World!」を画面に表示します。

○DISPLAY-1句の構文

DISPLAY-1句の構文は非常にシンプルです。

基本的な形式は「DISPLAY 項目」となります。

ここで「項目」とは、表示したい文字列リテラル、数値リテラル、または変数を指します。

例えば、変数に格納された文字列を表示する場合、「DISPLAY 変数名」という形でコードを記述します。

また、複数の項目を一度に表示することも可能で、「DISPLAY 項目1, 項目2」というようにコンマで項目を区切ります。

DISPLAY-1句は、出力を整形するための追加オプションもサポートしており、例えば、改行を挿入するために「UPON CONSOLE」という形式を使用することもできます。

IDENTIFICATION DIVISION.
PROGRAM-ID. Hello.

DATA DIVISION.
WORKING-STORAGE SECTION.
01 GREETING PIC A(13) VALUE 'Hello, World!'.

PROCEDURE DIVISION.
    DISPLAY GREETING.
    STOP RUN.

このサンプルコードでは、まずGREETINGという変数を定義し、'Hello, World!'という文字列を格納しています。

プロシージャ部分では、DISPLAY GREETING命令を使ってこの変数の内容を画面に表示します。

このコードを実行すると、画面に「Hello, World!」と表示されます。

これはCOBOLにおける基本的な表示方法を表した簡単な例です。

●DISPLAY-1句の使い方

COBOLプログラミングにおけるDISPLAY-1句の使い方は多岐にわたります。

基本的な文字列や変数の表示から、より複雑な条件付き表示まで、DISPLAY-1句は多用途に活用できる強力なツールです。

初心者でも理解しやすいように、ここではDISPLAY-1句を用いた様々なシナリオをサンプルコードと共に解説します。

○サンプルコード1:文字列の表示

最も基本的なDISPLAY-1句の使用例として、単純な文字列を画面に表示する方法があります。

下記のサンプルコードは、”Hello, COBOL World!”という文字列を画面に出力します。

IDENTIFICATION DIVISION.
PROGRAM-ID. SimpleDisplay.

PROCEDURE DIVISION.
    DISPLAY "Hello, COBOL World!".
    STOP RUN.

このコードを実行すると、コンソールに”Hello, COBOL World!”と表示されます。

DISPLAY命令は非常に直感的で、COBOLの初学者でも簡単に使用することができます。

○サンプルコード2:変数の表示

次に、変数を使用して文字列や数値を表示する方法を見てみましょう。

下記のサンプルコードでは、数値と文字列が格納された変数を画面に表示します。

IDENTIFICATION DIVISION.
PROGRAM-ID. DisplayVariable.

DATA DIVISION.
WORKING-STORAGE SECTION.
01 MY-NUMBER PIC 9(4) VALUE 1234.
01 MY-STRING PIC A(20) VALUE "COBOL Programming".

PROCEDURE DIVISION.
    DISPLAY "Number: " MY-NUMBER.
    DISPLAY "String: " MY-STRING.
    STOP RUN.

このコードでは、数値1234と文字列"COBOL Programming"をそれぞれ変数に格納し、DISPLAY命令を使って画面に出力しています。

変数を使用することで、動的なデータの表示が可能になります。

○サンプルコード3:条件付き表示

DISPLAY-1句を使った条件付き表示も可能です。

下記のサンプルコードでは、ある条件が満たされた場合にのみ特定のメッセージを表示します。

IDENTIFICATION DIVISION.
PROGRAM-ID. ConditionalDisplay.

DATA DIVISION.
WORKING-STORAGE SECTION.
01 MY-FLAG PIC X VALUE 'Y'.

PROCEDURE DIVISION.
    IF MY-FLAG = 'Y'
        DISPLAY "Flag is Y, showing message".
    ELSE
        DISPLAY "Flag is not Y, no message".
    END-IF.
    STOP RUN.

このコードでは、変数MY-FLAG'Y'の場合にのみメッセージを表示します。

これにより、プログラムの実行中に条件に基づいて異なるアクションを取ることが可能になります。

●DISPLAY-1句の応用例

COBOLにおけるDISPLAY-1句の応用例は、基本的な表示方法を越え、より複雑なシナリオに対応することが可能です。

ループ内での使用や、複数の変数の同時表示、書式設定を用いた表示など、さまざまな方法でDISPLAY-1句を活用することができます。

ここでは、これらの応用例を詳しく解説し、それぞれに対応するサンプルコードを提供します。

○サンプルコード4:ループ内での使用

ループ内でDISPLAY-1句を使用することで、繰り返し処理中に情報を表示することができます。

下記のサンプルコードは、1から5までの数値をループを使って表示します。

IDENTIFICATION DIVISION.
PROGRAM-ID. LoopDisplay.

DATA DIVISION.
WORKING-STORAGE SECTION.
01 COUNTER PIC 9 VALUE 1.

PROCEDURE DIVISION.
    PERFORM UNTIL COUNTER > 5
        DISPLAY "Counter: " COUNTER
        ADD 1 TO COUNTER
    END-PERFORM.
    STOP RUN.

このコードでは、COUNTER変数を使って1から5までの数値を表示します。

ループ内でDISPLAY命令を使用することで、繰り返し処理の各ステップで変数の値を出力することができます。

○サンプルコード5:複数の変数を同時に表示

DISPLAY-1句を使用して複数の変数を一度に表示することも可能です。

下記のサンプルコードでは、異なる2つの変数の内容を同時に画面に表示します。

IDENTIFICATION DIVISION.
PROGRAM-ID. MultipleVariablesDisplay.

DATA DIVISION.
WORKING-STORAGE SECTION.
01 FIRST-VAR PIC A(10) VALUE "Hello".
01 SECOND-VAR PIC A(10) VALUE "COBOL".

PROCEDURE DIVISION.
    DISPLAY FIRST-VAR " " SECOND-VAR.
    STOP RUN.

このコードでは、2つの文字列変数FIRST-VARSECOND-VARを同時に表示します。

これにより、複数のデータを連結して出力することが可能になります。

○サンプルコード6:書式設定を用いた表示

DISPLAY-1句では、書式設定を用いて出力のフォーマットを調整することもできます。

下記のサンプルコードでは、数値の書式設定を行い、特定のフォーマットで表示します。

IDENTIFICATION DIVISION.
PROGRAM-ID. FormattedDisplay.

DATA DIVISION.
WORKING-STORAGE SECTION.
01 MY-NUMBER PIC 9(4) VALUE 1234.

PROCEDURE DIVISION.
    DISPLAY "Formatted Number: " MY-NUMBER.
    STOP RUN.

このコードでは、MY-NUMBER変数の値を指定された書式で表示します。

このようにDISPLAY-1句を用いることで、出力の見た目を整え、より読みやすいフォーマットで情報を提供することができます。

●注意点と対処法

COBOLプログラミング、特にDISPLAY-1句を使用する際には、いくつかの重要な注意点があります。

これらのポイントを理解し、適切に対処することで、より効果的かつ効率的なプログラムを作成することができます。

ここでは、文字列の扱い方、パフォーマンスへの影響、エラーハンドリングに関する注意点とそれぞれの対処法を解説します。

○文字列の扱い方

COBOLでは、文字列は特定のサイズを持つことが前提となっています。

そのため、文字列の長さを超えるデータを格納しようとすると、切り捨てられるか、エラーが発生する可能性があります。

これを避けるためには、常に文字列の長さを適切に設定し、データの長さをその範囲内に収める必要があります。

○パフォーマンスに関する注意

DISPLAY-1句は出力操作を伴うため、頻繁に使用するとプログラムのパフォーマンスに影響を与える可能性があります。

特にループ内での多用は避け、必要な時のみに限定して使用することが推奨されます。

また、出力の量を制限することで、実行時間の短縮にも繋がります。

○エラーハンドリング

DISPLAY-1句を使用する際、特に外部デバイスへの出力を行う場合、エラーが発生する可能性があります。

例えば、プリンターがオフラインの状態で印刷を試みると、エラーが発生します。

このような状況に対処するためには、エラーハンドリングのルーチンを実装することが重要です。

エラーが発生した際に適切なメッセージを表示し、プログラムが安全に停止するようにすることで、意図しない動作やデータの損失を防ぐことができます。

●DISPLAY-1句のカスタマイズ方法

COBOLにおけるDISPLAY-1句のカスタマイズは、プログラムの柔軟性とユーザビリティを高めるために重要です。

カスタムフォーマットの作成、動的な表示、ユーザー入力に基づく表示など、さまざまな方法でDISPLAY-1句をカスタマイズすることが可能です。

ここでは、これらのカスタマイズ方法とそれぞれのサンプルコードを提供します。

○サンプルコード7:カスタムフォーマットの作成

COBOLでは、DISPLAY-1句を使用して出力のフォーマットをカスタマイズすることができます。

下記のサンプルコードは、日付と時刻を特定のフォーマットで表示しています。

IDENTIFICATION DIVISION.
PROGRAM-ID. CustomFormatDisplay.

DATA DIVISION.
WORKING-STORAGE SECTION.
01 TODAY PIC 9(8) VALUE 20230101.
01 NOW-TIME PIC 9(6) VALUE 123000.

PROCEDURE DIVISION.
    DISPLAY "Date: " TODAY " Time: " NOW-TIME.
    STOP RUN.

このコードでは、日付と時刻を格納する変数TODAYNOW-TIMEを定義し、それらを特定のフォーマットで表示します。

このようなカスタムフォーマットを利用することで、より読みやすい出力を実現できます。

○サンプルコード8:動的な表示

DISPLAY-1句は、プログラム実行時に動的に変化するデータの表示にも使用できます。

下記のサンプルコードでは、ユーザーからの入力に基づいて異なるメッセージを表示します。

IDENTIFICATION DIVISION.
PROGRAM-ID. DynamicDisplay.

DATA DIVISION.
WORKING-STORAGE SECTION.
01 USER-CHOICE PIC 9.

PROCEDURE DIVISION.
    ACCEPT USER-CHOICE
    IF USER-CHOICE = 1
        DISPLAY "Option 1 selected".
    ELSE
        DISPLAY "Other option selected".
    END-IF.
    STOP RUN.

このコードでは、ユーザーからの入力を受け取り、それに応じて異なるメッセージをDISPLAY命令で表示します。

動的な表示を用いることで、ユーザーインタラクションに応じた柔軟なプログラムを作成できます。

○サンプルコード9:ユーザー入力に基づく表示

ユーザーからの入力に基づいて表示内容を変えることは、インタラクティブなプログラムにおいて非常に重要です。

下記のサンプルコードは、ユーザーが入力したテキストを表示しています。

IDENTIFICATION DIVISION.
PROGRAM-ID. UserInputDisplay.

DATA DIVISION.
WORKING-STORAGE SECTION.
01 USER-INPUT PIC A(20).

PROCEDURE DIVISION.
    DISPLAY "Enter your text: ".
    ACCEPT USER-INPUT
    DISPLAY "You entered: " USER-INPUT.
    STOP RUN.

このコードでは、ユーザーにテキストの入力を求め、入力されたテキストをそのまま表示します。

このようにユーザー入力に基づいてDISPLAY-1句を使用することで、インタラクティブなアプリケーションを作成することが可能です。

まとめ

この記事では、COBOLプログラミングにおけるDISPLAY-1句の基本的な使い方から応用テクニックまでを詳しく解説しました。

初心者でも理解しやすいように、基本的な概念から応用例に至るまで、具体的なサンプルコードを用いて説明しました。

DISPLAY-1句の効果的な使い方をマスターすることで、COBOLプログラミングの幅が広がり、より効率的で実用的なプログラムを作成することが可能になります。

プログラミングの基本を学び、応用技術を身につけることで、COBOLのさらなる深みを探求できるでしょう。