この章では、Oracle Studioを使用してOracle Connectを構成する方法について説明します。
Oracle ConnectのモデリングはすべてOracle Studioを使用して実行します。Oracle Studioを使用するには、最初に、CICSが動作しているIBM z/OSプラットフォームにアクセスできるようにOracle Studioを構成します。
この章の構成は、次のとおりです。
注意: 次の各タスクは、ユーザーにIBM z/OSプラットフォームへのアクセス権限があり、このコンピュータでOracle Connectデーモンが実行されていることを前提としています。これらの要件が満たされていることを、システム管理者に確認してください。 |
Oracle Studioを使用してIBM z/OSを構成する手順は、次のとおりです。
「スタート」メニューから、「プログラム」→「Oracle」→「Studio」を選択します。
Configuration Explorerで「Machines」を右クリックし、「Add Machine」を選択します。図2-1に示すように、「Add Machine」画面が表示されます。
接続先のコンピュータの名前を入力するか、または「Browse」をクリックして、表示されているコンピュータ・リストから、デフォルト・ポート2551
を使用するコンピュータを選択します。
Oracle Connectのインストール時に管理者として指定されたユーザーのユーザー名とパスワードを入力します。
注意: 「Anonymous connection」を選択すると、コンピュータへのアクセス権限があるすべてのユーザーが管理者になることができます。 |
次の図に、「Add Machine」画面を示します。
「Finish」をクリックします。
追加したコンピュータがConfiguration Explorerに表示されます。
Oracle Studioには、Oracle Connectへのアクセスを保護するためのメカニズムが、モデリング時と実行時の両方で用意されています。
モデリング時には、次のセキュリティ・メカニズムを適用できます。
実行時は、ユーザー・プロファイルによってOracle Connectへのクライアント・アクセスが提供されます。
最初は、Oracle Studioを使用して実行する操作にパスワードは必要ありません。パスワードは、Oracle Studioからサーバーへのアクセスに関係する最初の操作で入力が必要になります。
次の手順を実行します。
「スタート」メニューから、「プログラム」→「Oracle」→「Studio」を選択します。Oracle Studioが開きます。
メニュー・バーから「Window」を選択し、「Preferences」を選択します。
次の図に示すように、「Preferences」画面が表示されます。
「Studio」を選択します。
「Change Studio Master Password」をクリックします。
「Change master password」画面では、「Enter current master password」フィールドは空白のままにし、新規マスター・パスワードを入力します。
確認のためにパスワードを再入力します。
「OK」をクリックします。
デフォルトでは、Oracle Studioからそのコンピュータの設定を変更する権限があるのは、インストール時に管理者として指定されたユーザーのみです。このユーザーは、選択したコンピュータに対する定義を変更または表示する権限を他のユーザーに付与できます。Oracle Studioへのコンピュータの追加方法は、「Oracle StudioでのIBM z/OSプラットフォームの設定」を参照してください。
注意: インストール時のデフォルトでは、すべてのユーザーが管理者になります。 |
管理権限を持つユーザーを指定する手順は、次のとおりです。
「スタート」メニューから、「プログラム」→「Oracle」→「Studio」を選択します。Oracle Studioが開き、「Design」パースペクティブが表示されます。
Configuration Explorerでコンピュータを右クリックし、「Administration Authorization」を選択します。
次の図に示すように、「Administration Authorization」画面が表示されます。
この画面には次のセクションがあります。
Administrators: 管理者は、選択したコンピュータに関するすべての定義をOracle Studioで表示および変更できます。Oracle Studioへの初回の登録時は、すべてのユーザーがシステム管理者として定義されます。
Designers: 設計者は、Oracle Studioでコンピュータの定義すべてを表示できます。また、選択したコンピュータについて、「Bindings」および「Users」ノードの下にある定義を変更できます。たとえば、Oracle Studioのデータベース管理者は、データソースおよびアダプタを新たに追加したり、データソースの表のメタデータ定義を変更できます。
Users: ユーザーは、選択したコンピュータに関するすべての定義をOracle Studioで表示できます。通常のユーザーは、定義を変更できません。
関連するセクションに対応する「Add User」または「Add Group」をクリックして、ユーザーまたはユーザー・グループを追加します。追加するユーザーまたはグループは、そのコンピュータに対する有効なユーザーまたはグループとして認識されている必要があります。
セクションに名前が追加されると、そのユーザー名でログインしたユーザーまたはグループにのみ、関連する権限が付与されます。
実行時は、ユーザー・プロファイルによってOracle Connectへのクライアント・アクセスが提供されます。ユーザー・プロファイルには、匿名アクセスが許可されていない場合、実行時にコンピュータ、データソースまたはアプリケーションへのアクセスに使用される名前とパスワードのペアが含まれます。
「スタート」メニューから、「プログラム」→「Oracle」→「Studio」を選択します。Oracle Studioが開きます。
「Design」パースペクティブの「Configuration」ビューで「Machines」フォルダを開いて、ユーザー名とパスワードを設定するマシンを開きます。
「Users」を開きます。
「NAV」ユーザー・プロファイルを右クリックして「Edit User」を選択します。次の図に示すように、「User Editor」が表示されます。
ユーザー・エディタで、「Add」をクリックして「Add Authenticator」画面を表示します。
次の図に示すように、「Resource type」リストから「Remote Machine」を選択します。
Oracle Studioで定義されているIBM z/OSコンピュータの名前を入力します。
コンピュータへのアクセスに使用される名前とパスワードを入力し、確認のためにパスワードを再入力します。
「OK」をクリックします。
OracleAS Adapter for CICSの相互作用のモデリングでは、Oracle Studioを使用してOracle Connectのバックエンド・アダプタが定義されます。Oracle Studioで指定された定義はすべて、IBM z/OSプラットフォームに書き込まれます。
この項の構成は、次のとおりです。
Oracle Connectを使用するには、IBM z/OSプラットフォームでアダプタ定義を構成して、CICSプログラムとの相互作用を処理する必要があります。これらの定義を指定するには、Oracle Studioを使用します。
次の手順を実行します。
「スタート」メニューから、「プログラム」→「Oracle」→「Studio」を選択します。
「Design」パースペクティブの「Configuration」ビューで「Machine」フォルダを開きます。
「Oracle StudioでのIBM z/OSプラットフォームの設定」で定義したマシンを開きます。
「Bindings」を開きます。このコンピュータで使用可能なバインディング構成がリストされます。
「NAV」バインディングを開きます。NAVバインディング構成には、コンピュータに格納されているデータソースとアダプタのブランチが含まれています。
「Adapters」を右クリックして「New Adapter」を選択し、「New Adapter」ウィザードを開始します。
バックエンド・アダプタの名前を入力します。
注意: eventは予約語であり、アダプタ名には使用できません。 |
次の図に示すように、「Type」リストから、バックエンド・アダプタ・タイプとして「CICS」を選択します。
「Create event queue for the adapter」を選択します。
「Finish」をクリックします。バックエンド・アダプタがリストに追加され、編集用にその定義が開きます。
注意: 「Type」リストに表示されるその他のアダプタは、サイトにインストールされているOracle Connectのバージョンではサポートされません。 |
「Properties」タブをクリックし、必要に応じてアダプタのプロパティを変更します。
次の図に、「Properties」タブを示します。
「Properties」タブは、次の表に示すフィールドで構成されています。
表2-1 CICSアダプタのプロパティ
プロパティ | 説明 |
---|---|
|
CICSのトランザクションID。この値は、EXCIまたはこのトランザクションのコピーにする必要があります。 |
|
CICSターゲット・システムのVTAMアプリケーションID。 この値は、ターゲットのCICSシステムで |
|
現在使用できません。このアダプタがサポートするトランザクションのレベルを示し、トランザクション・マネージャにレポートされます。 現行のバージョンでは、この値は |
|
CICSターゲット・システムにプログラム・コールをリレーするために、EXCI(およびMRO)で使用されている特定の接続のVTAMネット名。 たとえば、
ネット名がBATCHCLI(CICSのインストール時にIBMによって提供されるデフォルト接続)であることが画面に表示されます。IBMのデフォルトを使用する場合は、VTAM_netnameパラメータに |
Oracle Connectには、アダプタとの情報の受渡しで使用する構造など、アダプタ相互作用を記述したメタデータが必要です。
アダプタの入出力構造を記述するCOBOLコピーブックが使用可能な場合は、Oracle Studioの「Design perspective」で「Metadata Import」ウィザードを使用してアダプタ定義をインポートし、相互作用メタデータを生成できます。フィルタ設定が異なる(例: 先頭から6列を無視するかしないか)複数のCOBOLコピーブックでメタデータが提供されている場合は、最初に同じ設定のコピーブックからメタデータをインポートし、次に他のコピーブックからメタデータをインポートしてください。
入出力構造を記述するCOBOLコピーブックが使用可能でない場合は、メタデータを手動で定義する必要があります。
インポート手順では、次の情報が必要です。
COBOLコピーブック: インポート手順の一部として、Oracle Studioが動作しているコンピュータにコピーされます。
CICSプログラムの名前は、アプリケーション・アダプタを介して使用されます。
次のように、Oracle Studioでメタデータのインポート手順を使用して、相互作用メタデータを生成します。
「スタート」メニューから、「プログラム」→「Oracle」→「Studio」を選択します。
「Design」パースペクティブの「Configuration」ビューで「Machine」フォルダを開きます。
「Oracle StudioでのIBM z/OSプラットフォームの設定」で定義したマシンを開きます。
「Bindings」を開きます。このコンピュータで使用可能なバインディング構成がリストされます。
「NAV」バインディングを開きます。NAVバインディング構成には、コンピュータに格納されているデータソースとアダプタのブランチが含まれています。
「Adapters」フォルダを開きます。
「Oracle Connectアダプタの構成」で定義したCICSアダプタを右クリックし、「Show Metadata View」を選択して、「Metadata」ビューを表示します。このとき、CICSバックエンド・アダプタは、「Adapters」リストに表示されます。
「Imports」ノードを右クリックして「New Import」を選択します。新規メタデータ・インポートの画面が表示されます。
インポートの名前を入力します。名前に使用できるのは、文字と数字、およびアンダースコアのみです。
次の図に示すように、「Import type」リストから「CICS Import Manager」を選択します。
「Finish」をクリックします。「Metadata Import」ウィザードが表示されます。
「Add」をクリックします。「Select Resources」画面が表示されます。この画面で、ローカル・コンピュータからファイルを選択するか、別のコンピュータからファイルをコピーするかを選択できます。
ファイルが別のコンピュータにある場合は、「My FTP Sites」を右クリックして「Add」を選択します。または、「Add FTP site」をダブルクリックします。「Add FTP Site」画面が表示されます。
COBOLコピーブックが常駐しているサーバー名またはIPアドレスを入力し、有効なユーザー名とパスワードを入力してコンピュータにアクセスし(匿名アクセスを使用する場合は、「Anonymous connection」チェック・ボックスを選択)、「OK」をクリックします。
次の図に示すように、使用可能なサイトのリストにFTPサイトが追加されます。
注意: 選択したサーバーへのアクセスには、高位修飾子としてユーザー名が使用されるため、ユーザーがファイルを参照および転送できます。 |
コンピュータを右クリックして「Set Transfer Type」を選択します。転送タイプ(「ASCII」
または「BINARY」
)を入力し、「OK」をクリックします。
追加したサイトのリストを開いて、必要なCOBOLファイルを探します。高位修飾子を変更するには、コンピュータを右クリックして「Change Root Directory」を選択します。新しい高位修飾子を引用符で囲んで入力し、「OK」をクリックします。
必要なCOBOLコピーブック・ファイルを選択(複数選択可)し、「Finish」をクリックします。次の図に示すように、選択したファイルが「Metadata Import」ウィザードに表示されます。
注意: 1つのCOBOLコピーブックからメタデータをインポートし、後でこのメタデータに追加するには、別のCOBOLコピーブックを使用してインポート手順を繰り返します。COBOLコピーブックは同じフォーマットであることが必要です。つまり、最初の6列を使用するCOBOLコピーブックを、最初の6列を無視するCOBOLコピーブックとともにインポートすることはできません。この場合は、インポート手順を繰り返す必要があります。 |
「Next」をクリックします。次の図に示すように、「Apply Filters」画面が表示されます。
必要に応じて、コピーブックにフィルタを適用します。
次の表に、使用可能なフィルタを示します。
表2-2 メタデータのフィルタ
フィルタ | 説明 |
---|---|
COMP_6 switch |
MicroFocus COMP-6コンパイラ・ディレクティブ。COMP-6をCOMPデータ型として処理する場合は「COMP-6'1'」を、COMP-6をCOMP-3データ型として処理する場合は「COMP-6'2'」を指定します。 |
Compiler source |
コンパイラのベンダー。 |
Storage mode |
MicroFocus Integer Storage Mode。バイト・ストレージ・モードの場合は「 |
Ignore after column 72 |
COBOLコピーブックの73〜80列を無視します。 |
IgnoreFirst6 |
COBOLコピーブックの最初の6列を無視します。 |
Replace hyphens (-) in record and field names with underscores (_) |
COBOLから生成されたメタデータのレコード名またはフィールド名に使用されているすべてのハイフンをアンダースコアで置換します。 |
Prefix nested columns |
すべてのネスト列の先頭に、その上のレベルのヘッダーを付加します。 |
Case sensitive |
検索文字列の大/小文字を区別するかどうかを指定します。 |
Find |
指定した値を検索します。 |
Replace with |
「Find」に指定した値を、ここで指定した値で置換します。 |
インポート・ウィザードで、「Next」をクリックします。次の図に示すように、「Add Interactions」画面が表示されます。
「Add」をクリックしてCICSアダプタに対する相互作用を追加します。次の表に示す情報を追加します。
表2-3 相互作用のパラメータ
パラメータ | 説明 |
---|---|
|
相互作用名。指定されているデフォルト名は変更できます。 |
|
相互作用モード。次のいずれかを選択できます。
|
|
入力レコードを識別します。入力レコードは、相互作用に対するデータ構造です。手順の開始時に指定したCOBOLファイルから生成されたレコードがリストされます。相互作用に関連するレコードを選択します。 注意: 「Next」をクリックする前に、各相互作用に対する入力レコードを指定する必要があります。相互作用で入力レコードが不要な場合、ここで指定したレコードは無視されます。 |
|
出力レコードを識別します。出力レコードは、相互作用の結果に対するデータ構造です。手順の開始時に指定したファイルから生成されたレコードがリストされます。相互作用に関連するレコードを選択します。 注意: モードをsync-send-receiveまたはsync-receiveに設定した場合は、「Next」をクリックする前に、相互作用に対する出力レコードを指定する必要があります。 |
|
相互作用を説明する自由形式テキスト。 |
|
CICS固有のパラメータ:
|
必要な数の相互作用を追加し、「Next」をクリックしてアダプタのメタデータ定義を生成します。
「Do you want to transfer the metadata to the server」で「Yes」をクリックしてデータをWindowsコンピュータからIBM z/OSコンピュータに転送し、「Finish」をクリックします。
メタデータは指定したオプションに基づいてインポートされ、IBM z/OSプラットフォームに格納されます。メタデータのXML表記も生成されます。
インポートを実行した後は、Oracle Studioの「Design perspective」の「Metadata」タブでメタデータを表示できます。また、必要に応じてメタデータの微調整および操作も実行できます。
インバウンド相互作用は、Oracle Studioでイベントとして定義されます。「Oracle Connectアダプタの構成」で説明したように、「Events」を選択してOracle Connect for CICSバックエンド・アダプタを定義すると、イベント・アダプタが自動的に定義されました。このイベント・アダプタは、バックエンド・アダプタ名にeventが追加された名前で定義されます。バックエンド・アダプタとイベント・アダプタはOracle Studioによってリンクされます。
Configuration Explorerリストでアダプタまたはイベントを右クリックして「Linked Event」または「Linked Adapter」オプションをそれぞれ選択すると、アダプタ定義とイベント定義の間を移動できます。
イベント・アダプタには、情報の受渡しに使用する構造など、インバウンド相互作用について記述されたメタデータが必要です。
次のように、Oracle Studioでメタデータのインポート手順を使用して、相互作用メタデータを生成します。
Configuration Explorerで、「Oracle Connectアダプタの構成」で定義したCICSバックエンド・アダプタを右クリックします。
「Linked Event」をクリックして、イベント・アダプタに移動します。
イベント・アダプタを右クリックして「Edit Event」を選択します。
「Properties」タブを選択して、インバウンド相互作用を取得できるOracle Application Serverユーザーの名前、およびインバウンド相互作用を送信できるz/OSユーザーの名前を追加します。
Oracle Application Serverユーザーを追加するには、「Routers」ノードを開いて「User」プロパティを右クリックし、ユーザーを追加します。次の図に、「Properties」タブを示します。
「Value」列に、追加する項目に対するOracle Application Serverユーザーの名前を入力します。
z/OSユーザーを追加するには、「Senders」ノードを開いて「User」プロパティを右クリックし、ユーザーを追加します。
「Value」列に、追加する項目に対するz/OSユーザーの名前を入力します。
「Save」をクリックして変更内容を保存します。
Configuration Explorerでイベント・アダプタを右クリックして「Edit metadata」を選択し、「Metadata」タブを表示します。「Events」リストの下にイベント・アダプタが表示されます。
「Imports」ノードを右クリックして「New Import」を選択します。新規インポートの画面が表示されます。
インポートの名前を入力します。名前に使用できるのは、文字と数字、およびアンダースコアのみです。
インポート・タイプとして「Event Queue Import Manager Using Cobol COPYBOOK Input Files」を選択し、「Finish」をクリックします。
次の図に、「New Import」画面を示します。
インポート・タイプを定義した後は、「Metadata Import」ウィザードがOracle Studioで開きます。メタデータの作成には、COBOLコピーブックが使用されます。インポート・ウィザードでは、レコード構造が生成されます。これは、インバウンド相互作用に対するレコード構造に使用されます。
「Metadata Import」ウィザードで「Add」をクリックします。「Select Resources」画面が表示されます。この画面で、ローカル・コンピュータからファイルを選択するか、別のコンピュータからファイルをコピーするかを選択できます。
ファイルが別のコンピュータにある場合は、「My FTP Sites」を右クリックして「Add」を選択します。または、「Add FTP Site」をダブルクリックします。「Add FTP Site」画面が表示されます。
COBOLコピーブックが常駐しているサーバー名またはIPアドレスを入力し、有効なユーザー名とパスワードを入力してコンピュータにアクセスし(匿名アクセスを使用する場合は、「Anonymous connection」をクリック)、「OK」をクリックします。使用可能なサイトのリストにFTPサイトが追加されます。
注意: 選択したサーバーへのアクセスには、高位修飾子としてユーザー名が使用されるため、ユーザーがファイルを参照および転送できます。 |
次の図に、「Add Resource」画面を示します。
コンピュータを右クリックして「Set Transfer Type」を選択します。転送タイプ(「ASCII」または「BINARY」)を入力し、「OK」をクリックします。
追加したサイトのノードを開いて、必要なCOBOLファイルを探します。高位修飾子を変更するには、コンピュータを右クリックして「Change Root Directory」を選択します。高位修飾子を引用符で囲んで入力し、「OK」をクリックします。
ファイルを選択(複数選択可)し、「Finish」をクリックします。次の図に示すように、選択したファイルが「Metadata Import」ウィザードに表示されます。
インポート・ウィザードで、「Next」をクリックします。次の図に示すように、「Apply Filters」画面が表示されます。
コピーブックにフィルタを適用します。次の表に、使用可能なフィルタを示します。
表2-4 メタデータのフィルタ
フィルタ | 説明 |
---|---|
COMP_6 switch |
MicroFocus COMP-6コンパイラ・ディレクティブ。COMP-6をCOMPデータ型として処理する場合は「COMP-6'1'」を、COMP-6をCOMP-3データ型として処理する場合は「COMP-6'2'」を指定します。 |
Compiler source |
コンパイラのベンダー。 |
Storage mode |
MicroFocus Integer Storage Mode。バイト・ストレージ・モードの場合は「NOIBMCOMP」を、ワード・ストレージ・モードの場合は「IBMCOMP」を指定します。 |
Ignore after column 72 |
COBOLコピーブックの73〜80列を無視します。 |
IgnoreFirst6 |
COBOLコピーブックの最初の6列を無視します。 |
Replace hyphens (-) in record and field names with underscores (_) |
COBOLから生成されたメタデータのレコード名またはフィールド名に使用されているすべてのハイフンをアンダースコアで置換します。 |
Prefix nested columns |
すべてのネスト列の先頭に、その上のレベルのヘッダーを付加します。 |
Case sensitive |
検索文字列の大/小文字を区別するかどうかを指定します。 |
Find |
指定した値を検索します。 |
Replace with |
「Find」に指定した値を、ここで指定した値で置換します。 |
「Next」をクリックします。「Add Events」画面が表示されます。
「Add」をクリックしてCICSアダプタに対するイベントを追加し、次の情報を入力します。
表2-5 イベントのパラメータ
パラメータ | 説明 |
---|---|
|
イベント名。指定されているデフォルト名は変更できます。 |
|
イベント・モード。async-sendモードを選択できます。このイベント・モードでは、リクエストを送信しますが、レスポンスの受信は待機しません。 |
|
入力レコードを識別します。入力レコードは、イベントに対するデータ構造です。手順の開始時に指定したCOBOLファイルから生成されたレコードがリストされます。イベントに関連するレコードを選択します。 注意: 「Next」をクリックする前に、各イベントに対する入力レコードを指定する必要があります。相互作用で入力レコードが不要な場合、ここで指定したレコードは無視されます。 |
|
イベントを説明する自由形式テキスト。 |
次の図に、「Add Events」画面を示します。
必要なイベントを追加します。
「Next」をクリックしてアダプタのメタデータ定義を生成します。
次の図に示すように、「Do you want to transfer the metadata to the server」で「Yes」をクリックしてデータをWindowsコンピュータからIBM z/OSコンピュータに転送し、「Finish」をクリックします。
メタデータは指定したオプションに基づいてインポートされ、IBM z/OSプラットフォームに格納されます。メタデータのXML表記も生成されます。
インポートを実行した後は、Oracle Studioの「Design perspective」の「Metadata」タブでメタデータを表示できます。また、必要に応じてメタデータの微調整および操作も実行できます。
OracleAS Adapter for CICS Queueの相互作用のモデリングでは、Oracle Studioを使用してOracle Connectのバックエンド・アダプタが定義されます。Oracle Studioで指定された定義はすべて、IBM z/OSプラットフォームに書き込まれます。
この項の構成は、次のとおりです。
CICS TDキューは、異なる構造を持つ様々なイベントを受信します。したがって、これらのキューに書き込む様々なアプリケーションに基づき、これらのイベントのマッピングを事前に適切に計画する必要があります。異なる構造を持つイベントがキューに書き込まれる場合、変数を使用します。変数を使用すると、キューから読み込まれるイベントの識別に使用されるフィールドを、事前に定義できます。
キューイング・システムでは、キューに書き込まれるイベントのメタデータを提供するヘッダーを使用します。ヘッダーが使用される場合、各イベントはヘッダー部とデータ部から構成されます。ヘッダーには、メイン・レコードで定義されるすべての変数(「アダプタ定義」のAR_RECKEY
)と、複数のイベント・タイプを定義する変数とに共通するフィールドを表すフィールドが含まれています。
アダプタ定義には、イベント・レコードの構造を決定するeventHeader
Booleanパラメータが含まれています。true
に設定した場合、各イベントのペイロードが次のような構造を取ることを示します。
<event-name> <header... header-attributes/> <data ...> ... </data></event-name>
header-attributes
は、定義されているすべての変数に共通のフィールドを示します。
単純なレコードが使用される場合、ヘッダー・フィールドにはフィールドが含まれず、データは単純に指定されたレコード全体となります。複合レコードが使用される場合(変数フィールドが含まれている)、ヘッダー・フィールドの残りの部分は、ヘッダーのeventsRecord
フィールドの最初のレベルのフィールドで、イベントの特定のインスタンスのデータ部は、ヘッダーのeventsVariantField
パラメータで定義された変数フィールドのCase
です。
eventHeader
パラメータがfalse
に設定された場合、CICS Queueは、各イベントのペイロードを単純なレコード構造として処理します。このレコードには、単純または複合(変数を持つ)のいずれをも使用できます。キューに含まれるイベントが1種類のみの場合、この方法が便利です。
CICS Queueアダプタのメタデータで使用するCOBOLコピーブックは、事前に準備する必要があります。このファイルには、CICS Queueに送信する様々なイベント・タイプを含める必要があります。次に、変数の記述が含まれているcob_adl
形式のファイル(詳細は「COB_ADL形式」を参照)を準備する必要があります。変数の記述には、再定義されたレコード、セレクタ・フィールド、および変数の値をCOBOLコピーブックで使用される順序で含めます(これらのファイルはOracleAS Adapter for CICS Queueのメタデータ・インポート手順で使用されます)。
Queueアダプタ・メタデータ定義の一部としてインポートされる、1つの適切なCOBOLコピーブックを準備する手順は、次のとおりです。
SELECTORフィールドが含まれている共通のルート・レコードをコピーし、新しいコピーブックにルート・レコードとして含めます。
REDEFINEDレコードをコピーし、ルート・レコードの下に入れます。
最初のレコードは、そのままコピーされます。
その後のレコードもコピーされますが、最初のレコードの再定義を設定するコード行(REDEFINE)がそれぞれに追加されます。
例2-1 アダプタの定義
次に、アダプタ定義のサンプルを示します。Queueアダプタに必要なファイルをインポートした後に生成されるメタデータです。
<?xml version="1.0" encoding="UTF-8"?>
<adapterDef type="CICSQ" transactionLevelSupport="2PC" name="sela_q1">
<adapterSpec eventsHeader="false" eventsRecord="AR_RECORD" eventsVariantField="VAR_0" />
<schema noAlignment="true">
<record name="AR_RECORD">
<field name="AR_SELECTOR" type="string" nativeType="numstr_u" size="3" />
<field name="AR_RECKEY" type="AR_RECORD__AR_RECKEY" />
<field name="VAR_0" type="AR_RECORD__VAR_0" selector="AR_SELECTOR" />
</record>
<record name="AR_RECORD__AR_RECKEY">
<field name="AR_INST" type="string" nativeType="string" size="2" />
</record>
<variant implicit="true" name="AR_RECORD__VAR_0">
<field name="AR_CNTL_RECORD" type="AR_RECORD__VAR_0__AR_CNTL_RECORD" case="1" />
<field name="AR_TIR_RECORD" type="AR_RECORD__VAR_0__AR_TIR_RECORD" case="2" />
<field name="AR_TCR_RECORD" type="AR_RECORD__VAR_0__AR_TCR_RECORD" case="3" />
</variant>
<record name="AR_RECORD__VAR_0__AR_CNTL_RECORD">
<field name="AR_CNTL_ROOT" type="AR_RECORD__VAR_0__AR_CNTL_RECORD__AR _CNTL_ROOT" />
<field name="AR_CNTL_SEGMENT" type="AR_RECORD__VAR_0__AR_CNTL_RECORD__AR _CNTL_SEGMENT" />
</record>
<record name="AR_RECORD__VAR_0__AR_CNTL_RECORD__AR_CNTL_ROOT">
<field name="AR_CNTL_CTR" type="string" nativeType="numstr_u" size="3" />
<field name="FILLER" type="string" nativeType="string" size="6" />
</record>
<record name="AR_RECORD__VAR_0__AR_CNTL_RECORD__AR_CNTL_SEGMENT">
<field name="AR_CN_KEY" type="AR_RECORD__VAR_0__AR_CNTL_RECORD__AR_CNTL _SEGMENT__AR_CN_KEY" />
</record>
<record name="AR_RECORD__VAR_0__AR_CNTL_RECORD__AR_CNTL_SEGMENT__AR_CN_KEY">
<field name="AR_CN_TIR_CTR" type="string" nativeType="numstr_u" size="3" />
<field name="AR_CN_TCR_CTR" type="string" nativeType="numstr_u" size="3" />
</record>
<record name="AR_RECORD__VAR_0__AR_TIR_RECORD">
<field name="AR_TIR_ROOT" type="AR_RECORD__VAR_0__AR_TIR_RECORD__AR_TIR _ROOT" />
<field name="AR_TIR_SEGMENT" array="100" type="AR_RECORD__VAR_0__AR_TIR _RECORD__AR_TIR_SEGMENT" />
</record>
<record name="AR_RECORD__VAR_0__AR_TIR_RECORD__AR_TIR_ROOT">
<field name="AR_TIR_CTR" type="string" nativeType="numstr_u" size="3" />
<field name="FILLER2" type="string" nativeType="string" size="6" />
</record>
<record name="AR_RECORD__VAR_0__AR_TIR_RECORD__AR_TIR_SEGMENT">
<field name="AR_TI_KEY" type="AR_RECORD__VAR_0__AR_TIR_RECORD__AR_TIR _SEGMENT__AR_TI_KEY" />
<field name="AR_TI_HRS_RANGE" type="AR_RECORD__VAR_0__AR_TIR_RECORD__AR _TIR_SEGMENT__AR_TI_HRS_RANGE" />
</record>
<record name="AR_RECORD__VAR_0__AR_TIR_RECORD__AR_TIR_SEGMENT__AR_TI_KEY">
<field name="AR_TI_CLASS" type="string" nativeType="string" size="3" />
<field name="AR_TI_RESID" type="string" nativeType="string" size="1" />
<field name="AR_TI_COLL" type="string" nativeType="string" size="2" />
<field name="AR_TI_MAJOR" type="string" nativeType="string" size="4" />
<field name="AR_TI_SPPGM" type="string" nativeType="string" size="3" />
</record>
<record name="AR_RECORD__VAR_0__AR_TIR_RECORD__AR_TIR_SEGMENT__AR_TI_HRS _RANGE">
<field name="AR_TI_LO_HR" type="string" nativeType="numstr_u" size="2" />
<field name="AR_TI_HI_HR" type="string" nativeType="numstr_u" size="2" />
</record>
<record name="AR_RECORD__VAR_0__AR_TCR_RECORD">
<field name="AR_TCR_ROOT" type="AR_RECORD__VAR_0__AR_TCR_RECORD__AR_TCR _ROOT" />
<field name="AR_TCR_SEGMENT" array="99" type="AR_RECORD__VAR_0__AR_TCR _RECORD__AR_TCR_SEGMENT" />
</record>
<record name="AR_RECORD__VAR_0__AR_TCR_RECORD__AR_TCR_ROOT">
<field name="AR_TCR_CTR" type="string" nativeType="numstr_u" size="3" />
<field name="FILLER3" type="string" nativeType="string" size="6" />
</record>
<record name="AR_RECORD__VAR_0__AR_TCR_RECORD__AR_TCR_SEGMENT">
<field name="AR_TC_KEY" type="AR_RECORD__VAR_0__AR_TCR_RECORD__AR_TCR _SEGMENT__AR_TC_KEY" />
<field name="AR_TC_HOURS" type="string" nativeType="numstr_u" size="2" />
<field name="AR_TC_TUIT_TYPE" type="string" nativeType="string" size="1" />
</record>
<record name="AR_RECORD__VAR_0__AR_TCR_RECORD__AR_TCR_SEGMENT__AR_TC_KEY">
<field name="AR_TC_COURS" type="string" nativeType="string" size="11" />
</record>
</schema>
</adapterDef>
次に、3つのCOBOLコピーブックのサンプルを示します。各コピーブックに共通のAR-RECORD
レコード(太字表記)に注意してください。このフィールドは、最終のコピーブックのルート・レコードとして使用されます。
01 AR-RECORD1. 03 AR-SELECTOR PIC 9(03). 03 AR-RECKEY. 05 AR-INST PIC X(02). ** ** CONTROL RECORD ** 03 AR-CNTL-RECORD. 05 AR-CNTL-ROOT. 07 AR-CNTL-CTR PIC 9(03). 07 FILLER PIC X(06). 05 AR-CNTL-SEGMENT. 07 AR-CN-KEY. 09 AR-CN-TIR-CTR PIC 9(03). 09 AR-CN-TCR-CTR PIC 9(03). 01 AR-RECORD2. 03 AR-SELECTOR PIC 9(03). 03 AR-RECKEY. 05 AR-INST PIC X(02). ** ** TIR - INSTITUTIONAL TUITION RATES. ** 03 AR-TIR-RECORD. 05 AR-TIR-ROOT. 07 AR-TIR-CTR PIC 9(03). 07 FILLER PIC X(06). 05 AR-TIR-SEGMENT OCCURS 100 TIMES. 07 AR-TI-KEY. 09 AR-TI-CLASS PIC X(03). 09 AR-TI-RESID PIC X(01). 09 AR-TI-COLL PIC X(02). 09 AR-TI-MAJOR PIC X(04). 09 AR-TI-SPPGM PIC X(03). 07 AR-TI-HRS-RANGE. 09 AR-TI-LO-HR PIC 9(02). 09 AR-TI-HI-HR PIC 9(02). 01 AR-RECORD3. 03 AR-SELECTOR PIC 9(03). 03 AR-RECKEY. 05 AR-INST PIC X(02). ** TCR - COURSE TUITION AND FEES. ** 03 AR-TCR-RECORD. 05 AR-TCR-ROOT. 07 AR-TCR-CTR PIC 9(03). 07 FILLER PIC X(06). 05 AR-TCR-SEGMENT OCCURS 99 TIMES. 07 AR-TC-KEY. 09 AR-TC-COURS PIC X(11). 07 AR-TC-HOURS PIC 9(02). 07 AR-TC-TUIT-TYPE PIC X(01).
次に、最終のCOBOLコピーブックの例を示します。最初のレコードはそのままコピーされ、その後のレコードはREDEFINE
が付加されています。
01 AR-RECORD. 03 AR-SELECTOR PIC 9(03). 03 AR-RECKEY. 05 AR-INST PIC X(02). ** ** CONTROL RECORD ** 03 AR-CNTL-RECORD. 05 AR-CNTL-ROOT. 07 AR-CNTL-CTR PIC 9(03). 07 FILLER PIC X(06). 05 AR-CNTL-SEGMENT. 07 AR-CN-KEY. 09 AR-CN-TIR-CTR PIC 9(03). 09 AR-CN-TCR-CTR PIC 9(03). ** ** TIR - INSTITUTIONAL TUITION RATES. ** 03 AR-TIR-RECORD REDEFINES AR-CNTL-RECORD. 05 AR-TIR-ROOT. 07 AR-TIR-CTR PIC 9(03). 07 FILLER PIC X(06). 05 AR-TIR-SEGMENT OCCURS 100 TIMES. 07 AR-TI-KEY. 09 AR-TI-CLASS PIC X(03). 09 AR-TI-RESID PIC X(01). 09 AR-TI-COLL PIC X(02). 09 AR-TI-MAJOR PIC X(04). 09 AR-TI-SPPGM PIC X(03). 07 AR-TI-HRS-RANGE. 09 AR-TI-LO-HR PIC 9(02). 09 AR-TI-HI-HR PIC 9(02). ** ** TCR - COURSE TUITION AND FEES. ** 03 AR-TCR-RECORD REDEFINES AR-CNTL-RECORD. 05 AR-TCR-ROOT. 07 AR-TCR-CTR PIC 9(03). 07 FILLER PIC X(06). 05 AR-TCR-SEGMENT OCCURS 99 TIMES. 07 AR-TC-KEY. 09 AR-TC-COURS PIC X(11). 07 AR-TC-HOURS PIC 9(02). 07 AR-TC-TUIT-TYPE PIC X(01).
次に、変数記述ファイルの例を示します。これは、cob_adl
形式に準拠する必要があります。
variant_record_name, selector_field_name, "case1", "case2",..., "caseN"
前述の例では、変数記述ファイルは次のとおりです。
AR-CNTL-RECORD, AR-SELECTOR, "1", "2", "3"
次に、z/OSプラットフォームでCICS TD Queueを定義するために使用するコマンドのサンプルを示します。
CEDA DEFINE TDQUEUE TDqueue ==> YTST Group ==> ATY DEscription ==> TYPE ==> INTra Extra | INTra | INDirect EXTRA PARTITION PARAMETERS DAtabuffers : 1-255 DDname : DSname : Sysoutclass : Erroroption : Ignore | Skip Opentime : Initial | Deferred REWind : Leave | Reread TYPEFile : Input | Output | Rdback RECORDSize : 0-32767 BLOCKSize : 0-32767 RECORDFormat : Fixed | Variable BLOCKFormat : Blocked | Unblocked INTRA PARTITION PARAMETERS Atifacility ==> File Terminal | File | System RECOVstatus ==> Logical No | Physical | Logical Facilityid ==> TRAnsid ==> TRIggerlevel ==> 00000 0-32767 Userid ==> NDOUBT ATTRIBUTES WAIT ==> Yes No | Yes WAITAction ==> Reject Queue | Reject NDIRECT PARAMETERS Indirectname : EMOTE PARAMETERS REMOTEName ==> REMOTESystem ==>
ATYGTEVT
CICSプログラムは、CICS一時データ・キューからイベントを戻します。
CICSプログラムがTDキューとトランザクションを使用して動作するためには、TDキューがLogically Recoverable
に設定されている必要があります。この設定では、TDキューには一度に1つのタスクのみが書込み可能で、タスクが終了した後(またはsync-pointの発行後)、他のタスクがキューに書き込めるようになります。
ATYGTEVTプログラムを使用する手順は次のとおりです。
プログラムをNAVROOT.LOAD
からCICSのDFHRPL
ライブラリ(CICS.USER.LOAD
など)にコピーします。
次のようにして、CICSでATYGTEVT
プログラムを任意の使用可能なグループ(ATY
グループなど)で定義します。
CEDA DEF PROG(ATYGTEVT) G(ATY) LANG(C) DA(ANY) DE(ORACLE CICSQ GET EVENTS)
次のようにしてATYGTEVT
プログラムをインストールします。
CEDA IN G(ATY)
Oracle Connectを使用するには、IBM z/OSプラットフォームでアダプタ定義を構成して、CICSキューに対する相互作用を処理する必要があります。これらの定義を指定するには、Oracle Studioを使用します。
次の手順を実行します。
「スタート」メニューから、「プログラム」→「Oracle」→「Studio」を選択します。
「Machines」フォルダを開きます。
「Design」パースペクティブの「Configuration」ビューで、「Oracle StudioでのIBM z/OSプラットフォームの設定」で定義したコンピュータを開きます。
「Bindings」を開きます。このコンピュータで使用可能なバインディング構成がリストされます。
「NAV」バインディングを開きます。NAVバインディング構成には、コンピュータに格納されているデータソース、アダプタおよびイベントのブランチが含まれています。
「Events」を右クリックして「New Event」を選択し、「New Event」ウィザードを開きます。
キュー・イベントの名前を入力します。
注意: eventは予約語であり、イベント名には使用できません。 |
次の図に示すように、「Type」リストから、イベント・タイプとして「CICS Queue」を選択します。
「Finish」をクリックします。
注意: 「Type」リストに表示されるその他のイベントは、サイトにインストールされているOracle Connectのバージョンではサポートされません。 |
OracleAS Adapter for CICS Queueには、情報の受渡しに使用する構造など、相互作用について記述されたメタデータが必要です。
インポート時に、COBOLコピーブック・ファイルと変数記述ファイルが、Oracle Studioを実行しているコンピュータにコピーされます。
相互作用のメタデータを生成する手順は、次のとおりです。
「スタート」メニューから、「プログラム」→「Oracle」→「Studio」を選択します。
「Machines」フォルダを開きます。
「Design」パースペクティブの「Configuration」ビューで、「Oracle StudioでのIBM z/OSプラットフォームの設定」で定義したコンピュータを開きます。
「Bindings」を開きます。このコンピュータで使用可能なバインディング構成がリストされます。
「NAV」バインディングを開きます。NAVバインディング構成には、コンピュータに格納されているデータソース、アダプタおよびイベントのブランチが含まれています。
「Events」フォルダを開いて、「CICS Queueアダプタの構成」で作成したCICS Queueを選択します。
「Bindings」を開きます。このコンピュータで使用可能なバインディング構成がリストされます。
Queueアダプタを右クリックして「Show in Metadata View」を選択します。
「Metadata」タブが表示され、Queueアダプタが「Adapters」リストの下に表示されます。
「Imports」を右クリックして「New Import」を選択します。
新規インポートの画面が表示されます。
インポートの名前を入力します。名前に使用できるのは、文字、数字およびアンダースコアのみです。
「Import Type」リストで「CICS Queue Import Manager」を選択します。
「Finish」をクリックします。
インポート・タイプを定義した後は、「Metadata Import」ウィザードがOracle Studioで開きます。メタデータの作成には、COBOLコピーブックが使用されます。インポート・ウィザードでは、レコード構造が生成されます。これは、アウトバウンド相互作用に対してレコードを定義するために使用されます。
「Metadata Import」ウィザードで「Add」をクリックします。「Select Resources」画面が表示されます(図2-20)。この画面で、ローカル・コンピュータからファイルを選択するか、別のコンピュータからファイルをコピーするかを選択できます。
ファイルが別のコンピュータにある場合は、「My FTP Sites」を右クリックして「Add」を選択します。または、「Add FTP Site」をダブルクリックします。「Add FTP Site」画面が表示されます。
COBOLコピーブックが常駐しているサーバー名またはIPアドレスを入力し、有効なユーザー名とパスワードを入力してコンピュータにアクセスし(匿名アクセスを使用する場合は、「Anonymous connection」をクリック)、「OK」をクリックします。使用可能なサイトのリストにFTPサイトが追加されます。
注意: 選択したサーバーへのアクセスには、高位修飾子としてユーザー名が使用されるため、ユーザーがファイルを参照および転送できます。 |
次の図に、「Select Resource」画面を示します。
コンピュータを右クリックして「Set Transfer Type」を選択します。転送タイプ(「ASCII」または「BINARY」)を入力し、「OK」をクリックします。
追加したサイトのノードを開いて、必要なCOBOLファイルを探します。高位修飾子を変更するには、コンピュータを右クリックして「Change Root Directory」を選択します。高位修飾子を引用符で囲んで入力し、「OK」をクリックします。
ファイルを選択(複数選択可)し、「Finish」をクリックします。「Metadata Import」ウィザードに、選択したファイルが表示されます。
「Browse」をクリックし、変数記述COBOLファイルにナビゲートします。必要に応じて、前述のステップ2〜6を繰り返します。
「Finish」をクリックします。
インポート・ウィザードで、「Next」をクリックします。
次の図に示すように、「Apply Filters」画面が表示されます。
コピーブックにフィルタを適用します。使用可能なフィルタは次の表に示されています。必要に応じて、さらに変数記述フィルタを適用します。
「Next」をクリックします。
次の図に示すように、「Configure Adapter Specification」画面が表示されます。
「Events Record」フィールドの「Value」列に、使用するCOBOLコピーブックの名前を入力します。
「Events Variant Field」フィールドの「Value」列に、関連するイベントのデータを記述する変数(再定義されたレコード)の名前を入力します。このプロパティは、複数のイベント・タイプが使用される場合のみ指定します。そうでない場合は空白にしておきます。
ハイフンを置換するかどうかを指定します(true/false
)。
メタデータのイベント・ヘッダーを表示するかどうかを指定します(true/false
)。
「Next」をクリックしてアダプタのメタデータ定義を生成します。
「Do you want to transfer the metadata to the server」で「Yes」をクリックしてデータをIBM z/OSコンピュータに転送し、「Finish」をクリックします。
アダプタ相互作用を記述したXMLスキーマは、メタデータをXMLとして表示するときに、「Source」タブを選択すれば表示できます。詳細は、付録E 「Oracle StudioでのXMLファイルの編集」を参照してください。
アダプタ相互作用およびこれらの相互作用の入出力レコードを記述したXMLスキーマは、「アウトバウンド相互作用の生成」および「インバウンド相互作用の生成」で説明したように、インポート手順の実行時に自動的に作成されます。