![]() ![]() ![]() ![]() ![]() ![]() |
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ユーザー・ガイド』の「複数セッション管理を使用した実装」
![]() ![]() ![]() |