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

Voici quelques exemples :
  • 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
USER : Service utilisateur (à partir de l'iFix 001 de la version 9.6) Exécution d’un service particulier qui n'est ni un service de sélection ni un service de contrôle et mise à jour. Vous pouvez par exemple créer un service utilisateur pour compter le nombre de personnes ayant passé une commande, ou pour décrire un service d'impression.

Par l'intermédiaire de la zone de communication, le Composant Applicatif récupère le code et le nom du service utilisateur demandé par le client.

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 un traitement ou 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 un traitement ou 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 un traitement ou 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.


Vos commentaires