複数テーブル項目の処理 (ALL 添え字)

テーブルのデータを繰り返し処理する必要のある場合がよくあります。複数の引き数を受け取る 組み込み関数の場合、テーブル内のすべての項目やテーブルの単一ディメンションを参照するために、 ALL 添え字を使用できます。反復は自動的に処理されるため、コードは短く、 単純になります。

例 1:

この例は、Table-Two のクロスセクションを合計します。

Compute Table-Sum = FUNCTION SUM (Table-Two(ALL, 3, ALL)))

テーブル 2 が 2x3x2 の配列とすると、上記のステートメントによって、 以下の要素が合計されます。

Table-Two(1,3,1)
Table-Two(1,3,2)
Table-Two(2,3,1)
Table-Two(2,3,2)

例 2:

この例は、すべての従業員の値を計算します。

01 Employee-Table.
05 Emp-Count Pic s9(4) usage binary.
05 Emp-Record occurs 1 to 500 times
depending on Emp-Count.
10 Emp-Name Pic x(20).
10 Emp-Idme Pic 9(9).
10 Emp-Salary Pic 9(7)v99.
.
.
Procedure Division.
Compute Max-Salary = Function Max(Emp-Salary(ALL))
Compute I = Function Ord-Max(Emp-Salary(ALL))
Compute Avg-Salary = Function Mean(Emp-Salary(ALL))
Compute Salary-Range = Function Range(Emp-Salary(ALL))
Compute Total-Payroll = Function Sum(Emp-Salary(ALL))

例 3:

複数の引き数を受け取る関数では、スカラーと配列の引き数を混合できます。

Compute Table-Median = Function Median(Arg1 Table-One(ALL))