Personnalisation des accès SQL dans les Segments

Vous personnalisez des accès SQL dans les lignes -GG des Segments, sur des lignes de type G. Sur la première ligne, vous indiquez l'accès que vous voulez personnaliser et sur les lignes suivantes, vous indiquez la ou les parties de l'accès que vous voulez modifier ou ajouter.

Procédure

  1. Saisissez la première ligne de l'accès SQL personnalisé.

    Ouvrez le sous-onglet Lignes -GG d'un Segment. Cliquez sur Ajouter puis sélectionnez G dans la zone Type.

    Saisissez SQL au début de la zone Description pour indiquer que vous voulez personnaliser un accès SQL Après un espace, indiquez le type d'accès à personnaliser. Le type d'accès est standard ou non standard.
    • Les accès standard sont automatiquement pris en compte dans les instances des entités (Programme, Ecran ou Serveur) appelant le Segment. Ces accès sont les suivants :
      • R : Select
      • RU : Select for Update
      • W : Insert
      • RW : Update
      • D : Delete
      • P : Open Cursor
      • RA: Select (Pacbench C/S)
      • RN : Fetch
      • DC : Declare Cursor
      • CL : Close Cursor
      Remarque : L'accès standard DC (Declare Cursor) n'est pas géré pour les accès SQL où la génération du DC se fait en WORKING-STORAGE SECTION.
      Figure 1. Exemple de personnalisation de l'accès standard en sélection :
      Type   Description 
      G      SQL R
    • Un accès non standard doit être explicitement demandé dans les instances d'entités appelant le Segment. Il est codé sur un ou deux caractères de votre choix. Cet accès peut être :
      • Combiné à un accès standard si vous souhaitez ne modifier qu'une partie de l'accès standard et laisser au générateur le soin de gérer la syntaxe. Dans ce cas, vous devez d'abord saisir le code de l'accès non standard puis, après un blanc, le code de l'accès standard.
      • Utilisé seul si vous souhaitez introduire un accès entièrement nouveau. Dans ce cas, l'accès doit être entièrement décrit et appelé en spécifique. La syntaxe (ponctuation, mot-clé...) doit être entièrement gérée.
      Figure 2. Exemple de personnalisation d'un accès non standard en sélection :
      Type   Description 
      G      SQL R1 RA
      Figure 3. Exemple d'introduction d'un accès non standard pour compter le nombre d'enregistrements dans la table des trajets :
      Type   Description 
      G      SQL CP
  2. Saisissez les lignes suivantes.

    L'accès SQL est décrit par un ensemble de clauses (par exemple ACCESS, WHERE, ORDER). Chaque clause est décrite par un mot-clé et des données. A partir de la deuxième ligne, vous saisissez donc ces mots-clés, qui s'appliquent indifféremment à la personnalisation des accès standard et non standard.

    Les données correspondantes remplaceront celles qui auraient été générées. Si elles doivent être ajoutées en complément, saisissez ADD devant ou derrière chaque mot-clé.

    Sélectionnez un type de ligne G pour les lignes suivantes. Saisissez le mot-clé et les paramètres nécessaires à la mise en oeuvre de ce mot-clé dans la zone Description.
    Notes :

    Un mot-clé qui nécessite plusieurs lignes ne doit pas être répété sur chaque ligne.

    Le délimiteur correspondant est automatiquement généré à la fin de chaque ligne. Lorsqu'un nom de colonne ou de variable hôte ne peut être saisi sur une ligne, vous sélectionnez le type V pour cette ligne, et saisissez la suite sur la ligne suivante (reprise du type G). Dans ce cas, et si vous indiquez un nom de colonne et de variable hôte (sous forme :- ou non), la variable hôte doit être saisie sur une ligne différente du nom de la colonne. En revanche, si vous codez une variable hôte et son indicateur sous la forme :- (sans code Segment), ils doivent être saisis sur la même ligne.

    Vous pouvez indiquer les mots-clés suivants, en précisant leurs paramètres associés :
    • ACCESS, suivi de l'accès SQL :

      Ce mot-clé permet de réécrire la clause d'accès (par exemple SELECT, UPDATE, DELETE)

    • COLUMN, suivi de la liste des colonnes :

      Ces colonnes sont codées soit sous la forme SQL-code Rubrique (dans ce cas elles sont remplacées à la génération par leur nom relationnel), soit directement sous leur nom relationnel.

      Chaque colonne peut être suivie (séparée par au moins un blanc) du code de la variable hôte (et indicateur), codée soit sous la forme :-code Rubrique (à la génération, le code Segment Ecran défini dans les lignes -CS sera inséré devant le :-code Rubrique), soit sous son nom de variable hôte. Si la variable hôte n'est pas codée, pour les ordres où elle est nécessaire, elle sera générée avec le code Segment Ecran et le code Rubrique indiqué dans la colonne (sous la forme SQL-code Rubrique, sinon il est obligatoire d'indiquer le code de la variable hôte).

      Les paramètres associés à ce mot-clé ont des contraintes spécifiques de ponctuation :
      • Si le nom de colonne et la variable hôte ne peuvent tenir sur une ligne, vous pouvez utiliser une ou plusieurs lignes de type V mais uniquement pour le nom de la variable hôte; le nom de colonne ne peut être saisi que sur une seule ligne.
      • Pour l'ordre UPDATE (RW) du mot-clé COLUMN, l'ensemble formé de la variable hôte et de son indicateur doit toujours être codé sur une seule ligne quel que soit le format de leur saisie.
    • FROM, suivi d'une liste de tables :

      A la génération, ce mot-clé est transformé en INTO ou reste à FROM selon le type d'accès.

    • ORDER, suivi d'une liste de colonnes :

      Ce mot-clé permet de préciser l'ORDER BY.

      Les noms colonnes peuvent être codés sous la forme SQL-code Rubrique et les variables hôtes et indicateurs sous la forme :-code Rubrique.

    • PARAM, suivi des paramètres complémentaires :

      Ce mot-clé permet de coder des paramètres supplémentaires comme COUNT, HAVING. Le mot-clé ADD n'est pas nécessaire.

      Les noms colonnes peuvent être codés sous la forme SQL-code Rubrique et les variables hôtes et indicateurs sous la forme :-code Rubrique.

    • WHERE, suivi des critères de sélection :

      Les noms colonnes peuvent être codés sous la forme SQL-code Rubrique et les variables hôtes et indicateurs sous la forme :-code Rubrique.

    Important :

    Le format généré des Rubriques date et des Rubriques variables utilisées en paramètres de ces mots-clés (par exemple, la saisie de la colonne DATJOU (date du jour) comme paramètre de l'ordre ORDER) dépend du type de Bloc.

    L'option UPPER=NO, introduite sur une ligne de type O dans les lignes -GO de l'instance appelant le Segment inhibe la conversion minuscules majuscules des valeurs saisies entre deux délimiteurs de littéral (la valeur du littéral est définie au niveau de la Bibliothèque).

    La syntaxe des ordres SQL pour les blocs RDMS (organisation R) n'est pas implémentée. La règle de préfixage n'est pas appliquée. Le nom de la table est conservé, et le point situé en tête est supprimé, s'il existe.

Exemple


Vos commentaires