Project Oxygen & Ideo-LabIDEO LAB Dashboard 2026

ABEND Intelligence V2 – DĂ©codeur ABEND / RC / Reason Code pour MVS / zOS

Objectif du guide

Installer, tester et exploiter abend_intelligence_v2.py, un utilitaire autonome qui décode les ABEND, return codes, condition codes, reason codes et messages systÚme depuis une ligne de commande ou un fichier JOBLOG / SYSOUT.

TĂ©lĂ©charger l’utilitaire ABEND Intelligence V2

Le bouton principal pointe explicitement vers /static/toolbox/abend_intelligence_v2.py. DĂ©pose ce script dans static/toolbox/ pour l’exposer depuis IDEO-Lab.

ABEND Intelligence V2 est une brique complémentaire du JobLog Doctor : elle se concentre sur le décodage profond des codes de fin anormale, des return codes et des messages de contexte. Elle peut fonctionner en mode direct, par exemple S0C7 SB37 S913 U4038 RC=8 MAXCC=16, ou analyser un fichier complet pour extraire automatiquement les signaux.

Decode
Décodage direct de codes ABEND, user ABEND, return codes, MAXCC/LASTCC et reason codes.
Analyze
Analyse de fichiers JOBLOG/SYSOUT avec timeline, contexte avant/aprĂšs et root-cause candidates.
Export
Production HTML, JSON, CSV findings, CSV timeline, catalogue ABEND exportable.

Ce que le moteur analyse

DomaineSignaux analysésDiagnostic produit
System ABENDS0C7, S0C4, S806, S913, SB37, S878Cause probable, domaine technique, gravité, actions recommandées.
User ABENDU4038, U0999, codes applicatifs, Language EnvironmentContexte runtime, message CEE, cause applicative probable.
Return CodeRC=4, RC=8, RC=12, RC=16, MAXCC, LASTCCNiveau warning/error/critical selon seuils configurables.
Reason CodeREASON=, RSN=, valeurs hexadĂ©cimales et numĂ©riquesComplĂ©ment de diagnostic attachĂ© Ă  l’ABEND ou au message systĂšme.
Message familiesIEF, IEC, IGD, ICH, IRR, CEE, IDC, ICE, IEW, $HASPClassification technique : JCL, dataset, sécurité, runtime, compiler, JES.
SynthÚse incidentTimeline, evidence lines, context windows, score de risqueRésumé exploitable par production support, DBA, développeur COBOL ou équipe sécurité.
Positionnement : cet utilitaire est idĂ©al pour accĂ©lĂ©rer le diagnostic de codes ABEND, construire une base de connaissances mainframe, former des Ă©quipes, enrichir des tickets incidents et alimenter un futur portail d’exploitation.

Téléchargement des fichiers

Cette page fournit des liens explicites vers l’utilitaire Python, les samples, le catalogue ABEND et les rapports de dĂ©monstration. Pour IDEO-Lab, les fichiers doivent ĂȘtre placĂ©s sous /static/toolbox/.

Utilitaire principal

Script autonome Python, sans dépendance externe, utilisable en direct ou sur fichier input.

Sample S0C7

Data exception COBOL / champ numérique invalide / copybook mismatch.

Download S0C7 sample

Sample SB37

Dataset space problem, allocation failure, volume or SPACE issue.

Download SB37 sample

Sample S913

Security/RACF problem, access denied, protected dataset.

Download S913 sample

Sample mixed

S806, SORT/ICE, MAXCC et messages variés pour test plus large.

Download mixed sample

Catalogue JSON

Catalogue intégré des codes ABEND exportable et enrichissable.

Download catalog

Pack ZIP

Script, samples, exports, catalogue et rapports de démonstration.

Download ZIP

Arborescence static recommandée

static files
static/
  toolbox/
    abend_intelligence_v2.py
    abend_intelligence_v2_catalog.json
    abend_intelligence_v2_pack.zip
    sample_abend_v2_s0c7.txt
    sample_abend_v2_sb37.txt
    sample_abend_v2_s913.txt
    sample_abend_v2_mixed.txt
    abend_intelligence_v2_guide.html
