Aller au contenu

CHGRPYLE

Modifier poste liste réponse

En bref

La commande CHGRPYLE (Modifier un poste de la liste de réponse) permet de modifier un poste de la liste de réponse système.

CHGRPYLE se lit CHG (Modifier) + RPYLE. Sur IBM i, le nom d'une commande associe presque toujours un verbe et un objet.

Syntaxe minimale

CHGRPYLE SEQNBR(…)

Paramètres

  • SEQNBR Numéro de séquence obligatoire
  • MSGID Identificateur de message
  • CMPDTA Données de comparaison
  • RPY Réponse au message
  • DUMP Clicher le travail émetteur
  • CCSID ID codé de jeu de caractères

Astuce : dans une session 5250, tapez CHGRPYLE 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 : Non

La commande CHGRPYLE (Modifier un poste de la liste de réponse) permet de modifier un poste de la liste de réponse système. Tous les attributs peuvent être modifiés, sauf le numéro de séquence.

La liste de réponse sert de source aux réponses automatiques à des messages d'interrogation prédéfinis.

La liste de réponse n'est utilisée que lorsqu'un message d'interrogation est envoyé par un travail pour lequel est spécifié l'attribut de liste de réponse INQMSGRPY(*SYSRPYL). L'attribut INQMSGRPY peut être modifié à l'aide de la commande CHGJOB.

De nouveaux postes peuvent être ajoutés à la liste de réponse à l'aide de la commande ADDRPYLE (Ajouter poste liste de réponse). Vous pouvez afficher la liste des postes à l'aide de la commande WRKRPYLE (Gérer les postes de la liste de réponse) ; vous pouvez ensuite ajouter, modifier ou supprimer des postes.

Restrictions :

  1. Cette commande est fournie avec les droits publics *EXCLUDE et le profil utilisateur QPGMR dispose des droits privés pour l'utiliser.
  2. Pour utiliser cette commande, vous devez avoir ouvert la session en tant que QPGMR ou disposer du droit *USE.

Paramètres

Mot-clé Description Valeurs possibles Remarques
SEQNBR Numéro de séquence 1-9999 Obligatoire, positionnel 1
MSGID Identificateur de message Valeur caractère, *SAME, *ANY Facultatif
CMPDTA Données de comparaison Liste d'éléments Facultatif
Élément 1: Donnée de comparaison Valeur caractère, *SAME, *NONE
Élément 2: Position début données msg 1-999, *SAME, *NONE
RPY Réponse au message Valeur caractère, *SAME, *DFT, *RQD Facultatif
DUMP Clicher le travail émetteur *SAME, *NO, *YES Facultatif
CCSID ID codé de jeu de caractères 1-65535, *SAME, *HEX, *JOB Facultatif

Numéro de séquence (SEQNBR)

Indique le numéro de séquence de la liste de réponse à modifier. La recherche d'une correspondance entre l'identificateur d'un message d'interrogation et celui du poste de la liste, puis entre les données du message et les données de comparaison du poste, s'effectue dans l'ordre croissant des numéros de séquence. La recherche s'achève lorsqu'une correspondance est trouvée ou le dernier poste a été analysé. Si plusieurs postes de la liste de réponse correspondent à l'identificateur de message d'interrogation et aux données de comparaison, seul le premier poste faisant l'objet d'une correspondance est pris en compte. Si aucun poste ne correspond au message, l'interrogation est envoyée mais sans envoi de réponse, excepté si une réponse par défaut doit être envoyée, et le travail n'est pas cliché.

Ce paramètre est obligatoire.

1-9999
Indiquez un numéro de séquence compris entre 1 et 9999. Les doublons ne sont pas admis.

Identificateur de message (MSGID)

Indique l'identificateur de messages d'interrogation qui doit recevoir une réponse automatique du système. L'identificateur de message peut être spécifique ou générique. Seuls les messages prédéfinis (que le système peut donc identifier) peuvent être comparés aux postes de la liste des réponses. Les messages immédiats ne peuvent pas être utilisés dans la comparaison.

