ILE COBOL 解説書

ASCENDING/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 ステートメントを実行すると、結果は予測できません。


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]