Création d’une fonction ou sous-fonction

Certaines fonctions ou sous-fonctions sont indépendantes des fonctions ou sous-fonctions automatiques. D’autres sont insérées relativement à des fonctions ou sous-fonctions automatiques spécifiques au modèle Dialogue standard ou client ou Composant Applicatif. Les informations affichées dans l'assistant de création varient en conséquence.

L’insertion des différents types de fonctions et sous-fonctions dépend des entités dans lesquelles vous voulez les insérer :
  • L’insertion de fonctions ou sous-fonctions relatives associées aux deux modèles est impossible dans une même Macro.
  • Une insertion en mode absolu est toujours possible. Pour un Programme, ce type d’insertion est le seul possible.
  • Dans un Ecran standard ou client, une insertion par rapport au modèle Composant Applicatif est impossible.
  • Dans un Composant Applicatif, une insertion par rapport au modèle Dialogue standard ou client est impossible.
Code fonction
Ce code est obligatoire. Il est constitué de deux caractères, uniquement des chiffres ou des lettres.

Vous pouvez le paramétrer en indiquant un $ suivi d’un chiffre ou d’une lettre.

Un code fonction ne peut pas être modifié s'il existe au moins une ligne dépendante de cette fonction.

Ce code détermine l'emplacement des lignes source dans la séquence des fonctions.

Le code des fonctions automatiquement générées est préétabli. Si vous sélectionnez un modèle dans la zone Modèle, vous devez donc créer un code fonction relativement aux codes des fonctions automatiques.

Remarque : Référez-vous au site de documentation VisualAge Pacbase pour des informations sur les fonctions automatiques. Toutes les fonctions automatiques d’un Programme sont documentées dans le manuel Applications batch, chapitre Description d’un Programme généré. Toutes les fonctions automatiques d’un Composant Applicatif sont documentées dans le manuel Applications Pacbench C/S Services Applicatifs, chapitre Annexes.
Pour le modèle Dialogue standard ou client, vous devez indiquer une des fonctions automatiques suivantes :
  • 20 : Contrôles des Rubriques
  • 25 : Accès aux Segments en réception
  • 30 : Transfert des Rubriques
  • 35 : Ecritures de mise à jour
  • 60 : Accès aux Segments en affichage
  • 65 : Alimentation des Rubriques
  • 80 : Accès physiques aux Segments
Remarque : Les fonctions automatiques d’un Ecran sont documentées sur le site de documentation VisualAge Pacbase, dans le manuel Dialogue, chapitre Annexes
Code sous-fonction
Ce code est sur deux caractères. Dans une Macro, vous pouvez saisir des chiffres ou des lettres. Dans un Programme, un Ecran ou un Composant Applicatif, vous devez saisir des lettres uniquement.

Vous pouvez le paramétrer en indiquant un $ suivi d’un chiffre ou d’une lettre.

Ce code détermine l'emplacement des lignes source dans la séquence des fonctions.

Pour le modèle Dialogue standard ou client, le code sous-fonction est obligatoire.

Pour le modèle Composant Applicatif, le code sous-fonction est interdit pour une Insertion par rapport aux traitements de niveaux hiérarchiques 05. En revanche, il est obligatoire pour une Insertion par rapport aux traitements SQL, une Insertion par rapport aux traitements Vue Logique et une Insertion par rapport au niveau des accès physiques. Il est facultatif pour une Insertion par rapport au niveau des accès logiques.

Niveau
Le niveau est constitué de deux chiffres.

Vous pouvez le paramétrer en indiquant un $ suivi d’un chiffre ou d’une lettre.

Il est affiché différemment selon l’entité :
  • Pour une Macro, il est affiché dans l’arbre de la vue Structure du code Macro, sur le noeud correspondant à la fonction ou sous-fonction. Il est identifié dans le code de la Macro sous la forme LV=nn (où nn représente le niveau).
  • Pour un Programme, Ecran ou Composant Applicatif, il est affiché à partir de la colonne 73, sous la forme lvnn (où nn représente le niveau).

La valeur du niveau dépend de l’élément créé. Pour une fonction, le niveau est 05. Pour une sous-fonction, le niveau doit être compris entre 06 à 98. Le niveau par défaut des sous-fonctions est 10.

A l'intérieur d'une fonction, une sous-fonction de niveau n est dépendante des sous-fonctions de niveau inférieur à n qui la précèdent. Par exemple, une sous-fonction de niveau 15 dépend de toute sous-fonction de niveau 06 à 14 la précédant. Une sous-fonction n'est exécutée que si la fonction et toutes les sous-fonctions dont elle dépend sont exécutées.

Titre
Vous pouvez indiquer, de manière facultative, le titre de la fonction ou sous-fonction.

Pour une insertion dans un Programme, Ecran ou Serveur, la chaîne de caractère que vous indiquez constituera le titre d’une fonction ou un commentaire sur la première ligne d’une sous-fonction. La valeur par défaut est une série de tirets. Si vous la laissez et voulez la modifier dans le code, double-cliquez dessus et indiquez une autre valeur.

