Aller au contenu

ADDRPYLE

Ajouter poste liste de réponse

En bref

La commande ADDRPYLE (Ajouter poste liste de réponse) permet d'ajouter un poste à la liste système de réponse automatique aux messages d'interrogation.

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

Syntaxe minimale

ADDRPYLE 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 ADDRPYLE 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 ADDRPYLE (Ajouter poste liste de réponse) permet d'ajouter un poste à la liste système de réponse automatique aux messages d'interrogation. C'est de cette liste que proviennent les réponses par défaut aux messages d'interrogation. Chaque poste de la liste indique un code d'identification et la réponse envoyée lorsque ce message est émis comme message d'interrogation. Le poste peut également inclure des données de comparaison qui complètent les informations du code d'identification. Ce dernier peut être spécifique ou générique. Lorsqu'un des messages d'interrogation spécifiques est émis, l'une des actions suivantes est possible :

  • La réponse par défaut spécifiée dans le message d'interrogation par défaut est envoyée à la file d'attente de réponse spécifiée lors de l'envoi du message.
  • Une réponse spécifique au message d'interrogation est envoyée à la file d'attente de réponse spécifiée lors de l'envoi du message.
  • Une réponse manuelle peut être demandée à l'opérateur.

Le poste peut également spécifier le clichage d'informations associées au travail émetteur du message d'interrogation.

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

Des attributs spécifiques d'une liste de réponse peuvent être modifiés à l'aide de la commande CHGRPYLE (Modifier poste liste réponse). Les postes demeurent dans la liste jusqu'à ce qu'ils en soient retirés à l'aide de la commande RMVRPYLE (Enlever poste liste de réponse). Cette liste peut être visualisée à l'aide de la commande WRKRPYLE (Gérer postes liste de réponse).

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, *ANY Facultatif
CMPDTA Données de comparaison Liste d'éléments Facultatif
Élément 1: Donnée de comparaison Valeur caractère, *NONE
Élément 2: Position début données msg 1-999, *NONE
RPY Réponse au message Valeur caractère, *DFT, *RQD Facultatif
DUMP Clicher le travail émetteur *NO, *YES Facultatif
CCSID ID codé de jeu de caractères 1-65535, *HEX, *JOB Facultatif

Numéro de séquence (SEQNBR)

Indique le numéro de séquence du poste ajouté à la liste de réponse. 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 automatique, excepté si une réponse par défaut doit être envoyée, et les informations associées au travail ne sont pas clichées. Une réponse par défaut est envoyée lorsque la valeur *DFT est sélectionnée pour le mode de réception de la file d'attente de messages ou bien lorsque le message d'interrogation est dirigé vers une file d'attente de messages externe dans le cadre d'un travail par lots.

Les numéros de séquence vont de 0001 à 9999. Les doublons ne sont pas admis.

Ce paramètre est obligatoire.

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.

*ANY
Ce poste de la liste de réponse correspond à tout identificateur de message. Excepté si des données de comparaison sont spécifiées pour ce poste, tout poste dont le numéro de séquence est supérieur est ignoré.
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 numériques) ; 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 ici 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. Si, dans cette liste, 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

*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 la partie données du message d'interrogation, la comparaison s'effectuant à 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

*NONE
Aucune valeur de position de départ n'est indiquée. Si des données de comparaison sont indiquées pour l'élément 1 de ce paramètre, la valeur de départ par défaut est 1.
début-données-message
Entrez une valeur (999 au maximum) représentant la position du premier caractère du texte de remplacement du message à partir duquel s'effectuera la comparaison. 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 pour le paramètre CMPDTA correspondant à la zone de type *CCHAR est dans le même CCSID que le travail exécutant cette commande, sauf si le paramètre CCSID est codé. Si le paramètre CCSID est codé, le système considère que le texte a pour CCSID celui indiqué. Pour plus d'informations 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 (autre que *RQD) est automatiquement envoyée sans qu'aucune intervention ne soit nécessaire de la part de l'utilisateur. L'arrivée d'un message d'interrogation en file d'attente n'entraîne ni interruption du travail ni signal d'avertissement.

