リファレンス・ガイド

     前  次    新規ウィンドウで目次を開く    PDFとして表示 - 新規ウィンドウ  Adobe Readerを入手 - 新規ウィンドウ
コンテンツはここから始まります

CICS Runtimeの非3270sターミナルとの統合

この章には次のトピックが含まれます:

 


インタフェース

非3270sターミナルは、Tuxedo ATMI tpcall()を介してリクエストを送信し、レスポンスを取得します。tpcall()のサービス名は、次の項で説明されている規則に従う必要があります。さらに、サーバーARTWTRN/ARTWTR1と交換できたデータ・バッファ・タイプはTuxedo FML32のみです。詳細なFML32フィールドおよび各データ構造については、次の項で説明しています。

サービス名規則

非3270sクライアントによって起動されたサービスをTN3270ターミナルによって起動されたサービスと区別するために、ARTWTRN/ARTWTR1サーバーは、各CICSトランザクションを名前の接頭辞WEB_の付いたTuxedoサービスとして公開します。クライアントがARTWTRN/ARTWTR1にリクエストを送信するとき、tpcallのサービス名はこの規則に従う必要があります。

Fml32バッファ定義

非3270sクライアントとARTWTRN/ARTWTR1とのインタフェースとなるのは、Tuxedo FML32バッファのみです。すべてのアプリケーション・データと一部のターミナル制御情報は、FML32バッファでカプセル化されます。

表1では、すべてのFML32 FIELDを示しており、これらは$KIXDIR/include/msgflds32で公開されます。

表1 CICS Runtimeの非3270sターミナルとの統合のためのFML 32バッファ定義
フィールド名
種類
Tuxedoのバッファ・タイプ
Length
コメント
CX_WEB_TRANSID
アウトバウンド
CARRAY
4
呼び出されるトランザクション名。
このフィールドは、ARTWTRN/1により追加または変更されます。クライアントは、このフィールドからトランザクション名を取得し、それを次のtpcallに使用できます。
CX_WEB_MAPSET_NAME
アウトバウンド
CARRAY
7
現在のMAPSETの名前で、クライアントのUIで表示されます。
このフィールドは、ARTWTRN/1により追加または変更されます。クライアントは、このフィールドからMAPSET名を取得できます。
CX_WEB_MAP_NAME
アウトバウンド
CARRAY
7
現在のMAPの名前で、クライアントのUIで表示されます。
このフィールドは、ARTWTRN/1により追加または変更されます。クライアントは、このフィールドからMAP名を取得できます。
CX_WEB_APPDATA
アウトバウンド/インバウンド
CARRAY
コピーブックに依存
クライアントのUIで表示されるか、トランザクションで処理される必要のあるアプリケーション・データ。
このフィールドは、ARTWTRN/1とクライアントの両方によって追加、変更または読取りが行われます。
クライアントでは、FMLバッファを受信すると、アプリケーション・データをこのフィールドから取得し、コピーブックに従い各マップ・フィールドに分割する必要があります。
クライアントは、最新のアプリケーション・データをコピーブックに従って再編成し、ARTWTRN/1に送信することもできます。FMLバッファを受信すると、ARTWTRN/1ではこのフィールドからアプリケーション・データを取得し、処理のためにデータをトランザクションに渡します。
CX_WEB_CTRL_CHAR
アウトバウンド
CARRAY
12
コマンドCICS SENDCICS SEND MAPCICS SEND TEXTおよびCICS SEND CONTROLのターミナル制御文字。
時には、前述のCICS APIは一部の制御オプション(FREEKBALARMERASEERASEUPCURSORなど)で呼び出されます。したがって、これらの制御オプションは、このFMLフィールドに挿入する必要があります。
フィールドは、ARTWTRN/1により追加または変更されます。クライアントは、このフィールドから制御オプションを取得し、それらを適宜処理できます。
CX_WEB_AID
インバウンド
CARRAY
3
CICS RECEIVEおよびCICS RECEIVE MAPの実行時の注意IDおよびカーソルの位置。
3270ターミナルからCICS Runtimeにアプリケーション・データが送信されるとき、データには常にAIDと画面の現在のカーソルの位置が含まれます。したがって、このフィールドは、クライアントにより追加または変更されます。ARTWTRN/1ではこのフィールドからデータを取得し、処理のためにデータをトランザクションに渡します。
CX_SESSIONID
アウトバウンド/インバウンド
STRING
16
クライアントのセッションID。クライアント側で記入されないと、ARTWTRN/1によりランダムに生成されます。
CX_TERMID
アウトバウンド/インバウンド
CARRAY
4
クライアントの期間ID。クライアント側で記入されないと、ARTWTRN/1によりランダムに生成されます。
CX_USERID
アウトバウンド/インバウンド
CARRAY
8
クライアントのユーザーID。クライアント側で記入されない場合、ARTWTRN/1によりWEBGUESTが記入されます。
注: アウトバウンドは、フィールドがARTWTRN/1からクライアントへのFMLバッファにのみ含まれることを意味します。インバウンドは、フィールドがクライアントからARTWTRN/1へのFMLバッファにのみ含まれることを意味します。

