Tivoli 服务台 6.0 开发工具包接口设计器指南

第 8 章:CPIC 命令参考

返回目录


简介

概述

本节定义 CPIC 内置语句,说明它们的语法,包括一些可能有帮助的注释。

这些语句以字母顺序列出。

许多语句使用 Tivoli 服务台(TSD)开发工具包系统定义的常数。

对于每个语句,在可用时提供下列信息:

CPICAccept

说明

接受入网 CPIC 或 APPC 对话。

参数

conv : CONVERSATION

参数注释

参数 说明
conv 要用入网对话特性初始化的对话句柄

返回类型

INTEGER

此调用为各种对话特性初始化值。认为此函数的调用者是对话的“接收者”。

每个 CPIC 对话由 CONVERSATION 句柄标识,此句柄用 CPICAccept 初始化。TSD 脚本应用程序使用 CPIC 调用中的此句柄用于该对话。此应用程序在其他调用可引用此对话前,必须发出 CPICAccept 语句。

目前,尽管对于一个应用程序可分配的对话数目没有限制,但是 CPIC 允许应用程序只接受一个对话。

实例

下列两个应用程序(FIRST 和 SECOND)传送一个文本文件。SECOND 是对话的启动程序。

-- FIRST.KB
-- This application is the receiver of a file transfer.
-- The file will be sent one text line at a time.
-- After the transfer is complete, the routine will
   send back the entire file in one buffer
   (this return trip will only work for files < 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
    -- This file reads in a text file, transmitting each
       line to FIRST.
    -- When finished, SECOND will receive the entire file
       in one buffer from FIRST. 
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;
   -- the confirms have been randomized
      for this example
   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; 

另见

CPICAllocate

说明

与伙伴应用程序建立基本对话或映射对话。

参数

conv: CONVERSATION EXPRESSION 

参数注释

参数 说明
conv 已初始化并要分配的对话

返回类型

INTEGER

发出此调用后,应用程序就处于“发送”状态。

应用程序在尝试 CPICAllocate 之前,必须发出带相同 CONVERSATION 变量的 CPICInitialize 命令。

在 CPIC 补充信息 SND(在调用 CPICInitialize 中指定)的 TP 名称特性中指定伙伴应用程序。在发出 CPICAllocate 之前且在发出 CPICInitialize 之后,TSD 脚本应用程序可能发出下列调用之一:

本地 LU 可能对某个分配请求进行缓存,直到此 LU 从一个或多个 CPICSend 调用中积累了足够的传送信息,或直到本地 TSD 脚本应用程序发出明确刷新此缓冲区的调用。

本地应用程序可以在 CPICAllocate 之后立即发出 CPICFlush,以确保连接。

在接受对话后,远程应用程序就处于“接收”状态。

分配错误

调用 CPICAllocate 时,报告由于本地 LU 故障而导致的分配错误。

在随后的对话调用中报告由于在伙伴 LU 拒绝请求而导致的分配错误。

实例

请参见 CPICAccept 的代码段,以获取一个完整的实例。

另见

CPICConfirm

说明

请求伙伴应用程序对有关数据接收进行确认,然后等待答复。

参数

conv : CONVERSATION EXPRESSION
reqTSRcvd: INTEGER PARAMETER 

参数注释

参数 说明
conv 已初始化并要分配的对话
reqTSRcvd 指示伙伴是否已请求发送数据。此变量的值可以为 $CPICRequestToSendReceived$CPICRequestToSendNotReceived
  • $CPICRequestToSendReceived 表示伙伴已发出一个 CPICRequestToSend。这个请求要求本地应用程序进入“接收”状态。
  • $CPICRequestToSendNotReceived 表示伙伴未发出 CPICRequestToSend。本地应用程序仍可处于“发送”状态。

返回类型

INTEGER

本地应用程序暂停进一步的处理,直到伙伴应用程序答复此请求。此调用刷新本地 LU 的发送缓冲区。

实例

请参见 CPICAccept 的代码段,以获取一个完整的实例。

另见

CPICConfirmed

说明

答复伙伴的确认请求。

参数

conv: CONVERSATION EXPRESSION 

参数注释

参数 说明
conv 已初始化并要分配的对话

返回类型

INTEGER

只有当伙伴已请求确认时,才应该调用此函数。

实例

请参见 CPICAccept 的代码段,以获取一个完整的实例。

另见

CPICConfirm

CPICDeallocate

说明

终止对话并释放专用于此对话的资源。

参数

conv: CONVERSATION EXPRESSION 

参数注释

参数 说明
conv 已初始化并要分配的对话

返回类型

INTEGER

用此功能刷新本地 LU 的发送缓冲区。

伙伴通过返回代码或 CPICReceivestatusReceived 参数接收解除分配的通知。

如果 statusReceived 参数是 $CPICConfirmDeallocReceived,则本地应用程序发出带下列项的 CPICDeallocate

实例

请参见 CPICAccept 的代码段,以获取一个完整的实例。

另见

CPICDeleteSideInfo

说明

删除指定的 CPIC 补充信息条目。

参数

keylock : STRING EXPRESSION
symDestName: STRING EXPRESSION

参数注释

参数 说明
keylock 打开通信管理器键锁功能时的通信管理器键。当使用此功能时,指定‘’(八个空格)。
symDestName 通信管理器设置信息中条目的 SDN

返回类型

INTEGER

如果返回代码不是 1,则此条目尚未删除。

此调用不影响活动对话。立即删除此条目,意味着拒绝以后用此 SDN 创建的所有 CPICInitialize 调用。通信管理器正在删除此条目时,暂停任何其他应用程序对 CPICInitialize 的尝试,直到完成删除操作。

另见

CPICExtractConvSecurityType

说明

获得对话的安全类型。

参数

conv : CONVERSATION 
convSecurityType: INTEGER PARAMETER 

参数注释

参数 说明
conv 指定正在为其检查安全类型的对话
convSecurityType 包含指示安全类型的整数。TSD 脚本用一些系统常数作为这些类型的助记符:
  • $CPICSecurityNone
  • $CPICSecuritySame
  • CPICSecurityProgram

返回类型

INTEGER

调用 CPICInitialize 时,将对话的安全类型设置为缺省值。可用调用 CPICSetConvSecurityType 来更改它。

另见

CPICExtractConvSecurityUserID

说明

获得与对话关联的安全用户标识。

参数

conv : CONVERSATION EXPRESSION
securityUserID: STRING PARAMETER 

参数注释

参数 说明
conv 安全用户标识的对话句柄
securityUserID 包含访问此对话所用的用户标识

返回类型

INTEGER

将安全用户标识设置为调用 CPICInitialize 时的缺省值。可用调用 CPICSetConvSecurityUserID 来更改它。

另见

CPICExtractConvState

说明

获得给定对话的状态。

参数

conv : CONVERSATION EXPRESSION
state: INTEGER PARAMETER 

参数注释

参数 说明
conv 希望知道其状态的对话句柄
状态 包含用于本地伙伴 TSD 脚本系统常数的对话状态:
  • $CPICInitState
  • $CPICSendState
  • $CPICReceiveState
  • $CPICSendPendingState
  • $CPICConfirmState
  • $CPICConfirmSendState
  • $CPICConfirmDeallocateState

返回类型

INTEGER

CPICExtractConvType

设计

获得给定对话的类型。

参数

conv : CONVERSATION PARAMETER 
convType: INTEGER PARAMETER 

参数注释

参数 说明
conv 希望知道其类型的对话句柄。
convType 包含对话的类型。此值可以是下列 TSD 脚本系统常数之一:
  • $CPICBasicConversation
  • $CPICMappedConversation

返回类型

INTEGER

CPICInitialize 处理期间,对话的类型缺省为 $CPICMappedConversation

在调用 CPICInitialize 之前但在调用 CPICAllocate 之后,调用 CPICSetConvType 改变对话类型。

另见

CPICSetConvType

CPICExtractModeName

说明

获得给定对话的模式名称。

参数

conv : CONVERSATION EXPRESSION 
modeName: STRING PARAMETER 

参数注释

参数 说明
conv 希望知道其模式名称的对话句柄
modeName 包含对话的模式名称。它为携带此对话的会话指定网络属性。

返回类型

INTEGER

另见

CPICSetModeName

CPICExtractPartnerLUName

说明

获得伙伴应用程序的 LU 名称。

参数

conv : CONVERSATION EXPRESSION 
partnerLUName: STRING PARAMETER 

参数注释

参数 说明
conv 指示某个对话,从此对话中希望知道伙伴应用程序的 LU 名称
partnerLUName 包含伙伴的 LU 名称

返回类型

INTEGER

另见

CPICSetPartnerLUName

CPICExtractSideInfo

说明

获得指示的 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 脚本系统常数是 $CPICApplicationTP 和 $CPICSNAServiceTP。
TPName TP 的名称。
modeName 在使用此 SDN 分配的对话中所使用的模式。
convSecurityType 用此 CPIC 补充信息条目分配的任意对话所使用的安全类型。
securityUserID 访问此对话的安全用户标识。当安全类型为 CPICSecurityProgram 时,在分配请求期间,将安全用户标识传送给伙伴 LU。

返回类型

INTEGER

不返回表条目的安全口令。

当通信管理器执行此命令时,暂停任何其他应用程序有关更改此信息的调用。

此条目编号在内部 CPIC 补充信息条目的当前列表中指定一个索引。如果删除条目,则更改索引。

另见

CPICExtractSyncLevel

说明

获得对话的当前同步级别。

参数

conv : CONVERSATION EXPRESSION 
SYNCLEVEL: INTEGER PARAMETER 

参数注释

参数 说明
conv 需要其同步级别的对话句柄。
SYNCLEVEL 指定的对话的当前同步级别。

这些值的 TSD 脚本系统常数助记符为:

返回类型

INTEGER

同步级别值 $CPICNone 指示伙伴不执行确认处理。

同步级别值 $CPICConfirm 指示应用程序执行确认处理。即它们发出合适的确认调用并识别返回的与确认有关的参数。

另见

CPICSetSyncLevel

CPICFlush

说明

使通信管理器发送内部处理器中的任何数据。

参数

conv: CONVERSATION EXPRESSION 

参数注释

参数 说明
conv 刷新数据所在的对话句柄

返回类型

INTEGER

当应用程序发出 CPICAllocateCPICSendCPICSendError 时,通信管理器可能在内部存储数据,以尽可能确保网络信息量的效率。通信管理器搁置数据,直到内部缓冲区变满或应用程序强制刷新。如果内部缓冲区中没有数据,则不将任何数据发送到伙伴应用程序。

应用程序可使用 CPICFlush 明确强制执行刷新,或使用 CPICConfirmCPICPrepareToReceiveCPICDeallocate 等暗含方式强制执行刷新。

如果计划在每个 CPICSend 之后进行刷新,则可能要使用 CPICSetSendType 将发送类型设置为 $CPICSendAndFlush。注意这样做会影响通信管理器采取措施的效率。

另见

CPICInitialize

说明

配置和准备对话的内部资源。将许多特性设置为缺省值并与指定的对话句柄关联。

参数

conv : CONVERSATION PARAMETER
symDestName: STRING EXPRESSION 

参数注释

参数 说明
conv 要为对话准备的对话句柄。
symDestName 设置对话特性时要使用的 CPIC 补充信息表中某个条目的 SDN。

返回类型

INTEGER

应用程序通过调用合适的 CPICSet,可覆盖在此调用中初始化的属性。请记住必须在调用 CPICAllocate 之前创建这些调用。

在以后调用 CPIC 命令时,都要使用此命令所配置的对话句柄。应用程序通过为每个要分配的对话调用一次 CPICInitialize,可携带多个对话。

如果 CPIC 补充信息表提供此对话的无效信息,则在调用 CPICAllocate 时会检测到这种情况。

应用程序可能向此函数提供空白 symDestName。通过这样做,就由此应用程序负责调用 TSD 脚本函数以设置对话特性。

实例

请参见 CPICAccept 的代码段,以获取一个完整的实例。

另见

CPICPrepareToReceive

说明

将对话的本地端从“发送”状态更改为“接收”状态,以准备接收数据。

参数

conv: CONVERSATION EXPRESSION 

参数注释

参数 说明
conv 此句柄标识要进入“接收”状态的对话。

返回类型

INTEGER

如果此对话的接收准备类型是 $CPICPrepareToReceiveConfirm,或接收准备类型是 $CPICPrepareToReceiveSyncLevel 且同步级别是 $CPICConfirm,则通信管理器向伙伴应用程序发送确认请求。

本地应用程序等待一段时间,直到接收到确认的答复。此命令暗示强制执行刷新。

远程应用程序通过状态接收参数来接收发送控制的通知。

如果状态接收到的值为 $CPICSendReceived,则本地应用程序发出不带确认请求的 CPICPrepareToReceive 命令。

如果值为 $CPICConfirmSendReceived,则本地应用程序发出带确认请求的命令,通过将接收准备类型设置为 $CPICPrepToReceiveConfirm,或将接收准备类型设置为 $CPICPrepToReceiveSyncLevel 且将同步级别设置为 $CPICConfirm 做到这点。

远程应用程序的对话端开始进入“发送”或“发送挂起”状态。

实例

请参见 CPICAccept 的代码段,以获取一个完整的实例。

另见

CPICReceive

说明

接收来自指定对话的入网数据。

参数

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 脚本变量。此变量与 DDFName 参数密切相关,因为 DDFName 应指定足以说明缓冲区格式的 DDF。
dataReceived 指定应用程序是否接收到任何数据。

适用于此值的 TSD 脚本系统常数如下:

  • $CPICNoDataReceived 表示不发送任何数据字节。可能已接收到状态。
  • $CPICCompleteDataReceived 表示已接收到一个完整的数据记录。
  • statusReceived 指示对话状态。应用下列 TSD 脚本系统常数:
    • $CPICNoStatusReceived 表示未接收到对话状态。可能已接收到数据。
    • $CPICSendReceived 表示远程应用程序现在处于“接收”状态,将本地应用程序置于“发送挂起”状态(如果在此调用中接收到数据)或“发送”状态(如果未接收到数据)。本地应用程序现在可以发送使用的数据。
    • CPICSend.$CPICConfirmReceived 表示远程应用程序已请求进行数据发送的确认。本地应用程序应通过发出 CPICConfirmedCPICSendErrorCPICDeallocate(且将解除分配类型设置为 $CPICDeallocateAbend)来响应。
    • $CPICConfirmSendReceived 表示远程应用程序进入带确认请求的“接收”状态。
    • $CPICConfirmDeallocReceived 表示远程应用程序已解除分配带确认请求的对话。发出 CPICConfirmed 时,本地应用程序此时处于“复位”状态。
reqTSRcvd 指示伙伴是否已请求发送数据。此变量的值可以为 $CPICRequestToSendReceived$CPICRequestToSendNotReceived$CPICRequestToSendReceived 表示伙伴已发出一个 CPICRequestToSend。这个请求要求本地应用程序进入“接收”状态。
  • $CPICRequestToSendNotReceived 表示伙伴未发出 CPICRequestToSend。本地应用程序仍可处于“发送”状态。

返回类型

INTEGER

如果接收类型设置为 $CPICReceiveAndWait(缺省值),则 TSD 脚本应用程序暂停(等待)直到接收到数据。等待的时间限制在通信管理器目录的 NDF(节点定义文件)中设置。

注:通信管理器将此值缺省为 INFINITE。

请参见“使用 CPIC”一章中关于 DDF 的章节,以获取正确使用 DDF 的深入说明。此命令暗示要刷新内部缓冲区。在同一调用中应用程序可同时接收数据和对话状态。

实例

请参见 CPICAccept 的代码段,以获取一个完整的实例。

另见

CPICRequestToSend

说明

向伙伴应用程序发出发送数据的请求。

参数

conv: CONVERSATION EXPRESSION 

参数注释

参数 说明
conv 希望其进入“发送”状态的对话。

返回类型

INTEGER

通过 CPICSendCPICSendErrorCPICConfirmCPICTestRequestToSendReceived 命令之一所用的 reqTSRcvd 参数,通知远程应用程序请求到达。

此值是 $CPICReqToSendReceived

远程应用程序通过发出合适的命令进入“接收”状态之后,本地应用程序处于“发送”或“发送挂起”状态。远程 LU 对每个对话一次只发送一个请求。在 CPIC 调用期间,在通知远程应用程序之前,放弃附加的通知。

请注意这意味着应用程序发出的 CPICRequestToSend 调用数可能多于指示给远程应用程序的此调用数。

实例

请参见 CPICAccept 的代码段,以获取一个完整的实例。

另见

CPICSend

说明

在给定的对话上向伙伴应用程序发送数据。

参数

conv : CONVERSATION EXPRESSION 
DDFName : STRING EXPRESSION 
buffer : ANY EXPRESSION 
reqTSRcvd: INTEGER PARAMETER 

参数注释

参数 说明
conv 要在上面发送数据的对话。
DDFName 在从缓冲区提取值并创建要传送的字节块中所使用的 DDF。
buffer 包含要发送的数据的 TSD 脚本变量。此变量的类型可能是 TSD 脚本简单类型(INTEGER、REAL、BOOLEAN、TIME、DATE)或用户定义的记录类型。
reqTSRcvd 指示伙伴是否已请求发送数据。

此变量的值可以为:

  • $CPICRequestToSendReceived 表示伙伴已发出 CPICRequestToSend。这个请求要求本地应用程序进入“接收”状态。
  • $CPICRequestToSendNotReceived 表示伙伴未发出 CPICRequestToSend。本地应用程序仍可处于“发送”状态。

返回类型

INTEGER

本地 LU 保存要发送给远程 LU 的数据,直到有足够的量用于传送,或直到应用程序明确或暗含强制执行刷新之后,才不再保存这些数据。传送的数据量大小由分配来支持此对话的会话特性决定。

reqTSRcvd 指示 $CPICReqToSendReceived 时,远程应用程序正在请求本地应用程序进入“接收”状态。如果经常将 CPICSendCPICFlushCPICConfirmCPICPrepareToReceive 一起使用,则检查 CPICSetSendType 的用法。使用此组命令可能更有效。

实例

请参见 CPICAccept 的代码段,以获取一个完整的实例。

另见

CPICSendError

说明

通知远程应用程序,在对话期间本地应用程序检测到错误。

参数

conv : CONVERSATION EXPRESSION 
reqTSRcvd: INTEGER PARAMETER 

参数注释

参数 说明
conv 要在其上指示错误的对话。
reqTScvd 指示伙伴是否已请求发送数据。

此变量的值可以为:

  • $CPICRequestToSendReceived 表示伙伴已发出 CPICRequestToSend 命令。这个请求要求本地应用程序进入“接收”状态。
  • $CPICRequestToSendNotReceived 表示伙伴未发出 CPICRequestToSend 命令。本地应用程序仍可处于“发送”状态。

返回类型

INTEGER

本地 LU 可能延迟发送错误通知(不立即发送)。如果这样,则将通知缓存,直到有足够的量用于传输,或直到应用程序明确或暗含强制执行刷新之后,才不再保存通知。为确保伙伴应用程序立即接收到错误通知,本地应用程序可发出 CPICFlush

当从“接收”、“确认”、“确认发送”、“确认解除分配”或“发送挂起”状态发出此调用时,本地应用程序进入“发送”状态。当从“发送”状态发出此调用时,不更改状态。

另见

CPICSetErrorDirection

CPICSetConvSecurityPassword

说明

设置要发送给伙伴的安全口令。

参数

conv : CONVERSATION EXPRESSION 
securityPassword: STRING EXPRESSION 

参数注释

参数 说明
conv 要为其设置口令的对话。
securityPassword 新安全口令。伙伴 LU 使用此口令和安全用户标识来验证请求者身份。

返回类型

INTEGER

只有当对话安全类型为 $CPICSecurityProgram 时才生成此调用。应在 CPICInitialize 之后且在 CPICAllocate 之前生成此调用。

初始化时,将口令设置为缺省特性(在 CPIC 补充信息条目中设置)。

此调用不检测无效口令的规范。当接收到分配请求时由伙伴 LU 检测此规范。本地应用程序接收随后的 CPIC 调用上的错误指示。

另见

CPICSetConvSecurityType

说明

设置对话的安全类型。

参数

conv : CONVERSATION EXPRESSION 
convSecurityType: INTEGER EXPRESSION 

参数注释

参数 说明
conv 要为其设置安全类型的对话句柄。
convSecurityType INTEGER 指示安全类型。TSD 脚本系统常数为:
  • $CPICSecurityNone
  • $CPICSecuritySame
  • $CPICSecurityProgram

返回类型

INTEGER

CPICInitialize 处理期间,将安全类型设置为 CPIC 补充信息条目中指定的缺省值。

对于 $CPICSecurityNone 安全类型,将分配请求发送到不带安全信息的伙伴 LU。

对于 $CPICSecuritySame 安全类型,此分配请求包含相同级别的访问安全信息(无或用户标识),以用于启动应用程序,前提是伙伴 LU 接受已验证的安全信息。如果伙伴不接受已验证的安全信息,则分配请求不包含安全信息。

对于 $CPICSecurityProgram 安全类型,如果伙伴接受本地 LU 的安全信息,则分配请求包含相应对话属性中的用户标识和口令。

如果 TSD 脚本应用程序设置安全类型为 $CPICSecurityProgram,此程序可能接着调用 CPICSetConvSecurityPasswordCPICSetConvSecurityUserID

如果 TSD 脚本应用程序不将安全类型设置为 $CPICSecurityProgram,则采用 CPIC 补充信息条目中的值。

另见

CPICSetConvSecurityUserID

说明

设置对话的安全用户标识。此用户标识对于安全类型为 $CPICSecurityProgram 的对话是必需的。

参数

conv : CONVERSATION EXPRESSION 
securityUserID: STRING EXPRESSION 

参数注释

参数 说明
conv 为其设置安全用户标识的对话。
securityUserID 安全用户标识。伙伴 LU 使用此安全用户标识和安全口令来验证请求者身份。

返回类型

INTEGER

CPICInitialize 处理期间,用户标识的初始值取自 CPIC 补充信息条目。
此调用不检测无效安全用户标识的规范。当伙伴 LU 接收到分配请求时,由伙伴 LU 检测此规范。本地应用程序接收随后的 CPIC 调用上的通知。

另见

CPICSetConvType

说明

设置对话类型。

参数

conv : CONVERSATION PARAMETER 
convType: INTEGER EXPRESSION 

参数注释

参数 说明
conv 要为其更改对话类型的对话句柄。
convType 指示对话类型的整数。TSD 脚本系统常数为:
  • $CPICBasicConversation
  • $CPICMappedConversation

返回类型

INTEGER

CPICInitialize 处理期间,将对话类型设置为 $CPICMappedConversation。应用程序在 CPICInitialize 之后需要调用此函数,以将类型更改为 $CPICBasicConversation。基本对话应被认为是高级编程技巧。

实例

请参见 CPICAccept 的代码段,以获取一个完整的实例。

CPICSetDeallocateType

说明

设置要执行的解除分配处理的类型。

参数

conv : CONVERSATION EXPRESSION 
deallocateType: INTEGER EXPRESSION 

参数注释

参数 说明
conv 正在为其设置解除分配类型的对话句柄
deallocateType 指示期望的解除分配类型的整数。TSD 脚本系统常数为:
  • $CPICDeallocateSyncLevel
  • $CPICDeallocateFlush
  • $CPICDeallocateConfirm
  • $CPICDeallocateAbend

返回类型

INTEGER

当调用 CPICDeallocate 函数时,由 CPIC 使用解除分配类型属性。

如果接收到成功的答复,则正常地解除分配此对话。如果接收到不成功的答复,则此对话的状态由返回代码来确定。

请注意只有当同步级别是 $CPICConfirm 时,才能使用 $CPICDeallocateConfirm 类型。

另见

CPICSetErrorDirection

说明

设置对话的错误方向属性。

参数

conv : CONVERSATION EXPRESSION 
errorDirection: INTEGER EXPRESSION 

参数注释

参数 说明
conv 要为其设置错误方向的对话句柄。
errorDirection 指示在其中检测到错误的数据流方向的整数。TSD 脚本系统常数为 $CPICReceiveError$CPICSendError

返回类型

INTEGER

$CPICReceiveError 值指示本地应用程序从伙伴接收数据时,在数据中检测到错误。本地应用程序发出 CPICSendError 时,远程应用程序收到返回代码 -22(CM_PROGRAM_ERROR_PURGING)。$CPICSendError 值指示当准备要发送给伙伴的数据时,本地应用程序遇到了问题。本地应用程序发出 CPICSendError 时,远程应用程序收到返回代码 -21(CM_PROGRAM_ERROR_NO_TRUNC)。

只有在应用程序处于“发送挂起”状态时,才能使用此错误方向属性。只有在“发送挂起”时刻,才不能确认错误是接收错误还是发送错误。在 CPICReceive(即同时接收到数据和 $CPICSendReceived 状态)之后,应用程序处于“发送挂起”状态。错误方向缺省为 $CPICReceiveError
一旦更改错误方向,则在应用程序再次更改它之前新值一直有效。

另见

CPICSendError

CPICSetModeName

说明

设置对话要使用的模式名称。

参数

conv : CONVERSATION EXPRESSION 
modeName: STRING EXPRESSION 

参数注释

参数 说明
conv 要为其设置模式名称的对话句柄
modeName 对话要使用的模式名称。模式名称为携带此对话的会话指定网络属性。这些网络属性包括服务的类以及是否加密数据。

返回类型

INTEGER

此调用不检测无效的模式名称。以后的 CPICAllocate 返回错误。

另见

CPICSetPartnerLUName

说明

设置对话的伙伴 LU 名称。

参数

conv : CONVERSATION EXPRESSION 
partnerLUName: STRING EXPRESSION 

参数注释

参数 说明
conv 为其更改伙伴 LU 名称的对话
partnerLUName 对话的新伙伴 LU 名称。这是远程应用程序所在的 LU 的名称。本地 LU 借助此 LU 名称为了分配对话而了解远程 LU 的情况。

返回类型

INTEGER

应在 CPICInitialize 之后、但在 CPICAllocate 之前发出此调用。发出此调用不更改 CPIC 补充信息条目中的信息。

实例

请参见 CPICAccept 的代码段,以获取一个完整的实例。

另见

CPICSetPrepareToReceiveType

说明

当调用 CPICPrepareToReceive 时,设置要使用的属性。

参数

conv : CONVERSATION EXPRESSION 
prepToRcvType: INTEGER EXPRESSION 

参数注释

参数 说明
conv 为其设置接收准备类型的对话。
prepToRcvType 一个整数,指示对要执行的接收处理的准备类型。TSD 脚本系统常数是 $CPICPrepToReceiveSyncLevel$CPICPrepToReceiveFlush$CPICPrepToReceiveConfirm

返回类型

INTEGER

对于 $CPICPrepToReceiveFlush,刷新缓冲区且应用程序进入“接收”状态。

对于 $CPICPrepToReceiveConfirm,发送确认请求。如果成功,则应用程序进入“接收”状态。如果不成功,则对话的状态由返回代码来确定。

对于 $CPICPrepToReceiveSyncLevel,根据同步级别确定处理。如果同步级别是 $CPICNone,则操作与 $CPICPrepToReceiveFlush 所用的操作相同。

如果同步级别是 $CPICConfirm,则处理与 $CPICPrepToReceiveConfirm 所用到的处理相同。

实例

请参见 CPICAccept 的代码段,以获取一个完整的实例。

另见

CPICSetReceiveType

说明

设置要执行的接收操作的类型。

参数

conv : CONVERSATION EXPRESSION 
rcvType: INTEGER EXPRESSION 

参数注释

参数 说明
conv 为其更改接收类型的对话
rcvType 指示接收处理类型的整数。TSD 脚本系统常数是 $CPICReceiveAndWait$CPICReceiveImmediate

返回类型

INTEGER

可能在 CPICInitialize(对于对话的启动程序)或 CPICAccept(对于对话的接收程序)之后的任意时间调用此函数。

$CPICReceiveAndWait 值表示对 CPICReceive 函数的调用要等待一段时间,直到信息传到。$CPICReceiveImmediate 表示 CPICReceive 函数接收任何可用的数据,但不等待更多信息的到来。

另见

CPICReceive

CPICSetReturnControl

说明

设置对话的返回控制属性。调用 CPICAllocate 时要用到它。

参数

conv : CONVERSATION EXPRESSION 
returnControl: INTEGER EXPRESSION 

参数注释

参数 说明
conv 为其更改返回控制的对话
returnControl 一个整数,指示 TSD 脚本应用程序在何时重新获得调用 CPICAllocate 的控制权。TSD 脚本系统常数是 $CPICWhenSessionAllocated$CPICImmediate

返回类型

INTEGER

对于 $CPICWhenSessionAllocated,TSD 脚本应用程序等待分配此会话。对于 $CPICImmediate,只有可立即获得空闲会话时才分配此会话。在 CPICAllocate 调用上报告由于本地 LU 不能获得此对话的会话而导致的分配错误。在随后的对话调用中报告伙伴 LU 拒绝请求。

另见

CPICAllocate

CPICSetSendType

说明

设置对话的发送类型属性。

参数

conv : CONVERSATION EXPRESSION 
sendType: INTEGER EXPRESSION 

参数注释

参数 说明
conv 为其更改发送类型的对话。
sendType 指示每次调用 CPICSend 时要采取的操作的整数。TSD 脚本系统常数为:
  • $CPICBufferData
  • $CPICSendAndFlush
  • $CPICSendAndConfirm
  • $CPICSendAndPrepToReceive
  • $CPICSendAndDeallocate

返回类型

INTEGER

值为 $CPICBufferData(缺省值)时,除了发送数据之外,不需要执行其他操作。数据也可能存储在内部,直到通过多个 CPICSend 调用积累了足够用于传输的数据量。

$CPICSendAndFlush 指示在每个 CPICSend 之后执行刷新操作。

$CPICSendAndConfirm 指示在每个 CPICSend 之后发送确认请求。

$CPICSendAndPrepToReceive 指示在调用 CPICSend 时,本地应用程序将发送控制权给予远程应用程序。

$CPICSendAndDeallocate 指示在发送数据之后,解除分配此对话。

实例

请参见 CPICAccept 的代码段,以获取一个完整的实例。

另见

CPICSetSideInfo

说明

在 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 获得通信管理器锁键功能的母板或服务键。在必要时用空白将此键填充到八个字符。
symDestName 条目的 SDN。此值用作表中的键。如果在表中找不到此值,则更新此值。否则,在表中创建一个新条目。
partnerLUName 远程应用程序的 LU 名称。
TPNameType 指示 TP 类型的整数。TSD 脚本系统常数是 $CPICApplicationTP$CPICSNAServiceTP
TPName 作为此对话的伙伴的事务应用程序名称。如果指定了 $CPICSNAServiceTP,则必须以‘\xhhaaa’格式指定名称,其中 hh 作为十六进制值处理,其他字符作为字母数字字符处理。
modeName 对话要使用的模式名称。
convSecurityType 一个整数,指示用此补充信息条目分配的任何对话的安全类型。TSD 脚本系统常数是 $CPICSecurityNone$CPICSecuritySame$CPICSecurityProgram
securityUserID 要发送给伙伴、用于验证的用户标识。如果 convSecurityType$CPICSecurityProgram,则必须设置此值。
securityPassword 在安全验证期间发送给伙伴的口令。只有在 convSecurityType$CPICSecurityProgram 时才需要此值。

返回类型

INTEGER

此调用不更改通信管理器配置文件。因此,只要正在运行本地应用程序,对补充信息条目进行的修改就存在。

此调用不检查传送给此函数的字符串值的有效性。

此函数不影响任何活动的对话。当通信管理器正在更新 CPIC 补充信息条目时,暂停任何其他应用程序的调用(这些调用用于更改或提取此条目信息)直到完成更新。这包括另一个应用程序对 CPICInitialize 的调用。

另见

CPICSetSyncLevel

说明

设置对话的同步级别属性。

参数

conv : CONVERSATION EXPRESSION 
SYNCLEVEL: INTEGER EXPRESSION 

参数注释

参数 说明
conv 为其更改同步级别的对话句柄。
SYNCLEVEL 指示对话要使用的同步级别的整数。TSD 脚本系统常数是 $CPICNone$CPICConfirm

返回类型

INTEGER

$CPICNone 表示应用程序在此对话上不执行任何确认处理。$CPICConfirm 表示应用程序可执行确认处理。只能在 CPICInitialize 之后、但在 CPICAllocate 之前设置同步级别。只有对话的启动程序才能使用此函数。

实例

请参见 CPICAccept 的代码段,以获取一个完整的实例。

另见

CPICSetTPName

说明

设置对话的 TP 名称。将此名称给予伙伴 LU,作为要作为对话的远程应用程序来执行的事务应用程序名称。

参数

conv : CONVERSATION EXPRESSION 
TPName: STRING EXPRESSION 

参数注释

参数 说明
conv 为其更改 TP 名称的对话。
TPName 对话的新 TP 名称。请注意此 TP 必须是应用程序 TP,而不是 SNA 服务 TP。

返回类型

INTEGER

此函数只能用来设置应用程序 TP 名称,而不能用来设置 SNA 服务 TP 名称。

实例

请参见 CPICAccept 的代码段,以获取一个完整的实例。

另见

CPICSetSideInfo

CPICTestRequestToSendReceived

说明

检查伙伴应用程序是否已发出发送请求。

参数

conv : CONVERSATION EXPRESSION 
reqTSRcvd: INTEGER PARAMETER 

参数注释

参数 说明
conv 要测试的对话。
reqTSRcvd 包含指示是否接收到来自伙伴的发送请求的整数。TSD 脚本系统常数是 $CPICReqToSendReceived$CPICReqToSendNotReceived

返回类型

INTEGER

当本地 LU 接收到此请求通知时,它保留此通知,直到本地应用程序发出带 reqTSRcvd 参数的调用。一次只能保留一个通知,因此在通知本地应用程序之前放弃其他请求。

另见


Tivoli 服务台 6.0 开发工具包旧 API 指南

返回目录

版权所有