Après avoir personnalisé un accès SQL dans les Lignes
-GG d'un Segment, vous pouvez décider de le prendre
en compte ou de l'ignorer dans le Programme ou l'Ecran standard
qui appelle ce Segment. Vous devez pour cela utiliser le micro-pattern SQL.
Prise en compte dans les Programmes
Les
accès personnalisés sont pris en compte dans un Programme si les Lignes
-CD du Programme contiennent le code du Bloc dans la zone Nom
externe et l'organisation dans la zone Organisation.
Vous
devez appeler explicitement chaque accès personnalisé devant être
généré dans le Programme.
Pour gérer la prise en compte des
accès SQL dans un Programme, ouvrez le code COBOL du Programme avec
l'éditeur COBOL PDP puis
indiquez le micro-pattern SQL avec ses différents
paramètres.
La syntaxe est la suivante :
- *! est la balise de début du micro-pattern,
obligatoire. Le * doit être saisi en colonne 7, réservée
aux commentaires dans le code COBOL, et le ! doit
être saisi en colonne 8.
- SQL est l'identifiant du micro-pattern, obligatoire.
- " " doit encadrer les opérandes.
- Le code Segment dans le Programme, obligatoire (SGPG par
exemple).
- Le code Segment dans le référentiel, s'il est différent du code
Segment dans le Programme (SS00 par exemple).
- Le type d'accès, obligatoire :
- Si vous indiquez l'accès standard avant l'accès non standard,
la personnalisation de l'accès non standard sera prise en compte et
complétera l'accès standard.
- Si vous n'indiquez que l'accès non standard sans indiquer d'accès
standard, la personnalisation de l'accès non standard sera prise en
compte. Elle constituera une fonction utilisateur inconnue du générateur
et vous devrez donc la décrire et la gérer entièrement en spécifique.
Remarque : Vous devez saisir un seul blanc entre chaque
opérande. Les accès doivent être codés sur deux positions s'ils sont
sur un caractère (D, P, R, W)
et s'ils sont redéfinis et personnalisés.
Figure 1. Dans
cet exemple, la personnalisation de l'accès standard en sélection
indiquée dans le Segment SS00 sera prise en compte
:*!SQL "SGPG SS00 R"
Figure 2. Dans cet exemple, la personnalisation de l'accès
non standard en sélection indiquée dans le Segment SS00 sera
prise en compte :*!SQL "SGPG SS00 R R1"
Important : Pour pouvoir prendre en compte le multiligne,
vous devez indiquer, dans les Lignes -GO du
Programme, l'option MULTIROW=ssss,xxx,
où ssss est un Segment et xxx est
l'indice maximal.
Prise en compte dans les Ecrans standard
Les
accès personnalisés sont pris en compte dans les Ecrans standard si
l'option PACSQL est indiquée dans l'onglet Complément du
Dialogue ou les Lignes -GO du Dialogue ou de
l'Ecran.
Tous les accès sont générés dans la fonction F80.
Les
accès standard personnalisés sont automatiquement générés avec les
compléments de personnalisation saisis dans les Lignes
-GG du Segment. Si vous souhaitez ignorer la personnalisation,
vous devez le spécifier dans le code COBOL de l'Ecran.
Pour
prendre en compte les accès non standard, vous devez les appeler explicitement
dans le code COBOL de l'Ecran.
Remarque : Les accès standard sont ignorés
pour les organisations R (SQL RDMS) et 2 (DB2
sans accès généré) mais vous pouvez spécifier la prise en compte des
accès non standard.
Pour gérer la prise en compte des
accès SQL dans un Ecran standard, ouvrez le code COBOL associé à cet
Ecran en utilisant l'éditeur COBOL PDP et saisissez le micro-pattern
SQL avec ses différents paramètres.
Le début de la syntaxe
doit être le suivant :
- *! est la balise de début du micro-pattern,
obligatoire. Le * doit être saisi en colonne 7, réservée
aux commentaires dans le code COBOL, et le ! doit
être saisi en colonne 8.
- SQL est l'identifiant du micro-pattern, obligatoire.
- " " doit encadrer les opérandes.
- Le code Segment est obligatoire (SS00 par exemple).
La suite de la syntaxe dépend de la façon dont vous voulez
prendre en compte l'accès personnalisé indiqué dans les
Lignes
-GG du Segment :
- Pour ignorer la personnalisation d’un accès standard, vous devez
faire suivre le Segment du code de l’accès standard.
Figure 3. Dans
cet exemple, la personnalisation de l'accès standard en sélection
indiquée dans le Segment SS00 sera ignorée :*!SQL "SS00 R"
- Pour prendre en compte un accès non standard, vous avez trois
possibilités :
- Si vous saisissez le code de l’accès standard avant le code de
l’accès non standard, la personnalisation de l’accès non standard
sera prise en compte et sera générée dans les traitements standard
de la fonction F80.
Figure 4. Dans cet exemple,
l’accès non standard en sélection indiqué dans le Segment SS00 sera
pris en compte et le traitement automatique de la lecture du Segment SS00 sera
complété par les lignes correspondant à l’accès en sélection R1.*!SQL "SS00 R R1"
- Si vous ne saisissez que le code de l’accès non standard (sans
indiquer d’accès standard), la personnalisation de l’accès non standard
sera prise en compte et sera générée dans une sous-fonction spécifique
de la fonction F80. Elle constituera donc une fonction
utilisateur inconnue du générateur et vous devrez donc la décrire
et la gérer entièrement en spécifique.
Figure 5. Dans cet exemple,
l’accès non standard en sélection indiqué dans le Segment SS00 sera
pris en compte mais les lignes correspondant à R1 seront
générées sous la forme d’une sous-fonction spécifique F80-SS00-R1.*!SQL "SS00 R1"
- Si vous saisissez le code de l’accès non standard, suivi du signe = et
du code de l’accès standard, la personnalisation de l’accès non standard
sera prise en compte et complétée par les traitements générés automatiquement
pour l’accès standard en fonction F80.
Figure 6. Dans
cet exemple, l’accès non standard en sélection indiqué dans le Segment SS00 sera
pris en compte et complété par les traitements générés automatiquement
pour l’accès standard en sélection.*!SQL "SS00 R1=R"
Remarque : Vous devez saisir un seul blanc entre chaque
opérande. Les accès doivent être codés sur deux positions s'ils sont
sur un caractère (D, P, R, W)
et s'ils sont redéfinis et personnalisés.