CX_WEB_APPDATA

メインフレームCICSには、マップセット・ファイルからコピーブックを生成するユーティリティが備わっています。コピーブックは、トランザクションによりCICS SEND/RECEIVE MAPが呼び出されるときに、アプリケーション・データの構造を定義するために使用されます。
ART CICS Runtimeでは、対応するユーティリティtcxmapgenも提供されており、マップセット・ファイルからコピーブックが生成されます。tcxmapgenにより生成されるコピーブックの構造が、メインフレームCICSで生成されるものとほとんど同じであることに関して、クライアントとARTWTRN/1との間で交換されるアプリケーション・データは、各マップセットのコピーブックでの定義に従う必要があります。 CICS SEND/RECEIVECICS SEND TEXTの場合、ARTWTRN/1とクライアントでは、フィールドCX_WEB_APPDATAにプレーン・テキストの文字を挿入すれば済みます。 ヘッド・ファイルは、ART CICSオフライン・ユーティリティtcxmapgenにより実行時にBMSファイルから生成されたコピーブックとは、オープン・システムでのデータ構造の配置が原因で、一致しない可能性があります。カスタマが、適切なFILLERを埋め込んで、コピーブックを調整することが必要になる場合があります。

CX_WEB_CTRL_CHAR

メインフレームCICSでは、アウトバウンド・データ・ストリームは、アプリケーション・プログラムからターミナルに次の書式で送信されるデータ・ストリームです。
| Command | Write Control Character | Indicate Cursor | Orders | Data | Orders | Data | ... CMDは、ターミナルによって実行される機能を定義します。ARTWTRN/1ではWおよびEWがサポートされます。これは1バイトです。 WCCは、CMD関数の実行方法を指示します。これは、次の書式での1バイトです。 | 0 | 1 | 2/3 | 4 | 5 | 6 | 7 | | * | Reset | Printout | Start | Sound | Keyboard | Reset | | | | Format | Print | Alarm | Restore | MDT |SEND MAP/TEXTコマンドでカーソル・オプションを設定するとき、カーソル・オプションなしのSENDコマンドを使用する場合は、次の書式で3270データ・ストリームのヘッダーにICを挿入する必要があります。このコマンドでオプションERASEを設定する場合は、画面の左上隅にカーソルが配置されます。| SBA | ROW | COL | IC |前述で説明されているCMD、WCCおよびICのほかに、EUAなどの他の制御文字も、3270データ・ストリームのヘッダーに含めることができます。 ART CICS Runtimeでは、FMLフィールドCX_WEB_CTRL_CHARを12バイトのCARRAYと定義し、これらの制御文字を格納します。ただし、このリリースでは、主に使用されるCMD、WCCおよびICをサポートする予定です。このフィールドのデータ・シーケンスを次に示します。| CMD | WCC | SBA | ROW | COL | IC | ...このフィールドでは最初の6文字のみが使用され、残りの6文字はX'00'で予約され、これらの文字のコードは、ASCIIではなくEBCDICとして設定されます。カーソルを設定する必要がない場合、SBAROWCOLおよびICは、X’00’により設定されます。ICがCICSコマンドのオプション・カーソルにより設定されず、MAPSET/MAPファイルで設定される場合、このフィールドではICが設定されず、カスタマは自分でICを処理する必要があります。

CX_WEB_AID

メインフレームCICSでは、インバウンド・データ・ストリームが、ターミナルからアプリケーション・プログラムに送信され、注意識別子(AID)が含まれ、直後にカーソルまたはデータが続きます。AIDは、インバウンド・データ・ストリームの送信の原因となったアクションを、次の書式で説明します。
| AID | ROW | COL | ART CICS Runtimeでは、FMLフィールドCX_WEB_AIDをこれらの3文字を格納するように定義したため、AIDは常にキーボードのファンクション・キー([Enter]、[Clear]、[F01]から[F24]など)となります。ROWおよびCOLは、ターミナルからアプリケーション・プログラムにインバウンド・データ・ストリームを送信するとき、現在のカーソルの位置を意味します。これらの文字のコードは、ASCIIではなく、EBCDICとして設定されます。

 


Oracle Tuxedo外部DPL通信インタフェース

クライアント

ART for CICSを使用すると、ユーザーはネイティブのTuxedoクライアントまたはTuxedo ud32ユーティリティから分散プログラム・コールを作成できます。

クライアントはTuxedo FML32フィールドまたはRECORDを使用してARTDPLと通信します。

