第3章
すべてのexteNd Composerコンポーネントと同様に、5250コンポーネントを作成する最初の手順は、必要なXMLテンプレートを指定することです。詳細については、『 Composerユーザガイド』の「新しいXMLテンプレートの作成」を参照してください。
XMLテンプレートを指定すると、コンポーネントによって処理される入力および出力を表すテンプレートのサンプルドキュメントを使用して、コンポーネントを作成できます。
また、5250コンポーネントの作成プロセスの一環として、5250接続を選択する必要があります(または、新しく作成することもできます)。12ページの「5250接続リソースの作成」を参照してください。
[ ファイル]>[新規作成]>[xObject]の順に選択し、次に[ コンポーネント]タブを開いて[T27端末]を選択します。
注記: または、Composerウィンドウカテゴリペインの[コンポーネント]で、[5250端末]を選択し、マウスを右クリックして[新規作成]を選択することもできます。
[次へ]をクリックします。新規5250コンポーネントウィザードの[XML入力/出力プロパティ情報]パネルが表示されます。
前に説明されている同じ手順に従って、出力DOMとして使用するXMLテンプレートを選択します。
注記: 出力テンプレートとして{System}{ANY}を選択すると、構造が含まれない入力テンプレートまたは出力テンプレートを指定できます。詳細については、『Composerユーザガイド』の「テンプレートを使用しない出力DOMの作成」を参照してください。
必要に応じて、スクラッチパッドとして使うテンプレートを、ダイアログの[一時メッセージ]ペインで指定します。これは、コンポーネントの実行時に一時的に使用するか、または参照目的のみの値が必要な場合に便利です。手順6で示されているテンプレートを指定します。
「障害メッセージ」ペインで、障害が起こった場合に必要な情報をクライアントに返すためのXMLテンプレートを選択します。
一時または障害XMLテンプレートをさらに追加するには、[追加]をクリックして、それぞれにテンプレートカテゴリとテンプレート名を選択します。この手順を必要なだけ繰り返します。XMLテンプレートを「削除する」には、エントリを選択して[削除]をクリックします。
プルダウンリストで「接続」の名前を選択します。5250接続の詳細については、12ページの「5250接続リソースの作成」を参照してください。
5250コンポーネントエディタには、XMLマップコンポーネントエディタのすべての機能が含まれています。また、アクションペインだけでなく、入力XMLドキュメントと出力XMLドキュメントのマッピングペインも含まれています。
ただし、従来の機能との大きな違いが2つあります。1つ目は、5250コンポーネントエディタには、すべてのConnectに共通するネイティブ環境ペインも含まれているという点です。このペインには5250エミュレータが含まれており、5250コンポーネントエディタウィンドウの[記録]ボタンを選択するまで黒く表示されます。[記録]ボタンを押すと、5250コンポーネントで使用する接続で指定したホストとの5250エミュレーションセッションが、ネイエィブ環境ペイン内で確立されます。2つめは、ScreenDocと呼ばれるXML DOMのみを含むパネルがコンポーネントエディタウィンドウに追加されているという点です。このDOMでは、ホストから受信した各画面がXMLドキュメント形式で表示されます。このDOMは、コンポーネント内で参照したりマッピングアクションを作成するのに使用できます。 また、式ビルダでは、このDOMを使って画面のフィールドを参照することもできます。 ScreenDoc DOMの出力を使用してスタイルシートを適用すると、5250画面をスピーディにHTML形式で見ることができます。