ContrĂŽle visuel : les boutons de tĂ©lĂ©chargement doivent ĂȘtre visibles en haut de la page, dans l’onglet TĂ©lĂ©chargement, dans l’onglet Installation et dans la section Fichiers input.

Installation d’ABEND Intelligence V2

Le script est autonome et ne nĂ©cessite aucune base de donnĂ©es. Il suffit d’avoir Python disponible et un fichier texte reprĂ©sentant un JOBLOG, un SYSOUT, un JESYSMSG ou un sample synthĂ©tique.

1. Arborescence locale recommandée

Project tree
abend_lab/
  bin/
    abend_intelligence_v2.py
  input/
    sample_abend_v2_s0c7.txt
    sample_abend_v2_sb37.txt
    sample_abend_v2_s913.txt
    sample_abend_v2_mixed.txt
  output/
    reports/
    csv/
    json/
Lien direct du script Ă  installer

Ce bouton pointe explicitement vers /static/toolbox/abend_intelligence_v2.py.

2. Installation Linux / macOS

Linux / macOS setup
mkdir -p abend_lab/bin abend_lab/input abend_lab/output/reports abend_lab/output/csv abend_lab/output/json
cp abend_intelligence_v2.py abend_lab/bin/
cp sample_abend_v2_*.txt abend_lab/input/
cp abend_intelligence_v2_catalog.json abend_lab/input/
cd abend_lab
python3 bin/abend_intelligence_v2.py --demo s0c7

3. Installation Windows PowerShell

Windows PowerShell setup
New-Item -ItemType Directory -Force abend_lab\bin, abend_lab\input, abend_lab\output\reports, abend_lab\output\csv, abend_lab\output\json
Copy-Item .\abend_intelligence_v2.py .\abend_lab\bin\
Copy-Item .\sample_abend_v2_*.txt .\abend_lab\input\
Copy-Item .\abend_intelligence_v2_catalog.json .\abend_lab\input\
Set-Location .\abend_lab
python .\bin\abend_intelligence_v2.py --demo s0c7

4. Test de validation

Validation command
python bin/abend_intelligence_v2.py --input input/sample_abend_v2_s0c7.txt \
  --html output/reports/sample_s0c7_report.html \
  --json output/json/sample_s0c7_analysis.json \
  --csv-findings output/csv/sample_s0c7_findings.csv \
  --csv-timeline output/csv/sample_s0c7_timeline.csv
Résultat attendu : le sample S0C7 doit sortir une finding critique, un score de risque élevé, une root cause orientée données numériques COBOL et une recommandation de contrÎle du copybook / input file.

Fichiers input attendus

ABEND Intelligence V2 accepte deux types d’entrĂ©e : des codes passĂ©s directement en arguments, ou un fichier texte brut reprĂ©sentant un JOBLOG/JESYSMSG/SYSOUT/SYSPRINT/CEEDUMP partiel ou complet.

Utilitaire nécessaire pour analyser les inputs

TĂ©lĂ©charger d’abord le script Python, puis lancer l’analyse directe ou sur fichier texte.

1. Types de fichiers acceptés

SourceContenu typiqueUsage
JESYSMSGMessages IEF/IEC/ICH/IGD/CEE, RC, ABEND, reason codes.Source principale pour diagnostiquer la fin anormale.
JESMSGLGMessages JES/HASP de début/fin job, RC global.Contexte job, date, start/end, job status.
SYSOUT/SYSPRINTMessages applicatifs, compiler, utilities, SORT, IDCAMS.Compléter la root cause avec messages métier ou utility.
CEEDUMP/SYSABENDInformations runtime et dump Language Environment.Contexte avancé pour U4038, S0C7, S0C4.
Liste de codes directeS0C7 SB37 S913 U4038 RC=8 MAXCC=16Décodage rapide sans fichier.

2. Exemple minimal de fichier input

sample_abend_v2_s0c7.txt
IEF450I PAYROLL1 STEP030 PAYLOAD - ABEND=S0C7 U0000 REASON=00000000
CEE3207S The system detected a data exception.
PAYERR01E Invalid packed decimal field detected in PAYROLL.INPUT.G0007V00
IEF472I PAYROLL1 STEP030 - COMPLETION CODE - SYSTEM=S0C7 USER=0000 REASON=00000000
$HASP395 PAYROLL1 ENDED - RC=0012

