|
非3270sターミナルは、Tuxedo ATMI tpcall()を介してリクエストを送信し、レスポンスを取得します。tpcall()のサービス名は、次の項で説明されている規則に従う必要があります。さらに、サーバーARTWTRN/ARTWTR1と交換できたデータ・バッファ・タイプはTuxedo FML32のみです。詳細なFML32フィールドおよび各データ構造については、次の項で説明しています。
非3270sクライアントによって起動されたサービスをTN3270ターミナルによって起動されたサービスと区別するために、ARTWTRN/ARTWTR1サーバーは、各CICSトランザクションを名前の接頭辞WEB_の付いたTuxedoサービスとして公開します。クライアントがARTWTRN/ARTWTR1にリクエストを送信するとき、tpcallのサービス名はこの規則に従う必要があります。
非3270sクライアントとARTWTRN/ARTWTR1とのインタフェースとなるのは、Tuxedo FML32バッファのみです。すべてのアプリケーション・データと一部のターミナル制御情報は、FML32バッファでカプセル化されます。
表1では、すべてのFML32 FIELDを示しており、これらは$KIXDIR/include/msgflds32で公開されます。
|
||||||
CX_WEB_APPDATA
CICS SEND/RECEIVE MAPが呼び出されるときに、アプリケーション・データの構造を定義するために使用されます。
tcxmapgenも提供されており、マップセット・ファイルからコピーブックが生成されます。tcxmapgenにより生成されるコピーブックの構造が、メインフレームCICSで生成されるものとほとんど同じであることに関して、クライアントとARTWTRN/1との間で交換されるアプリケーション・データは、各マップセットのコピーブックでの定義に従う必要があります。 CICS SEND/RECEIVEとCICS SEND TEXTの場合、ARTWTRN/1とクライアントでは、フィールドCX_WEB_APPDATAにプレーン・テキストの文字を挿入すれば済みます。 ヘッド・ファイルは、ART CICSオフライン・ユーティリティtcxmapgenにより実行時にBMSファイルから生成されたコピーブックとは、オープン・システムでのデータ構造の配置が原因で、一致しない可能性があります。カスタマが、適切なFILLERを埋め込んで、コピーブックを調整することが必要になる場合があります。
CX_WEB_CTRL_CHAR
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として設定されます。カーソルを設定する必要がない場合、SBA、ROW、COLおよびICは、X’00’により設定されます。ICがCICSコマンドのオプション・カーソルにより設定されず、MAPSET/MAPファイルで設定される場合、このフィールドではICが設定されず、カスタマは自分でICを処理する必要があります。
CX_WEB_AID
| AID | ROW | COL | ART CICS Runtimeでは、FMLフィールドCX_WEB_AIDをこれらの3文字を格納するように定義したため、AIDは常にキーボードのファンクション・キー([Enter]、[Clear]、[F01]から[F24]など)となります。ROWおよびCOLは、ターミナルからアプリケーション・プログラムにインバウンド・データ・ストリームを送信するとき、現在のカーソルの位置を意味します。これらの文字のコードは、ASCIIではなく、EBCDICとして設定されます。
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)」を参照してください。
Tuxedoクライアントからアクセス可能な、ARTDPLによって公開されるサービスには次の3つの種類があります。ユーザーは、実際のシナリオに応じていずれか1つを選択できます。
タイプA: <sysid>_<program> DPL <program>は、TuxedoサービスとしてARTDPLによってアドバタイズできます。また、サービス名の接頭辞はCICSリージョン<sysid>_ です。これには、現在のARTDPLサーバーが属しています。クライアントがこのサービスをコールしてCOMMAREAをARTDPLサーバーと交換しようとする場合は、次のFML32フィールドがリクエストに存在します。
一方、FML32ファイルのCX_PROGRAMは存在しません。ARTDPLサーバーは、実行するDPLプログラムの名前をサービス名から実現できるからです。
ミラー・トランザクションとTWAを有効化できます。詳細は、次の項を参照してください。
タイプB: MIRROR_<transid>タイプC: <applid>_MIRROR_<transid> ミラー・トランザクションもTuxedoサービスによってアドバタイズできます。また、サービス名の接頭辞はMIRROR_または<applid>_MIRROR_です。この場合、ミラー・トランザクションとTWAは常に有効です。ユーザーは、まず、ミラー・トランザクションとTWAサイズをtransactions.descで構成する必要があります。クライアントがこの2つのサービスをコールしてCOMMAREAをARTDPLサーバーと交換しようとする場合は、次のFML32フィールドがリクエストに存在する必要があります。
RECORDをデータ・バッファとして使用してARTDPLサーバーをコールするには、コールされるプログラムに対してprograms.descでIN-TYPEおよびOUT-TYPEを構成する必要があります。RECORDを使用する場合、TuxedoクライアントはタイプAサービスのみを使用できます。
表2に、すべてのFML32フィールドを示します。これらは$KIXDIR/include/msgflds32で公開されます。
transactions.descに定義する必要があります。定義は、CICSシステム・ミラー・トランザクションCSMI/CVMIまたはカスタマイズ済トランザクションになります。詳細は、『Oracle Tuxedo Application Runtime for CICSユーザー・ガイド』の「ARTDPLでのTWAのサポート」を参照してください。 次の例では、2つのミラー・トランザクションを定義しています。CSMIはシステム・デフォルトのミラー・トランザクションで、MIR1はユーザー定義のミラー・トランザクションです。
CSMI;SIMPAPP;system default mirror tran;DFHMIRS; ; ; ; ; ; ;ENABLED; ; ; ; ;15000
MIR1;SIMPAPP;user defined mirror tran;DFHMIRS; ; ; ; ; ; ;ENABLED; ; ; ; ;10000
ARTDPLへのリクエストに指定します。次のFML32フィールドが存在する必要があります。 実行したDPLプログラムで使用されるターゲットのミラー・トランザクションを指定します。CX_TRANSIDがリクエストに存在しない場合、システムのミラー・トランザクションCSMI/CVMIの場所が検索されます。CSMI/CVMIがtransactions.descに存在しない場合、SYSIDERRが発生します。指定したCX_TRANSIDがtransactions.descで定義されている有効なミラー・トランザクションでない場合は、SYSIDERRが発生します。
ARTDPLへのリクエストに、CX_TRANSID が存在する場合は、ARTDPLがCX_TRANSIDの値としてEIBTRNIDを設定します。CX_TRANSIDが存在しない場合は、EIBTRNIDはシステム・ミラー・トランザクションCSMI/CVMIに設定されます。
DPLプログラムが強制終了すると、ARTDPLサーバーがTPFAILSをクライアントに返します。ユーザーは、ARTDPLのレスポンスのFML32フィールドCX_ABENDCODEからCICS ABENDコードを取得できます。
|