5250ネイティブ環境ペインでは、AS/400環境の5250エミュレーションが提供されます。このペインからは、次のことを実行できます。
入力XMLドキュメント(または他の使用可能なDOM)からデータをマップして、5250画面フィールドの入力として使用する。たとえば、SKU番号を入力DOMから5250画面のパーツ番号フィールドにドラッグすると、メインフレームを照会してそのパーツ番号に関連付けられているデータ(説明や価格など)を返すことができます。
返された5250画面からデータをマップして、出力XMLドキュメント(または、Temp、MyDomなどの他の使用可能なDOM)に配置する
特殊な複数行アクションを使用して、XMLドキュメント(複数の明細行がある請求書などの)ヘッダ情報および詳細情報をネイティブ環境ペインに表示するトランザクションにマップする
(顧客名や取引履歴などの)ヘッダ情報および詳細情報をネイティブ環境ペインのトランザクションからXMLドキュメントにマップする
ネイティブ環境ペインのトランザクション機能は、5250端末や端末エミュレータのトランザクション機能と同じです。
5250ネイティブ環境ペインでは、<Enter>、<PA1>~<PA3>、<F1>~<F24>キーなどのアテンションキーがサポートされています。 各アテンションキーの機能は、ホストアプリケーションにより異なります。これらのキーは、PCキーボードにマップされます(次を参照)。
|
5250キー |
PCキー |
|---|---|
|
<Enter> |
<Enter> |
|
<Clear> |
<ESC> |
|
<F1>~<F12> |
<F1>~<F12> |
|
<F13>~<F24> |
<Shift> + <F1>~<Shift> + <F12> |
|
<PA1>~<PA3> |
<Ctrl> + <F1>~<Ctrl> + <F3> |
5250コンポーネントを作成する際、キーボードのキーを直接使用するか、[表示]メニューのキーボードツールバーを使用できます。
ScreenDoc DOMは、端末データストリームを通してネイティブ環境ペインで受信した画面をXMLドキュメント形式で表示したものです。画面の表示内容に対するすべてのマップアクション(ドラッグアンドドロップを含みます)では、実際にScreenDoc DOMの要素が参照されます。これにより、普段使用しているアプリケーション画面を見て参照しながら、同時にXMLドキュメントを処理することができます。
5250コンポーネントは、ブロックモードの端末データストリームを介して、非同期でホスト環境と通信します。データのブロックは、基本的に画面を表します。ホストでは、コンポーネントに表示される画面ブロックを送信します。ユーザ(最終的にはユーザが作成したコンポーネント)が画面を編集した後、アテンションキーを押すとその画面はホストに送信されて処理されます。
記録モード中は、コンポーネントで画面のデータブロックを受信するたびに、次の4つのことが同時に発生します。
アクションモデルに画面のマップアクションが表示される。画面のマップアクションを使って、この画面に対するアクションを追加、変更、および削除します。コンポーネントの作成中に新しい画面ブロックを受信するたびに、新しい画面のマップアクションが作成されます。
画面のマップアクションで、この画面に対していくつTDSフィールドを受信したか計算して記録する。この情報は、次にコンポーネントを実行する際、検証のために使用されます。
ScreenDoc DOMがリフレッシュされ、最新の受信画面が表示される。ブロックモード端末では、フィールドのストリームとしてデータを送信します。これらのフィールドは、ホスト環境(CICSのBMSなど)で画面作成ユーティリティを使用して定義されます。
ScreenDoc DOMには、画面の左上隅から右、次の行の左端から右端という順序で、80x24または132x27画面の全フィールドが表示されます。元の画面レイアウトの定義に応じて、複数のフィールドが存在することもあります。フィールドのタイプの1つに、画面上のテキストラベルがあり、通常は保護(prot)および鮮やか(brt)という表示属性を持ちます。また、データ入力用のフィールドもあり、属性は非保護(unprot)です。さらに、データを含んでる非表示フィールドもあり、これらの属性は暗い(drk)です。最後に、画面でタブ機能を使用するための特殊な画面フィールドがあります。このフィールドにはデータを入力できず、バイパスフィールドと呼ばれ、bypassという属性を持ちます。
すべてのTDSフィールドをリストすると、ScreenDoc DOMのサイズが非常に大きくなる可能性があります。ScreenDoc DOMの主な用途は、非表示フィールドの検索、フィールドおよびそのロケーションの属性別の確認、Composerのドラッグアンドドロップ機能を使用したScreenDoc DOMから出力DOMへのマッピングです。
注記: 通常、ScreenDoc DOMにマップするよりも、ドラッグアンドドロップを使用してネイティブ環境ペインに対して直接マップする方が簡単で効率的です。
TDSの各フィールドは、FEILDという名前の要素としてScreenDoc DOMに表示されます。ScreenDoc DOMには、TDSのフィールドと同じ数のFIELD要素が含まれます。この要素には、フィールドに定義されているあらゆるデータが表示されます。画面フィールドは、フィールドラベルおよびデータ入力フィールドの両方に使用されます。
画面の表示アクションを実行すと、ネイティブ環境ペイン(NEP)に新しい画面が表示されます。NEPに画面が表示されるたびに、画面をXML形式で表したものがScreenDoc DOMに作成されます(このDOMを表示するには、メニューバーから[表示]、[ウィンドウのレイアウト]を選択して[XMLレイアウト]タブを表示し、ScreenDocを[表示]リストに移動して[OK]をクリックしてください)。画面のカーソル位置を自動的に検索するために、TDSにより返されたScreenDocの各フィールドには、「cursor」という名前の属性が付けられます。「true」という値を持つフィールドを除くすべてのフィールドのカーソル属性値は「false」になります。カーソルを持つフィールドを確認するために、カーソル属性をチェックしてフィールドのID属性を返す式を作成できます(次の図を参照)。