En l'absence de données de comparaison, seul l'identificateur de message est utilisé pour établir la correspondance du message avec le poste de la liste de réponse. S'il s'agit du premier poste correspondant au message, l'action spécifiée pour ce poste est exécutée.

*SAME
L'identificateur du message n'est pas modifié.
*ANY
Ce poste de la liste de réponse correspond à tout identificateur de message. Les postes suivants, ayant donc un numéro de séquence plus élevé, sont ignorés, sauf si des données de comparaison sont indiquées.
identificateur-message
Entrez un identificateur. Celui-ci sera comparé à l'identificateur d'un message d'interrogation. La longueur de l'identificateur du message doit être de 7 caractères et être conforme au format suivant : pppnnnn

Les 3 premiers caractères (ppp) représentent un code composé d'un caractère alphabétique suivi de deux caractères alphanumériques (alphabétiques ou décimaux). Les 4 derniers caractères (nnnn) doivent être des chiffres (0 à 9) ou des lettres (A à F).

Pour spécifier un identificateur de message générique, entrez des zéros aux deux ou quatre dernières positions du champ numérique, sur le modèle pppnn00 ou ppp0000. Par exemple, CPA0000 et CPA4200 retrouveront les correspondances pour tous les messages d'interrogation respectivement identifiés CPA et CPA42xx.

Données de comparaison (CMPDTA)

Indique les données utilisées pour comparer le poste aux données d'un message d'interrogation. Ce paramètre est composé de données de comparaison et d'une valeur de début des données du message. Cette comparaison n'a lieu que si une correspondance a été trouvée entre l'identificateur du message et celui du poste. S'il n'a pas été indiqué de valeur de début pour les données du message, la première partie de ces données (jusqu'aux 28 premiers caractères) doit exactement correspondre aux données de comparaison spécifiées pour que l'action demandée pour ce poste de la liste de réponse soit exécutée. Si une valeur de début a été indiquée, c'est la partie des données du message commençant à la position de caractère spécifiée dans la valeur de début qui doit correspondre exactement aux données de comparaison pour que l'action demandée soit exécutée. Si les données de comparaison sont plus longues que les données du message, aucune correspondance n'est retrouvée. En l'absence de données de comparaison, seul l'identificateur de message est utilisé pour établir la correspondance du message avec le poste de la liste de réponse. S'il s'agit du premier poste correspondant au message, l'action spécifiée pour ce poste est exécutée.

Remarque :Les données associées à un message d'interrogation peuvent être spécifiées dans le paramètre MSGDTA des commandes SNDUSRMSG (Envoyer un message utilisateur) ou SNDPGMMSG (Envoyer un message programme) pour ce message d'interrogation.

Elément 1 : Donnée de comparaison

*SAME
Les données de comparaison ne sont pas modifiées.
*NONE
Aucune donnée de comparaison n'est indiquée. Si le message d'interrogation a l'identificateur spécifié, l'action indiquée par ce poste de liste de réponse est exécutée.
'donnée-comparaison'
Entrez une chaîne de 28 caractères maximum (entre apostrophes si cette chaîne comporte des blancs ou des caractères spéciaux). Cette chaîne sera comparée à une chaîne de même longueur dans les données du message d'interrogation. La comparaison s'effectue à partir du premier caractère (excepté si une valeur de début a été indiquée). S'il y a correspondance entre la chaîne de données de comparaison et la chaîne de données du message d'interrogation, l'action indiquée par ce poste de liste de réponse est exécutée.

Elément 2 : Position début données msg

*SAME
La valeur indiquant le début des données de comparaison n'est pas modifiée.
début-données-message
Entrez une valeur représentant la position du premier caractère à partir duquel s'effectuera la comparaison avec les données du message. La valeur maximale est 999. S'il n'existe pas de données de comparaison, l'indication d'une valeur de début est inappropriée.

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