*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. 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. Si la file d'attente est en mode suspension, le message reste dans cette file jusqu'à son retrait.
'réponse-message'
Entrez une chaîne de 32 caractères maximum (entre apostrophes si elle comporte des blancs ou des caractères spéciaux) ; cette chaîne constitue la réponse 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 cliché. 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.

*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) dans lequel est censé figurer le texte associé au paramètre CMPDTA correspondant à la zone de type *CCHAR.

Lorsqu'un message d'interrogation est envoyé dans un travail qui utilise la liste de réponse système, les données de remplacement *CCHAR sont converties dans le CCSID des données de comparaison qui sont stockées dans la liste de réponse système avant le lancement de la comparaison.

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.

*HEX
Le paramètre CMPDTA correspondant à la zone de type de données *CCHAR est supposé avoir pour CCSID 65535. Aucune conversion n'est effectuée avant comparaison des données de remplacement et de CMPDTA.
*JOB
Le système considère que le CMPDTA correspondant à la zone de type *CCHAR a pour CCSID celui du travail appelant cette commande.
ID-codé-de-jeu-de-caractères
Indiquez le CCSID dans lequel est censé figurer le CMPDTA correspondant à la zone de type *CCHAR.

Exemples

Exemple 1 : Réponse envoyée automatiquement

ADDRPYLE   SEQNBR(10)  MSGID(RPG1241)  RPY(G)

Cette commande ajoute un poste à la liste de réponse pour l'identificateur de message RPG1241 (enregistrement de base de données non trouvé). Dès qu'un message d'interrogation RPG1241 est envoyé par un travail qui utilise la liste de réponses, la réponse G est envoyée automatiquement. L'interrogation ne provoque pas d'interruption ou de notification pour un travail qui a alloué la file d'attente de messages lorsque l'interrogation arrive, et il est impossible de répondre au message. Aucun cliché n'est effectué sur le travail émetteur.

Exemple 2 : La réponse par défaut est envoyée ; Cliché du travail effectué

ADDRPYLE   SEQNBR(25)  MSGID(RPG1200)  RPY(*DFT)  DUMP(*YES)

Cette commande ajoute un poste de liste de réponse générique à la liste de réponses pour tous les messages RPG12xx. Dès qu'un message d'interrogation RPG12xx est envoyé par un travail qui utilise la liste de réponses, la réponse DSPJOB OUTPUT (*PRINT) est envoyée automatiquement au clavier-écran. La réponse par défaut est envoyée automatiquement. Il s'agit soit de la réponse par défaut indiquée dans la description du message ou (si aucune description de message n'est indiquée), de la réponse par défaut du système. L'interrogation ne provoque pas d'interruption ou de notification pour un travail qui a alloué la file d'attente de messages lorsque l'interrogation arrive, et il est impossible de répondre au message. Le travail est cliché avant que le contrôle soit rendu au programme à l'origine de l'envoi du message. Important : du fait des numéros de séquence, le poste ajouté dans l'exemple qui précède se substitue à ce poste pour l'identificateur de message RPG1241.

Exemple 3 : Ajout d'un poste de liste de réponses génériques

ADDRPYLE   SEQNBR(30)  MSGID(RPG0000)  RPY(D)  DUMP(*YES)

Cette commande ajoute un poste de liste de réponses génériques à la liste de réponses de tous les messages RPG. Dès qu'un message d'interrogation RPG est envoyé par un travail qui utilise la liste de réponses, la réponse D est envoyée automatiquement. L'interrogation ne provoque pas d'interruption ou de notification pour un travail qui a alloué la file d'attente de messages lorsque l'interrogation arrive, et il est impossible de répondre au message. (Si la valeur D n'est pas admise pour un message RPGxxxx en particulier, l'utilisateur doit répondre comme si *RQD était précisé pour le paramètre RPY.) Le travail est cliché avant que le contrôle soit rendu au programme à l'origine de l'envoi du message. Important : les postes ajoutés dans les deux exemples qui précèdent vont se substituer à cette entrée pour tous les messages RPG12xx.

