CDOutput ノードを使用して、1 次 Connect:Direct® サーバー (PNODE) 上の指定されたディレクトリーから 2 次 Connect:Direct サーバー (SNODE) 上のファイル名およびディレクトリーにファイルを送信します。
このトピックではメッセージ・フローでの
CDOutput ノードの使用法について説明します。
フローの残りの部分が既に開発されていることを想定します (例えば
MQInput から
CDOutput ノード)。
複数の CDOutput ノードを同じ実行グループにデプロイしたり、同じブローカーにある別々の実行グループにデプロイしたりできます。 CDOutput ノードは、転送ごとに 1 つのファイルを送信します。 各ファイルには複数のレコードを含めることができ、各レコードには複数のエレメントを含めることができます。 CDOutput ノードからの転送は非ブロッキングです。
以下のステップを実行します。
- 必要なノード・プロパティーを CDOutput ノード上で設定します。
「
宛先ファイル名」だけを設定し、他のすべてのオプションをデフォルト値のままにした場合、ファイルは次のように転送されます。
- 1 次 Connect:Direct サーバー (PNODE) から、それ自体に
- デフォルト・プロセス名を使用して、デフォルト転送ディレクトリーの中に
さらに、ファイルが存在しない場合は作成され、既に存在する場合は置換されます。
以下の表は、設定可能な
CDOutput ノード・プロパティーの要約です。どのタブに表示されるか、および選択できる値を示しています。
タブ |
プロパティー |
値 |
基本 |
プロセス名 |
プロセスに任意の名前を使用できます。
ただし、名前は最大 8 文字で、スペースを含めることができないことに注意してください。 |
SNODE |
ファイルの転送先である 2 次 Connect:Direct サーバー。 |
宛先ファイル・ディレクトリー |
2 次 Connect:Direct サーバー (SNODE) 上の TestDir。 |
宛先ファイル名 |
2 次 Connect:Direct サーバー (SNODE) 上の Filename。 |
ファイル属性指定 |
RPL |
転送モード |
テキスト・モード |
- mqsisetdbparms コマンドを使用して、CDOutput ノードが 1 次 Connect:Direct サーバー に接続するために必要な username と password をセットアップします。
- メッセージ・フローをブローカーにデプロイします。 パッケージ化およびデプロイを参照してください。
- CDOutput ノードの In ターミナルにファイルを送信します。
これらのステップを実行すると、以下のアクションが起きます。
- CDOutput ノードのプロパティーで設定された値に従ってファイルが構成されます。
- ローカル・ファイル・システムでファイルがステージングされた後、転送を発生させるためにコマンドが Connect:Direct サーバー に送られます。
- 2 次 Connect:Direct サーバー 上の選択されたディレクトリーに同じ名前のファイルが存在する場合、既存のファイルの処理方法は Disposition プロパティーの値によって決定されます (この例ではファイルが置換されます)。
転送が完了すると、ローカルでステージングされたファイルは削除されます。
ファイルの送信時には、以下のプロパティーを動的に設定できることに注意してください。
- 2 次 Connect:Direct サーバー (SNODE)
- プロセス名
- アカウンティング・データ
- 宛先ファイル・ディレクトリー
- 宛先ファイル名
- コピー元オプション
- コピー先オプション
Copy ステートメントを完全に制御できます。
例えば、
LocalEnvironment.Destination.CD.Copy.To.Option.PERMISS = '777'
と指定すると、宛先ファイルが
UNIX オペレーティング・システムまたは Unix システム・サービス (
z/OS®) の中にある場合、
IBM® Sterling Connect:Direct は宛先ファイルの許可を
777 (または
RWX RWX RWX) に設定します。
ただし、間違った形式で入力した場合、プロセス・スクリプトがサブミットされるときに構文エラーが検出され、ノード内でエラーがスローされます。
以下に例を示します。
LocalEnvironment.Destination.CD.Copy.To.Option.PERMISS = '7xddd'
と指定した場合、
'7xddd' は
nnn という形式ではないため、構文エラーが発生します。 エラーが発生した場合、スローされた例外およびユーザー・トレースの中にプロセス・スクリプトが記載されます。
ヒント: 問題判別に役立てるため、ユーザー・トレースを有効にして CDOutput ノードによって生成されたスクリプトを表示できます。