Le système considère que le texte fourni au paramètre CMPDTA correspondant à la zone de type *CCHAR a pour CCSID celui du travail exécutant cette commande, sauf si le paramètre CCSID est codé. Pour plus de détails sur la zone de type *CCHAR, reportez-vous à la description de la commande ADDMSGD (Ajouter description de message).

Réponse au message (RPY)

Indique la réponse donnée à un message d'interrogation correspondant à un poste de la liste de réponse. La réponse indiquée est automatiquement envoyée sans qu'aucune intervention ne soit nécessaire de la part de l'utilisateur. L'arrivée du message d'interrogation en file d'attente n'entraîne ni interruption d'un travail ni signal d'avertissement.

*SAME
L'action de réponse n'est pas modifiée.
*DFT
Envoi de la réponse par défaut au message d'interrogation. Si aucune réponse par défaut n'est indiquée dans la description du message d'interrogation, la réponse par défaut du système, *N, est utilisée.
*RQD
Le message d'interrogation doit recevoir une réponse particulière. Si la file d'attente de messages vers laquelle l'interrogation est dirigée est en mode interruption, le message interrompt le travail et s'affiche à l'écran. Si cette file d'attente est en mode notification, le travail qui lui est associé est notifié. Aucune réponse par défaut n'est envoyée.
'réponse-message'
Entrez une chaîne de 32 caractères au plus (entre apostrophes si elle comporte des blancs ou des caractères spéciaux), constituant la réponse que vous souhaitez donner au message d'interrogation. Si cette réponse n'est pas valide pour le message d'interrogation, l'interrogation est envoyée comme si RPY(*RQD) avait été spécifié.

Clicher le travail émetteur (DUMP)

Indique si le travail à l'origine du message d'interrogation doit être imprimé (cliché) en cas de correspondance entre le message d'interrogation et l'un des postes de la liste de réponse. Le cliché est le même que le cliché spécifié par DMPLST(*JOB) dans la commande ADDMSGD (Ajouter une description de message) ou par OUTPUT(*PRINT) dans la commande DSPJOB (Afficher un travail) pour le travail émetteur. Un cliché du travail peut être demandé quelle que soit la valeur indiquée pour le paramètre RPY.

*SAME
L'attribut de cliché du poste de la liste de réponse reste inchangé.
*NO
Le travail n'est pas cliché.
*YES
Le travail est cliché avant que le contrôle soit rendu au programme à l'origine de l'envoi du message.

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

Indique l'ID codé de jeu de caractères (CCSID) de la partie de type *CCHAR du CMPDTA.

Lorsqu'un message d'interrogation est envoyé à un travail utilisant la liste de réponse système, le CCSID des données de comparaison *CCHAR est converti de celui qui est indiqué dans la fonction d'envoi au paramètre CMPDTA stocké dans la liste de réponse. Cette opération précède la comparaison des données.

Les autres données de comparaison ne sont pas converties avant comparaison. 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/.

Remarque :Si vous indiquez un CCSID autre que *HEX, tous les CMPDTA indiqués sont convertis de ce CCSID vers le CCSID du travail avant d'être affichés dans l'écran Postes de liste de réponse. Ceci se produit même lorsque tous les CMPDTA ne correspondent pas aux données *CCHAR. C'est pourquoi, avec un CCSID autre que *HEX, il n'est pas conseillé d'indiquer la longueur de la zone de données *CCHAR ou de toute autre zone.