Tuxedo FML32バッファを使用する場合、COMMREAをリクエスト/レスポンスで交換し、ミラー・トランザクションとTWAを検証し、さらにCHANNELおよびCONTAINERを使用することもできます。

Tuxedo RECORDバッファを使用する場合、RECORDデータ領域を使用してCOMMAREAを交換できます。ミラー・トランザクション、TWAまたはCHANNEL/CONTAINERはサポートされていません。

インタフェース

Tuxedoクライアントは、Tuxedo ATMI tpcall()を介してリクエスト/レスポンスを送信/受信します。また、サーバーARTDPLと交換できるデータ・バッファ・タイプは、Tuxedo FML32またはRECORDのみです。ARTDPLサービスの詳細は、「DPLサーバー(ARTDPL)」を参照してください。

ARTDPLサービス・コールの作成

Tuxedoクライアントからアクセス可能な、ARTDPLによって公開されるサービスには次の3つの種類があります。ユーザーは、実際のシナリオに応じていずれか1つを選択できます。

ミラー・トランザクションもTuxedoサービスによってアドバタイズできます。また、サービス名の接頭辞はMIRROR_または<applid>_MIRROR_です。この場合、ミラー・トランザクションとTWAは常に有効です。ユーザーは、まず、ミラー・トランザクションとTWAサイズをtransactions.descで構成する必要があります。クライアントがこの2つのサービスをコールしてCOMMAREAARTDPLサーバーと交換しようとする場合は、次のFML32フィールドがリクエストに存在する必要があります。

RECORDをデータ・バッファとして使用してARTDPLサーバーをコールするには、コールされるプログラムに対してprograms.descIN-TYPEおよびOUT-TYPEを構成する必要があります。RECORDを使用する場合、TuxedoクライアントはタイプAサービスのみを使用できます。

Fml32バッファ定義

表2に、すべてのFML32フィールドを示します。これらは$KIXDIR/include/msgflds32で公開されます。

表2 FML32フィールド
フィールド名
種類
Tuxedoのバッファ・タイプ
Length
必須
または不要
コメント
CX_SESSIONID
インバウンド
STRING
 
省略可能
セッションID。省略可能です。
CX_PROGRAM
インバウンド
CARRAY
8
タイプAサービスには禁止
タイプB/Cサービスには必須
ARTDPLサーバーによって実行されるDPLプログラム名の指定に使用します。
CX_TRANSID
インバウンド
CARRAY
4
省略可能
現在のミラーTRANSIDの指定に使用します。この値は、実行済DPLプログラムのEIBTRNIDから取得できます。
CX_USERID
インバウンド
CARRAY
4
必須
セキュリティ・サポートはありませんが、USERIDは実行済DPLプログラムのCICS INQUIRE USERID()によって取得できます。
CX_USERNAME
インバウンド
CARRAY
20
省略可能
USERNAMEは、実行済DPLプログラムのCICS INQUIRE USERNAME()によって取得できます。
CXMW_TASKN
インバウンド
CARRAY
4
省略可能
EIBTASKNは、バッファに存在しない場合、ARTDPLによって自動的に生成できます。
CXMW_MESSAGE
インバウンド/アウトバウンド
CARRAY
32K未満
必須
COMMAREAとARTDPLとの交換に使用します。
CXMW_COMMAREAINLENGTH
インバウンド
LONG
 
省略可能
オンラインで交換される実際のCOMMREAデータ長の指定に使用できます。パフォーマンスの考慮に起因します。
CX_CHANNEL_NAME
インバウンド
CARRAY
16
省略可能
プログラムに渡されるCHANNEL名。CHANNELのサポートに使用されます。リクエストに1つのみ入れることができます。
CX_CONTAINER_NAME
インバウンド/アウトバウンド
CARRAY
16
省略可能
チャネルのコンテナ名。リクエストに複数入れることができます。
CX_CONTAINER_DATA
インバウンド/アウトバウンド
CARRAY
制限なし
省略可能
チャネルのコンテナ・チャネル。リクエストに複数入れることができます。
CX_ABENDCODE
アウトバウンド
CARRAY
4
N/A
DPLプログラム異常終了時のCICS ABCODE。

ミラー・トランザクションとTWA

前提条件

実行済DPLプログラムのEIBTRNID

ARTDPLへのリクエストに、CX_TRANSID が存在する場合は、ARTDPLCX_TRANSIDの値としてEIBTRNIDを設定します。CX_TRANSIDが存在しない場合は、EIBTRNIDはシステム・ミラー・トランザクションCSMI/CVMIに設定されます。

ABEND条件

DPLプログラムが強制終了すると、ARTDPLサーバーがTPFAILSをクライアントに返します。ユーザーは、ARTDPLのレスポンスのFML32フィールドCX_ABENDCODEからCICS ABENDコードを取得できます。

関連項目


  先頭に戻る       前  次