Exemple 4: Liste de réponses système pour une sortie spoule

ADDRPYLE   SEQNBR(40)  MSGID(CPA5316)
           CMPDTA('QPSPLPRT  QSYS      QSYSPRT')  RPY(*RQD)

Cette commande est une illustration de l'utilisation de la liste de réponses système de la sortie spoule de l'unité QSYSPRT. Le nom du fichier et de bibliothèque pour la sortie spoule est QSYS/QPSPLPRT.

Lorsqu'une valeur de comparaison est précisée, elle est comparée aux données du message commençant par la variable de substitution &1. Si la zone significative apparaît dans la variable de substitution &3, la valeur de comparaison doit inclure une valeur pour les variables de substitution &1 et &2. Sinon, une valeur d'origine de données de message peut être entrée pour entamer la comparaison avec la variable de substitution &3.

Pour le message CPA5316, les données de substitution sont les suivantes :

&1        nom du fichier       &CHAR  10
&2        nom de la bibliothèque ODP &CHAR  10
&3        ODP nom de l'unité      &CHAR  10

Un nom d'unité de comparaison 'QSYSPRT' dans la variable de substitution &3 doit être précédé de valeurs pour &1 et &2 si aucune valeur d'origine de données de message n'est entrée. Les blancs sont significatifs.

Les données de message de QSYSPRT sont le nom de DEVICE tel qu'il est défini dans le message CPA5316. Dès qu'un message d'interrogation CPA5316 avec données de comparaison de QSYSPRT est envoyé par un travail qui utilise la liste de réponses, l'opérateur doit envoyer une réponse manuelle à l'interrogation. Si la file d'attente de messages à laquelle est envoyée l'interrogation se trouve en mode interruption, le message d'interrogation interrompt l'opération en cours. Aucune réponse n'est envoyée (à moins que la file d'attente ne se trouve en mode défaut ou que le message ne soit envoyé à une file d'attente de messages externe dans un travail par lots) et aucun cliché du travail n'est effectué.

Un autre poste de liste de réponses identique à celui qui est indiqué ci-dessus peut être ajouté, mais avec un autre numéro de séquence et CMPDTA(WSPR01) défini. Ceci permet une réponse unique à un message en fonction du type de l'imprimante.

Exemple 5: Ajout d'un poste de liste de réponses pour n'importe quel identificateur de message

ADDRPYLE   SEQNBR(9999)  MSGID(*ANY)  RPY(*RQD)  DUMP(*YES)

Cette commande ajoute un poste à la liste de réponses de n'importe quel identificateur de message. Ce poste s'applique à n'importe quel message d'interrogation prédéfini qui ne correspond pas à un poste de numéro de séquence inférieur. Une réponse manuelle au message d'interrogation est nécessaire pour tout message d'interrogation prédéfini auquel ne correspond aucun poste existant. Si la file d'attente de messages à laquelle est envoyé le message se trouve en mode interruption, le message d'interrogation interrompt l'opération en cours. Le travail ayant envoyé le message d'interrogation est cliché (équivalent à DSPJOB OUTPUT(*PRINT)).

Exemple 6: Utilisation de données de comparaison

ADDRPYLE   SEQNBR(5) MSGID(CPA5316) CMPDTA(QSYSPRT 21)
           RPY(I) DUMP(*NO)

Supposons que le message CPA5316 soit envoyé à QSYSOPR avec le texte de substitution de TESTEDFILETSTLIBRARYQSYSPRT ; étant donné qu'il existe une correspondance pour MSGID, le texte de substitution de message commençant à la position 21 (début des données du message) est comparé avec les données de comparaison (sur la longueur de ces dernières). Une correspondance est trouvée parce que QSYSPRT = QSYSPRT, et par conséquent la réponse 'I' est envoyée.

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.
CPF2555
Numéro de séquence &1 déjà défini dans la liste de réponse 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.