Aller au contenu

SNDRPY

Envoyer une réponse

En bref

La commande SNDRPY (Envoyer une réponse) permet d'envoyer une réponse à l'émetteur d'un message d'interrogation.

SNDRPY se lit SND (Envoyer) + RPY. Sur IBM i, le nom d'une commande associe presque toujours un verbe et un objet.

Syntaxe minimale

SNDRPY MSGKEY(…) MSGQ(…)

Paramètres

  • MSGKEY Clé du message obligatoire
  • MSGQ File attente messages obligatoire
  • RPY Réponse
  • RMV Suppression du message
  • RJTDFTRPY Rejet réponse par défaut
  • CCSID ID codé de jeu de caractères

Astuce : dans une session 5250, tapez SNDRPY puis F4 pour l'invite de saisie, et F1 sur un paramètre pour son aide.

Aide IBM i de la commande

Texte du F1, IBM i 7.5 en français (bibliothèque QSYS)

Où s'exécute : Tous les environnements (*ALL)
Compatible multitâche : Oui

La commande SNDRPY (Envoyer une réponse) permet d'envoyer une réponse à l'émetteur d'un message d'interrogation. Il s'agit de la réponse au message dont la clé de référence a été reçue de la file d'attente de messages indiquée.

Un programme d'exit de gestion des réponses peut être enregistré à l'aide de la fonction d'enregistrement système pour le point d'exit QIBM_QMH_REPLY_INQ. Un programme d'exit de réponses peut accepter, rejeter ou remplacer une valeur de réponse. Si un programme d'exit rejette la réponse, le message de diagnostic CPD2476 (Réponse rejetée par un programme d'exit de gestion de réponse) sera envoyé au programme exécutant cette commande SNDRPY. Ceci est suivi par un message d'arrêt programme CPF2422 (Réponse incorrecte). Si la réponse est remplacée par un programme d'exit, la fonction d'envoi de réponse s'envoie un message de diagnostic. Le message est le CPD2479 (Programme d'exit de réponse requis pour remplacer une valeur de réponse). Une fois la réponse envoyée, CPF2458 (Réponse remplacée par un programme d'exit de gestion de réponse) sera envoyé en tant que message de diagnostic et un message d'état sera envoyé au programme exécutant cette commande SNDRPY. Le message d'état peut être intercepté si le programme doit connaître la condition lorsqu'une valeur de réponse autre que celle qui était spécifiée, a été envoyée.

Si cette file d'attente ne correspond pas à celle du travail au cours duquel cette commande est lancée, elle est implicitement allouée au travail pendant toute la durée d'exécution de la commande.

Paramètres

Mot-clé Description Valeurs possibles Remarques
MSGKEY Clé du message Valeur caractère Obligatoire, positionnel 1
MSGQ File attente messages Nom d'objet qualifié Obligatoire, positionnel 2
Qualificatif 1: File attente messages Nom
Qualificatif 2: Biblio Nom, *LIBL, *CURLIB
RPY Réponse Valeur caractère, *DFT Facultatif, positionnel 3
RMV Suppression du message *YES, *NO Facultatif
RJTDFTRPY Rejet réponse par défaut *NOALWRJT, *ALWRJT Facultatif
CCSID ID codé de jeu de caractères 1-65535, *HEX, *JOB Facultatif

Clé du message (MSGKEY)

Indique la clé de référence du message auquel est envoyée une réponse.

Ce paramètre est obligatoire.

File attente messages (MSGQ)

Indique le nom de la file d'attente de messages qui a reçu le message d'interrogation nécessitant une réponse.

Ce paramètre est obligatoire.

Qualificatif 1 : File attente messages

nom
Entrez le nom de la file d'attente de messages.

Qualificatif 2 : Biblio

*LIBL
La recherche porte sur toutes les bibliothèques de la liste des bibliothèques de l'unité d'exécution en cours jusqu'à ce que la première occurrence soit trouvée.
*CURLIB
La file d'attente de messages est recherchée dans la bibliothèque en cours du travail. Si celle-ci ne figure pas dans la liste des bibliothèques, QGPL est prise par défaut.
nom
Indiquez le nom de la bibliothèque contenant la file d'attente de messages.

Réponse (RPY)

Indique la réponse envoyée par le programme au message d'interrogation.

*DFT
La réponse envoyée est la réponse par défaut figurant dans la description de message d'interrogation. Si aucune valeur par défaut n'est indiquée dans la description du message d'interrogation, la réponse par défaut, *N, est utilisée.
'texte-réponse'
Entrez le texte (qui doit figurer entre apostrophes s'il comporte des blancs ou des caractères spéciaux) ou la variable CL contenant ce texte, constituant la réponse du programme au message d'interrogation. Le nombre de caractères autorisé pour la réponse et leur format sont définis par les spécifications de validité données dans la commande ADDMSGD (Ajouter description de message)pour le message d'interrogation spécifié. Cependant, si aucune spécification de validité n'est indiqué pour les réponses dans la commande ADDMSGD, le texte de la réponse peut contenir jusqu'à 132 caractères.

Remarques concernant l'ID codé de jeu de caractères (CCSID)

Si le message d'interrogation auquel est envoyée cette réponse est un message immédiat, le système considère que le texte indiqué au paramètre RPY a pour CCSID celui du travail exécutant la commande, sauf si un CCSID est précisé au paramètre CCSID. Si le message d'interrogation auquel est envoyée cette réponse est un message prédéfini, le texte indiqué au paramètre RPY est censé avoir pour CCSID 65535 et n'est pas converti. Pour plus de détails sur le gestionnaire de messages et la façon dont il utilise les CCSID, reportez-vous au manuel Rubriques Internationalisation de l'i5/OS dans l'IBM i Information Center, à l'adresse http://www.ibm.com/systems/i/infocenter/.

Suppression du message (RMV)

Indique si le message d'interrogation et la réponse qui lui a été envoyée doivent être supprimés de la file d'attente de messages indiquée.

*YES
Le message et la réponse correspondante sont supprimés de la file d'attente de messages dès que la réponse a été envoyée.
*NO
Le message et la réponse qui lui a été envoyée sont suspendus dans la file d'attente de messages. Une seule réponse peut être adressée au message d'interrogation ; en revanche, ce dernier peut être reçu ou affiché plusieurs fois.

Rejet réponse par défaut (RJTDFTRPY)

Indique si un programme d'exit de gestion de réponse pourra rejeter une réponse par défaut. Une réponse par défaut est demandée en mettant des blancs dans le paramètre de réponse. Un programme d'exit peut être enregistré à l'aide de la fonction d'enregistrement système pour le point d'exit QIBM_QMH_REPLY_INQ. Si aucune réponse par défaut n'est envoyée, ce paramètre est ignoré et un programme d'exit peut rejeter ou remplacer la valeur de la réponse.

*NOALWRJT
Un programme d'exit de gestion de réponse ne pourra par rejeter une réponse par défaut.
*ALWRJT
Un programme d'exit de gestion de réponse pourra rejeter une réponse par défaut. Si un programme d'exit rejette la réponse, le message CPD2476 (Réponse rejetée par un programme d'exit de gestion de réponse) sera envoyé en tant que message de diagnostic au programme utilisant cette commande. Le CPD2476 sera suivi d'un message d'arrêt programme CPF2422 (Réponse incorrecte) que le programme utilisant cette commande doit intercepter pour gérer et récupérer suite à une situation d'erreur.

ID codé de jeu de caractères (CCSID)

Désigne l'ID codé de jeu de caractères (CCSID) du texte de la réponse fournie. Si le message d'interrogation auquel est envoyée cette réponse est un message prédéfini, ce paramètre est ignoré et le texte fourni au paramètre RPY est censé avoir pour CCSID 65535 et n'est pas converti. Pour plus de détails sur le gestionnaire de messages et la façon dont il utilise les CCSID, reportez-vous au manuel Rubriques Internationalisation de l'i5/OS dans l'IBM i Information Center, à l'adresse http://www.ibm.com/systems/i/infocenter/.

*JOB
Le système considère que le texte de la réponse a pour CCSID celui du travail exécutant cette commande.
*HEX
Le texte de la réponse n'est pas converti. Le CCSID 65535 est utilisé.
ID-codé-jeu-caractères
Indiquez un CCSID admis dans lequel vous souhaitez que figure le texte de la réponse. Les valeurs admises sont comprises entre 1 et 65535. Cette commande valide le CCSID. La liste des valeurs de CCSID admises est fournie dans le manuel Internationalisation de l'iSeries Information Center, à l'adresse http://www.ibm.com/eserver/iseries/infocenter.

Exemples

SNDRPY   MSGKEY(&KEY)  MSGQ(SMITH)  RPY(YES)

Cette commande envoie la réponse YES au message dont la clé de référence est indiquée par &KEY, qui a été reçue par la file d'attente de messages SMITH. La réponse ne contenant qu'un seul mot, elle n'a pas besoin d'être entre apostrophes.

Messages d'erreur

Messages *ESCAPE

CPF2401
Accès non autorisé à la bibliothèque &1.
CPF2403
File d'attente de messages &1 non trouvée dans &2.
CPF2408
Non autorisé à la file d'attente de messages &1.
CPF2410
Clé du message non trouvée dans la file d'attente de messages &1.
CPF2411
Accès non autorisé au fichier message &1 dans &2.
CPF2420
Réponse au message d'interrogation ou d'avertissement déjà envoyée.
CPF2422
Réponse incorrecte.
CPF2432
Impossible de répondre à un message de type autre que *INQ ou *NOTIFY.
CPF2433
Fonction non admise pour file d'attente msg historique système &1.
CPF2460
La taille de la file d'attente de messages &1 ne peut être augmentée.
CPF247E
Le CCSID &1 est incorrect.
CPF2471
Longueur de zone incorrecte.
CPF2477
File d'attente de messages &1 en cours d'utilisation.
CPF2547
fichier message QCPFMSG endommagé.
CPF2548
fichier message &1 dans &2 endommagé.
CPF9830
Allocation de la bibliothèque &1 impossible.
CPF9838
Limite mémoire du profil utilisateur dépassée.

Messages *STATUS

CPF2458
Réponse remplacée par le programme d'exit de gestion des réponses.

© Copyright IBM Corp. Texte d'aide reproduit à des fins de formation.