Condition d’exécution
Cette zone est disponible pour une fonction ou sous-fonction non liée à un modèle (valeur Aucun dans la zone Modèle).
Remarque : Pour une insertion dans une Macro, toutes les conditions d’exécution sont disponibles. En revanche, pour une insertion dans un Programme, Ecran ou Serveur, seules les conditions Aucun, IT, DU et DW sont disponibles.
Vous indiquez si l'exécution de la fonction ou sous-fonction est conditionnée de l’une des façons suivantes :
  • Aucun : La fonction ou sous-fonction est toujours exécutée.
    Remarque : Pour créer une fonction ou sous-fonction de ce type, vous pouvez aussi insérer un fragment Sous-fonction sans conditionnement
  • IT : La fonction ou sous-fonction est exécutée si la condition est satisfaite.

    Après avoir inséré la fonction ou sous-fonction, créez une ligne sans numéro de ligne directement dans le code et saisissez la condition. Vous pouvez saisir du code sur les lignes suivantes en créant des lignes débutant par des numéros de ligne.

    Remarque : Pour créer une fonction ou sous-fonction avec une condition IT, vous pouvez aussi insérer un fragment Sous-fonction avec conditionnement.

    Les ordres COBOL IF THEN condition et NEXT SENTENCE GO TO Fffnn-FN sont générés automatiquement après la génération de l’instance appelant la Macro.

  • EL : Cette condition est interdite au niveau fonction. La sous-fonction est exécutée si la sous-fonction précédente avec une condition IT ne l’a pas été.

    Après avoir inséré la sous-fonction, créez une ligne sans numéro de ligne directement dans le code et saisissez la condition. Vous pouvez saisir du code sur les lignes suivantes en créant des lignes débutant par des numéros de ligne.

    Les ordres COBOL Fffnn-900 et GO TO Fffnn-FN sont générés automatiquement après la génération de l’instance appelant la Macro. ffnn est la sous-fonction associée contenant la condition IT.

  • DO : Cette condition est interdite au niveau fonction. La sous-fonction est exécutée de façon répétitive entre deux bornes, en fonction d’un pas d’incrémentation. Les bornes sont obligatoires mais le pas est facultatif.

    Après avoir inséré la sous-fonction, créez une ligne sans numéro de ligne directement dans le code et indiquez la condition. Saisissez, dans l’ordre, la borne inférieure, la borne supérieure et le pas d’incrémentation de l’indice. Séparez les trois éléments par un espace. Les bornes peuvent être une valeur ou un nombre (signé ou non).

    Un indice JffnnR, où ffnn représente le code de la sous-fonction, est généré automatiquement. Pour générer un autre indice, vous devez saisir I=indice borne1 borne2 pas, où indice correspond à une zone de travail numérique. Vous pouvez aussi insérer un fragment Insertion d’indices pour déclarer facilement un autre indice.

    Les ordres COBOL Fffnn-900 et GO TO Fffnn-A sont générés automatiquement après la génération de l’instance appelant la Macro.

  • DW : Cette condition est interdite au niveau fonction. La sous-fonction est exécutée de façon répétitive tant que sa condition est satisfaite.

    Après avoir inséré la sous-fonction, créez une ligne sans numéro de ligne directement dans le code et saisissez la condition. Vous pouvez saisir du code sur les lignes suivantes en créant des lignes débutant par des numéros de ligne.

    Les ordres COBOL Fffnn-900 et GO TO Fffnn sont générés automatiquement après la génération de l’instance appelant la Macro.

  • DU : Cette condition est interdite au niveau fonction. La sous-fonction est exécutée de façon répétitive jusqu’à ce que sa condition soit satisfaite. Elle est donc exécutée au moins une fois.

    Après avoir inséré la sous-fonction, créez une ligne sans numéro de ligne directement dans le code et saisissez la condition. Vous pouvez saisir du code sur les lignes suivantes en créant des lignes débutant par des numéros de ligne.

    Aucun ordre COBOL n’est généré automatiquement.

Positionnement spécifique

Modèle
Les informations que vous devez indiquer dans l’assistant dépendent du modèle sélectionné dans cette zone. Trois valeurs sont possibles :
  • Aucun : Les fonctions ou sous-fonctions créées dans l’assistant ne sont pas insérées relativement à des fonctions ou sous-fonctions automatiques.
  • Dialogue standard ou client : Vous ne pouvez créer que des sous-fonctions. Ces sous-fonctions sont insérées relativement à des sous-fonctions automatiques du modèle.
  • Composant Applicatif : Les fonctions et sous-fonctions créées dans l’assistant sont insérées relativement à des fonctions et sous-fonctions automatiques du modèle.
Type d’insertion
Cette zone est associée au modèle Composant Applicatif.
Vous devez indiquer par rapport à quel traitement automatique votre traitement spécifique sera inséré. Les insertions suivantes sont possibles :
  • Insertion par rapport aux traitements de niveau hiérarchique 05 : Insertion par rapport aux blocs de début et de fin de Composant Applicatif, bloc des déclarations SQL et blocs Vue Logique (uniquement dans une Macro).
  • Insertion par rapport aux traitements SQL : Insertion par rapport aux traitements SQL de niveau hiérarchique 10 situés dans le bloc des déclarations SQL. Ces insertions sont relatives aux ordres SQL DECLARE CURSOR et WHENEVER.
    Remarque : Avant d'insérer des traitements spécifiques SQL, vous devez d'abord associer une fonction de niveau hiérarchique 05 au bloc FSQL. Les insertions se feront ensuite dans des sous-fonctions de niveaux hiérarchiques inférieurs.
  • Insertion par rapport aux traitements d’une Vue Logique : Insertion dans le corps du programme ou dans les traitements élémentaires exécutés par PERFORM. Cette insertion n'est possible que dans une Macro.
  • Insertion par rapport au niveau des accès logiques : Insertion dans les traitements d'accès logiques aux Segments pour contrôle, mise à jour ou sélection. Cette insertion n'est possible que dans une Macro.
  • Insertion par rapport au niveau des accès physiques : Insertion dans la fonction 80.Cette insertion n'est possible que dans une Macro.

Vos commentaires