3. Samples disponibles

S0C7 Data exception

ContrĂŽle numeric fields, copybook, packed decimal, feed applicatif.

Download

SB37 Space abend

ContrĂŽle SPACE, volumes, SMS, allocation et dataset full.

Download

S913 Security abend

ContrÎle RACF, permission dataset, accÚs refusé, profil sécurité.

Download

Mixed S806/SORT

ContrĂŽle load module, STEPLIB/JOBLIB, SORT RC/MAXCC et messages utility.

Download

RÚgle de sécurité : un vrai JOBLOG peut exposer datasets, users, programmes, jobnames, environnements, volumes et messages métier. Utiliser --redact avant de partager un rapport externe.

Utilisation quotidienne

1. Décodage direct de codes

Le mode le plus rapide consiste à passer les codes directement à l’outil.

Direct decode
python abend_intelligence_v2.py S0C7 SB37 S913 U4038 RC=8 MAXCC=16

2. Modes démo intégrés

Demo modes
python abend_intelligence_v2.py --demo s0c7
python abend_intelligence_v2.py --demo sb37
python abend_intelligence_v2.py --demo s913
python abend_intelligence_v2.py --demo mixed

3. Analyse simple d’un fichier

Simple analysis
python abend_intelligence_v2.py --input input/sample_abend_v2_s0c7.txt

4. Analyse avec tous les exports

Full export analysis
python abend_intelligence_v2.py --input input/sample_abend_v2_s0c7.txt \
  --json output/json/sample_s0c7_analysis.json \
  --csv-findings output/csv/sample_s0c7_findings.csv \
  --csv-timeline output/csv/sample_s0c7_timeline.csv \
  --html output/reports/sample_s0c7_report.html

5. Mode anonymisé

Redacted report
python abend_intelligence_v2.py --input input/production_joblog.txt \
  --redact \
  --html output/reports/production_abend_redacted.html \
  --json output/json/production_abend_redacted.json

6. Mode batch strict

Batch strict mode
python abend_intelligence_v2.py --input input/nightly_joblog.txt \
  --html output/reports/nightly_abend_report.html \
  --csv-findings output/csv/nightly_abend_findings.csv \
  --fail-on ERROR
Lecture recommandĂ©e : utiliser le dĂ©codage direct pour l’aide rapide, puis l’analyse fichier + HTML/CSV pour les incidents rĂ©els, les tickets ou l’historisation.

ParamĂštres de ligne de commande

1. ParamĂštres d’entrĂ©e et de sortie

ParamĂštreDescriptionExemple
codesCodes passés directement en arguments.S0C7 SB37 RC=8 MAXCC=16
--inputFichier JOBLOG/SYSOUT/JESYSMSG texte Ă  analyser.--input input/joblog.txt
--demoLance un scénario intégré : s0c7, sb37, s913, mixed.--demo s0c7
--jsonExporte l’analyse complùte en JSON.--json output/analysis.json
--csv-findingsExporte les codes, anomalies, severities et recommandations.--csv-findings output/findings.csv
--csv-timelineExporte la timeline des événements détectés.--csv-timeline output/timeline.csv
--htmlGénÚre le rapport HTML.--html output/report.html
--export-catalogExporte le catalogue ABEND intégré en JSON.--export-catalog catalog.json

2. Paramùtres d’analyse et de gouvernance

ParamÚtreEffetUsage recommandé
--custom-catalogCharge un catalogue JSON additionnel ou personnalisé.Ajouter des codes site-specific ou des user ABEND applicatifs.
--redactMasque les noms de datasets dans les sorties.Partage externe, ticket support, rapport anonymisé.
--fail-onRetourne un code erreur Ă  partir d’une sĂ©vĂ©ritĂ© donnĂ©e.--fail-on ERROR ou --fail-on CRITICAL.
--context-linesNombre de lignes avant/aprĂšs conservĂ©es autour d’un finding.Augmenter si le diagnostic manque de contexte.
--risk-thresholdSeuil de score utilisé pour qualifier la criticité globale.Adapter au contexte formation, batch ou production.

