Exemples de code d'erreur

Ces exemples décrivent les erreurs et les codes d'erreur qui en résultent.

Certaines zones de longueur sont omises dans les exemples lorsqu'elles ne sont pas nécessaires à l'exemple. Les commentaires et les listes d'options affichés sur plusieurs lignes sont contigus, car ils sont dans le stockage de travail d'une application.

Paragraphes:

Code d'erreur (0002)

Ce code indique qu'un mot clé non valide a été détecté dans les options d'appel. Le code d'erreur (0002) indique que l'analyse de mot clé effectuée est associée à des mots clés valides pour l'appel. Par exemple :
  CALL = SETO
                      01
  OPTIONS LIST = PRTO=04DEST(018),CLASS(A),TXTU=SET1
 
  FEEDBACK = TXTU(0002)
 
  STATUS CODE = AR
 

Dans cet exemple, la liste d'options contient les mots clés PRTO et TXTU. Le mot clé TXTU n'est pas valide pour l'appel SETO.

Un autre exemple de code d'erreur (0002) dans le commentaire est créé lorsque la zone de longueur représentant les options PRTO est spécifiée comme étant plus courte que la longueur réelle des options. Par exemple :
  CALL = CHNG
                               01
  OPTIONS LIST = IAFP=N0M,PRTO=0FDEST(018),LINECT(200),CLASS(A),
                                 COPIES(80),FORMS(ANS)
 
  FEEDBACK = COPIES(0002),FORMS(0002)
 
  STATUS CODE = AR

Dans cet exemple, la zone de longueur des options PRTO (001F) est trop courte pour contenir toutes les options. Par conséquent, IMS trouve les mots clés COPIES et FORMS hors de la zone de liste d'options PRTO et indique que ces mots clés ne sont pas autorisés comme mots clés sur l'appel CHNG.

Code d'erreur (0004)

Ce code d'erreur indique qu'une variable d'option qui suit un mot clé dans la liste d'options de l'CALL n'est pas dans les limites de longueur de l'option. Le mot clé OUTN est un exemple de ce type d'erreur. Le nom de l'instruction JCL OUTPUT doit être de 1 à 8 caractères. Par exemple :
  CALL = CHNG
 
  OPTIONS LIST = IAFP=N0M,OUTN=OUTPUTDD1
 
  FEEDBACK = OUTN(0004)
 
  STATUS CODE = AR

L'opérande du mot clé OUTN est de 9 octets et dépasse la valeur maximale.

Code d'erreur (0006)

Cette erreur se produit lorsque IMS analyse les mots clés valides associés à l'appel et rencontre le mot clé PRTO. Lors de l'interrogation de la zone de longueur associée au mot clé PRTO, IMS reconnaît que la longueur totale de la liste d'options de l'appel est trop courte pour contenir tous les opérandes du mot clé PRTO. Par exemple :
  CALL = CHNG
                 0400              05
  OPTIONS LIST = 0800IAFP=N0M,PRTO=0ADEST(018),LINECT(200),CLASS(A),
                                   COPIES(3),FORMS(ANS)
 
  FEEDBACK = PRTO(0006),LINECT(0002),CLASS(0002),COPIES(0002),
                        FORMS(0002)
 
  STATUS CODE = AR

Cet exemple fournit une liste d'options qui est hexadécimale, 48 (décimal 72) octets et la longueur correcte de la liste d'options. La zone de longueur du mot clé PRTO indique de manière incorrecte une longueur de 5Ahexadécimal. La longueur des options PRTO dépasse la longueur de la liste des options entières, de sorte que le mot clé PRTO est ignoré et que le reste de la liste d'options est analysé pour les mots clés valides. La zone de retour d'informations contient le PRTO (0006) car nous nous attendons à indiquer une erreur de longueur pour ce mot clé, mais nous constatons également que les mots clés PRTO sont en erreur (0002). En effet, les mots clés au-delà du premier mot clé PRTO, jusqu'à la longueur spécifiée dans la zone de longueur de la liste des options, ont été analysés à la recherche de mots clés valides pour l'appel. Le code de statut de l'EI nous indique que les mots clés sont considérés comme non valides pour l'appel et non pour le mot clé PRTO.

Code d'erreur (0008)

Cette erreur est renvoyée lorsque IMS détecte que l'une des options du mot clé IAFP n'a pas été spécifiée correctement. Par exemple :
  CALL = CHNG
                               00
  OPTIONS LIST = IAFP=N0Z,PRTO=0BDEST(018)
 
  FEEDBACK = IAFP(0008) INVALID VARIABLE
 
  STATUS CODE = AR

