このトピックでは、特定の制御言語 (CL) コマンドについての DDM 関連の情報、データ記述仕様 (DDS) に関する考慮事項、DDS キーワード、および DDM ユーザー・プロファイル権限について説明します。
関連概念:
50ページの『DDM の計画と設計』
分散データ管理機能 (DDM) を正しく使用するには、いくつかの要件を満たす必要があります。
/********************************************************************/
/********************************************************************/
/* FUNCTION: This program copies a stream file using the QHFCPYSF */
/* HFS API. */
/* */
/* LANGUAGE: PL/I */
/* */
/* APIs USED: QHFCPYSF */
/* */
/********************************************************************/
/********************************************************************/
TRANSFER: PROCEDURE(SRCFIL,TRGFIL) OPTIONS(MAIN);
/* parameter declarations */
DCL SRCFIL CHARACTER (73);
DCL TRGFIL CHARACTER (73);
/* API entry declarations */
/* */
/* The last parameter, the error code, is declared as FIXED BIN(31) */
/* for the API. This always has a value of zero, specifying that */
/* exceptions should be returned. */
DCL QHFCPYSF ENTRY(CHAR(73),FIXED BIN(31),CHAR(6),CHAR(73), FIXED BIN(31),FIXED BIN(31))
OPTIONS(ASSEMBLER);
/********************************************************************/
/* Parameters for QHFCPYSF */
/********************************************************************/
DCL srclen FIXED BIN(31);
DCL trglen FIXED BIN(31);
DCL cpyinfo CHAR(6);
DCL error_code FIXED BIN(31);
/********************************************************************/
/* Mainline routine */
/********************************************************************/
srclen = INDEX(SRCFIL,’ ’) - 1;
trglen = INDEX(TRGFIL,’ ’) - 1;
cpyinfo = ’1 ’;
error_code = 0;
/* Copy the stream file */
Call QHFCPYSF(SRCFIL,srclen,cpyinfo,TRGFIL,trglen, error_code);
END TRANSFER;
図27. プログラムの例
DDM 固有の CL コマンド:
このトピックでは、DDM 固有の CL コマンドについて説明します。
DDM ファイル変更 (CHGDDMF) コマンド:
DDM ファイル変更 (CHGDDMF) コマンドは、ローカル (クライアント) システムにある DDM ファイルの 1 つ以上の属性を変更します。
DDM ファイルは、IBM i の DDM ネットワーク内の任意のサーバー・システムにあるファイルにアクセ スするために、IBM i クライアント・システム上のプログラムによって参照ファイルとして使用されま す。
このコマンドを使用するには、次の例に示したコマンドを入力するか、または、DDM ファイル処理の画面 でオプション 2 (DDM ファイル変更) を選択します。
例: CHGDDMF コマンド
このコマンドは、クライアント・システムの SOURCE ライブラリーに保管されている SALES という名前 の DDM ファイルの通信モードを変更するコマンドです。モードは、MODEX に変更されます。
CHGDDMF FILE(SOURCE/SALES) MODE(MODEX) DDM ファイル作成 (CRTDDMF) コマンド:
DDM ファイル作成 (CRTDDMF) コマンドは、ローカル (クライアント) システムで DDM ファイルを作成し ます。
DDM ファイルは、IBM i の DDM ネットワーク内の任意のリモート (サーバー) システムにあるファイル にアクセスするのに、IBM iのプログラムで参照ファイルとして使用されます。ローカル IBM iのプログラ ムは、リモート・ファイルの実際の名前ではなく、DDM ファイルの名前でしかリモート・ファイルを認識 しません。 (ただし DDM ファイル名は、リモート・ファイル名と同じであってもかまいません。)
DDM ファイルは、リモート・サーバーへ CL コマンドを投入するときにも使用します。 (リモート・コマ
ンド投入 (SBMRMTCMD) コマンドは、CL コマンドを投入するのに使用しますが、リモート・サーバーは
IBM iまたはシステム/38 でなければなりません)。SBMRMTCMD コマンドを使用すると、 DDM ファイルと 通常関連したリモート・ファイルは、無視されます。
DDM ファイルには、アクセスしようとするリモート・ファイルの名前と、そのリモート・ファイルがある
リモート (サーバー) システムを識別するリモート・ロケーション情報が入っています。リモート・ファイ
ル内のレコードにアクセスするのに使用するその他の属性を指定することもできます。
このコマンドを使用するには、次の例に示したコマンドを入力するか、または、DDM ファイル処理の画面 で F6 (DDM ファイル作成) を選択します。
例: システム/38 上のファイルにアクセスするための DDM ファイルの作成 CRTDDMF FILE(SOURCE/SALES) RMTFILE(*NONSTD ’SALES.REMOTE’)
RMTLOCNAME(NEWYORK)
このコマンドは、SALES という名前の DDM ファイルを作成し、そのファイルをクライアント・システム
の SOURCE ライブラリーに保管するためのコマンドです。この DDM ファイルは、リモート・ロケーシ
ョン NEWYORK で、ニューヨークのシステム/38 にある REMOTE ライブラリーに保管されている
SALES という名前のリモート・ファイルにアクセスします。
例: IBM i上のファイル・メンバーにアクセスするための DDM ファイルの作成 CRTDDMF FILE(SOURCE/SALES) RMTLOCNAME(NEWYORK)
RMTFILE(*NONSTD ’REMOTE/SALES(APRIL)’)
このコマンドは、前の例と同様の DDM ファイルを作成しますが、ここでは IBM i上の REMOTE ライブ ラリーに保管されているリモート SALES ファイル内の APRIL という名前のメンバーにアクセスする点が 異なっています。
例: システム/36 上のファイルにアクセスするための DDM ファイルの作成 CRTDDMF FILE(OTHER/SALES) RMTFILE(*NONSTD ’PAYROLL’)
RMTLOCNAME(DENVER) LVLCHK(*NO)
このコマンドは、SALES という名前の DDM ファイルを作成し、そのファイルをクライアント・システム
の OTHER ライブラリーに保管するためのコマンドです。リモート・ロケーション DENVER は、デンバ
ーのシステム/36 にある PAYROLL という名前のリモート・ファイルにアクセスする場合に DDM ファイ ルが使用します。PAYROLL ファイルと、このファイルへアクセスするアプリケーション・プログラムと の間では、レベル検査は行われません。ACCMTH パラメーターが指定されていないため、サーバー・シス テムのアクセス方法は、リモート・ファイルにアクセスするために DDM ファイルをオープンする際に、
ソース IBM iによって選択されます。
DDM ファイル表示 (DSPDDMF) コマンド:
分散データ管理 (DDM) ファイル表示 (DSPDDMF) コマンドは、DDM ファイルの詳細を表示するための コマンドです。このコマンドを使用するには、コマンド名をタイプするか、または DDM ファイル作業の 画面でオプション 5 (詳細情報の表示) を選択します。
DDM 会話再使用 (RCLDDMCNV) コマンド:
DDM 会話再使用 (RCLDDMCNV) コマンドは、ソース・ジョブで現在使用されていないすべての DDM クライ アント・システム会話を再使用するのに使用します。
ジョブの DDMCNV 属性の値が *KEEP であっても、または、このコマンドを活動化グループ内で入力し
ても、上記のような会話を再使用します。このコマンドを使用すれば、オープン・ファイルをすべてクロー ズすることなく、また、資源再使用 (RCLRSC) コマンドで実行している他のいずれかの機能を行わなくて も、使用されていない DDM 会話を再使用することができます。
RCLDDMCNV コマンドを使用できるのは、このコマンドが入力されたソース・サーバー上のジョブの DDM
会話に対してのみです。ソース・ジョブが使用する各 DDM 会話ごとに、サーバー・システム上にはそれ と関連したジョブが 1 つずつあります。該当する関連 DDM 会話が終了すると、ターゲット・ジョブ側も 自動的に終了します。
このコマンドは 1 つのジョブで使用されるすべての DDM 会話に適用されますが、このコマンドを使用し ても、そのような DDM 会話のすべてが再利用されることにはなりません。ある会話が再使用されるの は、その会話が実際に使用されていないときのみ です。
リモート・コマンド投入 (SBMRMTCMD) コマンド:
リモート・コマンド投入 (SBMRMTCMD) コマンドは、コマンドをサーバー・システムで実行するよう、DDM を使って投入します。
DDM ファイル内のリモート・ロケーション情報をもとに、使用すべき通信回線が判別されるので、その投 入されたコマンドを受け取ることになるターゲット・サーバーが間接的に識別されることになります。
SBMRMTCMD コマンドは、以下のうちのどのサーバー・システムへでもコマンドを送るのに使用することがで きます。
v IBM i v システム/38
v システム・コマンド投入 (SBMSYSCMD) DDM コマンドをサポートするすべてのサーバー
SBMRMTCMD コマンドは、IBM iまたはシステム/38 に、CL コマンド (ただし CL のみ) を送る場合に使用 できます。 また、サーバー・システムが DDM 体系のシステム投入コマンドをサポートしている場合は、
このコマンドを使用して、IBM i またはシステム/38 サーバー以外のサーバー・システムにコマンドを送る こともできます。このコマンドは、サーバー・システムの構文になっていなければなりません。システ ム/36 サーバーはこの機能をサポートしないため、SBMRMTCMD コマンドを使用して システム/36 ターゲッ トに操作制御言語 (OCL) コマンドを送信することはできません。
このコマンドの第一の目的は、クライアント・システムを使用するユーザーまたはプログラムがファイル管 理操作を行ったり、サーバー・システムにあるファイル上のファイル権限認可活動を行えるようにすること にあります。なおユーザーは、このコマンドで処理しようとするサーバー・システム・オブジェクトでの所 定の権限を持つユーザーでなければなりません。以下に、SBMRMTCMD コマンドを使用してリモート・ファイ ル上で実行できる操作の例を示します。
v 装置ファイルの作成または削除
v リモート・ファイルに対するオブジェクト権限の認可または取り消し v ファイルまたはその他のオブジェクトの検査
v ファイルまたはその他のオブジェクトの保管または復元
このコマンドは、ファイルまたはオブジェクトのさまざまな処理に使用できますが、いくつかの処理は他と 比較して有用ではありません。たとえば、このコマンドを使用して、リモート・ファイルのファイル記述や フィールド属性を表示したり、または、ファイルやその他のオブジェクトをダンプしたりすることができま すが、出力はサーバー・システムに残ります。クライアント・システムでリモート・ファイルのファイル記 述やフィールド属性を表示する別の方法として、ファイル記述表示 (DSPFD) コマンドやファイル・フィー ルド記述表示 (DSPFFD) コマンドを用いる方法があります。この場合、SYSTEM (*RMT) パラメーター と、リモート・ファイルに関連した DDM ファイル名を指定します。 これで、ユーザーが必要とする情報 は、ローカル・サーバーに直接戻ります。
このコマンドの第 2 の目的は、サーバー・システムで、非ファイル操作 (メッセージ待ち行列の作成など) を行ったり、実行しようとするユーザー作成のコマンドを投入したりできるようにすることにあります。
CMD パラメーターを使えば、サーバー・システムで実行したいコマンドを表すのに、最大 2000 文字の文 字ストリングを指定できます。
関連概念:
24ページの『DDM の構成要素: DDM ファイル』
DDM ファイルとは、サーバー・システムにあるデータ・ファイルにアクセスするための必要な情報を含む クライアント・システム上のファイルのことです。
SBMRMTCMD コマンドの IBM i およびシステム/38 サーバー・システム:
SBMRMTCMD コマンドは、バッチ環境でも QCAEXEC サーバー・プログラムを使用しても実行可能な、任意
の CL コマンドを投入することができます。
つまり、ALLOW 属性に以下の値を両方とも持っているコマンドであれば、SBMRMTCMD コマンドを使用し て投入できます。