COBOL2002 ユーザーズガイド

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

8.2.6 外字の有効化

Windowsでは,外字登録はログインユーザごとに実行されます。ただし,Windowsサービスの延長で実行されるCOBOLプログラムはログインユーザ環境で実行されないため,外字が無効になっています。このような環境に対応するため,GDIモード印刷およびESC/Pモード印刷では,OPEN文の実行時に,COBOL2002実行時ライブラリが内部的にEnableEUDC関数というWindows APIを発行して外字を有効にします。EnableEUDC関数がエラーを返した場合は,警告メッセージを出力して処理を継続します。

環境変数CBLEUDCFUNCを指定すると,GDIモード印刷およびESC/Pモード印刷のOPEN文で内部的に発行するEnableEUDC関数の処理を変更できます。

形式
CBLEUDCFUNC={ ERRORSTOP | NOFUNC }
ERRORSTOP
EnableEUDC関数がエラーを返したときに重大エラーのメッセージを出力し,FILE STATUS句やUSE手続きがなければプログラムは終了します。FILE STATUS句の指定がある場合,入出力状態の値には90を設定します。
NOFUNC
EnableEUDC関数は呼び出しません。

環境変数CBLEUDCFUNCの指定がない場合,および指定値に誤りがある場合は,EnableEUDC関数がエラーを返したときに警告メッセージを出力して,プログラムを継続します。このとき,FILE STATUS句があってもメッセージを出力し,入出力状態の値は00になります。

注意事項
  • 環境変数CBLEUDCFUNCの指定がない環境で警告メッセージが出力された場合,外字が正しく印刷されないことがあります。この警告メッセージが出力された場合,印刷結果を確認し,外字が正しく印刷されていないときはプログラムを再実行してください。
  • NOFUNCを指定する場合は,外字を使用していないこと,またはOPEN文でEnableEUDC関数を呼び出さなくても外字が有効な環境であることを確認してください。