画面・帳票サポートシステム XMAP3 プログラミングガイド


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コマンドによるコンパイル例を次の図に示します。

図3‒10 AIXのシフトJIS環境でのccbl2002コマンドによる実行例(単一ファイル,共用ライブラリ使用の場合)(画面表示)

[図データ]

図3‒11 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‒12 AIXのEUC環境でのccbl2002コマンドによる実行例(単一ファイル,共用ライブラリ使用の場合)(画面表示)

[図データ]

図3‒13 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コマンドによるコンパイル例を次の図に示します。

図3‒14 HP-UXのシフトJIS環境でのccbl2002コマンドによる実行例(単一ファイル,共用ライブラリ使用の場合)(画面表示)

[図データ]

図3‒15 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コマンドによるコンパイル例を次の図に示します。

図3‒16 HP-UXのEUC環境でのccbl2002コマンドによる実行例(単一ファイル,共用ライブラリ使用の場合)(画面表示)

[図データ]

図3‒17 HP-UXのEUC環境でのccbl2002コマンドによる実行例(単一ファイル,アーカイブライブラリ使用の場合)(画面表示)

[図データ]