Le but de l'entité Programme est de développer et implémenter
toutes les spécifications définies lors de l'analyse détaillée.
Un Programme batch lit et écrit des fichiers et crée des Etat (fichiers
de texte formatés).
Les opérations générées de lecture et d'écriture seront adaptées
à chaque type de fichier (séquentiel, indexé, SQL, etc.).
La structure de chaque fichier et les contrôles à effectuer sur
les enregistrements sont définis dans une Structure de Données.
Structure d'un Programme
Tout Programme
est organisé en un ensemble de traitements successifs :
- Acquisition des données
- Contrôles
- Mises à jour
- Editions
- Restitution des résultats
Chacun de ces traitements se compose d'un ensemble de séquences
homogènes d'instructions appelées fonctions.
Les deux principes
complémentaires suivants structurent le Programme :
- Enchaînement linéaire de fonctions dans l'ordre logique de leur
exécution, chacune exécutant une tâche fonctionnelle ou technologique
du Programme. Chaque fonction est identifiée par un code de 0A à 99.
- Structuration hiérarchique des traitements dans chaque fonction.
La fonction peut être décomposée en sous-fonctions, chacune décomposée
à son tour en sous-fonctions, et ainsi de suite.
Les fonctions et sous-fonctions se suivent dans l'ordre de leur
code selon la séquence de classement EBCDIC (les lettres précédant
les chiffres), quelle que soit la séquence de tri du matériel utilisé.
Principes de génération
Les Programmes sont
générés à la demande, dans la
variante de COBOL
correspondant au matériel et au compilateur auxquels ils sont destinés.
- L'IDENTIFICATION DIVISION du COBOL est générée
à partir de la Définition du Programme et d'éventuelles
modifications saisies en code spécifique.
- L'ENVIRONMENT DIVISION et la FILE SECTION sont
générées à partir des appels de Structures de Données et d'éventuels
compléments ou modifications saisis en code spécifique.
- Les autres sections de la DATA DIVISION sont
générées à partir d'appels de Structures de Données, éventuellement
complétés ou modifiés en code spécifique.
Dans la
WORKING-STORAGE
SECTION est générée, pour tous les Programmes, une zone
CONSTANTES-PAC dans
laquelle sont déclarés en
VALUE les éléments suivants
:
- Numéro de session de génération du Programme (NUGNA)
- Code de la Bibliothèque où est défini le Programme (APPLI)
- Date de génération du Programme (DATGN) (JJ/MM/AA si
la langue de l'utilisateur est le français, ou MM/JJ/AA sinon)
- Code du Programme (PROGR)
- Code de l'utilisateur ayant demandé la génération (CODUTI)
- Heure de génération du Programme (TIMGN)
- Nom externe du Programme (PROGE)
- Code de la Base (COBASE)
- Date de génération du Programme avec le siècle (DATGNC)
(JJ/MM/SSAA si la langue de l'utilisateur est le
français, ou MM/JJ/SSAA sinon)
- Version du générateur (RELEAS)
- Date du générateur (DATGE)
- Date du squelette (DATSQ)
Ces zones peuvent être employées dans le rapport d'exécution
du Programme. Elles sont précédées du littéral
WORKING,
qui peut servir de repère dans une image mémoire en cas de problème
à l'exécution.
- La PROCEDURE DIVISION est générée à partir des
appels de Structures de Données ou Segments, des traitements indiqués
avec du code spécifique et des appels de Macros.
Remarque : Pour les instances importées depuis Pacbase, la langue du squelette
de la génération locale est identique à celle de Pacbase. En effet, cette
information est reprise lors de l'extraction des modèles Pacbase et de l'import.
Elle est stockée au niveau de la Bibliothèque
Pour des explications
sur le Programme généré, référez-vous au manuel "Applications batch"
(chapitre "Description d'un Programme généré"), disponible à
partir de l'URL suivante :
http://www-1.ibm.com/support/docview.wss?rs=37&context=SSEP67&uid=swg27005478