*SAME
Le CCSID associé au paramètre CMPDTA n'est pas modifié. Si vous modifiez CMPDTA, la partie de type *CCHAR du CMPDTA est supposée être dans le même CCSID que la partie remplacée.
*JOB
Si le CMPDTA est en cours de modification, le système considère que la partie de type *CCHAR du CMPDTA est dans le même CCSID que le travail exécutant cette commande. Si le CMPDTA n'est pas modifié, le CCSID qui lui est associé reste inchangé.
*HEX
Le CCSID associé au CMPDTA prend la valeur 65535. Aucune conversion n'est effectuée avant comparaison des données de remplacement et de CMPDTA.
ID-codé-jeu-caractères
Le système considère que le CCSID associé au CMPDTA a la valeur indiquée.

Exemples

Exemple 1 : Modification de l'identificateur de message

CHGRPYLE   SEQNBR(20)  MSGID(RPG1299)

Cette commande modifie l'identificateur du poste de liste de réponses (numéro de séquence 20) en RPG1299. Dès qu'un message d'interrogation RPG1299 est envoyé par un travail qui utilise la liste de réponses, l'opération spécifiée pour le poste 20 est mise en oeuvre.

Exemple 2 : Modification des données de comparaison

CHGRPYLE   SEQNBR(25)  CMPDTA(MYPROGRAM)

Cette commande modifie les données de comparaison du poste de la liste de réponses correspondant au numéro de séquence 25 en MYPROGRAM. Ce poste correspond uniquement aux messages d'interrogation dont les données de message commencent par MYPROGRAM. Par exemple, si cette entrée est destinée aux messages RPG1200, elle est utilisée uniquement lorsque le programme RPG ayant envoyé le message a des données de message nommées MYPROGRAM.

Exemple 3 : Modification de la réponse envoyée

CHGRPYLE   SEQNBR(30)  RPY(C)

Cette commande modifie en C la réponse envoyée pour le poste de liste de réponses dont le numéro de séquence est 30. Dès qu'un message d'interrogation correspondant à l'identificateur de message et les données de comparaison déjà définis pour ce poste est envoyé par un travail qui utilise la liste de réponses, la réponse C est envoyée automatiquement.

Exemple 4: Impression du contenu du travail

CHGRPYLE   SEQNBR(40)  DUMP(*YES)

Cette commande modifie les attributs définis dans le paramètre DUMP pour le poste de liste de réponses correspondant au numéro de séquence 40. Dès que ce poste correspond à un message d'interrogation, le travail émetteur est cliché avant que le contrôle soit rendu au programme émetteur.

Exemple 5: Envoi d'une réponse manuelle

CHGRPYLE   SEQNBR(45)  MSGID(CPA5300)  CMPDTA(*NONE)
           RPY(*RQD)  DUMP(*NO)

Cette commande modifie certains attributs du poste de la liste de réponses dont le numéro de séquence est 45. Dès qu'un message d'interrogation CPA53xx est envoyé par un travail qui utilise la liste de réponses, une réponse manuelle doit être envoyée. Si la file d'attente de messages à laquelle l'interrogation est envoyée est en mode interruption, le message interrompt le travail. Le travail émetteur n'est pas cliché.

Exemple 6: Envoi d'une réponse automatique

CHGRPYLE   SEQNBR(9999)  MSGID(CPA3917)  RPY(R)

Cette commande modifie le poste de la liste de réponses correspondant au numéro de séquence 9999. Dès qu'un message d'interrogation CPA3917 est envoyé par un travail utilisant la liste de réponses, la réponse R est envoyée automatiquement. L'interrogation n'est pas envoyée en mode interruption dans la file d'attente de messages et il n'est pas possible de répondre manuellement au message.

Messages d'erreur

Messages *ESCAPE

CPF2435
Liste de réponse système non trouvée.
CPF2436
Poste de liste de réponse système non ajouté ou non modifié.
CPF247E
Le CCSID &1 est incorrect.
CPF2499
L'identificateur de message &1 n'est pas valide.
CPF2556
Numéro de séquence &1 non défini dans la liste des réponses système.
CPF2557
Liste de réponses système endommagée.
CPF2558
Liste de réponse système en cours d'utilisation.

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