Rational Developer for System z
COBOL for Windows バージョン 7.5 言語解説書


ASCENDING KEY 句および DESCENDING KEY 句

データは、データ名-2 データ名-2 に含まれる値に従い、 指定されたキーワードに応じて昇順または降順に並べられます。 データ名は、レベルが高いものから順に指定します。

順序は、オペランドの比較の規則に従って決められます (比較条件を参照)。ASCENDING KEY および DESCENDING KEY データ項目は、 OCCURS 文節とテーブル・エレメントの二分探索を実行する SEARCH ALL ステートメントで使用されます。

データ名-2
これは、サブジェクト項目の名前、またはサブジェクト項目に従属する項目の名前でなければなりません。データ名-2 をウィンドウ化日付フィールドにすることはできません。 データ名-2 は修飾することができます。

データ名-2 がサブジェクト項目を指定している場合、その項目の全体が ASCENDING KEY または DESCENDING KEY となり、そのテーブル・エレメントに対して指定できる唯一のキーとなります。

データ名-2 がサブジェクト項目を指定しない場合、データ名-2 は次のようになります。

データ名-2 では、OCCURS DEPENDING ON 文節を含む従属項目は使用できません。

ASCENDING KEY 句または DESCENDING KEY 句を指定する場合、次の規則が適用されます。

次の例は、ASCENDING KEY データ項目の指定方法を示したものです。

WORKING-STORAGE SECTION.
01  TABLE-RECORD.
    05  EMPLOYEE-TABLE OCCURS 100 TIMES
        ASCENDING KEY IS WAGE-RATE EMPLOYEE-NO
        INDEXED BY A, B.
      10  EMPLOYEE-NAME                     PIC X(20).
      10  EMPLOYEE-NO                       PIC 9(6).
      10  WAGE-RATE                         PIC 9999V99.
      10  WEEK-RECORD OCCURS 52 TIMES
          ASCENDING KEY IS WEEK-NO INDEXED BY C.
        15  WEEK-NO                         PIC 99.
        15  AUTHORIZED-ABSENCES             PIC  9.
        15  UNAUTHORIZED-ABSENCES           PIC  9.
        15  LATE-ARRIVALS                   PIC  9.

EMPLOYEE-TABLE のキーは、その項目に従属し、WEEK-RECORD のキーは、その従属項目へ従属しています。

上記の例では、EMPLOYEE-TABLE の中のレコードは、WAGE-RATE の昇順に並べ、 また WAGE-RATE の中では EMPLOYEE-NO の昇順に並べなければなりません。 WEEK-RECORD の中のレコードは、WEEK-NO の昇順に並べなければなりません。 そのように並んでいない場合には、SEARCH ALL ステートメント実行の結果は予測できません。


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

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