COBOL2002 使用の手引 手引編

[目次][用語][索引][前へ][次へ]

35.3.8 拡張機能

<この項の構成>
(1) CBLCGIERR(HP-UX(IPF),AIX(32),Solaris(SPARC)で有効)
(2) CBLCGIINITSIZE(HP-UX(IPF),AIX(32),Solaris(SPARC)で有効)
(3) CBLMTEND
(4) CBLNO_LIBFREE
(5) CBLSQLCOMMOD(Linux(x86),Linux(x64)で有効)
(6) CBLSQLCURUSE(Linux(x86),Linux(x64)で有効)
(7) CBLSQLDYNAMIC(Linux(x86),Linux(x64)で有効)
(8) CBLSQLLOGINTIMEOUT(Linux(x86),Linux(x64)で有効)
(9) CBLSQLQUERYTIMEOUT(Linux(x86),Linux(x64)で有効)
(10) CBLSQLROWCOUNT(Linux(x86),Linux(x64)で有効)
(11) CBLSQLSUPPRESSMSG(Linux(x86),Linux(x64)で有効)
(12) CBLSQLWMSG(Linux(x86),Linux(x64)で有効)

(1) CBLCGIERR(HP-UX(IPF),AIX(32),Solaris(SPARC)で有効)

CGIプログラムで実行時エラーが発生したとき,メッセージの先頭にCGIヘッダ(HTTPヘッダのMIMEフォーマットを表す"Content-type: text/plain\n\n")を付けて出力したい場合に指定します。

詳細は,「25.9 実行時エラーメッセージの取得方法」を参照してください。

(2) CBLCGIINITSIZE(HP-UX(IPF),AIX(32),Solaris(SPARC)で有効)

CBLCGIINITサービスルーチンが受け取るフォーム情報で,「名前」「値」のデコードされていない状態での最大文字列長をキロバイト単位で指定します。指定できる値の範囲は,1〜2,000,000です。この範囲外の値を指定した場合,または環境変数CBLCGIINITSIZEを指定しなかった場合は,64が仮定されます。

詳細は,「25.7.2 サービスルーチンの説明」の「(7) CBLCGIINIT」を参照してください。

(3) CBLMTEND

マルチスレッド対応COBOLプログラムで,実行時エラーが発生したときのスレッドの終了方法を変更できます。環境変数CBLMTENDを指定しない場合,COBOLはpthread_exit関数を発行してそのスレッドを終了します。

例えば,マルチスレッド対応COBOLプログラムで実行時エラーが発生し,スレッドの終了ではなくプロセスが終了しなければならない製品と連携している場合は,環境変数CBLMTEND = ABORTを指定することで,実行時エラーが発生したときのスレッドの終了方法を変更できます。

また,ABORTを指定した場合に,マルチスレッド対応COBOLプログラムでCOBOL実行時エラーが発生したとき,または-DebugInf,-DebugInf,Trace,-DebugCompati,-DebugData,-TDInf,-CVInf,-DebugRangeオプションのどれかを指定したプログラムが異常終了したときに,abort関数を発行します。

注意事項
  • STOP RUN文実行時は,環境変数CBLMTENDの指定がないときと同様に,pthread_exit関数を発行して,そのスレッドを終了させます。
  • abort関数が発行された場合,そのabortシグナルを補足するプログラムがないかぎり,システムがプロセスを終了するため,ほかの実行中のスレッドも強制的に終了します。
  • 環境変数CBLMTENDは,スレッド単位での指定はできません。プログラム実行の前に指定してください。

(4) CBLNO_LIBFREE

環境変数CBLNO_LIBFREEにEXITを指定した場合,COBOLプログラムの終了処理でCOBOLが動的なリンクでロードしたCOBOL実行時ライブラリをアンロードしません。環境変数CBLNO_LIBFREEを省略した場合,またはEXIT以外が指定された場合は適用されません。詳細については,「18.6 共用ライブラリに含まれるプログラムの呼び出しと共用ライブラリのアンロード」を参照してください。

(5) CBLSQLCOMMOD(Linux(x86),Linux(x64)で有効)

ODBCインタフェースを使ってCONNECT文でデータベースに接続するとき,コミットモードを設定するかどうかを設定します。CBLSQLCOMMODに設定する値によって,CONNECT文でデータベースに接続するときの動作は異なります。

形式
CBLSQLCOMMOD={DEFAULT|AUTO|MANUAL

DEFAULT
コミットモードが設定されません。デフォルトモード(自動コミットモード)で接続します。

AUTO
自動コミットモードが設定されて接続します。

MANUAL
手動コミットモードが設定されて接続します。

なお,この環境変数の設定を指定しなかったときには,MANUALが仮定されます。

(6) CBLSQLCURUSE(Linux(x86),Linux(x64)で有効)

ODBCインタフェース機能を使用した場合にカーソルオプションの設定を変更します。

形式
CBLSQLCURUSE=DYNAMIC

DYNAMIC
ODBCドライバのスクロール機能の動的カーソルを使用するように設定します。この環境変数の指定がない場合は,ODBCカーソルライブラリの静的カーソルを使用するようにODBCオプションを設定します。DYNAMIC以外の値を指定した場合の結果は,保証しません。

詳細は,「23.2.8 カーソルオプションの設定」を参照してください。

(7) CBLSQLDYNAMIC(Linux(x86),Linux(x64)で有効)

ODBCインタフェース機能の動的SQLで内部的に発行するODBC APIを変更したい場合に指定します。

詳細は,「23.2.10 動的SQLのODBC API関数発行の変更」を参照してください。

(8) CBLSQLLOGINTIMEOUT(Linux(x86),Linux(x64)で有効)

ODBCインタフェースを使ってODBCオプションのSQL_LOGIN_TIMEOUTに設定するタイムアウト秒数を指定します。

詳細は,「23.2.7 タイムアウト秒数の設定」を参照してください。

(9) CBLSQLQUERYTIMEOUT(Linux(x86),Linux(x64)で有効)

ODBCインタフェースを使ってODBCオプションのSQL_QUERY_TIMEOUTに設定するタイムアウト秒数を指定します。

詳細は,「23.2.7 タイムアウト秒数の設定」を参照してください。

(10) CBLSQLROWCOUNT(Linux(x86),Linux(x64)で有効)

ODBCインタフェースを使って埋め込みSQL文のDELETE文,INSERT文,またはUPDATE文実行によって影響を受けた行数が0行の場合,SQLCODE変数に100を設定したいときにYESを指定します。

詳細は,「23.2.3 SQL文のエラー処理」を参照してください。

(11) CBLSQLSUPPRESSMSG(Linux(x86),Linux(x64)で有効)

ODBCインタフェースを使って埋め込みSQL文の実行時,エラーが発生したときに出力されるKCCC8002R-Sのメッセージ出力を抑止したい場合,8002を指定します。

詳細は,「23.2.3 SQL文のエラー処理」を参照してください。

(12) CBLSQLWMSG(Linux(x86),Linux(x64)で有効)

ODBCインタフェースを使用してデータベースにアクセスする場合,警告メッセージの出力を抑止したいときにYESを指定します。指定しなかったときや,YES以外の値を指定したときは,警告メッセージを出力します。

詳細は,「23.2.3 SQL文のエラー処理」を参照してください。