3. Exemple avec catalogue personnalisé

Custom catalog
python abend_intelligence_v2.py --input input/joblog.txt \
  --custom-catalog input/site_abend_catalog.json \
  --html output/reports/joblog_custom_catalog.html

Exemples d’utilisation

ScĂ©nario 1 – DĂ©codage rapide pendant un incident

Un exploitant voit un code ABEND et veut immédiatement une lecture métier.

Quick decode
python abend_intelligence_v2.py S0C7 U4038 RC=12

ScĂ©nario 2 – S0C7 sur batch applicatif

Cas COBOL classique : data exception, copybook mismatch ou champ packed decimal invalide.

S0C7 analysis
python abend_intelligence_v2.py --input input/sample_abend_v2_s0c7.txt \
  --html output/reports/s0c7_report.html \
  --csv-findings output/csv/s0c7_findings.csv

ScĂ©nario 3 – SB37 / problĂšme d’espace dataset

Cas exploitation : dataset plein, secondary allocation insuffisante, SMS storage class ou volume à vérifier.

SB37 analysis
python abend_intelligence_v2.py --input input/sample_abend_v2_sb37.txt \
  --html output/reports/sb37_report.html \
  --csv-findings output/csv/sb37_findings.csv

ScĂ©nario 4 – S913 / accĂšs RACF refusĂ©

Cas sécurité : dataset protégé, user non autorisé, profil RACF à corriger.

S913 analysis
python abend_intelligence_v2.py --input input/sample_abend_v2_s913.txt \
  --redact \
  --html output/reports/s913_redacted_report.html \
  --json output/json/s913_redacted_analysis.json

ScĂ©nario 5 – ExĂ©cution nocturne automatisĂ©e

Cron entry
0 5 * * * /opt/abend/bin/python /opt/abend/abend_intelligence_v2.py \
  --input /data/joblogs/nightly_joblog.txt \
  --html /var/www/reports/abend/nightly_abend_report.html \
  --csv-findings /var/log/abend/nightly_abend_findings.csv \
  --json /var/log/abend/nightly_abend_analysis.json \
  --fail-on ERROR >> /var/log/abend/abend_intelligence.log 2>&1

ABEND catalog – Lecture opĂ©rationnelle

La V2 embarque un catalogue ABEND enrichi et exportable. Ce catalogue transforme un code brut en explication, zone probable, gravité et recommandations.

Télécharger le catalogue ABEND V2

Fichier JSON utile pour documentation, enrichissement manuel ou intégration dans une base SQL.

CodeLecture rapideZone probableAction recommandée
S0C1Operation exceptionProgramme / module / instruction invalideVérifier load module, compilation, linkage, mauvais entry point.
S0C4Protection exceptionAdressage mémoireContrÎler pointeurs, linkage section, bounds, dump registers.
S0C7Data exceptionDonnées numériques COBOLContrÎler copybook, packed decimal, zoned decimal, feed amont.
S0CBDecimal divide exceptionCalcul numériqueContrÎler division par zéro, signe, format numérique.
S013Open errorDataset / DCB / formatVérifier DD, DCB, RECFM, LRECL, BLKSIZE, dataset existant.
S322CPU time limit exceededRuntime / boucle / volumĂ©trieContrĂŽler TIME, boucle applicative, explosion volume, requĂȘtes DB2.
S522Wait time exceededAttente / ressourceContrÎler contention, dataset enqueue, attente DB2/CICS ou opérateur.
S806Load module not foundSTEPLIB/JOBLIB/LNKLSTVérifier EXEC PGM, bibliothÚques, module load, APF si nécessaire.
S878/S80AStorage shortageMémoire région / virtual storageContrÎler REGION, paramÚtres LE, fuite mémoire, volumétrie.
S913Security violationRACF / dataset accessVérifier user, dataset profile, access list, classe RACF.
SB37Dataset space exhaustedAllocation disqueContrĂŽler SPACE, volume, secondary allocation, SMS storage class.
SD37No secondary extentAllocation datasetAugmenter allocation ou définir secondary quantity.
SE37Extent/volume limitVolume/dataset growthRéviser allocation, multi-volume, SMS policies.
U4038Language Environment user abendCOBOL/LE runtimeLire messages CEE, SYSOUT applicatif et cause précédente.

