Codes anomalie et codes achèvement de l'API

Pour chaque appel, un code achèvement et un code raison sont renvoyés par le gestionnaire de files d'attente ou par une routine d'exit, pour indiquer la réussite ou l'échec de l'appel.

Pour plus d'informations sur l'API IBM® MQ , voir Développement d'applicationset les informations de référence dans la rubrique Développement d'informations de référence sur les applications.

Codes achèvement d'API

Voici la liste des codes achèvement (MQCC) renvoyés par IBM MQ
0: Réussite (MQCC_OK)

L'appel a abouti ; tous les paramètres de sortie ont été définis.

Le paramètre Reason a toujours la valeur MQRC_NONE dans ce cas.

1: Avertissement (achèvement partiel) (MQCC_WARNING)

L'appel s'est terminé partiellement. Certains paramètres de sortie peuvent avoir été définis en plus des paramètres de sortie CompCode et Reason .

Le paramètre Reason fournit des informations supplémentaires.

2: Echec de l'appel (MQCC_FAILED)

Le traitement de l'appel n'a pas abouti et l'état du gestionnaire de files d'attente est normalement inchangé ; des exceptions sont spécifiquement notées. Seuls les paramètres de sortie CompCode et Reason ont été définis ; tous les autres paramètres sont inchangés.

Il peut s'agir d'une erreur dans le programme d'application ou d'une situation externe au programme. Par exemple, les droits de l'application peuvent avoir été révoqués. Le paramètre Reason fournit des informations supplémentaires.

Codes anomalie de l'API

Le paramètre de code anomalie (Reason) est une qualification au paramètre de code achèvement (CompCode).

S'il n'y a pas de raison particulière à signaler, MQRC_NONE est renvoyé. Un appel réussi renvoie MQCC_OK et MQRC_NONE.

Si le code achèvement est MQCC_WARNING ou MQCC_FAILED, le gestionnaire de files d'attente indique toujours une raison de qualification ; des détails sont fournis sous chaque description d'appel.

Lorsque des routines d'exit utilisateur définissent des codes achèvement et des raisons, elles doivent respecter ces règles. En outre, les valeurs de raison spéciale définies par les exits utilisateur doivent être inférieures à zéro, afin de garantir qu'elles n'entrent pas en conflit avec les valeurs définies par le gestionnaire de files d'attente. Les exits peuvent définir des raisons déjà définies par le gestionnaire de files d'attente, lorsqu'elles sont appropriées.

Les codes anomalie apparaissent également dans:
  • Zone Reason de la structure MQDLH
  • Zone Feedback de la structure MQMD

À partir de IBM MQ 9.1.0, lorsque plusieurs tentatives de connexion client sont effectuées, par exemple avec un canal dont le nom de connexion est séparé par des virgules, et que la séquence de connexion échoue, les codes de motif autres que MQRC_HOST_NOT_AVAILABLE et MQRC_STANDBY_Q_MGR sont prioritaires lorsqu'ils sont renvoyés à une application. Dans les versions précédentes du produit, le dernier code anomalie rencontré dans la séquence de connexion est toujours renvoyé, ce qui peut entraîner des erreurs de configuration telles que MQRC_NOT_AUTHORIZED rencontrées précédemment lors de la tentative de connexion pour ne pas être renvoyée à l'application.

Chaque code anomalie dans son intégralité est pris en charge sur toutes les plateformes prises en charge par IBM MQ , sauf dans les cas suivants:
  • Représente une ou plusieurs icônes de plateforme en haut d'un code anomalie, auquel cas ce code anomalie s'applique uniquement aux plateformes affichées.
  • Icône de plateforme affichée en regard d'une instruction spécifique, auquel cas cette instruction s'applique uniquement à cette plateforme.
Voir icônes de plateforme pour une description des icônes.
Les rubriques enfant sont un ensemble de codes anomalie, par ordre numérique, fournissant des informations détaillées pour vous aider à les comprendre, notamment:
  • une explication des circonstances à l'origine du code
  • le code achèvement associé
  • actions de programmeur suggérées en réponse au code