Tivoli Service Desk 6.0 Developer's Toolkit - Guia do Criador de Interface
Esta seção define as instruções internas de CPIC, descreve sua utilização e inclui notas que podem ser úteis.
As instruções estão listadas em ordem alfabética.
Muitas das instruções utilizam constantes definidas pelo sistema do Tivoli Service Desk (TSD) Developer's Toolkit.
Para cada instrução, são fornecidas as seguintes informações, quando disponíveis:
Aceita uma conversação de entrada CPIC ou APPC.
conv: CONVERSATION
Parâmetro | Descrição |
conv | Identificador de conversação a ser inicializado com características da conversação de entrada |
INTEGER
Esta chamada inicializa valores para diversas características de conversação. O responsável pela chamada desta função é considerado o "receptor" da conversação.
Cada conversação CPIC é determinada pelo identificador CONVERSATION, que é inicializado por CPICAccept. O aplicativo TSD Script utiliza este identificador em chamadas CPIC destinadas a essa conversação. O aplicativo deve emitir uma instrução CPICAccept antes que outras chamadas possam se referir à conversação.
Atualmente, a CPIC permite que um aplicativo aceite somente uma conversação, embora não exista limite para o número de conversações que podem ser alocadas por um aplicativo.
Os dois aplicativos a seguir, FIRST e SECOND, transferem um arquivo de texto. SECOND é o iniciador da conversação.
-- FIRST.KB -- Este aplicativo é o receptor de uma transferência de arquivo. -- O arquivo será enviado como uma linha de texto de cada vez. -- Após a conclusão da transferência, a rotina enviará de volta todo o arquivo em um buffer (esta transferência de retorna só funcionará para arquivos < 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 -- Este arquivo faz a leitura em um arquivo de texto, transmitindo cada linha para FIRST. -- Quando concluir, SECOND receberá de FIRST todo o arquivo em um buffer.
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;
Estabelece uma conversação básica ou mapeada com um aplicativo parceiro.
conv : CONVERSATION EXPRESSION
Parâmetro | Descrição |
conv | A conversação que foi inicializada e deve ser alocada |
INTEGER
Depois de emitir esta chamada, um aplicativo fica no estado Enviar.
Um aplicativo deve emitir o comando CPICInitialize (com a mesma variável CONVERSATION) antes de tentar CPICAllocate.
O aplicativo parceiro está especificado na característica de nome do TP do SDN das informações secundárias de CPIC designadas na chamada para CPICInitialize. Antes de emitir CPICAllocate (e depois de emitir CPICInitialize), um aplicativo TSD Script poderá emitir uma das seguintes chamadas:
A LU local pode armazenar em buffer um pedido de alocação até que acumule informações suficientes para transmissão (de uma ou mais chamadas CPICSend) ou até que o aplicativo TSD Script local emita uma chamada que explicitamente esvazie o buffer.
O aplicativo local pode emitir uma CPICFlush imediatamente após CPICAllocate para confirmar a conexão.
Depois de aceitar a conversação, o aplicativo remoto fica no estado Receber.
Um erro de alocação resultante de uma falha na LU local é relatado na chamada para CPICAllocate.
Um erro de alocação resultante da rejeição do pedido na LU parceira é relatado em uma chamada de conversação subseqüente.
Consulte o segmento de código de CPICAccept para obter um exemplo completo.
Solicita confirmação (da recepção de dados) do aplicativo parceiro e, em seguida, aguarda uma resposta.
conv : CONVERSATION EXPRESSION reqTSRcvd: INTEGER PARAMETER
Parâmetro | Descrição |
conv | A conversação que foi inicializada e deve ser alocada |
reqTSRcvd | Indica se o parceiro solicitou ou não o envio de dados. Esta
variável possui o valor $CPICRequestToSendReceived ou $CPICRequestToSendNotReceived:
|
INTEGER
O aplicativo local faz uma pausa no processamento adicional até que o aplicativo parceiro responda a este pedido. O buffer de envio da LU local é esvaziado por esta chamada.
Consulte o segmento de código de CPICAccept para obter um exemplo completo.
Responde a um pedido de confirmação do parceiro.
conv : CONVERSATION EXPRESSION
Parâmetro | Descrição |
conv | A conversação que foi inicializada e deve ser alocada |
INTEGER
Esta função só deve ser chamada quando o parceiro solicitar confirmação.
Consulte o segmento de código de CPICAccept para obter um exemplo completo.
Encerra uma conversação e libera os recursos dedicados a essa conversação.
conv : CONVERSATION EXPRESSION
Parâmetro | Descrição |
conv | A conversação que foi inicializada e deve ser alocada |
INTEGER
O buffer de envio da LU local é esvaziado por esta função.
O parceiro recebe notificação de desalocação através de um código de retorno ou do parâmetro statusReceived de CPICReceive.
Se o parâmetro statusReceived for $CPICConfirmDeallocReceived, significa que o aplicativo local emitiu CPICDeallocate com:
Consulte o segmento de código de CPICAccept para obter um exemplo completo.
Exclui a entrada designada de informações secundárias de CPIC.
keylock : STRING EXPRESSION symDestName : STRING EXPRESSION
Parâmetro | Descrição |
keylock | A chave do Communications Manager, quando o dispositivo de bloqueio do Communications Manager está ativado. Especifique ' ' (oito espaços em branco) quando você não utilizar este recurso. |
symDestName | O SDN da entrada nas informações de configuração do Communications Manager |
INTEGER
Se o código de retorno for algo diferente de um, isto indica que a entrada não foi excluída.
Esta chamada não afeta uma conversação ativa. A entrada é removida imediatamente, indicando que as chamadas CPICInitialize subseqüentes feitas com o SDN serão rejeitadas. Enquanto o Communications Manager estiver removendo a entrada, qualquer tentativa do aplicativo em CPICInitialize será suspensa até que a remoção seja concluída.
Obtém o tipo de segurança para a conversação.
conv: CONVERSATION convSecurityType: INTEGER PARAMETER
Parâmetro | Descrição |
conv | Especifica a conversação para a qual o tipo de segurança está sendo verificado |
convSecurityType | Contém o inteiro que representa o TSD Script do tipo de segurança
que possui constantes do sistema que são mnemônicos para esses tipos:
|
INTEGER
O tipo de segurança para uma conversação é definido como um valor padrão na chamada para CPICInitialize. Pode ser alterado com uma chamada para CPICSetConvSecurityType.
Obtém o ID do usuário de segurança associado a uma conversação.
conv : CONVERSATION EXPRESSION securityUserID : STRING PARAMETER
Parâmetro | Descrição |
conv | O identificador de conversação para o ID do usuário de segurança |
securityUserID | Contém o ID do usuário com acesso à conversação |
INTEGER
O ID do usuário de segurança está definido como um valor padrão na chamada para CPICInitialize. Pode ser alterado com uma chamada para CPICSetConvSecurityUserID.
Obtém o estado da conversação especificada.
conv : CONVERSATION EXPRESSION state: INTEGER PARAMETER
Parâmetro | Descrição |
conv | O identificador de conversação do qual você deseja saber o estado |
state | Contém o estado da conversação para o qual as constantes do sistema
TSD Script do parceiro local são:
|
INTEGER
Obtém o tipo da conversação especificada.
conv : CONVERSATION PARAMETER convType: INTEGER PARAMETER
Parâmetro | Descrição |
conv | Identificador de conversação cujo tipo é desejado. |
convType | Contém o tipo da conversação. O valor pode ser uma das seguintes constantes
do sistema TSD Script:
|
INTEGER
O tipo da conversação assume o padrão de $CPICMappedConversation durante o processamento de CPICInitialize.
Chamar CPICSetConvType depois que CPICInitialize é chamado (e antes de CPICAllocate ser chamado) altera o tipo da conversação.
Obtém o nome do modo para a conversação especificada.
conv : CONVERSATION EXPRESSION modeName : STRING PARAMETER
Parâmetro | Descrição |
conv | O identificador de conversação para o qual o nome do modo é desejado |
modeName | Contém o nome do modo da conversação. Designa as propriedades da rede para a sessão que contém a conversação. |
INTEGER
Obtém o nome da LU do aplicativo parceiro.
conv : CONVERSATION EXPRESSION partnerLUName : STRING PARAMETER
Parâmetro | Descrição |
conv | Indica a conversação com o aplicativo parceiro para o qual você deseja o nome da LU |
partnerLUName | Contém o nome da LU do parceiro |
INTEGER
Obtém os parâmetros para o SDN indicado.
entryNbr : INTEGER EXPRESSION symDestName : STRING EXPRESSION partnerLUName : STRING PARAMETER TPNameType : INTEGER PARAMETER TPName : STRING PARAMETER modeName : STRING PARAMETER convSecurityType: INTEGER PARAMETER securityUserID : STRING PARAMETER
Parâmetro | Descrição |
entryNbr | O número de índice na tabela de Informações Secundárias de CPIC para a qual os valores são necessários. Se este número for 0, o Communications Manager fará a pesquisa com base no SDN fornecido. |
symDestName | Quando você especifica 0 para entryNbr, este valor é utilizado para pesquisar a tabela de Informações Secundárias de CPIC. |
partnerLUName | O nome da LU parceira especificado na entrada de informações secundárias de CPIC. |
TPNameType | Um inteiro que indica o tipo do TP. As constantes do sistema TSD Script para estes tipos são $CPICApplicationTP e $CPICSNAServiceTP. |
TPName | O nome do TP. |
modeName | O modo utilizado em conversações alocadas utilizando este SDN. |
convSecurityType | O tipo de segurança utilizada para conversações alocadas com esta entrada de informações secundárias de CPIC. |
securityUserID | O ID do usuário de acesso de segurança para a conversação. É transmitido para a LU parceira durante um pedido de alocação, quando o tipo de segurança é CPICSecurityProgram. |
INTEGER
A senha de segurança da entrada da tabela não é retornada.
Enquanto o Communications Manager estiver executando este comando, todas as outras chamadas do aplicativo para alterar essas informações serão suspensas.
O número de entrada especifica um índice na lista atual de entradas internas de Informações Secundárias de CPIC. Se as entradas forem excluídas, os índices serão alterados.
Obtém o nível de sincronização atual para a conversação.
conv : CONVERSATION EXPRESSION SYNCLEVEL: INTEGER PARAMETER
Parâmetro | Descrição |
conv | O identificador de conversação para o qual o nível de conversação é requerido. |
SYNCLEVEL | O nível de sincronização atual da conversação especificada. |
Os mnemônicos das constantes do sistema TSD Script para esses valores são:
INTEGER
Um valor de nível de sincronização de $CPICNone indica que os parceiros não executam o processamento de confirmação.
Um valor de nível de sincronização de $CPICConfirm significa que os aplicativos executam o processamento de confirmação. Ou seja, eles emitem chamadas de confirmação apropriadas e reconhecem os parâmetros retornados relacionados à confirmação.
Faz com que o Communications Manager envie qualquer tipo de dados para os buffers internos.
conv : CONVERSATION EXPRESSION
Parâmetro | Descrição |
conv | O identificador de conversação para dados removidos |
INTEGER
Quando um aplicativo emite um CPICAllocate, CPICSend ou CPICSendError, o Communications Manager pode armazenar dados internamente para tornar o tráfego na rede o mais eficiente possível. O Communications Manager retém os dados até que o buffer interno fique cheio ou até que o aplicativo force um esvaziamento. Se não houver dados no buffer interno, nenhum dado será enviado para o aplicativo parceiro.
Um aplicativo pode forçar um esvaziamento explicitamente, com CPICFlush, ou implicitamente, com CPICConfirm, CPICPrepareToReceive, CPICDeallocate, etc.
Se você estiver planejando o esvaziamento depois de cada CPICSend, poderá utilizar o CPICSetSendType para definir o tipo de envio como $CPICSendAndFlush. Esteja ciente de que ao fazer isto você estará obstruindo as medidas de eficiência que o Communications Manager tentará executar.
Configura e prepara recursos internos para uma conversação. Muitas características são definidas como valores padrão e associadas ao identificador de conversação especificado.
conv : CONVERSATION PARAMETER symDestName : STRING EXPRESSION
Parâmetro | Descrição |
conv | O identificador de conversação a ser preparado para uma conversação. |
symDestName | O SDN de uma entrada na tabela de Informações Secundárias de CPIC a ser utilizado na definição de características para a conversação. |
INTEGER
Um aplicativo pode substituir os atributos inicializados nesta chamada, executando as chamadas CPICSet apropriadas. Lembre-se de que estas chamadas definidas devem ser feitas antes da chamada para CPICAllocate.
O identificador de conversação configurado por este comando é utilizado em todas as chamadas subseqüentes para os comandos de CPIC. Um aplicativo pode conter várias conversações, chamando CPICInitialize uma vez para cada conversação a ser alocada.
Se a tabela de Informações Secundárias de CPIC fornece informações inválidas para a conversação, esta condição será detectada na chamada para CPICAllocate.
Um aplicativo pode fornecer um symDestName vazio para esta função. Fazendo isto, o aplicativo se torna responsável por chamar as funções do TSD Script para definir as características da conversação.
Consulte o segmento de código de CPICAccept para obter um exemplo completo.
Altera o fim local da conversação do estado Enviar para o estado Receber, como uma preparação para receber dados.
conv : CONVERSATION EXPRESSION
Parâmetro | Descrição |
conv | O identificador que determina a conversação a ser colocada no estado Receber. |
INTEGER
Se o tipo de preparação para recepção da conversação for $CPICPrepareToReceiveConfirm, ou o tipo de preparação para recepção for $CPICPrepareToReceiveSyncLevel e o nível de sincronização for $CPICConfirm, o Communications Manager enviará um pedido de confirmação para o aplicativo parceiro.
O aplicativo local aguarda até que seja recebida uma resposta confirmada. Este comando força implicitamente um esvaziamento.
O aplicativo remoto recebe notificação do controle de envio através do parâmetro de status recebido.
Para um valor de status recebido de $CPICSendReceived, o aplicativo local emitiu o comando CPICPrepareToReceive sem solicitação de confirmação.
Para $CPICConfirmSendReceived, o aplicativo local emite o comando com solicitação de confirmação--isto é feito havendo um tipo de preparação para recepção definido como $CPICPrepToReceiveConfirm, ou $CPICPrepToReceiveSyncLevel com o nível de sincronização definido como $CPICConfirm.
O fim da conversação do aplicativo remoto inicia um estado Enviar ou Enviar-Pendente.
Consulte o segmento de código de CPICAccept para obter um exemplo completo.
Recebe dados de entrada da conversação especificada.
conv : CONVERSATION EXPRESSION DDFName : STRING EXPRESSION buffer : ANY PARAMETER dataReceived : INTEGER PARAMETER statusReceived: INTEGER PARAMETER reqTSRcvd: INTEGER PARAMETER
Parâmetro | Descrição |
conv | O identificador de conversação do qual os dados são obtidos. |
DDFName | O nome do DDF que define a estrutura do bloco de bytes de entrada. |
buffer | Uma variável do TSD Script de um tipo simples (INTEGER, BOOLEAN, TIME, DATE, STRING) ou um tipo de registro definido pelo usuário. Esta variável está estritamente relacionada ao parâmetro DDFName, porque o DDFName deve especificar um DDF que descreve adequadamente o formato do buffer. |
dataReceived | Especifica se o aplicativo recebeu dados. As constantes do sistema TSD Script para este valor são as seguintes:
|
reqTSRcvd | Indica se o parceiro solicitou ou não o envio de dados. Esta
variável possui o valor $CPICRequestToSendReceived ou $CPICRequestToSendNotReceived. $CPICRequestToSendReceived significa que o parceiro emitiu CPICRequestToSend. Este é um pedido para que o aplicativo local entre no estado Receber.
|
INTEGER
Se o tipo de recepção estiver definido como $CPICReceiveAndWait (o padrão, o aplicativo TSD Script é bloqueado (aguarda) até que os dados sejam recebidos. O limite de tempo para esta espera está definido no NDF (arquivo de definições do nó) no diretório do Communications Manager.
Nota: O padrão do Communications Manager para este valor é INFINITE.
Consulte a seção sobre DDFs no capítulo que discute a utilização de CPIC para obter uma discussão detalhada sobre a utilização correta dos DDFs. Este comando implicitamente faz com que o buffer interno seja esvaziado. O aplicativo pode receber dados e status da conversação na mesma chamada.
Consulte o segmento de código de CPICAccept para obter um exemplo completo.
Emite um pedido de envio de dados para o aplicativo parceiro.
conv : CONVERSATION EXPRESSION
Parâmetro | Descrição |
conv | A conversação para a qual você deseja entrar no estado Enviar. |
INTEGER
O aplicativo remoto é notificado da chegada do pedido pelo parâmetro reqTSRcvd de um dos comandos CPICSend, CPICSendError, CPICConfirm ou CPICTestRequestToSendReceived.
O valor é $CPICReqToSendReceived.
Depois de entrar no estado Receber (emitindo os comandos apropriados), o aplicativo remoto fica no estado Enviar ou Enviar-Pendente. A LU remota retém somente um pedido de envio de cada vez por conversação. As notificações adicionais são descartadas até que o aplicativo remoto seja notificado durante uma chamada de CPIC.
Lembre-se de que isto significa que um aplicativo pode emitir mais chamadas CPICRequestToSend do que pode ser indicado para o aplicativo remoto.
Consulte o segmento de código de CPICAccept para obter um exemplo completo.
Envia dados para o aplicativo parceiro na conversação especificada.
conv : CONVERSATION EXPRESSION DDFName : STRING EXPRESSION buffer : ANY EXPRESSION reqTSRcvd: INTEGER PARAMETER
Parâmetro | Descrição |
conv | A conversação através da qual os dados são enviados. |
DDFName | O DDF a ser utilizado na extração de valores do buffer e na compilação de um bloco de bytes a ser transmitido. |
buffer | A variável de TSD Script que contém os dados a serem enviados. O tipo desta variável pode ser um tipo simples de TSD Script (INTEGER, REAL, BOOLEAN, TIME, DATE) ou um tipo de registro definido pelo usuário. |
reqTSRcvd | Indica se o parceiro solicitou ou não o envio de dados. Esta variável possui os valores:
|
INTEGER
A LU local armazena os dados a serem enviados para a LU remota até que haja uma quantidade suficiente para transmissão, ou até que o aplicativo force um esvaziamento (de forma explícita ou implícita). A quantidade de dados suficientes para transmissão depende das características da sessão alocada para suportar a conversação.
Quando reqTSRcvd indica $CPICReqToSendReceived, o aplicativo remoto solicita que o aplicativo local entre no estado Receber. Se, freqüentemente, você utiliza CPICSend juntamente com CPICFlush, CPICConfirm, ou CPICPrepareToReceive, consulte a utilização de CPICSetSendType. A utilização deste comando definido provavelmente é mais eficiente.
Consulte o segmento de código de CPICAccept para obter um exemplo completo.
Informa ao aplicativo remoto que o aplicativo local detectou um erro durante a conversação.
conv : CONVERSATION EXPRESSION reqTSRcvd: INTEGER PARAMETER
Parâmetro | Descrição |
conv | A conversação na qual é indicado o erro. |
reqTScvd | Indica se o parceiro solicitou ou não o envio de dados. Esta variável possui os valores:
|
INTEGER
A LU local pode atrasar o envio imediato da notificação de erro. Se isto ocorrer, a notificação ficará armazenada no buffer até que haja uma quantidade suficiente de dados para transmissão, ou até que o aplicativo local force um esvaziamento, de forma explícita ou implícita. Para garantir que o aplicativo parceiro receberá a notificação de erro imediatamente, o aplicativo pode emitir um CPICFlush.
O aplicativo local entra no estado Enviar ao emitir esta chamada a partir do estado Receber, Confirmar, Confirmar-Enviar, Confirmar-Desalocar ou Enviar-Pendente. Quando esta chamada é emitida do estado Enviar, não ocorre alteração do estado.
Define a senha de segurança a ser enviada para o parceiro.
conv : CONVERSATION EXPRESSION securityPassword: STRING EXPRESSION
Parâmetro | Descrição |
conv | A conversação para a qual você deseja definir a senha. |
securityPassword | A nova senha de segurança. A LU parceira utiliza esta senha e o ID do usuário de segurança para verificar a identidade do solicitante. |
INTEGER
Esta chamada só pode ser feita quando o tipo de segurança da conversação for $CPICSecurityProgram. Esta chamada deve ser feita depois de CPICInitialize e antes de CPICAllocate.
A senha é definida como uma característica padrão (definida na entrada Informações Secundárias de CPIC) no momento da inicialização.
A especificação de uma senha inválida não é detectada nesta chamada. É detectada pela LU parceira quando ela recebe o pedido de alocação. O aplicativo local recebe uma indicação do erro em uma chamada de CPIC subseqüente.
Define o tipo de segurança para a conversação.
conv : CONVERSATION EXPRESSION convSecurityType: INTEGER EXPRESSION
Parâmetro | Descrição |
conv | O identificador da conversação para o qual você deseja definir o tipo de segurança. |
convSecurityType | O INTEGER que indica o tipo de segurança. As constantes do sistema TSD Script
são:
|
INTEGER
Durante o processamento de CPICInitialize, o tipo de segurança é definido como um valor padrão (especificado na entrada Informações Secundárias de CPIC).
Para o tipo de segurança de $CPICSecurityNone, o pedido de alocação é enviado para a LU parceira sem informações sobre segurança.
Para o tipo de segurança de $CPICSecuritySame, o pedido de alocação contém o mesmo nível de informações de segurança de acesso (nenhum ou o ID do usuário) como o utilizado para iniciar o aplicativo, desde que a LU parceira aceite informações de segurança já verificadas. Se o parceiro não aceitar informações de segurança já verificadas, o pedido de alocação não conterá informações de segurança.
Para o tipo de segurança de $CPICSecurityProgram, o pedido de alocação contém o ID do usuário e a senha dos atributos de conversação correspondentes, desde que o parceiro aceite as informações de segurança da LU local.
Se o aplicativo TSD Script definir o tipo de segurança como $CPICSecurityProgram, ele poderá chamar CPICSetConvSecurityPassword e CPICSetConvSecurityUserID.
Se o aplicativo TSD Script não definir o tipo de segurança como $CPICSecurityProgram, os valores serão obtidos da entrada Informações secundárias de CPIC.
Define o ID do usuário de segurança para a conversação. Este ID do usuário é necessário para conversações com tipo de segurança de $CPICSecurityProgram.
conv : CONVERSATION EXPRESSION securityUserID : STRING EXPRESSION
Parâmetro | Descrição |
conv | A conversação para a qual o ID do usuário de segurança está definido. |
securityUserID | O ID do usuário de segurança. A LU parceira utiliza a senha de segurança para verificar a identidade do solicitante. |
INTEGER
O valor inicial para o ID do usuário vem da entrada Informações Secundárias de CPIC
durante o processamento de CPICInitialize.
A especificação de um ID do usuário de segurança inválido não é detectada nesta chamada. A LU parceira
a detecta quando recebe o pedido de alocação. O aplicativo local recebe a notificação
em uma chamada de CPIC subseqüente.
Define o tipo de conversação.
conv : CONVERSATION PARAMETER convType: INTEGER EXPRESSION
Parâmetro | Descrição |
conv | O identificador da conversação para a qual você deseja alterar o tipo de conversação. |
convType | Um inteiro que indica o tipo de conversação. As constantes do sistema TSD Script
são:
|
INTEGER
Durante o processamento de CPICInitialize, o tipo de conversação é definido como $CPICMappedConversation. Seu aplicativo precisa chamar esta função depois de CPICInitialize para alterar o tipo para $CPICBasicConversation. As conversações básicas devem ser consideradas como uma técnica de programação avançada.
Consulte o segmento de código de CPICAccept para obter um exemplo completo.
Define o tipo de processamento de desalocação a ser executado.
conv : CONVERSATION EXPRESSION deallocateType: INTEGER EXPRESSION
Parâmetro | Descrição |
conv | O identificador da conversação para o qual o tipo de desalocação está sendo definido |
deallocateType | Um inteiro que indica o tipo de desalocação desejada. As constantes do sistema TSD Script
são:
|
INTEGER
O atributo do tipo de desalocação é utilizado pela CPIC quando você chama a função CPICDeallocate.
Se for recebida uma resposta bem-sucedida, a conversação será desalocada normalmente. Se for recebida uma resposta sem êxito, o estado da conversação será determinado pelo código de retorno.
Observe que o tipo de $CPICDeallocateConfirm só pode ser utilizado quando o nível de sincronização for $CPICConfirm.
Define o atributo de direção do erro para uma conversação.
conv : CONVERSATION EXPRESSION errorDirection: INTEGER EXPRESSION
Parâmetro | Descrição |
conv | O identificador da conversação para a qual será definida a direção do erro. |
errorDirection | Um inteiro que indica a direção do fluxo de dados em que o erro foi detectado. As constantes do sistema TSD Script são $CPICReceiveError e $CPICSendError. |
INTEGER
Um valor de $CPICReceiveError indica que o aplicativo local detectou um erro nos dados recebidos do parceiro. Quando o aplicativo local emite CPICSendError, o aplicativo remoto recebe um código de retorno de -22 (CM_PROGRAM_ERROR_PURGING). Um valor de $CPICSendError indica que o aplicativo local encontrou um problema ao preparar os dados para serem enviados ao parceiro. Quando o aplicativo local emite CPICSendError, o aplicativo remoto recebe um código de retorno de -21 (CM_PROGRAM_ERROR_NO_TRUNC).
Este atributo de direção do erro só é utilizado quando o aplicativo está no estado Enviar-Pendente
(a única vez em que é difícil verificar se é um erro de recepção
ou de envio). Um aplicativo fica no estado Enviar-Pendente após um CPICReceive
em que foram recebidos dados e um status de $CPICSendReceived. A direção
do erro assume o padrão de $CPICReceiveError.
Quando a direção do erro é alterada, o novo valor permanece em vigor
até que o aplicativo o altere novamente.
Define o nome do modo a ser utilizado para a conversação.
conv : CONVERSATION EXPRESSION modeName : STRING EXPRESSION
Parâmetro | Descrição |
conv | O identificador da conversação para a qual você deseja definir o nome do modo |
modeName | O nome do modo a ser utilizado para a conversação. O nome do modo especifica as propriedades da rede para a sessão que contém a conversação. Estas propriedades da rede incluem uma classe de serviço e determina se os dados devem ser codificados. |
INTEGER
Um nome de modo inválido não é detectado nesta chamada. A CPICAllocate subseqüente retorna um erro.
Define o nome da LU parceira para a conversação.
conv : CONVERSATION EXPRESSION partnerLUName : STRING EXPRESSION
Parâmetro | Descrição |
conv | A conversação para a qual o nome da LU parceira é alterado |
partnerLUName | O novo nome da LU parceira para a conversação. Este é o nome da LU em que o aplicativo remoto está localizado. Este nome da LU representa qualquer nome pelo qual a LU local reconhece a LU remota com objetivo de alocar uma conversação. |
INTEGER
Esta chamada deve ser emitida depois de CPICInitialize, mas antes de CPICAllocate. A emissão desta chamada não altera as informações na entrada Informações Secundárias de CPIC.
Consulte o segmento de código de CPICAccept para obter um exemplo completo.
Define o atributo a ser utilizado quando CPICPrepareToReceive for chamado.
conv : CONVERSATION EXPRESSION prepToRcvType: INTEGER EXPRESSION
Parâmetro | Descrição |
conv | A conversação para a qual o tipo de preparação para recepção é definido. |
prepToRcvType | Um inteiro que indica o tipo de processamento de preparação para recepção a ser executado. As constantes do sistema TSD Script são $CPICPrepToReceiveSyncLevel, $CPICPrepToReceiveFlush e $CPICPrepToReceiveConfirm. |
INTEGER
Para $CPICPrepToReceiveFlush, o buffer é esvaziado e o aplicativo entra no estado Receber.
Para $CPICPrepToReceiveConfirm, é enviado um pedido de confirmação. Se for bem-sucedido, o aplicativo entrará no estado Receber. Se for malsucedido, o estado da conversação será determinado pelo código de retorno.
Para $CPICPrepToReceiveSyncLevel, o processamento depende do nível de sincronização. Se ele for $CPICNone, as ações serão as mesmas para $CPICPrepToReceiveFlush.
Se for $CPICConfirm, o processamento será o mesmo para $CPICPrepToReceiveConfirm.
Consulte o segmento de código de CPICAccept para obter um exemplo completo.
Define o tipo de operação de recepção a ser executado.
conv : CONVERSATION EXPRESSION rcvType: INTEGER EXPRESSION
Parâmetro | Descrição |
conv | A conversação para a qual o tipo de recepção é alterado |
rcvType | Um inteiro que indica o tipo de processamento de recepção. As constantes do sistema TSD Script são $CPICReceiveAndWait e $CPICReceiveImmediate. |
INTEGER
Esta função pode ser chamada a qualquer momento após CPICInitialize (para o iniciador da conversação) ou CPICAccept (para o receptor da conversação).
Um valor de $CPICReceiveAndWait significa que uma chamada para a função CPICReceive aguarda até que cheguem as informações. $CPICReceiveImmediate significa que a função CPICReceive recebe quaisquer dados que estejam disponíveis, mas não aguarda mais informações.
Define o atributo de controle de retorno para a conversação. É utilizado em uma chamada para CPICAllocate.
conv : CONVERSATION EXPRESSION returnControl: INTEGER EXPRESSION
Parâmetro | Descrição |
conv | A conversação para a qual o controle de retorno é alterado |
returnControl | Um inteiro que indica quando o aplicativo TSD Script reassume o controle sobre a chamada para CPICAllocate. As constantes do sistema TSD Script são $CPICWhenSessionAllocated e $CPICImmediate. |
INTEGER
Para $CPICWhenSessionAllocated, o aplicativo TSD Script aguarda até que a sessão seja alocada. Para $CPICImmediate, a sessão só será alocada se uma sessão livre se tornar disponível imediatamente. É relatado um erro de alocação resultante de falha da LU local em obter uma sessão para conversação na chamada CPICAllocate. É relatada em uma chamada de conversação subseqüente uma rejeição da LU parceira.
Envia o atributo de tipo de envio para a conversação.
conv : CONVERSATION EXPRESSION sendType: INTEGER EXPRESSION
Parâmetros | Descrição |
conv | A conversação para a qual o tipo de envio é alterado. |
sendType | Um inteiro que indica as ações a serem executadas em cada chamada para CPICSend. As constantes do sistema TSD Script
são:
|
INTEGER
Com $CPICBufferData (o padrão), nenhuma ação adicional é necessária além do envio de dados. Além disso, os dados podem ser armazenados internamente até que tenha sido acumulada uma quantidade suficiente para transmissão através de várias chamadas CPICSend.
$CPICSendAndFlush indica que é executada uma operação de esvaziamento após cada CPICSend.
$CPICSendAndConfirm indica que é enviado um pedido de confirmação após cada CPICSend.
$CPICSendAndPrepToReceive indica que o aplicativo local concede o controle de envio ao aplicativo remoto na chamada para CPICSend.
$CPICSendAndDeallocate indica que a conversação é desalocada após o envio de dados.
Consulte o segmento de código de CPICAccept para obter um exemplo completo.
Adiciona ou substitui uma entrada Informações Secundárias de CPIC na tabela Informações Secundárias de 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
Notas do parâmetro
Parâmetro | Descrição |
keylock | A chave principal ou de serviço, quando o dispositivo de bloqueio do Communications Manager preencheu com segurança esta chave com espaços em branco para oito caracteres, se necessário. |
symDestName | O SDN da entrada. Este valor é utilizado como a chave da tabela. Se forem encontrados na tabela, os valores serão atualizados. Caso contrário, será criada uma nova entrada na tabela. |
partnerLUName | O nome da LU do aplicativo remoto. |
TPNameType | Um inteiro que indica o tipo de TP. As constantes do sistema TSD Script são $CPICApplicationTP e $CPICSNAServiceTP. |
TPName | O nome do aplicativo de transação que é o parceiro desta conversação. Se você especificou $CPICSNAServiceTP, deverá especificar o nome no formato '\xhhaaa', em que hh é considerado um valor hexadecimal e os outros caracteres são considerados alfanuméricos. |
modeName | O nome do modo a ser utilizado para a conversação. |
convSecurityType | Um número inteiro que indica o tipo de segurança para qualquer conversação alocada com esta entrada de informações secundárias. As constantes do sistema TSD Script são $CPICSecurityNone, $CPICSecuritySame, $CPICSecurityProgram. |
securityUserID | O ID do usuário a ser enviado ao parceiro para verificação. Este valor deverá ser definido se convSecurityType for $CPICSecurityProgram. |
securityPassword | A senha a ser enviada ao parceiro durante a verificação de segurança. Este valor só será necessário se convSecurityType for $CPICSecurityProgram. |
INTEGER
Esta chamada não altera o arquivo de configuração do Communications Manager. Portanto, as modificações feitas na entrada Informações Secundárias só existirão se o aplicativo local estiver em execução.
Nesta chamada, não é verificada a validação dos valores de cadeia transmitidos para esta função.
Esta função não afeta as conversações ativas. Enquanto o Communications Manager estiver atualizando a entrada Informações Secundárias de CPIC, qualquer outra chamada do aplicativo para alterar ou extrair informações da entrada será suspensa até que esta função seja concluída. Isto inclui outra chamada do aplicativo para CPICInitialize.
Define o atributo do nível de sincronização para uma conversação.
conv : CONVERSATION EXPRESSION SYNCLEVEL: INTEGER EXPRESSION
Parâmetro | Descrição |
conv | O identificador da conversação para a qual o nível de sincronização é alterado. |
SYNCLEVEL | Um inteiro que indica o nível de sincronização a ser utilizado para a conversação. As constantes do sistema TSD Script são $CPICNone e $CPICConfirm. |
INTEGER
$CPICNone significa que os aplicativos não executam nenhum processamento de confirmação nesta conversação. $CPICConfirm significa que os aplicativos podem executar o processamento de confirmação. O nível de sincronização só pode ser definido após CPICInitialize, mas antes de CPICAllocate. Somente o iniciador de uma conversação pode utilizar esta função.
Consulte o segmento de código de CPICAccept para obter um exemplo completo.
Define o nome do TP para a conversação. Ele é fornecido para a LU parceira como o nome do aplicativo de transação a ser executado como o aplicativo remoto da conversação.
conv : CONVERSATION EXPRESSION TPName: STRING EXPRESSION
Parâmetro | Descrição |
conv | A conversação para a qual o nome do TP é alterado. |
TPName | O novo nome do TP para a conversação. Observe que este deve ser um TP do aplicativo, não um TP de serviço SNA. |
INTEGER
Esta função só pode ser utilizada para definir nomes de TP de aplicativos, não nomes de TP de serviços SNA.
Consulte o segmento de código de CPICAccept para obter um exemplo completo.
Verifica se foi emitido um pedido de envio pelo aplicativo parceiro.
conv : CONVERSATION EXPRESSION reqTSRcvd: INTEGER PARAMETER
Parâmetro | Descrição |
conv | A conversação a ser testada. |
reqTSRcvd | Contém um inteiro que indica se foi recebido um pedido de envio do parceiro. As constantes do sistema TSD Script são $CPICReqToSendReceived e $CPICReqToSendNotReceived. |
INTEGER
Quando a LU local recebe o pedido de notificação, ela retém a notificação até que o aplicativo local emita uma chamada com o parâmetro reqTSRcvd. Somente uma notificação é retida de cada vez; portanto, pedidos adicionais serão descartados até que o aplicativo local seja notificado.
Tivoli Service Desk 6.0 Developer's Toolkit - Guia de APIs Existentes