上の図の[ScreenDoc]フィールドのサンプルリストでは、XpathロケーションのScreenDoc.XPath (\xd2 CREEN/FIELD[@cursor= \xd4 true\xd5 ]/@id\xd3 )は数値「4」を返します。これは、フィールド4が現在のカーソル位置であることを示します。
また、各要素には次のフィールド属性も表示されます。
|
属性 |
意味 |
|---|---|
|
Column |
フィールドが左から始まる画面のカラム(1~80) |
|
Display |
TDSのフィールドに対して定義されている表示属性(prot = 保護、brt = 鮮やか、unprot= 非保護、dark = 暗い、bypass = バイパス) |
|
Id |
TDSでのフィールド位置を表す絶対シーケンス番号 |
|
Length |
フィールドの固定長 |
|
Row |
フィールドが上から始まる画面の行(1~24) |
キーパッドツールバー - 3270端末キーのキーパッドツールバーを表示します。このツールバーはネイティブ環境ペインの上部にあります。その場所からキーパッドをドラッグして、フローティングウィンドウにすることができます。フローティングウィンドウを閉じると、キーパッドはネイティブ環境ペインに戻ります。キーパッドを非表示にするには、メニューバーから[表示]、[キーパッドツールバー]の順に選択します。
スタイルシート - スタイルシートのエディタダイアログボックスを表示します。このダイアログボックスには、Composerメインウィンドウのリソースとして表示される事前に定義されたスタイルシートがいくつか含まれます。
記録の開始/停止 - 画面でトランザクションを処理している間、アクションの自動作成を管理します。[開始]は、画面を操作している間にアクションを作成し、[停止]は、アクションの作成を終了します。
接続/接続解除 - ホストとの接続を制御できます。記録またはアニメーション表示を行っている場合、接続は自動的に確立されるため、このボタンを使用する必要はありません。ただし、記録またはアニメーション表示を行わずに、単に5250環境を操作するために接続を確立したい場合に便利です。
5250 Connectには、このConnectに固有なコンテキストメニュー項目も含まれています。コンテキストメニューを表示するには、ネイティブ環境ペインにカーソルを置き、マウスを右クリックします。コンテキストメニューが表示されます(次を参照)。

コンテキストメニュー項目には次の機能があります。
マップ - マップアクションを作成できます。マップアクションを作成するには、入力DOMでソースをハイライトして、次にネイティブ環境ペインでソースをハイライトします。この結果、マップアクションが作成されます。また、ネイティブ環境ペインでマウスを右クリックして[マップ]を選択しても、アクションを作成できます。 画面のマップアクションについては、次の章で詳しく説明します。
スタイルシート - 別のスタイルシートを適用して、ネイティブ環境ペインの外観を変更できます。
フィールドテスト - 選択したフィールドの障害のスローアクションを作成できます。障害条件の式は、コンテキストメニューを表示したときにクリックしたフィールドに基づいて自動的に入力されます。新しいエラーメッセージを定義するには、[{システム}{障害}のスロー]を選択します(ECMAScript式ビルダにアクセスします)。この[{システム}{障害}のスロー]を選択して、定義済みの障害ドキュメントをドロップダウンリストから選択することもできます。

5250 Connectのコンポーネントエディタツールバーには、[記録]ボタンおよび[接続/接続解除]ボタンという2つのボタンがあります。[記録]ボタンを使用すると、画面でトランザクションを操作している間、アクションモデルに自動的にアクションが作成されます。[接続/接続解除]ボタンを使用すると、ホストとの接続を制御できます。これらのボタンは、次のとおりです。

Copyright © 2004 Novell, Inc. All rights reserved. Copyright © 1997, 1998, 1999, 2000, 2001, 2002, 2003 SilverStream Software, LLC. All rights reserved. more ...