リモート・ファイルは、高水準言語 (HLL) および制御言語で作成されている IBM i アプリケーション・
プログラムからアクセスできます。
ほとんどの場合、この種のアプリケーションでは、プログラムを変更しなくても、ローカル・ファイルに も、またリモート・ファイルにもアクセスすることができます。ただし、考慮事項や制約事項によっては、
プログラムを変更して再コンパイルすることが必要な場合があります。このような事項は、次のカテゴリー にグループ化されています。
v DDM 体系ではサポートされていないが、そのアーキテクチャーに対してはシステム/38 の拡張機能が設 けられている各種 IBM i 機能。このような機能を使用できるのは、クライアント・システムとサーバ ー・システムがシステム/38 または IBM i を実行している場合だけです。
v クライアント・システムまたはサーバー・システムが IBM i を実行しているときに関与する制約事項と 考慮事項。
v すべてのターゲット・システムに関与する制約事項と考慮事項。ローカル・ファイルにアクセスするユ ーザー・プログラムの場合、「レコードが見つからない」、「ファイルの終わり」、および「更新のた めの読み取り中にレコード・ロックがタイムアウト」などの異常事態に備えてプログラムする必要があ ります。このような事態は、DDM を使用してリモート・ファイルにアクセスするときにも生じることが あります。 また、DDM を使用すると、ディスク入出力命令の送信時に、プログラムで通信回線障害が 生じることがあります。
通信障害が生じるとシステムは、該当するメッセージをジョブへ送りますが、これは、一般的なファイ ル・エラーとしてアプリケーション・プログラムへ返されます。いずれの高水準言語にも、ディスク操 作の例外結果に対してユーザー制御処理またはデフォルト処理が行えるよう、固有のユーザー構文機能 が備わっています。 言語によっては、個々に DDM 通信障害を解明するためのジョブ・メッセージ識別 コード (ID) を、ユーザーが検索することになっています。 個々の機能に関しては、該当する言語の資 料を参照してください。
SDLC 2 次回線の場合、クライアント・システムとサーバー・システムで SDLC回線記述作成
(CRTLINSDLC) コマンドで INACTTMR パラメーターを設定して、1 次システムによるポーリングの停 止を検出できるようにすることをお勧めします。これによって、1 次システムで通信障害があっても、
DDM の更新のための読み取りのレコード・ロックが無限に続かないようにすることができます。
DDM 体系に関連した制約事項:
このトピックでリストする項目は、DDM 体系に関連した制約事項です。したがって、これらの事項が関与 するアプリケーション・プログラムが、リモート・ファイルへアクセスするときには、変更して再コンパイ ルしなければならないことがあります。
v DDM 体系は、多様式の IBM i 論理ファイルをサポートしません。しかし、多様式論理ファイルは、
DDM 体系に対するシステム/38 拡張機能としてサポートされるため、DDM と一緒に使用することはで きますが、これはソース・システムとサーバー・システムが IBM i またはシステム/38 を実行している 場合に限られます。
v 外部記述データ (IBM i上でデータ記述仕様 (DDS) を使用して記述されたもの) は、DDM 体系ではサポ ートされません。ただし、特に両方のシステムとも IBM i またはシステム/38 を実行している場合に
は、DDS を引き続き使用できます。サーバー・システムが IBM i またはシステム/38 を実行している 場合は、リモート・ファイルをローカル・ファイルと同じように扱って、ほとんどの DDS サポートを 使用できます。
v フォルダー管理サービス・オブジェクトにアクセスするには、クライアント・システムが、ストリー ム・ファイル用のレベル 2.0 またはレベル 3.0 の DDM 体系およびストリーム・アクセス方法をサポー トしていなければなりません。バイト・ストリーム・モデルの場合、以下の制約事項があります。
– データ・ストリーム・ロック (LCKSTR) コマンドでは、待ち時間はフォルダー管理サービスによって サポートされません。ユーザーがクライアント・システムの待機機能を処理する必要があります。
– IBM i オペレーティング・システム上で文書をコピーするのに使用されるファイル・コピー (CPYFIL) コマンドは、制限付きでサポートされます。見出しヘッダーのみがコピーされ、データはコピーされ ません。
– DELDRCOP (DRCALL) パラメーターは、ディレクトリー削除 (DELDRC) コマンドではサポートされ ません。
v ファイル、ライブラリー、またはメンバーなどのデータ管理オブジェクトを処理するとき、パーソナ ル・コンピューターの総称名を使用することはできません。ただし、文書やフォルダーなどのフォルダ ー管理サービス・オブジェクトを処理するときには、総称名を使うことができます。パーソナル・コン ピューターが該当操作をサポートしていれば、パーソナル・コンピューターがその操作をサポートする ように、総称名がサポートされます。たとえば、名前変更コマンドと削除コマンドを使用する時、フォ ルダーの総称名はサポートされませんが、それは、パーソナル・コンピューターが総称名をサポートし ないためです。
DDM の IBM i クライアントおよびサーバーの制約事項と考慮事項:
クライアント・システムが IBM i を実行している場合、リモート・ファイルに対して IBM i データベー ス機能を使用できます。しかし、いくつか制約事項があります。
制約事項は、次のとおりです。
v IBM i クライアント・システムは、システム/38 を実行するシステム上でファイルを作成することはで きますが、この場合は DDM 体系ファイル・モデルが使用されます。このため、システム/38 を含め、
IBM i を実行していないサーバー・システムでは、多様式論理ファイルや結合論理ファイルを作成する
ことはできません。
v 保管操作や復元操作を行っても、サーバー・システムにデータを保管したり復元することはできませ ん。DDM ファイル・オブジェクトのみ、ローカルで保管または復元することができます。
v 操作上のある一定時間の遅延 (すなわち、ファイルまたはレコードの待ち時間) は、サーバー・システム で指定された時間値で決まります。この値は、各種 CL コマンドの WAITFILE パラメーターおよび
WAITRCD パラメーターで指定します。このため、リモート・ファイルやレコードにアクセスするのに
DDM を用いたときに、遅延時間が長くなってしまうこともあります。
v システム/38 に対する QUERY 要求 (OPNQRYF) に、グループ選択や結合処理を使用することはできま せん。
v IBM i との間でシステム/36 アプリケーション・プログラムを実行している場合、資源が使用可能にな るのを待っている間に、これらのアプリケーション・プログラムがタイムアウトになる可能性がありま す。システム/36 アプリケーション・プログラムをもう 1 つ別のシステム/36 に対してまたはそのシス テムから実行中の場合、アプリケーション・プログラムが資源が使用可能になるまで待機する時間に制 限はありません。
ソースおよびターゲット DDM ジョブでは、DDM からの APPC 命令の送信の仕方に起因する、回線障 害やその他の障害がリモート・システムで起きた後に、APPC 会話の 2 次側の DDM ジョブが際限なく 待機することがあります。
無限待機を防ぐためには、以下の提案を参考にしてください。
– リモート・システムがレコード・ロック・タイムアウトをサポートしているなら、必ず妥当な時間値 を指定してください。例えば、CRTPF コマンドに WAITRCD パラメーターを指定する場合には、タ ーゲットの IBM i またはシステム/38 データベース・ファイルに、使用可能な最大値または
*NOMAX は使用しないでください。
WAITRCD は更新のための読み取り操作に対して使われますが、読み取り専用や追加などのその他の
ファイル操作には使用できません。
– SDLC 2 次回線を使用するときには、非アクティブ・タイマー (INACTTMR) 用の時間値を使用しま す。*NOMAX 値は使用しないでください。
– システム操作の担当者に、関連回線名、制御装置名、および装置名 (または、実行しようとする DDM ジョブのリスト) を知らせておきます。これにより、DDM ジョブが無限に待機していると思えるとき には、その担当者がジョブ情報を表示させて、そのジョブの処理装置時間使用を調べれば (ジョブ表
示 (DSPJOB) コマンドを使って、活動実行属性を表示して)、そのジョブが無限に待機しているかどう
かを判別することができます。
サーバー・システムが IBM i を実行しているときには、IBM i データベース機能を使って、リモート・フ ァイルにアクセスする場合、以下の制約があります。
v 論理ファイルまたは結合論理ファイルの基礎となる物理ファイルが、同じ IBM i オペレーティング・シ ステム上に存在する必要があります。
v IBM i クライアント・システムにある論理ファイルは、リモート・ファイルのアクセス・パス (どのサ
ーバー・システムのものであっても) を共用することはできません。
v QUERY 要求 (OPNQRYF) は、システム/38 からのグループ選択および結合処理を必要とするため、機 能しません。
DDM の IBM i 以外のターゲットに関する制約事項と考慮事項:
サーバー・システムが IBM i またはシステム/38 を実行していない場合、サーバー・システムが IBM i を実行しているときに適用される制約事項に加えて、このトピックの制約事項も適用されることがありま す。
適用されるかどうかは、ターゲット・システムがサポートする内容によって決まります。詳細については、
該当するシステムの資料を参照してください。
v 通常、ソース・システムとサーバー・システムに共通するフィールド・データ・タイプのみを、HLL ア プリケーションが処理することができます。浮動小数点データは、共通にはならないデータ・タイプの 一例です。浮動小数点の入ったレコードの伝送はできますが、システムから別のシステムへ送られた浮 動小数点データは、異なる表現になることがあります。
複数のシステム間で送信されるパック記号は、異なることがあります。たとえば、あるシステムでは C を使用し、別のシステムでは F を使用することがあります。
注: DDM ファイルを介して処理するレコード用のバイト・ストリングを、ユーザーの望みどおりに解釈 するよう、アプリケーション・プログラムを作成することは可能です。ただしそのように作成するとき には、データが必ず正しく取り扱われるようにする必要があります。