7.2 コマンドの形式

ここでは,SQLプリプロセサ(eexdbcbl)を起動するコマンドの形式について説明します。

<この節の構成>
(1) 形式
(2) オプションおよび引数
(3) オプションの指定例
(4) リターンコード
(5) エラーの出力

(1) 形式

eexdbcbl 〔-o 出力ファイル名〕
        〔-Xc〕
         入力ファイル名

(2) オプションおよび引数

●-o 出力ファイル名
~〈パス名〉((1~510バイト))
SQLプリプロセサ(eexdbcbl)が出力するポストソースのファイル名を変更する場合に指定します。
このオプションを省略すると,入力ファイルのファイル識別子を.cblに変更したものが出力ファイル名となります。
入力ファイルの識別子が.cblの場合,必ずこのオプションを指定し,出力ファイル名の識別子を.cbl以外に変更してください。ただし,.prpはSQLプリプロセサ(eexdbcbl)が出力する中間ファイルの識別子となるため,指定できません。指定するとエラーとなります。
注※
SQLプリプロセサ(eexdbcbl)はプリプロセスする際,ポストソースと同じディレクトリ下に中間ファイルを出力します。この中間ファイルはプリプロセスの終了時にSQLプリプロセサ(eexdbcbl)によって削除されます。
ただし,中間ファイルの削除処理中にSQLプリプロセサ(eexdbcbl)が異常終了した場合,中間ファイルは削除されません。この場合,出力されたメッセージに従って中間ファイルを削除してください。
このオプションでは,ファイル名だけの指定,絶対パス指定,および相対パス指定ができます。ポストソースの出力先を次の表に示します。

表7-5 ポストソースの出力先

項番-oオプションの指定ポストソースの出力先
1ありファイル名だけ指定カレントディレクトリ
2絶対パス指定指定ディレクトリ
3相対パス指定指定ディレクトリ
4なし入力ファイルと同じディレクトリ
●-Xc
SQLプリプロセサ(eexdbcbl)が生成する文字列の囲みを二重引用符(")にする場合に指定します。
このオプションを省略すると,文字列の囲みはアポストロフィ(')となります。
●入力ファイル名
~〈パス名〉((1~510バイト))
UAPソースファイル名を指定します。
ファイル識別子には,.ecb,.cob,または.cblを指定します。
環境設定でファイル識別子を登録してある場合は,その識別子を使用できます。ただし,.prpはSQLプリプロセサ(eexdbcbl)が出力する中間ファイルの識別子となるため,指定できません。
注※
-oオプションの注※の説明を参照してください。
入力ファイル名と出力ファイル名が同じ場合は,異なる識別子を指定してください。入力ファイル名と出力ファイル名が同じ場合,エラーとなります。
また,パス指定の方法(絶対パス,相対パス,または入力ファイル名だけの指定)が異なっていても,格納先ディレクトリが同じになる場合,入力ファイルは出力ファイルに上書きされます。
入力ファイル名は,ファイル名だけの指定,絶対パス指定,および相対パス指定ができます。入力ファイルの指定方法と対象となるディレクトリを次の表に示します。

表7-6 入力ファイルの指定方法と対象となるディレクトリ

項番入力ファイルの指定方法対象となるディレクトリ
1入力ファイル名だけ指定カレントディレクトリ
2絶対パス指定指定ディレクトリ
3相対パス指定指定ディレクトリ

(3) オプションの指定例

UAPソースファイル名がsampleで,出力するポストソースのファイル名をmainにする場合の指定例を次に示します。

eexdbcbl -o main.cbl sample.ecb

UAPソースファイル名がsampleで,SQLプリプロセサ(eexdbcbl)が生成する文字列の囲みを二重引用符(")にする場合の指定例を次に示します。

eexdbcbl -Xc sample.ecb

(4) リターンコード

SQLプリプロセサ(eexdbcbl)のリターンコードを次に示します。

0:正常終了
8:エラー発生
プリプロセスを途中で終了します。ただし,プリプロセスを最後まで続行できる場合は,最後まで処理を続行します。
16:エラー発生
プリプロセスを途中で終了します。

(5) エラーの出力

SQLプリプロセサ(eexdbcbl)は,SQL文の文法に誤りがある場合,誤りのあるSQL文を無視して処理を続行します。オプションの指定に誤りがある場合は,処理を中断します。また,メモリ不足やファイル入出力エラーなどのエラーが発生し,それ以降の処理ができない場合は,処理の途中でも終了します。

SQL文の文法に誤りがある場合,SQLプリプロセサ(eexdbcbl)はエラーメッセージを標準エラー出力へ出力します。エラーメッセージを参照すると,エラー内容,UAPソースファイル名,エラーが発生した個所(SQL文の行番号)などがわかります。