【COBOL】引数を使う方法

プログラミングの世界では、データを異なるプログラム部分間でやりとりすることは極めて一般的な作業です。それはある部分が行った処理の結果を別の部分で使用する、あるいは異なるタスクを実行するための情報を共有する、という具体的な形をとることが多いです。このデータのやり取りは、一般に引数として行われます。

本日の記事では、COBOL (Common Business-Oriented Language) という古典的ながらも未だに活躍するプログラミング言語における引数の扱い方に焦点を当てます。COBOLがあなたの仕事やプロジェクトにどのように役立つかを理解するためにも、この基本的な概念の理解は欠かせません。それでは一緒に探求していきましょう。

COBOLとは?

COBOLは、1950年代に初めて開発された高級プログラミング言語で、ビジネスデータ処理のために特化されています。その直感的な構文と堅牢さから、COBOLは金融機関や政府機関などで広く使用され、現在でも多くのシステムがCOBOLで動作しています。

COBOLでの引数の扱い

引数はプログラム間でデータをやり取りするための重要なツールで、COBOLでも例外ではありません。COBOLでは、サブルーチンとメインプログラム間で引数を用いてデータを共有します。それはメインプログラムからサブルーチンへデータを渡す、またはサブルーチンが処理した結果をメインプログラムに返す形で行われます。

引数の実例:サブルーチンの呼び出し

具体的な例として、メインプログラムからサブルーチンを呼び出し、引数を渡す場合を見てみましょう。メインプログラムでは、CALL文を使用してサブルーチンを呼び出し、USING句で引数を指定します。一方、サブルーチンでは、LINKAGE SECTIONで引数を定義し、それをPROCEDURE DIVISIONのUSING句で受け取ります。

これらの手順を通じて、メインプログラムとサブルーチン間で引数を通じたデータ共有が可能となります。これはCOBOLプログラミングの基本中の基本であり、それを理解し習得することは、COBOLの世界を探求する第一歩となるでしょう。

サンプル

メインプログラム

IDENTIFICATION DIVISION.
PROGRAM-ID. MainProgram.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 arg1 PIC X(10) VALUE 'Hello'.
01 arg2 PIC X(10) VALUE 'World'.

PROCEDURE DIVISION.
    PERFORM CallSubroutine
    STOP RUN.

CallSubroutine.
    CALL 'SubRoutine' USING arg1 arg2.

サブルーチン

IDENTIFICATION DIVISION.
PROGRAM-ID. SubRoutine.
LINKAGE SECTION.
01 PARAM1 PIC X(10).
01 PARAM2 PIC X(10).

PROCEDURE DIVISION USING PARAM1 PARAM2.
    DISPLAY 'Received from main program: ' PARAM1 ' and ' PARAM2.
    GOBACK.

この例では、メインプログラム (MainProgram) からサブルーチン (SubRoutine) を CALL 文を使用して呼び出し、2つの引数(’Hello’ と ‘World’)を渡しています。サブルーチン側では、LINKAGE SECTION で引数を定義し、それらの値を表示しています。これにより、メインプログラムとサブルーチン間でデータのやり取りが行われます。

まとめ

COBOLにおける引数の扱い方を理解することは、プログラム間でデータを効果的に移動し、コードの再利用を可能にするための鍵となります。その直感的で自己説明的なスタイルは、COBOLが多くのビジネス環境で広く採用されている理由の一つです。この記事を通じて、COBOLにおける引数の基本的な取り扱い方について理解が深まったことを願っています。