|
ART for CICSでは、アプリケーション・リスト・トランザクション(ALST)を使用して複数のセッションを管理できます。これはユーザー・プラグインと統合され、アプリケーション・リストを取得および表示できるようにします。
ALSTトランザクションが同期トランザクション・サーバー(ARTSTRN/ARTSTR1)によって実行される場合、ユーザー・プラグインを呼び出してアプリケーション・リストが取得されます。
libkixauthalst.soという名前の動的共有ライブラリとして構築されています。ARTKIX__GET_USER_ALSTと呼ばれる関数エントリを提供します。詳細は、「ARTKIX__GET_USER_ALST」を参照してください。
int ARTKIX__GET_USER_ALST(ALST_INOUT_PARAM * alst)
入力の場合、ARTKIX__GET_USER_ALSTの呼出し時に、ART for CICSはVERSION、USERIDおよびLISTSZフィールドに入力し、RESERVEDフィールドを0に設定します。
出力の場合、ARTKIX__GET_USER_ALSTはLISTSZを更新し、APPLISTに入力します。
LISTSZを入力として使用する場合、アプリケーション・リストに含めることができる最大アプリケーション数を示すAPPLISTの長さが指定されます。このフィールドの直後のアドレスにアプリケーション・リストを入力します。例については、リスト7-1を参照してください。この例では、アプリケーション・リストに最大128アプリケーションを含めることができることを示しています。
|
|||
|
typedef struct {char transid[4];
char sessid[8];
char fnkey;
char label[35];
char startupACLName[8];
char termACLName[8];
char reserved[3];
} ALST_APPLICATION;
// Input & Output
typedef struct {int version;
int reserved;
char userid[8];
int listsz;
ALST_APPLICATION applst[128];
} ALST_INOUT_PARAM;
リスト7-2はサンプルです。
01 COMM-ACL.
05 ACL-USERID PIC X(8).
05 ACL-TRANSID PIC X(4).
05 ACL-RETCODE PIC s9(8) comp-5.
05 ACL-RETMSG PIC X(1920).
05 ACL-MSGLEN PIC s9(8) comp-5.
05 FILLER PIC X(60).
DFHALST LINK ACLの場合、ALSTは次のフィールドに入力します。
ACL-USERID
ACL-TRANSID
ALSTへのACL RETURNの場合、ACLは次のフィールドに入力します。
ACL-RETCODE
ACL-RETMSG
ACL-RETCODE=0の場合、ACL-RETMSGにはトランザクションの呼出し方法を示す初期入力文字列が含まれます(入力文字列は、実際の3270データ・ストリームではなく、ユーザーが3270ターミナルに入力する正確な入力です。ART for CICSは、入力文字列から3270データ・ストリームを構成します)。このフィールドのサイズは1920バイトです(必要に応じて後続の空白が挿入されます)。 ACL-RETCODE=-1の場合、ACL-RETMSGには、ALSTがターミナルに表示する詳細なエラー・メッセージが含まれます。エラー・メッセージの長さは160バイトです(必要に応じて後続の空白が挿入されます)。
ACL-MSGLEN
ACL-RETMSGから後続の空白/バイナリ・ゼロを削除します。 値が0以外の場合、この値はメッセージのサイズであり(1920以下の正の整数)、ART for CICSはこのサイズを使用してトランザクションを呼び出します。
FILLER
int ARTKIX__SET_TRAN_INIT_STR (char* pbuf, int size, char * aid)
3270空白画面に入力したようにトランザクション入力文字列を設定します(この入力文字列はARTKIX__SET_TRAN_INIT_STRによって3270データ・ストリームに変換されます)。
呼出しの後にRECEIVEコマンドを発行した場合、RECEIVEで入力データを取得できます。RECEIVEコマンドを発行しない場合、データ・ストリームはトランザクションがARTTCPに戻されたときに破棄されます。
pbuf
XXXX abcd1234と入力する場合、XXXXは開始するトランザクションID、abcd1234は入力メッセージです。したがって、XXXX abcd1234はpbufとともに渡す必要があります。
size
aid
int ARTKIX__GET_TRAN_OUT_STR(char* pbuf, int size)
(トランザクション内の)最後のSEND動詞が送信する出力データ文字列を取得します。この出力文字列は、ARTKIX__GET_TRAN_OUT_STRによって3270データ・ストリームに分解されるため、ユーザーが分解する必要はありません。
pbuf
size
リターン・コード: 受信したバッファの長さが戻された場合、成功を示します。-1が戻された場合、失敗を示します。
『Oracle Tuxedo Application Runtime for CICSユーザー・ガイド』の「複数セッション管理を使用した実装」
|