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句は不可欠な要素となっています。