標準的な操作

ここでは、標準 COBOL プログラムで Fileshare を使用するために必要な Fileshare クライアントマシンと Fileshare サーバマシンの操作について説明します。 ここでは、COBOL プログラムで Fileshare を使用するための構成を習得できるように作成されています。


注:Mainframe Express では、Fileshare がサポートされるのは Mainframe Express の構成要素で使用する場合のみです。 そのため、Fileshare を使用する書き込みアプリケーションに関する次の情報の一部は、Mainframe Express ユーザには該当しません。


Fileshare クライアント

Fileshare クライアントマシンでは、COBOL プログラムで Fileshare を使用するために次の 2 つの作業が必要になります。

選択した通信プロトコルの CCI も構成する必要がある場合があります。 詳細については、次のオンラインマニュアルを参照してください。

ファイルハンドラリダイレクタモジュールの使用

プログラムに COBOL 入出力構文が使用されている場合は、CALLFH"FHREDIR" コンパイラ指令でプログラムをコンパイルし、ファイルハンドラリダイレクタモジュールがプログラムからの入出力要求をすべて処理できるようにする必要があります。

プログラムで Micro Focus ファイルハンドラ API を使用している場合には、"EXTFH" でなく、"FHREDIR" を呼び出すように、プログラムを変更する必要があります (ファイルハンドラリダイレクタモジュールの呼び出しインターフェイスは、呼び出し可能ファイルハンドラ (ExtFH) の呼び出しインターフェイスと同じものです)。

call "FHREDIR" using operation-code, fcd

上記のどちらかの手順を実行すると (CALLFH"FHREDIR" を使用してプログラムを再コンパイルする、または呼び出し可能ファイルハンドラ (ExtFH) のかわりにファイルハンドラリダイレクタモジュールを呼び出す)、Fileshare クライアントを作成できますが、ファイルハンドラリダイレクタモジュールは Micro Focus ファイルハンドラのローカルコピーに入出力要求を転送するのみなので、プログラムは以前とまったく同じように機能します。

Fileshare を使用するには、Fileshare クライアントが Fileshare サーバへ要求をリダイレクトするように、Fileshare クライアントを構成する必要があります。

Fileshare クライアントの構成

Fileshare クライアントの構成ファイルは、テキストエディタを使用して作成できる通常のテキストファイルです。 デフォルトのファイル名は、fhredir.cfg です。 このファイルが設定されると、Fileshare クライアントは、このファイルを、まずアプリケーションの現在の作業ディレクトリで検索し、次に COBDIR 環境変数で指定されているパスに従って検索します。 また、次の例のように、FHREDIR 環境変数を使用して、Fileshare クライアントの構成ファイルの場所を指定することもできます。

Windows
set FHREDIR=c:\client.cfg

この例では、Fileshare クライアントがドライブ c: のルートディレクトリにある client.cfg という構成ファイルを使用するように指定しています。

UNIX
set FHREDIR=/client.cfg
export FHREDIR

この例では、Fileshare クライアントがルートディレクトリにある client.cfg という構成ファイルを使用するように指定しています。

Fileshare クライアントを構成すると、次のように、データファイルの処理方法を指定できます。

入出力操作を正常にリダイレクトするには、ファイルハンドラリダイレクタモジュールに次の点を指示する必要があります。

Fileshare サーバの指定

ネットワークの各 Fileshare サーバは、Fileshare サーバを起動したときに割り当てられる一意の名前で識別できます。 Fileshare クライアントは、この名前を使用して、使用する Fileshare サーバを指定します。

Fileshare サーバ名を指定するには、次の 2 種類の方法があります。

次に、これらの方法について説明します。

ファイル名による指定

プログラム中でサーバをファイル名として指定すると、構成ファイルの設定がすべて無効になります。

Windows
select account-file assign to "$$server1\c:\accounts\main.dat"

この SELECT 文では、ファイルハンドラリダイレクタモジュールに対して、データファイル要求を server1 という名前の Fileshare サーバに送信するように指示しています。 データファイル名は、main.dat で、Fileshare サーバマシンの c: ドライブの accounts ディレクトリに格納されています。 ファイルハンドラリダイレクタモジュールは、文字列 $$server1\ に続く一連の文字を、ファイル名として Fileshare サーバに渡します。

UNIX
select account-file assign to "$$server1//accounts/main.dat"

この SELECT 文では、ファイルハンドラリダイレクタモジュールに対して、データファイル要求を server1 という名前の Fileshare サーバに送信するように指示しています。 データファイル名は、main.dat で、Fileshare サーバマシンの accounts ディレクトリに格納されています。 ファイルハンドラリダイレクタモジュールは、文字列 $$server1/ に続く一連の文字を、ファイル名として Fileshare サーバに渡します。

構成ファイルによる指定

デフォルトの Fileshare サーバを指定するには、Fileshare クライアントの構成ファイルで /s オプションを使用します。 その例を次に示します。

Windows
/s server2

UNIX
-s server2

構成ファイルをこのように設定すると、Fileshare クライアントに対してデフォルトの Fileshare サーバ server2 を使用するように指示できます。 ファイルハンドラリダイレクタモジュールは、次の場合を除いて、すべての入出力操作をこのサーバにリダイレクトします。


