# SORT文

  SORT文.cob          ファイルを整列する      説明書 6.7.4 SORT文(ファイルのソート)
  テーブルソート.cob  表を整列する            説明書 6.7.5 SORT文(テーブルのソート)

どちらも Standard 版で動きます。
同じ SORT文 ですが、対象がファイルか、プログラムの中の表かで書き方が違います。

# SORT文.cob — ファイルの整列

  F1.txt    整列の入力と出力に使います
  SD1       整列作業用の名前。実際のファイルは作られません

★ F1.txt は、このプログラムが自分で作ります。同梱していません。
   実行のたびに作り直されるので、消してかまいません。

同じ整列を2通りで行い、整列前と整列後を画面に出します。

  1. USING / GIVING

       SORT SORT-F
          ASCENDING  DATA1        DATA1 は昇順
          DESCENDING DATA2        DATA2 は降順
          USING  F1
          GIVING F1.

     ファイルを渡すだけで、読み書きは処理系が行います。

  2. INPUT PROCEDURE / OUTPUT PROCEDURE

       SORT SORT-F
          DESCENDING DATA1
          ASCENDING  DATA2
          INPUT  PROCEDURE データの入力
          OUTPUT PROCEDURE ソート済データの受け取り.

     入力と出力を自分の手続きで行います。渡すときは RELEASE文、
     受け取るときは RETURN文 を使います。
     読みながら選ぶ、書きながら加工する、といったことができます。

2つの例では昇順・降順を入れ替えてあるので、
指定の順番と結果の対応が分かります。

# テーブルソート.cob — 表の整列

ファイルを使わず、プログラムの中の表をその場で並べ替えます。

  SORT A-TABLE
    ASCENDING  DATA1
    DESCENDING DATA2.

  ・OCCURS で定義した表の名前を直接書きます
  ・作業ファイルも入出力手続きも要りません
  ・キーごとに昇順・降順を指定できるのはファイルの整列と同じです

7件のデータを並べ替えて表示します。DATA1 が同じ値のものが3件あるので、
その中で DATA2 が降順になっているかを見ると、
2番目のキーが効いていることを確かめられます。

# 関連

  6_7_1_MERGE文\MERGE文.cob    整列済みのファイルをまとめる文