Exporter le catalogue intégré

Export catalog
python abend_intelligence_v2.py --export-catalog output/json/abend_catalog.json
Important : un ABEND n’est pas toujours la root cause initiale. Le moteur cherche aussi les messages prĂ©cĂ©dents : dataset allocation, RACF, message applicatif, compiler/binder, SORT/IDCAMS ou Language Environment.

Exports et exploitation des résultats

Rapport HTML

Vue lisible : score, root causes, findings, timeline, contexte, recommandations et preuves.

Analyse JSON

Format complet pour API, ingestion SQL, archivage ou comparaison automatique.

Findings CSV

Une ligne par code ou anomalie, avec sévérité, cause probable, contexte et recommandation.

Timeline CSV

Une ligne par Ă©vĂ©nement dĂ©tectĂ©, utile pour reconstituer la sĂ©quence d’incident.

Catalog JSON

Catalogue embarqué exportable pour documentation, enrichissement ou stockage SQL.

Exit code

Mode batch strict via --fail-on ERROR ou --fail-on CRITICAL.

Exemple de synthĂšse console

Console output
ABEND Intelligence V2
Status           : FAILED
Highest severity : CRITICAL
Risk score       : 100/100
Codes detected   : S0C7, U4038, RC=12
Findings         : 6
Timeline events  : 9

ROOT CAUSE CANDIDATE
S0C7 - Data exception
Area: Data quality / COBOL numeric fields
Recommendation: Validate input file layout against the COBOL copybook.

Idée de table SQL pour historisation

SQL model idea
CREATE TABLE abend_intelligence_run (
    id BIGINT AUTO_INCREMENT PRIMARY KEY,
    source_name VARCHAR(255),
    status VARCHAR(32),
    highest_severity VARCHAR(16),
    risk_score INTEGER,
    detected_codes VARCHAR(500),
    finding_count INTEGER,
    timeline_count INTEGER,
    report_path VARCHAR(500),
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
Vision produit : la V2 devient une base solide pour un portail d’exploitation mainframe : historique SQL, recherche par code ABEND, catalogues site-specific, dashboard de tendances et moteur expert plus riche.

Dépannage et bonnes pratiques

1. Le script ne détecte aucun ABEND

Cause possibleCorrection
Le fichier n’est pas un texte brut.Exporter depuis SDSF/JES en format texte, pas en PDF image.
Les lignes ont été tronquées ou reformattées.Conserver la largeur fixe et éviter Word/Excel avant parsing.
Le fichier contient seulement la sortie applicative.Récupérer aussi JESYSMSG/JESMSGLG pour obtenir IEF450I/IEF472I.
Code site-specific non connu.Ajouter le code dans un catalogue personnalisé via --custom-catalog.

2. Trop de findings remontées

Certains fichiers contiennent beaucoup de messages applicatifs. Utiliser le CSV findings pour filtrer, ajuster le seuil --fail-on et enrichir progressivement le catalogue pour distinguer bruit et vrais incidents.

Less strict command
python abend_intelligence_v2.py --input input/joblog.txt \
  --context-lines 1 \
  --fail-on CRITICAL \
  --html output/reports/joblog_abend_report.html

3. Check-list avant partage d’un vrai joblog

  • Utiliser --redact pour masquer les datasets dans les rapports.
  • Supprimer ou anonymiser user IDs, jobnames sensibles, applications, volumes et environnements.
  • Conserver une copie brute interne pour vĂ©rifier la fidĂ©litĂ© du parsing.
  • Garder le contexte : date, fenĂȘtre batch, scheduler, application, incident utilisateur.
  • Ne jamais conclure uniquement sur l’ABEND final : lire les messages prĂ©cĂ©dents.
Point critique : un joblog peut exposer des informations opérationnelles sensibles. Avant tout partage externe, générer une version anonymisée et vérifier manuellement les evidence lines.