![]() ![]() ![]() ![]() ![]() ![]() |
非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コードを取得できます。
![]() ![]() ![]() |