Rational Developer for System z
Enterprise COBOL for z/OS バージョン 4.1 言語解説書


フォーマット 2

構文図を読む構文図をスキップする
フォーマット 2: 条件名の値

>>-88--条件名-1--+-VALUE--+----+---+------------------------------->
              |        '-IS-'   |   
              '-VALUES--+-----+-'   
                        '-ARE-'     

   .---------------------------------.      
   V                                 |      
>----リテラル-1--+---------------------+-+--.----------------------><
             '-+-THROUGH-+--リテラル-2-'        
               '-THRU----'                  

このフォーマットは、1 つの値、複数の値、値の範囲を条件名に関連付けます。そのような条件名は、それぞれ別のレベル 88 の項目を必要とします。 レベル番号 88 と条件名は、フォーマット 2 の VALUE 節自体の一部ではありません。これらは、表現を明確にするためにのみフォーマットに含めたものです。

条件名-1
ある値を条件変数に関係付けるユーザーの指定した名前。 関係付けられた条件変数が添え字や指標を必要とする場合、 この条件名を手続き部で参照するたび、 必要に応じて条件変数に添え字または指標を付けなければなりません。

条件名は、プロシージャーとして条件名条件の中でテストされます (条件式を参照)。

リテラル-1
条件名を単一の値に関連付けます。

リテラル-1 のクラスは、 関係付けられた条件変数への割り当てにとって有効なクラスでなければなりません。

リテラル-1 THROUGH リテラル-2
条件名を少なくとも 1 つの値の範囲に関連付けます。THROUGH 句を使用する場合、関連データ項目が非年末尾型ウィンドウ表示日付フィールドである場合を除き、リテラル-1リテラル-2 よりも小さくなければなりません。詳細については、条件名項目の規則を参照してください。

リテラル-1 およびリテラル-2 は、同じクラスに属していなければなりません。 リテラル-1 およびリテラル-2 のクラスは、 関係付けられた条件変数への割り当てにとって有効なクラスでなければなりません。

リテラル-1 および リテラル-2 が DBCS リテラルである場合は、THROUGH 句によって指定される DBCS 値の範囲は、DBCS 文字の 16 進値の 2 進照合シーケンスに基づきます。

リテラル-1 および リテラル-2 が国別リテラルである場合は、THROUGH 句によって指定される国別文字値の範囲は、そのリテラルによって表される国別文字の 16 進値の 2 進照合シーケンスに基づきます。

関連付けられている条件変数が DBCS クラスである場合には、リテラル-1 および リテラル-2 は DBCS リテラルでなければなりません。形象定数 SPACE または形象定数 ALL DBCS リテラル を指定することができます。

関連付けられている条件変数が国別クラスである場合には、所定の条件名に対して、リテラル-1 および リテラル-2 の両方が、国別リテラルまたは英数字リテラルでなければなりません。形象定数 ZERO、SPACE、QUOTE、HIGH-VALUE、LOW-VALUE、シンボリック文字、ALL 国別リテラル、または ALL リテラル を指定することができます。

