Tous les articles par Mr COBOL

S0C8

Explications du S0C8:

ERREUR DE DEPASSEMENT CAPACITE EN BINAIRE

Cette erreur se produit au cours des instructions d’addition, soustraction au décalage lorsqu’il y a report, après calcul, sur le chiffre d’extrême gauche, ou perte de chiffres significatifs.

Erreur de dépassement de capacité en binaire.

Cerreur peut se produire au cours d’une instruction d’addition, de soustraction, de décalage de contrôle de signe sur une zone en binaire peut être masqué : (bit 36 du PSW).

Solutions:

S0C7

Explications du S0C7:

ERREUR DE DONNEES

Une donnée ne correspond pas à la définition du PGM.

Cette erreur se produit au cours d’une opération décimale arithmétique, logique, conversion binaire ou édition.

Solutions:

  • Corriger programme
  • Penser à initialiser les données de la WORKING

ATTENTION : COBOL II ne fait pas forcément S0C7 lorsque les données ne sont pas numériques.

A ces yeux, elles peuvent l’être et donc il poursuit le programme -> les tests unitaires doivent être plus poussés

Autres informations:

Erreur sur opération arithmétique.

Erreur de données programme. Zone non numérique.

L’instruction peut être une opération décimale, une conversion binaire ou une édition porte sur une zone qui n’est pas numérique. Erreur de donnée (signe incorrecte, chevauchement de zones, décalage, alpha dans numérique, etc…)

S0C6

Explications du S0C6:

Cela peut être une inversion de SYS mais en général, c’est une ERREUR PROGRAMME.

L’instruction porte sur un demi mot, mot ou mot double et l’adresse donnée ne correspond pas à une de ces frontières.

Cause:

Erreur de compilation.

En cobol : STOP RUN avant fermeture des fichiers.

Erreur de spécification (alignement numéro de registre virgule flottante erronée décimale > 15 etc…).

Pour information :

ERREUR DE SPECIFICATION

  • Lecture après close.
  • Call du nom de programme principal au lieu de call du nom d’un des modules du PGM principal
  • Une instruction porte sur un demi-mot, mot ou double mot et l’adresse donnée ne correspond pas à une frontière de demi-mot, de mot ou de double mot.

Exemple:

Un fichier contient du binaire et la longueur de l’article n’est pas un multiple de 2 ou 4, etc.

Solutions:

S0C5

Explications du S0C5:

Cela peut être une carte DD manquante, mais en général c’est une ERREUR PROGRAMME.

Pour information :

ERREUR D’ADRESSAGE

  • Table qui déborde de zone.
  • Utilisation d’une zone de lecture avant 1ère lecture.
  • Lecture sur fichier en écriture.
  • Close pour fichier déjà fermé.
  • Erreur de longueur sur une zone de liaison.
  • Cancer au moment du return, dans le cas de mauvaise utilisation de fichier à organisation disque.
  • EXHIBIT, zone en computational 3 non initialisée.

(suivant l’état de la mémoire, la même erreur peut provoquer, soit un S0C4, soit un S0C5)

Solutions:

Autres informations:

Erreur d’adressage. L’adresse spécifiée se trouve supérieure à la capacité de la mémoire (mouvement vers une zone d’un fichier non ouvert). Peut aussi provoquer un S0C4.

Erreur adressage: l’adresse spécifiée est supérieure à la capacité de la mémoire.

Cause:

  1. mouvement vers une zone d’un fichier non ouvert
  2. indice d’une table non initialisé ou égal à zéro

Note:

La même erreur peut provoquer S0C4 ou S0C5

S0C4

Explications S0C4 :

INTERRUPTION PROGRAMME DE TYPE “PROTECTION EXCEPTION”

Erreur de traduction d’adresse virtuelle (segment-translation ou page-translation exception) faute de page alors qu’on est non interruptible

ou plus souvent tentative de violation de la protection mémoire : accès à une zone mémoire protégée ou adresse incorrecte

Solutions:

  • Dépassement de capacité de table
  • Longueur erroné de la zone de communication avec un sous-programme ou nombre de zone erronée
  • Fichier variable mal défini
  • Erreur BLKSIZE
  • Carte DD SGESUIVI absente pour SGE

Autres informations:

Translation d’une adresse virtuelle en adresse réelle impossible.

Erreur de protection sur fichier ou programme. La clé de protection est en disparité avec le contenu de la zone de protection du PSW et l’instruction a pour action de modifier la mémoire (écrasement de mémoire).

Clé de protection de l’instruction différente de celle du PSW.

Cause:

  1. débordement d’indice
  2. 2 closes sur un même fichier
  3. DCB invalide
  4. opérations sur un fichier fermé

S0C3

Explications du S0C3:

ERREUR PROGRAMME

(Instruction exécutée sur un autre exécute).

Au niveau d’une instruction exécutée, on tente d‘en exécuter une autre.

Solutions:

S0C1

Explications du S0C1:

ERREUR D’OPERATION

Cette erreur peut se produire lorsque un DDNAME est absent ou erroné.

Autres motifs pour information :

  • Programme écrasé.
  • Mauvaise adresse de débranchement.
  • Demande de lecture ou écriture sur un fichier non ouvert.
  • Mauvais emploi de la clause ACCEPT.
  • Ouverture d’un fichier ayant une clause SELECT erronée

Solutions:

Vérifier le JCL et relancer le JOB.

Si le S0C1 s’est produit dans un step de TRI/FUSION, le SOC1 remplaçant le USER16, prendre la brochure SORT/MERGE

Autres informations:

Code opération invalide.

Le code opération n’existe pas ou correspond à une opération invalide :

  • lecture ou écriture d’un fichier non ouvert
  • carte //SYSOUT absente ou carte DD erronée ou absente
  • programme écrasé ou mauvaise adresse de débranchement -> recompiler

Causes:

  1. programme écrasé.
  2. mauvaise adresse de branchement.

Erreurs fréquentes:

  • lecture ou écriture d’un fichier non ouvert
  • le registre 1 contient alors l’adresse du DCB incriminé
  • le registre 14 celle de l’instruction suivante
  • instruction écrasées par un mouvement de zone indicées avec un indice incorrecte
  • carte DD absente (SYSPRINT pour display en télétraitement