Insertion par rapport aux traitements de niveau hiérarchique 05 dans un Composant Applicatif

Vous pouvez insérer des traitements spécifiques ou remplacer des traitements standard dans les blocs générés. Ces blocs ont un niveau hiérarchique 05. Il s’agit des blocs de début et de fin de Composant Applicatif, du bloc des déclarations SQL et des blocs Vue Logique. Le bloc et le type d’action que vous sélectionnez indiquent le positionnement du traitement spécifique.

Vous pouvez déclarer ou remplacer un traitement spécifique au niveau Composant Applicatif. Si le traitement spécifique concerne le bloc Vue Logique, vous devez identifier la Vue Logique impactée. Les instructions doivent être écrites sur des niveaux hiérarchiquement inférieurs.

Dans le code d'une Macro, toutes ces insertions sont identifiées par ACTION=*C.

Dans le code d'un Composant Applicatif, elles débutent par une annotation correspondant au type d'action sélectionné.

Blocs
Les blocs suivants sont générés avec un niveau hiérarchique 05 :
  • Début Composant Applicatif.

    Ce bloc récupère les informations contenues dans la zone de communication et effectue des initialisations. Il correspond au bloc FSERVER dans le code.

    Dans le code d'une Macro, l’insertion par rapport à ce type de bloc est indiquée sous la forme REF=BS.

    Dans le code d'un Composant Applicatif, l’insertion par rapport à ce type de bloc est indiquée sous la forme BS, après l'annotation indiquant le positionnement relatif (*@BEFORE, *@AFTER ou *@REPLACE).

  • Vue Logique.

    Si plusieurs Vues Logiques sont déclarées dans le Composant Applicatif, il y a autant de blocs que de Vues Logiques. Dans la zone Code Segment, vous devez saisir ou sélectionner le Segment de type Vue Logique dans lequel vous voulez insérer ou remplacer un traitement. La fonction que vous associez à la Vue Logique sélectionnée n'est pas créée dans le COBOL. Elle indique simplement que toutes ses sous-fonctions seront rattachées à la Vue Logique sélectionnée, pour éviter de l'indiquer sur toutes les sous-fonctions.

    Dans le code d'une Macro, l’insertion par rapport à ce type de bloc est indiquée sous la forme REF=vulo, où vulo est la Vue Logique.

    Dans le code d'un Composant Applicatif, l’insertion par rapport à ce type de bloc est indiquée sous la forme Fnn=vulo x, où Fnn est la fonction, vulo est la Vue Logique et x le type d'action, s'il a été sélectionné (A (ante) pour Insérer avant, P (post) pour Insérer après et R pour Remplacer). L'insertion débute toujours par *@ATTACH et est placée au début de la PROCEDURE DIVISION.

  • Fin Composant Applicatif.

    Ce bloc renvoie les informations au client. Il correspond au bloc FSERVER-END dans le code.

    Dans le code d'une Macro, l’insertion par rapport à ce type de bloc est indiquée sous la forme REF=ES.

    Dans le code d'un Composant Applicatif, l’insertion par rapport à ce type de bloc est indiquée sous la forme ES, après l'annotation indiquant le positionnement relatif (*@BEFORE, *@AFTER ou *@REPLACE).

  • Déclarations des curseurs SQL.

    Ce bloc décrit les clauses nécessaires aux déclarations SQL. Il correspond au bloc FSQL dans le code.

    Vous pouvez insérer des traitements spécifiques à deux niveaux :
    • Par rapport au bloc FSQL lui-même.
    • Par rapport à une fonction spécifique que vous associez au bloc FSQL. Vous décrivez ensuite les instructions dans des sous-fonctions de cette fonction.

    Dans le code d'une Macro, l’insertion par rapport à ce type de bloc est indiquée sous la forme REF=SQ.

    Dans le code d'un Composant Applicatif, l’insertion par rapport à ce type de bloc est indiquée sous la forme Fnn=SQ (où Fnn est la fonction).
    • Elle est précédée par l'annotation *@ATTACH et est placée au début de la PROCEDURE DIVISION pour indiquer l'association d'une fonction spécifique au bloc FSQL. Cette fonction n'est pas créée dans le COBOL.
    • Elle est précédée par l'annotation indiquant le positionnement relatif (*@BEFORE, *@AFTER ou *@REPLACE) pour une insertion de code spécifique dans le bloc FSQL. La fonction est alors créée dans le COBOL.
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.

Pour ajouter un traitement spécifique, vous positionnez donc votre traitement par rapport à un traitement standard du bloc sélectionné dans la zone Bloc. Vous devez choisir l’une des options suivantes pour insérer le traitement spécifique :

  • Insérer avant un traitement 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 indiqué par la lettre A après le code du bloc (REF=BS A par exemple). Dans le code d’un Composant Applicatif, il est identifié par *@BEFORE devant le code du bloc.

  • Insérer après un traitement 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 géné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 indiqué par la lettre P après le code du bloc (REF=BS P par exemple). Dans le code d’un Composant Applicatif, il est identifié par *@AFTER devant le code du bloc.

  • Remplacer un traitement standard.

    Dans le code d'une Macro, le positionnement de ce traitement spécifique est indiqué par la lettre R après le code du bloc (REF=BS R par exemple). Dans le code d’un Composant Applicatif, il est identifié par *@REPLACE devant le code du bloc.

  • Aucun. Cette option est spécifique à une insertion dans le bloc Vue Logique ou Déclarations des curseurs SQL. Il permet de rattacher une fonction à un de ces blocs pour que toutes les sous-fonctions de cette fonction bénéficient de ce rattachement.

    Dans le code d'une Macro, le positionnement de ce traitement spécifique n’est indiqué par aucune lettre. Dans le code d’un Composant Applicatif, il est identifié par une ligne de commentaire COBOL située au début de la PROCEDURE DIVISION et comprenant la balise *@ATTACH (par exemple *@ATTACH F03=SQ, où F03 est la fonction spécifique associée à la fonction FSQL).


Vos commentaires