条件名項目の規則

  • VALUE 節は、条件名項目内で必須であると同時に、その項目内の唯一の節でなければなりません。 各条件名項目は、先行の条件変数と関連付けられます。 したがって、レベル 88 項目の前には必ず、条件変数に関する項目、 または別のレベル 88 項目 (1 つの条件変数にいくつかの条件名が適用されるとき) がなければなりません。そのようなレベル 88 項目は、 それぞれその条件変数の PICTURE 特性を暗黙のうちに持ちます。
  • 連続したオペランドを区切るには、スペース、分離文字コンマ、または分離文字セミコロンが必要です。

    各項目は、分離文字ピリオドで終わらせる必要があります。

  • キーワードの THROUGH と THRU は同じ意味です。
  • 特定の条件変数に関係付けられる条件名は、 その条件変数の項目のすぐ後になければなりません。 条件変数は、以下のものを除く、任意の基本データ記述項目にすることができます。
    • 別の条件名。
    • RENAMES 節 (レベル 66 項目)。
    • USAGE IS INDEX で定義されているデータ項目。
    • USAGE POINTER、USAGE PROCEDURE-POINTER、USAGE FUNCTION-POINTER、または USAGE OBJECT REFERENCE を使用して記述された項目
  • 条件名は、グループ・レベルおよび英数字グループまたは国別グループ内の従属レベルの両方で指定できます。
  • 英数字グループ・データ記述項目に対して条件名を指定する場合
    • リテラル-1 (または リテラル-1リテラル-2) の値は、英数字リテラルまたは形象定数として指定する必要があります。
    • グループには、どの USAGE の項目でも含めることができます。
  • 国別グループ・データ記述項目に対して条件名を指定する場合
    • リテラル-1 (またはリテラル-1リテラル-2) の値は、英数字リテラル、国別リテラル、または形象定数として指定する必要があります。
    • グループには、USAGE が NATIONAL の項目のみを含めることができます (このことはGROUP-USAGE 節に示してあります)。
  • 条件名が英数字グループ・データ記述項目または国別グループ・データ記述項目に関連付けられている場合
    • それぞれのリテラルのサイズは、グループ内のすべての基本項目のサイズの合計を超えてはなりません。
    • グループ内のどのエレメントにも、JUSTIFIED 節または SYNCHRONIZED 節を含めることはできません。
  • 条件名の定義によって暗黙指定されている比較テストは、下記の表に示す規則に従って実行されます。

    表 1. 条件名に関する比較テストの参照先
    条件変数のタイプ 比較条件の規則
    英数字グループ項目 グループの比較
    国別グループ項目 (国別クラスの基本データ項目として扱われる) 国別の比較
    英数字クラスの基本データ項目 英数字比較
    国別クラスの基本データ項目 国別の比較
    数字クラスの基本データ項目 数字の比較
    DBCS クラスの基本データ項目 DBCS の比較
  • 国別リテラルを指定する VALUE 節は、国別クラスのデータ項目に対してのみ定義されている条件名に関連付けることができます。
  • DBCS リテラルを指定する VALUE 節は、DBCS クラスのデータ項目に対してのみ定義されている条件名と関連付けることができます。
  • 国別クラスの基本データ項目または国別グループ項目の場合、条件名項目の中のリテラルは国別リテラルまたは英数字リテラルのいずれかであって、リテラル-1 およびリテラル-2 は同じクラスでなければなりません。その他のクラスの英数字グループまた基本データ項目の場合には、リテラルのタイプは条件変数のデータ・タイプと一致していなければなりません。 次に例を示します。
    • CITY-COUNTY-INFO、COUNTY-NO、および CITY は、条件変数です。

      COUNTY-NO と関連付けられた PICTURE が、条件名の値を 2 桁の数字リテラルに限定します。

      CITY と関連付けられた PICTURE が、条件名の値を 3 桁の英数字リテラルに限定します。

    • 関連付けられた条件名は、レベル 88 の項目です。

      CITY-COUNTY-INFO と関連付けられた条件名の値は、どれも 5 文字以下でなければなりません。

      これは英数字グループ項目なので、リテラルは英数字リテラルでなければなりません。

         05  CITY-COUNTY-INFO.
             88  BRONX                    VALUE "03NYC".
             88  BROOKLYN                 VALUE "24NYC".
             88  MANHATTAN                VALUE "31NYC".
             88  QUEENS                   VALUE "41NYC".
             88  STATEN-ISLAND            VALUE "43NYC".
           10  COUNTY-NO                  PICTURE 99.
               88  DUTCHESS               VALUE 14.
               88  KINGS                  VALUE 24.
               88  NEW-YORK               VALUE 31.
               88  RICHMOND               VALUE 43.
           10  CITY                       PICTURE X(3).
               88  BUFFALO                VALUE "BUF".
               88  NEW-YORK-CITY          VALUE "NYC".
               88  POUGHKEEPSIE           VALUE "POK".
         05  POPULATION...
  • 項目がウィンドウ表示日付フィールドである場合には、以下の制約事項が適用されます。
    • 英数字の条件変数の場合:
      • リテラル-1 およびリテラル-2 (指定される場合) は、 ともに条件変数と同じ長さの英数字リテラルでなければなりません。
      • リテラルを形象定数として指定してはなりません。
      • リテラル-2 を指定する場合は、 両方のリテラルに 10 進数字だけしか含めてはなりません。
    • YEARWINDOW コンパイラー・オプションを負の整数として指定する場合は、リテラル-2 を指定してはなりません。
    • リテラル-2 を指定する場合は、 YEARWINDOW コンパイラー・オプションで指定された世紀ウィンドウの適用後に、リテラル-1リテラル-2 よりも小さくなければなりません。すなわち、リテラル-1 の拡張日付値が、リテラル-2 の拡張日付値よりも小さくなければなりません。

    ウィンドウ表示日付フィールドで条件名を使用する方法については、条件名条件とウィンドウ表示日付フィールドの比較を参照してください。


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

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