9.1.2 オペランドの意味
オペランドには,必ず指定するオペランドと任意に指定できるオペランドの2種類があります。
- 〈この項の構成〉
(1) 選択オプション
選択処理で使用する機能上のオプションを指定します。選択オプションのパラメタを次の表に示します。
パラメタ |
意味 |
---|---|
/i |
出力ファイル名と同じ名前のファイルがすでにある場合,そのファイルの内容が書き換えられるのを防ぐ(既存ファイルの書き換え防止)。 |
/v比較レベル |
EBCDIKコードの体系に従って項目を比較する。
|
/b※1 |
比較項目が数値項目の場合,big endian※2の数値として扱う。 |
/u |
選択条件を満たさないレコードだけを入力する。 |
複数のオプションを指定する場合は,次に示すどちらかの方法で指定します。
-
「/b△/i」のように分けて指定します。
-
「/bi」のようにつなげて指定します。
(凡例) △:スペース(空白)を示します。
また,この指定は省略できます。省略した場合は,次のようになります。
-
「/i」の指定を省略した場合,出力ファイル名と同じ名前のファイルがすでにあると,そのファイルの内容が書き換えられます。
-
「/v」の指定を省略した場合,JIS8単位コードの体系に従って項目が比較されます。
なお,選択オプションを指定する場合は,次の点に注意してください。
-
比較項目の属性に「/j」を指定していない場合は,「/v」を指定しても無効になります。
-
「/v比較レベル」の比較レベルには,指定値以外の値を指定できません。
(2) /g入力ファイルのファイル編成
入力ファイルのファイル編成を「/g+オペランド」の形式で指定します。複数の入力ファイルを指定する場合は,すべて同じファイル編成にしなければなりません。
また,この指定は省略できません。入力ファイルのファイル編成のオペランドを次の表に示します。
オペランド |
意味 |
---|---|
s |
固定長順編成ファイルを指定する。 |
v |
可変長順編成ファイルを指定する。 |
r |
固定長相対ファイルを指定する。 |
w |
可変長相対ファイルを指定する。 |
i |
固定長索引ファイルを指定する。 |
x |
可変長索引ファイルを指定する。 |
a |
テキストファイルを指定する。 |
(3) 出力ファイルのファイル編成
出力ファイルのファイル編成のオペランドを,コロンで区切って指定します。出力ファイルのレコードの形式(固定長,可変長またはテキスト)は,入力ファイルと同じにしなければなりません。
入力ファイルが索引ファイル以外の場合,この指定は省略できます。指定を省略した場合は,入力ファイルと同じファイル編成が設定されます。入力ファイルが索引ファイルの場合は,順ファイルまたは相対ファイルのどちらかを必ず指定してください。
出力ファイルのファイル編成のオペランドを次の表に示します。
オペランド |
意味 |
---|---|
s |
固定長順編成ファイルを指定する。 |
v |
可変長順編成ファイルを指定する。 |
r |
固定長相対ファイルを指定する。 |
w |
可変長相対ファイルを指定する。 |
a |
テキストファイルを指定する。 |
(4) /lレコード長
入力ファイルのファイル編成ごとのレコード長の指定方法を次の表に示します。
入力ファイル編成 |
レコード長の指定方法 |
---|---|
固定長順編成ファイル |
ファイルのレコード長を「1〜65,535」バイトの範囲で指定します。 |
可変長順編成ファイル |
指定は不要です。指定しても無視されます。 ただし,入力できるレコード長の範囲は,1〜65,535バイトです。 |
固定長相対ファイル |
|
可変長相対ファイル |
|
固定長索引ファイル |
指定は不要です。指定しても無視されます。 ただし,入力できるレコード長の範囲は,1〜65,503バイトです。 |
可変長索引ファイル |
|
テキストファイル |
ファイルの最大レコード長を「1〜65,535」バイトの範囲で指定します。レコード長には,改行文字「X'0A'」は含みません。 省略できます。省略した場合「65,535」バイトが設定されます。 |
(5) /o出力ファイル名
選択結果の出力先ファイルをファイル名で指定します。
この指定は,省略できます。指定を省略した場合は,選択結果を標準出力ファイルに出力します。
(6) /sl"選択条件式"
レコードを選択するための選択条件式を指定します。この指定は省略できません。選択条件式の形式は次のとおりです。
- 「比較項目の属性△+項目位置-項目長△比較演算子△条件値」
-
(凡例) △:スペース(空白)を示す。
選択条件式は,間を論理演算子で区切って,128個まで指定できます。
指定形式を次の図に示します。
(a) 比較項目の属性
比較項目の属性を指定します。比較項目の属性のオペランドを次の表に示します。
オペランド |
意味 |
---|---|
j |
比較項目が文字(JIS8単位コード※)であることを指定する。 |
c |
比較項目が文字であることを指定する。 |
n |
比較項目が符号付き固定小数点2進数であることを指定する。 |
m |
比較項目が符号なし2進数であることを指定する。 |
p |
比較項目が内部10進数であることを指定する。 |
z |
比較項目が外部10進数であることを指定する。 |
x |
比較項目が左符号付き外部10進数であることを指定する。 |
s |
比較項目が右分離符号付き外部10進数であることを指定する。 |
t |
比較項目が左分離符号付き外部10進数であることを指定する。 |
f |
比較項目が内部浮動小数点であることを指定する。 |
e |
比較項目が日付(英数字)であることを指定する。 |
(b) +項目位置-項目長
比較項目の開始バイト位置を5桁以内の数字で指定します。開始バイト位置はレコードの先頭からのバイト位置(先頭を0とする)とします。開始バイト位置に指定できる値の範囲は,「0〜レコード長-1」です。
また,比較項目のバイト長を「1〜4,096」の範囲で指定します。
(c) 比較演算子
比較項目と条件値の値を比較,選択する方法を指定します。
比較演算子の意味を次の表に示します。
比較演算子 |
意味 |
---|---|
= |
条件値と等しい値の入力レコードを選択することを指定する。 |
!= |
条件値と異なる値の入力レコードを選択することを指定する。 |
> |
条件値より大きい値の入力レコードを選択することを指定する。 |
>= |
条件値より大きいか,または等しい値の入力レコードを選択することを指定する。 |
< |
条件値より小さい値の入力レコードを選択することを指定する。 |
<= |
条件値より小さいか,または等しい値の入力レコードを選択することを指定する。 |
(d) 条件値
比較の条件となる値を「c'文字条件値'」,「n'数値条件値'」,「x'16進数条件値'」または「d'日付条件値'」の形式で指定します。
「c'文字条件値'」は比較項目が文字項目の場合,「n'数値条件値'」は比較項目が数値項目の場合に指定できます。また,「x'16進数条件値'」は比較項目が文字の場合でも数値の場合でも指定できます。「d'日付条件値'」は比較項目が日付項目の場合に指定できます。
指定できる条件値の長さを次の表に示します。
項目 |
最小値 |
最大値 |
備考 |
---|---|---|---|
文字条件値 |
1 |
4,096 |
− |
数値条件値※1 |
1 |
19 |
符号なしの場合は18 |
16進数条件値※2 |
2 |
8,192 |
指定できるのは偶数桁のデータだけ |
日付条件値※3 |
2 |
8 |
− |
- 条件値の扱い
-
-
条件値の長さが,指定した比較項目より短い場合
文字条件値のとき
下位にスペースが設定されます。
c +0-4 : c'ab'→ ab△△
数値条件値のとき
上位に0が設定されます。
z +0-4 : n'12'→ 0012
16進数条件値のとき
下位に(00)16が設定されます。
c +0-4 : x'3031'→ 30310000
日付条件値のとき
e +0-4 : D'12'→ 12△△
-
条件値の長さが,指定した比較項目より長い場合
文字条件値,16進数条件値または日付条件値のときは,下位のオーバーフロー部分が対象外になります。数値条件値のときは,上位のオーバーフロー部分が対象外になります。
文字条件値のとき
c +0-4 : c'abcdef'→ abcd ef
数値条件値のとき
z +0-4 : n'123456'→ 12 3456
16進数条件値のとき
c +0-2 : x'303132'→ 3031 32
日付条件値のとき
e +0-3 : D'12/03'→ 12/ 03
- (凡例)
-
:比較対象となる部分を示す。
△ :スペース(空白)を示す。
-
(e) 論理演算子
複数の選択条件式を指定する場合,論理演算子「AND」(論理積)または「OR」(論理和)を指定します。
選択条件中に「AND」と「OR」が混在した場合は,「AND」を判定後,「OR」を判定します。「AND」と「OR」が混在した場合の処理の例を次に示します。
- (例)
n△+10-3>n'30'△AND△n△+23-3=n'10'△ OR△n△+10-3<=n'10'△AND△n△+23-3=n'10'
(凡例) △:スペース(空白)を示す。
この場合,次のうちどちらかの条件を満たしたレコードが選択されます。
-
「n△+10-3」は30より大きく,「n△+23-3」は10
-
「n△+10-3」は10か10より小さく,「n△+23-3」は10
(7) 入力ファイル名
選択の対象となる入力ファイルを指定します。2個以上指定するときは,すべて同じファイル編成にしなければなりません。
また,出力ファイルの指定と同じファイルの指定はできません。
入力ファイルが順ファイルまたは相対ファイルの場合,この指定は,省略できます。省略した場合は,入力ファイルに標準入力ファイルが設定されます。入力ファイルが索引ファイルの場合は,この指定は省略できません。