Tivoli Service Desk 6.0 Developer's Toolkit Interface Designer の手引き
この項では、CPIC 組み込みステートメントを定義し、その使用法を説明して、有用な注記が示されています。
ステートメントはアルファベット順にリストされています。
多くのステートメントでは、Tivoli Service Desk (TSD) Developer's Toolkit システム定義の定数が使用されています。
各ステートメントでは、次の情報が提供されています (使用可能な場合)。
着信 CPIC または APPC 会話を受け入れます。
conv : CONVERSATION
パラメーター | 説明 |
conv | 着信会話特性で初期化するための会話ハンドル |
INTEGER
この呼び出しは、各種の会話特性の値を初期化します。この機能の呼び出し元は、その会話の "受信側" とみなされます。
それぞれの CPIC 会話は、CPICAccept で初期化される CONVERSATION ハンドルによって識別されます。 TSD Script アプリケーションはその会話のための CPIC 呼び出しでこのハンドルを使用します。 アプリケーションは、他の呼び出しがその会話を参照する前に CPICAccept ステートメントを出さなければなりません。
現在、CPIC によってアプリケーションの受け入れ可能な会話は 1 つだけですが、1 つのアプリケーションが割り振りできる会話の数には制限はありません。
次の 2 つのアプリケーション FIRST と SECOND はテキスト・ファイルを転送します。SECOND が会話の起動側です。
-- FIRST.KB -- このアプリケーションがファイル転送の受信側です。 -- ファイルでは、一度に 1 行のテキスト行が送信されます。 -- 転送が完了した後で、ルーチンはファイル全体を 1 つの バッファーに戻します (このリターン・トリップが 機能するのはファイル < 32K の場合だけです)。
KNOWLEDGEBASE FIRST;
ROUTINES PROCEDURE GetConversation;
PRIVATE TYPES FileRec IS RECORD LineNbr:INTEGER; Buff:STRING; END;
ROUTINES
PROCEDURE GetConversation IS VARIABLES Conv :CONVERSATION; Buff :STRING; FileLine :FileRec; TotalBuff:STRING; DataRcvd :INTEGER; StatRcvd :INTEGER; ReqTSRcvd:INTEGER; didreqts :BOOLEAN; rc :INTEGER; count :INTEGER; ACTIONS rc := CPICAccept(Conv); TotalBuff := ''; count := 0; didreqts := FALSE; while (rc = 1) and (not(StatRcvd = 1)) do rc := CPICReceive(Conv,'FILEREC.DDF', FileLine,DataRcvd,StatRcvd, ReqTSRcvd); if ((DataRcvd = $CPICDataReceived) or (DataRcvd = $CPICCompleteDataReceived)) then TotalBuff := TotalBuff & FileLine.Buff; end; count := count + 1; if ((StatRcvd = $CPICConfirmReceived) or (StatRcvd = $CPICConfirmSendReceived)) then rc := CPICConfirmed(Conv); end;
if (count = 3) then rc := CPICRequestToSend(Conv); didreqts := TRUE; end;
if (((StatRcvd = $CPICConfirmSendReceived) or (StatRcvd = $CPICSendReceived)) and (didreqts)) then Buff := 'DATA SENT BY FIRST.KB AFTER REQUEST TO SEND'; rc := CPICSend(Conv,'STD3.DDF', Buff,ReqTSRcvd); Buff := 'DO RAY ME FA LA SO.'; rc := CPICSend(Conv,'STD3.DDF', Buff,ReqTSRcvd); rc := CPICPrepareToReceive(Conv); didreqts := FALSE; StatRcvd := 0; end; end; rc := CPICSend(Conv,'TOTALBUF.DDF',TotalBuff, ReqTSRcvd); rc := CPICDeallocate(Conv); END;
-- SECOND.KB -- このファイルはテキスト・ファイルを読み込み、各行を FIRST に送信します。 -- 完了時に、SECOND がファイル全体を FIRST から 1 つのバッファー中に受信します。
KNOWLEDGEBASE SECOND;
ROUTINES PROCEDURE DoConversation(VAL Args:List of String); (* Expecting sdn, infile *)
PRIVATE
ROUTINES
PROCEDURE RcvData(VAL Conv:Conversation) IS VARIABLES Buff :STRING; DataRcvd :INTEGER; StatRcvd :INTEGER; ReqTSRcvd:INTEGER; rc :INTEGER; ACTIONS rc := 1; while (rc = 1) and (not((StatRcvd = $CPICSendReceived) or (StatRcvd = $CPICconfirmSendReceived))) do rc := CPICReceive(Conv,'STD.DDF', Buff,DataRcvd,StatRcvd, ReqTSRcvd); if ((StatRcvd = $CPICConfirmReceived) or (StatRcvd = $CPICConfirmSendReceived)) then rc := CPICConfirmed(Conv); end; end; END; -- RcvData PROCEDURE DoConversation(VAL Args:List of String) IS VARIABLES Conv :Conversation; Buff :STRING; DataRcvd :INTEGER; StatRcvd :INTEGER; ReqTSRcvd:INTEGER; rc :INTEGER; inf :file; ACTIONS if (ListLength(Args) < 3) then WinMessageBox($DESKTOP,'Oops',$MBOK, 'KML SECOND SDN INFILE'); Exit; end;
FOpen(inf,Args[2],$Read);
rc := CPICInitialize(Conv,Args[1]); rc := CPICSetSyncLevel(Conv, $CPICConfirm); rc := CPICSetTPName(Conv,'RUNRCV '); rc := CPICSetPartnerLUName(Conv,'SAI.DVORJAK '); rc := CPICSetConvType(Conv,$CPICBasicConversation); rc := CPICAllocate(Conv);
rc := CPICSetSendType(Conv, $CPICBufferData); rc := CPICSetPrepareToReceiveType (Conv,$CPICPrepToReceiveFlush);
while (FReadLn(inf,Buff) > 0) do Buff:= Buff & Char(13) & Char(10); -- add on CR LF rc := CPICSend(Conv,'FILEREC.DDF', Buff,ReqTSRcvd); if (ReqTSRcvd = $CPICReqToSendReceived) then RcvData(Conv); end;
-- この例では、確認がランダム化 されています if (random(1,10) < 2) then CPICConfirm(Conv,ReqTSRcvd); if (ReqTSRcvd = $CPICReqToSendReceived) then RcvData(Conv); end; end; end; FClose(inf);
rc := CPICPrepareToReceive(Conv);
rc := CPICReceive(Conv,'TOTALBUF.DDF', Buff,DataRcvd,StatRcvd,ReqTSRcvd); rc := CPICDeallocate(Conv); END;
パートナー・アプリケーションとの間の基本またはマップ式の会話を確立します。
conv: CONVERSATION EXPRESSION
パラメーター | 説明 |
conv | 初期化されて、割り振られる会話 |
INTEGER
この呼び出しを出した後、アプリケーションは「送信」状態になります。
CPICAllocate を試みる前に、アプリケーションは CPICInitialize コマンドを (同じ CONVERSATION 変数で) 出さなければなりません。
パートナー・アプリケーションは、CPICInitialize の呼び出しで指定 される CPIC サイド情報 SDN の TP 名の特性に指定されます。CPICAllocate を出す前 (および CPICInitialize を出した後) に、TSD Script アプリケーションは次の呼び出しの 1 つを出すことができます。
ローカル LU が (1 つまたは複数の CPICSend 呼び出しから) 伝送のための十分な情報を累積するまで、あるいはローカル TSD Script アプリケーションがそのバッファーを明示的にフラッシュする呼び出しを出すまで、ローカル LU は割り振り要求をバッファーに入れておくことができます。
ローカル・アプリケーションは、接続を確認するために CPICAllocate の直後に CPICFlush を出すことができます。
会話を受け入れた後、リモート・アプリケーションは「受信」状態になります。
ローカル LU での失敗による割り振りエラーは CPICAllocate の呼び出しで報告されます。
パートナー LU での要求の拒否による割り振りエラーは、それ以降の会話の呼び出しで報告されます。
この完全な例については、CPICAccept のコード・セグメントを参照してください。
(データの受信に関して) パートナー・アプリケーションからの確認を要求してから、応答を待ちます。
conv : CONVERSATION EXPRESSION reqTSRcvd: INTEGER PARAMETER
パラメーター | 説明 |
conv | 初期化されて、割り振られる会話 |
reqTSRcvd | パートナーがデータの送信を要求したかどうかを示します。この変数は、値 $CPICRequestToSendReceived または $CPICRequestToSendNotReceived をとります。
|
INTEGER
ローカル・アプリケーションは、パートナー・アプリケーションがこの要求に応答するまでその先の処理を休止します。ローカル LU の送信バッファーはこの呼び出しによってフラッシュされます。
完全な例については、CPICAccept のコード・セグメントを参照してください。
パートナーによって確認要求に応答します。
conv: CONVERSATION EXPRESSION
パラメーター | 説明 |
conv | 初期化されて、割り振られる会話 |
INTEGER
パートナーが確認を要求した場合にかぎり、この関数が呼び出されます。
完全な例については、CPICAccept のコード・セグメントを参照してください。
会話を終了して、その会話に占有されていたリソースを解放します。
conv: CONVERSATION EXPRESSION
パラメーター | 説明 |
conv | 初期化されて、割り振られる会話 |
INTEGER
ローカル LU の送信バッファーはこの関数によってフラッシュされます。
パートナーは、戻りコードまたは CPICReceive の statusReceived パラメーターを使用して割り振り解除の通知を受け取ります。
statusReceived パラメーターが $CPICConfirmDeallocReceived の場合には、 ローカル・アプリケーションが次によって CPICDeallocate を出しました。
完全な例については、CPICAccept のコード・セグメントを参照してください。
指定された CPIC サイド情報項目を削除します。
keylock : STRING EXPRESSION symDestName: STRING EXPRESSION
パラメーター | 説明 |
keylock | コミュニケーション・マネージャー・キーで、コミュニケーション・マネージャーのキーロック機構がオンになっ ている場合のものです。この機構を使用 しない 場合には、' ' (8 つのブランク) を指定してください。 |
symDestName | コミュニケーション・マネージャー・セットアップ情報の項目の SDN。 |
INTEGER
戻りコードが 1 以外のものである場合には、その項目は削除されていません。
この呼び出しはアクティブな会話には影響しません。この項目は即時除去され、 SDN で行なわれた後続のどの CPICInitialize 呼び出しも拒否されることを表します。コミュニケーション・マネージャーがこの項目を除去中の間は、CPICInitialize での他のアプリケーションの試みは、その除去が完了するまで中断されます。
会話のセキュリティー・タイプを入手します。
conv : CONVERSATION convSecurityType: INTEGER PARAMETER
パラメーター | 説明 |
conv | そのセキュリティー・タイプを検査する、その会話を指定します。 |
convSecurityType | セキュリティー・タイプを表す整数が含まれていて、TSD Script には、これらのタイプの簡略記号であるシステム定数があります。
|
INTEGER
会話のセキュリティー・タイプは、CPICInitialize の呼び出しでデフォルト値に設定されます。 これは、CPICSetConvSecurityType を呼び出して変更することができます。
会話と関連したセキュリティー・ユーザー ID を入手します。
conv : CONVERSATION EXPRESSION securityUserID: STRING PARAMETER
パラメーター | 説明 |
conv | セキュリティー・ユーザー ID の会話ハンドル |
securityUserID | 会話に対してアクセスをもつユーザーの ID が含まれています。 |
INTEGER
セキュリティー・ユーザー ID は、CPICInitialize の呼び出しでデフォルト値に設定されます。 これは、CPICSetConvSecurityUserID を呼び出して変更することができます。
指定された会話の状態を入手します。
conv : CONVERSATION EXPRESSION state: INTEGER PARAMETER
パラメーター | 説明 |
conv | ユーザーがその状態を知りたい、その会話ハンドル |
状態 | ローカル・パートナーの会話の状態が含まれていて、TSD Script システム定数は次の通りです。
|
INTEGER
指定された会話のタイプを入手します。
conv : CONVERSATION PARAMETER convType: INTEGER PARAMETER
パラメーター | 説明 |
conv | そのタイプが必要な会話ハンドル |
convType | 会話のタイプが含まれています。この値は、次の TSD Script システム定数の 1 つとすることができます。
|
INTEGER
会話のタイプのデフォルトとして、CPICInitialize 処理中に $CPICMappedConversation が使用されます。
CPICInitialize の呼び出し後 (および CPICAllocate の呼び出し前) の CPICSetConvType の呼び出しでは、会話のタイプが更新されます。
指定された会話のモード名を入手します。
conv : CONVERSATION EXPRESSION modeName : STRING PARAMETER
パラメーター | 説明 |
conv | モード名が必要なその会話ハンドル |
modeName | 会話のモード名が含まれています。これは、その会話を実行するセッションのネットワーク特性を指定します。 |
INTEGER
パートナー・アプリケーションの LU 名を入手します。
conv : CONVERSATION EXPRESSION partnerLUName : STRING PARAMETER
パラメーター | 説明 |
conv | その LU 名が必要な、パートナー・アプリケーションへの会話を示します。 |
partnerLUName | パートナーの LU 名が含まれています。 |
INTEGER
指示された SDN のパラメーターを入手します。
entryNbr : INTEGER EXPRESSION symDestName : STRING EXPRESSION partnerLUName : STRING PARAMETER TPNameType : INTEGER PARAMETER TPName : STRING PARAMETER modeName : STRING PARAMETER convSecurityType: INTEGER PARAMETER securityUserID : STRING PARAMETER
パラメーター | 説明 |
entryNbr | その値が必要となる、CPIC サイド情報テーブルの索引番号。この番号が 0 の場合には、コミュニケーション・マ ネージャーは指定された SDN に基づいて検索します。 |
symDestName | entryNbr に対して 0 を指定した場合には、CPIC サイド情報テーブルの検索でこの値が使用さ れます。 |
partnerLUName | CPIC サイド情報項目に指定されたパートナー LU 名。 |
TPNameType | TP のタイプを示す整数。これらのタイプの TSD Script システム定数は $CPICApplicationTP および $CPICSNAServiceTP です。 |
TPName | TP の名前。 |
modeName | この SDN を使用して割り振られる会話で使用されるモード。 |
convSecurityType | この CPIC サイド情報項目で割り振られる会話に使用されるセキュリティーのタイプ。 |
securityUserID | その会話へのセキュリティー・アクセスのユーザー ID。これは、セキュリティー・タイプが CPICSecurityProgram の時に、割り振り要求中にパートナー LU に渡されます。 |
INTEGER
テーブル項目のセキュリティー・パスワードは戻されません。
コミュニケーション・マネージャーがこのコマンドを実行している場合には、この情報を変更するための他のどのアプリケーションの呼び出しも中断されます。
この項目番号は、内部 CPIC サイド情報項目の現行のリストに索引を指定します。項目が削除された場合には、その索引も変わります。
会話の現行の同期レベルを入手します。
conv : CONVERSATION EXPRESSION SYNCLEVEL: INTEGER PARAMETER
パラメーター | 説明 |
conv | 同期レベルが必要なその会話ハンドル |
SYNCLEVEL | 指定された会話の現行の同期レベル。 |
これらの値の TSD Script システム定数の簡略記号は次の通りです。
INTEGER
$CPICNone の同期レベル値は、パートナーが確認処理を行なわないことを示します。
$CPICConfirm の同期レベル値は、アプリケーションが確認処理を行なうことを表します。すなわち、これらが適切な確認呼び出しを出して、認識と関連して戻されたパラメーターを認識します。
コミュニケーション・マネージャーによって内部バッファーにデータが送信されます。
conv: CONVERSATION EXPRESSION
パラメーター | 説明 |
conv | フラッシュされたデータの会話ハンドル |
INTEGER
アプリケーションが CPICAllocate、CPICSend、 または CPICSendError を出す時には、コミュニケーション・マネージャーはネットワーク通信をできるだけ効率的にするために、そのデータを内部に保管します。内部バッファーが満杯になるか、あるいはアプリケーションがフラッシュを強制するまで、コミュニケーション・マネージャーがそのデータを保持します。内部バッファーにもうデータがない場合には、パートナー・アプリケーションにデータは送信されません。
アプリケーションによる強制フラッシュは、明示的に CPICFlush によって、あるいは暗黙的に CPICConfirm、CPICPrepareToReceive、CPICDeallocate などによって強制することができます。
それぞれの CPICSend の後で毎回フラッシュを計画する場合には、CPICSetSendType を使用して送信タイプを $CPICSendAndFlush に設定したいことがあります。 これを行なうと、コミュニケーション・マネージャーが実行しようとする効率的な方法が回避されることに注意してください。
会話の内部リソースを構成し準備します。多くの特性はデフォルト値に設定されて、指定された会話ハンドルと関連付けられます。
conv : CONVERSATION PARAMETER symDestName: STRING EXPRESSION
パラメーター | 説明 |
conv | 会話のために準備される会話ハンドル。 |
symDestName | 会話の特性の設定に使用される CPIC サイド情報テーブルの項目の SDN。 |
INTEGER
アプリケーションは、該当の CPICSet 呼び出しを呼び出すことによって、この呼び出しで初期化された属性を上書きすることができます。設定されたこれらの呼び出しは、CPICAllocate 呼び出しの前に実行する必要がある、ことに注意してください。
このコマンドによって構成された会話ハンドルは、CPIC コマンドに対するそれ以降のすべての呼び出しで使用されます。アプリケーションは、割り振られるそれぞれの会話で CPICInitialize を一回呼び出して複数の会話を行なうことができます。
CPIC サイド情報テーブルがその会話に無効な情報を提供した場合には、CPICAllocate の呼び出しでその状態が検出されます。
アプリケーションがこの関数に対してブランクの symDestName を提供することがあります。これを行なうことによって、アプリケーションが TSD Script 関数の呼び出しの責任を負って、その会話特性を設定します。
完全な例については、CPICAccept のコード・セグメントを参照してください。
データ受信の準備として、会話のローカル端末を「送信」状態から「受信」状態に変更します。
conv: CONVERSATION EXPRESSION
パラメーター | 説明 |
conv | 「受信」状態にしたい会話を識別するハンドル。 |
INTEGER
会話の受信タイプ準備が $CPICPrepareToReceiveConfirm であるか、あるいは 受信タイプ準備が $CPICPrepareToReceiveSyncLevel であり、同期レベルが $CPICConfirm の場合には、コミュニケーション・マネージャーはパートナー・アプリケーションに確認要求を送信します。
ローカル・アプリケーションは、確認応答を受け取るまで待機します。このコマンドは暗黙的にフラッシュを強制します。
リモート・アプリケーションは、状況受信パラメーターによって送信制御の通知を受け取ります。
$CPICSendReceived の状況受信値では、ローカル・アプリケーションは確認の要求なしで CPICPrepareToReceive コマンドを出しました。
$CPICConfirmSendReceived では、ローカル・アプリケーションは確認を要求してコマンドを出しました。これは、受信タイプ準備を $CPICPrepToReceiveConfirm に設定するか、あるいは同期レベルを $CPICConfirm に設定した $CPICPrepToReceiveSyncLevel を設定することによって実行します。
リモート・アプリケーションの会話の終わりで、「送信」または「送信保留」状態に入ります。
完全な例については、CPICAccept のコード・セグメントを参照してください。
指定された会話から着信データを受信します。
conv : CONVERSATION EXPRESSION DDFName : STRING EXPRESSION buffer : ANY PARAMETER dataReceived : INTEGER PARAMETER statusReceived: INTEGER PARAMETER reqTSRcvd : INTEGER PARAMETER
パラメーター | 説明 |
conv | データを取り出す元の会話ハンドル。 |
DDFName | 着信ブロック・バイトの構造を定義する DDF の名前。 |
buffer | 単純タイプ (INTEGER, BOOLEAN, TIME, DATE, STRING) またはユーザー定義レコード・タイプのいずれかの TSD Script 変数。バッファー形式を適切に記述する DDF を DDFName で指定しなければならないために、この変数は DDFName パラメータ ーと密接に関連付けられます。 |
dataReceived | アプリケーションがデータを受信したかどうかを指定します。 この値の TSD Script システム定数は次の通りです。
|
reqTSRcvd | パートナーがデータの送信を要求したかどうかを示します。この変数は、値 $CPICRequestToSendReceived または $CPICRequestToSendNotReceived をとります。
$CPICRequestToSendReceived は、パートナーが CPICRequestToSend を出したことを表します。これは、ローカル・アプリケーションが「受信」状態に入るための要求です。
|
INTEGER
受信タイプが $CPICReceiveAndWait (デフォルト) に設定された場合には、 データを受信するまで TSD Script アプリケーションはブロック (待機) します。この待機の時間制限 は、コミュニケーション・マネージャー・ディレクトリーの NDF (ノード定義ファイル) に設定されます。
注: この値のコミュニケーション・マネージャーのデフォルトは INFINITE です。
DDF の適切な使用法の詳細については、CPIC の使用法を説明する章の DDF の項を参照してください。このコマンドでは、暗黙に内部バッファーがフラッシュされることになります。アプリケーションは、同じ呼び出しでデータと会話の両方の状況を受信することができます。
完全な例については、CPICAccept のコード・セグメントを参照してください。
パートナー・アプリケーションにデータを送信するための要求を出します。
conv: CONVERSATION EXPRESSION
パラメーター | 説明 |
conv | ユーザーが「送信」状態に入りたい、その会話。 |
INTEGER
リモート・アプリケーションは、CPICSend、CPICSendError、CPICConfirm、 または CPICTestRequestToSendReceived コマンドの 1 つの reqTSRcvd パラメーターによって、要求の到着が通知されます。
この値は $CPICReqToSendReceived です。
リモート・アプリケーションが (該当のコマンドを出して) 「受信」状態になった後、ローカル・アプリケーションは「送信」状態または「送信保留」状態になります。リモート LU が同時に保存する要求は、会話当たり 1 つだけです。CPIC 呼び出し中にリモート・アプリケーションに通知されるまで、追加の通知は廃棄されます。
これは、リモート・アプリケーションに対する指示よりも多い CPICRequestToSend 呼び出しをアプリケーションが出すことがあることを意味する、ことに注意してください。
完全な例については、CPICAccept のコード・セグメントを参照してください。
指定された会話でパートナー・アプリケーションにデータを送信します。
conv : CONVERSATION EXPRESSION DDFName : STRING EXPRESSION buffer : ANY EXPRESSION reqTSRcvd : INTEGER PARAMETER
パラメーター | 説明 |
conv | データを送信する会話。 |
DDFName | バッファーから値を取り出し、送信するバイトのブロックをビルドするために使用する DDF。 |
buffer | 送信するデータが含まれる TSD Script 変数。この変数のタイプは TSD Script 単純タイプ (INTEGER、REAL、 BOOLEAN、TIME、DATE) またはユーザー定義のレコード・タイプとすることができます。 |
reqTSRcvd | パートナーがデータの送信を要求したかどうかを示します。 この変数は次の値をとります。
|
INTEGER
送信に十分なデータ容量になるまで、あるいはアプリケーションが (明示的または暗黙的に) フラッシュを強制するまで、 ローカル LU が送信するデータを保管します。送信に十分なデータの容量は、会話のサポートのために割り振られたセッションの特性によって異なります。
reqTSRcvd が $CPICReqToSendReceived を指示した場合には、 ローカル・アプリケーションが「受信」状態になっていることを、リモート・アプリケーションが尋ねます。 CPICSend を CPICFlush、CPICConfirm、 または CPICPrepareToReceive と組み合わせて頻繁に使用する場合には、 CPICSetSendType の使用法を調べてください。 このセット・コマンドを使用すると、さらに効率的になるようです。
この完全な例については、CPICAccept のコード・セグメントを参照してください。
ローカル・アプリケーションが会話中にエラーを検出したことをリモート・アプリケーションに通知します。
conv : CONVERSATION EXPRESSION reqTSRcvd : INTEGER PARAMETER
パラメーター | 説明 |
conv | エラーを指示する会話。 |
reqTScvd | パートナーがデータの送信を要求したかどうかを示します。 この変数は次の値をとります。
|
INTEGER
ローカル LU は、エラー通知の送信をただちに遅らせることができます。その場合には、 伝送に十分なデータ容量になるまで、あるいはローカル・アプリケーションが (明示的または暗黙に) フラッシュを強制するまで、 その通知はバッファーに入れられます。パートナー・アプリケーションがエラー通知をただちに受信するようにするために、 ローカル・アプリケーションは CPICFlush を出すことができます。
「受信」、「確認」、「送信確認」、「割り振り解除確認」、または「送信保留」の状態からこの呼び出しを出すと、ローカル・アプリケーションは「送信」状態になります。「送信」状態からこの呼び出しを出すと、状態の変更は起こりません。
パートナーに送信するセキュリティー・パスワードを設定します。
conv : CONVERSATION EXPRESSION securityPassword: STRING EXPRESSION
パラメーター | 説明 |
conv | ユーザーがパスワードを送信したい、その会話。 |
securityPassword | 新規のセキュリティー・パスワード。パートナー LU はこれとセキュリティー・ユーザー ID を使用して、要求発行者の識別を検査します。 |
INTEGER
会話セキュリティー・タイプが $CPICSecurityProgram の場合にかぎり、この呼び出しを行なうことができます。 この呼び出しは、CPICInitialize の後で、CPICAllocate の前に実行しなければなりません。
初期化の時には、パスワードはデフォルトの特性 (CPIC サイド情報項目に設定される) に設定されます。
無効なパスワードの指定は、この呼び出しでは検出されません。これは、割り振り要求を受信する時にパートナー LU によって検出されます。ローカル・アプリケーションはそれ以降の CPIC 呼び出しでエラーの指示を受信します。
会話のセキュリティー・タイプを設定します。
conv : CONVERSATION EXPRESSION convSecurityType: INTEGER EXPRESSION
パラメーター | 説明 |
conv | ユーザーがセキュリティー・タイプを設定したい、その会話ハンドル。 |
convSecurityType | セキュリティーのタイプを示す INTEGER。TSD Script システム定数は次の通りです。
|
INTEGER
CPICInitialize 処理中には、セキュリティー・タイプはデフォルト値 (CPIC サイド情報項目に設定される) に設定されます。
$CPICSecurityNone のセキュリティー・タイプでは、割り振り余波はセキュリティー情報なしでパートナー LU に送信されます。
$CPICSecuritySame のセキュリティー・タイプでは、割り振り要求には、アプリケーションの開始で使用したのと同じレベルのアクセス・セキュリティー情報 (ユーザー ID 付きまたはなしのいずれか) が入っていて、これは、パートナー LU が事前検査されたセキュリティー情報を受け入れる場合です。パートナー LU が事前検査されたセキュリティー情報を受け入れない場合には、割り振り要求には、セキュリティー情報は含まれていません。
$CPICSecurityProgram のセキュリティー・タイプでは、割り振り要求には、対応する会話属性からのユーザー ID およびパスワードが入っていて、これは、パートナーがローカル LU からのセキュリティー情報を受け入れる場合です。
TSD Script アプリケーションがセキュリティー・タイプを $CPICSecurityProgram に設定した場合には、 CPICSetConvSecurityPassword および CPICSetConvSecurityUserID を呼び出すことができます。
TSD Script アプリケーションがセキュリティー・タイプを $CPICSecurityProgram に設定しない場合には、その値は CPIC サイド情報項目から取り出されます。
会話のセキュリティー・ユーザー ID を設定します。このユーザー ID は、$CPICSecurityProgram のセキュリティー・タイプの会話で必要となります。
conv : CONVERSATION EXPRESSION securityUserID: STRING EXPRESSION
パラメーター | 説明 |
conv | セキュリティー・ユーザー ID を設定するその会話。 |
securityUserID | セキュリティー・ユーザー ID。パートナー LU はこれとセキュリティー・パスワードを使用して、要求発行者の識別を検査します。 |
INTEGER
ユーザー ID の初期値は、CPICInitialize の処理中に CPIC サイド情報項目から取り出されます。
無効なセキュリティー・ユーザー ID の指定は、この呼び出しでは検出されません。パートナー LU か割り振り要求を受信する時にこれが検出されます。ローカル・アプリケーションはそれ以降の CPIC 呼び出しでその通知を受信します。
会話タイプを設定します。
conv : CONVERSATION PARAMETER convType: INTEGER EXPRESSION
パラメーター | 説明 |
conv | ユーザーが会話タイプを変更したい、その会話ハンドル。 |
convType | 会話のタイプを示す整数。TSD Script システム定数は次の通りです。
|
INTEGER
CPICInitialize の処理中には、会話のタイプは $CPICMappedConversation に設定されます。 アプリケーションは、そのタイプを $CPICBasicConversation に変更するために、 CPICInitialize の後でこの関数を呼び出さなければなりません。基本会話は、拡張プログラミング技法と考える必要があります。
完全な例については、CPICAccept のコード・セグメントを参照してください。
実行する割り振り解除処理のタイプを設定します。
conv : CONVERSATION EXPRESSION deallocateType: INTEGER EXPRESSION
パラメーター | 説明 |
conv | 割り振り解除タイプを設定している、その会話ハンドル |
deallocateType | 必要な割り振り解除タイプを示す整数。TSD Script システム定数は次の通りです。
|
INTEGER
割り振り解除タイプ属性は、CPICDeallocate 関数の呼び出し時に CPIC によって使用されます。
成功の応答を受信した場合には、その会話は通常に割り振り解除されます。失敗の応答を受信した場合には、その会話の状態は戻りコードによって判別されます。
同期レベルが $CPICConfirm の場合には、使用できるタイプは $CPICDeallocateConfirm だけである、ことに注意してください。
会話のエラー方向属性を設定します。
conv : CONVERSATION EXPRESSION errorDirection: INTEGER EXPRESSION
パラメーター | 説明 |
conv | エラー方向を設定する、その会話ハンドル。 |
errorDirection | エラーが検出された、そのデータ流れの方向を示す整数。TSD Script システム定数は $CPICReceiveError および $CPICSendError です。 |
INTEGER
$CPICReceiveError の値は、ローカル・アプリケーションがパートナーから受信したデータでエラーを検出したことを示します。ローカル・アプリケーションが CPICSendError を出すと、リモート・アプリケーションは -22 (CM_PROGRAM_ERROR_PURGING) の戻りコードを受信します。$CPICSendError の値は、パートナーへのデータ送信を準備中に、ローカル・アプリケーションが問題を検出したことを示します。ローカル・アプリケーションが CPICSendError を出すと、リモート・アプリケーションは -21 (CM_PROGRAM_ERROR_NO_TRUNC) の戻りコードを受信します。
このエラー方向属性を使用するのは、アプリケーションが「送信保留」状態の時 (これが受信エラーなのか、送信エラーなのかが不明な場合) だけです。データと $CPICSendReceived 状態の両方を受信する CPICReceive の後で、アプリケーションが「送信保留」状態になります。エラー方向のデフォルトとして、
$CPICReceiveError が使用されます。
エラー方向が変更されると、新規の値は、アプリケーションがもう一度それを変更するまで有効のままとなります。
会話で使用するモード名を設定します。
conv : CONVERSATION EXPRESSION modeName : STRING EXPRESSION
パラメーター | 説明 |
conv | ユーザーがモード名を設定したい、その会話ハンドル。 |
modeName | 会話で使用するモード名。モード名、その会話を実行するセッションのネットワーク特性を指定します。これらのネ ットワーク特性には、サービス・クラスおよびデータを暗号化するかどうかが含まれます。 |
INTEGER
無効なモード名は、この呼び出しでは検出されません。それ以降の CPICAllocate がエラーを戻します。
会話のパートナー LU 名を設定します。
conv : CONVERSATION EXPRESSION partnerLUName : STRING EXPRESSION
パラメーター | 説明 |
conv | パートナー LU 名を変更する、その会話。 |
partnerLUName | 会話の新規のパートナー LU 名。これは、リモート・アプリケーションが入っている LU の名前です。この LU 名は、会話を割り振るためにローカル LU がリモート LU を認識する任意の名前です。 |
INTEGER
この呼び出しを行なうのは、CPICInitialize の後であるが、CPICAllocate の前でなければなりません。 この呼び出しが行なわれても、CPIC サイド情報項目の情報は変更されません。
完全な例については、CPICAccept のコード・セグメントを参照してください。
CPICPrepareToReceive の呼び出し時に使用される属性を設定します。
conv : CONVERSATION EXPRESSION prepToRcvType: INTEGER EXPRESSION
パラメーター | 説明 |
conv | 受信タイプ準備を設定するその会話。 |
prepToRcvType | 実行する処理を受信するために準備するタイプを示す整数。TSD Script システム定数は $CPICPrepToReceiveSyncLevel、$CPICPrepToReceiveFlush、および $CPICPrepToReceiveConfirm です。 |
INTEGER
$CPICPrepToReceiveFlush では、バッファーがフラッシュされて、アプリケーションは「受信」状態になります。
$CPICPrepToReceiveConfirm では、確認要求を送信します。正常実行の場合には、アプリケーションは「受信」状態になります。失敗の場合には、その会話の状態は戻りコードによって判別されます。
$CPICPrepToReceiveSyncLevel では、その処理は同期レベルによって異なります。これが $CPICNone である場合には、そのアクションは $CPICPrepToReceiveFlush の場合と同じです。
これが $CPICConfirm の場合には、その処理は $CPICPrepToReceiveConfirm の場合と同じです。
完全な例については、CPICAccept のコード・セグメントを参照してください。
実行する受信操作のタイプを設定します。
conv : CONVERSATION EXPRESSION rcvType: INTEGER EXPRESSION
パラメーター | 説明 |
conv | 受信タイプを変更するその会話。 |
rcvType | 受信処理のタイプを示す整数。TSD Script システム定数は $CPICReceiveAndWait および $CPICReceiveImmediate です。 |
INTEGER
この関数は、CPICInitialize (会話の起動側の場合) または CPICAccept (会話の受信側の場合) の後の任意時に呼び出すことができます。
$CPICReceiveAndWait の値は、情報の到着まで CPICReceive 関数の呼び出しが待機されることを表します。 $CPICReceiveImmediate は、CPICReceive 関数は使用可能なすべてのデータを受信しますが、それ以上の情報を待機しないことを表します。
会話の戻りコントロール属性を設定します。これは、CPICAllocate の呼び出しで使用されます。
conv : CONVERSATION EXPRESSION returnControl: INTEGER EXPRESSION
パラメーター | 説明 |
conv | 戻りコントロールを変更するその会話。 |
returnControl | TSD Script アプリケーションが CPICAllocate の呼び出しで制御権を取り戻す時点を示す整数。 TSD Script システム定数は $CPICWhenSessionAllocated および $CPICImmediate です。 |
INTEGER
$CPICWhenSessionAllocated では、TSD Script アプリケーションは、セッションが割り振られるまで待機します。 $CPICImmediate では、セッションが割り振られるのは、フリー・セッションが即時使用可能な場合だけです。 会話のセッションを獲得するためのローカル LU の障害の結果による割り振りエラーは、CPICAllocate 呼び出しで報告されます。 パートナー LU からの拒否は、それ以降の会話の呼び出しで報告されます。
会話の送信タイプ属性を設定します。
conv : CONVERSATION EXPRESSION sendType: INTEGER EXPRESSION
パラメーター | 説明 |
conv | 送信タイプを変更するその会話。 |
sendType | CPICSend に対するすべての呼び出しで取られるアクションを示す整数。
TSD Script システム定数は次の通りです。
|
INTEGER
$CPICBufferData (デフォルト) では、データの送信の他のアクションも不要です。また、複数の CPICSend 呼び出しを介して送信用の十分なデータ容量が累積されるまで、データは内部的に保管することができます。
$CPICSendAndFlush は、それぞれの CPICSend の後でフラッシュ操作が行なわれることを示します。
$CPICSendAndConfirm は、それぞれの CPICSend の後で確認要求が送信されることを示します。
$CPICSendAndPrepToReceive は、ローカル・アプリケーションが CPICSend の呼び出しでリモート・アプリケーションに送信制御権を与えることを示します。
$CPICSendAndDeallocate は、データを送信した後でその会話が割り振り解除されることを示します。
完全な例については、CPICAccept のコード・セグメントを参照してください。
CPIC サイド情報テーブルの CPIC サイド情報項目を追加または置き換えします。
keylock : STRING EXPRESSION symDestName : STRING EXPRESSION partnerLUName : STRING EXPRESSION TPNameType : INTEGER EXPRESSION TPName: STRING EXPRESSION modeName : STRING EXPRESSION convSecurityType: INTEGER EXPRESSION securityUserID : STRING EXPRESSION securityPassword: STRING EXPRESSION
パラメーターの注
パラメーター | 説明 |
keylock | マスターまたはサービス・キーで、コミュニケーション・マネージャーのキーロック機構が保護される場合には、 このキーは 8 文字までブランクで埋め込まれます (必要な場合)。 |
symDestName | 項目の SDN。この値はテーブルのキーとして使用されます。これがテーブルで検索された場合には、その値は更新 されます。そうでない場合には、新規の項目がテーブルで作成されます。 |
partnerLUName | リモート・アプリケーションの LU 名。 |
TPNameType | TP のタイプを示す整数。TSD Script システム定数は $CPICApplicationTP および $CPICSNAServiceTP です。 |
TPName | この会話のパートナーであるトランザクション・アプリケーションの名前。 $CPICSNAServiceTP を指定した場合には、'\xhhaaa' のフォームで名前を指定する必要があります。この場合、hh は 16 進値として扱われ、その他の文字は 英数字として扱われます。 |
modeName | 会話で使用するモード名。 |
convSecurityType | このサイド情報項目と一緒に割り振られた会話のセキュリティーのタイプを示す整数。TSD Script システ ム定数は $CPICSecurityNone、$CPICSecuritySame、$CPICSecurityProgram です。 |
securityUserID | 検査のためにパートナーに送信するユーザー ID。 convSecurityType が $CPICSecurityProgram の場合には、この値を設定しなければなりません。 |
securityPassword | セキュリティー検査中にパートナーに送信するパスワード。この値が必要となるのは、 convSecurityType が $CPICSecurityProgram の場合だけです。 |
INTEGER
この呼び出しでは、コミュニケーション・マネージャー構成ファイルは変更されません。したがって、ローカル・アプリケーションが実行中の場合にかぎり、サイド情報項目に対して行なわれた変更が存在します。
この関数に渡されるストリング値は、この呼び出しでは妥当性が検査されません。
この関数は、どのアクティブ会話にも影響しません。コミュニケーション・マネージャーが CPIC サイド情報項目を更新中には、その項目情報を変更または抽出するための他のアプリケーションの呼び出しは、その関数が完了するまで中断されます。これには、CPICInitialize に対する他のアプリケーションの呼び出しも含まれています。
会話の同期レベル属性を設定します。
conv : CONVERSATION EXPRESSION SYNCLEVEL: INTEGER EXPRESSION
パラメーター | 説明 |
conv | 同期レベルを変更する、その会話ハンドル。 |
SYNCLEVEL | 会話で使用する同期レベルを示す整数。TSD Script システム定数は $CPICNone および $CPICConfirm です。 |
INTEGER
$CPICNone は、アプリケーションがこの会話で確認処理を実行しないことを表します。 $CPICConfirm は、アプリケーションが確認処理を実行できることを表します。同期レベルを設定できるのは、 CPICInitialize の後であるが、ただし CPICAllocate の前でなければなりません。 この関数を使用できるのは、会話の起動側だけです。
完全な例については、CPICAccept のコード・セグメントを参照してください。
会話の TP 名を設定します。これは、会話のリモート・アプリケーションとして実行するトランザクション・アプリケーションの名前としてパートナー LU に指定されます。
conv : CONVERSATION EXPRESSION TPName: STRING EXPRESSION
パラメーター | 説明 |
conv | TP 名を変更する、その会話。 |
TPName | 会話の新規の TP 名。これは、SNA サービス TP ではなく、アプリケーション TP でなければならないことに注意 してください。 |
INTEGER
この関数を使用できるのは、SNA サービス TP 名ではなく、アプリケーション TP 名を設定する場合だけです。
完全な例については、CPICAccept のコード・セグメントを参照してください。
送信要求がパートナー・アプリケーションによって出されたかどうかを検査します。
conv : CONVERSATION EXPRESSION reqTSRcvd : INTEGER PARAMETER
パラメーター | 説明 |
conv | テストされる会話。 |
reqTSRcvd | 送信要求をパートナーから受信したかどうかを指示する整数が入っています。 TSD Script システム定数は $CPICReqToSendReceived および $CPICReqToSendNotReceived です。 |
INTEGER
ローカル LU が要求通知を受信すると、ローカル・アプリケーションが reqTSRcvd パラメーターを指定して呼び出しを行なうまで、その通知は保存されます。一度に保存される通知は 1 つだけなので、ローカル・アプリケーションに通知されるまで、その他の要求は廃棄されます。
Tivoli Service Desk 6.0 Developer's Toolkit レガシー API の手引き