Rational Developer for System z
Enterprise PL/I for z/OS, Version 3.8, プログラミング・ガイド

ソート・フィールドの指定

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
作業域数

Terms of use | Feedback

This information center is powered by Eclipse technology. (http://www.eclipse.org)