Rational Developer for System z
Enterprise COBOL for z/OS バージョン 4.1 プログラミング・ガイド


最大または最小データ項目の検出

2 つ以上の英数字、英字、または国別データ項目のうち、どれが最大値を持つかを判別する場合には、MAX または ORD-MAX 組み込み関数を使用します。 どの項目が最小値を持つのかを判別するには、MIN または ORD-MIN を使用します。 これらの関数は、照合シーケンスにしたがって評価します。

数値項目 (USAGE NATIONAL のあるものを含む) を比較するには、MAXORD-MAXMIN、 または ORD-MIN を使用します。 これらの組み込み関数を使用すると、引数の代数値が比較されます。

MAX および MIN 関数は、指定された引数の 1 つの内容を返します。 例えば、プログラムに以下のデータ定義が含まれているとします。

05  Arg1   Pic x(10)  Value "THOMASSON ".
05  Arg2   Pic x(10)  Value "THOMAS    ".
05  Arg3   Pic x(10)  Value "VALLEJO   ".

次のステートメントは、VALLEJObbbCustomer-record の最初の 10 文字位置に割り当てます (ここで b はブランク・スペースを表します)。

Move Function Max(Arg1 Arg2 Arg3) To Customer-record(1:10)

代わりに MIN を使用すると、THOMASbbbb が割り当てられます。

ORD-MAX および ORD-MIN 関数は、提供した引数のリストの中で最大値または最小値を持つ引数の (左からカウントした) 序数位置を表す整数を返します。 上記の例で ORD-MAX 関数を使用すると、数字関数への参照が有効場所にないので、コンパイラーはエラー・メッセージを出します。 以下に、ORD-MAX の有効な使用例を示します。

Compute x = Function Ord-max(Arg1 Arg2 Arg3)

上記のステートメントは、前の例と同じ引数が使用された場合、整数 3 を x に割り当てます。代わりに ORD-MIN を使用した場合には、整数 2 が返されます。 Arg1Arg2、および Arg3 が配列 (テーブル) の連続エレメントであったなら、上の例はもっと現実的なものになると思われます。

任意の引数に国別項目を指定する場合、すべての引数をクラス国別と指定する必要があります。

関連参照
MAX (Enterprise COBOL 言語解説書)
MIN (Enterprise COBOL 言語解説書)
ORD-MAX (Enterprise COBOL 言語解説書)
ORD-MIN (Enterprise COBOL 言語解説書)


ご利用条件 | フィードバック

このインフォメーション・センターでは Eclipse テクノロジーが採用されています。(http://www.eclipse.org)