L'option de message du mot clé IAFP a été spécifiée de manière incorrecte en tant que'Z'. Il en résulte le code d'erreur (0008).

Code d'erreur (000A)

Cette erreur indique que tous les mots clés nécessaires n'ont pas été spécifiés pour cet appel. Par exemple :
  CALL = CHNG
 
  OPTIONS LIST = TXTU=SET1
 
  FEEDBACK = TXTU(000A)
 
  STATUS CODE = AR

Pour cet appel, un mot clé valide de TXTU a été spécifié, mais l'appel nécessite également que le mot clé IAFP soit spécifié si le mot clé TXTU est utilisé. Etant donné que le mot clé IAFP est manquant, le code d'erreur (000A) est renvoyé lorsque le mot clé TXTU est trouvé.

Code d'erreur (000C)

Le code d'erreur fait état d'une condition dans laquelle un ensemble de mots clés mutuellement exclusifs est utilisé dans la même liste d'options d'appel. Un indice de l'incident associé aux options d'appel et non aux options PRTO est fourni par l'émission du code de statut AR et non du code de statut COMME. Par exemple :
  CALL = CHNG
                               00
  OPTIONS LIST = IAFP=A00,PRTO=0BCOPIES(3),TXTU=SET1
 
  FEEDBACK = TXTU(000C)
 
  STATUS CODE = AR

Dans ce cas, la liste des options d'appel contient à la fois les mots clés de PRTO et de TXTU. Ces options s'excluent mutuellement et ne peuvent pas être utilisées dans la même liste d'appels d'options. Le résultat est le code d'erreur (000C) renvoyé avec le code d'état AR.

Code d'erreur (000E)

Ce code d'erreur indique que lors de l'analyse syntaxique des descripteurs de fichier d'impression réels, une erreur a été détectée avec un ou plusieurs opérandes. Dans la plupart des cas, IMS ne vérifie pas ces descripteurs d'impression. A la place, IMS utilise les services z/OS® (SJF) pour valider les descripteurs d'impression. Lorsque SJF est appelé, la validation demandée est la même que pour la commande TSO OUTDES. Pour cette raison, IMS est insensible aux modifications des descripteurs de sortie et les descripteurs valides pour votre système sont une fonction du niveau d'édition z/OS .

Vous pouvez obtenir une liste des descripteurs valides et la syntaxe appropriée à l'aide de la commande TSO HELP OUTDES.

IMS doit d'abord établir que le format des options PRTO est dans un format tel que les services SJF peuvent être demandés. Si ce n'est pas le cas, IMS renvoie le code d'état COMME et le code d'erreur (000E) et un message d'erreur descriptif. Si l'erreur a été détectée lors du processus SJF, le message d'erreur de SJF inclut des informations sur le formulaire (R.C. =xxxx, REAS. = yyyyyyyy) et un message d'erreur indiquant l'erreur. Les codes de retour et la raison sont précisés dans le document z/OS MVS Programming : Authorized Assembler Services Reference Vol 1.

La plage de certaines variables est contrôlée par les paramètres d'initialisation JES. Les valeurs pour le nombre maximal de copies, les destinations éloignées autorisées, les classes et les noms de formulaire sont des exemples de variables influences par les paramètres d'initialisation JES.

Les exemples suivants montrent des erreurs d'analyse syntaxique et les messages d'erreur qui en résultent:
  CALL = CHNG
                               01
  OPTIONS LIST = IAFP=A00,PRTO=0BCOPIES((3),(8,RG,18,80))
 
  FEEDBACK = PRTO(000E) (R.C.=0004,REAS.=00000204) COPIES/RG VALUE
                        MUST BE NUMERIC CHARACTERS
  STATUS CODE = AS
Dans cet exemple, le paramètre COPIES a la valeur incorrecte'RG'spécifiée comme l'un de ses opérandes. Le message d'erreur indique que les valeurs de ces opérandes doivent être numériques.
  CALL = CHNG
                               00
  OPTIONS LIST = IAFP=A00,PRTO=0AXYZ(018)
 
  FEEDBACK = PRTO(000E) (R.C.=0004,REAS.=000000D0) XYZ
 
  STATUS CODE = AS

Cet exemple inclut un opérande PRTO non valide. Le code de motif X'000000D0' qui en résulte indique que l'opérande indiqué (XYZ) n'est pas valide.