SORT ステートメントは、PLISRTx への最初の引数です。
SORT ステートメントの構文は、次の形式の文字ストリング式でなければなりません。
'bSORTbFIELDS=(start1,length1,form1,seq1,
...startn,lengthn,formn,seqn)[,other options]b'
次に例を示します。
' SORT FIELDS=(1,10,CH,A) '
- b
- 1 つ以上のブランクを表します。
ここに示されているブランクは必須です。
これ以外のブランクは認められません。
- start,length,form,seq
- ソート・フィールドを定義します。
指定するソート・フィールドの数は任意
ですが、フィールドの全長には限度があります。
複数のフィールドがソートされる場合は、レコードはまず
最初のフィールドに従ってソートされ、次に、等しい値を持つレコードが
2 番目のフィールドに従ってソートされ、というようになります。
ソート値がすべて等しければ、EQUALS オプションを使わない限り、
等しいレコードの順序は任意になります。(この定義リストの後半を参照してください。)
フィールドは互いにオーバーレイしてもかまいません。
DFSORT (5740-SM1) の場合、
ソート・フィールドの最大全長は 4092 バイトに制限され、
全ソート・フィールドはレコードの始まりから 4092 バイト
以内でなくてはなりません。
他のソート製品は異なる制限を持つ場合があります。
- start
- レコード内の開始位置です。
値はバイト単位で与えます (2 進数データの場合は、
「バイト.ビット」表記を使うことができます)。
ストリング内の最初のバイトはバイト 1 と見なされ、
最初のビットはビット 0 と見なされます。(したがって、バイト 2 の 2 番目のビットは 2.1 と呼ばれます。)
可変長レコードの場合、4 バイト長の接頭部を入れて、5 をデータの最初のバイトにします。
- length
- ソート・フィールドの長さです。
値はバイト単位で指定します (ただし、2 進数データの場合は、「バイト.ビット」表記を使うことができます)。
ソート・フィールドの長さには、それぞれのデータ・タイプ別に制約があります。
- form
- データのフォーマットです。
これは、ソートの目的で用いられるフォーマットです。
PL/I ルーチンとソート・プログラム間でやり取りされるデータはすべて、
文字ストリングの形式でなければなりません。
主なデータ・タイプとその長さに対する制約事項を次に示します。
これ以外のデータ・タイプも特殊目的のソート用に用意されています。
これに関しては、「DFSORT Application Programming Guide」
または、
ご使用のソート製品用の資料を参照してください。
- コード
- データ・タイプと長さ
- CH
- 文字 1-4096
- ZD
- ゾーン 10 進数符号付き 1 から 32 まで
- PD
- パック 10 進符号付き 1 から 32 まで
- FI
- 固定小数点、符号付き 1 から 256 まで
- BI
- 2 進数、符号なし 1 ビットから 4092 バイトまで
- FL
- 浮動小数点、符号付き 1 から 256 まで
全フィールドの合計長は、4092 バイトを超えてはなりません。
- seq
- データが次のようにソートされる順序です。
- A
- 昇順 (つまり、1,2,3,...)
- D
- 降順 (つまり、...,3,2,1)
注:
E を指定することはできません。
その理由は、PL/I は、ユーザーが提供した順序を渡す手段を備えていないからです。
- 他のオプション
- 使用するソート・プログラムに応じて、ほかにいくつかのオプションを指定できます。
それらのオプションは FIELDS オペランドとの間、およびオプション同士の間をコンマで区切らなければなりません。
オペランドとオペランドの間にブランクを入れないでください。
- FILSZ=y
- ソートのレコード数を指定し、
ソート・プログラムによる最適化を可能にします。
y が単に近似値であれば、y の前に E を付けなければなりません。
- SKIPREC=y
- 入力ファイルの始めにある y 個のレコードを無視して、
残りのレコードをソートすることを指定します。
- CKPT または CHKPT
- チェックポイントをとることを指定します。
このオプションを使用する場合は、SORTCKPT データ・セットを
提供しなくてはならず、また DFSORT の 16NCKPT=NO の
インストール・オプションが指定されなくてはなりません。
- EQUALS|NOEQUALS
- 等しいレコードの順序を、入力したときと同じままに
するか (EQUALS)、または任意にするか (NOEQUALS) を指定します。NOEQUALS を使えば、ソート・パフォーマンスを上げることができます。
デフォルト・オプションは、ソート・プログラムがインストールされるときに選択されます。IBM 提供のデフォルトは、NOEQUALS です。
- DYNALLOC=(d,n)
- (OS/VS ソート・プログラムの場合のみ) プログラムは
中間記憶装置を動的に割り振ることを指定します。
- d
- 装置タイプ (3380 など)
- n
- 作業域数
|
This information center is powered by Eclipse technology. (http://www.eclipse.org)