Insertion par rapport aux traitements de la Vue Logique dans un Composant Applicatif
Le code généré pour une Vue Logique se trouve dans le corps du programme ou dans les niveaux élémentaires exécutés par PERFORM. Ce code contient les traitements standard d’implémentation des différents services dans cette Vue Logique. Ces traitements standard sont rattachés à une seule Vue Logique. Pour ajouter un traitement spécifique, vous devez donc l’insérer en relatif par rapport à un traitement standard de la Vue Logique. L'insertion s'effectue derrière l'étiquette générée automatiquement ou le conditionnement associé.
Les informations que vous indiquez, excepté le type d’action, sont affichées dans le code de la Macro sous la forme suivante :
REF=Typedetraitement Catégorie Service Traitementélémentaire
- REF=CHUP CATA SRVL TRAN
- REF=CHUP CATT SRVM CHCK
- REF=SELC CATR $1
- Type de traitement
- Le tableau suivant donne la liste des traitements généraux dans lesquels vous pouvez insérer un
traitement spécifique. Les zones associées à chaque traitement sont indiquées.
Tableau 1. Types de traitement pour une Vue Logique Types de traitement Commentaires Zones associées BEGV : Début Vue logique Type d’action CCNX : Connexion à la base Type d’action CHKD : Contrôle des données Contrôle sur des Rubriques de la Vue Logique. Les données saisies par l'utilisateur sont contrôlées et une erreur est envoyée si la saisie est erronée. Code Rubrique, Catégorie, Type d’action CHUP : Contrôle et mise à jour Ce traitement effectue les actions suivantes : - Contrôle de la saisie de l'utilisateur avec envoi d'une erreur si nécessaire,
- Présentation des informations dans le Composant Applicatif selon un format spécifié,
- Actualisation de ces informations par la saisie de l'utilisateur,
- Mise à jour de la base de données.
Service, Catégorie, Type d’action CLOS : Fermeture Fermeture des fichiers indexés de la Vue Logique. Vous devez indiquer le code fichier (code Structure de données). Code fichier, Type d’action DCNX : Déconnexion de la base Type d’action ENDV : Fin Vue logique Type d’action ERRV : Erreurs sur Vue logique Traitement des erreurs sur une demande de service Type d’action LOCK : Verrouillage Blocage de la mise à jour de données pour empêcher leur mise à jour simultanée et éviter des incohérences. Type d’action OPEN : Ouverture Ouverture des fichiers indexés de la Vue Logique. Vous devez indiquer le code fichier (code Structure de données). Code fichier, Type d’action SELC : Sélection Ce traitement effectue les actions suivantes : - Accès aux données stockées dans une base de données ou un fichier
- Lecture des informations demandées par le client par l’intermédiaire de la Vue Logique
- Envoi de ces informations au client
Service, Catégorie, Type d’action TRDT : Transfert Vue vers Segment Transfert des données de la Vue Logique vers les données des Segments. Catégorie, Type d’action TRER : Transfert des erreurs Transfert des erreurs lors de l'appel d'un Composant Applicatif de deuxième niveau. Vous devez indiquer le code du Segment où l'erreur peut être détectée. Code Segment, Type d’action TRVW : Transfert Segment vers Vue Le Composant Applicatif de deuxième niveau transfère les données du Segment vers la Vue Logique. Catégorie, Type d’action UNLK : Déverrouillage Type d’action Remarque : L'insertion d'un service utilisateur, qui est un service géré entièrement en spécifique, doit être effectuée en appelant la Macro protégée ££USER dans les Lignes -CP du Composant Applicatif. Les services utilisateurs appelés par un autre moyen ne sont pas pris en compte. A partir de la version 9.5.1 de Rational Programming Patterns, ils constituent du code inactif que vous pouvez supprimer. Un avertissement est positionné dans ce cas dans le code COBOL. Ce cas concerne aussi les services utilisateurs qui avaient été appelés à partir de l'assistant de création de fonctions et sous-fonctions dans une version antérieure de Rational Programming Patterns.
- Service
- Cette zone est disponible pour un traitement général de type CHUP
: Contrôle et mise à jour ou SELC : Sélection.
Vous devez préciser dans quel type de service vous voulez insérer
le traitement spécifique. Pour un traitement de type CHUP : Contrôle et mise à jour, vous pouvez insérer un traitement spécifique dans les services suivants :
- SRVE : Service de contrôle
- SRVL : Service de lecture
- SRVM : Service de contrôle/mise à jour
- SRVT : Service de contrôle/mise à jour/sélection
- SRVX : Service de contrôle/sélection
Pour un traitement de type SELC : Sélection, vous pouvez insérer un traitement spécifique dans le service SRVA : Service de sélection.
Vous pouvez paramétrer le service pour l’identifier dans plusieurs contextes d’utilisation. Pour cela, saisissez un symbole $ suivi d’un chiffre ou d’une lettre directement dans la zone.
- Traitement élémentaire
- Cette zone n'est disponible que si vous sélectionnez un service
pour un traitement général de type CHUP : Contrôle et mise
à jour ou SELC : Sélection.
Les traitements élémentaires sont exécutés par PERFORM à partir du niveau Vue Logique. Vous pouvez préciser dans quel traitement élémentaire vous voulez insérer le traitement spécifique.
La liste des traitements élémentaires disponibles change en fonction du service sélectionné. La liste complète est la suivante :- Aucune valeur : Le traitement spécifique s’applique à tous les traitements élémentaires du service sélectionné.
- INIT : Initialisation
- CHCK : Contrôle
- TRAN : Transfert
- UPDT : Mise à jour
- DONE : Fin
- SELC : Sélection
Vous pouvez paramétrer le traitement élémentaire pour l’identifier dans plusieurs contextes d’utilisation. Pour cela, saisissez un symbole $ suivi d’un chiffre ou d’une lettre directement dans la zone.
- Code fichier
- Cette zone est disponible pour un traitement général de type OPEN : Ouverture ou CLOS : Fermeture. Vous devez saisir le code du fichier, qui est le code de la Structure de Données.
- Code Segment
- Cette zone est disponible pour un traitement général de type TRER : Transfert des erreurs. Vous devez sélectionner le Segment dans lequel l'erreur peut être détectée.
- Catégorie
- Vous devez indiquer une catégorie pour un traitement général de
type CHKD : Contrôle des données, CHUP
: Contrôle et mise à jour, TRDT : Transfert
Vue vers Segment, TRVW : Transfert Segment
vers Vue ou SELC : Sélection. Les catégories suivantes sont possibles :
- CATT: Répétitive (nombre d'occurrences =1)
- CATR: Répétitive (nombre d'occurrences >1)
Vous pouvez paramétrer la catégorie pour l’identifier dans plusieurs contextes d’utilisation. Pour cela, saisissez un symbole $ suivi d’un chiffre ou d’une lettre directement dans la zone.
- Type d’action
- Les traitements spécifiques sont insérés
dans un Composant Applicatif en relatif par rapport aux traitements
générés en standard. Vous bénéficiez ainsi des traitements standard
générés tout en les adaptant à vos besoins. Vous
indiquez où le traitement spécifique est inséré par rapport à un traitement
standard de la Vue Logique. Vous devez choisir l’une des options suivantes pour insérer le traitement spécifique :
- Début : Le traitement spécifique est inséré au début du traitement standard, après l'étiquette de début. Ce positionnement ne peut être utilisé que pour les traitements exécutés par PERFORM. Il n’est pas disponible pour tous les types de traitements généraux. Le positionnement de ce traitement spécifique est indiqué par ACTION=*B dans le code de la Macro.
- Insérer avant une clause SQL standard. Le traitement spécifique
est inséré avant l'étiquette de début du traitement standard.
Dans le code d'une Macro, le positionnement de ce traitement spécifique est identifié par ACTION=*A. Dans le code d’un Composant Applicatif, il est identifié par @BEFORE.
- Insérer après une clause SQL standard.
Le traitement spécifique est inséré avant l'étiquette de fin si le
niveau hiérarchique est supérieur au niveau du traitement standard.
Il est inséré après l'étiquette de fin si le niveau hiérarchique est
égal au niveau du traitement standard.
Dans le code d'une Macro, le positionnement de ce traitement spécifique est identifié par ACTION=*P. Dans le code d’un Composant Applicatif, il est identifié par @AFTER.
- Remplacer une clause SQL standard.
Ce choix n'est possible que si aucune sous-fonction spécifique n'a
été insérée dans la clause SQL par rapport à ce point d'attachement
(clause WHENEVER ou clause DECLARE CURSOR sur
le même Segment). Si au moins une sous-fonction a été insérée par
rapport à ce point d'attachement, vous devez d'abord la supprimer.
Dans le code d'une Macro, le positionnement de ce traitement spécifique est identifié par ACTION=*R. Dans le code d’un Composant Applicatif, il est identifié par @REPLACE.
- Insérer : Cette option est spécifique au service utilisateur. Le service utilisateur est inséré au niveau de la Vue Logique, dans une sous-fonction quelconque dépendant d'une fonction de niveau 05. Le positionnement de ce traitement spécifique est indiqué par ACTION=*C dans le code de la Macro.