Le COBOL est généré à partir des informations indiquées dans l'éditeur de design de l'instance et éventuellement complétées par des insertions de code spécifique. Pour vous aider à comprendre le COBOL généré et à décider des points d'insertion de votre code spécifique, cette page explique les variables présentes dans le COBOL et décrit les fonctions générées.
La génération est possible depuis un Serveur de type Composant Applicatif, Moniteur Serveur, Moniteur de Communication ou Serveur de Libellés d'erreur.
Le COBOL généré est adapté au matériel et au moniteur de temps réel précisés dans la Définition du Dialogue Serveur ou du Serveur.
La WORKING-STORAGE SECTION et la PROCEDURE DIVISION sont décrites en détails dans cette page.
La WORKING-STORAGE SECTION contient les variables utilisées par le Serveur. Elles sont générées en fonction des caractéristiques des éléments appelés dans le Serveur.
Code | Signification |
---|---|
IK | Code retour lors d'un accès à un Segment ou
lors de l'appel d'un Composant Applicatif :
|
CATM | Code mouvement :
|
A-CATM | Buffer de description. Ce buffer contient les codes action concernant les données non répétées ainsi que les données répétées de la Vue Logique. |
A-CATM-CA | Code action portant sur les données non répétées. Il est systématiquement généré. |
A-CATM-CR OCCURS N | Code action portant sur les données répétées. N représente le nombre maximum de répétitions de l'ensemble des Vues Logiques de ce Serveur. Il est généré si une des Vues Logiques du Composant Applicatif contient des données répétées. |
ICATR | Indice de la catégorie en cours de traitement (données répétées de la Vue Logique) |
ICATRC | Nombre de répétitions demandées lors d'un appel de Composant Applicatif |
IRR | Nombre de répétitions demandées par le Client |
OPERB | Indique si la demande de sélection est une liste lors d'un appel de Composant Applicatif. |
OPERS | Code opération |
OPERT | Zone de gestion des services de contrôle, mise à jour et sélection |
OPERV | Indicateur de traitement d'une Vue Logique :
|
OPER2 | Code opération pour l'appel de Composant Applicatif de deuxième niveau |
CH-vulo | vulo représente la Vue Logique.
Cette zone contient une table utilisée pour les contrôles de la Vue
Logique. Elle est générée si l'option CHECKSER=YES a
été indiquée dans l'onglet Complément du Dialogue
Serveur ou du Serveur. Cette table comprend un poste par Rubrique
appelée dans la Vue Logique. Les valeurs utilisées (à renseigner
par l'utilisateur dans le Client) sont les suivantes :
Cette zone sert aussi à indiquer si une donnée de la Vue Logique a une valeur nulle ou non (au sens SQL), donc si elle est présente. Le Client peut positionner des valeurs nulles pour un service de mise à jour par exemple et le Composant Applicatif peut retourner des valeurs nulles en sélection si les données correspondantes de la table sont nulles. |
L-CURS-EXTNAM | Conditionnement de la fermeture du curseur en fin de service de sélection en cas d'utilisation d'une méthode d'extraction |
Code | Signification |
---|---|
02 vulo-C | Données transférées dans le sens Client vers Serveur et dans les deux sens. vulo est la Vue Logique. |
02 vulo-S | Données transférées dans le sens Serveur vers Client. Lorsque la Vue Logique contient des données répétées, un niveau 01 est aussi généré: |
01 RE-vulo-corub | Données répétées (corub est la Rubrique groupe des données répétées) |
10 1-vulo-corub | Identifiant de la structure répétée de la Vue Logique. Cette Rubrique n'est déclarée qu'une fois dans la Vue Logique. |
Code | Signification |
---|---|
EN-PRE | Erreur sur Rubrique |
IED | Nombre maximum d'erreurs sur les données de la Vue Logique que le Composant Applicatif peut détecter avant de retourner au Client. Ce nombre est déterminé par l'option DATAERR. |
IER | Nombre maximum d'erreurs sur accès bases de données que le Composant Applicatif peut détecter avant de retourner au Client. Ce nombre est déterminé par l'option ACCESERR. |
K50L | Indice de travail du nombre d'erreurs d'accès Segment |
K50D | Indice de travail du nombre d'erreurs sur Rubrique |
Code | Signification |
---|---|
EE-vulo-LIBRA | Bibliothèque |
EE-vulo-SERVER | Composant Applicatif |
EE-vulo-vulo | Vue Logique |
EE-vulo-DATCOD | Rubrique |
EE-vulo-DATERR | Code erreur |
EE-vulo-DATTYP | Type d'erreur :
|
EE-vulo-ICATR | Numéro de la ligne de répétition sur laquelle l'erreur a été détectée |
Code | Signification |
---|---|
V-ERR-SEGCOD | Segment en erreur |
V-ERR-SEGERR | Code de l'erreur |
V-ERR-SEGTYP | Type de l'erreur |
V-ERR-ICATR | Rang de l’occurrence erronée pour un traitement multi-occurrence |
V-ERR-LIBRA | Bibliothèque |
V-ERR-SERVER | Composant Applicatif |
Code | Signification |
---|---|
TECH-BUFFER | Buffer technologique |
TECH-LGCOMM | Longueur globale de la zone de communication passée par le composant Client |
TECH-LGTECH | Longueur de la zone TECH-BUFFER |
TECH-LGUSER | Longueur du buffer utilisateur. Ce buffer est facultatif. |
TECH-LGVIEW | Longueur de la Vue Logique devant être traitée. Un Composant Applicatif peut traiter plusieurs Vues Logiques, une à la fois, mais pouvant avoir des longueurs différentes. |
TECH-LGDESC | Longueur du buffer des codes actions |
TECH-LGERR | Longueur du buffer des erreurs sur données de la Vue Logique |
TECH-STRUCT | Non utilisé, mais doit être forcément positionné à S par le Client |
Code | Signification |
---|---|
TECH-CLIENT | Client appelant. Non utile pour un Client graphique qui appelle les Composant Applicatifs de manière synchrone. |
TECH-vulo | Vue Logique à traiter |
TECH-SERVER | Composant Applicatif appelé |
TECH-OPER | Service demandé par le Client sur la Vue Logique.
Il peut prendre les valeurs suivantes :
|
TECH-LIBRA | Non utilisé |
TECH-ICATRC | Nombre d'instances à traiter par le Composant Applicatif sur la Vue Logique |
TECH-ICATRS | Nombre d'instances sélectionnées par le Composant Applicatif pour un service de sélection, de contrôle ou de mise à jour |
TECH-IERRS | Indicateur d'erreur non système sur les accès
aux données en sélection, positionné par le Composant Applicatif :
|
TECH-IERRU | Indicateur d'erreur non système sur les accès
données en contrôle ou mise à jour positionné par le Composant Applicatif
:
|
TECH-IERRC | Indicateur d'erreur non système positionné par
le Composant Applicatif :
|
TECH-IDATAC | Indicateur de contrôle des données de la Vue
Logique :
|
TECH-ERRCOD | FILE STATUS ou SQLCODE en cas d'erreur d'accès physique. Positionné par le Composant Applicatif. |
TECH-CODE | Code du fichier ou de la table sur laquelle une erreur irrécupérable a été détectée. Positionné par le Composant Applicatif. |
TECH-TYPE | Type d'accès du fichier en cas d'erreur irrécupérable, positionné par le Composant Applicatif (par exemple R pour lecture ou W pour écriture) |
TECH-LGREAL | Longueur réelle de la zone de communication positionnée par le Client et le Composant Applicatif |
TECH-EXTNAM | Code de la méthode d'extraction positionné par le Client |
TECH-TRANS | Indicateur de début et fin de transaction positionné
par le Client :
|
TECH-COMMIT | Indicateur de demande de COMMIT par
le Client :
|
TECH-LGDATA | Longueur du vecteur de contrôle des données de la Vue Logique passé par le Client |
TECH-NUVERS | Numéro de version utilisé par le contrôle de compatibilité entre le Composant Applicatif et le Client graphique |
TECH-BROWSE | Indicateur de type de sélection :
|
TECH-SRVUSR | Service utilisateur initialisé par le Client |
TECH-REQST | Gestion de la séquence d’appel des Composants
Applicatifs suite à une requête cliente :
|
TECH-CALSRV | Gestion de la séquence d’ouverture et de fermeture
des curseurs lors d’une lecture massive pour une sélection d’instances
:
|
TECH-TIMEST | Gestion de l'horodatage pour un service de verrouillage ou déverrouillage |
TECH-FILL | Filler interne, réservé IBM |
USER-BUFFER | Buffer utilisateur, optionnel. Ce buffer est commun à un Dialogue. |
SELT-BUFFER | Buffer de fin d'accès sur un Segment en sélection et en répétitive. |
CONT-BUFFER | Lorsqu’il n’y a pas d’erreur, ce buffer contient les données applicatives devant transiter entre le Client et le Composant Applicatif. Ces données sont représentées sous forme de Vue Logique. En cas d’erreur, ce buffer est redéfini par la zone ERR-BUFFER. |
ERR-BUFFER | Buffer d'erreurs, décomposé en erreurs sur Segments et erreurs sur Rubriques |
Code fonction | Objectif de la fonction |
---|---|
05 FSERVER | Traitements début de Serveur |
10 FSERVER-STRVIEW | Contrôle structure et longueur des buffers de la zone de communication |
05 FSQL | Déclaration SQL |
10 FSQL-WHENEVER | Clause WHENEVER |
10 FSQL-CURSR-segt | Clause DECLARE CURSOR |
05 Fvulo | Traitements de la Vue Logique vulo |
10 Fvulo-BEGV | Initialisations des traitements de la Vue Logique |
10 Fvulo-CHUP | Traitements de contrôle et mise à jour Ces traitements se composent de niveaux 15 Fvulo-CHUP-CATX pour les traitements de la catégorie X. La catégorie est A (avant répétitive), R (répétitive) ou Z (après répétitive). Les traitements suivants
sont exécutés :
|
10 Fvulo-LOCK | Verrouillage |
10 Fvulo-UNLK | Déverrouillage |
10 Fvulo-SELC | Traitements de sélection Ces traitements se composent de niveaux 15 Fvulo-SELC-CATX pour les traitements de la catégorie X. La catégorie est A (avant répétitive), R (répétitive) ou Z (après répétitive). Les traitements suivants sont exécutés
:
|
10 Fvulo-USER | Traitements utilisateur |
10 Fvulo-ERRV | Traitements des erreurs sur la Vue Logique vulo |
10 Fvulo-ENDV | Traitements de fin de la Vue Logique vulo |
05 FSERVER-END | Traitements de fin de Serveur. Retour au Client. |
Code fonction | Objectif de la fonction |
---|---|
10 Fvulo-TRDT | Transfert des données de la Vue Logique vers
les données des Segments pour les accès physiques Ces traitements se composent de niveaux 15 Fvulo-TRDT-CATX pour les traitements de la catégorie X. La catégorie est A (avant répétitive), R (répétitive) ou Z (après répétitive). |
10 Fvulo-CHKD | Contrôle des données de la Vue Logique Ces traitements se composent de niveaux 15 Fvulo-CHKD-CATX pour les traitements de la catégorie X. La catégorie est A (avant répétitive), R (répétitive) ou Z (après répétitive). |
10 Fvulo-TRVW | Transfert des données des Segments pour les
accès physiques vers les données de la Vue Logique Ces traitements se composent de niveaux 15 Fvulo-TRVW-CATX pour les traitements de la catégorie X. La catégorie est A (avant répétitive), R (répétitive) ou Z (après répétitive). |
10 Fsegt-CHCK | Traitements des accès logiques de contrôle du
Segment segt Ces traitements se composent de niveaux 15 Fsegt-CHCK-CATX pour les traitements de la catégorie X. La catégorie est A (avant répétitive), R (répétitive) ou Z (après répétitive). Les traitements suivants sont exécutés
:
|
10 Fsegt-UPDT | Traitements des accès logiques de mise à jour
du Segment segt Ces traitements se composent de niveaux 15 Fsegt-UPDT-CATX pour les traitements de la catégorie X. La catégorie est A (avant répétitive), R (répétitive) ou Z (après répétitive). Les
traitements suivants sont exécutés :
|
10 Fsegt-SLCT | Traitements des accès logiques de sélection
du Segment segt Ces traitements se composent de niveaux 15 Fsegt-SLCT-CATX pour les traitements de la catégorie X. La catégorie est A (avant répétitive), R (répétitive) ou Z (après répétitive). Les
traitements suivants sont exécutés :
|
F80 | Accès physiques exécutés par PERFORM à
partir des accès logiques et générés dans la fonction 80.
Cette fonction contient les traitements suivants :
|
F81 | Traitements complémentaires exécutés par PERFORM et
générés dans la fonction 81. Cette fonction contient
les traitements suivants :
La fonction F81 comprend également la récupération des erreurs. Les sous-fonctions correspondantes varient selon la structure de stockage utilisée |