Rational Developer for System z
Enterprise PL/I for z/OS, Version 3.8, 言語解説書

DEFINE ORDINAL ステートメント

DEFINE ORDINAL ステートメントは、順序付けられた (名前付きの) 値の セットを表すタイプを指定します。

構文図を読む構文図をスキップする>>-DEFINE ORDINAL--ordinal-type-name---------------------------->
 
>--(--| ordinal-value-list |--)--+----------------------+------->
                                 '-PRECISION--(integer)-'
 
>--+----------+--;--| ordinal-value-list: |--------------------->
   +-SIGNED---+
   '-UNSIGNED-'
 
   .-,--------------------------.
   V                            |
>----member--+----------------+-+------------------------------><
             '-VALUE(integer)-'
 
ordinal-type-name
Ordinal-type-name は、序数値のセット名を指定します。 この名前は、ORDINAL 属性を持つ DECLARE ステートメントにおいてのみ使用できます。 この名前を別の場所で使用すると、ほかの任意の非序数名として処理されます。
member
セット内のメンバーの名前を指定します。
VALUE
VALUE 属性は、セット内の特定のメンバーの値を指定します。 最初のメンバーの場合、VALUE 属性を省略すると、ゼロの値が使用されます。 ほかのメンバーの場合、VALUE 属性を省略すると、 次に大きい整数値が使用されます。

VALUE 属性の値は整数でなければなりません。 この整数値は正負の符号を持つことができますが、 確実に増加していかなければなりません。 指定された (または想定された) VALUE 属性の値を、XN 定数として指定することもできます。

PRECISION
省略形: PREC

PRECISION 属性は、特定の序数値の精度を指定します。 この属性を省略すると、序数値の範囲が精度を決定することになります。

最大精度は、FIXED BINARY として宣言されたデータ項目の精度と同じです。

SIGNED または UNSIGNED
これらの属性は、序数値が負の値を取ることができることを示しています。 これらを指定しないと、負の値を取るかどうかは 序数値の範囲によって決定されることになります。 たとえば、負の値が存在している場合は、SIGNED 属性が適用されます。

SIGNED と UNSIGNED の詳細については、SIGNED 属性と UNSIGNED 属性を参照してください。

下記の例では、Red の値は 0、Orange の値は 1 であり、 以下同様に続きます。しかし、Low の値は 2 であり、 Medium の値は 3 です。

  define ordinal Color ( Red,          /* is 0, since VALUE is omitted */
                         Orange,
                         Yellow,
                         Green,
                         Blue,
                         Indigo,
                         Violet );

  define ordinal Intensity ( Low    value(2),
                             Medium,
                             High   value(5));

Terms of use | Feedback

This information center is powered by Eclipse technology. (http://www.eclipse.org)