索引の新規作成

特殊操作コードを使用すると、次のように、既存の索引ファイルのデータ ファイル部から索引を再作成できます。

  1. CREATE INDEX FILE (特殊操作コード x"07") を使用して、新しい索引を作成します。
  2. GET NEXT RECORD (特殊操作コード x"08") を使用して、データ ファイルから各レコードを読み取ります。
  3. レコードのキー値ごとに、ADD KEY VALUE (特殊操作コード x"09") を使用してキー値を索引に追加します。

次の例では、既存のデータ ファイルから新しい索引を作成する方法を示します。

 78 close-file                  value x"fa80"
 78 open-new-index              value x"0007".
 78 get-next-rec                value x"0008".
 78 add-key-value               value x"0009".
   ...
     move open-new-index to fh-opcode
     perform extfh-op
     move get-next-rec to fh-opcode
     perform extfh-op
     perform until fcd-status (1:1) not = "0"
         perform varying fcd-key-id from 0 by 1
                   until fcd-key-id = key-count 
                      or fcd-status (1:1) not = "0"  
             move add-key-value to fh-opcode
             perform extfh-op
         end-perform
         move get-next-rec to fh-opcode
         perform extfh-op
     end-perform
     move close-file to fh-opcode
     perform extfh-op
     ...
 extfh-op.
     call "EXTFH" using fh-opcode, fcd
     if fcd-status of fcd (1:1) = "1"
         move 1 to return-code
     end-if.