注:


通信プロトコルの指定

Fileshare クライアントは、Fileshare サーバと通信するために、共通通信インターフェイス (CCI) を使用します。

CCI では、いくつかの異なる通信プロトコルをサポートしています。 使用するプロトコルは、Filehsare クライアントおよび Fileshare サーバが動作するオペレーティングシステムと、使用するネットワークの種類によって異なります。

デフォルトのプロトコルは TCP/IP (CCITCP) です。

デフォルト以外の通信プロトコルが必要な場合は、Fileshare クライアントの構成ファイルで指定する必要があります。

デフォルトとして別の CCI プロトコルを指定するには、/cm を使用します。

/cm cciipx

この場合は、Novell IPX プロトコル (CCIIPX) がデフォルトになります。

Fileshare サーバ別に、使用する CCI プロトコルを指定するには、/cm/s オプションを次のように一緒に指定します。

/cm cciipx /s server1

構成ファイルにこのように登録すると、server1 という名前の Fileshare サーバと通信する場合は Novell IPX プロトコル (CCIIPX) を使用するように、Fileshare クライアントに指示が出されます。

/cm ccitcp
/cm cciipx /s server1

構成ファイルにこのように登録すると、デフォルトとして TCP/IP プロトコル (CCITCP) を使用し、server1 という名前の Fileshare サーバと通信する場合は Novell IPX プロトコル (CCIIPX) を使用するように Fileshare クライアントに指示が出されます。

選択したプロトコルに対して CCI を設定するには、オンラインマニュアル『CCI の設定』を参照してください。または、[ヘルプ] メニューの [ヘルプトピック] をクリックし、「キーワード」タブで [CCI の設定ユーティリティ] をクリックします。

Fileshare サーバ

Fileshare サーバに対して次の設定を行ってから、Fileshare サーバを起動する必要があります。

Fileshare サーバの構成

次のどちらかの方法で Fileshare サーバの構成オプションを指定できます。

Fileshare サーバ名の指定

ネットワークでは、各 Fileshare サーバを一意な名前で識別します。 この名前は、コマンド行で /s オプションを使用し、指定します。次に例を示します。

Windows
fs /s server1

UNIX
fs -s server1

この場合は、Fileshare サーバ名を server1 として指定しています。


注:ネットワーク上の名前を登録しないと、Fileshare サーバを初期化できません。 Fileshare サーバ名は、16 文字までの文字列です。最大長は、使用する CCI プロトコルによって異なります。


通信プロトコルの指定

デフォルトでは、Fileshare サーバは CCITCP を使用して、TCP/IP プロトコルを使用する Fileshare クライアントと通信します。 Fileshare サーバで他のプロトコルを使用する場合は、/cm オプションを使用してプロトコルを指定します。次に例を示します。

Windows
/cm cciipx

Fileshare サーバの構成ファイルでこのように設定すると、Fileshare サーバは Fileshare クライアントとの間の通信に Novell IPX(CCIIPX) プロトコルを使用できます。

UNIX
-cm ccitcp
-cm ccinampu

Fileshare サーバの構成ファイルでこのように設定すると、Fileshare サーバは Fileshare クライアントとの間の通信に TC/IP (CCITCP) プロトコルおよび UNIX 用名前付きパイププロトコル (CCINAMPU) を使用できます。

Fileshare サーバの起動

Fileshare クライアントが Fileshare サーバに接続する前に Fileshare サーバを起動しておく必要があります。

Fileshare サーバを起動するには、次のコマンド行を使用します。

fs

Fileshare サーバの停止

一度起動すると、Fileshare サーバは、明示的に停止するまでアクティブなプロセスとして動作します。 必要ない場合は、Fileshare サーバを停止する必要があります。 Fileshare サーバを停止させるには、Esc キーを押します。 すると、次のメッセージが表示されます。

FS097-I Fileshare サーバを終了してよろしいですか。(Y/N)

Fileshare を終了する場合は、確認の Y を入力します。 Y 以外を入力すると、Fileshare サーバは動作し続けます。

まだ開いているデータファイルがある場合は、次の警告メッセージが表示されます。

FS111-W 開いているファイルがあります。
        Fileshare サーバを終了しますか。(Y/N)

Fileshare を終了する場合は、確認の Y を入力します。 Fileshare は、すべてのデータファイルを自動的に閉じ、完了していないトランザクションがあるとロールバックします。 Y 以外を入力すると、Fileshare サーバは動作し続けます。 上記の警告メッセージが出された場合は、次のどちらかの状況が考えられます。

CCITCP プロトコルの使用中に Fileshare サーバが異常終了した場合は、同じサーバ名を使用して Fileshare サーバを再起動できます。 ただし、Fileshare は次の警告メッセージを表示します。

FS153-I 同じサーバ名がネットワークに登録されています。

関連情報
はじめに
構成
データベースの完全性
セキュリティ
高度な操作
UNIX で使用する Fileshare
通信
エラー処理
Fileshare サーバのメッセージ