Hitachi

SEWB+/標準サブルーチン ライブラリリファレンス


1.2.2 AIX用標準サブルーチンの適用方法

〈この項の構成〉

(1) 提供形態

AIX用標準サブルーチンは,スレッド種別(シングルスレッド対応用とマルチスレッド対応用),文字コード形式(SJIS対応版とEUC対応版),およびライブラリ形式(アーカイブ形式と共用ライブラリ形式)の組み合わせによって,全8種類のライブラリが提供されます。AIX用標準サブルーチンのライブラリの種類一覧について,次の表に示します。

なお,SJIS対応版/EUC対応版の全8種類のライブラリに対し,それぞれの種類ごとに(和暦)規格の標準版とJIS規格版の2種類が提供されます。

これらを正しく使い分けないと,サブルーチンが正常に動作しない場合があるので,注意してください。

表1‒8 AIX用標準サブルーチンのライブラリの種類一覧

ライブラリの種類

種類詳細

スレッド種別

シングルスレッド対応用/マルチスレッド対応用の2種類

文字コード形式

SJIS/EUCの2種類

ファイル形式

アーカイブ形式/共用ライブラリ形式の2種類

(和暦)規格

標準版とJIS規格版の2種類

なお,各ライブラリにあるJIS規格版では標準版に対して,実在日チェック(和暦)[LXRPID02],年月日変換(西暦→和暦)[LXRPID05]で,各年号の期間が異なります。年号の詳細な期間については,「標準サブルーチン仕様書」を参照してください。

AIX対応版の提供形態を次に示します。

表1‒9 AIX用標準サブルーチンの提供形態

格納場所

構成物

提供形態

<32ビットモード版の場合>

/opt/SEWB3

<64ビットモード版の場合>

/opt/SEWB64

├─Ja_JP

| └─COMMON

|   └─RTSP

|     └─Cbl_Source

SJIS対応版のコピークローズ

テキストファイル

├─ja_JP

| └─COMMON

|   └─RTSP

|     └─Cbl_Source

EUC対応版のコピークローズ

テキストファイル

├─lib

シングルスレッド対応ライブラリ

表1-10 libディレクトリの内容」を参照

└─mthread

  └─lib

マルチスレッド対応ライブラリ

表1‒10 libディレクトリの内容

ファイル名

文字コード形式

形式

ライブラリ形式

libLx2000.a

SJIS

標準版

アーカイブ形式

libLx2000_sh.a

共用ライブラリ形式

libLxJIS.a

JIS規格版

アーカイブ形式

libLxJIS_sh.a

共用ライブラリ形式

libLxeuc2000.a

EUC

標準版

アーカイブ形式

libLxeuc2000_sh.a

共用ライブラリ形式

libLxeucJIS.a

JIS規格版

アーカイブ形式

libLxeucJIS_sh.a

共用ライブラリ形式

(a) コピークローズ

標準サブルーチンのインタフェーステーブルが記述されています。標準サブルーチンを使用して作成したプログラムをコンパイルするときに使用します。

(b) シングルスレッド対応ライブラリ

シングルスレッド対応プログラムで標準サブルーチンを使用するときに使用します。

(c) マルチスレッド対応ライブラリ

マルチスレッド対応プログラムで標準サブルーチンを使用するときに使用します。

(2) 適用方法

AIX用標準サブルーチンを使用してユーザアプリケーションプログラムを作成する手順を次に示します。AIX(64ビットモード)版の場合は,「/opt/SEWB3」を「/opt/SEWB64」に読み替えてください。

(a) 環境変数の設定

  • PATH,LIBPATH

    環境変数PATHおよびLIBPATHに標準サブルーチンのライブラリの格納パスを追加する必要があります。sh(Bourneシェル)を例に,環境変数の設定例を次に示します。

    (例1)シングルスレッド対応版ライブラリを使用する場合

    PATH=${PATH}:/opt/SEWB3/lib

    LIBPATH=${LIBPATH}:/opt/SEWB3/lib

    export PATH LIBPATH

    (例2)マルチスレッド対応版ライブラリを使用する場合

    PATH=${PATH}:/opt/SEWB3/mthread/lib

    LIBPATH=${LIBPATH}:/opt/SEWB3/mthread/lib

    export PATH LIBPATH

  • CBLLIB

    環境変数CBLLIBに標準サブルーチンのインタフェーステーブル格納パスを設定する必要があります。

    (例)SJIS対応版を使用する場合

    CBLLIB=${CBLLIB}:/opt/SEWB3/Ja_JP/COMMON/RTSP/Cbl_Source

    export CBLLIB

  • LANG

    環境変数LANGに使用するロケールを設定する必要があります。

    (例)SJIS対応版を使用する場合

    LANG=Ja_JP

    export LANG

(b) コンパイル・リンケージ

ccbl2002コマンドを使用して,コンパイルおよびリンケージを行います。

ユーザアプリケーションでのコンパイルオプションの使用の有無によって,リンクの対象となる標準サブルーチンのライブラリファイルが変わります。使用するコンパイルオプションと,リンクの対象となるライブラリファイルの対応を次の表に示します。

コンパイルオプションの設定方法,および各コンパイルオプションの機能については,マニュアル「COBOL2002 使用の手引 手引編」を参照してください。

表1‒11 コンパイルオプションとリンク対象ライブラリファイルとの対応

オプション名

シングルスレッド

マルチスレッド

アーカイブライブラリ

共用ライブラリ

アーカイブライブラリ

共用ライブラリ

-MultiThread

×

×

×

×

-lpthreads

×

×

×

×

(凡例)

○:指定する

×:指定しない

コンパイルオプションの指定例を次に示します。

(例1)シングルスレッド対応版,文字データがSJIS版のアーカイブ形式ライブラリを使用する場合

(a)標準サブルーチンを呼び出すメインプログラムをコンパイルする場合

ccbl2002 -Main,System ABC.cbl -OutputFile ABC
-L/opt/SEWB3/lib -lLx2000

(b)標準サブルーチンを呼び出すメインプログラムがコンパイル済みの場合

ccbl2002 -OutputFile ABC ABC.o -L/opt/SEWB3/lib -lLx2000
(例2)シングルスレッド対応版,文字データがSJIS版の共用ライブラリを使用する場合

(a)標準サブルーチンを呼び出すメインプログラムをコンパイルする場合

ccbl2002 -Main,System ABC.cbl -OutputFile ABC
-L/opt/SEWB3/lib -lLx2000_sh

(b)標準サブルーチンを呼び出すメインプログラムがコンパイル済みの場合

ccbl2002 -OutputFile ABC ABC.o -L/opt/SEWB3/lib -lLx2000_sh
(例3)マルチスレッド対応版,文字データがEUC版の共用ライブラリを使用する場合

(a)標準サブルーチンを呼び出すメインプログラムをコンパイルする場合

ccbl2002 -MultiThread -Main,System ABC.cbl -OutputFile ABC
-L/opt/SEWB3/mthread/lib -lLxeuc2000_sh -lpthreads

(b)標準サブルーチンを呼び出すメインプログラムがコンパイル済みの場合

ccbl2002 -MultiThread -OutputFile ABC ABC.o
-L/opt/SEWB3/mthread/lib -lLxeuc2000_sh -lpthreads