コード変換に必要な環境変数
プログラム資産の送受信に必要なコード変換をサーバ側のInterstage Charset Managerを使用して行う場合には、次に示す環境変数を設定する必要があります。なお、以下の説明では、{CHARSET_BASED}がInterstage Charset Managerのインストール先を示すものとして説明します。
LD_LIBRARY_PATH
Interstage Charset Managerの共用ライブラリを格納したパスを指定するために、以下の指定を環境変数LD_LIBRARY_PATHに追加します。
${CHARSET_BASED}/lib
サーバ側がLinux 64bit版 NetCOBOL V11.0.0以降の場合、以下の環境変数によって、プログラム資産送信時にサーバ側で文字コード変換を行う場合に使用するコード変換ライブラリを指定します。
COBOL_REMOTE_CONVERT_CHARACTER
上記の環境変数の詳細は、Linux 64bit版 NetCOBOLに含まれる“NetCOBOL ユーザーズガイド”を参照してください。
ビルドに必要な環境変数
リモート開発のビルドは、サーバ側のcobol翻訳コマンドを使用して、COBOLプログラムの翻訳・リンクが行われます。このため、次に示す4つの環境変数の指定は必須です。なお、以下の説明では、{COB_BASED}がNetCOBOLのインストール先を示すものとして説明します。
PATH
cobol翻訳コマンドの格納パスを指定するため、以下の指定を環境変数PATHに追加します。
${COB_BASED}/bin
LD_LIBRARY_PATH
COBOLランタイムの共用ライブラリを格納したパスを指定するために、以下の指定を環境変数LD_LIBRARY_PATHに追加します。
${COB_BASED}/lib
NLSPATH
翻訳時およびCOBOLプログラム実行時に出力されるメッセージの格納先を指定するため、以下の指定を環境変数NLSPATHに追加します。
${COB_BASED}/lib/nls/%L/%N.cat:{COB_BASED}/lib/nls/C/%N.cat
LANG
COBOLプログラムで使用する文字コード系を指定します。翻訳時はこの指定がCOBOLソース中の日本語文字の有無とそのコード系の判定に使用されます。
COBOLプログラムで使用する文字コード系環境変数LANGの指定値を以下に示します。
システム | 日本語の使用の有無と文字コード | |||
---|---|---|---|---|
無し | 有り | |||
EUC | シフトJIS | Unicode(UTF8) | ||
Solaris | C | ja(*1) | ja_JP.PCK | ja_JP.UTF-8 |
Solaris(64) | C | ja_JP.U90 | ja_JP.PCK | ja_JP.UTF-8 |
Linux(Itanium) | C | ja_JP.eucJP | - | ja_JP.UTF-8 |
Linux(64) | C | - | - | ja_JP.UTF-8 |
*1: Solaris 10の場合だけ使用できます。
LANGを除く環境変数の設定は、そのためのシェルスクリプトが各UNIX系システムのNetCOBOL製品に用意されており、通常はそれを使用します。
翻訳・リンク時に必須の環境変数を設定するためのシェルスクリプトを以下に示します。
NetCOBOL製品 | 格納場所 | ファイル名 | 備考 |
---|---|---|---|
Solaris 32bit版 NetCOBOL | /opt/FJSVcbl/config | cobol.csh | csh用 |
Solaris 64bit版 NetCOBOL | /opt/FJSVcbl64/config | cobol.csh | csh用 |
Linux(Itanium) 64bit版 NetCOBOL | /opt/FJSVcbl/config | cobol.sh | sh/bash用 |
cobol.csh | csh/tcsh用 | ||
Linux 64bit版 NetCOBOL | /opt/FJSVcbl64/config | cobol.sh | sh/bash用 |
cobol.csh | csh/tcsh用 |
以下の環境変数は、必要に応じて指定してください。詳細は“NetCOBOL ユーザーズガイド”を参照してください。
COBOLOPTS
開発対象の個々のプログラムに依存せず共通に指定する必要のある翻訳オプションがある場合、この環境変数を使用します。次のようなオプションを指定するのに有効です。
COBOLのデバッグ機能に関するオプション
翻訳リストに関するオプション
COBCOPY/FORMLIB/FILELIB
複数の開発者が共用する必要があるCOBOL登録集、画面帳票定義体およびファイル定義体がある場合、その格納ディレクトリを指定します。
登録集名
注意
環境変数LC_ALLを指定する場合は、環境変数LANGと同じ値を設定してください。
デバッグに必要な環境変数
Linux(64)システム上のアプリケーションをリモートデバッグする場合、必要に応じて以下の環境変数を指定します。
CBR_SJIS_DEBUG
Linux(64)システムにおいて、Unicode環境でシフトJISを扱うアプリケーションをリモートデバッグする場合、“YES”を指定します。
環境変数設定用のシェルスクリプト例
ここでは、設定する必要のある環境変数が次のようであると仮定して、その環境変数を設定するためのスクリプトの例を示します。
資産の転送時に関係する環境変数
サーバ側のInterstage Charset Managerを使用してプログラム資産の送受信に必要なコード変換を行う。
ビルドに関係する環境変数
COBOLプログラムの翻訳・リンクに必須の環境変数は、NetCOBOLで提供されているシェルスクリプトで設定する。
開発対象のプログラムが使用する文字コードはEUCとする。
COBOLソースの翻訳リストは、共通のディレクトリ(../list)に保存する。
開発者が共通して参照する登録集の格納ディレクトリ(../COPYLIB)を指定する。
Solarisサーバを使用してリモート開発をする場合、ログインシェルとしてcshを使用します。各開発者の使用するホームディレクトリにある“.cshrc”に以下のテキストを追加してください。
“.cshrc”の修正例を以下に示します。
## COBOL環境設定 source /opt/FJSVcbl/config/cobol.csh ## Interstage Charset Managerのための環境設定 if(${?LD_LIBRARY_PATH}) then setenv LD_LIBRARY_PATH /opt/FSUNiconv/lib:${LD_LIBRARY_PATH} else setenv LD_LIBRARY_PATH /opt/FSUNiconv/lib endif ## 開発者共通の翻訳・リンク時設定 setenv COBOLOPTS "-dp ../list" setenv COBCOPY ../COPYLIB:${COBCOPY} ## 開発対象プログラムの使用する文字コード setenv LANG ja_JP.eucJP
Linux(64)、Linux(Itanium)サーバを使用してリモート開発をする場合、ログインシェルとしてcshまたはbashを使用できます。
ログインシェルとしてcshを使用する場合、各開発者の使用するホームディレクトリにある“.cshrc”に以下のテキストを追加してください。
“.cshrc”の修正例を以下に示します。
## COBOL環境設定 source /opt/FJSVcbl/config/cobol.csh ## Interstage Charset Managerのための環境設定 if(${?LD_LIBRARY_PATH}) then setenv LD_LIBRARY_PATH /opt/FSUNiconv/lib:${LD_LIBRARY_PATH} else setenv LD_LIBRARY_PATH /opt/FSUNiconv/lib endif ## 開発者共通の翻訳・リンク時設定 setenv COBOLOPTS "-dp ../list" setenv COBCOPY ../COPYLIB:${COBCOPY} ## 開発対象プログラムの使用する文字コード setenv LANG ja_JP.eucJP
ログインシェルとしてbashを使用する場合、各開発者の使用するホームディレクトリにある“.bashrc”に以下のテキストを追加してください。
“.bashrc”の修正例を以下に示します。
## COBOL環境設定 source /opt/FJSVcbl/config/cobol.sh ## Interstage Charset Managerのための環境設定 if [ ${LD_LIBRARY_PATH:-""} = "" ] ; then LD_LIBRARY_PATH=/opt/FSUNiconv/lib; export LD_LIBRARY_PATH else LD_LIBRARY_PATH=/opt/FSUNiconv/lib:${LD_LIBRARY_PATH};export LD_LIBRARY_PATH fi ## 開発者共通の翻訳・リンク時設定 COBOLOPTS="-dp ../list";export COBOLOPTS COBCOPY=../COPYLIB:${COBCOPY}; export COBCOPY ## 開発対象プログラムの使用する文字コード LANG=ja_JP.eucJP; export LANG
Windowsサーバを使用してリモート開発を行う場合、サーバ環境上のユーザアカウントを使って開発作業が実行されます。リモート開発作業のために既存のユーザアカウントを使用しない場合は、リモート開発用の新規ユーザアカウントをサーバ環境上に作成する必要があります。新規ユーザアカウントを作成するには、そのサーバの管理者に相談してください。
一般に、サーバのローカルユーザーアカウントを追加する場合は、管理者アカウントでサーバにログオンし、[コントロールパネル]から[管理ツール] > [コンピューターの管理]を選択して[コンピューターの管理]ウィンドウを表示します。左ペインから[ローカルユーザとグループ]を選択してユーザアカウントを追加します。
リモート開発の作業のために追加の環境設定が必要になった場合は、そのユーザアカウントの環境に設定を追加してください。
注意
ユーザアカウントはユーザグループのメンバーとして登録してください。
クライアントからサーバへの接続時にパスワードの変更はできません。このため、ユーザアカウントの設定で、クライアントからサーバへ接続するときにパスワードを変更する設定はしないでください。
注意
Windowsの環境変数にはシステム環境変数とユーザ環境変数があり、通常はユーザ環境変数が優先されます。しかし、PATH環境変数は、システム環境変数のPATHの後にユーザ環境変数のPATHが自動的に連結されます。このため、サーバ側のメイクファイルを変更して独自コマンドを実行する場合などで、そのコマンドが存在するフォルダをユーザ環境変数のPATHを設定したとしても、同名の別コマンドがシステムのPATH環境変数上にあるとそちらのコマンドが実行されてしまいます。
このように、システム環境変数のPATHより先に独自のパスを設定する必要がある場合は、COB_RDENV_X64環境変数を利用します。NetCOBOLのリモートビルドは、環境変数COB_RDENV_X64に実在するファイルが指定されている場合、ビルド作業を行う前に、そのファイルをバッチファイルとみなして、CALLバッチコマンドによってそのファイルを実行します。
例えば、以下の内容をもつバッチファイル"C:\MyTools\myenv.bat"があるとします。
path C:\MyCommand;%PATH%
このとき、サーバ側アカウントの環境変数COB_RDENV_X64の値を"C:\MyTools\myenv.bat"に設定すると、このバッチファイルがCALLされてからリモートビルド作業が実行されます。
その結果、リモートビルドにおいてパス"C:\MyCommand"をシステム環境変数のパスよりも優先させることができます。
Windows(64)の場合
ユーザアカウントの“PATH”環境変数にNetCOBOLのインストール先フォルダ名を設定します。リモートビルドはサーバ側NetCOBOLの“NetCOBOL コマンドプロンプト”と同じ環境で実行されます。