Tivoli Service Desk 6.0 Developer's Toolkit - Guide du concepteur d'interfaces (Interface Designer)
Retour à la table des matières
La présente section définit les instructions CPIC intégrées, décrit leur syntaxe et souligne certains aspects utiles.
Les instructions sont classées par ordre alphabétique.
De nombreuses instructions font appel aux constantes définies par le système qui sont accessibles par la boîte à outils du développeur de Tivoli Service Desk (TSD).
Pour chaque instruction, les informations suivantes sont fournies, lorsqu'elles sont disponibles :
Accepte une conversation CPIC ou APPC entrante.
conv: CONVERSATION
Paramètre | Description |
conv | Descripteur de conversation à initialiser avec les caractéristiques de la conversation entrante |
INTEGER
Cet appel initialise les valeurs de différentes caractéristiques de conversation. L'émetteur de cette fonction est considéré comme le "récepteur" de la conversation.
Chaque conversation CPIC est identifiée par le descripteur CONVERSATION initialisé par CPICAccept. L'application TSD Script reprend ce descripteur dans les appels CPIC destinés à la conversation concernée. L'application doit lancer une instruction CPICAccept avant que les autres appels ne puissent se référer à la conversation.
Actuellement, CPIC autorise les applications à n'accepter qu'une seule conversation, bien qu'il n'existe pas de limite quant au nombre de conversations pouvant être attribuées par une application.
Les deux applications suivantes, nommées FIRST et SECOND, accomplissent le transfert d'un fichier de texte. L'application SECOND correspond à l'émetteur de la conversation.
-- FIRST.KB -- Cette application est le récepteur d'un transfert de fichier. -- L'envoi du fichier s'effectue ligne par ligne. -- Une fois le transfert terminé, la routine procédera au renvoi intégral du fichier vers une mémoire tampon unique (uniquement pour les fichiers supérieurs à 32 ko).
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 := 'Données envoyées par FIRST.KB après la demande d'envoi'; rc := CPICSend(Conv,'STD3.DDF', Buff,ReqTSRcvd); Buff := 'DO RE MI FA SOL LA SI DO.'; 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 -- Ce programme consulte un fichier de texte en transmettant chaque ligne au programme FIRST. -- Une fois l'opération terminée, SECOND reçoit le fichier entier dans un tampon unique émis par 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;
-- Les confirmations ont été rendues aléatoires pour cet exemple 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;
Etablit une conversation de base ou une conversation mappée avec une application partenaire.
conv: CONVERSATION EXPRESSION
Paramètre | Description |
conv | Conversation qui a été initialisée et qui est destinée à être attribuée |
INTEGER
Après l'émission de cet appel, une application se trouve à l'état Envoi.
Une application doit exécuter la commande CPICInitialize (avec une variable CONVERSATION identique), avant toute tentative de CPICAllocate.
L'application partenaire est spécifiée dans les caractéristiques du programme de transactions, contenues dans le nom de destination symbolique des informations annexes CPIC, dont la désignation figure dans l'appel de CPICInitialize. Avant CPICAllocate (et après CPICInitialize), une application TSD Script peut lancer l'un des appels suivants :
La LU locale peut éventuellement stocker une demande d'affectation en mémoire tampon, jusqu'à ce que des informations suffisantes soient accumulées pour lancer la transmission (à partir d'un ou plusieurs appels CPICSend), ou jusqu'à ce que l'application TSD Script locale lance un appel explicite de vidage de la mémoire tampon.
L'application locale peut appeler CPICFlush immédiatement après CPICAllocate, afin d'assurer la connexion.
Après acceptation de la conversation, l'application éloignée se trouve à l'état Réception.
Lorsqu'une erreur d'affectation résulte d'un échec au niveau de la LU locale, elle est rapportée lors de l'appel de CPICAllocate.
Losqu'une erreur d'affectation résulte du rejet de la requête au niveau de la LU partenaire, elle est rapportée lors d'un appel de conversation ultérieur.
Pour étudier un exemple complet, consultez le segment de code relatif à CPICAccept.
Soumet une demande de confirmation (au moment de la réception des données) à l'application partenaire, puis attend la réponse.
conv: CONVERSATION EXPRESSION reqTSRcvd : INTEGER PARAMETER
Paramètre | Description |
conv | Conversation qui a été initialisée et qui est destinée à être attribuée |
reqTSRcvd | Précise si l'application partenaire a lancé une demande d'envoi de données. La valeur de cette variable peut
être $CPICRequestToSendReceived ou $CPICRequestToSendNotReceived :
|
INTEGER
L'application locale suspend tous les traitements ultérieurs jusqu'à ce que l'application partenaire envoie une réponse à cette requête. Cet appel vide la mémoire tampon d'envoi de la LU locale.
Pour étudier un exemple complet, consultez le segment de code relatif à CPICAccept.
Répond à une demande de confirmation émise par le partenaire.
conv: CONVERSATION EXPRESSION
Paramètre | Description |
conv | Conversation qui a été initialisée et qui est destinée à être attribuée |
INTEGER
Cette fonction doit normalement être appelée uniquement lorsque le partenaire a émis une demande de confirmation.
Pour étudier un exemple complet, consultez le segment de code relatif à CPICAccept.
Termine une conversation et libère les ressources qui y étaient consacrées.
conv: CONVERSATION EXPRESSION
Paramètre | Description |
conv | Conversation qui a été initialisée et qui est destinée à être attribuée |
INTEGER
Cette fonction provoque le vidage de la mémoire tampon d'envoi de la LU locale.
L'appplication partenaire reçoit une notification de la désaffectation, par le biais d'un code retour du paramètre statusReceived de CPICReceive.
Si le paramètre statusReceived adopte la valeur $CPICConfirmDeallocReceived, l'application locale lance CPICDeallocate avec :
Pour étudier un exemple complet, consultez le segment de code relatif à CPICAccept.
Supprime l'entrée d'informations annexes CPIC désignée.
keylock : STRING EXPRESSION symDestName : STRING EXPRESSION
Paramètre | Description |
keylock | Clé de Communications Manager, valable lorsque la fonction de verrouillage de clé est activée. Spécifiez ' ' (huit espaces) lorsque vous ne souhaitez pas utiliser cette fonction. |
symDestName | Nom de destination symbolique de l'entrée relative aux informations de configuration de Communications Manager |
INTEGER
Lorsque le code retour est une valeur quelconque autre que 1, cela signifie que la suppression de l'entrée n'a pas lieu.
Cet appel n'a aucune incidence sur les conversations actives. L'entrée est immédiatement supprimée, entraînant le rejet de tout appel CPICInitialize effectué ultérieurement avec ce nom de destination symbolique. Lorsque Communications Manager procède à une suppression d'entrée, toute autre tentative d'exécution de CPICInitialize par une autre application reste en suspens jusqu'à la fin du processus de suppression.
Obtient le type de sécurité pour la conversation concernée.
conv: CONVERSATION convSecurityType: INTEGER PARAMETER
Paramètre | Description |
conv | Spécifie la conversation dont le type de sécurité est contrôlé |
convSecurityType | Contient le nombre entier signifiant que le
type de sécurité de TSD Script contient des constantes systèmes
servant de mnémoniques aux types suivants :
|
INTEGER
Le type de sécurité relatif à une conversation est configuré avec une valeur par défaut pour l'appel de CPICInitialize. Cette valeur peut être changée pour un appel de CPICSetConvSecurityType.
Obtient l'ID utilisateur de sécurité associé à une conversation.
conv: CONVERSATION EXPRESSION securityUserID : STRING PARAMETER
Paramètre | Description |
conv | Descripteur de la conversation associé à l'ID utilisateur de sécurité |
securityUserID | Contient l'ID de l'utilisateur ayant accès à la conversation |
INTEGER
L'ID utilisateur de sécurité est configuré avec une valeur par défaut pour l'appel de CPICInitialize. Cette valeur peut être changée pour un appel de CPICSetConvSecurityUserID.
Obtient l'état de la conversation donnée.
conv: CONVERSATION EXPRESSION state: INTEGER PARAMETER
Paramètre | Description |
conv | Descripteur de la conversation dont vous souhaitez connaître l'état |
state | Contient l'état de la conversation pour la LU
partenaire locale de TSD Script, dont les constantes systèmes sont :
|
INTEGER
Obtient le type de la conversation donnée.
conv : CONVERSATION PARAMETER convType: INTEGER PARAMETER
Paramètre | Description |
conv | Descripteur de conversation dont le type est décrit. |
convType | Contient le type de la conversation. La valeur
peut adopter l'une des constantes système de TSD Script suivantes :
|
INTEGER
Le type de la conversation renvoie par défaut à $CPICMappedConversation durant le traitement de CPICInitialize.
Lorsque CPICSetConvType est appelé après CPICInitialize (et avant CPICAllocate), le type de la conversation est modifié.
Obtient le nom de mode relatif à la conversation donnée.
conv: CONVERSATION EXPRESSION modeName : STRING PARAMETER
Paramètre | Description |
conv | Descripteur de la conversation dont vous souhaitez connaître le nom de mode |
modeName | Contient le nom de mode de la conversation. Ce paramètre désigne les propriétés de réseau de la session sur laquelle la conversation est exécutée. |
INTEGER
Obtient le nom de LU de l'application partenaire.
conv: CONVERSATION EXPRESSION partnerLUName : STRING PARAMETER
Paramètre | Description |
conv | Indique la conversation à l'application partenaire dont vous souhaitez connaître le nom de LU |
partnerLUName | Contient le nom de LU de l'application partenaire |
INTEGER
Obtient les paramètres relatifs au nom de destination symbolique indiqué.
entryNbr : INTEGER EXPRESSION symDestName : STRING EXPRESSION partnerLUName : STRING PARAMETER TPNameType : INTEGER PARAMETER TPName : STRING PARAMETER modeName : STRING PARAMETER convSecurityType: INTEGER PARAMETER securityUserID : STRING PARAMETER
Paramètre | Description |
entryNbr | Numéro d'index, dans la table des informations annexes CPIC, nécessitant l'appel des valeurs. Lorsque ce numéro est 0, la recherche effectuée par Communications Manager dépend du nom de destination symbolique indiqué. |
symDestName | Lorsque vous spécifiez 0 pour entryNbr, cette valeur est utilisée pour rechercher la table d'informations annexes CPIC. |
partnerLUName | Nom de LU partenaire spécifié dans l'entrée d'informations annexes CPIC. |
TPNameType | Nombre entier indiquant le type du programme de transactions. Les constantes systèmes de TSD Script correspondant à ces types sont $CPICApplicationTP et $CPICSNAServiceTP. |
TPName | Nom du programme de transactions. |
modeName | Mode utilisé pour toutes les conversations attribuées au moyen de ce nom de destination symbolique. |
convSecurityType | Type de sécurité utilisé pour toutes les conversations attribuées avec cette entrée d'informations annexes CPIC. |
securityUserID | ID utilisateur permettant l'accès sécurisé à la conversation. Ce paramètre est transmis à la LU partenaire au moment d'une demande d'attribution, lorsque le type de sécurité est CPICSecurityProgram. |
INTEGER
Le mot de passe de sécurité de l'entrée de table n'est pas renvoyé.
Lorsque cette commande est exécutée par Communications Manager, tout autre appel de modification de ces informations, lancé par une autre application, est suspendu.
Le numéro d'entrée définit un index dans la liste en cours des entrées internes d'informations annexes CPIC. Lorsque les entrées sont supprimées, les index sont modifiés.
Obtient le niveau de synchronisation en cours pour la conversation.
conv: CONVERSATION EXPRESSION SYNCLEVEL: INTEGER PARAMETER
Paramètre | Description |
conv | Descripteur de la conversation dont vous souhaitez connaître le niveau de synchronisation |
SYNCLEVEL | Niveau de synchronisation en vigueur pour la conversation spécifiée. |
Les mnémoniques des constantes systèmes de TSD Script relatives à ces valeurs sont :
INTEGER
Lorsque la valeur du niveau de synchronisation est $CPICNone, les applications partenaires n'effectuent aucune opération de confirmation.
Lorsque la valeur du niveau de synchronisation est $CPICConfirm, les applications partenaires effectuent une opération de confirmation. Autrement dit, elles lancent des appels de confirmation appropriés et reconnaissent les paramètres de confirmation renvoyés.
Indique à Communications Manager d'envoyer toutes les données vers les tampons de mémoire internes.
conv: CONVERSATION EXPRESSION
Paramètre | Description |
conv | Descripteur de conversation pour les données vidées |
INTEGER
Lorsqu'une application lance les commandes CPICAllocate, CPICSend, ou CPICSendError, il est possible que Communications Manager enregistre les données en interne afin d'optimiser le trafic réseau. Communications Manager retient les données jusqu'à ce que la mémoire tampon interne soit pleine, ou que l'application déclenche un vidage forcé. Lorsque la mémoire tampon interne ne contient pas de données, l'application partenaire n'en reçoit aucune.
Une application peut opérer un vidage forcé de manière explicite avec la commande CPICFlush, ou de manière implicite avec CPICConfirm, CPICPrepareToReceive, CPICDeallocate etc.
Si vous envisagez de procéder à un vidage après chaque appel CPICSend, vous devrez probablement utiliser CPICSetSendType pour définir le type Envoi sur $CPICSendAndFlush. Souvenez-vous qu'en effectuant cette opération, vous désactivez les fonctions d'optimisation des performances de Communications Manager.
Configure et prépare les ressources internes d'une conversation. De nombreuses caractéristiques sont définies en appliquant la valeur par défaut, et sont associées au descripteur de la conversation spécifiée.
conv : CONVERSATION PARAMETER symDestName : STRING EXPRESSION
Paramètre | Description |
conv | Descripteur de conversation, qui doit être préparé pour les besoins de celle-ci. |
symDestName | Nom de destination symbolique d'une entrée de table d'informations annexes CPIC, servant à la configuration des caractéristiques de la conversation. |
INTEGER
Une application peut effacer les attributs initialisés dans cet appel, en appelant les fonctions CPICSet appropriées. Souvenez-vous que ces définitions d'appel doivent être effectuées avant d'appeler CPICAllocate.
Le descripteur de conversation configuré par cette commande est utilisé pour tous les appels de commandes CPIC ultérieurs. Une application peut acheminer des conversations multiples en appelant CPICInitialize pour chaque conversation à attribuer.
Lorsque la table d'informations annexes CPIC indique que les informations relatives à la conversation sont incorrectes, cette condition est détectée lors de l'appel de CPICAllocate.
Une application peut définir une valeur de symDestName vide pour cette fonction. Dans ce cas, l'application devient responsable des appels de fonctions TSD Script pour définir les caractéristiques de conversation.
Pour étudier un exemple complet, consultez le segment de code relatif à CPICAccept.
Modifie l'extrémité locale de la conversation de l'état Envoi à l'état Réception, en vue de préparer la réception de données.
conv: CONVERSATION EXPRESSION
Paramètre | Description |
conv | Descripteur identifant la conversation qui doit être placée à l'état Réception. |
INTEGER
Lorsque le type de préparation à la réception de la conversation est $CPICPrepareToReceiveConfirm, ou que le type de préparation à la réception est $CPICPrepareToReceiveSyncLevel avec un niveau de synchronisation égal à $CPICConfirm, une demande de confirmation est envoyée par Communications Manager vers l'application partenaire.
L'applcation locale reste en attente jusqu'à ce qu'elle reçoive une confirmation. Cette commande déclenche implicitement un vidage de la mémoire.
L'application éloignée reçoit une notification du contrôle de l'envoi, au moyen du paramètre de réception d'état.
Lorsque la valeur de réception d'état est $CPICSendReceived, l'application locale a lancé la commande CPICPrepareToReceive sans qu'aucune confirmation ne soit demandée.
Pour $CPICConfirmSendReceived, l'application locale lance la commande avec demande de confirmation. Pour cela, le type de préparation à la réception est défini sur $CPICPrepToReceiveConfirm, ou $CPICPrepToReceiveSyncLevel avec un niveau de synchroniation de $CPICConfirm.
La fin de conversation de l'application éloignée débute par un état Envoi ou Envoi en attente.
Pour étudier un exemple complet, consultez le segment de code relatif à CPICAccept.
Reçoit les données entrantes depuis la conversation spécifiée.
conv: CONVERSATION EXPRESSION DDFName : STRING EXPRESSION buffer : ANY PARAMETER dataReceived : INTEGER PARAMETER statusReceived: INTEGER PARAMETER reqTSRcvd : INTEGER PARAMETER
Paramètre | Description |
conv | Descripteur de conversation dont les données sont extraites. |
DDFName | Nom du fichier DDF définissant la structure des blocs d'octets entrants. |
buffer | Varaible de TSD Script correspondant à un type simple (INTEGER, BOOLEAN, TIME, DATE, STRING) ou à un type d'enregistrement défini par l'utilisateur. Cette variable est en rapport étroit avec le paramètre DDFName, car il convient que ce dernier spécifie un fichier DDF décrivant le format de la mémoire tampon de manière adéquate. |
dataReceived | Précise si des données ont été
reçues par l'application. Les constantes système de TSD Script de cette valeur sont les suivantes :
|
reqTSRcvd | Précise si l'application partenaire a lancé une demande d'envoi de données. La valeur de cette variable peut être
$CPICRequestToSendReceived ou $CPICRequestToSendNotReceived.
$CPICRequestToSendReceived signifie
que le partenaire a lancé la commande CPICRequestToSend. Cette requête a pour but de demander à l'application
locale d'entrer en état Réception.
|
INTEGER
Lorsque la valeur du type de réception est $CPICReceiveAndWait (valeur par défaut), l'application TSD Script est bloquée (en attente) jusqu'à ce que la réception de données ait lieu. La durée limite de cette attente est définie dans le fichier NDF (fichier de définition de noeud), situé dans le répertoire de Communications Manager.
Remarque : La valeur définie par défaut par Communications Manager est INFINITE.
Reportez-vous à la section de chapitre relative aux fichiers DDF, qui décrit en détail l'usage approprié de CPIC. Cette commande provoque un vidage implicite de la mémoire tampon interne. L'application peut recevoir simultanément les données et l'état de réception dans le même appel.
Pour étudier un exemple complet, consultez le segment de code relatif à CPICAccept.
Emet une demande d'envoi de données vers l'application partenaire.
conv: CONVERSATION EXPRESSION
Paramètre | Description |
conv | Conversation dont vous souhaitez définir le passage à l'état Envoi. |
INTEGER
L'application éloignée reçoit une notification de l'arrivée de la demande, signifiée par le paramètre reqTSRcvd de l'une des commandes CPICSend, CPICSendError, CPICConfirm, ou CPICTestRequestToSendReceived.
La valeur correspondante est $CPICReqToSendReceived.
Une fois que l'application éloignée est entrée en état Réception (par l'envoi des commandes appropriées), l'application locale se trouve soit à l'état Envoi, soit à l'état Envoi en attente. La LU distante retient une seule demande d'envoi à la fois pour chaque conversation. Aucune des autres notifications n'est prise en compte, jusqu'à ce que l'application éloignée reçoive une notification lors d'un appel de CPIC.
En conséquence, il est à noter qu'une application peut effectuer un nombre d'appels de CPICRequestToSend supérieur à la valeur indiquée à l'application éloignée.
Pour étudier un exemple complet, consultez le segment de code relatif à CPICAccept.
Envoie les données vers l'application partenaire sur la conversation concernée.
conv: CONVERSATION EXPRESSION DDFName : STRING EXPRESSION buffer : ANY EXPRESSION reqTSRcvd : INTEGER PARAMETER
Paramètre | Description |
conv | Conversation par le biais de laquelle les données sont envoyées. |
DDFName | Nom du fichier DDF à utiliser pour l'extraction des valeurs de la mémoire tampon et la constitution d'un bloc d'octets à transférer. |
buffer | Variable TSD Script contenant les données à envoyer. Le type de cette variable peut être un type TSD Script simple (INTEGER, REAL, BOOLEAN, TIME, DATE), ou un type d'enregistrement défini par l'utilisateur. |
reqTSRcvd | Précise si l'application partenaire a lancé une demande d'envoi de données. Les valeurs admises pour cette variable sont les suivantes :
|
INTEGER
La LU locale enregistre les données dans la LU distante jusqu'à ce qu'une quantité suffisante de données soit disponible pour autoriser la transmission, ou bien jusqu'à ce que l'application locale force la fonction de vidage (de manière explicite ou implicite). La quantité de données qui est suffisante pour la transmission dépend des caractéristiques de la session attribuée pour que la conversation soit prise en charge.
Lorsque reqTSRcvd indique $CPICReqToSendReceived, l'application éloignée demande que l'application locale entre en état Réception. S'il vous arrive fréquemment d'utiliser CPICSend en association avec les commandes CPICFlush, CPICConfirm ou CPICPrepareToReceive, envisagez l'emploi de la commande CPICSetSendType. En effet, celle-ci peut s'avérer plus efficace.
Pour étudier un exemple complet, consultez le segment de code relatif à CPICAccept.
Informe l'application éloignée que l'application locale a décelé une erreur durant la conversation.
conv: CONVERSATION EXPRESSION reqTSRcvd : INTEGER PARAMETER
Paramètre | Description |
conv | Conversation qui fait l'objet du signalement d'erreur. |
reqTScvd | Précise si l'application partenaire a lancé une demande d'envoi de données. Les valeurs admises pour cette variable sont les suivantes :
|
INTEGER
La LU locale peut différer l'envoi de la notification d'erreur. Dans ce cas, l'erreur est placée en mémoire tampon jusqu'à ce qu'une quantité suffisante de données soit disponible pour autoriser la transmission, ou bien jusqu'à ce que l'application locale force la fonction de vidage de manière explicite ou implicite. Pour garantir que l'application partenaire reçoit immédiatement la notification d'erreur, l'application locale peut émettre une commande CPICFlush.
L'application locale entre en état Envoi lorsqu'elle lance cet appel pour les états Réception, Confirmation, Confirmation-Envoi, Confirmation-Désaffectation ou Envoi en attente. Lorsque l'appel est envoyé à l'état Envoi, aucun changement d'état ne se produit.
Définit le mot de passe de sécurité qui doit être envoyé au partenaire.
conv: CONVERSATION EXPRESSION securityPassword: STRING EXPRESSION
Paramètre | Description |
conv | Conversation dont vous souhaitez définir le mot de passe. |
securityPassword | Nouveau mot de passe de sécurité. Il est utilisé par la LU partenaire, en association avec l'ID utilisateur de sécurité, pour vérifier l'identité du demandeur. |
INTEGER
Cet appel ne peut être effectué que lorsque le type de sécurité de la conversation est $CPICSecurityProgram. Cet appel doit être envoyé après CPICInitialize et avant CPICAllocate.
Le mot de passe est défini en fonction d'une caractéristique par défaut (elle-même déterminée par une entrée de table d'informations annexes CPIC) au moment de l'initialisation.
La spécification éventuelle d'un mot de passe incorrect n'est pas détectée avec cet appel. La détection est effectuée par la LU partenaire, au moment où elle reçoit la demande d'affectation. L'application locale reçoit une indication de l'erreur lors d'un appel CPIC ultérieur.
Définit le type de sécurité pour la conversation concernée.
conv: CONVERSATION EXPRESSION convSecurityType: INTEGER EXPRESSION
Paramètre | Description |
conv | Descripteur de conversation dont vous souhaitez définir le type de sécurité |
convSecurityType | Paramètre de type INTEGER indiquant le type de sécurité.
Les constantes système de TSD Script sont les suivantes :
|
INTEGER
Lors du traitement de CPICInitialize, le type de sécurité est défini en fonction d'une valeur par défaut (elle-même déterminée par une entrée de table d'informations annexes CPIC).
Lorsque le type de sécurité est $CPICSecurityNone, la demande d'allocation est envoyée à la LU partenaire sans aucune information de sécurité.
Lorsque le type de sécurité est $CPICSecuritySame, la demande d'affectation contient un niveau d'informations de sécurité d'accès (nul, ou ID utilisateur) identique au niveau utilisé au démarrage de l'application, sous réserve que la LU partenaire accepte les informations de sécurité qui ont déjà été soumises à une vérification. Lorsque le partenaire n'accepte pas les informations de sécurité déjà vérifiées, la demande d'affectation ne contient aucune information relative à la sécurité.
Losque le type de sécurité est $CPICSecurityProgram, la demande d'affectation contient l'ID utilisateur et le mot de passe provenant des attributs de conversation correspondants, sous réserve que l'application partenaire accepte les informations de sécurité provenant de la LU locale.
Si la valeur du type de sécurité défini par l'application TSD Script est $CPICSecurityProgram, l'application peut alors procéder à l'appel de CPICSetConvSecurityPassword et de CPICSetConvSecurityUserID.
Si l'application TSD Script ne définit pas le type de sécurité comme ayant la valeur $CPICSecurityProgram, les valeurs adoptées sont celles de l'entrée d'informations annexes CPIC.
Définit l'ID utilisateur de sécurité pour la conversation. Cet ID utilisateur est requis lorsque le type de sécurité requis pour les conversations est $CPICSecurityProgram.
conv: CONVERSATION EXPRESSION securityUserID : STRING EXPRESSION
Paramètre | Description |
conv | Conversation pour laquelle l'ID utilisateur de sécurité est défini. |
securityUserID | ID utiisateur de sécurité. Il est utilisé par la LU partenaire en association avec l'ID utilisateur de sécurité, afin de vérifier l'identité du demandeur. |
INTEGER
La valeur initiale de l'ID utilisateur provient de l'entrée
d'informations annexes CPIC lors du traitement de CPICInitialize.
La spécification éventuelle d'un mot de passe incorrect n'est pas
détectée par cet appel. La détection est effectuée par la LU
partenaire, au moment où elle reçoit la demande d'affectation. L'application
locale reçoit une indication de l'erreur lors d'un appel CPIC ultérieur.
Définit le type de conversation.
conv : CONVERSATION PARAMETER convType: INTEGER EXPRESSION
Paramètre | Description |
conv | Descripteur de conversation dont vous souhaitez modifier le type de conversation |
convType | Nombre entier qui définit le type de conversation.
Les constantes système de TSD Script sont les suivantes :
|
INTEGER
Lors du traitement de CPICInitialize, la valeur définie pour le type de conversation est $CPICMappedConversation. Votre application a besoin d'appeler cette fonction après CPICInitialize afin de remplacer la valeur du type par $CPICBasicConversation. Les conversations de base doivent être considérées comme une technique de programmation évoluée.
Pour étudier un exemple complet, consultez le segment de code relatif à CPICAccept.
Définit le type de processus de désaffectation à accomplir.
conv: CONVERSATION EXPRESSION deallocateType: INTEGER EXPRESSION
Paramètre | Description |
conv | Descripteur de conversation dont vous souhaitez définir le type de désaffectation |
deallocateType | Nombre indiquant le type de désaffectation souhaité.
Les constantes système de TSD Script sont les suivantes :
|
INTEGER
L'attribut correspondant au type de désaffectation est utilisé par CPIC lorsque vous appelez la fonction CPICDeallocate.
Lorsque la réponse envoyée indique le succès de l'opération, la désaffectation de la conversation s'effectue normalement. Lorsque la réponse renvoyée indique un échec, l'état de la conversation est déterminé par le code retour.
Le type de $CPICDeallocateConfirm est utilisable uniquement lorsque la valeur du niveau de synchronisation est $CPICConfirm.
Définit l'attribut correspondant à la direction du flux de données d'erreur d'une conversation.
conv: CONVERSATION EXPRESSION errorDirection: INTEGER EXPRESSION
Paramètre | Description |
conv | Descripteur de conversation dont vous souhaitez définir la direction du flux de données d'erreur |
errorDirection | Nombre entier indiquant la direction du flux de données dans lequel l'erreur a été détectée. Les constantes système de TSD Script sont $CPICReceiveError et $CPICSendError. |
INTEGER
Une valeur $CPICReceiveError indique que l'application locale a décelé une erreur parmi les données qu'elles a reçues en provenance du partenaire. Lorsque l'application locale lance un appel CPICSendError, le code retour reçu par l'application éloignée est -22 (CM_PROGRAM_ERROR_PURGING). Une valeur de $CPICSendError indique que l'application locale a détecté un incident lors de la préparation des données destinées à l'application partenaire. Lorsque l'application locale émet un appel CPICSendError, l'application éloignée reçoit le code retour -21 (CM_PROGRAM_ERROR_NO_TRUNC).
L'attribut correspondant à la direction du flux de données d'erreur
n'est valable que lorsque l'application se trouve en état
Envoi en attente (il s'agit du seul moment où l'on ne peut
déterminer clairement si l'erreur concerne l'envoi ou la
réception). Une application se trouve en état d'Envoi en attente
à la suite d'un appel CPICReceive au cours duquel
des données et un état $CPICSendReceived ont été
reçus simultanément. Le sens du flux de données d'erreur renvoie par
défaut à $CPICReceiveError.
Dès qu'un changement intervient dans le sens du flux de
données d'erreur, la nouvelle valeur reste en vigueur jusqu'à ce que
l'application la modifie à nouveau.
Définit le nom de mode à utiliser pour la conversation.
conv: CONVERSATION EXPRESSION modeName : STRING EXPRESSION
Paramètre | Description |
conv | Descripteur de conversation dont vous souhaitez définir le nom de mode |
modeName | Nom de mode à utiliser pour la conversation. Ce paramètre désigne les propriétés de réseau de la session sur laquelle la conversation est exécutée. Les propriétés de réseau incluent la classe de service et précisent si les données doivent être chiffrées. |
INTEGER
La spécification éventuelle d'un nom de mode incorrect n'est pas détectée avec cet appel. Les appels CPICAllocate ultérieurs renvoient une erreur.
Définit le nom de la LU partenaire de la conversation.
conv: CONVERSATION EXPRESSION partnerLUName : STRING EXPRESSION
Paramètre | Description |
conv | Conversation pour laquelle le nom de la LU partenaire est modifié. |
partnerLUName | Nouveau nom de la LU partenaire de la conversation. Il s'agit du nom de la LU sur laquelle réside l'application éloignée. Ce nom de LU correspond à tout nom permettant à la LU locale de reconnaître la LU éloignée, pour les besoins d'affectation d'une conversation. |
INTEGER
Cet appel doit être lancé après CPICInitialize, mais avant CPICAllocate. Lorsqu'il est émis, aucune modification n'intervient dans les entrées d'informations annexes CPIC.
Pour étudier un exemple complet, consultez le segment de code relatif à CPICAccept.
Définit l'attribut à utiliser lorsque la fonction CPICPrepareToReceive est appelée.
conv: CONVERSATION EXPRESSION prepToRcvType: INTEGER EXPRESSION
Paramètre | Description |
conv | Conversation pour laquelle le type Préparation à la réception est défini. |
prepToRcvType | Nombre entier indiquant le type de traitement de préparation à la réception qui doit être exécuté. Les constantes système de TSD Script sont $CPICPrepToReceiveSyncLevel, $CPICPrepToReceiveFlush et $CPICPrepToReceiveConfirm. |
INTEGER
Dans le cas de $CPICPrepToReceiveFlush, la mémoire tampon est vidée et l'application entre en état de Réception.
Dans le cas de $CPICPrepToReceiveConfirm, une demande de confirmation est envoyée. Lorsque l'opération aboutit, l'application entre en état de Réception. Lorsque la réponse renvoyée indique un échec, l'état de la conversation est déterminé par le code retour.
Pour $CPICPrepToReceiveSyncLevel, le traitement effectué dépend du niveau de synchronisation. Lorsque la valeur de celui-ci est $CPICNone, les actions sont les mêmes que pour $CPICPrepToReceiveFlush.
Si la valeur du niveau de synchronisation est $CPICConfirm, le traitement est le même que pour $CPICPrepToReceiveConfirm.
Pour étudier un exemple complet, consultez le segment de code relatif à CPICAccept.
Définit le type d'opération de réception à accomplir.
conv: CONVERSATION EXPRESSION rcvType: INTEGER EXPRESSION
Paramètre | Description |
conv | Conversation pour laquelle le type Réception est défini. |
rcvType | Nombre entier indiquant le type de traitement de réception qui doit être exécuté. Les constantes système de TSD Script sont $CPICReceiveAndWait et $CPICReceiveImmediate. |
INTEGER
Cette fonction peut être appelée à tout moment après CPICInitialize (pour l'émetteur de la conversation), ou après CPICAccept (pour le récepteur de la conversation).
Une valeur égale à $CPICReceiveAndWait signifie qu'un appel de fonction CPICReceive reste en attente jusqu'à l'arrivée des informations requises. $CPICReceiveImmediate indique que la fonction CPICReceive a reçu toutes les données disponibles, mais sans en attendre davantage.
Définit l'attribut correspondant au contrôle de retour de la conversation. Cet attribut est utilisé lors des appels de CPICAllocate.
conv: CONVERSATION EXPRESSION returnControl: INTEGER EXPRESSION
Paramètre | Description |
conv | Conversation pour laquelle le contrôle de retour est modifié. |
returnControl | Nombre entier indiquant le moment où l'application TSD Script récupère le contrôle des appels de CPICAllocate. Les constantes système de TSD Script sont $CPICWhenSessionAllocated et $CPICImmediate. |
INTEGER
Dans le cas de $CPICWhenSessionAllocated, l'application TSD Script reste en attente jusqu'à l'attribution de la session. Pour $CPICImmediate, la session n'est attribuée qu'en cas de disponibilité immédiate d'une session libre. Les erreurs d'affectation résultant d'un échec d'ouverture de session par la LU locale pour la conversation concernée sont rapportées dans l'appel CPICAllocate. Lorsqu'un rejet a lieu au niveau de la LU partenaire, il est rapporté lors d'un appel de conversation ultérieur.
Définit l'attribut du type Envoi pour la conversation concernée.
conv: CONVERSATION EXPRESSION sendType: INTEGER EXPRESSION
Paramètres | Description |
conv | Conversation pour laquelle le type Envoi est modifié. |
sendType | Nombre entier indiquant les actions à mener à chaque appel de CPICSend.
Les constantes système de TSD Script sont les suivantes :
|
INTEGER
Lorsque la valeur $CPICBufferData (par défaut) est sélectionnée, aucune action supplémentaire n'est requise en dehors de l'envoi de données. De même, les données peuvent être enregistrées en mémoire interne jusqu'à ce que la quantité de données accumulées au fil des appels de CPICSend soit suffisante pour permettre la transmission.
$CPICSendAndFlush indique qu'une opération de vidage est effectuée après chaque appel de CPICSend.
$CPICSendAndConfirm signale qu'une demande de confirmation est envoyée après chaque CPICSend.
$CPICSendAndPrepToReceive indique que l'application locale adresse la commande d'envoi à l'application éloignée lors de l'appel de CPICSend.
$CPICSendAndDeallocate signifie que la conversation est désaffectée une fois que les données ont été envoyées.
Pour étudier un exemple complet, consultez le segment de code relatif à CPICAccept.
Ajoute ou remplace une entrée d'informations annexes CPIC dans la table des informations annexes 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
Remarques concernant les paramètres
Paramètre | Description |
keylock | Clé principale ou mot de passe utilisateur, lorsque la fonction de verrouillage de Communications Manager a été activée. Complétez cette clé par des espaces sur huit caractères, si nécessaire. |
symDestName | Nom de destination symbolique de l'entrée. Cette valeur est utilisée comme clé d'entrée dans la table. Lorsque la recherche dans la table aboutit, les valeurs sont mises à jour. Dans le cas contraire, une nouvelle entrée est ajoutée à la table. |
partnerLUName | Nom de LU de l'application éloignée. |
TPNameType | Nombre entier indiquant le type du programme de transactions. Les constantes système de TSD Script sont $CPICApplicationTP et $CPICSNAServiceTP. |
TPName | Nom de l'application de transaction qui joue le rôle de partenaire de la conversation. Si vous avez spécifié la valeur $CPICSNAServiceTP, vous devez définir le nom selon le format '\xhhaaa' : 'hh' étant considéré comme une valeur hexadécimale, tandis que les autres caractères sont traités commes des entités alphanumériques. |
modeName | Nom de mode à utiliser pour la conversation. |
convSecurityType | Nombre entier indiquant le type de sécurité valable pour toute conversation attribuée à l'aide de cette entrée d'informations annexes. Les constantes système de TSD Script sont $CPICSecurityNone, $CPICSecuritySame et $CPICSecurityProgram. |
securityUserID | ID utilisateur destiné à être envoyé au partenaire pour vérification. Cette valeur doit être définie lorsque la valeur de convSecurityType est $CPICSecurityProgram. |
securityPassword | Mot de passe destiné à être envoyé au partenaire lors des vérifications de sécurité. Cette valeur n'est nécessaire que lorsque la valeur de convSecurityType est $CPICSecurityProgram. |
INTEGER
Lorsque cet appel est lancé, il ne modifie pas le fichier de configuration de Communications Manager. Par conséquent, les modifications apportées à l'entrée d'informations annexes n'existent que pendant l'exécution de l'application locale.
Les valeurs des chaînes transmises à cette fonction ne font l'objet d'aucun contrôle de validité lors de cet appel.
Cette fonction n'a aucune influence sur les conversations actives. Lorsque Communications Manager effectue la mise à jour de l'entrée d'informations annexes CPIC, tous les autres appels lancés par des applications en vue de modifier ou d'extraire cette entrée sont suspendus, jusqu'à ce que la fonction ait été menée à son terme. Cette caractéristique inclut l'appel de CPICInitialize par une autre application.
Définit l'attribut correspondant au niveau de synchronisation d'une conversation.
conv: CONVERSATION EXPRESSION SYNCLEVEL: INTEGER EXPRESSION
Paramètre | Description |
conv | Descripteur de conversation dont vous souhaitez modifier le niveau de synchronisation |
SYNCLEVEL | Nombre entier indiquant le niveau de synchronisation à utiliser pour la conversation. Les constantes système de TSD Script sont $CPICNone et $CPICConfirm. |
INTEGER
$CPICNone signifie que les applications n'accomplissent aucune opération de confirmation durant la conversation concernée. $CPICConfirm signifie que les applications peuvent procéder à des opérations de confirmation. Le niveau de synchronisation peut être défini seulement après CPICInitialize, mais avant CPICAllocate. Seul l'initialisateur d'une conversation peut accéder à cette fonction.
Pour étudier un exemple complet, consultez le segment de code relatif à CPICAccept.
Définit le nom du programme de transactions de la conversation. Cette information est délivrée à la LU partenaire comme étant le nom de l'application de transaction à exécuter en tant qu'application éloignée de la conversation.
conv: CONVERSATION EXPRESSION TPName: STRING EXPRESSION
Paramètre | Description |
conv | Conversation pour laquelle le nom du programme de transactions est modifié. |
TPName | Nouveau nom du programme de transactions de la conversation. Il est à noter que ce ce dernier doit être un programme de transactions d'application et non un programme de transactions de service SNA. |
INTEGER
Cette fonction est utilisable uniquement pour définir des noms de programmes de transaction d'application, et non de services SNA.
Pour étudier un exemple complet, consultez le segment de code relatif à CPICAccept.
Vérifie qu'une demande d'envoi a été émise par l'application partenaire.
conv: CONVERSATION EXPRESSION reqTSRcvd : INTEGER PARAMETER
Paramètre | Description |
conv | Conversation soumise à l'essai. |
reqTSRcvd | Contient un nombre entier précisant si une demande d'envoi a été reçue de la part de l'application partenaire. Les constantes système de TSD Script sont $CPICReqToSendReceived et $CPICReqToSendNotReceived. |
INTEGER
Lorsque la LU locale reçoit une notification de demande, elle retient celle-ci jusqu'à ce que l'application locale envoie un appel associé au paramètre reqTSRcvd. Une seul notification peut être retenue à la fois. Aucune autre requête n'est donc prise en compte, jusqu'à ce que l'application locale reçoive la notification correspondante.
Tivoli Service Desk 6.0 Developer's Toolkit - Guide des API existantes