【COBOL】OCCURS句で配列を定義する方法

COBOL(Common Business-Oriented Language)は、ビジネス向けのプログラム言語として広く使用されています。その中でもOCCURS句は、同じデータ項目が繰り返される場合に非常に有用です。この記事では、OCCURS句の基本構文から実際の使用例、さらに動的な配列の定義方法まで詳しく解説します。

OCCURS句の基本構文

まずは、OCCURS句の基本的な構文について説明します。

01 GROUP-ITEM.
   05 ITEM OCCURS n TIMES.
       10 SUB-ITEM PIC X(10).
  • GROUP-ITEM: データ項目のグループを定義します。
  • ITEM OCCURS n TIMES: n回繰り返されるITEMを定義します。
  • SUB-ITEM PIC X(10): 10文字の文字列としてSUB-ITEMを定義します。

実際の例 1か月の日々の売上データ

1か月の日々の売上データを保持するための配列を定義する例を見てみましょう。

01 MONTHLY-SALES.
   05 DAILY-SALES OCCURS 31 TIMES.
       10 SALES-AMOUNT PIC 9(5)V99.
  • MONTHLY-SALES: 1か月分の売上データのグループを定義します。
  • DAILY-SALES OCCURS 31 TIMES: 31日分の売上データを繰り返し定義します。
  • SALES-AMOUNT PIC 9(5)V99: 最大5桁の整数と2桁の小数で売上額を表します。

動的なOCCURS句の使用

COBOLでは、OCCURS句を使って動的に配列のサイズを決定することも可能です。DEPENDING ON句を使用することで、配列のサイズを柔軟に設定できます。

01 DYNAMIC-ARRAY.
   05 ARRAY-SIZE PIC 9(2).
   05 ITEM OCCURS 1 TO 50 TIMES DEPENDING ON ARRAY-SIZE.
       10 SUB-ITEM PIC X(10).
  • ARRAY-SIZE PIC 9(2): 配列のサイズを指定するデータ項目です。
  • ITEM OCCURS 1 TO 50 TIMES DEPENDING ON ARRAY-SIZE: 配列のサイズは1から50までの範囲で、ARRAY-SIZEの値によって決まります。

まとめ

COBOLのOCCURS句は、データの繰り返しを効果的に処理するための強力なツールです。これを使用することで、同じデータ項目の複数のインスタンスを簡単に扱うことができます。ビジネス向けの大規模なデータ処理において、OCCURS句は不可欠な要素となっています。