3.3.7 COBOLでのコンパイル(UNIX)
COBOL2002で作成した,画面出力用APのコンパイル方法を説明します。
使用するUNIXおよびターゲットの文字コード(シフトJIS,EUC)に応じて手順が異なります。
- 〈この項の構成〉
(1) AIX環境でのコンパイル(シフトJIS)
COBOL2002で記述した画面出力用APのソースプログラム(xxx.cbl)をAIXのシフトJIS環境でコンパイルする方法について説明します。使用するコマンドは,ccbl2002コマンドです。
(a) 環境変数の設定
XMAP3 Server Runtimeで提供する登録集原文をCOPY文でAPに取り込む場合は,環境変数CBLLIBにXMAP3 Server Runtimeが提供する登録集原文のパスを設定します。
CBLLIB=$CBLLIB:/opt/HIXMAP/include/XMAP export CBLLIB
(b) オプション
使用するコンパイルオプションを次に示します。
-
-OutputFile:リンケージ時に実行形式ファイル名を指定する場合に指定する
-
-JPN,Alnum:日本語項目などを英数字項目として扱う場合に指定する
-
-Main,System モジュール名:メインモジュールのコンパイルの場合に指定する。複数のモジュールをコンパイルする場合は,メインモジュール名の次にサブモジュール名を指定する
-
-L ライブラリパス:使用ライブラリの検索パスを指定する(必須)
-
-bdynamic:共用ライブラリを使用する場合に指定する(デフォルト)
-
-bstatic:アーカイブライブラリを使用する場合に指定する
-
-lxpdrv:マップドライバ実行ライブラリを指定する(必須)
-
-lxpw:表示・印刷ライブラリを指定する(必須)
(c) コンパイル例
AIXのシフトJIS環境でのccbl2002コマンドによるコンパイル例を次の図に示します。
(2) AIX環境でのコンパイル(EUC)
COBOL2002で記述した画面出力用APのソースプログラム(xxx.cbl)をAIXのEUC環境でコンパイルする方法について説明します。使用するコマンドは,ccbl2002コマンドです。
なお,コンパイル時に使用する論理マップおよび動的変更テーブルは文字コードがシフトJISのため,EUCへのコード変換が必要です。
- 注意事項
-
AIXのEUC環境での半角カタカナは,シフトJISとは異なり1バイト文字ではなく,2バイト文字として扱われます。このため,半角カタカナを使用した項目の論理項目長は,レイアウト上の長さの2倍がデフォルトになります。
COBOL APで使用する論理マップ内のデータ名に半角カタカナを指定した場合,コンパイル時にオプションの指定が必要となることがあります(COBOLコンパイル時に半角カタカナを2バイトとして扱うため,72カラムの制限でエラーとなる場合があります)。
(a) 環境変数の設定
XMAP3 Server Runtimeで提供する登録集原文をCOPY文でAPに取り込む場合は,環境変数CBLLIBにXMAP3 Server Runtimeが提供する登録集原文のパスを設定します。
CBLLIB=$CBLLIB:/opt/HIXMAP/include/XMAP export CBLLIB
(b) オプション
使用するコンパイルオプションを次に示します。
-
-OutputFile:リンケージ時に実行形式ファイル名を指定する場合に指定する
-
-JPN,Alnum:日本語項目などを英数字項目として扱う場合に指定する
-
-EucPosition:半角カタカナ使用時に72カラム制限を抑止する
-
-Main,System モジュール名:メインモジュールのコンパイルの場合に指定する。複数のモジュールをコンパイルする場合は,メインモジュール名の次にサブモジュール名を指定する
-
-L ライブラリパス:使用ライブラリの検索パスを指定する(必須)
-
-bdynamic:共用ライブラリを使用する場合に指定する(デフォルト)
-
-bstatic:アーカイブライブラリを使用する場合に指定する
-
-lxpdrv:マップドライバ実行ライブラリを指定する(必須)
-
-lxpw:表示・印刷ライブラリを指定する(必須)
(c) コンパイル例
AIXのEUC環境でのccbl2002コマンドによるコンパイル例を次の図に示します。
(3) HP-UX環境でのコンパイル(シフトJIS)
COBOL2002で記述した画面出力用APのソースプログラム(xxx.cbl)をHP-UXのシフトJIS環境でコンパイルする方法について説明します。使用するコマンドは,ccbl2002コマンドです。
(a) 環境変数の設定
XMAP3 Server Runtimeで提供する登録集原文をCOPY文でAPに取り込む場合は,環境変数CBLLIBにXMAP3 Server Runtimeが提供する登録集原文のパスを設定します。
CBLLIB=$CBLLIB:/opt/HIXMAP/include/XMAP export CBLLIB
(b) オプション
使用するコンパイルオプションを次に示します。
-
-OutputFile:リンケージ時に実行形式ファイル名を指定する場合に指定する
-
-JPN,Alnum:日本語項目などを英数字項目として扱う場合に指定する
-
-Main,System モジュール名:メインモジュールのコンパイルの場合に指定する。複数のモジュールをコンパイルする場合は,メインモジュール名の次にサブモジュール名を指定する
-
-L ライブラリパス:使用ライブラリの検索パスを指定する(必須)
-
-Wl,-a,default:共用ライブラリを使用する場合に指定する(デフォルト)
-
-Wl,-a,archive:アーカイブライブラリを使用する場合に指定する
-
-lxpdrv:マップドライバ実行ライブラリを指定する(必須)
-
-lxpw:表示・印刷ライブラリを指定する(必須)
(c) コンパイル例
HP-UXのシフトJIS環境でのccbl2002コマンドによるコンパイル例を次の図に示します。
(4) HP-UX環境でのコンパイル(EUC)
COBOL2002で記述した画面出力用APのソースプログラム(xxx.cbl)をHP-UXのEUC環境でコンパイルする方法について説明します。使用するコマンドは,ccbl2002コマンドです。
なお,コンパイル時に使用する論理マップおよび動的変更テーブルは文字コードがシフトJISのため,EUCへのコード変換が必要です。
- 注意事項
-
HP-UXのEUC環境での半角カタカナは,シフトJISとは異なり1バイト文字ではなく,2バイト文字として扱われます。このため,半角カタカナを使用した項目の論理項目長は,レイアウト上の長さの2倍がデフォルトになります。
COBOL APで使用する論理マップ内のデータ名に半角カタカナを指定した場合,コンパイル時にオプションの指定が必要となることがあります(COBOLコンパイル時に半角カタカナを2バイトとして扱うため,72カラムの制限でエラーとなる場合があります)。
(a) 環境変数の設定
XMAP3 Server Runtimeで提供する登録集原文をCOPY文でAPに取り込む場合は,環境変数CBLLIBにXMAP3 Server Runtimeが提供する登録集原文のパスを設定します。
CBLLIB=$CBLLIB:/opt/HIXMAP/include/XMAP export CBLLIB
(b) オプション
使用するコンパイルオプションを次に示します。
-
-OutputFile:リンケージ時に実行形式ファイル名を指定する場合に指定する
-
-JPN,Alnum:日本語項目などを英数字項目として扱う場合に指定する
-
-EucPosition:半角カタカナ使用時に72カラム制限を抑止する
-
-Main,System モジュール名:メインモジュールのコンパイルの場合に指定する。複数のモジュールをコンパイルする場合は,メインモジュール名の次にサブモジュール名を指定する
-
-L ライブラリパス:使用ライブラリの検索パスを指定する(必須)
-
-Wl,-a,default:共用ライブラリを使用する場合に指定する(デフォルト)
-
-Wl,-a,archive:アーカイブライブラリを使用する場合に指定する
-
-lxpdrv:マップドライバ実行ライブラリを指定する(必須)
-
-lxpw:表示・印刷ライブラリを指定する(必須)
(c) コンパイル例
HP-UXのEUC環境でのccbl2002コマンドによるコンパイル例を次の図に示します。