47 F2 80UR REV02 - Support On Line

Transcription

47 F2 80UR REV02 - Support On Line
Bases de données (IQS)
Bull DPS 7000
IQS-V4 Guide de l'administrateur
GCOS 7
Logiciel
Sujet :
Description des tâches incombant à l'administrateur pour la
préparation et l'exploitation du système d'information relationnel
IQS.
Observations :
La révision 01 reste valable pour les utilisateurs d'IQS-V4 disposant
de versions antérieures de GCOS 7.
Versions du logiciel :
GCOS 7-V8 TS8560.
Date :
Juin 1998
Bull Electronics Angers S.A.
CEDOC
Atelier de reprographie
331, Avenue Patton
49004 ANGERS Cedex 01
FRANCE
47 F2 80UR Rev02
Bull HN Information Systems Inc.
Publication Order Entry
FAX: (508) 294-7411
MA02/423S
Technology Park
Billerica, MA 01821
U.S.A.
Copyright  Bull S.A., 1995, 1997, 1998
Toutes les marques citées sont la propriété de leurs titulaires respectifs.
Vos suggestions sur la forme et le fond de ce manuel seront les bienvenues. Une feuille destinée à
recevoir vos remarques se trouve à la fin du présent manuel.
La loi du 11 mars 1957, complétée par la loi du 3 juillet 1985, interdit les copies ou reproductions
destinées à une utilisation collective. Toute représentation ou reproduction intégrale ou partielle faite
par quelque procédé que ce soit, sans consentement de l'auteur ou de ses ayants cause, est illicite et
constitue une contrefaçon sanctionnée par les articles 425 et suivants du code pénal.
Ce document est fourni à titre d'information seulement. Il n'engage pas la responsabilité de Bull S.A.
en cas de dommages résultant de son application. Des corrections ou modifications au contenu de ce
document peuvent intervenir sans préavis ; des mises à jour ultérieures les signaleront
éventuellement aux destinataires.
47 F2 80UR Rev02
Préface
OBJET DU MANUEL
Ce manuel décrit les diverses tâches d'administration qu'impliquent la configuration et
l'utilisation efficaces du système d'information relationnel IQS.
La maîtrise d'un tel système suppose la connaissance du système d'exploitation
GCOS 7, de même qu'un bon niveau de formation aux produits IDS/II, GAC, UFAS et
GCL, qui ne sont pas présentés ici. Elle implique également la connaissance des
catalogues, des bibliothèques, de la gestion des fichiers et des commandes, ainsi
qu'une bonne appréhension des fonctions d'administration plus générales.
L'administrateur IQS a un rôle important et accomplit un grand nombre de tâches. Telle
qu'elle est envisagée dans ce manuel, sa fonction inclut la définition et la maintenance
des vues standard et des structures de fichiers, ainsi que la réservation de place pour
les fichiers de saisie. La définition des grilles utilisateur appartient quant à elle davantage
au cycle de développement ; elle est donc traitée dans le Guide de l'utilisateur expert
IQS-V4.
Certaines tâches de l'administrateur IQS interviennent en dehors d'IQS et d'autres à
l'intérieur d'IQS ; certaines sont autonomes et d'autres non. C'est pourquoi les différents
sujets ne peuvent pas être abordés dans le cadre d'un plan rigoureusement structuré.
Pour replacer les principales responsabilités de l'administrateur IQS dans leur contexte
général, voir le chapitre 1.
Enfin, le contenu précis des tâches de l'administrateur IQS dépend du site où il travaille ;
ce manuel ne doit donc pas être pris dans un sens restrictif. Par exemple, sur les sites
importants, la gestion des données sera probablement prise en charge par
l'administrateur des données. De même, dans le cadre d'un centre d'expertise, la
définition de l'environnement de chaque utilisateur et la définition des droits d'accès
pourront incomber au responsable de ce centre. On trouvera des précisions sur
l'implication des utilisateurs et une introduction à l'environnement de type centre
d'expertise au chapitre 2.
Il faut donc considérer ce manuel davantage comme la présentation de différentes
tâches d'administration que comme la délimitation précise du rôle de chaque
intervenant.
47 F2 80UR Rev02
iii
IQS-V4 Guide de l'administrateur
UTILISATEURS CONCERNES
Ce manuel s'adresse aux professionnels de l'informatique dont les responsabilités
incluent l'administration d'une base de données IQS.
Sa bonne compréhension implique l'expérience du système d'exploitation GCOS 7 ainsi
que des produits et utilitaires exploités en relation avec IQS. Une expérience
d'administration de systèmes plus générale constitue d'autre part un atout important.
STRUCTURE DU MANUEL
Chapitres 1 à 13
iv
Chapitre 1
Principales responsabilités de l'administrateur d'une base de
données IQS-V4.
Chapitre 2
Problèmes posés par l'informatique individuelle et rôle d'IQS
dans le cadre d'un centre d'expertise.
Chapitre 3
Personnalisation du système IQS livré et définition des
droits d'accès et des déclencheurs.
Chapitre 4
Informations de référence sur le langage de description des
données (DDL).
Chapitre 5
Compilation des schémas DDL origine au moyen de
MNDD/DDPROC pour obtenir des schémas DDL résultants.
Chapitre 6
Lancement du processeur IQS au moyen du GCL ou du
JCL, en mode interactif et en traitement par lots.
Chapitre 7
Compilation des schémas DDL résultants pour obtenir des
schémas utilisables par IQS.
Chapitre 8
Vues standard et exemples, traités étape par étape, de
définition, mise à jour, sauvegarde et visualisation.
Chapitre 9
Structures et exemples, traités étape par étape, de
définition, mise à jour, sauvegarde et visualisation.
Chapitre 10
Types de fichiers utilisés par IQS, et noms de fichiers ;
définition, personnalisation et utilisation des fichiers de
saisie.
Chapitre 11
Utilisation pendant une session IQS de la métabase IQS
(dictionnaire de données en ligne).
Chapitre 12
Réponse à des questions concernant la recompilation
(quand et comment elle doit être effectuée).
Chapitre 13
Informations complémentaires sur le système : fichiers sous
GAC, attente prolongée, blocage du traitement et gestion
des tampons.
47 F2 80UR Rev02
Préface
Annexes A à E
Annexe A
Création d'un modèle de système IQS.
Annexe B
Recommandations concernant les index secondaires.
Annexe C
Utilisation de GT-WRITER pour diriger les sorties IQS sur
un terminal d'impression à distance.
Annexe D
Possibilités de manipulation des données en fonction de
l'organisation des fichiers.
Annexe E
Tables des données du schéma SCH-CUSTOMERS.
Exemples :
Ce manuel comporte de nombreux exemples. Si certains sujets paraissent justifier des
exemples supplémentaires, veuillez nous le faire savoir. Si des exemples précis
semblent pouvoir compléter utilement le texte existant, prière de nous les communiquer,
accompagnés de la feuille de remarques qui se trouve à la fin de ce manuel.
BIBLIOGRAPHIE
Le diagramme ci-dessous représente l'ensemble de la documentation IQS-V4 et indique
les manuels destinés à chaque catégorie d'usagers.
47 F2 80UR Rev02
v
IQS-V4 Guide de l'administrateur
R esp o n sa b le s
d u se rvice
in fo rm a tiq u e
IQ S -V 4
P ré s e n ta tio n
g é n é ra le d u
s ys tè m e
47 F2 71UR
A dm in istra teu rs
IQ S
In itia tio n
à
IQ S -V 4
47 F2 72UR
IQ S -V 4
IQ S -V 4
G u id e d e
l'a d m in is ta te u r
47 F 2 8 0 U R
B u lle tin d e
lo g ic ie l
47 F2 70UR
Développeurs
IQ S -V 4
G u id e d e
l'u tilis a te u r
e xp e rt
47 A2 76UR
IQ S -V 4 /T D S
G u id e d e
l'u tilis ate u r
47 F 2 8 1 U R
IQ S -V4
G uide du
p rogram m eur
47 F 2 79U R
IQ S -V 4
M anuel de
ré fé re n ce
V o lu m e 1
47 F2 77UR
IQ S -V 4
M a n u el d e
réfé re n c e
V o lu m e 2
47 F2 78U R
U tilisa te u rs
e xp erts
D o cu m e n tation
W IL
In itia tio n
a u la n g a ge
d e re q u ê te s
47 F2 74UR
vi
U tilisa te u rs
n o vice s
T o us
utilisa te urs
IQ S -V 4
G uid e d e
l'u tilis a te u r
n o v ic e
4 7 A 2 73 U R
IQ S -V 4
G uid e
p ra tiq u e
47 F2 75UR
IQ S -V 4
In d e x
47 F2 82UR
47 F2 80UR Rev02
Préface
Les références des autres manuels IQS-V4 figurent dans la liste ci-dessous. Pour avoir
la liste complète des manuels GCOS 7 généraux, on se reportera au Bulletin de logiciel
GCOS 7.
Cette bibliographie est fournie à titre indicatif. Pour plus de précisions
(disponibilité du manuel, numéro de révision, indice de mise à jour, veuillez vous
adresser à CEDOC ou éventuellement consulter le fascicule "Documents
nouveaux" (référence 00 F4 7210)
Documentation IQS
IQS-V4 - Bulletin de logiciel..............................................................................47 F2 70UR
IQS-V4 Software Release Bulletin .................................................................. 47 A2 70UR
IQS-V4 - Présentation générale du système....................................................47 F2 71UR
IQS-V4 Quick Tour.......................................................................................... 47 A2 71UR
Initiation à IQS-V4 ............................................................................................47 F2 72UR
Getting started with IQS-V4 ............................................................................ 47 A2 72UR
IQS-V4 - Guide de l'utilisateur novice ..............................................................47 F2 73UR
IQS-V4 - End User's Guide ............................................................................. 47 A2 73UR
Initiation au langage de requêtes .....................................................................47 F2 74UR
Getting started with Query .............................................................................. 47 A2 74UR
IQS-V4 - Guide pratique...................................................................................47 F2 75UR
IQS-V4 - Quick Reference Handbook ............................................................. 47 A2 75UR
IQS-V4 - Guide de l'utilisateur expert...............................................................47 F2 76UR
IQS-V4 - Advanced User's Guide ................................................................... 47 A2 76UR
IQS-V4 - Manuel de référence - Volume 1.......................................................47 F2 77UR
IQS-V4 - Reference Manual Volume 1............................................................ 47 A2 77UR
IQS-V4 - Manuel de référence - Volume 2.......................................................47 F2 78UR
IQS-V4 - Reference Manual Volume 2............................................................ 47 A2 78UR
IQS-V4 - Guide du programmeur .....................................................................47 F2 79UR
IQS-V4 - Programmer's Guide ........................................................................ 47 A2 79UR
IQS-V4 - Guide de l'administrateur ..................................................................47 F2 80UR
IQS-V4 - Administrator's Guide ....................................................................... 47 A2 80UR
IQS-V4/TDS - Guide de l'utilisateur..................................................................47 F2 81UR
IQS-V4/TDS User's Guide .............................................................................. 47 A2 81UR
IQS-V4 - Index .................................................................................................47 F2 82UR
IQS-V4 Index................................................................................................... 47 A2 82UR
Dans ce manuel, les références sont citées sous forme abrégée (4 derniers
caractères alphanumériques).
47 F2 80UR Rev02
vii
IQS-V4 Guide de l'administrateur
CONVENTIONS D'ECRITURE APPLICABLES AU DDL
Les conventions d'écriture utilisées dans ce manuel pour la syntaxe du langage de
description des données sont les suivantes :
• Une clause peut comporter des mots en majuscules et en minuscules ainsi que des
symboles et des caractères spéciaux.
• Les mots en majuscules soulignés sont des mots-clés, dont la présence est
obligatoire dans le format. Exemple : SCHEMA NAME IS nom-schéma.
• Les mots en majuscules non soulignés sont facultatifs. C'est le cas, dans l'exemple
ci-dessus, de NAME et IS.
• Les mots en minuscules sont des termes génériques, qui doivent être remplacés par
les noms ou valeurs appropriés. Ainsi, dans l'exemple ci-dessus, "nom-schéma" doit
être remplacé par le nom de schéma défini par l'utilisateur.
• Les symboles spéciaux sont utilisés comme suit :
a
[ b ]
c
Valeur facultative.
maximum.
a
{ b }
c
Valeur obligatoire. Une occurrence et une seule.
|| a ||
|| b ||
|| c ||
Aucune
occurrence
ou
une
au
Valeur obligatoire. Une occurrence au moins et une de
chaque au maximum.
• Les points de suspension (...) indiquent que l'élément qui précède ou la totalité du
contenu des crochets ou accolades précédentes peut être répété une ou plusieurs
fois.
viii
47 F2 80UR Rev02
Préface
CONVENTIONS D'ECRITURE APPLICABLES AU GCL
Les conventions d'écriture utilisées dans ce manuel pour la syntaxe des commandes
GCL (voir chapitre 6) sont les suivantes :
ELEMENT
Les majuscules indiquent un nom ou un mot-clé, à introduire
tel quel.
élément
Les minuscules indiquent une valeur à fournir par
l'utilisateur.
En général, le type et la longueur maximale de la valeur
sont spécifiés :
déc3 =
nombre entier décimal de trois chiffres maximum
car105 = chaîne de 105 caractères alphanumériques
maximum
hexa2 = valeur hexadécimale ne pouvant pas dépasser FF
nom31 = nom de 31 caractères maximum
bib78 =
nom de bibliothèque de 78 caractères maximum
fic78 =
nom de fichier de 78 caractères maximum
ast31 =
profil de nom de 31 caractères maximum, régi par
la convention astérisque
Dans certains cas, le format de la valeur est précisé :
a=
un seul caractère alphabétique
nnn =
nombre de trois chiffres
hh.mm = heures et minutes
Dans d'autres cas, il s'agit d'une simple description de la
valeur :
classe-appareils
condition
caractères quelconques
{élément}
{élément}
{élément}
Une colonne d'éléments entre accolades indique que l'un
d'eux doit être sélectionné.
[élément]
Les crochets indiquent un élément facultatif.
ELEMENT
Un élément souligné représente une valeur implicite. C'est
la valeur que le système retient lorsqu'aucune autre n'est
spécifiée.
bool
Valeur booléenne, c'est-à-dire 0 ou 1. Si l'utilisateur introduit
simplement un mot-clé, la valeur du paramètre booléen est
implicitement égale à 1. Si le mot-clé est précédé d'un 'N', le
paramètre prend la valeur 0.
élément...
Les points de suspension indiquent que l'élément qui
précède peut être répété une ou plusieurs fois.
+=,()'/.$*-
Caractères spéciaux, à introduire tels quels.
--------
Les paramètres figurant sous une ligne de tirets ne figurent
pas dans les guidages GCL.
47 F2 80UR Rev02
ix
IQS-V4 Guide de l'administrateur
CONVENTIONS D'ECRITURE APPLICABLES A IQS
10
ELEMENT
Les majuscules indiquent un mot-clé à introduire tel quel.
ELEMENT
Un élément souligné représente la valeur implicite.
Lorsqu'un choix entre plusieurs valeurs est possible (liste
verticale), la valeur implicite, s'il y en a une, est soulignée. A
ne pas confondre avec l'entrée utilisateur. Voir "Exemples"
ci-dessous.
<valeur>
Valeur (ou chaîne) à fournir par l'utilisateur. A noter que
dans les exemples, les valeurs correspondant à des
minuscules peuvent être en majuscules. Voir "Exemples" cidessous.
élément
Elément dont la valeur est connue.
[élément]
Les crochets indiquent un élément facultatif.
{ a }
{ b }
{ c }
Une valeur et une seule.
|| a ||
|| b ||
|| c ||
Une occurrence au moins. Une occurrence de chaque au
maximum.
...
Les points de suspension signifient que la syntaxe qui
précède peut être répétée une ou plusieurs fois. Si la
syntaxe est à l'intérieur de crochets coudés, c'est la totalité
du contenu des crochets qui peut être répétée.
+ = , () ' / . $ -
Caractères spéciaux à introduire tels quels.
Ils sont obligatoires si la partie du format dans laquelle ils
apparaissent doit être fournie.
Exemples
Par convention, l'entrée utilisateur est toujours soulignée.
Elle est également en MAJUSCULES sauf dans le cas où la
chaîne contient des caractères minuscules.
47 F2 80UR Rev02
Table des matières
1.
Introduction ...........................................................................................................
1-1
1.1
RESPONSABILITES D'ORDRE GENERAL ..............................................................
1-1
1.2
RESPONSABILITES SPECIFIQUES .........................................................................
1-3
2.
IQS et les utilisateurs novices.......................................................................
2-1
2.1
INTRODUCTION.........................................................................................................
2-1
2.2
L'INFORMATION DISPONIBLE POUR TOUS ..........................................................
2-2
2.3
INFORMATIQUE INDIVIDUELLE ..............................................................................
2-3
2.4
LE CONCEPT DE CENTRE D'EXPERTISE...............................................................
2-4
2.4.1
2.4.2
2.4.3
2.4.4
2.4.5
2.4.6
Fixation et suivi des objectifs ..................................................................................
Options d'installation................................................................................................
L'investissement nécessaire en formation.............................................................
Contrôle et préparation ............................................................................................
Mise en oeuvre ..........................................................................................................
Résumé ......................................................................................................................
2-4
2-4
2-5
2-5
2-6
2-6
47 F2 80UR Rev02
xi
IQS-V4 Guide de l'administrateur
3.
Accès et protection ............................................................................................
3-1
3.1
CONCEPTS DE BASE ...............................................................................................
3-2
3.1.1
3.1.2
3.1.3
3.1.4
3.1.5
Environnements ........................................................................................................
Familles de commandes...........................................................................................
Projets ........................................................................................................................
Accessibilité et visibilité des commandes .............................................................
Droits opérateur ........................................................................................................
3-2
3-3
3-3
3-3
3-4
3.2
PERSONNALISATION DU DOMAINE IQS................................................................
3-5
3.2.1
3.2.2
3.2.3
3.2.4
3.2.5
Commande MODIFY_ACCESS.................................................................................
LIST_ACCESS............................................................................................................
RESET ........................................................................................................................
Paramètres de MODIFY_ACCESS............................................................................
Utilisation de MODIFY_ACCESS..............................................................................
3-5
3-6
3-6
3-6
3-7
3.3
DROITS D'ACCES AUX OBJETS IQS.......................................................................
3-9
3.3.1
3.3.2
3.3.3
3.3.4
3.3.5
3.3.6
Etablissement des droits d'accès............................................................................
GRANT et REVOKE ...................................................................................................
Prise en compte des droits d'accès ........................................................................
SYSADMIN .................................................................................................................
Propriétaire ................................................................................................................
Contrôle des droits d'accès .....................................................................................
3-9
3-9
3-10
3-11
3-12
3-13
3.4
DECLENCHEURS ......................................................................................................
3-14
3.4.1
3.4.2
3.4.2.1
3.4.2.2
Déclencheurs niveau session..................................................................................
Déclencheurs niveau base de données et niveau requête ...................................
@NEXT-QUERY et @NEXT-SCRIPT ........................................................................
Définition et suppression des déclencheurs................................................................
3-14
3-17
3-17
3-18
3.4.3
3.4.4
Déclencheurs niveau transaction (TDS) .................................................................
Déclencheur @TRIGGER-ERROR ...........................................................................
3-19
3-19
3.5
VARIABLES SYSTEME .............................................................................................
3-20
3.5.1
3.5.2
3.5.3
3.5.4
3.5.4.1
3.5.4.2
Gestion de la consommation des ressources........................................................
Contrôle de la consommation des ressources ......................................................
Priorité d'exécution...................................................................................................
Dépassement des limites .........................................................................................
@TRIGGER-ERROR ..................................................................................................
@TRIGGER-CODE-ERROR ......................................................................................
3-20
3-21
3-21
3-22
3-22
3-22
3.6
DISPLAY STATUS .....................................................................................................
3-24
3.6.1
3.6.2
Exemple en mode ligne ............................................................................................
Informations obtenues .............................................................................................
3-24
3-25
xii
47 F2 80UR Rev02
Table des matières
4.
Définition des schémas ....................................................................................
4-1
4.1
INTRODUCTION.........................................................................................................
4-1
4.2
UTILISATEURS DE FICHIERS IDS/II ........................................................................
4-2
4.3
COMPOSANTES D'UN SCHEMA DDL .....................................................................
4-3
4.3.1
4.3.2
4.3.3
4.3.3.1
4.3.3.2
Format origine DDL...................................................................................................
Jeu de caractères DDL..............................................................................................
Ponctuation DDL .......................................................................................................
Délimiteurs ..................................................................................................................
Séparateurs.................................................................................................................
4-3
4-4
4-5
4-5
4-5
4.3.4
4.3.4.1
4.3.4.2
4.3.4.3
4.3.4.4
4.3.4.5
Mots DDL ...................................................................................................................
Mots réservés..............................................................................................................
Noms ...........................................................................................................................
Représentation synonymique des noms .....................................................................
Unicité des noms.........................................................................................................
Nombre maximum de noms........................................................................................
4-6
4-6
4-6
4-7
4-7
4-7
4.3.5
4.3.5.1
4.3.5.2
4.3.5.3
Littéraux .....................................................................................................................
Littéraux alphanumériques..........................................................................................
Littéraux numériques...................................................................................................
Littéraux hexadécimaux ..............................................................................................
4-8
4-8
4-8
4-9
4.3.6
4.3.7
4.3.8
4.3.8.1
4.3.8.2
Commentaires ...........................................................................................................
Noms de données .....................................................................................................
Identificateurs de données.......................................................................................
Indiçage.......................................................................................................................
Qualification.................................................................................................................
4-9
4-10
4-10
4-10
4-10
4.3.9
4.3.9.1
4.3.9.2
4.3.9.3
4.3.9.4
4.3.9.5
4.3.9.6
Conditions .................................................................................................................
Format général d'une condition...................................................................................
Alternative ...................................................................................................................
Condition simple..........................................................................................................
Condition relationnelle.................................................................................................
Utilisation des parenthèses .........................................................................................
Exemples de conditions ..............................................................................................
4-11
4-11
4-11
4-11
4-12
4-14
4-14
4.4
SYNTAXE DDL ...........................................................................................................
4-15
4.4.1
4.4.2
4.4.3
4.4.4
4.4.5
4.4.6
4.4.7
4.4.8
4.4.9
Ordre des rubriques..................................................................................................
Description des rubriques........................................................................................
Rubrique SCHEMA ....................................................................................................
Rubrique AREA..........................................................................................................
Rubrique RECORD....................................................................................................
Clause RECORD NAME ............................................................................................
Clause WITHIN...........................................................................................................
Clause KEY ................................................................................................................
Clause RECORD-TYPE .............................................................................................
4-15
4-16
4-16
4-17
4-18
4-19
4-19
4-20
4-22
47 F2 80UR Rev02
xiii
IQS-V4 Guide de l'administrateur
4.4.10
4.4.11
4.4.12
4.4.13
4.4.14
4.4.15
4.4.16
4.4.17
4.4.18
4.4.19
Clause CHECK (sous-rubrique article) ...................................................................
Clause nom-donnée..................................................................................................
Clause TYPE ..............................................................................................................
Clause OCCURS ........................................................................................................
Clause CHECK (sous-rubrique zone)......................................................................
Rubrique SET ............................................................................................................
Clause SET NAME .....................................................................................................
Clause OWNER..........................................................................................................
Clause MEMBER .......................................................................................................
Rubrique END-SCHEMA ...........................................................................................
4-23
4-24
4-25
4-28
4-30
4-32
4-34
4-34
4-35
4-35
4.5
EXEMPLE ...................................................................................................................
4-36
4.6
MOTS RESERVES DU LANGAGE DDL....................................................................
4-38
5.
Compilation d'un schéma par MNDD .........................................................
5-1
5.1
INTRODUCTION.........................................................................................................
5-1
5.2
MAINTAIN_DATA_DESCRIPTION (MNDD) ..............................................................
5-2
5.3
LANCEMENT DE MNDD PAR L'INTERMEDIAIRE DE DDPROC ............................
5-3
5.4
COMMANDE TRANSLATE DE MNDD ......................................................................
5-4
6.
Lancement d'IQS .................................................................................................
6-1
6.1
INTRODUCTION.........................................................................................................
6-1
6.2
BIBLIOTHEQUES UTILISEES PAR IQS ...................................................................
6-2
6.3
CREATION DES BIBLIOTHEQUES ..........................................................................
6-4
6.4
CREATION D'UN SCHEMA .......................................................................................
6-5
6.5
COMPILATION DU SCHEMA POUR FICHIER UFAS PAR MNDD (DDPROC) .......
6-5
6.6
APPEL DU PROCESSEUR IQS .................................................................................
6-6
6.6.1
6.6.2
6.6.3
6.6.4
6.6.4.1
6.6.4.2
6.6.4.3
Exécution de la commande IQS en interactif .........................................................
Exécution de la commande IQS via une unité de bibliothèque............................
Création d'une procédure GCL................................................................................
Méthodes de lancement d'une session IQS ...........................................................
Exécution d'une procédure GCL .................................................................................
Exécution d'une commande GCL ...............................................................................
Exécution d'une séquence JCL...................................................................................
6-6
6-12
6-13
6-17
6-17
6-17
6-19
xiv
47 F2 80UR Rev02
Table des matières
6.7
UTILISATION D'IQS EN TRAITEMENT PAR LOTS..................................................
6-21
6.7.1
6.7.1.1
6.7.1.2
Soumission sous forme d'une procédure GCL......................................................
COMFILE ....................................................................................................................
PRTFILE......................................................................................................................
6-22
6-23
6-23
6.7.2
6.7.2.1
6.7.2.2
6.7.2.3
6.7.2.4
Soumission sous forme d'un travail JCL ...............................................................
COMFILE ....................................................................................................................
PRTFILE......................................................................................................................
STATUS et code SEV .................................................................................................
Traitement de STATUS en mode par lots...................................................................
6-24
6-24
6-24
6-25
6-26
7.
Compilation des schémas sous IQS ..........................................................
7-1
7.1
GENERALITES...........................................................................................................
7-1
7.2
NOUVEAUX SCHEMAS .............................................................................................
7-3
7.3
SCHEMAS EXISTANTS .............................................................................................
7-3
8.
Vues standard ......................................................................................................
8-1
8.1
INTRODUCTION.........................................................................................................
8-1
8.1.1
8.1.2
8.1.3
8.1.4
Bases de données et vues standard .......................................................................
Autres types de vues ................................................................................................
Vue dynamique..........................................................................................................
Remarques à l'intention des utilisateurs TDS........................................................
8-2
8-3
8-3
8-3
8.2
ARTICLE LOGIQUE ...................................................................................................
8-4
8.3
ZONE LOGIQUE.........................................................................................................
8-6
8.4
CONCEPTION ET CREATION D'UNE VUE STANDARD .........................................
8-7
8.4.1
8.4.2
8.4.3
8.4.4
8.4.5
Généralités.................................................................................................................
Exemples de vues standard.....................................................................................
Clés primaires et secondaires .................................................................................
Définition de la vue MY-CUSTOMERS ....................................................................
Définition de la vue MAKE-ORDERS .......................................................................
8-7
8-9
8-10
8-13
8-15
47 F2 80UR Rev02
xv
IQS-V4 Guide de l'administrateur
8.5
MISE A JOUR D'UNE VUE STANDARD ...................................................................
8-18
8.5.1
8.5.2
8.5.3
8.5.4
8.5.5
8.5.6
Droits d'accès............................................................................................................
Remarques à propos d'IDS/II ...................................................................................
Mise à jour des attributs d'une vue .........................................................................
Mise à jour d'un article logique ...............................................................................
Mise à jour d'une zone logique................................................................................
Nouvelle sauvegarde de la vue................................................................................
8-18
8-19
8-19
8-20
8-20
8-22
8.6
MISE A JOUR DE DONNEES PAR L'INTERMEDIAIRE D'UNE VUE.......................
8-23
8.6.1
8.6.2
8.6.3
Sélection d'une vue standard pour la mise à jour .................................................
Protection contre la mise à jour au niveau vue .....................................................
Protection contre la mise à jour au niveau zone ...................................................
8-23
8-23
8-23
8.7
VISUALISATION D'INFORMATIONS SUR UNE VUE...............................................
8-24
8.7.1
8.7.2
8.7.3
8.7.4
8.7.5
8.7.6
8.7.7
8.7.8
Sous-menu DISPLAY VIEW ......................................................................................
Visualisation d'informations sur un article ............................................................
Visualisation d'informations sur une zone.............................................................
Listage des articles d'une vue .................................................................................
Visualisation d'informations sur les ensembles d'une vue ..................................
Listage des schémas sous-jacents .........................................................................
Visualisation de la liste des zones d'un article ......................................................
Listage des noms de projet......................................................................................
8-24
8-24
8-25
8-25
8-25
8-26
8-26
8-26
8.8
VISUALISATION D'INFORMATIONS SUR LES SCHEMAS.....................................
8-27
8.8.1
8.8.2
8.8.3
8.8.4
8.8.5
Sous-menu DISPLAY SCHEMA................................................................................
Listage des aires d'un schéma ................................................................................
Visualisation des clés d'un article...........................................................................
Listage des articles d'une aire .................................................................................
Retour au sous-menu DISPLAY VIEW ....................................................................
8-27
8-27
8-28
8-28
8-28
9.
Structures...............................................................................................................
9-1
9.1
INTRODUCTION.........................................................................................................
9-1
9.1.1
9.1.2
9.1.3
9.1.4
Attributs des structures............................................................................................
Attributs des zones ...................................................................................................
Définition....................................................................................................................
Utilisation ...................................................................................................................
9-2
9-2
9-2
9-3
xvi
47 F2 80UR Rev02
Table des matières
9.2
DEFINITION D'UNE STRUCTURE ............................................................................
9-4
9.2.1
9.2.2
9.2.3
9.2.4
Définition manuelle d'une structure........................................................................
Définition d'une structure à partir d'un article de la vue courante ......................
Définition d'une structure à partir d'une ou plusieurs grilles...............................
Définition implicite d'une structure.........................................................................
9-4
9-6
9-7
9-7
9.3
MISE A JOUR D'UNE STRUCTURE..........................................................................
9-10
9.3.1
9.3.2
9.3.3
Mise à jour des attributs d'une structure................................................................
Modification de la liste des zones ...........................................................................
Mise à jour d'une zone de structure........................................................................
9-10
9-11
9-12
9.4
VISUALISATION D'INFORMATIONS SUR LES STRUCTURES ..............................
9-14
9.4.1
9.4.2
9.4.3
9.4.4
9.4.5
Sous-menu DISPLAY STRUCTURE.........................................................................
Visualisation des attributs d'une structure ............................................................
Visualisation de toutes les zones d'une structure.................................................
Visualisation d'une zone de structure ....................................................................
Visualisation des droits d'accès à la structure ......................................................
9-14
9-14
9-15
9-16
9-17
10.
Fichiers IQS ...........................................................................................................
10-1
10.1
FICHIERS BASE DE DONNEES................................................................................
10-1
10.2
FICHIERS CLASSIQUES ...........................................................................................
10-2
10.3
AFFECTATION DES FICHIERS IQS..........................................................................
10-3
10.3.1
10.3.2
10.3.3
10.3.4
10.3.5
Noms de fichiers .......................................................................................................
Affectation de noms de fichiers externes...............................................................
Affectation de noms de fichiers internes................................................................
Relations entre les différents noms ........................................................................
Remarque complémentaire sur les noms de fichiers IQS.....................................
10-3
10-4
10-4
10-4
10-5
10.4
FICHIERS D'IMPRESSION ........................................................................................
10-6
10.4.1
10.4.2
Utilisation de sous-fichiers ......................................................................................
Fichiers d'impression en traitement par lots .........................................................
10-6
10-6
10.5
FICHIERS DE SAISIE .................................................................................................
10-7
10.5.1
10.5.2
10.5.3
10.5.4
10.5.5
10.5.6
10.5.7
Introduction ...............................................................................................................
Sécurité ......................................................................................................................
Caractéristiques implicites ......................................................................................
Possibilités offertes ..................................................................................................
Exemple d'utilisation des fichiers de saisie ...........................................................
Objectif de l'exemple ................................................................................................
Réalisation .................................................................................................................
10-7
10-7
10-7
10-8
10-10
10-11
10-11
47 F2 80UR Rev02
xvii
IQS-V4 Guide de l'administrateur
11.
Utilisation de la métabase IQS ......................................................................
11-1
11.1
INTRODUCTION.........................................................................................................
11-1
11.2
ACCES A LA METABASE..........................................................................................
11-2
11.2.1
11.2.2
Accès en langage non procédural...........................................................................
Accès en langage procédural ..................................................................................
11-2
11-2
11.3
TACHES DE L'ADMINISTRATEUR ...........................................................................
11-3
11.4
EXEMPLES.................................................................................................................
11-4
12.
Recompilation ......................................................................................................
12-1
12.1
INTRODUCTION.........................................................................................................
12-1
12.2
PROCEDURE DE MODIFICATION DES SCHEMAS ................................................
12-2
13.
Environnement GCOS 7 ...................................................................................
13-1
13.1
ACCES CONCURRENTS...........................................................................................
13-1
13.1.1
13.1.2
13.1.2.1
13.1.2.2
Unité de consolidation..............................................................................................
Consolidation en traitement par lots et sous IOF..................................................
Consolidation automatique..........................................................................................
Consolidation manuelle ...............................................................................................
13-2
13-3
13-3
13-3
13.1.3
Consolidation sous IQS/TDS ...................................................................................
13-4
13.2
PARTAGE DE FICHIERS ...........................................................................................
13-5
13.2.1
13.2.1.1
13.2.1.2
Fichiers aires UFAS ..................................................................................................
Fichiers catalogués .....................................................................................................
Fichiers non catalogués ..............................................................................................
13-5
13-5
13-5
13.2.2
13.2.3
13.2.4
13.2.5
Aires IDS/II..................................................................................................................
Fichiers de travail......................................................................................................
Fichiers contrôlés par TDS ......................................................................................
Fichiers protégés par journalisation .......................................................................
13-5
13-6
13-6
13-6
13.3
PARTAGE DE RESSOURCES...................................................................................
13-7
13.3.1
13.3.2
Blocage du traitement ..............................................................................................
Attente prolongée......................................................................................................
13-7
13-9
13.4
OPTIMISATION ET PERFORMANCES .....................................................................
13-10
13.4.1
13.4.2
13.4.3
13.4.4
Paramètre SIZE..........................................................................................................
Paramètre POOLSIZE................................................................................................
Groupe de paramètres DEFn (NBBUF) ...................................................................
Groupe de paramètres DEFn (BUFPOOL) ..............................................................
13-11
13-11
13-12
13-12
13.5
IQS SANS GAC-EXTENDED......................................................................................
13-12
xviii
47 F2 80UR Rev02
Table des matières
Annexes
A.
Exemple de création d'un système IQS ....................................................
A-1
A.1
INTRODUCTION.........................................................................................................
A-1
A.2
REPERTOIRE .............................................................................................................
A-2
A.2.1
A.2.2
A.2.3
Sous-répertoire..........................................................................................................
Répertoire de référence............................................................................................
Informations sur le contenu d'un répertoire ..........................................................
A-2
A-2
A-2
A.3
DESCRIPTION DU SYSTEME ...................................................................................
A-3
A.3.1
A.3.2
A.3.3
Bibliothèques utilisées .............................................................................................
Fichiers de données utilisés ....................................................................................
Fichiers de travail utilisés ........................................................................................
A-3
A-3
A-3
A.4
ORDRE D'EXECUTION DES COMMANDES ............................................................
A-4
A.4.1
A.4.2
A.4.3
A.4.4
A.4.5
A.4.6
A.4.7
A.4.8
A.4.9
Création du répertoire ..............................................................................................
Création des bibliothèques et des fichiers.............................................................
Définition des bibliothèques de travail ...................................................................
Description des schémas.........................................................................................
Appel d'IQS ................................................................................................................
Compilation d'un schéma sous IQS........................................................................
Création d'une base de données séquentielle indexée.........................................
Création d'une base de données séquentielle .......................................................
Suppression du contenu de la base de données ..................................................
A-4
A-4
A-5
A-5
A-8
A-10
A-10
A-14
A-16
B.
Sauvetage des index secondaires ...............................................................
B-1
B.1
INTRODUCTION.........................................................................................................
B-1
B.2
SAUVETAGE DES INDEX SECONDAIRES ..............................................................
B-2
B.3
INFORMATIONS COMPLEMENTAIRES...................................................................
B-2
47 F2 80UR Rev02
xix
IQS-V4 Guide de l'administrateur
C.
Utilisation de GT-WRITER sous IQS ...........................................................
C-1
C.1
INTRODUCTION.........................................................................................................
C-1
C.1.1
C.1.2
Utilisation du dispositif AUTO de SYS.TW.OUT ....................................................
Création d'une unité dans la bibliothèque IQS SLLIB ...........................................
C-1
C-2
D.
Opérations possibles en fonction de l'organisation des données
D-1
E.
Schéma SCH-CUSTOMERS : tables des données ................................
E-1
Glossaire ..................................................................................................................................
g-1
Index
xx
...................................................................................................................................
i-1
47 F2 80UR Rev02
Table des matières
Illustrations
Figures
3-1
4-1
4-2
5-1
7-1
8-1
8-2
8-3
8-4
8-5
8-6
8-7
8-8
10-1
10-2
10-3
12-1
A-1
A-2
A-3
A-4
A-5
A-6
B-1
D-1
Utilisateurs, projets et environnements .......................................................................
3-4
Schéma SCH-CUSTOMERS ......................................................................................
4-36
Description origine du schéma SCH-CUSTOMERS ...................................................
4-37
Commande TRANSLATE ...........................................................................................
5-4
Compilation des schémas pour utilisation sous IQS ...................................................
7-2
Types de vues standard ..............................................................................................
8-8
Schéma SCH-CUSTOMERS ......................................................................................
8-9
Vue linéaire MY-CUSTOMERS...................................................................................
8-9
Vue arborescente MY-ORDERS .................................................................................
8-9
Vue linéaire MY-ITEMS...............................................................................................
8-10
Schéma SCH-CUSTOMERS avec clés primaires et secondaires..............................
8-11
Vue linéaire MY-CUSTOMERS avec son origine........................................................
8-12
Vue MAKE-ORDERS avec son origine .......................................................................
8-16
Relations entre nfe, nfi et nom de fichier IQS .............................................................
10-5
Déroulement d'une session de saisie..........................................................................
10-9
Vue V-PROMO avec son origine................................................................................. 10-17
Recompilation..............................................................................................................
12-3
DDL du schéma origine IND .......................................................................................
A-6
DDL du schéma origine SEQ ......................................................................................
A-7
Création d'une procédure GCL d'appel d'IQS .............................................................
A-9
Création d'un fichier séquentiel indexé : requête IND-CREATE ................................. A-11
Données introduites à l'exécution de IND-CREATE (1/2) ........................................... A-12
Création d'un fichier séquentiel : requête SEQ-CREATE ........................................... A-15
Clés secondaires dans le schéma SCH-CUSTOMERS .............................................
B-3
Opérations possibles pour chaque organisation .........................................................
D-2
47 F2 80UR Rev02
xxi
IQS-V4 Guide de l'administrateur
Tableaux
4-1
4-2
4-3
4-4
4-5
4-6
6-1
6-2
6-3
6-4
9-1
9-2
E-1
E-2
E-3
E-4
22
Jeu de caractères DDL ...............................................................................................
Limites DDL.................................................................................................................
Opérateurs de comparaison........................................................................................
Comparaison de deux identificateurs de données ......................................................
Comparaison d'un identificateur de données et d'un littéral........................................
Correspondance entre les types de données DDL et COBOL....................................
Bibliothèques IQS........................................................................................................
Relations entre messages d'erreur IQS, niveaux d'erreur IQS et #STATUS..............
Interprétation de #STATUS au niveau commande .....................................................
#STATUS et #SEV à la fin de l'étape..........................................................................
Niveaux d'utilisation de DEFINE STRUCTURE ..........................................................
Niveaux d'utilisation de UPDATE STRUCTURE.........................................................
Table CUSTOMERS ...................................................................................................
Table ORDER .............................................................................................................
Table ORDER-LINES..................................................................................................
Table ITEMS ...............................................................................................................
4-4
4-7
4-12
4-13
4-13
4-27
6-3
6-29
6-29
6-29
9-9
9-13
E-1
E-2
E-3
E-4
47 F2 80UR Rev02
1. Introduction
1.1
RESPONSABILITES D'ORDRE GENERAL
L'administrateur IQS est avant tout responsable :
• de la mise en oeuvre technique de l'environnement base de données IQS,
• du fonctionnement au jour le jour de la base de données IQS et des règles
concernant son utilisation.
Ces responsabilités étant très étendues, il n'est plus possible de les confier à plusieurs
personnes d'une organisation sans risquer de provoquer des incohérences. Dans un
environnement base de données de complexité moyenne, la gestion et le contrôle
doivent être effectués par un seul groupe d'administrateurs : par exemple, pour une
base de données IQS, l'administrateur IQS associé à l'administrateur des données de
l'entreprise.
Le propos de ce guide n'est pas de présenter les tâches et responsabilités les plus
générales de l'administrateur IQS. Pour toutes informations sur le DDL, MNDD, IDS/II,
UFAS, GAC, les catalogues, le GCL, le JCL, l'administration sous IOF, etc., se reporter
à la documentation GCOS 7 appropriée.
L'éventail des tâches qui peuvent incomber à l'administrateur IQS est le suivant :
• Application de la politique de gestion de la base de données définie par l'organisation
et établissement de conventions relatives à l'utilisation et à l'évolution de cette base.
L'administrateur doit également s'assurer que les utilisateurs adhèrent à la politique et
aux conventions définies et les observent.
• Conception de la base de données IQS de façon à ce qu'elle puisse répondre aux
besoins présents et futurs le plus efficacement possible. Définition d'un système de
priorités applicable aux utilisateurs.
• Définition de contrôles de validité des données dans les schémas origine. Mise en
oeuvre de tous les verrous et restrictions d'accès nécessaires. Autorisation d'accès à
des données spécifiques. Détection et élimination de tous les problèmes de sécurité
éventuels.
• Vérification de l'adéquation entre les applications existantes et les besoins des
utilisateurs. Recherche d'éventuelles applications nouvelles dérivées de celles-ci.
Vérification de la conformité de toutes les applications aux règles de conception en
vigueur pour la base de données IQS de l'organisation.
47 F2 80UR Rev02
1-1
IQS-V4 Guide de l'administrateur
• Définition de normes et de règles techniques rigoureuses. Définition, organisation et
représentation des données en vue de permettre leur utilisation concurrente et leur
exploitation par de multiples applications. Définition de règles d'accès aux données,
de saisie et de mise à jour destinées aux utilisateurs et aux développeurs.
• Surveillance et contrôle continus de l'environnement base de données. Garantie de
l'adéquation entre la spécification et la conception des extensions, services et
utilitaires exploités dans l'environnement base de données et les besoins et objectifs
définis au départ. Mise en place de procédures visant à assurer la sécurité, la
confidentialité et l'intégrité des données ainsi que leur reconstitution en cas d'incident.
• Prise en charge de la formation interne des utilisateurs concernés, en fonction de
leurs besoins spécifiques. Fourniture aux utilisateurs des parties de la documentation
IQS-V4 qui les concernent.
• Assistance technique aux personnels suivants :
-
administrateur des données (chargé de la gestion des données de l'entreprise :
analyse, définition, impact des mises à jour, duplication, archivage, etc.),
-
directeur du centre d'expertise, chargé d'aider les utilisateurs à développer leurs
propres applications,
-
chefs de projet, chargés de planifier, contrôler et gérer les projets de
développement d'applications,
-
développeurs, chargés d'analyser, concevoir, programmer, tester et mettre en
oeuvre les applications.
Tous ces personnels dépendent dans une plus ou moins grande mesure de
l'administrateur IQS, qui centralise tous les problèmes relatifs à l'administration de la
base de données IQS.
1-2
47 F2 80UR Rev02
Introduction
1.2
RESPONSABILITES SPECIFIQUES
Ce manuel contient des informations destinées à aider l'administrateur de base de
données IQS dans les tâches suivantes :
• Création et personnalisation des profils utilisateur, procédures de lancement, projets,
environnements et menus (voir chapitre 3).
• Définition des droits d'accès au niveau projet GCOS 7 (voir chapitre 3).
• Création et gestion des déclencheurs (voir chapitre 3).
• Définition de schémas DDL origine (voir chapitre 4).
• Compilation des schémas DDL origine au moyen de MNDD (voir chapitre 5).
• Lancement du processeur IQS par différents moyens, en mode interactif et traitement
par lots ; personnalisation des procédures IQS (voir chapitre 6).
• Compilation des schémas DDL sous IQS au moyen de la commande COMPILE
SCHEMA pour rendre les schémas exploitables sous IQS (voir chapitre 7).
• Définition, mise à jour et personnalisation des vues standard ; définition des droits
d'accès aux articles (et zones d'article) de ces vues (voir chapitre 8).
• Définition, mise à jour et personnalisation des structures ; définition des droits d'accès
aux articles et zones d'article de ces structures (voir chapitre 9).
Utilisation des structures et des vues standard (voir chapitres 8 et 9).
• Utilisation des fichiers IQS. Définition de fichiers de saisie et intégration de ces
fichiers à des vues standard (voir chapitre 10).
• Utilisation de la métabase IQS (voir chapitre 11).
• Recompilation des objets IQS (quand et comment - voir chapitre 12).
• Contrôle des accès concurrents et du partage des fichiers et des ressources ;
optimisation de la gestion des tampons (voir chapitre 13).
• Création d'un système IQS (voir annexe A).
• Sauvetage des index secondaires (voir annexe B).
• Utilisation de GT-WRITER sous IQS (voir annexe C).
47 F2 80UR Rev02
1-3
IQS-V4 Guide de l'administrateur
Les autres tâches incombant à l'administrateur de bases de données IQS sont les
suivantes :
• Gestion des fichiers de travail et d'impression nécessaires aux utilisateurs ; résolution
de tout conflit relatif aux volumes ou aux désignations, aux longueurs fixes ou
variables, etc.
• Gestion de l'utilisation des requêtes IQS sous IOF, TDS ou en traitement par lots.
• Gestion de l'utilisation des scénarios.
• Gestion des versions d'IQS en langues étrangères.
• Communication des règles de formation des noms d'objets IQS et contrôle de leur
application.
1-4
47 F2 80UR Rev02
2. IQS et les utilisateurs novices
2.1
INTRODUCTION
Ce manuel s'adresse aux spécialistes d'IQS susceptibles de participer à une équipe
d'assistance aux utilisateurs ou à un centre d'expertise au sein de l'entreprise. Il
s'adresse également à l'administrateur IQS, chargé de coordonner les activités de
l'équipe ou du centre d'expertise. Les tâches à accomplir au sein d'une organisation de
ce type sont généralement plus variées que celles effectuées dans le cadre d'un service
informatique classique.
Le langage IQS permettant des cycles de prototypage et de développement relativement
rapides, il est possible de créer un véritable "service clients" en interne, capable de
répondre aux problèmes des utilisateurs de la compagnie.
Le présent chapitre fournit uniquement des indications sur la création et la gestion d'un
centre d'expertise informatique interne. Il appartient à chaque installation de trouver la
solution qui lui convient.
47 F2 80UR Rev02
2-1
IQS-V4 Guide de l'administrateur
2.2
L'INFORMATION DISPONIBLE POUR TOUS
Il existe de nombreux langages de quatrième génération (L4G). Bien qu'aucun standard
n'ait encore été établi, la plupart des L4G disposent des composants ci-dessous :
• un dictionnaire de données (la metabase IQS),
• un utilitaire de dessin de grilles (le processeur de grilles IQS),
• un générateur d'états perfectionné (le processeur/générateur d'états IQS),
• des outils de prototypage et de gestion de données (le langage de commande IQS).
Les attributs suivants permettent également de qualifier IQS de L4G:
• facilité d'apprentissage (quelques jours suffisent à un programmeur pour devenir
opérationnel),
• une interface en mode menu (et une interface en mode ligne pour les programmeurs),
• un langage procédural permettant de générer des requêtes (le langage de requêtes
IQS),
• des outils permettant aux programmeurs de développer des applications de
traitement transactionnel (interface IQS/TDS),
• des possibilités de gestion de réseau,
• l'élimination de la redondance et de la duplication des données par la création d'un
système de gestion de base de données souple et adaptable.
Mais IQS n'est pas uniquement un L4G. Il comporte un ensemble d'outils qui en font un
véritable environnement de quatrième génération (E4G). Dans cet environnement,
tous les utilisateurs de l'entreprise ont accès à l'information et peuvent extraire et mettre
en forme les données nécessaires à l'exercice de leur activité.
IQS est un outil à la fois puissant et facile à utiliser qui est complètement intégré au
système d'exploitation Bull GCOS 7. Il interface directement avec UFAS, IDS/II, TDS,
l'éditeur plein écran (FSE), l'éditeur ligne (TEXT EDITOR), l'utilitaire FORMS, les
bibliothèques, le GCL, le JCL et GAC, et peut être relié à d'autres produits de type base
de données ou tableur via IQS-Link et WIL. IQS dispose également de ses propres
outils de traitement et constitue donc un environnement de développement complet sous
GCOS 7, tout en offrant les possibilités d'un solide système d'information.
2-2
47 F2 80UR Rev02
IQS et les utilisateurs novices
2.3
INFORMATIQUE INDIVIDUELLE
Un centre d'expertise doit avant tout être au service des utilisateurs pour les aider à
utiliser au mieux les outils et les ressources techniques à leur disposition. Autrement dit,
il assure non seulement la formation mais aussi le pilotage et le contrôle des activités.
Le centre d'expertise devra donc faire une campagne d'information et de promotion,
surtout si aucune structure de ce type n'existait dans l'entreprise.
Cette campagne devra s'adresser aux trois principaux types d'utilisateurs d'IQS
(sans compter les spécialistes), c'est-à-dire :
• Décideurs (personnel d'encadrement) : ils ont besoin d'obtenir des résultats
rapidement, sans perdre du temps à élaborer ou tester eux-mêmes des applications.
Ils utilisent généralement des requêtes ou des scénarios prédéfinis, et font
éventuellement des demandes ponctuelles et urgentes auprès de l'équipe
d'assistance informatique.
• Utilisateurs novices : ce sont en général, les plus nombreux. Ils ont fréquemment
recours au système, mais exécutent des tâches relativement simples pour IQS. Ils
utilisent des scénarios et des requêtes personnalisés et peuvent être amenés à écrire
eux-mêmes des requêtes simples, voire des requêtes paramétrables pas trop
complexes. Ils peuvent être autorisés à exécuter un sous-ensemble de commandes
IQS, en particulier celles concernant la saisie des données, la consultation de la base
de données par l'intermédiaire des vues standard et l'extraction de données.
• Utilisateurs experimentés : sans être des spécialistes, ils connaissent bien les
systèmes informatiques et peuvent utiliser les fonctions IQS de base. Ils constituent
souvent une source d'information et d'assistance pour les autres utilisateurs. Outre les
tâches énumérées précédemment, ils peuvent écrire des requêtes relativement
complexes et créer des descriptions d'état.
47 F2 80UR Rev02
2-3
IQS-V4 Guide de l'administrateur
2.4
2.4.1
LE CONCEPT DE CENTRE D'EXPERTISE
Fixation et suivi des objectifs
Avant de mettre en place un centre d'expertise et de lui affecter des ressources, il est
nécessaire de définir des objectifs réalistes et d'effectuer une étude de faisabilité
sérieuse. Si ces conditions ne sont pas respectées, le centre d'expertise risque de
générer plus de problèmes qu'il n'en résoudra.
Après une période de rodage du centre, il suffit de contrôler si le nombre de problèmes
de maintenance et de développement système à traiter a diminué pour apprécier l'intérêt
d'une telle organisation.
2.4.2
Options d'installation
Trois solutions sont possibles pour installer un centre d'expertise en interne :
1.
Dans une grande entreprise disposant déjà de systèmes de production centralisés,
il est préférable de créer une unité d'assistance IQS séparée, c'est-à-dire non
intégrée au service informatique. Cette unité sera ainsi bien identifiée et les
ressources qui lui seront affectées ne risqueront pas d'être utilisées pour
développer des applications générales.
2.
Dans les entreprises où des systèmes d'information ont déjà été mis en place, il est
possible d'y intégrer le centre d'expertise IQS.
3.
La dernière solution consiste à organiser les opérations de traitement de
l'information autour du centre d'expertise. Ce dernier bénéficie alors du soutien de
l'ensemble de l'organisation, tout en étant à la disposition des clients, c'est-à-dire
des utilisateurs.
La solution à adopter dépend d'un certain nombre de critères, entre autres :
• le niveau d'engagement et de coopération du personnel d'encadrement,
• la politique informatique interne,
• la planification et la justification des ressources,
• le nombre de personnes disponibles, leur profil, les besoins en formation, leur
évolution de carrière,
• l'équipement, les installations et la documentation interne,
• les heures ouvrables.
2-4
47 F2 80UR Rev02
IQS et les utilisateurs novices
2.4.3
L'investissement nécessaire en formation
La création d'un centre d'expertise nécessite un important investissement humain. Les
programmeurs et développeurs devront apprendre les nouvelles techniques liées aux
langages de quatrième génération comme IQS. Cela suppose des compétences en
analyse et en prototypage ainsi que la capacité de concevoir et rédiger des requêtes et
des procédures efficaces et lisibles. Sans oublier l'aptitude à travailler en équipe qui
conditionne largement la réussite du centre.
Du côté des utilisateurs novices, il est conseillé d'organiser d'abord une courte formation
interne (de deux jours environ) pour les futurs utilisateurs d'IQS. Utiliser, par exemple, le
Manuel d'introduction au langage de requêtes IQS-V4 comme point de départ et
présenter des tâches simples ; l'Initiation à IQS-V4 peut également servir de lecture
générale.
Il est indispensable de prévoir des ressources suffisantes en temps et en personnel pour
mener à bien cette période de familiarisation.
2.4.4
Contrôle et préparation
Le concept de centre d'expertise est également un moyen de contrôler la prolifération de
l'informatique individuelle. Des utilisateurs de toutes catégories sont désormais équipés
de micros et de stations de travail et réclament de plus en plus d'outils d'aide à la
décision. Une approche globale de l'informatique individuelle permet au service
informatique de garder un certain contrôle sur ce phénomène.
Le travail de préparation ne doit pas non plus être négligé. L'administrateur IQS et son
équipe doivent étudier tous les aspects de gestion des fichiers et des données traités
dans ce manuel : cela comprend, par exemple, la duplication quotidienne d'une base de
données mise à jour, sur les sites utilisant une machine spécialisée pour l'informatique
individuelle.
Mais la formation n'est pas toujours suffisante pour encourager les utilisateurs novices à
se servir d'un système. Il est donc conseillé de prévoir une "interface" conviviale qui
rendra le système attractif (voir le Guide du programmeur IQS-V4 qui fournit quelques
indications sur le sujet). Il est également recommandé de présenter les requêtes
utilisables sous forme de menus.
Le centre d'expertise doit proposer des solutions aux problèmes soumis par les
utilisateurs. Il peut aussi aider ces derniers à devenir plus autonomes en leur fournissant
les moyens de résoudre eux-mêmes des problèmes similaires. L'équilibre entre ces
deux orientations est à déterminer dans les objectifs de départ.
L'utilisation de systèmes comme IQS est tout à fait adaptée aux centres d'expertise
informatique. IQS permet surtout aux utilisateurs de gérer leurs propres sorties. La
saisie des données et le traitement des fichiers, par contre, restent centralisés. En outre,
l'administrateur IQS peut décider ce qui est mis à la disposition des utilisateurs, en
accordant ou non des droits d'accès et en créant des déclencheurs "avant" niveau
session.
47 F2 80UR Rev02
2-5
IQS-V4 Guide de l'administrateur
2.4.5
Mise en oeuvre
La mise en oeuvre d'une équipe d'assistance aux utilisateurs ou d'un centre d'expertise
doit s'effectuer dans le cadre d'une application pilote.
Il est essentiel de disposer d'un système de consignation des appels/demandes des
utilisateurs. Il doit également y avoir un suivi des procédures utilisées pour résoudre les
problèmes posés.
Enfin, une enquête périodique peut être menée auprès des utilisateurs afin de planifier
les besoins à venir.
2.4.6
Résumé
Le rôle d'un centre d'expertise peut être résumé comme suit :
• identifier et promouvoir l'informatique individuelle au sein de l'entreprise, dans les
domaines fournissant un retour d'investissement valable et servant les objectifs
commerciaux de la compagnie,
• permettre aux utilisateurs novices d'atteindre une autonomie maximum tout en
contrôlant le développement des applications en interne ; aider les utilisateurs à se
débrouiller seuls, proposer des solutions à leurs problèmes, augmenter la
productivité,
• faciliter l'accès des utilisateurs à l'information, aux outils et aux ressources
spécialisées ; assurer la protection et l'intégrité des données au sein du système
d'information IQS,
• identifier et gérer les risques inhérents à un environnement d'informatique individuelle
(qui sont souvent sous-estimés) ; estimer les bénéfices obtenus.
Ces recommandations d'ordre général sont uniquement fournies à titre indicatif. Il
appartient à chaque entreprise d'effectuer, en collaboration étroite avec l'administrateur
IQS, une étude rigoureuse sur la politique à adopter en matière d'informatique
individuelle.
2-6
47 F2 80UR Rev02
3. Accès et protection
L'administrateur IQS dispose d'un certain nombre de fonctions pour gérer l'accès des
utilisateurs à IQS et assurer la protection et la confidentialité des données IQS. Il peut :
• interdire certaines commandes IQS à certains utilisateurs,
• ne faire figurer que certaines commandes dans les menus,
• restreindre l'accès aux objets IQS en établissant des droits d'accès,
• optimiser et contrôler les sessions IQS par l'intermédiaire de déclencheurs,
• vérifier l'état des sessions IQS au moyen de la commande DISPLAY STATUS,
• restreindre l'accès aux données au moyen des vues standard,
• demander la gestion des accès concurrents aux données IQS par GAC,
• protéger les fichiers au moyen du dispositif GCOS 7 de journalisation,
• contrôler les accès aux fichiers au moyen des catalogues,
• contrôler l'accès au système au moyen des identifications utilisateur et des mots de
passe.
De ces différentes possibilités, ne sont traitées ici que les cinq premières. L'utilisateur
trouvera des informations sur les vues standard et sur GAC dans le reste de ce manuel.
Les autres points relèvent des responsabilités générales d'un administrateur (se reporter
à la documentation correspondante).
47 F2 80UR Rev02
3-1
IQS-V4 Guide de l'administrateur
3.1
CONCEPTS DE BASE
La création des environnements, la définition des droits d'accès et l'adaptation et le
contrôle réguliers de ces éléments font partie des tâches de base d'un administrateur.
L'administrateur IQS doit déjà savoir comment créer l'environnement de travail d'un
utilisateur, comment définir des séquences de lancement projet et utilisateur, comment
établir la relation entre projets et environnements, comment définir des droits d'accès
aux commandes qui sont livrées dans la bibliothèque SYS.HBINLIB.
Si ce n'est pas le cas, il devra étudier le manuel de l'administrateur correspondant à la
version de GCOS dont il dispose. Pour GCOS 7-V5, par exemple, consulter le Manuel
de l'administrateur du système GCOS 7-V5 et en particulier :
• le chapitre 2 qui décrit les principaux concepts : projet, répertoire, catalogue,
environnement,
• les chapitres 10 et 11 qui traitent des environnements et de leur usage, des familles,
des droits d'accès et de la visibilité utilisateur. Il y apprendra comment créer et
supprimer des environnements, comment associer projets et environnements,
comment rendre une commande visible, occultée ou inaccessible dans un
environnement donné, comment définir la présentation des menus et comment
associer des droits opérateur aux projets dans SITE.CATALOG,
• l'annexe A qui décrit le processeur MAINTAIN_CATALOG,
• l'annexe B qui donne la liste des familles de commandes livrées avec le système,
• l'annexe C qui illustre par des exemples certaines tâches de l'administrateur
(transformation d'une commande inaccessible en commande accessible, occultation
d'une commande, création d'un nouvel environnement).
En ce qui concerne l'administration d'IQS, une brève introduction aux principaux
concepts impliqués est fournie ci-dessous.
3.1.1
Environnements
Un environnement est un ensemble de familles de commandes (256 maximum).
Un environnement permet de définir :
• quelles sont les commandes devant figurer dans le menu d'un utilisateur, et
• quelles sont celles auxquelles il ne doit pas avoir accès.
Dans un environnement donné, chaque commande peut être :
• accessible et visible dans un menu,
• accessible et occultée dans le menu,
• inaccessible.
3-2
47 F2 80UR Rev02
Accès et protection
L'administrateur peut créer des environnements adaptés aux différents types d'utilisateur
ou aux différents types d'activités au moyen de la commande ENVT.
L'utilisateur peut changer d'environnement en cours de session au moyen de la directive
MWENVT ou en modifiant la valeur de la variable système #ENVT.
3.1.2
Familles de commandes
Les familles sont définies implicitement par la création des environnements et
l'établissement de droits d'accès aux commandes. Elles permettent de gérer l'accès aux
commandes par l'intermédiaire des environnements.
Les commandes d'une même famille ont toujours des caractéristiques fonctionnelles
communes.
Les familles auxquelles appartient une commande sont l'un des éléments de la définition
de la commande. Par conséquent, les commandes livrées avec IQS appartiennent déjà
à des familles. L'administrateur peut rendre des commandes inaccessibles dans
certaines familles au moyen de la commande MODIFY_ACCESS avec le paramètre
NO_ACCESS (voir plus loin).
3.1.3
Projets
La relation entre utilisateurs et environnements est établie par l'intermédiaire des
projets. L'administrateur peut spécifier quels environnements doivent être accessibles
aux utilisateurs travaillant sous un projet donné au moyen de la commande PROJ de
MAINTAIN_COMMAND. Pour spécifier les utilisateurs travaillant sous un projet donné, il
faut utiliser la commande CRU de MAINTAIN_CATALOG.
La figure 3-1 illustre les relations entre utilisateurs, projets et environnements.
3.1.4
Accessibilité et visibilité des commandes
Les menus IQS sont créés à partir des commandes du domaine IQS, en fonction des
différents environnements.
L'accessibilité d'une commande et sa visibilité dans un environnement donné peuvent
être déterminées dynamiquement par l'administrateur, sous MAINTAIN_COMMAND, au
moyen des paramètres NO_ACCESS et HIDE de la commande MODIFY_ACCESS.
L'emplacement des commandes visibles dans les menus peut également être déterminé
par l'administrateur, au moyen du paramètre PRTY de la commande
MODIFY_ACCESS.
47 F2 80UR Rev02
3-3
IQS-V4 Guide de l'administrateur
3.1.5
Droits opérateur
Les droits opérateur constituent un moyen de contrôle supplémentaire. Ils sont
associés aux projets dans le catalogue de site et pris en compte pour déterminer
l'accessibilité et la visibilité des commandes. Toutefois le contrôle mis en oeuvre par le
biais des familles a la priorité sur le contrôle des droits opérateur.
L'administrateur IQS peut modifier dynamiquement les droits opérateur, sous
MAINTAIN_COMMAND, au moyen des paramètres NO_OPACC et OPHID de la
commande MODIFY_ACCESS.
Ces contrôles d'accès ne s'appliquent que si l'utilisateur travaille dans un environnement
lui donnant accès à la commande considérée.
UTILISATEUR 1
PROJET 1
(implicite)
ENVT 1
(implicite)
ENVT 2
ENVT 3
PROJET 2
UTILISATEUR 2
ENVT 4
(implicite)
PROJET 3
(implicite)
Figure 3-1. Utilisateurs, projets et environnements
• Un utilisateur ne peut travailler que sous un seul projet à la fois.
• Un projet peut donner accès à plusieurs environnements, le premier de la liste
constituant l'environnement implicite du projet.
• Un utilisateur peut changer d'environnement à la connexion ou en cours de session
(MWENVT ou #ENVT).
3-4
47 F2 80UR Rev02
Accès et protection
3.2
PERSONNALISATION DU DOMAINE IQS
Les commandes IQS sont livrées sous forme d'un domaine appelé IQS. Ce dernier
contient toutes les commandes de la version considérée d'IQS ; il figure dans la
bibliothèque SYS.HBINLIB.
Implicitement, toutes les commandes IQS sont présentées dans les menus par ordre
alphabétique et sont accessibles et visibles pour toutes les familles. Elles ne sont
disponibles que pour les utilisateurs dont le projet dispose du droit opérateur 4
(opérateurs GCL standard en interactif).
L'administrateur doit personnaliser le domaine IQS standard afin que chaque type
d'utilisateur n'ait accès qu'aux commandes dont il a besoin.
En général, l'administrateur définit au moins trois grandes catégories d'utilisateurs :
usagers, développeurs d'applications et administrateurs par exemple. Puis il décide du
type de commandes nécessaire pour chaque catégorie.
Ces opérations peuvent être effectuées progressivement jusqu'à ce que les différents
projets et applications soient définis. Après avoir déterminé les besoins de chaque type
d'utilisateur, l'administrateur peut commencer à personnaliser les environnements en
fonction de ces besoins et des exigences du site en ce qui concerne le sécurité et la
confidentialité des données.
La personnalisation du domaine IQS s'effectue au moyen de la commande
MODIFY_ACCESS qui n'est utilisable que sous le projet SYSADMIN.
3.2.1
Commande MODIFY_ACCESS
La commande GCL MODIFY_ACCESS (MDA) permet :
• de modifier les droits d'accès à une commande, à savoir :
-
de l'occulter pour certaines familles et/ou certains types d'opérateurs,
-
de la rendre inaccessible pour certaines familles et/ou certains types d'opérateurs,
• de modifier la priorité d'une commande, qui détermine son emplacement dans les
menus.
Les effets des commandes MODIFY_ACCESS sont cumulatifs.
Pour des informations de référence complètes sur MODIFY_ACCESS, se reporter au
Manuel de l'administrateur du système et au Manuel de référence de l'utilisateur IOF.
Les commandes MODIFY_ACCESS ne prennent effet qu'après une relance du système.
Il est recommandé de garder la trace des modifications effectuées en les enregistrant
dans un sous-fichier.
47 F2 80UR Rev02
3-5
IQS-V4 Guide de l'administrateur
3.2.2
LIST_ACCESS
La commande LIST_ACCESS (LSA) permet de visualiser la priorité et les droits d'accès
en vigueur pour les différentes commandes. Ces informations sont affichées sous forme
de tableau contenant des signes plus (+), moins (-) et des zones à blanc.
Le signe + indique que la commande est accessible et visible dans le menu.
Le signe - indique que la commande est accessible, mais occultée.
Une zone à blanc indique que la commande est inaccessible.
3.2.3
RESET
La commande RESET permet de restaurer la priorité et les droits d'accès d'origine d'une
commande. Elle annule donc toutes les modifications effectuées au moyen de
MODIFY_ACCESS depuis la livraison.
3.2.4
Paramètres de MODIFY_ACCESS
PROC
Ce paramètre spécifie le nom de la procédure définissant la commande. Dans le
domaine IQS, ce nom est identique à celui de la commande.
PRTY
Ce paramètre spécifie la nouvelle priorité à attribuer à la commande, cette priorité
déterminant son emplacement dans les menus par rapport aux autres commandes.
La valeur de PRTY doit être comprise entre 0 et 255 inclus, 0 étant la priorité la plus
élevée et 255 la priorité la plus faible.
Dans le menu, les commandes sont listées par ordre de priorité, en commençant par la
plus élevée. Les commandes ayant la même priorité sont fournies dans l'ordre
alphabétique.
NO_ACCESS
Ce paramètre spécifie la liste des familles (32 maximum) pour lesquelles la commande
doit devenir inaccessible. Chaque famille est identifiée par un nombre compris entre 1 et
256 inclus.
3-6
47 F2 80UR Rev02
Accès et protection
HIDE
Ce paramètre spécifie la liste des familles (32 maximum) pour lesquelles la commande
doit devenir occultée. A noter que si l'une des familles de la liste figure également dans
NO_ACCESS, sa présence dans HIDE ne sera pas prise en compte.
Chaque famille est identifiée par un nombre compris entre 1 et 256 inclus. La
commande doit être accessible pour les familles spécifiées (ces dernières doivent
figurer dans le paramètre ACCESS de la définition de la commande).
NO_OPACC
Ce paramètre spécifie les types d'opérateurs pour lesquels la commande doit devenir
inaccessible. Actuellement les valeurs autorisées sont 1, 4, 5 et 6. La valeur 4 rend la
commande inaccessible pour tout le monde.
Pour la signification de chaque valeur, se reporter au Manuel de l'administrateur du
système. Le contrôle des droits opérateur s'applique après celui mis en oeuvre par le
biais des familles ; par conséquent, ce sont d'abord les restrictions imposées par le
paramètre ACCESS des définitions des commandes et par les modifications ultérieures
de ces dernières qui sont prises en compte.
Les droits opérateurs sont associés aux projets dans le catalogue de site. Un utilisateur
n'aura accès à une commande que si les droits opérateur du projet sous lequel il
travaille l'y autorisent, à condition bien sûr que cette commande soit disponible dans son
environnement.
OPHID
Ce paramètre spécifie les types d'opérateurs pour lesquels la commande doit devenir
occultée. Si l'une des valeurs spécifiée ici figure également dans NO_OPACC, elle n'est
pas prise en compte.
3.2.5
Utilisation de MODIFY_ACCESS
Pour modifier les droits d'accès aux commandes, l'administrateur doit :
• appeler le processeur MAINTAIN_COMMAND (MNCMD),
• spécifier SYS.HBINLIB dans BINLIB,
• spécifier IQS dans DOMAIN,
• utiliser MODIFY_ACCESS (MDA) pour chaque commande afin de redéfinir sa priorité
et ses droits d'accès, les modifications effectuées devant aller dans le sens d'une
restriction par rapport à la définition d'origine de la commande sur laquelle elles
prennent le pas.
47 F2 80UR Rev02
3-7
IQS-V4 Guide de l'administrateur
Les modifications peuvent être effectuées ponctuellement comme dans l'exemple
ci-après ou globalement au moyen d'une procédure GCL créée sur le site.
Cela prend souvent du temps. Pour garder la trace des modifications effectuées,
l'administrateur peut les enregistrer dans un sous-fichier.
Exemple : Personnalisation des commandes IQS au moyen de MODIFY_ACCESS
Se connecter sous SYSADMIN. Après appel du processeur MAINTAIN_COMMAND et
spécification de BINLIB et DOMAIN, plusieurs commandes sont modifiées une par une.
Il aurait également été possible d'écrire une procédure GCL pour modifier plusieurs
commandes à la fois.
S: MNCMD;
>>>17:41 MNCMD 20.00
28 -2
C: BINLIB SYS.HBINLIB;
BINLIB: SYS.HBINLIB$CAT (HFSOP1:MS/B10)
C: DOMAIN IQS;
C: MDA CLOSE PRTY=0001 NO_ACCESS= (1-200, 208-256) -:
HIDE= (1-205) OPHID=4;
IQS (NOV 02, 1989 13:23)
C: MDA PROC=AUTO PRTY=0100 NO_ACCESS=(1-256) -:
NO_OPACC=(4);
IQS (NOV 02, 1989 13:23)
C: MDA PROC=OPEN PRTY=0001 NO_ACCESS= (1-200, 208-256) -:
HIDE=(1-205);
IQS (NOV 02, 1989 13:24)
C: MDA CMSC PRTY=5 NO_ACCESS=(101,102,139) HIDE=124 OPHID=1
IQS (NOV 02, 1989 13:24)
C: LSA CLOSE;
Ici, quatre commandes sont modifiées : CLOSE, AUTO, OPEN et COMPILE SCHEMA.
Puis LIST_ACCESS est employée pour vérifier les priorités et les droits d'accès de
CLOSE (le résultat n'est pas montré dans l'exemple).
3-8
47 F2 80UR Rev02
Accès et protection
3.3
DROITS D'ACCES AUX OBJETS IQS
IQS-V4 offre une protection supplémentaire : l'utilisateur connecté sous SYSADMIN peut
restreindre l'accès de certains utilisateurs aux objets IQS, en utilisant un nom de projet
GCOS 7.
Le mécanisme de protection disponible dans les versions antérieures d'IQS est toujours
utilisé pour empêcher la mise à jour des articles et/ou zones d'articles. Se reporter au
chapitre traitant des vues standard.
3.3.1
Etablissement des droits d'accès
Pour définir les droits d'accès aux vues, schémas et structures (ainsi qu'aux requêtes
associées), la procédure est la suivante :
• créer un projet GCOS 7 pour une catégorie d'utilisateurs donnée. Pour ce faire,
utiliser
la
commande
CREATE_PROJECT,
sous
le
processeur
MAINTAIN_CATALOG, qui permet de définir les caractéristiques d'un projet. Les
utilisateurs travaillant sous le projet ainsi créé peuvent uniquement exploiter les
schémas, vues, structures et requêtes autorisés pour ce projet.
• pour chaque objet IQS, accorder (commande IQS GRANT) des droits d'accès à un ou
plusieurs projets GCOS 7.
Les commandes IQS accordant implicitement le droit d'accès à tous les projets sont les
suivantes :
• COMPILE SCHEMA.
• DEFINE VIEW.
3.3.2
GRANT et REVOKE
Les commandes GRANT et REVOKE permettent d'accorder ou de supprimer les droits
d'accès à un objet IQS pour un ou plusieurs projets GCOS 7.
Exemple :
Pour accorder au projet SD3 des droits d'accès à la vue standard MY-CUSTOMERS
(qui vient d'être définie et sauvegardée), il faut d'abord supprimer les droits d'accès de
tous les projets à cette vue (valeur implicite), puis accorder les droits d'accès au projet
SD3.
C: REVOKE MY-CUSTOMERS *
C: GRANT MY-CUSTOMERS SD3
47 F2 80UR Rev02
3-9
IQS-V4 Guide de l'administrateur
Il est possible d'utiliser la convention astérisque, mais il faut le faire avec précaution. Par
exemple, en cas d'émission successive des commandes ci-dessous :
C: GRANT MY-CUSTOMERS SD*
C: REVOKE MY-CUSTOMERS SD3
Les utilisateurs travaillant sous le projet SD3 pourront toujours accéder à la vue
MY-CUSTOMERS en vertu de la convention astérisque.
3.3.3
Prise en compte des droits d'accès
Toutes les commandes permettant d'accéder aux objets prennent en compte les droits
d'accès en vigueur. Ces commandes sont les suivantes :
• DISPLAY SCHEMA
• DISPLAY STRUCTURE
• DISPLAY VIEW
•
•
•
•
DROP QUERY
DROP SCHEMA
DROP STRUCTURE
DROP VIEW
•
•
•
•
LIST QUERY
LIST SCHEMA
LIST STRUCTURE
LIST VIEW
• PRINT SCHEMA
• PRINT STRUCTURE
• PRINT VIEW
• RECOMPILE VIEW
• REPLACE QUERY
• SELECT
• UPDATE STRUCTURE
• UPDATE VIEW
Dans tous les cas, si l'utilisateur ne possède pas de droits d'accès valables pour l'objet
considéré, IQS émet le message suivant :
" *** Access right violation , command denied"
(violation du droit d'accès, commande refusée).
Remarque :
3-10
Un utilisateur ayant des droits d'accès sur une vue peut l'exploiter,
même s'il n'est pas autorisé à accéder au schéma sous-jacent.
47 F2 80UR Rev02
Accès et protection
3.3.4
SYSADMIN
L'utilisateur connecté sous le projet SYSADMIN peut accéder à tous les objets IQS quels
que soient les droits d'accès définis. Toutes les commandes sans exception sont
également utilisables.
A noter que les droits d'accès aux objets IQS s'appliquent uniquement sous IQS et pas
sous les autres processeurs (MAINTAIN_LIBRARY, par exemple).
Le projet SYSADMIN peut changer le propriétaire d'une vue, comme suit :
C: REVOKE
C: GRANT
C: GRANT
<NOM-VUE> *
<NOM-VUE > SYSADMIN <nouveau-nom-projet>
<NOM-VUE> *
Ou utilisez, sous SYSADMIN, le script :
C: *Exemple de script pour changer le propriétaire d'une vue :
C: ld npj
C: ^,$1
10
: &PJ (nom du nouveau projet propriétaire)
20
: &VW (pour la vue)
30
: # vous devez être SYSADMIN pour changer le propriétaire
d'une vue
40
: revoke &VW *
50
: grant &VW SYSADMIN &PJ
60
: grant &VW *
70
: Display view &VW
80
: DACR
90
: /
C:
C: start NPJ list
nom du nouveau projet propriétaire : QWERTY
pour la vue : VIEW-DACR-01
C1:# vous devez être SYSADMIN pour changer le propriétaire
d'une vue
C1:revoke VIEW-DACR-01 *
C1:grant VIEW-DACR-01 SYSADMIN QWERTY
C1:grant VIEW-DACR-01 *
C1:Display view VIEW-DACR-01
P1:DACR
ACCESS RIGHTS OF VIEW : VIEW-DACR-01 :
*
*
QWERTY
ALBERT
OW
SYSADMIN
*
SY
P1:/
Script NPJ terminated, at level : 1
C:
...
C: start NPJ
nom du nouveau projet propriétaire : YTREZA
pour la vue : VIEW-DACR-01
ACCESS RIGHTS OF VIEW : VIEW-DACR-01 :
*
*
SYSADMIN
*
SY
YTREZA
ALBERT
OW
47 F2 80UR Rev02
3-11
IQS-V4 Guide de l'administrateur
C: start NPJ
nom du nouveau projet propriétaire : AZER*
pour la vue : VIEW-DACR-01
ACCESS RIGHTS OF VIEW : VIEW-DACR-01 :
*
*
AZER*
ALBERT
OW
SYSADMIN
*
SY
C:
...
C: auto
10
: print @project
20
: /
C: go
AZERTY
C: recompile view view-dacr-01
*** Access right violation , command denied
C:
3.3.5
Propriétaire
Le propriétaire d'un objet est la personne qui le crée. Lors de l'affichage des droits
d'accès, le propriétaire est identifié par le sigle OW (pour owner).
Pour les objets créés sous une version antérieure à IQS-V4, le premier utilisateur qui
émet une commande COMPILE SCHEMA ou DEFINE VIEW devient propriétaire de
l'objet concerné.
Seul le propriétaire (ou l'utilisateur sous SYSADMIN) peut accorder (GRANT) ou
supprimer (REVOKE) les droits d'accès à cet objet.
3-12
47 F2 80UR Rev02
Accès et protection
3.3.6
Contrôle des droits d'accès
Pour connaître les projets ayant le droit d'accéder à un objet, utiliser la sous-commande
DISPLAY ACCESS RIGHT (DACR).
Cette sous-commande est disponible sous les processeurs de vues et de structures
ainsi que sous les commandes DISPLAY SCHEMA, DISPLAY STRUCTURE et
DISPLAY VIEW. Se reporter aux exemples fournis dans les chapitres sur les vues et les
structures.
En l'absence de droits d'accès définis, IQS émet le message suivant lorsque la
sous-commande DACR est utilisée :
" * No access right defined "
(aucun droit d'accès n'est défini).
Lors de l'émission d'une commande DISPLAY SCHEMA, DISPLAY STRUCTURE ou
DISPLAY VIEW, si l'utilisateur travaille sous un projet n'ayant pas le droit d'accès à
l'objet spécifié, IQS affiche le message suivant :
" *** Access right violation, command denied"
(violation du droit d'accès, commande refusée).
Lorsque le propriétaire supprime l'accès à un objet IQS au moyen d'une commande
REVOKE <objet> *, seul l'utilisateur connecté sous SYSADMIN peut émettre une
commande DACR (DISPLAY ACCESS RIGHT) concernant cet objet. Le propriétaire ne
peut visualiser le résultat au moyen d'une commande DACR que si les droits d'accès ont
été redéfinis (par lui-même ou par l'utilisateur SYSADMIN) au moyen d'une commande
GRANT.
Il est également possible de vérifier les droits d'accès à un objet par l'intermédiaire de la
métabase. Par exemple, l'article SYS-PROJECT est un article détail de l'article racine
SYS-DD. Chaque occurrence de SYS-PROJECT identifie un projet ayant le droit
d'accéder à un schéma (de type SDD) ou à une vue standard (de type VDD) figurant
dans l'article SYS-DD.
47 F2 80UR Rev02
3-13
IQS-V4 Guide de l'administrateur
3.4
DECLENCHEURS
Un nouveau concept, celui de déclencheur (trigger), existe sous IQS-V4. Un
déclencheur est une requête compilée se trouvant dans la bibliothèque binaire
appropriée et qui est exécutée lorsque certaines conditions sont réunies. Cette requête
peut contenir n'importe quelle instruction exécutable du langage de requêtes.
La création et la gestion des déclencheurs sont du ressort de l'administrateur IQS ou
d'un responsable équivalent.
Le type de déclencheurs utilisés est fonction de l'environnement d'exploitation.
Sous IOF et en traitement par lots :
• déclencheurs niveau session,
• déclencheurs niveau base de données et niveau requêtes.
Sous TDS :
• déclencheurs niveau transaction.
La variable système @TRIGGER-ERROR spécifie également un déclencheur
exécutable automatiquement lorsque certaines limites préalablement définies sont
atteintes.
3.4.1
Déclencheurs niveau session
Les déclencheurs niveau session permettent à l'administrateur IQS de spécifier et
contrôler les points suivants, avant et/ou après la session IQS courante :
• limites de consommation des ressources pour chaque utilisateur en termes d'E/S et
de temps CPU,
• priorités d'exécution,
• limites globales implicites de consommation des ressources.
Les déclencheurs niveau session peuvent être exécutés sous IOF ou en traitement par
lots. Ils sont lancés à partir de la procédure GCL d'appel d'IQS (voir chapitre 6) et sont
exécutables soit avant, soit après la session. Ils se divisent donc en deux catégories :
• les déclencheurs "avant" (TRIGGER BEFORE ou TRB),
• les déclencheurs "après" (TRIGGER AFTER ou TRA).
La requête spécifiée par TRIGGER BEFORE (TRB), si elle existe, est activée juste
après l'initialisation du processeur IQS.
La requête spécifiée par TRIGGER AFTER (TRA), si elle existe, est activée juste avant
l'arrêt du processeur IQS.
A noter que, une fois lancées, les requêtes ne sont plus modifiables pendant la session
IQS en cours.
3-14
47 F2 80UR Rev02
Accès et protection
Un déclencheur "avant" niveau session peut, en fait, gérer la totalité de la session IQS. Il
permet d'orienter chaque utilisateur ou projet selon un itinéraire d'accès prédéfini, de
lancer des scénarios automatiquement, d'exécuter des requêtes ou d'autoriser
l'émission de certaines commandes (en fonction des droits d'accès de l'utilisateur ou du
projet).
Un déclencheur "avant" (TRB) est constitué de l'une des manières suivantes :
•
•
•
•
une requête,
une requête, plus @NEXT-QUERY (chaînage),
une requête, plus @NEXT-SCRIPT,
une requête, plus @NEXT-QUERY, plus @NEXT-SCRIPT.
@NEXT-QUERY et @NEXT-SCRIPT sont exécutés dynamiquement dans l'ordre. A
noter que dans le cas d'un déclencheur "après" (TRA), @NEXT-QUERY and @NEXTSCRIPT ne sont pas pris en compte.
Exemple de déclencheur "avant" niveau session :
Cette requête illustre la gestion de plusieurs sessions utilisateur. Les caractéristiques de
la future session sont définies et visualisées par l'intermédiaire d'une grille.
10
20
30
40
50
60
70
80
90
100
110
120
130
140
150
160
170
180
190
200
210
220
230
240
250
260
270
280
290
300
310
320
DEFINE
WK-RECORD ,
2 WK-DATE
CHARACTER 12,
2 WK-TIME
CHARACTER 8,
2 WK-NAME
CHARACTER 12,
2 WK-MAXCPU
CHARACTER 14,
2 WK-MAXELAPS
CHARACTER 14
IF @USER="ALBERT" THEN EXEC TRG-B-ALBERT RETURN END
IF @USER="QUERYST4"
OR @USER="QUERYST5"
THEN
EXEC ROS-TRB-SESSION
RETURN
END
IF @USER="QUERYST8" THEN EXEC ROS-TRB-SESSION RETURN END
LET $MAX-CPU = 3600000
LET $MAX-CPU-PER-COMMAND = 300000
LET @TRIGGER-CODE-ERROR = "10110000"
IF @USER = "HOARE"
THEN LET @NEXT-SCRIPT = "PSCRIPT"
ELSE
LET WK-RECORD = "
"
LET WK-DATE = @DATE
LET WK-TIME = @TIME
LET WK-NAME = @USER
LET WK-MAXCPU = SUBSTR(@MAX-CPU,1,12)
LET WK-MAXELAPS = SUBSTR(@MAX-ELAPSE,1,12)
DISPLAY WK-RECORD THRU FM-TRIG
IF @USER = "SMITH"
THEN LET @NEXT-SCRIPT = "GABET-DATABASE"
END
END
47 F2 80UR Rev02
1
3-15
IQS-V4 Guide de l'administrateur
Exemple de déclencheur "après" niveau session :
Cette requête demande l'activation de déclencheurs "après" pour certains utilisateurs.
Définition des informations à visualiser par l'intermédiaire d'une grille, à la fin de la
session.
10
20
30
40
50
60
70
80
90
100
110
120
130
140
150
160
170
180
190
200
210
220
DEFINE
1
WK-RECORD
2 WK-CPUSED
CHARACTER 14,
2 WK-NBRIO
CHARACTER 9,
2 WK-NBRLINE
CHARACTER 9,
2 WK-MAXCPU
CHARACTER 14,
2 WK-MAXELAPSE
CHARACTER 14
IF @USER="ALBERT" THEN EXEC TRG-A-ALBERT RETURN END
IF @USER="QUERYST4"
OR @USER="QUERYST5"
THEN EXEC ROS-TRIGA
RETURN
END
LET SUBSTR(WK-CPUSED,1,12) = @USED-CPU
LET SUBSTR(WK-MAXCPU,1,12) = @MAX-CPU
LET SUBSTR(WK-MAXELAPSE,1,12) = @MAX-ELAPSE
LET WK-NBRIO = $USED-IO
LET WK-NBRLINE = $USED-LINES
IF $MAX-CPU LE $USED-CPU
THEN DISPLAY WK-RECORD THRU TRIGGERF
ELSE
DISPLAY WK-RECORD THRU TRIGGERA
END
En mode ligne, les déclencheurs sont déclarés au moyen de deux nouveaux paramètres
qui viennent compléter la syntaxe existante :
IQS [ DDLIB
SLLIB
BINLIB
[ CULIB
=
=
=
=
.... ]
....
....
.... ]
[ TRB = <déclencheur-avant> ]
[ TRA = <déclencheur-après> ]
Pour la syntaxe complète, se reporter au chapitre 6. En mode menu, la déclaration des
déclencheurs s'effectue par l'intermédiaire d'une nouvelle grille de paramètres occultée.
3-16
47 F2 80UR Rev02
Accès et protection
3.4.2
Déclencheurs niveau base de données et niveau requête
Les déclencheurs niveau base de données et niveau requête peuvent être exécutés
sous IOF ou en traitement par lots. Ils permettent à l'administrateur IQS (ou à toute autre
personne autorisée) d'effectuer les opérations suivantes :
• définir un déclencheur avant traitement à activer à la suite de l'émission d'une
commande SELECT (déclencheur avant niveau base de données),
• définir un déclencheur après traitement à activer à la suite de l'émission d'une
commande TERM ou du caractère "/" au niveau V: (déclencheur après niveau base
de données),
• définir un déclencheur avant traitement à activer avant l'exécution de chaque requête,
pendant la session IQS (déclencheur avant niveau requête),
• définir un déclencheur après traitement à activer après l'exécution de chaque requête,
pendant la session IQS (déclencheur après niveau requête),
• modifier la valeur de certaines variables système IQS,
• définir le traitement des erreurs liées aux déclencheurs (en cas de dépassement des
limites implicites de la session), par l'intermédiaire de la variable système
@TRIGGER-ERROR.
3.4.2.1
@NEXT-QUERY et @NEXT-SCRIPT
L'ordre d'exécution des requêtes et des scénarios spécifiés dans @NEXT-QUERY et
@NEXT-SCRIPT dépend du type de déclencheur (voir ci-dessous).
Dans le cas des déclencheurs "après", la valeur de @NEXT-QUERY est ignorée, mais
celle de @NEXT-SCRIPT est chargée et exécutée.
Dans le cas des déclencheurs "avant" niveau base de données (BEFORE DBS),
@NEXT-QUERY et @NEXT-SCRIPT sont exécutés dynamiquement, dans cet ordre.
Dans le cas des déclencheurs "avant" niveau requête (BEFORE QRY), @NEXT-QUERY
et @NEXT-SCRIPT ne sont pas exécutés dynamiquement. L'ordre d'exécution est le
suivant :
R-TRB-QY
requête
@NEXT-QUERY
R-TRA-QY
@NEXT-SCRIPT
(déclencheur avant niveau requête)
(déclencheur après niveau requête)
L'ordre d'exécution des déclencheurs, requêtes et scénarios est illustré dans l'exemple
ci-après.
47 F2 80UR Rev02
3-17
IQS-V4 Guide de l'administrateur
Exemple : Déclencheur "avant" niveau requête (ordre d'exécution)
Les déclencheurs suivants ont été définis :
R-TRB-DB
R-TRA-DB
R-TRB-QY
R-TRA-QY
(déclencheur
(déclencheur
(déclencheur
(déclencheur
"avant"
"après"
"avant"
"après"
niveau
niveau
niveau
niveau
base de données)
base de données)
requête)
requête)
Les variables système suivantes sont définies dans le déclencheur "avant" niveau
requête :
LET @NEXT-QUERY = QRY-NEXT
LET @NEXT-SCRIPT = SCR-NEXT
L'ordre d'exécution par rapport aux commandes introduites est indiqué à droite :
Commande..............Ordre d'exécution
C: SELECT
SELECT
EXEC TRB-DB
V: EXEC <requête>
EXEC TRB-QY
EXEC <requête>
EXEC QRY-NEXT
EXEC TRA-QY
START SCR-NEXT
V: TERM
TERM
EXEC TRA-DB
Remarque :
3.4.2.2
Lorsque la valeur des variables système @NEXT-QUERY et/ou
@NEXT-SCRIPT est modifiée dans <requête>, la requête et/ou le
scénario spécifiés sont exécutés à la place de ceux spécifiés
dans le déclencheur avant niveau requête.
Définition et suppression des déclencheurs
La définition et la suppression des déclencheurs s'effectue au niveau commande (C:),
au moyen de deux nouvelles commandes IQS :
DEFINE TRIGGER
CLEAR TRIGGER
La commande DEFINE TRIGGER définit une requête constituant un déclencheur. Il peut
y avoir une seule commande DEFINE TRIGGER par type de déclencheur, toute nouvelle
commande DEFINE TRIGGER remplaçant la commande de même type précédemment
définie. Une fois la commande émise, la requête constituant le déclencheur ne peut pas
être compilée, chargée, remplacée ou supprimée.
La commande CLEAR TRIGGER supprime l'activation d'un déclencheur précédemment
défini au moyen de la commande DEFINE TRIGGER. Pour pouvoir compiler, charger,
remplacer ou supprimer une requête constituant un déclencheur (commandes
COMPILE QUERY, LOAD, REPLACE QUERY et DROP QUERY), il faut d'abord
supprimer l'activation de ce dernier au moyen de CLEAR TRIGGER.
3-18
47 F2 80UR Rev02
Accès et protection
Pour connaître les déclencheurs en vigueur, utiliser la commande DISPLAY STATUS.
Exemples :
Définition d'un déclencheur avant niveau base de données appelé R-TRB-DB :
C: DFTG BEFORE DBS ACTION R-TRB-DB
Définition d'un déclencheur après niveau requête appelé R-TRA-QY :
C: DFTG AFTER QRY ACTION R-TRA-QY
Remarque :
3.4.3
Si le contenu de l'espace de travail origine a été modifié sans être
sauvegardé, les déclencheurs "avant" et "après" ne sont pas
activés.
Déclencheurs niveau transaction (TDS)
Les déclencheurs niveau transaction sont similaires aux déclencheurs avant et après
niveau session, mais ils sont uniquement applicables aux sessions IQS/TDS. Se
reporter au Guide de l'utilisateur IQS-V4/TDS.
3.4.4
Déclencheur @TRIGGER-ERROR
Cette variable système spécifie un déclencheur à activer automatiquement lorsque
certaines limites préalablement définies sont atteintes. Voir "Variables système" et
"DISPLAY STATUS" plus loin.
47 F2 80UR Rev02
3-19
IQS-V4 Guide de l'administrateur
3.5
VARIABLES SYSTEME
Un certain nombre de variables système ont été créées sous IQS-V4 pour contrôler la
consommation des ressources. Il suffit d'utiliser l'instruction LET pour leur affecter des
valeurs. En outre, la variable $PRIORITY permet de réduire la priorité d'exécution de la
session IQS en cours.
L'administrateur peut spécifier le type de traitement à effectuer lorsque les limites
définies pour les ressources sont atteintes, en positionnant les indicateurs de la variable
système @TRIGGER-CODE-ERROR. Lorsque ces limites sont atteintes, une requête
spéciale, spécifiée dans la variable système @TRIGGER-ERROR, est automatiquement
activée.
Les nouvelles variables système sont indiquées ci-après. Pour une description détaillée
de l'ensemble de ces variables, se reporter au Manuel de référence IQS-V4. A noter que
certaines zones peuvent être définies soit avec le type décimal ou binaire, soit avec le
type CHARACTER (alphanumérique).
La commande DISPLAY STATUS permet de visualiser la valeur des variables système.
3.5.1
Gestion de la consommation des ressources
$MAX-CPU
@MAX-CPU
(UNSIGNED UNPACKED DECIMAL 8 en millisecondes)
(CHARACTER 12 as HH:MM:SS:ccc)
Spécifie le temps CPU maximum autorisé jusqu'à la fin de la session IQS en cours. Pas
encore disponible sous IQS/TDS. Valeur implicite : 86399000.
$MAX-CPU-PER-COMMAND
(UNSIGNED UNPACKED DECIMAL 8)
Spécifie le temps CPU maximum autorisé pour l'exécution d'une commande ou d'une
requête. Pas encore disponible sous IQS/TDS.
$MAX-ELAPSE
@MAX-ELAPSE
(UNSIGNED UNPACKED DECIMAL 8 en millisecondes)
(CHARACTER 12 as HH:MM:SS:ccc)
Spécifie la durée maximum autorisée pour la session IQS. Pas encore disponible sous
IQS/TDS.
$MAX-IO
(BINARY 31)
Spécifie le nombre maximum d'entrées/sorties IQS autorisées jusqu'à la fin de la
session IQS en cours.
$MAX-IO-PER-COMMAND
(BINARY 31)
Spécifie le nombre maximum d'entrées/sorties IQS autorisées pour chaque commande
ou requête exécutée. Pas encore disponible sous IQS/TDS.
$MAX-LINES
(BINARY 31)
Spécifie le nombre maximum de lignes imprimables jusqu'à la fin de la session IQS.
3-20
47 F2 80UR Rev02
Accès et protection
$MAX-LINES-PER-COMMAND
(BINARY 31)
Spécifie le nombre maximum de lignes imprimables pour chaque commande ou requête
exécutée. Pas encore disponible sous IQS/TDS.
$MAX-PAGES
(BINARY 31)
Spécifie le nombre maximum de pages à imprimer pour le fichier de description d'état.
La valeur spécifiée peut être remplacée par celle fournie sous le processeur d'états.
3.5.2
Contrôle de la consommation des ressources
$USED-CPU
@USED-CPU
(BINARY 31 en millisecondes)
(CHARACTER 12 as HH:MM:SS:ccc)
Indique le temps CPU utilisé depuis le début de la session IQS en cours. Pas encore
disponible sous IQS/TDS.
$USED-ELAPSE
@USED-ELAPSE
(BINARY 31 en millisecondes)
(CHARACTER 12 as HH:MM:SS:ccc)
Indique le temps écoulé depuis le début de la session IQS en cours. Pas encore
disponible sous IQS/TDS.
$USED-IO
(BINARY 31)
Indique le nombre d'entrées/sorties IQS effectuées depuis le début de la session IQS en
cours.
$USED-IO-PER-COMMAND
(BINARY 31)
Indique le nombre d'entrées/sorties IQS effectuées depuis le lancement de l'exécution
de la commande ou de la requête courante. Pas encore disponible sous IQS/TDS.
$USED-LINES
(BINARY 31)
Indique le nombre de lignes imprimées depuis le début de la session IQS en cours.
$USED-LINES-PER-COMMAND
(BINARY 31)
Indique le nombre de lignes imprimées depuis le lancement de l'exécution de la
commande ou de la requête courante. Pas encore disponible sous IQS/TDS.
3.5.3
Priorité d'exécution
$PRIORITY
(BINARY 15)
Spécifie la priorité d'exécution de la session IQS en cours. La valeur de $PRIORITY
s'ajoute à la priorité GCOS 7 en vigueur. Par conséquent, l'affectation d'une valeur
supérieure à 0 diminue la priorité relative de la session IQS. Pas encore mis en oeuvre
sous IQS/TDS.
47 F2 80UR Rev02
3-21
IQS-V4 Guide de l'administrateur
3.5.4
Dépassement des limites
Lorsque les limites définies pour la session sont atteintes, le message suivant est émis :
* Max <type de limite> limit is reached , session is stopped
Le déclencheur "après" niveau session est alors exécuté (s'il existe) et la session IQS
prend fin.
Deux variables système spéciales permettent de traiter les erreurs liées aux
déclencheurs, intervenant lorsque les limites de consommation des ressources sont
atteintes. Elles sont décrites ci-dessous.
3.5.4.1
@TRIGGER-ERROR
La variable système @TRIGGER-ERROR spécifie une requête à activer
automatiquement lorsque les limites définies pour l'exécution d'une commande ou d'une
requête sont atteintes. La requête doit se trouver dans la bibliothèque BINLIB
appropriée.
Exemple :
LET @TRIGGER-ERROR = "R-TRG-ERR"
3.5.4.2
@TRIGGER-CODE-ERROR
La variable système @TRIGGER-CODE-ERROR détermine le type de traitement à
effectuer automatiquement lorsque les limites définies pour l'exécution d'une commande
ou d'une requête sont atteintes.
La variable @TRIGGER-CODE-ERROR comprend huit positions binaires, chacune
ayant une signification particulière.
Exemple :
LET @TRIGGER-CODE-ERROR = "01111000"
La signification de chaque position est la suivante :
3-22
1.
ANSWER FLAG (reprise sur demande) : si cet indicateur est positionné à 1, la
question "Do you want to stop?" (Voulez-vous arrêter?) s'affiche chaque fois qu'une
limite définie pour l'exécution d'une commande ou d'une requête est atteinte. Si
l'utilisateur répond affirmativement (Y), l'exécution de la tâche est interrompue. S'il
répond négativement (N), l'exécution se poursuit avec les mêmes limites par
commande.
2.
AUTOMATIC PURSUIT FLAG (reprise automatique) : si cet indicateur est
positionné à 1, chaque fois qu'une limite définie pour l'exécution d'une commande
ou d'une requête est atteinte, l'exécution de la commande courante est relancée à
l'endroit où elle s'était arrêtée. La variable contenant la limite utilisée est remise à
zéro, mais la limite maximum définie pour la commande reste la même.
47 F2 80UR Rev02
Accès et protection
3.
AUTOMATIC CHANGE OF PRIORITY (changement automatique de priorité) : si
cet indicateur est positionné à 1, la valeur courante de $PRIORITY est
automatiquement augmentée de 1. Voir la restriction ci-dessous lorsque la valeur
atteint 3.
4.
AUTOMATIC STOP TASK ON PRIORITY MAX (arrêt automatique de tâche sur
priorité maximum) : si cet indicateur est positionné à 1, la tâche est interrompue
lorsque la valeur de $PRIORITY atteint 3. Pour que la tâche se poursuive, il faut
obligatoirement réduire la valeur de $PRIORITY.
5.
SILENT (mode "silencieux") : si cet indicateur est positionné à 1, la tâche s'exécute
en mode SILENT et aucun message n'est envoyé au terminal.
6., 7. et 8. : réservées à un usage ultérieur. Positions actuellement initialisées à "0".
Certains indicateurs sont incompatibles. Dans ce cas, un message d'erreur (précédé
de ***) est envoyé au terminal.
La commande DISPLAY STATUS permet de visualiser les indicateurs positionnés à 1
(voir ci-dessous).
47 F2 80UR Rev02
3-23
IQS-V4 Guide de l'administrateur
3.6
DISPLAY STATUS
La commande DISPLAY STATUS (abréviation DSTS), accessible à tous les
utilisateurs, permet de visualiser des informations concernant la session en cours. Ces
informations sont les suivantes :
• le contenu actuel de l'espace de travail,
• les ressources affectées et utilisées (paramètre COUNTERS),
• les valeurs de paramètres de la session IQS (paramètre PARAMETERS),
• les fichiers et aires actuellement affectés (paramètre FILES),
• les déclencheurs niveau requête actuellement définis ainsi que la requête pour le
traitement des erreurs relatives aux déclencheurs (paramètre TRIGGERS).
3.6.1
Exemple en mode ligne
C: DSTS
>>>PARAMETERS
IQS VERSION: 40
STATUS: 32
SYSLEVEL: V500/5240
SIZE:
240
POOLSIZE:
50
LANG: 0
TERMINAL ID: GA14MP00
TERMINAL TYPE: VIP7804
SCREEN SIZE: 23 * 80
DDLIB1:
DDLIB2:
DDLIB3:
SLLIB :
BINLIB:
CULIB :
#BLIB :
QUERY.TEST.BINDD
*** LIBRARY NOT ASSIGNED
*** LIBRARY NOT ASSIGNED
QUERY.TEST.SLREQ
QUERY.TEST.BINREQ
QUERY.TEST.CUREQ
QUERY.TEST.BINREQ
>>>FILES AND AREAS:
AREA
: INVIND
ORG =IND/MBJ
STATUS = OP/INPUT
EFN = QUERY.TEST.INVIND
PRINTFILE: PRINTER
ASSIGNED TO TERM
WORKFILE : ALB
ORG =SEQ
STATUS = CLOSED
EFN = QUERY.TEST.ALB
>>>COUNTERS:
USED ELAPSED: 13312193
USED CPU:
103557
USED IOS:
16
USED LINES:
2501
>>>TRIGGERS:
TRIGGER BEFORE DATA BASE :
TRIGGER AFTER DATA BASE :
TRIGGER BEFORE QUERY
:
TRIGGER AFTER QUERY
:
ALLOWED ELAPSED: 2147483547
ALLOWED CPU: 3600000
ALLOWED IOS: 1000000000
ALLOWED LINES: 1000000000
Q-TRB-DB
Q-TRA-DB
Q-TRB-QY
Q-TRA-QY
>>>TRIGGERS ERROR MANAGEMENT:
>>>
TRIGGER ERROR :
Q-TRG-ERR
-
3-24
AUTOMATIC PURSUIT
AUTOMATIC CHANGE OF PRIORITY
AUTOMATIC TASK STOP , WHEN MAX PRIORITY REACHED
SILENT
47 F2 80UR Rev02
Accès et protection
3.6.2
Informations obtenues
>>>PARAMETERS:
IQS VERSION
Version courante d'IQS.
STATUS
Etat technique courant de la version d'IQS.
SYSLEVEL
Niveau et état technique courant de GCOS 7.
SIZE
Valeur du paramètre SIZE spécifiée lors de l'activation
d'IQS.
POOLSIZE
Valeur de POOLSIZE spécifiée lors de l'activation d'IQS.
LANG
Valeur courante de la variable #LANG.
TERMINAL ID
Identification du terminal.
TERMINAL TYPE
Valeur courante de la variable #TTYPE.
SCREEN SIZE
Nombre de lignes de l'écran * nombre de colonnes de
l'écran (#PL * #PW).
DDLIB1
Nom de la bibliothèque affectée à DDLIB1 (ou message
"*** LIBRARY NOT ASSIGNED." - bibliothèque non
affectée).
DDLIB2
Nom de la bibliothèque affectée à DDLIB2 (ou message
"*** LIBRARY NOT ASSIGNED." - bibliothèque non
affectée).
DDLIB3
Nom de la bibliothèque affectée à DDLIB3 (ou message
"*** LIBRARY NOT ASSIGNED." - bibliothèque non
affectée).
SLLIB
Nom de la bibliothèque affectée à SLLIB (ou message "***
LIBRARY NOT ASSIGNED." - bibliothèque non affectée).
BINLIB
Nom de la bibliothèque affectée à BINLIB (ou message "***
LIBRARY NOT ASSIGNED." - bibliothèque non affectée).
CULIB
Nom de la bibliothèque affectée à CULIB (ou message "***
LIBRARY NOT ASSIGNED." - bibliothèque non affectée).
BLIB
Valeur courante de la variable #BLIB.
47 F2 80UR Rev02
3-25
IQS-V4 Guide de l'administrateur
>>>FILES AND AREAS:
Nom de toutes les aires affectées (ou message "THERE
IS NO ASSIGNED AREA" - il n'y a pas d'aire affectée).
Nom de tous les fichiers (de travail ou d'impression)
affectés. Pour les fichiers comme les aires : nom de fichier
externe (EFN), organisation (ORG), informations sur le
mode de partage et les journaux et statut (STATUS).
ORG=
IND - INDEXED (indexée)
SEQ - SEQUENTIAL
(organisation séquentielle)
REL - RELATIVE (organisation relative)
LKQ - LINKED QUEUED
(organisation cloisonnée chaînée)
IDS - IDS/II
Plus éventuellement :
3-26
M - SHARE=MONITOR (GAC SHARE=MONITOR)
BJ - BEFORE JOURNAL (journal Avant)
AJ - AFTER JOURNAL (journal Après)
J - BEFORE and AFTER JOURNAL
(journal Avant et Après)
STATUS=
OP/UPDATE - UPDATE (traitement en mode mise à jour).
OP/INPUT - INPUT (traitement en mode entrée).
OP/OUTPUT - OUTPUT (traitement en mode sortie).
OP/APPEND - APPEND (traitement en mode adjonction).
CLOSED - Closed (fichier fermé).
>>>COUNTERS:
Valeurs courantes des compteurs pour les variables
système. Le temps CPU et la durée du traitement sont
exprimés en millisecondes.
>>>TRIGGERS:
Nom du ou des déclencheurs et des requêtes de
traitement des erreurs correspondantes (si elles existent).
Les déclencheurs niveau session ne sont visualisables que
sous SYSADMIN.
Les noms des options de la variable @TRIGGER-CODEERROR positionnées à 1 sont indiqués.
Dans l'exemple précédent, la valeur de
@TRIGGER-CODE-ERROR est "01111000".
47 F2 80UR Rev02
4. Définition des schémas
4.1
INTRODUCTION
Tous les fichiers utilisés par IQS doivent faire l'objet d'une description. IQS nécessite en
effet certaines informations concernant chaque fichier et ses articles, et doit connaître le
nom des zones constituant les articles ainsi que les relations entre articles (ensembles).
La description d'une série de fichiers IQS est appelée schéma. Elle est écrite en
langage de description des données (DDL) ; pour pouvoir être reconnue par le
processeur IQS, la description (également appelée schéma origine) doit ensuite être
compilée (traduite) au moyen de MNDD (MAINTAIN_DATA_DESCRIPTION) pour le
GCL ou DDPROC pour le JCL. Le résultat obtenu (schéma résultant) doit lui-même être
compilé au moyen d'une commande IQS (voir chapitre 7).
Un schéma décrit :
• une base de données IDS/II (constituée d'aires IDS/II),
ou
• une base de données virtuelle constituée d'une combinaison quelconque de :
-
fichiers UFAS séquentiels,
fichiers UFAS indexés,
fichiers UFAS relatifs,
sous-fichiers de bibliothèque SL.
Une aire se compose d'un type d'article ou plus, mais un type d'article ne peut pas
s'étendre sur plus d'une aire (excepté sous IDS/II).
Les articles peuvent être liés entre eux par des relations qui déterminent des ensembles
(mis en oeuvre par des pointeurs physiques sous IDS/II et des pointeurs logiques sous
UFAS). Les articles d'un fichier relatif ne peuvent pas faire partie d'une hiérarchie et ne
peuvent donc pas être liés à d'autres articles via des ensembles.
La description origine du schéma UFAS indexé SCH-CUSTOMERS est fournie à titre
d'exemple à la fin de ce chapitre. Ce schéma décrit la base de données CUSTOMERS,
bien connue des utilisateurs IQS.
47 F2 80UR Rev02
4-1
IQS-V4 Guide de l'administrateur
4.2
UTILISATEURS DE FICHIERS IDS/II
Ce chapitre concerne uniquement le DDL utilisable pour les fichiers UFAS. Pour la
création de schémas IDS/II, voir la documentation IDS/II Etendu (FULL IDS/II).
Noter cependant qu'un schéma IDS/II Etendu résultant produit par MNDD ne doit pas
être recompilé par MNDD. En effet, les objets IDS/II sont directement compilables au
moyen de la commande IQS "COMPILE SCHEMA" (voir chapitre 7).
Les anciens schémas résultants (IDS/II V2) produits par DDLPROC doivent être
convertis sous MNDD, en spécifiant l'option CONVERT. Ils doivent être rangés dans une
bibliothèque binaire distincte, pour ne pas les mélanger avec les autres schémas.
Il est également possible d'effectuer la conversion en dynamique, au moyen de
primitives IDS, lors de l'émission d'une commande SELECT, mais la méthode
précédemment citée est plus efficace. Il est recommandé de conserver les anciens
schémas dans une bibliothèque séparée afin de protéger les autres applications qui les
utilisent.
4-2
47 F2 80UR Rev02
Définition des schémas
4.3
COMPOSANTES D'UN SCHEMA DDL
Un schéma DDL comporte cinq types de rubriques :
• une rubrique SCHEMA identifiant le schéma,
• une ou plusieurs rubriques AREA définissant le ou les fichiers,
• une ou plusieurs rubriques RECORD définissant le ou les articles et leurs zones
constitutives et indiquant leur aire de rangement,
• une ou plusieurs rubriques SET définissant les relations entre articles,
• une rubrique END-SCHEMA marquant la fin du schéma.
La syntaxe à employer pour chacune de ces rubriques est présentée dans la suite de ce
chapitre.
4.3.1
Format origine DDL
Le DDL est un langage utilisable en format libre : il n'existe pas de zones spéciales
pour la numérotation des lignes, le repérage des commentaires ou l'identification des
programmes. Toutefois, la fin de ligne est considérée comme un séparateur lorsqu'elle
n'est pas située à l'intérieur d'une chaîne protégée (voir plus loin).
Les rubriques de description d'entrées et les unités de bibliothèque contenant du DDL
doivent être de type DATA ou DATASSF pour pouvoir être acceptées par le traducteur
DDL.
47 F2 80UR Rev02
4-3
IQS-V4 Guide de l'administrateur
4.3.2
Jeu de caractères DDL
Le jeu de caractères DDL se compose de 52 caractères incluant les majuscules de
l'alphabet latin, les chiffres et certains symboles. Ces caractères sont tous utilisables
dans un schéma origine.
Tableau 4-1. Jeu de caractères DDL
Caractère
0,1,...,9
A,B,...,Z
+
,
;
.
"
(
)
'
$
/
*
=
>
<
Nom
Chiffres
Lettres
Espace ou blanc
Signe "plus"
Signe "moins" ou tiret
Virgule
Point-virgule
Point ou marque décimale
Guillemet
Parenthèse gauche
Parenthèse droite
Apostrophe
Symbole monétaire
Barre oblique
Astérique
Signe "égal à"
Signe "supérieur à "
Signe "inférieur à "
D'autres caractères du jeu DPS 7000 peuvent être utilisés dans les chaînes protégées
(littéraux non numériques, commentaires) ou dans les représentations synonymiques de
noms (voir plus loin).
4-4
47 F2 80UR Rev02
Définition des schémas
4.3.3
4.3.3.1
Ponctuation DDL
Délimiteurs
Un délimiteur sert à marquer le début et la fin d'une chaîne protégée. Une chaîne
protégée est un ensemble quelconque de caractères du jeu DPS 7000 encadré par des
délimiteurs. Un caractère délimiteur peut être utilisé dans le corps d'une chaîne à
condition d'être doublé. Les délimiteurs sont :
• les guillemets, qui s'utilisent pour délimiter les littéraux alphanumériques ou
hexadécimaux et les commentaires,
• les apostrophes, qui s'utilisent pour délimiter la forme synonymique des noms.
4.3.3.2
Séparateurs
Un séparateur s'utilise pour distinguer les mots et les littéraux et pour indiquer certaines
constructions du langage. Dans une chaîne protégée, un séparateur n'a pas de
signification. S'il est représenté par un caractère, il devient partie intégrante de la chaîne.
S'il est représenté par une fin de ligne, il est ignoré. Les séparateurs sont :
L'espace
Un ou plusieurs espaces constituent un séparateur. Un ou
plusieurs espaces sont utilisables pour compléter tout autre
séparateur ; dans ce cas, ils peuvent être placés
indifféremment avant ou après celui-ci.
La virgule
La virgule est un séparateur obligatoire entre les indices
dans les identificateurs de données. Ailleurs, elle est
facultative.
Le point-virgule
Un point-virgule peut s'employer comme un espace. Il est
traité comme tel.
Le point
Le point suivi d'un espace ou d'une fin de ligne doit être
employé pour marquer la fin d'une rubrique ou d'une sousrubrique.
Les parenthèses
Les parenthèses (gauche et droite) sont nécessaires pour
délimiter les indices dans un identificateur de donnée. Elles
s'utilisent également dans l'écriture des conditions.
La fin de ligne
La fin de ligne a les mêmes effets et obéit aux mêmes
règles que l'espace.
47 F2 80UR Rev02
4-5
IQS-V4 Guide de l'administrateur
4.3.4
Mots DDL
Un mot DDL est une suite de 1 à 30 caractères. Les caractères autorisés sont les lettres
de A à Z, les chiffres de 0 à 9 et le tiret (-). Le tiret ne doit pas être le premier ou le
dernier caractère d'un mot.
Exemples :
Correct
A, A-B
Z9999
4.3.4.1
Incorrect
-A
A$B, A+B
Mots réservés
Les mots réservés sont des mots qui ne peuvent pas être employés comme noms
définis par l'utilisateur. Ils recouvrent les mots-clés et les mots facultatifs.
Le mot-clé est un mot qui doit obligatoirement apparaître chaque fois que le format
dans lequel il est inclus est utilisé. Dans les formats, les mots-clés sont représentés en
majuscules soulignées.
Le mot facultatif est un mot que l'utilisateur peut, au choix, spécifier ou non. Dans les
formats, il est représenté en majuscules non soulignées. Les fautes d'orthographe ou le
remplacement par un autre mot sont interdits.
La liste complète des mots réservés DDL figure en fin de chapitre.
Il est préférable de ne pas utiliser les mots clés et abréviations IQS en raison du risque
d'interférence avec les fonctions polyglottes. Pour cela il est conseillé de compiler le
schéma, sous IQS, dans les différentes langues sous lesquelles il sera utilisé
(par exemple : #LANG1 et 2).
4.3.4.2
Noms
Un nom est un mot commençant par une lettre. Dans le présent chapitre,
le terme "nom" recouvre :
• nom-donnée,
• nom-rubrique,
et le terme "nom-rubrique" recouvre :
•
•
•
•
•
4-6
nom-schéma,
nom-aire,
nom-article,
nom-clé,
nom-ensemble.
47 F2 80UR Rev02
Définition des schémas
4.3.4.3
Représentation synonymique des noms
Un nom peut avoir un synonyme sous forme d'une chaîne de 30 caractères maximum,
choisis dans le jeu de caractères DPS 7000 et délimités par des apostrophes. Le
caractère apostrophe lui-même peut être inclus dans la chaîne, à condition d'être
doublé.
Exemples :
'WORK.SCHEMA', 'O''CLOCK'
Lorsqu'un nom défini par l'utilisateur est identique à un mot réservé, il doit toujours être
spécifié sous sa forme synonymique.
Exemple :
SCHEMA NAME IS 'SCHEMA'.
4.3.4.4
Unicité des noms
Les règles à observer sont les suivantes :
4.3.4.5
1.
Il ne doit pas exister de noms-rubrique en double. Par exemple, deux aires ne
peuvent avoir le même nom, ou une aire ne peut porter le même nom que le
schéma, qu'un article, ou qu'un ensemble.
2.
Un nom-rubrique ne doit pas être identique à un nom-donnée.
3.
Il ne doit pas exister de noms-donnée en double dans une rubrique RECORD.
4.
Deux zones ou deux agrégats peuvent porter le même nom, à condition de figurer
dans deux rubriques RECORD différentes.
Nombre maximum de noms
Pour chaque type, le nombre maximum de noms pouvant être définis est le suivant :
Tableau 4-2. Limites DDL
Type de nom
nom-aire
nom-article
nom-clé
nom-ensemble
nom-donnée dans un type d'article
Nombre maximum
2048
2048
2048
2048
2048
Pour IQS, la limite est inférieure à 2048 dans tous les cas. Le nombre maximum de
noms dépend de la longueur de chaque nom. Le nombre maximum d'articles est limité à
837.
47 F2 80UR Rev02
4-7
IQS-V4 Guide de l'administrateur
4.3.5
Littéraux
Un littéral est une chaîne de caractères représentant une valeur. En DDL IQS, il existe
trois types de littéraux :
• les littéraux alphanumériques,
• les littéraux numériques,
• les littéraux hexadécimaux.
4.3.5.1
Littéraux alphanumériques
Un littéral alphanumérique est une chaîne de 256 caractères maximum, choisis dans
le jeu de caractères DPS 7000 et délimités par des guillemets. Il a pour valeur les
caractères représentés, et pour longueur le nombre de ces caractères. Si un caractère
guillemet fait partie intégrante de la chaîne, il doit être doublé mais ne compte qu'une
fois pour la détermination de la longueur de la chaîne.
Exemples :
4.3.5.2
"1er JANVIER"
valeur
= 1er JANVIER
longueur
= 11
"CODE ""4"""
valeur
= CODE "4"
longueur
=
8
Littéraux numériques
Un littéral numérique représente un nombre. La seule forme de littéral numérique
autorisée est le littéral décimal à marque décimale fixe. Les caractères admis sont :
• les chiffres de 0 à 9,
• les signes "plus" (+) et "moins" (-),
• la marque décimale (le point).
Un littéral numérique a pour valeur la valeur algébrique conventionnelle représentée. Sa
longueur maximum est de 30 chiffres. Lorsqu'il comporte la marque décimale, celle-ci
doit être suivie d'au moins un chiffre.
Exemples :
Correct :
Incorrect :
4-8
1
1.0
122.
+322
+0.004
-5789.333
-.005
+32.1A4
47 F2 80UR Rev02
Définition des schémas
4.3.5.3
Littéraux hexadécimaux
Un littéral hexadécimal est une chaîne de 512 caractères maximum, choisis parmi :
• les chiffres de 0 à 9,
• et les lettres de A à F.
Il est délimité par des guillemets. Le guillemet de fin doit être suivi du caractère X. Le
nombre de caractères de la chaîne doit être pair. La valeur représentée est l'équivalent
EBCDIC de chaque paire de caractères de la chaîne.
La longueur de la chaîne est son nombre de caractères divisé par deux. Il est possible
d'utiliser une chaîne hexadécimale pour représenter des caractères pour lesquels un
symbole externe n'existe pas ou n'est pas disponible sur l'appareil d'entrée.
Exemple :
"948199A2"X
4.3.6
valeur
= mars
longueur
= 4
Commentaires
Il est possible d'incorporer des commentaires dans le DDL pour clarifier la
programmation du schéma. Leur insertion est admise dès qu'un espace peut être utilisé
comme séparateur. Un commentaire comporte :
• le mot réservé COMMENT,
• 0 à n espaces,
• et le texte du commentaire, délimité par des guillemets ou par /* et */.
Si un caractère "guillemet" figure dans le corps du commentaire, il doit être doublé.
Exemple :
COMMENT
"***********************
* SCHEMA INVENTAIRE *
***********************"
SCHEMA NAME IS INVENTAIRE.
02 QTE TYPE DEC 6. /* Quantité commandée */
02 SEX TYPE CHAR 1. COMMENT "VALEUR ""M""
VALEUR ""F""
47 F2 80UR Rev02
si Masculin
si Féminin"
4-9
IQS-V4 Guide de l'administrateur
4.3.7
Noms de données
Un nom de donnée (nom-donnée) est un nom défini par l'utilisateur pour désigner une
zone simple ou un agrégat.
4.3.8
Identificateurs de données
Un identificateur de donnée permet de citer une zone de données (simple ou faisant
partie d'un agrégat) déclarée dans le schéma. Il se compose d'un nom-donnée suivi, le
cas échéant, par la combinaison syntactiquement correcte d'indices et de qualificateurs
nécessaire au respect de la règle d'unicité des noms. Dans certains formats, la
qualification n'est pas nécessaire si le contexte supprime tout risque d'ambiguïté (règles
de syntaxe spécifiques).
Le format d'un identificateur de donnée est le suivant :
nom-donnée [(entier-1 [,entier-2]...)] [{OF|IN} nom-article]
4.3.8.1
Indiçage
Les indices sont utilisés uniquement pour identifier une zone de données à l'intérieur
d'un vecteur ou d'un groupe répétitif. L'indice doit toujours être un entier.
La plus petite valeur possible d'un indice est 1 ; elle renvoie à la première occurrence du
nom-donnée cité. La plus grande valeur d'un indice est 32767.
Lorsque plusieurs indices sont nécessaires, ils doivent être écrits de gauche à droite
dans l'ordre croissant des numéros de niveau des agrégats.
Le nombre d'indices est limité à 3 (limite COBOL).
4.3.8.2
Qualification
Lorsque le même nom-donnée est déclaré dans plus d'une rubrique RECORD, son
utilisation comme identificateur de donnée peut nécessiter une qualification, afin de
respecter la règle d'unicité des noms. Les règles de syntaxe précisent si la qualification
est nécessaire ou non. Un nom peut toujours être qualifié, même si ce n'est pas
nécessaire.
4-10
47 F2 80UR Rev02
Définition des schémas
4.3.9
Conditions
Dans les formats généraux, le mot condition représente une expression dont la valeur
("vrai" ou "faux") est testée par IQS lors de l'exécution.
4.3.9.1
Format général d'une condition
De façon générale, une condition se compose d'une ou plusieurs alternatives reliées
par la conjonction OR :
alternative-1 [OR alternative-2]...
La condition est vraie si l'une quelconque des alternatives spécifiées (et éventuellement
plusieurs, la conjonction OR n'étant pas exclusive) est vraie. Sinon, elle est fausse.
4.3.9.2
Alternative
Une alternative consiste en une ou plusieurs conditions simples reliées par la
conjonction AND :
condition-simple-1 [AND condition-simple-2]...
L'alternative est vraie si toutes les conditions simples qui la composent sont vraies.
Sinon, elle est fausse.
4.3.9.3
Condition simple
Une condition simple a le format suivant :
{ condition-relationnelle-1 }
{ [NOT] (condition-1)
}
La condition simple est vraie :
• soit si "condition-relationnelle-1" est vraie,
• soit si NOT est omis et "condition-1" est vraie,
• soit si NOT est spécifié et "condition-1" est fausse.
Dans tous les autres cas, la condition simple est fausse.
47 F2 80UR Rev02
4-11
IQS-V4 Guide de l'administrateur
4.3.9.4
Condition relationnelle
Une condition relationnelle se compose de deux opérandes qui peuvent être des
identificateurs de données ou des littéraux séparés par un opérateur de comparaison.
{ {LT} }
{id-donnée-1}
{littéral-1
{
{
{
{
{
{
{
} {
{
{
{
{
{
{
{
{< } }
}
{LE} }
{<=} }
}
{EQ} }
{= } }
}
{GE} }
{>=} }
}
{GT} }
{> } }
}
{NE} }
{id-donnée-2}
{littéral-2
}
Tableau 4-3. Opérateurs de comparaison
Opérateur
LT ou <
LE ou <=
EQ ou =
GE ou >=
GT ou >
NE
Signification
inférieur à
inférieur ou égal à
égal à
supérieur ou égal à
supérieur à
différent de
La condition est vraie si la relation entre les opérandes est vérifiée, et fausse dans le cas
contraire. Le tableau 4-4 indique les cas où la comparaison de deux identificateurs de
données est admise, et le tableau 4-5 les cas où la comparaison d'un identificateur de
donnée et d'un littéral est admise.
Si les opérandes sont de type numérique, il ne doit y avoir aucune perte de chiffres non
nuls (à gauche de la partie entière et à droite de la partie décimale) lorsque le littéral est
converti au format de l'identificateur. La comparaison s'effectue en utilisant la valeur
algébrique des données.
Si les opérandes sont de type alphanumérique, la comparaison s'effectue selon l'ordre
de classement EBCDIC.
Les opérateurs <, <=, =, >= et > doivent toujours être précédés et suivis d'un espace.
Les deux caractères qui composent les opérateurs <= et >= doivent figurer sur la même
ligne et ne peuvent être séparés par un espace.
4-12
47 F2 80UR Rev02
Définition des schémas
Dans les deux tableaux ci-après, m et m' représentent le nombre de chiffres significatifs,
et p et p' le nombre de chiffres après la virgule (pour plus de détails, voir la clause
TYPE).
Tableau 4-4. Comparaison de deux identificateurs de données
TYPE
identificateur - 1 DECIM AL
m
TYPE
identificateur - 2
DECIMAL m'
DECIM AL
m ,p
(p = 0)
BINAIRE CARACTERE
OUI
D E C IM A L m ',p '
(p = 0 )
OUI
OUI
(si p' = p)
B IN A IR E
OUI
OUI
CARACTERE
OUI
Tableau 4-5. Comparaison d'un identificateur de données et d'un littéral
TYPE
identificateur
TYPE
littéral
D E C IM A L
s igné /no n s ign é
en tier/no n en tier
47 F2 80UR Rev02
DECIMAL
m ,p
OUI
BINAIRE
CARACTERE
OUI
A LP H A N U M E R IQ U E
OUI
H E X A D E C IM A L
OUI
4-13
IQS-V4 Guide de l'administrateur
4.3.9.5
Utilisation des parenthèses
Dans le cas d'une condition sans parenthèses, chaque alternative est testée, puis les
valeurs obtenues (vrai ou faux) sont utilisées pour déterminer si la condition complète
est vérifiée ou non.
Dans le cas d'une condition avec parenthèses, les expressions entre parenthèses sont
testées en premier, puis les valeurs obtenues (vrai ou faux) sont utilisées pour
déterminer si la condition complète est vérifiée ou non.
Dans une condition avec parenthèses emboîtées, l'ordre d'évaluation va de la plus
intérieure à la plus extérieure.
A une parenthèse gauche doit toujours correspondre une parenthèse droite.
4.3.9.6
Exemples de conditions
TAUX-REMISE = 0.10
AGE >= 25
NOT (AGE < 25)
DATE-NAISSANCE LE DATE-DECES
MOIS = "JANVIER" AND JOUR <= 31 OR MOIS = "FEVRIER" AND JOUR <=
29
SEXE = "M" AND NOM-JEUNE-FILLE = " "
OR SEXE = "F" AND NOT (NOM-JEUNE-FILLE = " ")
RTYPE = "1" AND (SUBTYPE = "1" OR SUBTYPE = "2") OR
RTYPE = "2" AND ((SUBTYPE = "1" AND QTE < 1000) OR
(SUBTYPE = "2" AND QTE >= 1000))
OR RTYPE = "3"
4-14
47 F2 80UR Rev02
Définition des schémas
4.4
SYNTAXE DDL
Comme indiqué au début du paragraphe 4.3, un schéma origine DDL comporte cinq
types de rubriques :
• une rubrique SCHEMA identifiant le schéma,
• une ou plusieurs rubriques AREA définissant le ou les fichiers de la base de données,
• une ou plusieurs rubriques RECORD définissant le ou les articles et leurs zones
constitutives et indiquant leur aire de rangement,
• une ou plusieurs rubriques SET définissant les relations entre articles,
• une rubrique END-SCHEMA marquant la fin du schéma.
4.4.1
Ordre des rubriques
A chaque aire, article et ensemble existant dans le schéma doit correspondre une
rubrique distincte. Les règles ci-dessous définissent l'ordre dans lequel doivent
apparaître les différents types de rubriques.
• La rubrique SCHEMA doit être la première rubrique.
• Une rubrique AREA doit précéder toutes les rubriques RECORD décrivant les articles
contenus dans l'aire considérée.
• Une rubrique RECORD doit précéder toute rubrique SET décrivant un ensemble
auquel appartient l'article considéré.
• Une rubrique RECORD doit comprendre une sous-rubrique article suivie d'une ou
plusieurs sous-rubriques zone.
Noter qu'il ne peut pas exister d'articles de longueur nulle dans UFAS alors que cette
possibilité existe dans IDS/II.
• Une rubrique SET doit comprendre une sous-rubrique ensemble suivie d'une ou
plusieurs sous-rubriques détails.
• La rubrique END-SCHEMA doit être la dernière rubrique du schéma.
Une rubrique ou une sous-rubrique se compose d'une ou plusieurs clauses décrivant
des attributs. Les clauses peuvent être écrites dans n'importe quel ordre à condition que
la première désigne la rubrique ou la sous-rubrique. Toutes les rubriques et sousrubriques doivent se terminer par un point, suivi d'un espace ou d'une fin de ligne.
47 F2 80UR Rev02
4-15
IQS-V4 Guide de l'administrateur
4.4.2
Description des rubriques
Dans ce chapitre, la description de chaque rubrique ou sous-rubrique se présente
comme suit :
• Fonction.
• Format général (présenté selon les conventions d'écriture exposées dans la
préface).
• Règle(s) de syntaxe.
• Règle(s) générale(s).
Les clauses sont subdivisées en locutions, qui doivent être écrites dans l'ordre indiqué.
La structure d'un schéma DDL origine est la suivante :
Rubrique SCHEMA
Rubrique AREA ...
Rubrique RECORD ...
[Rubrique SET] ...
Rubrique END-SCHEMA
Chaque type de rubrique est décrit dans les pages qui suivent.
4.4.3
Rubrique SCHEMA
Fonction
Spécifie le nom du schéma. C'est le nom qui s'utilisera pour toutes les références
ultérieures à ce schéma. Cette rubrique est obligatoire.
Format général
SCHEMA NAME IS nom-schéma.
Règles de syntaxe
1.
Cette rubrique doit être la première du schéma.
2.
"nom-schéma" doit être unique dans le schéma concerné.
3.
"nom-schéma" doit être un nom de sous-fichier valide, car il sera utilisé en tant que
tel à la création du schéma résultant.
4.
"nom-schéma" peut comporter jusqu'à 30 caractères.
Règle générale
Le schéma désigné par "nom-schéma" est constitué de toutes les rubriques DDL qui
apparaissent entre SCHEMA et END-SCHEMA.
4-16
47 F2 80UR Rev02
Définition des schémas
4.4.4
Rubrique AREA
Fonction
Spécifie le nom d'une aire (fichier) du schéma et indique son organisation.
Format général
AREA NAME IS nom-aire
{ SEQUENTIAL
}
[ORGANIZATION IS { RELATIVE
}].
{ INDEXED USING nom-clé }
Règles de syntaxe
1.
"nom-aire" doit être unique dans le schéma concerné.
2.
Il doit y avoir une rubrique AREA par aire.
3.
Si la clause ORGANIZATION n'est pas spécifiée, le fichier est considéré comme
séquentiel.
4.
"nom-clé" est le nom logique de la clé primaire d'un fichier indexé. Ce nom est
repris dans la description de chaque article, avec indication des zones constituant
la clé.
5.
Le nom choisi pour nom-clé doit être parlant, car c'est lui qui permet de faire
référence à la clé lors de la définition de vues standard ou de l'utilisation de
l'instruction RETRIEVE...VIA <nom-clé>.
6.
Si les aires doivent être exploitées sous TDS, leur nom ne doit contenir ni trait de
soulignement (_), ni tiret (-).
7.
"nom-aire" peut comporter jusqu'à 30 caractères (les 8 premiers caractères
seulement étant utilisés pour le nom de fichier interne). Si l'aire doit être exploitée
sous IQS/TDS, la longueur maximum autorisée est de 23 caractères.
8.
Les hiérarchies ne sont pas autorisées dans le cas de fichiers à organisation
relative. Les articles d'un fichier relatif ne peuvent pas faire partie d'une rubrique
SET NAME.
Règle générale
Les aires déclarées dans un schéma peuvent avoir des organisations différentes.
47 F2 80UR Rev02
4-17
IQS-V4 Guide de l'administrateur
4.4.5
Rubrique RECORD
Fonction
Spécifie le nom des articles et des zones qui les constituent à l'intérieur d'une aire
(fichier) et en précise certaines caractéristiques.
Format général
sous-rubrique article
sous-rubrique zone ...
Règle générale
La longueur maximum d'un article est de 32767 octets.
Format général d'une sous-rubrique article
RECORD NAME IS nom-article
{ nom-aire
}
[WITHIN {
}]
{ AREA OF OWNER }
{ ASCENDING }
[KEY nom-clé IS {
} id-donnée [id-donnée]...
{ DESCENDING }
{ LAST
}
DUP[LICATES] ARE {
}]...
{ NOT ALLOWED }
[RECORD-TYPE DEFINED BY CHECK ON id-donnée [id-donnée]...]
[CHECK IS condition]... .
Format général d'une sous-rubrique zone
[numéro-niveau-1] nom-donnée-1
{
{ {
{UNPACKED} }
{ {
{
} }
{ { [UNSIGNED] {[PACKED]} }
{ {
{
} }
{ {
{PACKED-2} } DECIMAL entier-1
{ {
}
[entier-2]
{ {
{UNPACKED} }
{ {
{
} }
[TYPE IS { { SIGNED
{[PACKED]} }
{
{ [SIGNED] BINARY {15}
{
{31}
{
{ CHARACTER entier-3
{
[OCCURS entier-4 TIMES [DEPENDING ON identificateur-donnée-3]
}
}
}
}
}
}
}
}
}
}]
}
}
}
}
}
}
]
[CHECK IS VALUE [NOT] littéral-1 [THRU littéral-2] ...] .
4-18
47 F2 80UR Rev02
Définition des schémas
4.4.6
Clause RECORD NAME
Fonction
Spécifie le nom d'un article du schéma (ce nom désigne toutes les occurrences de cet
article dans le fichier (aire)).
Format général
RECORD NAME IS nom-article
Règles de syntaxe
4.4.7
1.
"nom-article" doit être unique dans le schéma concerné. C'est le nom utilisé par
RETRIEVE, RETAIN, REVIEW, EXTRACT.
2.
Le schéma doit comporter au minimum un nom-article.
Clause WITHIN
Fonction
Spécifie l'aire (fichier) dans laquelle se trouvent les occurrences de l'article considéré.
Format général
{nom-aire
}
WITHIN {
}
{AREA OF OWNER}
Règle de syntaxe
"nom-aire" est le nom d'une aire pour laquelle une rubrique AREA a été spécifiée dans le
schéma.
Règles générales
1.
La clause WITHIN n'est obligatoire que lorsque le schéma compte plus d'une
aire.
2.
Lorsque "nom-aire" est spécifié, les occurrences de l'article sont rangées dans
l'aire désignée.
3.
Lorsque AREA OF OWNER est spécifié, l'article doit être défini comme article
détail dans une rubrique SET ; ses occurrences sont rangées dans la même aire
que celles de son article maître.
47 F2 80UR Rev02
4-19
IQS-V4 Guide de l'administrateur
4.4.8
Clause KEY
Fonction
Spécifie une clé de tri pour l'article considéré et indique les zones dont elle se compose.
Format général
KEY nom-clé IS { ASCENDING }
{
} id-donnée
{ DESCENDING }
[id-donnée]...
{ LAST
}
DUP[LICATES] ARE {
}
{ NOT ALLOWED }
Règles de syntaxe
1.
Les zones de données spécifiées par "id-donnée..." doivent être déclarées dans la
rubrique RECORD considérée.
2.
Une zone ne peut figurer qu'une seule fois dans la liste des zones constituant la
clé.
3.
Les zones constituant la clé doivent être contiguës et déclarées dans l'ordre où
elles figurent dans l'article.
4.
Une zone de clé ne doit pas être un élément d'un vecteur ou d'un groupe répétitif à
nombre d'occurrences variable.
5.
La longueur totale de la clé doit être inférieure à 256 octets.
6.
"nom-clé" doit être unique dans la rubrique RECORD considérée.
Règles générales
1.
Les identificateurs de données doivent être déclarés par ordre d'importance
décroissante (de la clé majeure à la clé mineure).
2.
Toutes les rubriques RECORD d'une même aire doivent spécifier les mêmes noms
de clé (dans les clauses KEY).
3.
Pour une même clé, les clauses KEY des différentes rubriques RECORD d'une
même aire doivent être identiques en ce qui concerne :
-
4-20
l'ordre de classement (ASCENDING/DESCENDING),
l'option choisie pour DUPLICATES (LAST/NOT),
la position dans l'article de la première zone spécifiée,
le nombre de zones spécifiées,
la longueur et le type des zones de même rang dans la clé.
47 F2 80UR Rev02
Définition des schémas
4.
Des articles n'appartenant pas à la même aire ne peuvent présenter le même nom
de clé.
5.
Les articles d'une aire SEQUENTIAL ne peuvent comporter qu'une seule clé de tri.
6.
Les articles d'une aire INDEXED doivent présenter une description de la clé
primaire (spécifiée dans la clause ORGANIZATION de la rubrique AREA). Les
clauses KEY correspondantes doivent comporter les options ASCENDING et
DUPLICATES NOT.
7.
Lorsque la locution DUPLICATES ARE NOT ALLOWED est spécifiée, IQS
refuse toute modification d'un article si, après l'opération, il présente la même
valeur de clé qu'un autre article du fichier.
8.
Lorsque la locution DUPLICATES ARE LAST est spécifiée, les articles modifiés
sont insérés après les articles existants ayant la même valeur de clé.
9.
Lorsqu'un article comporte plusieurs clés, celles-ci ne doivent pas commencer par
la même zone.
10. L'accès direct aux données s'effectue d'abord en utilisant la clé majeure, puis les
clés mineures. La commande IQS PRINT SCHEMA affiche les clés permettant un
accès direct.
47 F2 80UR Rev02
4-21
IQS-V4 Guide de l'administrateur
4.4.9
Clause RECORD-TYPE
Fonction
Spécifie les zones de données dont la valeur indique le type de l'article.
Format général
RECORD-TYPE DEFINED BY CHECK ON id-donnée [id-donnée]...
Règles de syntaxe
1.
Les zones de données désignées par "id-donnée..." doivent être déclarées dans la
rubrique RECORD considérée.
2.
Une même zone ne peut apparaître qu'une seule fois dans la liste des zones.
3.
Les "id-donnée" ne doivent pas être indicés, c'est-à-dire qu'il ne doivent pas
désigner une zone faisant partie d'un vecteur ou d'un groupe répétitif.
4.
La clause RECORD-TYPE n'est obligatoire que dans le cas d'une aire comportant
plus d'un article.
Règles générales
1.
Les zones de données spécifiées dans cette clause doivent avoir une valeur
constante. Les sous-rubriques zone correspondantes doivent comporter la clause
:
CHECK VALUE littéral-unique
garantissant que la zone ne peut prendre qu'une seule valeur. La constante
"littéral-unique" doit faire partie de l'ensemble des valeurs autorisées pour la zone.
2.
Les zones spécifiées dans les clauses RECORD-TYPE des différents articles d'une
même aire SEQUENTIAL ou INDEXED doivent être identiques en nombre, position
dans l'article, type et longueur.
Remarque :
4-22
MNDD ne vérifie pas que les constantes associées aux zones
spécifiées dans RECORD-TYPE permettent d'identifier l'article
sans ambiguïté.
47 F2 80UR Rev02
Définition des schémas
4.4.10
Clause CHECK (sous-rubrique article)
Fonction
Spécifie le contrôle à effectuer sur certains éléments d'un article avant sa modification.
Format général
CHECK IS condition-1 [OR condition-2]...
Règles de syntaxe
1.
Tous les identificateurs de données utilisés comme arguments de la condition
doivent désigner des zones de données spécifiées dans la rubrique RECORD.
2.
Un identificateur ne doit pas désigner un élément de vecteur ou de groupe répétitif
à nombre d'occurrences variable.
Règles générales
1.
La condition est testée chaque fois que l'un quelconque de ses arguments
intervient lors de la création ou de la modification d'une occurrence de l'article
concerné.
2.
Si la condition n'est pas vérifiée, IQS signale une erreur et l'article n'est pas
créé/modifié.
3.
Chaque condition peut comporter plusieurs sous-conditions reliées par la
conjonction AND :
sous-condition-1 [AND sous-condition-2]...
4.
Une sous-condition se présente comme suit :
{zone-1 }
{
} [NOT]
{littéral}
5.
{
{
{
{
{
{
{
{
{
{
{
{
{
{
{> } }
{GT} }
}
{>=} }
{GE} }
}
{< } }
{LT} }
}
{<=} }
{LE} }
}
{= } }
{EQ} }
{zone-2 }
{
}
{littéral}
Les conditions doivent figurer entre parenthèses, afin de bien distinguer leur
signification :
Exemple :
(REF = "A" AND BNO >=2 AND BNO <8) OR
(REF = "B" AND BNO = 1) OR
(REF = "C" AND BNO GT 7)
47 F2 80UR Rev02
4-23
IQS-V4 Guide de l'administrateur
4.4.11
Clause nom-donnée
Fonction
Désigne une zone de données (simple ou appartenant à un vecteur/à un groupe répétitif
ou non) et indique son niveau dans la structure de l'article.
Format général
[numéro-niveau] nom-donnée
Règles de syntaxe
1.
"nom-donnée" doit être unique dans la rubrique RECORD considérée et ne peut
pas être un nom de rubrique.
2.
"numéro-niveau" est un entier décimal non signé compris entre 01 et 99 inclus. 01
correspondant implicitement au nom de l'article, le premier numéro de niveau à
donner est en fait 02.
Règles générales
4-24
1.
Le contenu d'un article se définit au moyen d'une ou plusieurs sous-rubriques zone.
2.
Une zone simple est décrite par une sous-rubrique zone contenant une clause
TYPE, mais pas de clause OCCURS.
3.
Un vecteur est décrit par une sous-rubrique zone contenant une clause TYPE et
une clause OCCURS.
4.
Un groupe répétitif est décrit par une sous-rubrique zone contenant une clause
OCCURS, mais pas de clause TYPE.
5.
Un groupe non répétitif est décrit par une sous-rubrique zone qui ne contient ni
clause TYPE, ni clause OCCURS.
6.
Si une sous-rubrique zone définit un groupe (répétitif ou non), elle doit être suivie
d'une ou plusieurs sous-rubriques zone portant des numéros de niveau plus élevés.
7.
Si une sous-rubrique zone contient une clause OCCURS avec l'option
DEPENDING, elle ne peut être suivie que par d'autres sous-rubriques zone portant
des numéros de niveau plus élevés.
8.
Le nombre maximum de groupes répétitifs et de vecteurs emboîtés est de 3.
9.
Le nombre maximum de niveaux est de 48 (règle COBOL).
47 F2 80UR Rev02
Définition des schémas
4.4.12
Clause TYPE
Fonction
Décrit les caractéristiques d'une zone de données (simple ou faisant partie d'un
vecteur/d'un groupe répétitif ou non).
Format général
{
{
{
{
{
{
TYPE IS {
{
{
{
{
{
{
{UNPACKED} }
{ [UNSIGNED] {[PACKED]} }
{
{PACKED-2} }
{
} DECIMAL entier-1
{
{UNPACKED} }
[entier-2]
{ SIGNED
{
} }
{
{[PACKED]} }
[SIGNED] BINARY {31}
{15}
CHARACTER entier-3
}
}
}
}
}
}
}
}
}
}
}
}
Règles de syntaxe
1.
"entier-1" et "entier-3" doivent être des constantes décimales non signées et de
valeur supérieure à 0. Leur valeur maximum varie en fonction du type de donnée
(voir Règles générales).
2.
"entier-2" est une constante décimale signée.
Règles générales
1.
La clause TYPE définit une zone numérique (DECIMAL ou BINARY) ou
alphanumérique (CHARACTER).
2.
DECIMAL définit une zone numérique décimale.
correspondent au modèle PIC 9 du COBOL.
3.
"entier-1" spécifie le nombre de chiffres significatifs à conserver pour toutes les
valeurs de la zone. La valeur maximum de "entier-1" est 30.
4.
Lorsqu'il est spécifié, "entier-2" indique le nombre de chiffres après la virgule dans
la zone. "entier-2" peut prendre n'importe quelle valeur comprise entre -29 et 30
inclus.
Les
zones
DECIMAL
Lorsque "entier-2" est négatif, la marque décimale est placée "entier-2" positions à
droite du chiffre le plus à droite (DECIMAL 4,-1 équivaut à PICTURE 9999P en
COBOL).
Lorsque "entier-2" est positif, la marque décimale est placée "entier-2" positions à
gauche du chiffre le plus à droite (DECIMAL 4,1 équivaut à PICTURE 999V9 en
COBOL).
47 F2 80UR Rev02
4-25
IQS-V4 Guide de l'administrateur
Lorsque "entier-2" est égal à zéro ou n'est pas spécifié, la marque décimale est
placée immédiatement à droite du chiffre le plus à droite.
Dans les tableaux 4-4 et 4-5, m et m' représentent "entier-1", et p et p' "entier-2".
5.
Le nombre total de chiffres induit par "entier-1" et "entier-2" ne doit pas, pour des
raisons d'affichage, dépasser 30, même si les données ne sont jamais affichées.
6.
Les mots-clés SIGNED/UNSIGNED, PACKED/PACKED-2/UNPACKED définissent
le format interne de la zone. Leurs équivalents COBOL sont indiqués dans le
tableau 4-6.
7.
BINARY spécifie une zone numérique binaire. Les équivalents COBOL sont
COMP-1 et COMP-2. Les zones de ce type contiennent des entiers signés sur
deux octets (15 bits plus bit de signe) ou sur quatre octets (31 bits plus bit de
signe).
8.
CHARACTER spécifie une zone alphanumérique. L'équivalent COBOL est PIC X.
Une zone alphanumérique est supposée contenir des caractères du jeu EBCDIC et
toutes les comparaisons s'effectuent selon l'ordre de classement EBCDIC.
9.
"entier-3" donne la longueur de la zone alphanumérique. Sa valeur maximum est
32767.
10. Le tableau 4-6 récapitule les correspondances entre les types de données DDL et
COBOL.
11. Au niveau de l'article, toutes les zones sont alignées à l'octet.
Exemple :
RECORD NAME IS nom-article-1...
02 donnée-alphanumérique-1 TYPE IS CHARACTER 3.
02 donnée-décimale-2 TYPE IS SIGNED PACKED DECIMAL 5,+2.
02 donnée-binaire-3 TYPE IS SIGNED BINARY 31.
Remarques :
1.
"donnée-alphanumérique-1" occupera dans l'article trois octets
EBCDIC de huit bits.
2.
"donnée-décimale-2" occupera cinq positions pour les chiffres en
décimal condensé plus une position pour le signe, soit un total de
six positions ou trois octets de huit bits. Le nombre de chiffres
après la virgule sera de deux, ce qui correspond en COBOL à :
PIC S999V99 USAGE COMP.
4-26
3.
"donnée-binaire-3" occupera quatre octets de huit bits à partir du
début de l'octet suivant.
4.
Pour plus de précisions sur la représentation des différents types
de données sous IQS, voir le Manuel de référence IQS-V4.
47 F2 80UR Rev02
Définition des schémas
Tableau 4-6. Correspondance entre les types de données DDL et COBOL
CO BOL
DDL
IM A G E
m
S9(m)
D E C IM A L
E C LA T E
m ,p
S IG N E
m >p
S9(m-p)V9(p)
m =p
SV9(m)
m <p
SP(p-m)9(m)
m,-p
m
{ m ,p
m ,-p
S9(m)P(p)
com m e
D E C IM A L E C LA T E
N O N S IG N E
{
D E C IM A L
CO NDENSE
S IG N E
D E C IM A L
m,p
N O N S IG N E
m,-p
m
D E C IM A L
C O N D E N S E -2 { m ,p
m ,-p
N O N S IG N E
9(m-p)V9(p)
m =p
V9(m)
m <p
P(p-m)9(m)
9(m)P(p)
com m e
D E C IM A L E C LA T E
N O N S IG N E
COMP
{
m
{ m ,p
m ,-p
m >p
{
D E C IM A L
CONDENSE
N O N S IG N E
COMP
9(m)
m
E C LA T E
U TILIS ATIO N
com m e
D E C IM A L E C LA T E
N O N S IG N E
COMP-8
15
COMP-1
31
COMP-2
B IN A IR E S IG N E
CARACTERE n
47 F2 80UR Rev02
X(n)
4-27
IQS-V4 Guide de l'administrateur
4.4.13
Clause OCCURS
Fonction
Définit un vecteur ou un groupe répétitif en spécifiant combien de fois se répète la zone
ou le groupe de zones dans un article ou un groupe répétitif.
Format général
OCCURS entier-4 TIMES [DEPENDING ON identificateur-donnée-3]
Règles de syntaxe
1.
L'option DEPENDING n'est pas autorisée dans les sous-rubriques qui décrivent
une zone faisant partie d'un groupe répétitif (c'est-à-dire dépendant d'une zone
décrite avec la clause OCCURS).
2.
La zone spécifiée par "identificateur-donnée-3" doit :
3.
a.
être décrite dans la rubrique RECORD considérée ;
b.
être décrite dans une sous-rubrique précédente ;
c.
être un entier (sa clause TYPE doit spécifier BINARY ou DECIMAL et un
nombre de chiffres après la virgule inférieur ou égal à zéro).
La zone spécifiée par "identificateur-donnée-3" ne doit pas être indicée, c'est-à-dire
qu'elle ne peut faire partie d'un vecteur ou d'un groupe répétitif.
Règles générales
1.
Le nombre de répétitions de la zone ou du groupe est spécifié par la valeur de
"entier-4", qui doit être comprise entre 1 et 32767 inclus.
2.
La clause OCCURS définit un vecteur lorsque la clause TYPE est spécifiée ou un
groupe répétitif lorsqu'elle est omise.
3.
Lorsque l'option DEPENDING est utilisée, le nombre d'occurrences du vecteur ou
du groupe répétitif (voir le point 2 ci-dessus) est variable. Cette sous-rubrique ne
peut être suivie que par d'autres sous-rubriques zone portant des numéros de
niveau plus élevés.
Dans ce cas, "entier-4" représente le nombre maximum d'occurrences du vecteur
ou du groupe répétitif, leur nombre réel étant indiqué par la valeur de
"identificateur-donnée-3".
4-28
47 F2 80UR Rev02
Définition des schémas
Exemple 1 : vecteur
02 EDX TYPE BINARY 31 OCCURS 10.
Exemple 2 : groupes répétitifs
02 EDAB OCCURS 18.
03 EDA TYPE CHARACTER 20.
03 EDB OCCURS 8.
04 EDBX...
04 EDBY...
04 EDBZ...
EDAB et EDB sont des identificateurs de groupe.
47 F2 80UR Rev02
4-29
IQS-V4 Guide de l'administrateur
4.4.14
Clause CHECK (sous-rubrique zone)
Fonction
Spécifie le contrôle à exécuter avant modification d'une valeur ou enregistrement d'une
nouvelle donnée.
Format général
CHECK IS VALUE [NOT] littéral-1 [THRU littéral-2]
Règles de syntaxe
1.
La sous-rubrique zone contenant cette clause CHECK doit également comporter
une clause TYPE.
2.
La clause CHECK n'est pas autorisée dans les sous-rubriques zone (d'un vecteur
ou d'un groupe répétitif) dont le nombre d'occurrences est variable.
3.
Le type de "littéral-1" et "littéral-2" doit concorder avec le type de la zone, comme
indiqué dans le tableau 4-5.
4.
Dans le cas de données alphanumériques, les littéraux doivent être spécifiés dans
l'ordre de classement EBCDIC croissant. Dans le cas de données numériques, ils
doivent être spécifiés en ordre algébrique croissant. Un littéral ne peut donc pas
avoir la même valeur qu'un autre littéral, ni être compris dans une plage de valeurs
spécifiée dans la même clause. De même, les plages de valeurs spécifiées dans la
même clause ne doivent pas se chevaucher.
Règles générales
4-30
1.
Le contenu de la zone est comparé aux valeurs ou plages de valeurs spécifiées
dans la clause. Une valeur est spécifiée par un littéral. Une plage de valeurs est
spécifiée par deux littéraux séparés par THRU.
2.
Dans le cas de valeurs individuelles, la zone satisfait au test si elle est égale à l'une
des valeurs de "littéral-1". Dans le cas d'une plage de valeurs, elle satisfait au test
si elle est supérieure ou égale au premier littéral (qui indique la valeur la plus basse
de la plage) et inférieure ou égale au deuxième littéral (qui indique la valeur la plus
haute de la plage).
3.
Le test est positif si la zone remplit la condition lorsque NOT est omis, ou si elle ne
la remplit pas lorsque NOT est spécifié.
4.
Le contrôle est exécuté avant chaque modification (instruction MODIFY) ou chaque
enregistrement d'une nouvelle donnée (instruction INSERT).
47 F2 80UR Rev02
Définition des schémas
5.
Si le test est négatif, une erreur est signalée et la zone n'est pas modifiée ou
enregistrée.
6.
Si la valeur est un identificateur-donnée spécifié dans une clause RECORD-TYPE
DEFINED BY CHECK ON, il doit s'agir d'un littéral unique comme indiqué
précédemment dans la clause RECORD-TYPE.
Exemples de clauses CHECK :
CHECK IS VALUE "1"
CHECK IS VALUE NOT 1000
CHECK IS VALUE "A" "B" "C"
CHECK IS VALUE 20 THRU 30 50 THRU 60
CHECK IS VALUE NOT 0 THRU 200
47 F2 80UR Rev02
4-31
IQS-V4 Guide de l'administrateur
4.4.15
Rubrique SET
Fonction
Définit un ensemble exprimant la relation entre deux ou plusieurs articles.
Format général
SET NAME IS nom-ensemble
OWNER IS nom-article-1 .
MEMBER IS nom-article-2 ... .
[MEMBER IS nom-article-3.] ...
Règles générales
1.
Une occurrence d'ensemble est un groupe d'occurrences d'articles associées par
la relation dont le nom est spécifié dans la clause SET. Une occurrence d'ensemble
se compose d'une occurrence de l'article maître et des occurrences (éventuelles)
des articles détails qui lui sont liés.
Les occurrences détails suivent immédiatement leur occurrence maîtresse.
2.
Un ensemble ne peut être défini qu'à l'intérieur d'une même aire ; autrement dit,
l'article maître et ses articles détails doivent se trouver dans la même aire ("nomarticle-2" doit être déclaré dans la même aire que son article maître "nom-article1").
La définition sous IQS de liens entre des articles appartenant à des aires
différentes ne peut s'effectuer qu'au moyen des vues standard.
3.
Seule les structures hiérarchique et arborescente sont possibles, c'est-à-dire
qu'un même article ne peut pas être article détail de plusieurs ensembles. La
structure en réseau n'est pas acceptée, sauf sous IDS/II. Les articles de
fichiers relatifs ne peuvent pas faire partie d'une rubrique SET NAME.
4.
Les ensembles récursifs, directs ou indirects, ne sont pas acceptés sous UFAS :
-
un même article ne peut être à la fois maître et détail (récursivité directe),
-
les relations entre articles d'ensembles associés ne doivent pas former une
boucle fermée (récursivité indirecte). Deux ensembles sont associés si l'article
maître de l'un est article détail dans l'autre.
La récursivité indirecte est autorisée sous IDS/II.
4-32
47 F2 80UR Rev02
Définition des schémas
5.
Dans l'organisation UFAS indexée, la structure de la clé primaire reflète les
relations hiérarchiques entre les articles. Pour définir un ensemble associant deux
articles, les conditions suivantes doivent être remplies :
-
la clé primaire doit contenir au moins une zone pour chaque article de la
hiérarchie,
-
l'ordre des zones (de gauche à droite) doit refléter l'ordre de la hiérarchie,
-
la ou les zones de droite de la clé de l'article maître (zones significatives des
articles détails) doivent être des constantes de valeur espace lorsqu'elles sont
alphanumériques ou zéro lorsqu'elles sont numériques. Ces constantes sont
définies par la clause CHECK VALUE.
-
chacune des zones constituant la clé doit avoir les mêmes caractéristiques
(type et longueur) dans l'article maître et dans l'article détail.
47 F2 80UR Rev02
4-33
IQS-V4 Guide de l'administrateur
4.4.16
Clause SET NAME
Fonction
Spécifie le nom d'un ensemble du schéma, c'est-à-dire un nom regroupant toutes les
occurrences d'un ensemble dans une aire.
Format général
SET NAME IS nom-ensemble
Règle de syntaxe
"nom-ensemble" doit être unique dans le schéma.
Règle générale
Un ensemble décrit la hiérarchie des articles d'un fichier séquentiel ou séquentiel indexé.
Chaque occurrence de l'article maître est suivie de toutes les occurrences de son article
détail.
4.4.17
Clause OWNER
Fonction
Spécifie le nom d'un article, chaque occurrence de celui-ci déterminant une occurrence
de l'ensemble spécifié dans la rubrique SET considérée.
Format général
OWNER IS nom-article-1.
Règles de syntaxe
1.
"nom-article-1" doit avoir été préalablement déclaré dans une rubrique RECORD.
2.
"nom-article-1" doit être différent des noms d'articles détails spécifiés dans la
rubrique SET considérée.
Règles générales
4-34
1.
La clause OWNER spécifie l'article qui est maître dans l'ensemble décrit. Chaque
occurrence de l'article maître implique une occurrence de l'ensemble décrit.
2.
Il ne peut y avoir qu'un seul maître dans une occurrence d'ensemble donnée.
47 F2 80UR Rev02
Définition des schémas
4.4.18
Clause MEMBER
Fonction
Spécifie le nom d'un article dont les occurrences sont détails dans les occurrences de
l'ensemble spécifié dans la rubrique SET considérée.
Format général
MEMBER IS nom-article-2
[MEMBER IS nom-article-3.] ...
Règles de syntaxe
1.
La clause MEMBER est obligatoire pour chaque article pouvant être détail de
l'ensemble décrit.
2.
Un ensemble peut comporter plusieurs articles détails.
3.
Un article ne peut être détail que d'un seul ensemble.
4.
"nom-article-2" doit être différent du nom de l'article maître ("nom-article-1" de la
clause OWNER) et du nom des autres articles détails de l'ensemble considéré.
En d'autres termes, "nom-article-2" doit être unique dans la rubrique SET.
Règle générale
Chaque occurrence d'article ne peut figurer que dans une seule occurrence de
l'ensemble dont elle est détail, c'est-à-dire quelle ne peut être reliée qu'à une seule
occurrence de l'article maître de cet ensemble.
4.4.19
Rubrique END-SCHEMA
Fonction
Marque la fin d'une description de schéma.
Format général
END-SCHEMA .
Règle générale
Cette rubrique est automatiquement générée en cas d'omission.
47 F2 80UR Rev02
4-35
IQS-V4 Guide de l'administrateur
4.5
EXEMPLE
La description origine ci-dessous est celle du schéma UFAS séquentiel indexé
SCH-CUSTOMERS.
Comme le montre la figure 4-1, SCH-CUSTOMERS contient quatre articles réels.
Chacun de ces articles porte un nom unique (par exemple ORDERS), qui permet de
l'identifier et d'y accéder.
Chaque article comporte un certain nombre de zones, qui constituent l'unité élémentaire
d'accès à l'information. L'article ORDERS en comporte ainsi cinq :
ORD-TYPE
ORD-CODE
ORD-FILLER
ORD-CU-CODE
ORD-DATE
La hiérarchie des articles réels est définie par des relations appelées ensembles. Dans
la figure 4-1, les ensembles sont représentés par des flèches. Ainsi, l'article ORDERS
est lié à l'article ORDER-LINES par l'ensemble ORDER-TO-LINE. ORDERS est donc
l'article maître de ORDER-LINES et ORDER-LINES l'article détail de ORDERS.
SCH-CUSTOMERS est le schéma utilisé dans presque toute la documentation IQS.
C'est à partir de ce schéma qu'est définie la vue MY-CUSTOMERS (voir chapitre 8) qui
est employée pour les exemples des divers guides utilisateur IQS.
CUSTOMERS
ORDERS
ITEMS
C U -C O D E
C U -N A M E
C U -S T R E E T
C U -C IT Y
O R D -T YP E
O R D -C O D E
O R D -F IL LE R
O R D -C U -C O D E
O R D -D A T E
IT-C O D E
IT-N AM E
IT-S TO C K
IT-P R IC E
ensemble ORDER-TO-LINE
ORDER-LINES
LI-T Y P E
LI-O R D -C O D E
LI-IT -C O D E
LI-C U -C O D E
LI-Q T Y
Figure 4-1. Schéma SCH-CUSTOMERS
4-36
47 F2 80UR Rev02
Définition des schémas
S C H E M A N A M E IS S C H -C U S T O M E R S .
A R E A N A M E IS A -C U S T O R G A N IZ A T IO N IS IN D E X E D U S IN G K E Y -C U S T .
A R E A N A M E IS A -O R D E R O R G A N IZ A T IO N IS IN D E X E D U S IN G K E Y -O R D E R .
A R E A N A M E IS A -IT E M O R G A N IZ A T IO N IS IN D E X E D U S IN G K E Y-IT E M .
R E C O R D N A M E IS C U S T O M E R S
K E Y K E Y -C U S T IS A S C E N D IN G C U -C O D E D U P LIC A T E S N O T
K E Y K E Y -C IT Y IS A S C E N D IN G C U -C IT Y D U P LIC A T E S LA S T W IT H IN A -C U S T .
02 C U -C O D E
T Y P E IS C H A R A C T E R 6.
02 C U -N A M E
T Y P E IS C H A R A C T E R 15.
02 C U -S T R E E T
T Y P E IS C H A R A C T E R 20.
02 C U -C IT Y
T Y P E IS C H A R A C T E R 15.
R E C O R D N A M E IS O R D E R S
K E Y K E Y -O R D E R IS A S C E N D IN G O R D -C O D E , O R D -F ILLE R D U P LIC A T E S N O T
K E Y K E Y -C U -C O D E IS A S C E N D IN G O R D -C U -C O D E D U P LIC A T E S LA S T
K E Y K E Y -IT -C O D E IS A S C E N D IN G O R D -F ILLE R D U P LIC A T E S LA S T
R E C O R D -T Y P E D E F IN E D B Y C H E C K O N O R D -T Y P E W IT H IN A -O R D E R .
02 O R D -T Y P E
T YP E IS C H A R A C T E R 1 C H E C K IS V A LU E "O ".
02 O R D -C O D E
T YP E IS C H A R A C T E R 7.
02 O R D -F ILLE R
T Y P E IS C H A R A C T E R 4 C H E C K IS V A LU E " ".
02 O R D -C U -C O D E
T Y P E IS C H A R A C T E R 6.
02 O R D -D A T E
T Y P E IS C H A R A C T E R 6.
R E C O R D N A M E IS O R D E R -LIN E S
K E Y K E Y -O R D E R IS A S C E N D IN G LI-O R D -C O D E , LI-IT -C O D E D U P LIC A T E S N O T
K E Y K E Y -C U -C O D E IS A S C E N D IN G LI-C U -C O D E D U P LIC A T E S LA S T
K E Y K E Y -IT -C O D E IS A S C E N D IN G LI-IT -C O D E D U P LIC A T E S LA S T
R E C O R D -T Y P E D E F IN E D B Y C H E C K O N LI-T Y P E W IT H IN A -O R D E R .
02 LI-T Y P E
T Y P E IS C H A R A C T E R 1 C H E C K IS V A LU E "L".
02 LI-O R D -C O D E
T Y P E IS C H A R A C T E R 7.
02 LI-IT -C O D E
T Y P E IS C H A R A C T E R 4.
02 LI-C U -C O D E
T Y P E IS C H A R A C T E R 6.
02 LI-Q T Y
T Y P E IS U N S IG N E D U N P A C K E D D E C IM A L 5.
R E C O R D N A M E IS IT E M S
K E Y K E Y -IT E M IS A S C E N D IN G IT -C O D E D U P LIC A T E S N O T W IT H IN A -IT E M .
02 IT -C O D E
T Y P E IS C H A R A C T E R 4.
02 IT -N A M E
T Y P E IS C H A R A C T E R 20.
02 IT -S T O C K
T Y P E IS U N S IG N E D U N P A C K E D D E C IM A L 5.
02 IT -P R IC E
T YP E IS U N S IG N E D U N P A C K E D D E C IM A L 6 2.
S E T N A M E IS O R D E R -T O -LIN E
O W N E R IS O R D E R S .
M E M B E R IS O R D E R -LIN E S .
E N D -S C H E M A .
Figure 4-2. Description origine du schéma SCH-CUSTOMERS
47 F2 80UR Rev02
4-37
IQS-V4 Guide de l'administrateur
4.6
MOTS RESERVES DU LANGAGE DDL
ACCESS-CONTROL
ACTUAL
AFTER
ALL
ALLOWED
ALTER
ALWAYS
AND
ANY
APPLICATION
ARE
AREA
AREA-ID
ASC
ASCENDING
AUTO
AUTOMATIC
BEFORE
BIN
BINARY
BIT
BY
CALC
CALC-KEY
CALL
CHAR
CHARACTER
CHECK
CLOSE
COMMENT
COMPLEX
CONSTRAINT
COPY
CURRENT
DATA-BASE-KEY
DBKEY
DEC
DECIMAL
DECODING
DEFINED
DELETE
4-38
DEPENDING
DESC
DESCENDING
DIRECT
DISPLAY
DUP
DUPLICATES
DURING
DYNAMIC
ENCODING
END
END-SCHEMA
EQ
EQUAL
ERROR
EXCL
EXCLUSIVE
FIND
FIRST
FIXED
FLOAT
FOR
GE
GET
GT
IDENTIFIED
IN
INDEX
INDEXED
INSERT
INSERTION
IS
KEY
KEYS
LAST
LE
LINKED
LOC
LOCATION
LOCK
LOCKS
LT
MAND
MANDATORY
MANUAL
MEMBER
MEMBERS
MEMBERSHIP
MODE
MODIFY
NAME
NE
NEXT
NEXCL
NONEXCLUSIVE
NONNULL
NOT
NULL
OCCURS
OF
ON
ONLY
OPEN
OPT
OPTIONAL
OR
ORDER
ORGANIZATION
OWNER
PACKED
PACKED-2
PERMANENT
PIC
PICTURE
POSTPONED
PRIOR
PROC
PROCEDURE
PROCESSABLE
PROT
PROTECTED
RANGE
REAL
RECORD
RECORD-TYPE
REMOVE
RESULT
RETENTION
RETR
RETRIEVAL
SCHEMA
SEARCH
SELECTION
SEQUENCE
SEQUENTIAL
SET
SIGNED
SORTED
SOURCE
STORE
STRUCTURAL
SYSTEM
SYSTEM-DEFAULT
TEMP
TEMPORARY
THEN
THIS
THROUGH
THRU
TIMES
TO
TYPE
UNPACKED
UNSIGNED
UPDATE
USING
VALUE
VIA
VIRTUAL
WHERE
WITHIN
47 F2 80UR Rev02
5. Compilation d'un schéma par MNDD
5.1
INTRODUCTION
Le processeur MaintaiN_Data_Description (MNDD) permet de compiler (traduire) le
schéma DDL origine, qui devient ainsi un schéma DDL résultant.
MNDD est activé soit en interactif (commande GCL), soit en traitement par lots (JCL de
lancement de DDPROC).
Ce chapitre décrit la syntaxe de :
• la commande GCL MNDD,
• le JCL de lancement de DDPROC (en traitement par lots),
• la commande TRANSLATE de MNDD.
La compilation des schémas IDS/II est un cas particulier, qui n'est pas traité dans ce
manuel. En effet, outre la description DDL, un schéma IDS/II comporte une description
DMCL (langage de gestion des supports) qui décrit les caractéristiques physiques de la
base et fournit des informations quantitatives sur cette dernière. Pour plus de précisions,
se reporter au Manuel de référence IDS/II Etendu, Volume 1 qui comporte un chapitre
sur le processeur MNDD.
Un schéma IDS/II résultant qui existe déjà peut être compilé directement au moyen de la
commande COMPILE SCHEMA.
47 F2 80UR Rev02
5-1
IQS-V4 Guide de l'administrateur
5.2
MAINTAIN_DATA_DESCRIPTION (MNDD)
Objet
Le processeur MNDD permet de traduire (et de lister) la description DDL et de générer
un objet résultant. Il permet également de convertir un ancien schéma (IDS/II V2) en
schéma IDS/II étendu. La commande TRANSLATE est décrite dans ce chapitre. Pour
les autres fonctions de MNDD, se reporter à la documentation IDS/II étendu et IOF.
Format
{ MAINTAIN_DATA_DESCRIPTION | MNDD }
[ COMFILE = fic78 ]
[ COMMAND = car156]
[ SLLIB = bib78 ]
[ DDLIB = bib78 ]
[ DDINLIB = (bib78 [bib78] [bib78]) ]
[ PRTFILE = fic78 ]
Les commandes de MNDD peuvent être introduites soit directement à la suite du motclé COMMAND, soit indirectement par l'intermédiaire du fichier spécifié par COMFILE.
Paramètres
5-2
COMFILE
Spécifie un fichier contenant les commandes à exécuter. Il
s'agit soit d'une unité de bibliothèque de type DATASSF,
soit d'un fichier séquentiel.
COMMAND
Indique que les commandes sont à introduire directement.
SLLIB
Bibliothèque origine (SL) contenant la description origine. La
valeur implicite est celle spécifiée dans la variable #SLIB ; si
celle-ci ne contient aucune valeur, la bibliothèque SL n'est
pas affectée.
DDLIB
Bibliothèque binaire de sortie. La valeur implicite est celle
spécifiée dans la variable #BLIB ; si celle-ci ne contient
aucune valeur, la bibliothèque BIN de sortie n'est pas
affectée.
DDINLIB
Spécifie une ou plusieurs bibliothèques binaires d'entrée. La
valeur implicite est celle spécifiée dans la variable #BINLIB ;
si celle-ci ne contient aucune valeur, aucune bibliothèque
BIN d'entrée n'est affectée.
PRTFILE
Spécifie le fichier de sortie. Il peut s'agir d'une unité de
bibliothèque ou d'un fichier séquentiel. La valeur implicite
est le fichier SYSOUT public.
47 F2 80UR Rev02
Compilation d'un schéma par MNDD
5.3
LANCEMENT DE MNDD PAR L'INTERMEDIAIRE DE DDPROC
Objet
Le processeur MNDD peut également être appelé en traitement par lots, par
l'intermédiaire du JCL de lancement de DDPROC décrit ci-dessous.
Format
STEP H_DDPROC SYS
[options-activité] ...
{ OPTIONS = ' {commande} ...';
}
}
{
}
{ ; ASSIGN COMFILE {*rubrique-description-entrées } }
{
{description-fichier-séquentiel };}
[ ASSIGN SLLIB bib78 ; ]
[ ASSIGN DDLIB bib78 ; ]
[ ASSIGN DDINLIB1 bib78 ; ]
[ ASSIGN DDINLIB2 bib78 ; ]
[ ASSIGN DDINLIB3 bib78 ; ]
[ ASSIGN PRTFILE fic78 ; ]
ENDSTEP;
Description
Le format ci-dessus est assez proche du format GCL utilisé pour appeler directement le
processeur MNDD.
Les différences sont les suivantes :
• le mot-clé COMMAND du GCL est remplacé par la chaîne OPTIONS,
• le mot-clé DDINLIB du GCL est remplacé par la clause ASSIGN DDINLIBn,
• il n'y a pas de valeurs implicites pour l'affectation des bibliothèques.
47 F2 80UR Rev02
5-3
IQS-V4 Guide de l'administrateur
5.4
COMMANDE TRANSLATE DE MNDD
TR AN S LA TE F ILE
so us-fich ier
O B JE C T
so us-fich ier
so us-fichier
D D LIB
S LL IB
Figure 5-1. Commande TRANSLATE
Objet
La commande TRANSLATE permet de compiler (traduire) le schéma origine et de
générer un schéma résultant.
Format
Le format ci-dessous est uniquement applicable au DDL origine d'un schéma UFAS
(TYPE=FILE).
TRANSLATE
TYPE = FILE
SOURCE = sous-fichier
[OBJECT = {1 | 0}]
[REPLACE = {0 | 1}]
[CHECK = {COBOL | IQS}]
[XREF = {0 | 1}]
5-4
47 F2 80UR Rev02
Compilation d'un schéma par MNDD
Paramètres
TYPE=FILE
Identifie un schéma DDL origine UFAS.
SOURCE
Spécifie l'unité de bibliothèque contenant le DDL origine.
OBJECT
OBJECT=1 (valeur implicite) indique qu'un schéma résultant
doit être généré.
REPLACE
REPLACE=1 signifie que le nouveau schéma compilé peut
remplacer un schéma de même nom dans la bibliothèque
de sortie.
REPLACE=0 (valeur implicite) signifie que le nouveau
schéma ne doit pas remplacer un éventuel schéma de
même nom. S'il en existe un, la compilation échoue.
CHECK
Si le schéma est à exploiter sous IQS, il faut spécifier
CHECK=IQS. Dans ce cas, MNDD vérifie que les noms
figurant dans le schéma résultant (nom du schéma, des
aires, articles, ensembles, zones et clés) ne sont pas des
mots réservés et qu'ils peuvent être utilisés comme
identificateurs sous IQS. Si CHECK est omis, aucun
contrôle n'est effectué.
Le contrôle n'est effectué que pour les mots réservés
correspondant à #LANG 0.
XREF
XREF=1 demande la génération d'une liste des références
croisées pour les noms définis par l'utilisateur. Si XREF=0
(valeur implicite), la liste n'est pas générée.
47 F2 80UR Rev02
5-5
IQS-V4 Guide de l'administrateur
5-6
47 F2 80UR Rev02
6. Lancement d'IQS
6.1
INTRODUCTION
Ce chapitre décrit les commandes GCL utilisées pour créer, compiler et enregistrer un
schéma, et pour exécuter une application IQS. Il présente également les bibliothèques
utilisées tout au long du processus. Les informations fournies concernent
l'environnement IOF ; les éventuelles différences existant en traitement par lots sont
précisées séparément.
Dans ce chapitre, tous les fichiers utilisés sont considérés comme permanents et
catalogués ; ils ne sont donc cités que par leur nom (le nom de volume et la classe
d'appareils de chaque fichier étant automatiquement recherchés dans le catalogue par
le système).
Les commandes GCL et les données utilisées pour créer un système IQS sont fournies
en annexe A.
Bibliographie
• Pour toute information sur les catalogues, voir le Guide utilisateur de gestion des
catalogues.
• Pour toute information sur les bibliothèques, voir le Manuel de référence et le Guide
utilisateur relatifs à la maintenance des bibliothèques.
• Pour tout ce qui concerne les noms de fichiers, se reporter au chapitre 10 du présent
manuel.
• Pour tout ce qui concerne le GCL, voir les Manuels IOF.
• Pour tout ce qui concerne le JCL, voir le Manuel de référence JCL et le Guide
utilisateur JCL.
• Pour toute information sur les éditeurs de texte, voir le Guide utilisateur TEXT
EDITOR et le Guide utilisateur FSE.
Pour la liste complète des références bibliographiques, se reporter au Bulletin de logiciel
GCOS 7.
A noter que les informations concernant l'enregistrement d'une séquence de
commandes IQS qui figuraient en fin de chapitre pour la version IQS-V3 ont été
supprimées. En effet, le processeur de scénarios disponible sous IQS-V4 permet
d'enregistrer facilement des séquences de commandes en vue de leur exécution
ultérieure et/ou répétée. Pour plus de détails, se reporter au Manuel de référence IQSV4, Volume 1.
47 F2 80UR Rev02
6-1
IQS-V4 Guide de l'administrateur
6.2
BIBLIOTHEQUES UTILISEES PAR IQS
Pour utiliser IQS, seulement deux bibliothèques sont nécessaires : une bibliothèque
origine (SL) et une bibliothèque binaire (BIN). Il est néanmoins recommandé de définir
en outre une bibliothèque de description des données (DD). La bibliothèque DD est
également de type binaire, mais pour faciliter l'exploitation, il est préférable de la définir
séparément. Une bibliothèque d'unités compilées (CU) est également nécessaire
lorsque IQS/TDS est utilisé, pour les requêtes résultantes compilées.
Les bibliothèques sont utilisées comme suit :
• La bibliothèque SL permet d'enregistrer les requêtes, les macros, les descriptions
d'états et les schémas en langage origine. Lorsqu'elle n'est pas spécifiée, le système
tente d'utiliser la bibliothèque origine de sortie implicite (#SLIB), définie au moyen de
la commande MWLIB SL. En cas d'impossibilité, il signale une erreur.
• La bibliothèque BIN permet d'enregistrer les requêtes, les macros, les descriptions
d'états, les formats et les grilles en langage résultant, ainsi que les procédures GCL
utilisateur compilées. Lorsqu'elle n'est pas spécifiée, le système tente d'utiliser la
bibliothèque binaire de sortie implicite (#BLIB), définie au moyen de la commande
MWLIB BIN. En cas d'impossibilité, il signale une erreur.
• La bibliothèque DD permet d'enregistrer les schémas, les vues et les structures en
langage résultant.
Dans tous les exemples de ce chapitre, on considère que ces trois bibliothèques
existent, sont cataloguées, et que leurs noms sont les suivants :
MY.SL1
MY.BIN1
MY.DDL1
pour la bibliothèque origine
pour la première bibliothèque binaire
pour la bibliothèque de description de données
En GCL, il est possible de déclarer des bibliothèques de travail pour toute la durée de
la session. Celles-ci sont utilisées implicitement par les processeurs lorsqu'aucune autre
bibliothèque n'a été spécifiée lors de leur appel. Cette possibilité vaut également pour
IQS ; elle peut donc être utilisée pour simplifier l'appel du processeur IQS.
Les bibliothèques de sortie sont déclarées au moyen de la commande GCL MWLIB, et
les bibliothèques d'entrée au moyen de la commande GCL MWINLIB.
Par exemple, les trois bibliothèques citées ci-dessus peuvent être déclarées au moyen
des commandes suivantes :
S:
S:
S:
MWLIB SL MY.SL1;
MWLIB BIN MY.BIN1;
MWINLIB BIN (MY.DDL1, MY.BIN1);
Pour ne pas avoir à introduire ces commandes au début de chaque session, il est
possible de les intégrer à la séquence de lancement GCL.
6-2
47 F2 80UR Rev02
Lancement d'IQS
Tableau 6-1. Bibliothèques IQS
Nom de fichier interne
D D LIB 1
D D LIB 2
D D LIB 3
Les v ues, les structures et les schém as résultants sont
enregistrés dans D D LIB 1. L'itinéraire de recherche des
objets utilisés en entrée est D D LIB 1, D D LIB 2, D D LIB 3.
S eule D D LIB 1 est utilisée en sortie.
S LLIB
Les requêtes, m acros, descriptions d'états et scénarios
origine sont enregistrés dans S LLIB .
B IN LIB
Les requêtes, m acro et descriptions d'états et form ats
résultants sont enregistrés dans B IN LIB .
C U LIB
Les requêtes com pilées à utiliser sous T D S sont
enregistrés dans C U LIB .
Variables GCL
#S LIB
B ibliothè que im plicite pour S LLIB : contient tous les objets
origines.
#B LIB
B ibliothè que im plicite pour B IN LIB : contient les grille s
résultante et les pro cédures G C L utilisateur com p ilées.
#B IN LIB 1
#B IN LIB 2
#B IN LIB 3
L'itiné raire de recherche des g rilles et procédures
G C L résultantes u tilisées e n entrée, est #B LIB , #B IN LIB 1,
#B IN LIB 2, #B IN LIB 3 .
#C LIB
B ibliothè que im plicite pour C U LIB .
47 F2 80UR Rev02
6-3
IQS-V4 Guide de l'administrateur
6.3
CREATION DES BIBLIOTHEQUES
La commande BUILD_LIBRARY permet de créer les bibliothèques nécessaires à
l'utilisation d'IQS. Sa syntaxe est donnée dans le Manuel de référence de l'utilisateur
IOF, Volume 2. La création des trois bibliothèques mentionnées dans ce chapitre est
illustrée dans les exemples qui suivent.
S: BUILD_LIBRARY LIB= MY.SL1:MYVOL1:MS/D500
SIZE= 10
MEMBERS= 500
INCRSIZE= 2;
Cet exemple illustre la création de la bibliothèque SL cataloguée MY.SL1 dans le volume
MYVOL de classe d'appareils MS/D500. Sa taille initiale est de 10 cylindres, sa taille
d'incrément de 2 cylindres et son répertoire est prévu pour 500 unités. Les paramètres
FILESTAT et TYPE sont omis car leurs valeurs implicites (FILESTAT=CAT et TYPE=SL)
conviennent.
S: BUILD_LIBRARY LIB= MY.BIN1:MYVOL1:MS/D500
SIZE= 10
MEMBERS= 500
TYPE= BIN
INCRSIZE= 2;
Cette commande crée la bibliothèque BIN cataloguée MY.BIN1 dans le volume MYVOL
de classe d'appareils MS/M452. A l'exception de son type, ses caractéristiques sont les
mêmes que celles de MY.SL1.
S: BUILD_LIBRARY LIB= MY.DDL1:MYVOL1:MS/D500
SIZE= 10
MEMBERS= 500
TYPE= BIN
INCRSIZE= 2;
Cette commande crée une deuxième bibliothèque BIN cataloguée MY.DDL1 dans le
volume MYVOL1 de classe d'appareils MS/D500.
6-4
47 F2 80UR Rev02
Lancement d'IQS
6.4
CREATION D'UN SCHEMA
Avant de compiler un schéma, il faut avoir enregistré sa version origine dans une unité
de la bibliothèque SL. L'éditeur utilisé peut être TEXT EDITOR ou FSE. L'exemple
ci-dessous illustre l'utilisation de TEXT EDITOR.
(1) EDIT;
(2) I
(3) saisie du schéma
XXX
XXX
XXX
(4) /
(5) W SCHEMA-NAME
(6) /
Cet exemple est commenté ligne par ligne dans le tableau qui suit.
Numéro de ligne
1
2
3
4
5
6
Description
Appel de l'éditeur TEXT EDITOR de GCOS 7.
Demande des fonctions de saisie de TEXT EDITOR.
Saisie du schéma origine (voir chapitre 4).
Fin de saisie indiquée par une barre oblique (/) au début de
la ligne.
Ecriture du contenu de l'espace de travail de TEXT
EDITOR dans l'unité SCHEMA-NAME de la bibliothèque
origine MY.SL1 (bibliothèque SL de travail), c'est-à-dire
enregistrement du schéma origine.
Sortie de TEXT EDITOR.
Les fonctions de TEXT EDITOR permettent également de corriger les erreurs qui ont pu
se produire lors de la saisie du schéma origine.
6.5
COMPILATION DU SCHEMA POUR FICHIER UFAS PAR MNDD
(DDPROC)
Une fois enregistré, le schéma origine doit être compilé par MNDD (DDPROC), comme
indiqué au chapitre 5.
Un schéma résultant DDL est alors produit, puis enregistré dans une bibliothèque binaire
afin qu'IQS puisse y accéder. La préparation d'un schéma résultant en vue de son
exploitation sous IQS est décrite au chapitre 7.
Remarque :
47 F2 80UR Rev02
Lorsqu'un schéma a déjà été compilé par MNDD (DDPROC) et
n'a pas été modifié depuis, il n'est pas nécessaire de le
recompiler. C'est généralement le cas pour les utilisateurs IDS/II.
6-5
IQS-V4 Guide de l'administrateur
6.6
APPEL DU PROCESSEUR IQS
Le processeur IQS peut être appelé de plusieurs façons :
• soit en introduisant directement la commande GCL IQS et ses paramètres en
interactif (en omettant les paramètres dont la valeur implicite convient),
• soit en enregistrant la commande IQS et ses paramètres dans une unité de
bibliothèque, puis en l'exécutant au moyen d'une directive GCL ALTER_INPUT
(abréviation AI),
• soit en créant une procédure GCL (avec ou sans introduction de paramètres au
moment de l'exécution), appelée en frappant son nom.
Ces trois possibilités sont présentées dans les pages qui suivent.
6.6.1
Exécution de la commande IQS en interactif
La commande GCL IQS doit être exécutée au niveau système (S:).
En mode menu, elle doit être sélectionnée dans le menu approprié.
En mode ligne, elle doit être introduite avec tous ses paramètres suivis de leur valeur ou
bien être introduite avec un point d'interrogation (IQS?) afin d'obtenir des guidages pour
les paramètres (dans ce cas, la variable système #NOVICE doit être égale à 0 et la
variable système #MENU à 1).
La syntaxe de la commande IQS est la suivante :
IQS
[DDLIB=(bib-78 [bib-78 [bib-78]])]
[SLLIB=bib-78]
[BINLIB=bib-78]
[CULIB=bib-78]
[ {FILE1 | AREA1} =nom-8]
[ASG1=(paramètres-affectation-fichier)]
[ALC1=(paramètres-réservation-espace)]
[DEF1=(paramètres-définition-fichier)]
[OUT1=(paramètres-édition-sorties)]
.
.
.
[ {FILE8 | AREA8} =nom-8]
[ASG8=(paramètres-affectation-fichier)]
[ALC8=(paramètres-réservation-espace)]
[DEF8=(paramètres-définition-fichier)]
[OUT8=(paramètres-édition-sorties)]
----------------------------------------------------------------
6-6
47 F2 80UR Rev02
Lancement d'IQS
[ {FILE9 | AREA9} =nom-8]
[ASG9=(paramètres-affectation-fichier)]
[ALC9=(paramètres-réservation-espace)]
[DEF9=(paramètres-définition-fichier)]
[OUT9=(paramètres-édition-sorties)]
.
.
.
[ {FILE21 | AREA21} =nom-8]
[ASG21=(paramètres-affectation-fichier)]
[ALC21=(paramètres-réservation-espace)]
[DEF21=(paramètres-définition-fichier)]
[OUT21=(paramètres-édition-sorties)]
{ TRB
}
[ {
} = déclencheur-avant-niveau-session]
{ TRIGGER_BEFORE }
{ TRA
[ {
{ TRIGGER_AFTER
}
} = déclencheur-après-niveau-session]
}
{ 240
}
[ SIZE = {
} ]
{ déc-8 }
{ 50
}
[ POOLSIZE = {
} ]
{ déc-8 }
{ 200
}
[ NUMLOCK = {
} ]
{ déc-8 }
{ 16384 }
[ DDSIZE = {
} ]
{ déc-5 }
{ 16384 }
[ SLSIZE = {
} ]
{ déc-5 }
{ 16384 }
[ BINSIZE = {
} ]
{ déc-5 }
{ 16384 }
[ CUSIZE = {
} ]
{ déc-5 }
{ 16
}
[ DDNB = {
} ]
{ déc-2 }
{ 32
}
[ SLNB = {
} ]
{ déc-2 }
47 F2 80UR Rev02
6-7
IQS-V4 Guide de l'administrateur
{ 64
}
[ BINNB = {
} ]
{ déc-2 }
{ 7
}
[ CUNB = {
} ]
{ déc-2 }
[PRTFILE=fic-78
[COMFILE=fic-78]
[LINES=déc-8]
[CPTIME=déc-8]
[ELAPTIME=déc-4]
[REPEAT=bool]
[SORTSIZE=déc-3]
[SORTFILE=fic-78]
{RESIDENT}
[ SORTVOL={
} ]
{vol-20 }
Paramètres
Certains des paramètres d'appel du processeur IQS sont également décrits en détail
dans le Manuel de référence de l'utilisateur IOF.
Les paramètres du format figurant en dessous de la ligne pointillée sont cachés. Pour
obtenir les guidages correspondants, frapper + dans le champ action.
6-8
IQS
Nom de la commande d'appel du processeur IQS.
Lorsqu'un point d'interrogation est introduit après la
commande, le système fournit des guidages pour chaque
option, à concurrence de huit fichiers.
DDLIB
Identification des bibliothèques binaires (trois au maximum)
contenant les schémas, les vues standard et les structures
IQS. Lorsque cette option est omise, le système utilise les
bibliothèques d'entrée implicites (#BINLIBn) définies par la
commande MWINLIB BIN ; si ces bibliothèques n'ont pas
été définies, il signale une erreur. A noter que DDLIB1 est
utilisée comme bibliothèque de sortie pour ranger les
schémas, les vues et les structures IQS ; elle doit donc être
affectée explicitement si des structures ou des vues
standard doivent être sauvegardées au cours de la session
IQS.
SLLIB
Identification de la bibliothèque source contenant les
requêtes, les scripts, les macros et les rapports. Lorsque
cette option est omise, le système utilise la bibliothèque de
sortie implicite (#SLIB) définie par MWLIB
SL ; si cette
bibliothèque n'a pas été définie, il signale une erreur.
BINLIB
Identification de la bibliothèque binaire contenant les objets
IQS autres que les schémas, les vues standard et les
structures. Lorsque cette option est omise, le système utilise
la bibliothèque de sortie implicite (#BLIB) définie par
MWLIB
BIN ; si cette bibliothèque n'a pas été définie, il
signale une erreur.
47 F2 80UR Rev02
Lancement d'IQS
CULIB
Identification de la bibliothèque CU dans laquelle sont
enregistrées les requêtes compilées ou de laquelle elles
sont extraites. Lorsque cette option est omise, le système
utilise la bibliothèque CU de sortie implicite (#CLIB) définie
par MWLIB CU ; si cette bibliothèque n'a pas été définie, il
signale une erreur.
FILEn
AREAn
Nom de fichier interne (nfi) soit d'un fichier de données réel
décrit par un schéma, soit d'un fichier utilisateur (utilisé par
la Gestion des fichiers IQS), soit d'un fichier SYSOUT
(utilisé par PRINT). Pour ces fichiers, le paramètre ASGn
est obligatoire et les paramètres ALCn, DEFn et OUTn
facultatifs.
ASGn
Description du fichier auquel est affecté le nom de fichier
interne spécifié dans FILEn ou AREAn. Ce groupe de
paramètres spécifie le nom de fichier externe, le mode
d'accès et le mode de partage du fichier, ainsi que les
options de montage des volumes.
ALCn
Groupe de paramètres de réservation de place pour le
fichier désigné par FILEn.
DEFn
Groupe de paramètres qui définit plus précisément le fichier
affecté et les options de traitement. L'option pouvant être
utilisée pour IQS est JOURNAL=BEFORE, en association
avec l'option SHARE=MONITOR du groupe de paramètres
ASGn et l'option REPEAT. Voir également les paramètres
NBBUF et BUFPOOL au chapitre 13.
OUTn
Groupe de paramètres d'édition des sorties pour les fichiers
SYSOUT associés aux fichiers FILEn.
TRB
Spécifie une requête à activer juste après l'initialisation du
processeur IQS. La requête constitue un déclencheur
"avant" niveau session. Ce paramètre n'a pas de valeur
implicite.
TRA
Spécifie une requête à activer juste après l'arrêt du
processeur IQS. La requête constitue un déclencheur
"après" niveau session. Ce paramètre n'a pas de valeur
implicite.
SIZE
Espace d'exécution de l'activité IQS (en Ko). Valeur
conseillée = POOLSIZE + 150. Valeur implicite = 240.
POOLSIZE
Taille maximum (en Ko) du pool de tampons UFAS associé
à l'activité IQS. La valeur de POOLSIZE ne peut pas
dépasser celle de SIZE ; elle est implicitement de 50.
47 F2 80UR Rev02
6-9
IQS-V4 Guide de l'administrateur
6-10
NUMLOCK
Nombre maximum de verrous à utiliser pour chaque
commande ou requête IQS. Le nombre implicite est 200. Un
verrou = un CI. Les verrous s'appliquent à tous les fichiers
du groupe de process. Pour déterminer la valeur de
NUMLOCK, il faut donc comptabiliser le nombre de verrous
utilisés par tous les fichiers du groupe de process. Pour ce
faire, additionner toutes les valeurs "n" fournies dans le JOR
par le message GAC01. MAXLOCKCOUNT=n.
Si le nombre de verrous spécifiés dans NUMLOCK est
insuffisant, il y arrêt prématuré avec émission du message
d'erreur COUNTOV.
DDSIZE
Taille, en octets, de chaque segment à utiliser pour les
schémas, les vues standard et les structures. Valeur
maximum = 32767. Valeur implicite = 16384.
SLSIZE
Taille, en octets, de chaque segment à utiliser pour les
requêtes, macros , scénarios et descriptions d'états origine.
Valeur maximum = 32767.
Valeur implicite = 16384.
BINSIZE
Taille, en octets, de chaque segment à utiliser pour les
requêtes, macros, descriptions d'états et formats résultants.
Valeur implicite = 16384.
CUSIZE
Taille, en octets, de chaque segment à utiliser pour les
requêtes compilées. Valeur maximum = 32767.
Valeur implicite = 16384.
DDNB
Nombre maximum de segments utilisable pour le
chargement des schémas, vues et structures. Valeur
maximum = 64. Valeur implicite = 16.
SLNB
Nombre maximum de segments utilisable pour le
chargement des requêtes, macros, scénarios et
descriptions d'états origine. Valeur maximum = 64. Valeur
implicite = 32.
BINNB
Nombre maximum de segments utilisable pour le
chargement des requêtes, macros, descriptions d'états et
formats résultants. Valeur maximum = 64.
Valeur implicite = 64.
CUNB
Nombre maximum de segments utilisable pour la
chargement des requêtes compilées exploitables sous
IQS/TDS.
Valeur maximum = 7. Valeur implicite = 7.
SARF
Non utilisé sous IQS-V4.
VERSION
Non utilisé sous IQS-V4.
47 F2 80UR Rev02
Lancement d'IQS
Les paramètres ci-dessous définissent les ressources utilisées lorsque le système
fonctionne en traitement par lots :
PRTFILE
Fichier à utiliser pour les sorties.
COMFILE
Fichier contenant les commandes ou instructions IQS à
exécuter.
LINES
Nombre maximum d'articles pouvant être écrits dans
chaque fichier SYSOUT par le processeur IQS. Si le
nombre spécifié dans LINES est dépassé, il y a arrêt
anormal du processeur, avec émission du code retour
ERLMOV. Implicitement, le nombre d'articles est illimité.
CPTIME
Temps CPU maximum alloué au processeur IQS
(en millièmes de minutes). En cas de dépassement, il y a
arrêt anormal du processeur avec émission du code retour
ERLMOV. Implicitement, le temps CPU réservé au
processeur IQS est illimité.
ELAPTIME
Temps maximum autorisé pour le processeur IQS, exprimé
en minutes. En cas de dépassement, il y a arrêt anormal du
processeur avec émission du code retour ERLMOV.
Implicitement, aucune limite de temps n'est fixée.
REPEAT
Si REPEAT = 0 (valeur implicite), le processeur IQS ne
comporte aucun point de synchronisation et ne peut donc
pas être relancé. Les appels aux points de reprise sont alors
considérés comme fictifs.
Si REPEAT = 1, le processeur IQS utilise les fonctions de
relance sur point de reprise. Un point de synchronisation est
prévu, généralement en début de programme ou à un point
de reprise. La relance est donc possible en cas d'arrêt
anormal du processeur.
Les paramètres ci-dessous définissent les caractéristiques du fichier de tri utilisé par les
commandes IQS SORT, WRITE et EXTRACT (et les instructions équivalentes du
langage de requêtes).
SORTSIZE
Nombre de cylindres utilisés comme espace de travail pour
le tri. Si SORTSIZE=0, l'espace de travail est en mémoire
principale.
SORTFILE
Fichier de travail utilisé pour le tri.
SORTVOL
Volume dans lequel l'espace de travail doit être réservé.
Implicitement, la réservation s'effectue sur un disque
résidant.
47 F2 80UR Rev02
6-11
IQS-V4 Guide de l'administrateur
Exemple d'utilisation de la commande IQS :
S: IQS FILE1=IND-A ASG1=.IND-DATA;
Cette commande appelle le processeur IQS et affecte un fichier de données. Aucune
bibliothèque n'ayant été spécifiée (omission des paramètres DDLIB, SLLIB et BINLIB), le
système utilisera les bibliothèques implicites, c'est-à-dire les bibliothèques de travail qui
ont été présentées au paragraphe 6.2. DDLIB1 n'étant pas affectée explicitement, il sera
impossible d'y enregistrer des objets IQS (vues, structures) au cours de la session IQS.
6.6.2
Exécution de la commande IQS via une unité de bibliothèque
Au lieu d'introduire directement la commande IQS au niveau système (S:), il est possible
de l'enregistrer avec tous ses paramètres dans une unité de bibliothèque SL, au moyen
de TEXT EDITOR ou de FSE.
La commande peut ensuite être exécutée au moyen de la directive ALTER_INPUT
(abréviation AI). Le résultat est le même que si elle avait été introduite directement au
niveau S:. Cette méthode est particulièrement adaptée lorsque les bibliothèques et/ou
fichiers à utiliser sous IQS sont spécifiques à une application.
Exemple :
(1) EDIT;
(2) I
(3) IQS DDLIB= MY.OWN.DD1
SLLIB= MY.OWN.SL1
BINLIB= MY.OWN.BIN1
FILE1= IND1
FILE2= IND2
FILE3= IND3
...
(4)
(5)
(6)
(7)
ASG1= MY.OWN.DATA1
ASG2= MY.OWN.DATA2
ASG3= MY.OWN.DATA3
/
W (DAT) MYIQS1
/
AI MYIQS1 LIB= MY.SL1 LIST=1;
Appel de l'éditeur TEXT EDITOR de GCOS 7 avec MY.SL1 comme bibliothèque SL
implicite. Le texte est saisi, sauvegardé sous MYIQS1 et exécuté. La directive
ALTER_INPUT est décrite dans la documentation IOF.
Si vous exécutez IQS avec d'autres bibliothèques et/ou fichiers de données, créez une
unité de bibliothèque similaire pour chaque appel d'IQS. Vous pouvez alors exécuter
l'unité appropriée chaque fois que vous appelez IQS. Vous vous épargnez la saisie
d'une longue liste de fichiers/bibliothèques à chaque fois.
Pour une installation, il peut y avoir plusieurs bibliothèques et/ou fichiers exploitables
avec IQS. Une unité de bibliothèque peut être créée pour chaque appel IQS requerrant
différents objets. Chaque utilisateur, groupe d'utilisateurs ou projet peut ainsi avoir une
commande adaptée à ses besoins spécifiques.
6-12
47 F2 80UR Rev02
Lancement d'IQS
6.6.3
Création d'une procédure GCL
Au lieu de placer la commande IQS et ses paramètres dans une unité de bibliothèque,
vous pouvez créer une procédure GCL. Ces procédures sont créées et gérées par le
processeur MAINTAIN_COMMAND, présenté plusieur fois dans la documentation IOF.
Les procédures GCL peuvent soit être saisies au moyen de TEXT EDITOR, compilées
puis enregistrées dans une bibliothèque binaire, soit être saisies au moyen d'un éditeur
ligne simplifié (LEDIT), puis directement sauvegardées dans une bibliothèque binaire.
Si vous le souhaitez, vous pouvez définir ces procédures de sorte que l'utilisateur soit
invité à indiquer la valeur des paramètres au moment de l'exécution.
Les exemples ci-dessous illustrent les différentes façons de créer une procédure GCL.
Les numéros de ligne entre parenthèses permettent de se référer aux explications qui
suivent, mais ne font pas partie des exemples. Le paramètre GCLFORM est considéré
comme ayant la valeur FREE dans tous ces exemples.
Exemple de création d'une procédure personnalisée (1) :
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
47 F2 80UR Rev02
S: MNCMD;
>>>10:24 MNCMD 20.00
14
C: EDIT;
R: A
I: PROC
I: NAME=(OUR-IQS IQS6)
I: PROMPT='Lancement du processeur IQS';
I: CALL IQS
I:
DDLIB=MY.DDL1
I:
BINLIB=MY.BIN1
I:
SLLIB=MY.SL1
I:
FILE1=IND-A ASG1=MY.IND-DATA
I:
FILE2=SEQ-A ASG2=MY.SEQ-DATA
I:
FILE3=IDS-A ASG3=MY-IDS-DATA
I:
FILE4=WF1 ASG4=MY.WF1;
I: ENDPROC;
I: /
R: ^,$J
R: W(CMD)OUR-IQS
R: /
C: DOMAIN IOF;
C: COMPILE OUR-IQS BRIEF;
OUR-IQS (NOV 16, 1988 10:30)
C: /
<<<10:31
S:
6-13
IQS-V4 Guide de l'administrateur
Numéro de ligne
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Description
Appel du processeur MAINTAIN_COMMAND, qui utilise
une bibliothèque origine de sortie et une bibliothèque
binaire de sortie. Dans cet exemple, il utilise les
bibliothèques implicites (#SLIB et #BLIB).
Appel de l'éditeur de texte (EDIT) de GCOS 7.
Début du mode saisie.
Début de la procédure GCL.
Nom et pseudonyme de la procédure.
Définition du texte explicatif à visualiser dans le menu où
figure la procédure.
Première commande de la procédure.
Spécification des paramètres de la commande (désignation
des bibliothèques et fichiers).
Fin de la commande, signalée par un point-virgule.
Fin de la procédure.
Fin du mode saisie.
Renumérotation de l'espace de travail.
Sauvegarde de l'espace de travail dans une unité de
bibliothèque origine.
Sortie de EDIT.
Définition du domaine IOF à partir duquel la procédure est
exécutée.
Compilation de la procédure et enregistrement dans la
bibliothèque binaire (#BLIB, c'est-à-dire MY.BIN1).
Sortie du processeur MAINTAIN_COMMAND. La
procédure est maintenant exploitable, tant que la
bibliothèque MY.BIN1 où elle est enregistrée est l'une des
bibliothèques d'entrée implicites (#BINLIB - Voir plus loin).
Exemple de menu de commandes GCL dans le domaine IOF :
1/12
1 COMPILE_LINK
2 COMPOSE_IOF
3 EXECUTE_PROG
4 IQS_TITLE_HELPS
IQS
5 MAINTAIN_SM_PRIVE
6 OUR-IQS
IOF
CONK
COPOF
E546
TIQS
Compilation et édition de liens d'un programme COBOL
Rédaction d'un manuel de l'utilisateur de terminal IOF
Exécution d'un programme COBOL édité
Procédure personnalisée de formatage des textes HELP
MSP
IQS6
Modification / Configuration / Chargement SM
Lancement du processeur IQS
La procédure GCL OUR-IQS (pseudonyme IQS6) a été ajoutée à la liste des procédures
disponibles dans le domaine IOF.
6-14
47 F2 80UR Rev02
Lancement d'IQS
Exemple de création d'une procédure personnalisée (2) :
Il est également possible de créer des procédures GCL au moyen de la commande
CREATE du processeur MAINTAIN_COMMAND. L'exemple ci-dessous déclare
l'utilisation du journal Avant, de fichiers gérés par GAC, et contient une commande IQS
LET permettant à l'utilisateur de travailler en mode menu sous IQS (même si les
variables système GCL #MENU et #NOVICE sont à zéro dans son profil).
Sample procedure set-up
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
(17)
47 F2 80UR Rev02
S:
S:
>>>
C:
MWLIB BIN .IQS.BLIB-O
MNCMD;
11:07 MNCMD 20.00 22 -1
CREATE;
10:PROC UP-IQS PROMPT='Lancement projet IQS'
LOCK=1;
20:IQS
SLLIB=.IQS.SLLIB-0 DDLIB=.IQS.DDLIB-0
BINLIB=.IQS.BINLIB-0
FILE1=BLIB ASG1=.IQS.BLIB-0
FILE2=A-CUST ASG2=
(.IQS.CUSTOMERS,SHARE=MONITOR)
DEF2=(JOURNAL=BEFORE)
FILE3=A-ORDER ASG3=
(.IQS.ORDERS,SHARE=MONITOR)
DEF3=(JOURNAL=BEFORE)
FILE4=A-ITEM ASG4=(.IQS.ITEMS, SHARE=
MONITOR)
DEF4=(JOURNAL=BEFORE);
29:LET #NOVICE VALUE=1;
30:ENDPROC;
40:/
C: DOMAIN IOF;
C: SAVE;
C: /
<<<11:14
S: MWINLIB BIN .IQS.BLIB-0
S: UP-IQS;
6-15
IQS-V4 Guide de l'administrateur
Numéro de ligne
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
6-16
Description
Déclaration de la bibliothèque binaire de sortie. La
procédure créée y sera enregistrée.
Appel du processeur MAINTAIN_COMMAND.
CREATE permet de saisir directement la procédure.
La commande PROC donne le nom de la procédure. Le
paramètre PROMPT définit le texte explicatif à visualiser
dans le menu où figure la procédure. LOCK=1 signifie que
l'accès à la procédure n'est autorisé, sous
MAINTAIN_COMMAND, qu'à celui qui l'a créée.
Première commande de la procédure.
Identification de la bibliothèque origine et de la bibliothèque
de schémas résultants.
Identification de la bibliothèque binaire.
FILE1 définit la bibliothèque BLIB devant contenir les grilles
utilisateur et les procédures GCL.
A-CUST est un nom de fichier interne identifiant un fichier
de données. Ce nom est celui d'une aire déclarée dans le
schéma. ASG2 déclare le nom de fichier externe d'un
fichier disque. Ce fichier est géré par GAC
(SHARE=MONITOR). Remarque : Ceci implique que la
rubrique de catalogue correspondant au fichier comporte
SHARE=MONITOR ou SHARE=UNSPEC. Les
informations inscrites au catalogue prévalent toujours en
cas de conflit (pour plus de précisions sur les catalogues,
voir le Guide de gestion des catalogues).
Protection du fichier par le journal Avant.
L'utilisateur peut travailler directement en mode menu.
Fin de la procédure.
Fin du mode saisie.
Définition du domaine dans lequel la procédure doit être
utilisée, en l'occurrence IOF.
Sauvegarde de la procédure dans la bibliothèque binaire
de sortie.
Déclaration de la bibliothèque binaire d'entrée. La
procédure est donc utilisable au niveau S:.
Lancement de la procédure.
47 F2 80UR Rev02
Lancement d'IQS
6.6.4
Méthodes de lancement d'une session IQS
Toutes les méthodes utilisables pour lancer une session IQS, y compris le JCL, sont
présentées ci-dessous.
• Exécution d'une procédure GCL, définie comme suit :
PROC NAME=.....;
IQS ......
..........;
ENDPROC;
• Exécution d'une commande GCL (4 possibilités) :
EXEC_PG H_IQS ..... ;
IQS?
(des écrans de guidage s'affichent)
IQS <chaîne-de-paramètres>
AI <sous-fichier-IQS>
• Exécution d'une séquence JCL :
STEP H_IQS ... ;
..............
..............
ENDSTEP;
(mode traitement par lots)
Les diverses possibilités sont présentées ci-après de manière générale.
6.6.4.1
Exécution d'une procédure GCL
L'utilisation des procédures GCL a déjà été expliquée plus haut dans ce chapitre.
Une procédure GCL :
• est créée et compilée sous le processeur MAINTAIN_COMMAND de GCOS 7 ;
• peut être appelée en interactif sous IOF ;
• apparaît dans le menu IOF comme toute autre commande utilisateur.
6.6.4.2
Exécution d'une commande GCL
Le lancement d'IQS peut être demandé de l'une des deux façons suivantes :
• en exécutant le module chargeable H_IQS ;
• en exécutant la commande IQS directement ;
47 F2 80UR Rev02
6-17
IQS-V4 Guide de l'administrateur
Exemple d'exécution du module chargeable H_IQS :
Dans ses grandes lignes, le processus est le suivant :
E X E C _P G H _IQ S
F ILE 1= S LLIB
FILE2=DDLIB1
FILE3=BINLIB
FILE4=BLIB
FILE5=nfi
LIB=SYS.HLMLIB SIZE=n POOLSIZE=n
ASG1=(FILENAME=nom,SHARE=DIR)
ASG2=
ASG3=
ASG4=
ASG5=('nfe',ACCESS=..., SHARE..........)
FILEn= . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
FILEp=nfi
ASGn=(nom:supports:classe-d'appareils)
ASGq=(.GHPRINT..OUT1) ;
FILEq= ABCD
SELECT vue
OPEN
ASG PRT PF TO ABCD
ASG PRT PR1 TO SYSO UT
(SYSOUT privé)
(S Y S O U T stan dard)
etc.
Notez que :
ABCD est un nom de fichier interne.
PF est un nom de fichier logique IQS
SYSOUT est un nom de fichier réservé.
Exemple d'exécution directe de la commande IQS :
La commande IQS peut être introduite en mode menu, ou enregistrée dans une
bibliothèque SL.
IQS DDLIB=<bib> BINLIB=<bib> SLLIB=<bib> FILE1=<nfi> ASG1=....;
IQS?
Dans les deux cas, son exécution peut être lancée par la directive ALTER_INPUT
(abréviation AI) :
AI <nom-unité-bib> <nom-bib-SL>
6-18
47 F2 80UR Rev02
Lancement d'IQS
6.6.4.3
Exécution d'une séquence JCL
Les séquences JCL sont enregistrées dans une bibliothèque SL.
Exemple de séquence JCL :
STEP H_IQS SYS;
SIZE n POOLSIZE=n;
ASSIGN SLLIB nom SHARE=DIR;
(bibliothèques IQS)
ASSIGN DDLIB1 nom SHARE=DIR;
ASSIGN BINLIB nom SHARE=DIR;
ASSIGN BLIB nom SHARE=DIR;
ASSIGN aire nfe ACCESS=..........; (fichiers bdd IQS)
......................;
ENDSTEP;
SELECT vue
OPEN
USE FORM nom ON RECORD nom
.......................
Exemple d'activité JCL avec utilisation de fichiers permanents et du fichier
SYSOUT :
STEP H IQS SYS;
....................
ASSIGN A-CUST .IQS.CUSTOMERS ACCESS=READ;
.............................
A S S IG N A -O R D .IQ S .O R D E R S S H A R E = O N E W R IT E A C C E S S = R E A D ;
...................
ASSIGN FSEQ SEQFLE MD=nom-vol DVC=cl-app ;
(fichiers permanents)
{
A S S IG N F P R .LIB P R T S U B F ILE = O U T -1 S H A R E = D IR ;
S Y S O U T F P R M D = nom -v ol D V C = cl-app W H E N = D E F E R N A M E = E 1; (S Y S O U T
perm anent)
ENDSTEP;
S E L E C T v ue
O PEN
ASSIGN PRT PRINT1 TO FPR
ASSIGN FILE1 TO FSEQ
U S E F O R M C U S -F M O N R E C O R D C U S T O M E R S
U S E F O R M O R D -F M O N R E C O R D O R D E R S
Remarque :
Dans une requête, il est possible d'insérer les instructions
suivantes :
WRITE... TO FILE1
(écriture dans le fichier permanent SEQFLE)
PRINT... [TO PRINTER] (visualisation à l'écran)
PRINT... TO PRINT1
(envoi dans le SYSOUT permanent OUT-1)
A noter que les grilles utilisateur peuvent uniquement être
employées en mode menu.
47 F2 80UR Rev02
6-19
IQS-V4 Guide de l'administrateur
Exemple de séquence JCL utilisant des fichiers IDS/II :
$JOB IQSXXX HOLDOUT;
OUTVAL CLASS=B;
STEP H_IQS SYS.HLMLIB
OPTIONS='DDSIZE=10240 DDNB=16
SLSIZE=10240 SLNB=32
BINSIZE=10240 BINNB=64
SORTSIZE=20 SORTVOL=EROS:MS/D500
';
SIZE 900 POOLSIZE=650;
ASSIGN DDLIB1 DDS.BINLIB;
ASSIGN BINLIB FAST.BINIQS;
ASSIGN SLLIB FAST.IQS;
ASSIGN AREA1 DDS.AREA1 ACCESS=READ;
DEFINE AREA1 READLOCK=STAT;
ASSIGN AREA2 DDS.AREA2 ACCESS=READ;
DEFINE AREA2 READLOCK=STAT;
ASSIGN AREA3 DDS.AREA3 ACCESS=READ;
DEFINE AREA3 READLOCK=STAT;
ASSIGN AREA4 DDS.AREA4 ACCESS=READ;
DEFINE AREA4 READLOCK=STAT;
ASSIGN SORTFILE
TEMP.SORTFILE FILESTAT=TEMPRY DVC=MS/D500 MD=EROS;
ALLOCATE SORTFILE SIZE=1O INCRSIZE=2 UNIT=CYL;
SORTWORK WKDISK=(SIZE=20 DVC=MS/D500 MD=EROS);
ASSIGN IDSOPT FAST.JCL SUBFILE=IQS-IDSOPT;
ASSIGN PRTFILE FAST.PROG SUBFILE=IQS-PRT;
ASSIGN COMFILE
*IQS;
ENDSTEP;
$INPUT IQS;
ASSIGN SORTFILE TO IFN SORTFILE
SELECT ITEM
OPEN
GO ITEM-LIST EXPLIST
QUIT
$ENDINPUT;
$ENDJOB;
6-20
47 F2 80UR Rev02
Lancement d'IQS
6.7
UTILISATION D'IQS EN TRAITEMENT PAR LOTS
Les requêtes utilisateur peuvent :
• nécessiter l'accès exclusif à des fichiers exploitables par d'autres applications,
• provoquer une surcharge au niveau des ressources système,
• ne pas exiger un traitement immédiat,
• monopoliser le terminal pendant des périodes prolongées.
Traiter ces travaux par lots élimine ces problèmes : les tâches sont exécutées en
arrière-plan pendant la journée, ou pendant la nuit, sans perturber les activités
courantes.
La directive GCL ENTER_JOB_REQ (abréviation EJR ou EJ) permet d'exécuter la
commande IQS en traitement par lots. Elle est décrite dans la documentation IOF.
EJ soumet un travail en traitement par lots sous la forme d'un travail JCL, ou sous la
forme d'une procédure GCL.
Si vous spécifiez EJ MEMBERS=<nom-unité-bibliothèque>, le JCL contenu dans <nomunité-bibliothèque > est soumis comme travail en traitement par lots.
Si vous spécifiez EJ PROC=<nom-procédure>, la procédure GCL <nom-procédure> est
exécutée en mode absent (en traitement par lots).
Les commandes IQS à exécuter (qui sont normalement introduites directement au
terminal) sont placées dans un fichier de commandes (fichier séquentiel ou unité de
bibliothèque SL) dont le nom est spécifié par le paramètre COMFILE.
47 F2 80UR Rev02
6-21
IQS-V4 Guide de l'administrateur
6.7.1
Soumission sous forme d'une procédure GCL
La procédure GCL devant lancer IQS est créée et compilée sous le processeur
MAINTAIN_COMMAND. Il est possible de l'appeler comme suit :
EJ PROC=<nom-procédure> [nom-bibliothèque];
Exemple de procédure GCL :
PROC NAME=(IQS-X) PROMPT='IQS en traitement par lots'.....;
IQS
DDLIB=.......
BINLIB=......
SLLIB=.......
FILE1=...... ASG1=.....
FILEn=...... ASGn=.....
PRTFILE = MY.SL..RESULTS
(pour les sorties de la session IQS)
COMFILE = MY.SL..IQS-COM ; (requêtes à exécuter, etc.)
ENDPROC;
S: EJ PROC=IQS-X;
Remarque :
En cas d'omission du paramètre
SYSOUT standard qui est utilisé. Les
(nombre d'exemplaires, informations
etc.) peuvent alors être spécifiées
PRTOUT.
PRTFILE, c'est le fichier
caractéristiques des sorties
figurant dans la bannière,
au moyen du paramètre
Si la bibliothèque n'est pas cataloguée, le format de COMFILE ou
PRTFILE est le suivant :
COMFILE/PRTFILE = <bib-sl>..<nom-unité>:support:cl-app$UNCAT
6-22
47 F2 80UR Rev02
Lancement d'IQS
6.7.1.1
COMFILE
Les commandes IQS à exécuter doivent être placées dans un fichier de commandes,
spécifié par le paramètre COMFILE dans la procédure GCL : créez une unité dans une
bibliothèque SL, comme suit :
COMFILE = MY.SL1..<nom-unité-bibliothèque>
Exemple de contenu d'un fichier COMFILE :
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
SELECT STUDENT-SEQ
OPEN
AUTO
ACCEPT @NAME
RETRIEVE STUDENT WHERE S-NAME = @NAME
PRINT STUDENT SHORT
END
/
GO
STEVENSON
EXEC
MULLER
QUIT
Les numéros de ligne entre parenthèses permettent de se référer aux explications qui
suivent, mais ne font pas partie des exemples.
Numéro de ligne
1 et 2
3
4à7
8
9
10
11
12
13
6.7.1.2
Description
Sélection du schéma STUDENT-SEQ et ouverture de ses
aires.
Spécification du mode de saisie AUTO pour l'introduction
des instructions en langage de requêtes.
Texte de la requête (demande d'introduction du nom d'un
étudiant et impression de l'article correspondant).
Sortie du mode de saisie AUTO et retour au niveau
commande (V:).
Compilation et exécution de la requête.
Introduction de données pour l'instruction ACCEPT.
Deuxième exécution de la requête (sans compilation,
puisque celle-ci est déjà faite).
Introduction de données pour l'instruction ACCEPT.
Fin de la session IQS.
PRTFILE
Le paramètre PRTFILE permet de spécifier un fichier de sortie utilisateur dans lequel
consigner les résultats de la session IQS.
Exemple :
PRTFILE= MY.SL1..IQS-OUT
Les résultats de la session IQS sont rangés dans l'unité IQS-OUT de la bibliothèque SL
MY.SL1.
47 F2 80UR Rev02
6-23
IQS-V4 Guide de l'administrateur
6.7.2
Soumission sous forme d'un travail JCL
Le lancement d'IQS peut être effectué par une séquence d'ordres JCL enregistrés :
• soit dans une bibliothèque SL,
• soit dans une rubrique de description d'entrées.
La séquence JCL peut être appelée comme suit :
EJ MEMBERS=<nom-unité-bibliothèque> <nom-bibliothèque>;
6.7.2.1
COMFILE
Les commandes IQS à exécuter doivent être placées dans un fichier de commandes
(COMFILE), comme précédemment pour la procédure GCL.
Exemple :
Une unité est créée dans une bibliothèque SL et sauvegardée sous le nom de IQSCOM. Le fichier de commandes est déclaré dans le JCL comme suit :
ASSIGN COMFILE
*IQS-COM;
ou
ASSIGN COMFILE
6.7.2.2
.mysl, SUBFILE=IQS-COM;
PRTFILE
Le paramètre PRTFILE permet de spécifier un fichier de sortie utilisateur dans lequel
consigner les résultats de la session IQS, comme précédemment pour la procédure
GCL.
Affectation du fichier PRTFILE dans le JCL :
ASSIGN PRTFILE .mysl SUBFILE=RESULTS;
(SYSOUT privé)
ou
SYSOUT PRTFILE;
6-24
(SYSOUT public)
47 F2 80UR Rev02
Lancement d'IQS
6.7.2.3
STATUS et code SEV
En traitement par lots, l'exécution d'une commande prend fin lorsque se produit une
erreur IQS de gravité 3 (***). Cette erreur n'interrompt pas l'étape IQS et la commande
suivante du fichier COMFILE est exécutée. A la fin de l'étape, IQS définit le code
STATUS de fin d'étape comme suit :
Niveau maximal
d'erreur IQS
pas erreur
*
**
***
STATUS
0
100
1000
2000
SEV
0
1
2
2
Vous pouvez modifier la séquence d'exécution JCL via l'instruction JCL JUMP. Ce qui
permet de tester le code d'état défini par l'étape IQS. Par exemple :
STEP H_IQS ...
...
ENDSTEP;
comment 'Abort IQS step on *** error';
JUMP ER3 STATUS EQ 2000;
...
ER3: LET SEV 3;
...
47 F2 80UR Rev02
6-25
IQS-V4 Guide de l'administrateur
6.7.2.4
Traitement de STATUS en mode par lots
IQS-V4.2 et antérieures
Un message d'erreur IQS commence par zéro, un, deux ou trois astérisques (*). Le
nombre d'astérisques est proportionnel à la gravité de l'erreur.
Au début de la session IQS, la variable #STATUS est réinitialisée à zéro.
Une variable IQS interne reçoit le plus haut niveau de gravité des erreurs détectées au
cours d'une session IQS en mode BATCH. A l'issue de l'étape, cette valeur détermine la
valeur #STATUS ou #SEV résultante :
#STATUS
0
100
1000
2000
#SEV
0
1
2
2
signification
pas d'erreur ( )
observation (*)
avertissement (**)
erreur (***)
et une instruction JCL $JUMP peut le tester.
Remarque :
La gestion des bases de données ou de la mémoire peut générer
des erreurs fatales, arrêtant prématutément la session IQS. Les
erreurs fatales ne sont pas examinées ici.
Lorsqu'une erreur (***) est détectée par une commande, la
séquence globale peut être correcte. Par exemple, la séquence :
DROP QUERY <nom-requête> BIN
COMPILE QUERY <nom-requête>
EXEC <nom-requête>DROP QUERY <nom-requête> BIN
COMPILE QUERY <nom-requête>
EXEC <nom-requête>
peut être correcte lorsque la commande DROP édite l'erreur :
*** <nom-requête> not found in binary library.
Mais la séquence est incorrecte si l'erreur est éditée par la
commande EXEC.
6-26
47 F2 80UR Rev02
Lancement d'IQS
IQS-V4.3 et ultérieures
Ce qui suit a été introduit à partir de IQS-V4.3 pour assurer la compatibilité.ascendante Il
s'agit d'un niveau "erreur grave" générant un SEV3 en fin d'étape. L'utilisateur peut
également interrompre l'exécution de COMFILE lorsqu'une erreur grave est détectée.
La variable GCL #STATUS est gérée par IQS sur détection d'erreur, et peut être traitée
par l'utilisateur. A l'issue de l'exécution de chaque commande (aux niveaux C: et V:),
IQS lit #STATUS et met à jour la variable IQS interne contenant le plus haut niveau de
gravité des erreurs.
Cas 1
L'utilisateur peut arrêter prématurément l'étape IQS (SEV3) :
Lorsqu'une erreur (***) est détectée au cours de la session IQS après exécution d'une
commande (au niveau C: ou V:) ou d'une instruction :
LET @MESSAGE = "SYSOPT ERROR SEV3"
IQS force à 10 000 la valeur de #STATUS (#SEV = 3) à l'issue de l'étape IQS, et l'étape
est interrompue prématurément.
Remarque :
L'option "SYSOPT ERROR SEV3" transforme une erreur de
niveau (***) en "erreur grave".
Cas 2
L'utilisateur peut arrêter l'exécution de comfile et arrêter prématurément l'étape IQS :
Lorsqu'une erreur (***) est détectée après exécution d'une commande ou d'une
instruction :
LET @MESSAGE = "SYSOPT ERROR SEV3 STOP"
Les commandes suivantes (au niveau C: ou V:) du fichier COMFILE ne sont pas
exécutées et IQS force à 10000 la valeur de #STATUS à l'issue de l'étape.
Remarque :
47 F2 80UR Rev02
Les commandes non exécutées sont imprimées sur PRTFILE.
6-27
IQS-V4 Guide de l'administrateur
Cas 3
L'utilisateur et IQS gèrent la variable GCL #STATUS :
•
Un utilisateur peut lire la variable GCL #STATUS, au cours d'une session IQS en
mode BATCH :
LET @MESSAGE = "READVAR #STATUS"
lit #STATUS, la variable @MESSAGE contient le résultat de READVAR, et une requête
peut la tester.
Une requête peut également changer la valeur de #STATUS :
LET @MESSAGE = "MODVAR #STATUS 12345"
ou, plus généralement :
LET @MESSAGE = CONC( "MODVAR #STATUS " , @VAL-STATUS )
Ceci est enregistré par IQS (voir ci-après) avant exécution de la commande suivante (au
niveau C: ou V:).
•
Lorsque IQS édite un message d'erreur, la variable GCL #STATUS est mise à jour.
Pour déterminer la nouvelle valeur de la variable GCL #STATUS, IQS tient compte
de la valeur actuelle de #STATUS et du niveau maximal de gravité de toutes les
erreurs détectées (voir tableau 6-2).
•
Lorsqu'IQS lit la commande suivante de COMFILE (au niveau C: ou V:), IQS lit la
variable GCL #STATUS, interprète sa valeur (voir tableau 6-3) et met à jour la
variable IQS interne contenant le niveau d'erreur le plus élevé. IQS peut arrêter
l'exécution de la commande si une commande ou une instruction précédente :
LET @MESSAGE = "SYSOPT ERROR SEV3 STOP "
a été exécutée et que #STATUS est supérieur ou égal à 10 000.
Le tableau 6-4 indique la valeur de #STATUS à l'issue de l'étape IQS. Ceci dépend des
événements générés pendant la session IQS en mode BATCH.
Remarque :
6-28
La valeur #STATUS est réinitialisée à zéro lorsqu'une commande
appelle le processeur EDIT, FSE ou FORMGEN, ou qu'une
directive GCL est exécutée. #STATUS peut également être
réinitialisé à zéro par l'utilisateur. Cette action est sans incidence
sur la fin de l'étape. Seule la variable IQS interne contenant le
niveau d'erreur le plus élevé est utilisée pour définir la variable
#STATUS à la fin de l'étape.
47 F2 80UR Rev02
Lancement d'IQS
Tableau 6-2. Relations entre messages d'erreur IQS,
niveaux d'erreur IQS et #STATUS
Message IQS
pas d'erreur (ex Fast start)
* observ
** avertissement
*** erreur
*** erreur & SYSOPT ERROR SEV3
Niveau d'erreur IQS
0
1
2
3
10
STATUS IQS
0
100
1000
2000
10000
Chaque message IQS détermine un niveau de gravité d'erreur. Une variable globale
interne à IQS contient le niveau d'erreur le plus élevé. Sa valeur détermine une valeur
"IQS STATUS". La nouvelle valeur de #STATUS est la valeur maximale entre "IQS
STATUS" et le #STATUS actuel.
Tableau 6-3. Interprétation de #STATUS au niveau commande
GCL #STATUS
0<=
valeur < 100
100<= valeur < 1000
1000<= valeur <10000
10000<=valeur
Niveau d'erreur IQS
0
1
2
10
Signification
observation
avertissement
erreur grave
Ce tableau permet de mettre à jour la variable IQS interne contenant le niveau d'erreur
le plus élevé.
Tableau 6-4. #STATUS et #SEV à la fin de l'étape
Niveau de gravité
d'erreur le plus élevé
0
1
2
3
3
10
47 F2 80UR Rev02
SYSOPT ERROR SEV3
#STATUS
SEV
inutilisé
inutilisé
inutilisé
non
oui
inutilisé
0
100
1000
2000
10000
10000
SEV0
SEV1
SEV2
SEV2
SEV3
SEV3
6-29
IQS-V4 Guide de l'administrateur
6-30
47 F2 80UR Rev02
7. Compilation des schémas sous IQS
7.1
GENERALITES
Pour qu'un schéma puisse être utilisé sous IQS, il doit avoir été compilé sous IQS au
moyen de la commande COMPILE SCHEMA. Un schéma est inutilisable sous IQS
tant que cette opération n'a pas été effectuée.
Les schémas ayant été modifiés doivent également être de nouveau compilés au moyen
de COMPILE SCHEMA pour être utilisables. A ce sujet, voir le chapitre 12 qui traite de la
recompilation.
La commande COMPILE SCHEMA utilise en entrée un schéma résultant (voir la
remarque ci-dessous) issu de la compilation par MNDD et produit en sortie un schéma
résultant IQS (type SDD). Ce dernier est enregistré dans la bibliothèque DDLIB1 et de là
peut être utilisé par des commandes et des requêtes IQS au cours d'une session IQS.
COMPILE SCHEMA permet d'établir des droits d'accès sur le schéma. Si aucun nom de
projet n'est spécifié, tous les projets peuvent accéder au schéma (valeur implicite) mais
l'utilisateur qui émet la commande devient propriétaire du schéma. Il peut alors
supprimer les droits d'accès implicites au moyen de la commande REVOKE *, puis
accorder les droits d'accès à un projet particulier (commande GRANT). Se reporter au
chapitre 3.
Remarque :
47 F2 80UR Rev02
Le type d'objet est fonction du type de schéma : TYPE=DD pour
un schéma compilé par H_DDLPROC ; TYPE=DD3 pour un
schéma UFAS compilé sous MNDD ; TYPE=DD2 pour un
schéma IDS/II compilé sous MNDD ; TYPE=DD4 pour un sousschéma IDS/II compilé sous MNDD
7-1
IQS-V4 Guide de l'administrateur
S chém a
non utilisable
sous IQ S
(type DD )
S o rtie d e
MNDD
ou
DD PRO C
Commande
COMPILE SCHEMA
S chém a
utilisable
sous IQ S
(type S D D )
requêtes IQS
commandes IQS
Figure 7-1. Compilation des schémas pour utilisation sous IQS
La compilation d'un schéma sous IQS n'est possible que si sa compilation par MNDD a
abouti.
Lorsqu'un schéma est modifié et recompilé par MNDD, il doit également être recompilé
sous IQS. Lorsqu'un schéma est recompilé, toutes les vues et requêtes qui y font
référence sont invalidées et doivent à leur tour être recompilées même si le schéma n'a
pas été modifié.
Par contre, en cas d'émission d'une commande GRANT ou REVOKE, la recompilation
des vues et requêtes associées au schéma est inutile.
7-2
47 F2 80UR Rev02
Compilation des schémas sous IQS
7.2
NOUVEAUX SCHEMAS
Lorsqu'un nouveau schéma a été créé, l'utilisateur doit procéder comme suit :
7.3
1.
Compilation du schéma origine par MNDD pour obtenir un schéma résultant.
2.
Compilation du schéma résultant produit au point 1 au moyen de la commande IQS
COMPILE SCHEMA pour obtenir un schéma résultant utilisable sous IQS.
SCHEMAS EXISTANTS
Lorsqu'un schéma existant a été modifié, l'utilisateur doit procéder comme suit :
1.
Recompilation du schéma origine par MNDD pour obtenir un nouveau schéma
résultant.
2.
Recompilation du schéma résultant (type DD) produit au point 1 au moyen de la
commande IQS COMPILE SCHEMA pour obtenir un schéma résultant utilisable
sous IQS.
3.
Recompilation de toutes les vues faisant référence au schéma au moyen de la
commande IQS RECOMPILE VIEW.
4.
Recompilation de toutes les requêtes qui font référence au schéma ou à l'une des
vues recompilées au point 3, au moyen de la commande IQS RECOMPILE
QUERY.
Les commandes COMPILE SCHEMA, RECOMPILE VIEW, RECOMPILE MACRO et
RECOMPILE QUERY sont décrites en détail dans le Manuel de référence IQS-V4,
Volume 1.
La recompilation des vues est traitée au chapitre 12 du présent manuel.
47 F2 80UR Rev02
7-3
IQS-V4 Guide de l'administrateur
7-4
47 F2 80UR Rev02
8. Vues standard
8.1
INTRODUCTION
Les vues standard (également appelées vues enregistrées ou vues statiques) offrent
aux utilisateurs un accès aisé, mais néanmoins contrôlé aux données de production.
Dans la plupart des cas, ces données sont organisées sous forme d'un ensemble de
fichiers IDS/II intégrés et/ou de fichiers UFAS. En fait, il existe cinq organisations
possibles pour les données IQS :
• UFAS séquentiel,
• UFAS séquentiel indexé,
• UFAS relatif,
• IDS/II intégré,
• unité de bibliothèque SL.
Dans ce chapitre sont présentées certaines des possibilités offertes par le processeur
de vues et notamment :
• la définition d'une vue standard,
• la mise à jour d'une vue standard,
• la définition de droits d'accès pour protéger des zones, des articles ou la totalité d'une
vue,
• la définition de jointures et de zones additionnelles,
• la visualisation d'informations sur une vue et sur le ou les schémas sous-jacents.
Tous les exemples sont présentés en mode ligne.
47 F2 80UR Rev02
8-1
IQS-V4 Guide de l'administrateur
8.1.1
Bases de données et vues standard
Une vue standard est une description logique et relationnelle d'une base de données.
Les bases de données peuvent être :
• réelles (IDS/II),
• virtuelles (fichiers UFAS décrits par un schéma).
Toute base de données est décrite par un schéma qui représente les données telles
qu'elles sont enregistrées. Les schémas sont parfois appelés vues primaires car ils
constituent la source de données physique sous-jacente.
Les vues standard :
• peuvent être adaptées aux besoins des utilisateurs,
• sont indépendantes de la structure physique des données,
• assurent l'indépendance entre les opérations effectuées par des requêtes et celles
effectuées par des commandes IQS d'une part, et entre les requêtes et l'implantation
physique des données d'autre part,
• sont définies par l'administrateur IQS (ou par tout autre utilisateur autorisé).
Une vue standard peut être utilisée comme un schéma en la sélectionnant au niveau C:.
Lorsqu'une vue standard est le reflet d'une vue relationnelle d'une base de données
CODASYL (IDS/II), seule l'extraction de données est autorisée.
Pour la mise à jour d'une base de données CODASYL, il faut utiliser une requête
associée au schéma.
Pour extraire des données d'une base de données CODASYL, deux solutions sont
possibles :
• préparer des requêtes et les compiler après sélection de la vue standard ou du
schéma correspondant,
• émettre une commande REVIEW? du langage non procédural, en spécifiant le
paramètre RETRIEVAL, afin de consulter la vue en mode extraction uniquement.
Les vues standard permettent d'établir des jointures sur égalité de valeurs entre des
bases de données distinctes (c'est-à-dire entre des zones décrites par des schémas
différents).
8-2
47 F2 80UR Rev02
Vues standard
8.1.2
Autres types de vues
Une vue courante est un objet ayant été sélectionné pour utilisation au cours de la
session IQS au moyen de commandes SELECT et OPEN. Ces commandes sont
décrites dans les guides utilisateur IQS. A noter que la vue courante peut être un
schéma, une vue standard ou une structure (une structure étant un schéma monoarticle,
voir chapitre 9).
8.1.3
Vue dynamique
Une vue dynamique est le résultat obtenu à l'issue de commandes REVIEW, RETAIN,
INCLUDE et CLEAR (langage non procédural) ou de boucles RETRIEVE ... WHERE
...END (langage procédural). Elle n'est jamais enregistrée et représente un "instantané"
du travail effectué.
8.1.4
Remarques à l'intention des utilisateurs TDS
Les vues standard peuvent être utilisées pour l'accès aux données de production et leur
modification à partir d'applications IQS/TDS. Les informations à ce sujet figurent dans le
guide de l'utilisateur IQS-V4/TDS.
Les vues standard définies sous IQS sont utilisables aussi bien sous IOF que sous TDS.
Pour être accessibles sous IQS/TDS, elles doivent seulement être déclarées dans le
programme de génération de TDS.
47 F2 80UR Rev02
8-3
IQS-V4 Guide de l'administrateur
8.2
ARTICLE LOGIQUE
Une vue standard se compose d'un ou plusieurs articles logiques, eux-mêmes
constitués d'une ou plusieurs zones logiques.
Un article logique :
• a pour origine un ou plusieurs articles réels (dérivation),
• peut définir de nouvelles relations entre des articles par spécification de l'égalité de
valeur de deux zones (jointure),
• peut définir un ensemble simple ou complexe de critères pour restreindre la visibilité
des données (condition restrictive).
Exemple : Jointure sur égalité de valeur
Ici, deux articles réels (CUSTOMERS et ORDERS) sont à l'origine d'un article logique
(CUS-ORD) de la vue. CUSTOMERS et ORDERS peuvent provenir du même schéma
ou de deux schémas différents. CUS-ORD se compose de zones provenant ou non du
schéma, mais seules les occurrences définies par la jointure sur égalité de valeurs sont
retenues.
CUSTOMERS
CU-CODE
ORDERS
jo inture
ORD-CU-COD
CUS-ORD
La jointure permet de ne retenir que les occurrences dans lesquelles les valeurs des
zones CU-CODE et ORD-CU-CODE sont identiques :
W HERE
C U -C O D E = O R D -C U -C OD E
jointure
Le choix des jointures est important pour de bonnes performances du système IQS.
Les deux zones sur lesquelles est établie la jointure doivent avoir le même type et la
même longueur.
8-4
47 F2 80UR Rev02
Vues standard
Exemple : Condition restrictive
W HERE
C U -C O DE = O R D -C U-C O D E
AND
C U-C ITY = "LO N D O N "
jo intu re
co nditio n restric tiv e
Le format général d'une condition WHERE est le suivant :
WHERE <zone-1> <opérateur> <zone-2>
• zone-1 doit être une clé UFAS ou une clé CALC IDS/II,
• il y a optimisation du traitement, c'est-à-dire accès direct si :
-
pour IDS/II, la clé n'est spécifiée qu'avec l'opérateur =,
-
pour UFAS indexé, la clé, ou une partie de la clé, est spécifiée avec les
opérateurs =, BEGINS, BETWEEN, <, <=, > ou >=,
-
les conditions ne sont pas reliées par OR.
Des jointures ne doivent être établies que lorsqu'elles sont nécessaires. Par exemple,
dans la vue MAKE-ORDERS définie plus loin dans ce chapitre, il n'est pas utile de
définir de jointure entre les zones dérivées des articles ORDERS et ORDER-LINES
puisque ces deux articles sont déjà reliés par un ensemble dans le schéma.
Pour plus de détails sur la condition WHERE, se reporter aux descriptions de la
commande RETAIN et de l'instruction RETRIEVE qui figurent respectivement dans le
Volume 1 et Volume 2 du Manuel de référence IQS-V4. Voir également le chapitre 2 de
ces deux volumes pour les règles concernant les expressions.
La définition d'une vue doit toujours commencer par la définition de son article racine.
47 F2 80UR Rev02
8-5
IQS-V4 Guide de l'administrateur
8.3
ZONE LOGIQUE
Les zones logiques :
• peuvent être constituées à partir des zones réelles provenant des articles réels à
l'origine de l'article logique,
• peuvent être réordonnées,
• peuvent être des zones réelles renommées,
• peuvent être de nouvelles zones (zones additionnelles) dont la valeur est définie ou
calculée.
Exemple : Zone additionnelle
La zone IT-AMOUNT est obtenue par calcul sur la valeur de deux zones réelles.
IT-A M O U N T
=
LI-QTY * IT-P R IC E
zo n e ad ditio nn elle
calc u l
Exemple : Zone renommée
La zone IT-CODE est identique à la zone réelle LI-IT-CODE.
IT-C O D E
nouv ea u no m
8-6
=
LI-IT-C O D E
nom d e la
zone réelle
47 F2 80UR Rev02
Vues standard
8.4
8.4.1
CONCEPTION ET CREATION D'UNE VUE STANDARD
Généralités
Une vue standard peut être :
• une vue "plate" ou monoarticle, c'est-à-dire constituée d'un seul article logique,
• une vue linéaire dont les articles sont organisés selon une hiérarchie verticale,
• une vue arborescente comportant un ou plusieurs articles racines.
Une vue standard ne peut pas être :
• une vue en réseau de structure complexe comme cela est possible sous IDS/II. Par
exemple, un article détail ne peut pas être subordonné à deux articles maîtres. Cette
restriction a pour but de faciliter l'accès aux données sous IQS.
La figure 8-1 illustre trois types de vues standard définies à partir de schémas et de
structure.
Le nombre de schémas/structures à partir desquels peut être définie une vue doit être
compris entre 1 et 15.
47 F2 80UR Rev02
8-7
IQS-V4 Guide de l'administrateur
Schéma A
Schéma B
Structure i
Schéma n
dérivation
Article
racine 1
Article
logique
unique
VIEW-1 =
vue "plate"
Ensemble Ensemble
m
p
Article détail
et maître
Article
détail
Article
racine 2
Ensemble
z
Article
détail
Ensemble
q
Article détail
et maître
Ensemble
v
Article
détail
VIEW-2 =
vue arborescente
(avec 2 articles racines)
Ensemble
y
Article
détail
Article
logique 1
Ensemble
a
Article
logique 2
Ensemble
b
Article
logique 3
VIEW-3 =
vue linéaire
Figure 8-1. Types de vues standard
Usage d'une vue monoarticle
Les vues monoarticles sont généralement employées lorsqu'aucune mise à jour n'est
nécessaire. Elles constituent une bonne solution lorsque la totalité des zones réelles
sous-jacentes doivent être consultées.
Usage d'une vue linéaire
Les vues linéaires sont utilisées pour la mise à jour. Elles sont idéales pour les
applications ne devant accéder qu'à certaines parties des articles sous-jacents.
Usage d'une vue arborescente
Les vues arborescentes sont souvent utilisées pour conserver les structures de données
sous-jacentes afin de faciliter l'accès à des applications plus complexes.
8-8
47 F2 80UR Rev02
Vues standard
8.4.2
Exemples de vues standard
Les figures ci-dessous illustrent des vues pouvant être définies pour répondre à
différents besoins.
La figure 8-2 illustre la base de données décrite par le schéma SCH-CUSTOMERS.
CUSTOMERS
ORDERS
ITEMS
ORDER-LINES
Figure 8-2. Schéma SCH-CUSTOMERS
Bien que relativement simple, ce schéma offre plusieurs possibilités. Ci-dessous en sont
donnés trois exemples.
La figure 8-3 illustre la vue linéaire MY-CUSTOMERS.
Cette vue permet par exemple :
CUSTOMERS
- d'isoler les commandes de certains clients par ville
ORDERS
- d'analyser les commandes par numéro de client
ORDER-LINES
& ITEMS
- d'effectuer des statistiques sur les commandes des clients
Figure 8-3. Vue linéaire MY-CUSTOMERS
La figure 8-4 illustre la vue arborescente MY-ORDERS.
ORDERS
Cette vue permet par exemple :
- d e rech erch er le s com m a n des p ass é es à ou a v an t une
d ate d onn ée (av e c les info rm atio ns clien t e t/ou prod u it
co rresp ond an te s)
ORDER-LINES
& ITEMS
CUSTOMERS
- d'analyser les commandes
Figure 8-4. Vue arborescente MY-ORDERS
47 F2 80UR Rev02
8-9
IQS-V4 Guide de l'administrateur
La figure 8-5 illustre la vue linéaire MY-ITEMS.
ITEMS
C ette vue perm et par exem ple :
ORDER-LINES
& ITEMS
de rechercher les clients ayant com m andé un produit donné
CUSTOMERS
d'effectuer une analyse des produits
Figure 8-5. Vue linéaire MY-ITEMS
Autres exemples d'utilisation des vues
Pour retrouver les clients de Londres ayant commandé le produit numéro 1001, il est
possible d'utiliser la vue :
8.4.3
MY-CUSTOMERS
pour accéder directement à l'information recherchée via une
clé (nom de ville, par exemple)
MY-ITEMS
pour accéder directement à l'information recherchée via une
clé (numéro de produit, par exemple).
Clés primaires et secondaires
Les clés sont d'une grande importance lors de la conception des vues standard.
La clé primaire d'un article est la clé principale sur laquelle s'effectuent l'organisation
des occurrences et l'accès à ces dernières. Elle est unique. Elle peut se composer d'une
ou plusieurs des zones de l'article. Pour les clés primaires, les valeurs en double sont
interdites.
Les clés secondaires sont également utilisées pour l'organisation des occurrences et
l'accès à ces dernières mais elles ne sont pas uniques : chaque article peut comporter
plusieurs clés secondaires. Les zones faisant partie d'une clé secondaire peuvent
également faire partie de la clé primaire. Pour les clés secondaires, les valeurs en
double sont autorisées.
Sous IQS, il est conseillé de n'établir des jointures qu'entre des zones de clé afin
d'obtenir de meilleures performances. Ces zones doivent bien sûr avoir le même type et
la même longueur. Pour une efficacité optimale, les jointures doivent être établies sur la
ou les zones constituant la partie la plus à gauche des clés primaires.
8-10
47 F2 80UR Rev02
Vues standard
La figure 8-6 reprend le schéma SCH-CUSTOMERS en indiquant les clés.
P
Aire : A-CUST
Aire : A-ORD
Aire : A-ITEM
CUSTOMERS
ORDERS
ITEMS
C U-C O D E
O R D -TYP E
IT-C O D E
O R D -C O D E
IT-N AM E
C U-ST RE E T
O R D -FILLE R
IT-S TO C K
C U-C ITY
O R D -C U -C O D E
C U-N A M E
S
P
P
IT-P R IC E
S
O R D -D A TE
E N S EM BLE
O R D E R -TO -LIN E
ORDER-LINES
LI-TYP E
P {
LI-O R D -C O D E
S
LI-IT-C O D E
LI-C U -C O D E
S
LI-Q TY
Aire : A-ORD
P
Clé primaire
S
Clé secondaire
Jointure primaire
Jointure secondaire
(une jointure prim aire existant
déjà dans la m êm e hiérarchie)
Figure 8-6. Schéma SCH-CUSTOMERS avec clés primaires et secondaires
47 F2 80UR Rev02
8-11
IQS-V4 Guide de l'administrateur
La vue MY-CUSTOMERS utilise les possibilités de jointures offertes par le schéma
comme le montre la figure 8-7.
C U S TO M E R S
C U -C O D E
C U -N A M E
C U -S TR E E T
C U -C ITY
Origine dans le schéma
CUSTOMERS
Ensemble CU-ORD
ORDERS
O R D -C O D E
O R D -D A T E
ORDERS
W H ER E
O R D -C U -C O D E = C U -C O D E
Ensemble ORD-IT
ITEMS
IT -C O D E
IT -N A M E
IT -Q T Y
IT -P R IC E
IT -A M O U N T
O R D E R -LIN E S ,
IT E M S
W HERE
IT -C O D E =LI-IT-C O D E
Figure 8-7. Vue linéaire MY-CUSTOMERS avec son origine
8-12
47 F2 80UR Rev02
Vues standard
8.4.4
Définition de la vue MY-CUSTOMERS
Il est conseillé au lecteur de lire d'abord le chapitre 8 du Manuel de référence IQS-V4,
Volume 1. Il y trouvera les principes de définition des vues ainsi que la syntaxe des
sous-commandes du Processeur de vues.
La suite de ce paragraphe montre comment a été définie la vue MY-CUSTOMERS.
Définition des attributs de la vue
Action
L'utilisateur doit émettre une commande DEFINE VIEW
(DFVW) au niveau IQS (C:).
"view privacy"
Droits d'accès de l'ensemble de la vue. FACULTATIF.
"view description"
Description de la vue. Texte de 60 caractères maximum qui
sera visualisé à l'émission d'une commande DISPLAY
VIEW ou PRINT VIEW. Egalement accessible par
l'intermédiaire de la métabase. FACULTATIF.
"list project(s)"
Liste des projets ayant le droit d'accéder à la vue. La valeur
implicite est *, c'est-à-dire tous les projets. IQS ne vérifie par
la validité des noms de projets à ce stade. FACULTATIF.
"schema names"
Liste des schémas/structures (rangés dans les
bibliothèques DDLIB1, DDLIB2 et DDLIB3) sur lesquels
repose la vue. Minimum 1, maximum 15. OBLIGATOIRE.
Résultat
Le Processeur de vues est appelé et le guidage W: est
visualisé.
Exemple : Définition de la vue MY-CUSTOMERS
C: DEFINE VIEW MY-CUSTOMERS
view privacy (0 RETRIEVAL 1 UPDATE) (0) :
view description : Vue de la base CUSTOMERS
+ list project(s) (*) : SD3
+ schema names : SCH-CUSTOMERS
W:
47 F2 80UR Rev02
0
8-13
IQS-V4 Guide de l'administrateur
Création d'un article logique
Action
L'utilisateur doit émettre une sous-commande CREATE
RECORD (CR) en spécifiant le nom de l'article logique à
créer. C'est ce nom qui sera utilisé dans des instructions
RETRIEVE et dans des commandes RETAIN et REVIEW.
"set where record is member"
Nom de l'ensemble déterminant la relation entre l'article
logique et son article maître. OBLIGATOIRE SI L'ARTICLE
N'EST PAS UN ARTICLE RACINE.
"owner record name"
Nom de l'article qui est maître de l'article logique.
OBLIGATOIRE SI L'ARTICLE N'EST PAS UN ARTICLE
RACINE.
"record derivation"
Origine de l'article, c'est-à-dire article(s) réel(s) dont est
dérivé l'article logique. OBLIGATOIRE.
"item list"
Liste des zones devant composer l'article logique, dérivées
des articles réels qui en constituent l'origine. Si rien n'est
spécifié, toutes les zones des articles à l'origine de l'article
logique sont retenues. FACULTATIF.
"record privacy"
Droits d'accès de l'article logique. Ils doivent être
compatibles avec ceux définis pour la vue. FACULTATIF.
"record description"
Description de l'article. FACULTATIF.
Résultat
Chaque article logique créé est conservé en mémoire
jusqu'à ce que la vue soit sauvegardée.
Exemple :
Création des articles logiques CUSTOMERS, ORDERS et ITEMS.
W: CR CUSTOMERS
+ record derivation : CUSTOMERS
item list (CUSTOMERS) :
record privacy (0 RETRIEVAL 1 UPDATE 2 INSERT/DELETE) (0) :
record description : Infos clients
W:
W: CR ORDERS
set where record is member : CU-ORD
owner record name : CUSTOMERS
+ record derivation : ORDERS WHERE ORD-CU-CODE = CU-CODE
item list (ORDERS) : ORD-CODE,ORD-DATE
record privacy (0 RETRIEVAL 1 UPDATE 2 INSERT/DELETE) (0) :
record description : Code et date commande
W:
W: CR ITEMS
set where record is member : ORD-IT
owner record name : ORDERS
+ record derivation : ORDER-LINES, ITEMS -: WHERE IT-CODE=LI-IT-CODE
item list (ORDER-LINES, ITEMS) : IT-CODE, IT-NAME, -: IT-QTY=LI-QTY, IT-PRICE, IT-AMOUNT=LI-QTY*IT-PRICE
record privacy (0 RETRIEVAL 1 UPDATE 2 INSERT/DELETE) (0) :
record description : Infos produit par code
W:
8-14
47 F2 80UR Rev02
Vues standard
Sauvegarde de la vue
Action
L'utilisateur doit émettre une sous-commande SAVE VIEW
(SV) une fois tous les articles logiques créés.
Résultat
Si la définition de la vue ne comporte pas d'incohérences, la
vue est sauvegardée dans la bibliothèque affectée à
DDLIB1. Sinon, l'utilisateur doit corriger les erreurs avant de
sauvegarder de nouveau.
Exemple :
W: SV
8.4.5
Définition de la vue MAKE-ORDERS
La vue MAKE-ORDERS illustre l'importance des clés et des jointures. C'est une vue
linéaire composée de deux articles dont l'objectif est de permettre l'accès aux données
par produit, puis par commande concernant ce produit.
La figure 8-8. montre comment la vue est créée à partir du schéma sous-jacent.
47 F2 80UR Rev02
8-15
IQS-V4 Guide de l'administrateur
SCH-CUSTOMERS
Jo inture su r
C U -C O D E
O R D -C U -C O D E
CUSTOMERS
ORDERS
ITEMS
ORDER-LINES
Jointure sur
IT-C O D E
LI-IT-C O D E
PRODUCT
E nsem ble
P R -O R
ORDER-PREP
MAKE-ORDERS
O rig in e d e s zo n e s
Dérivées de ORDER-LINES: LI-QTY
ORD-CODE
Dérivées de ORDERS:
Dérivées de CUSTOMERS: C U -C O D E
C U -N A M E
C U -C IT Y
Figure 8-8. Vue MAKE-ORDERS avec son origine
A noter les points suivants à propos de la figure 8-8 :
• La vue est optimisée car les jointures sont établies sur des zones de clé.
• L'article ORDER-PREP a pour origine trois articles réels.
• Les jointures entre CUSTOMERS et ORDERS et entre ORDER-LINES et ITEMS sont
spécifiées à la création de l'article ORDER-PREP (voir ci-dessous).
• Il n'est pas nécessaire d'établir de jointure entre les articles ORDERS et
ORDER-LINES car ils sont déjà reliés dans un ensemble au niveau du schéma
(voir figure 8-6).
8-16
47 F2 80UR Rev02
Vues standard
La définition de la vue MAKE-ORDERS est la suivante :
C: DEFINE VIEW MAKE-ORDERS
view privacy (0 RETRIEVAL 1 UPDATE) (0) :
view description : Vue pour préparation de commandes
+ schema names : SCH-CUSTOMERS
W: CR PRODUCT
+ record derivation : ITEMS
item list (ITEMS) : PR-CODE=IT-CODE, PR-DESC=IT-NAME, -: PR-NO-IN-STOCK=IT-STOCK
record privacy (0 RETRIEVAL 1 UPDATE 2 INSERT/DELETE) (0) :
record description : Produits en stock et quantité disponible
W:
W: CR ORDER-PREP
set where record is member : PR-OR
owner record name : PRODUCT
+ record derivation : ORDER-LINES,ORDERS,CUSTOMERS -: WHERE LI-IT-CODE=IT-CODE -: AND CU-CODE=ORD-CU-CODE
item list (ORDER-LINES, ORDERS, CUSTOMERS) : -: OR-ORD-CODE=ORD-CODE, OR-QTY=LI-QTY, OR-CU-CODE=CU-CODE, -: OR-CU-NAME=CU-NAME, OR-CU-LOCATION=CU-CITY
record privacy (0 RETRIEVAL 1 UPDATE 2 INSERT/DELETE) (0) :
record description : Préparation des commandes
W: SV
W: /
47 F2 80UR Rev02
8-17
IQS-V4 Guide de l'administrateur
8.5
MISE A JOUR D'UNE VUE STANDARD
Lors de la mise à jour d'une vue au moyen de UPDATE VIEW, il n'est pas possible :
• d'ajouter un article maître,
• d'ajouter ou de supprimer un schéma ou une structure sous-jacents.
Si un schéma sous-jacent à une vue doit être modifié, l'utilisateur doit se reporter au
chapitre 12 qui traite de la recompilation. Dans ce cas, une nouvelle vue doit être définie
à partir du schéma modifié.
UPADTE VIEW permet :
• de mettre à jour une vue standard existante,
• de créer une nouvelle vue à partir d'une vue existante.
8.5.1
Droits d'accès
La sécurité et l'intégrité des données IQS est assurée comme suit :
• les fichiers sous-jacents doivent être accessibles en écriture (droit spécifié dans le
GCL ou le JCL),
• les droits d'accès aux vues standard IQS peuvent être contrôlés par l'intermédiaire de
noms de projet GCOS 7,
• les droits d'accès à une vue peuvent être "lecture" ou "mise à jour",
• les droits d'accès à un article de vue peuvent être "lecture", "mise à jour" ou
"insertion/suppression",
• les droits d'accès à une zone d'article de vue peuvent être "lecture" ou "mise à jour",
• les droits d'accès doivent être compatibles avec ceux définis au niveau nom de projet.
Pour plus de détails sur les droits d'accès, voir le chapitre 3 du Guide de l'utilisateur
expert,
• les valeurs affectables à une zone peuvent être limitées si une clause CHECK a été
définie pour la zone dans le schéma (voir chapitre 4).
Remarque :
8-18
Pour la mise à jour ou l'insertion de données, les zones d'article
logique doivent correspondre exactement à des zones d'article
réel afin d'éviter la création d'occurrences de données hors
structure.
47 F2 80UR Rev02
Vues standard
8.5.2
Remarques à propos d'IDS/II
Les commandes IQS (en mode ligne et en mode menu) permettent de lire des données
IDS/II (base IDS/II ou IDS/II + UFAS) via une vue, mais non de les mettre à jour.
La mise à jour de données IDS/II (base IDS/II pur ou IDS/II + UFAS) n'est possible
qu'au moyen du langage de requêtes, par l'intermédiaire d'un schéma. En principe, les
requêtes de mise à jour sont écrites par le personnel informatique.
Pour plus de détails sur les différentes opérations de manipulation des données, se
reporter à l'annexe D.
8.5.3
Mise à jour des attributs d'une vue
Action
L'utilisateur doit émettre une commande UPDATE VIEW
(UPVW) au niveau IQS (C:), à moins que le Processeur de
vues n'ait déjà été appelé. Puis, au niveau W:, il doit émettre
une sous-commande UPDATE VIEW ATTRIBUTES (UVA).
"view privacy"
Nouveaux droits d'accès de la vue. FACULTATIF.
"view description"
Nouvelle description de la vue. FACULTATIF.
Remarque :
La liste des schémas sur lesquels repose la vue ne peut pas être
modifiée.
Exemple : Création d'une nouvelle vue à partir d'une vue existante
C: UPDATE VIEW MY-CUSTOMERS NEW NEW-CUSTOMERS
W: UVA
view privacy (0 RETRIEVAL 1 UPDATE) (0) : 1
view description (Vue de la base CUSTOMERS) :
47 F2 80UR Rev02
8-19
IQS-V4 Guide de l'administrateur
8.5.4
Mise à jour d'un article logique
Action
L'utilisateur doit émettre une sous-commande UPDATE
RECORD (UR) au niveau W:. A noter qu'il est impossible de
changer le nom de l'article.
"record derivation"
Nouvelle origine de l'article. FACULTATIF.
"item list"
Nouvelle liste des zones. FACULTATIF.
"record privacy"
Nouveaux droits d'accès de l'article. Ils doivent être
compatibles avec ceux de la vue. FACULTATIF.
"record description"
Nouvelle description de l'article. FACULTATIF.
Exemple : Mise à jour d'un article logique
W: UR CUSTOMERS
+ record derivation (CUSTOMERS) :
item list (CUSTOMERS) :
record privacy (0 RETRIEVAL 1 UPDATE 2 INSERT/DELETE) (0) : 2
record description (Infos clients) : Nouvelles infos clients
8.5.5
Mise à jour d'une zone logique
Au départ, les attributs des zones d'un article logique sont définis automatiquement à la
création de l'article. Si l'utilisateur ne spécifie rien dans "item list", les zones logiques
sont identiques aux zones réelles dont elles prennent les attributs. Ces attributs peuvent
être modifiés ultérieurement au moyen de la sous-commande UPDATE ITEM.
8-20
Action
L'utilisateur doit émettre une sous-commande UPDATE
ITEM (UI) au niveau W:.
"item privacy"
Droits d'accès de la zone. Ils doivent être compatibles avec
ceux de l'article et de la vue. A noter que le Processeur de
vues ne vérifie pas si la zone correspondante du schéma
sous-jacent est une clé primaire ; si c'est le cas, les
demandes de mise à jour (RETRIEVE UPDATE ... MODIFY
ou RETRIEVE ... MODIFY END par exemple) n'aboutiront
pas. FACULTATIF.
"item description"
Description de la zone. FACULTATIF.
Résultat
Les nouveaux attributs sont affectés à la zone de manière
permanente dès la sauvegarde de la vue.
47 F2 80UR Rev02
Vues standard
Exemple : Mise à jour des droits d'accès d'une zone logique
Si les droits d'accès de l'article sont RETRIEVAL (lecture), la mise à jour de ses zones
est interdite.
W: UI ORD-DATE OF ORDERS
item privacy (0 RETRIEVAL 1 UPDATE) (0) : 1
*** Privacy UPDATE forbidden
item privacy (0 RETRIEVAL 1 UPDATE) (1) : 0
item description :
W:
Exemple : Mise à jour d'une zone constituant une clé primaire
Il est possible de spécifier les droits d'accès UPDATE (mise à jour) pour une zone
logique dérivée d'une zone réelle qui constitue une clé primaire pour un fichier indexé
dans le schéma mais toute tentative ultérieure de modification de cette zone sera
rejetée.
C:
V:
V:
V:
V:
R:
R:
SELECT NEW-CUSTOMERS
OPEN UPDATE
REVIEW UPDATE
F
CUSTOMERS
CUSTOMERS
CU-CODE : 12890G
CU-NAME : JIM ROACH
CU-STREET : 12 SUTTON ROW
CU-CITY : GLASGOW
R:
R: MODIFY CU-CODE = "13888G"
*** Updating of primary key forbidden
47 F2 80UR Rev02
8-21
IQS-V4 Guide de l'administrateur
Exemple : Mise à jour des droits d'accès d'une zone logique
Les zones d'un article dont les droits d'accès sont UPDATE (mise à jour) ou
INSERT/DELETE (insertion/suppression) peuvent être protégées individuellement en
leur attribuant les droits d'accès RETRIEVAL (lecture).
C: UPDATE VIEW NEW-CUSTOMERS
W: DV
P: DVA
DESCRIPTION : Vue de la base CUSTOMERS
PRIVACY (0 RETRIEVAL 1 UPDATE) : 1
P: DRD CUSTOMERS
DERIVATION : CUSTOMERS
PRIVACY (0 RETRIEVAL 1 UPDATE 2 INSERT/DELETE) : 2
DESCRIPTION : Nouvelles infos clients
P: /
W: UI CU-STREET OF CUSTOMERS
item privacy (0 RETRIEVAL 1 UPDATE) (1) : 0
item description : Modification de la zone interdite
W:
W:
Do
W:
W:
C:
C:
V:
V:
R:
/
you want to save ? : yes
SV
/
SELECT NEW-CUSTOMERS
OPEN UPDATE
REVIEW UPDATE
F
CUSTOMERS
CUSTOMERS
CU-CODE : 12890G
CU-NAME : JIM ROACH
CU-STREET : 12 SUTTON ROW
CU-CITY : GLASGOW
R: MODIFY CU-STREET = "3 THE RIDINGS"
*** Update of CU-STREET forbidden
R: MODIFY CU-NAME = "JAMES T ROACH"
R:
La zone CU-NAME peut être modifiée mais non la zone CU-STREET.
8.5.6
8-22
Nouvelle sauvegarde de la vue
Action
Après avoir modifié tous les articles, ou à tout autre
moment, l'utilisateur doit émettre une sous-commande
SAVE VIEW (SV) pour sauvegarder la vue.
Résultat
Si la vue est cohérente, elle est sauvegardée dans la
bibliothèque affectée à DDLIB1. Sinon, l'utilisateur doit
corriger les erreurs et essayer de sauvegarder de nouveau.
47 F2 80UR Rev02
Vues standard
8.6
MISE A JOUR DE DONNEES PAR L'INTERMEDIAIRE D'UNE VUE
Les usagers des applications IQS ne doivent pas avoir toute liberté d'accès aux
schémas. Ils ne doivent pouvoir effectuer des mises à jour, des suppressions et des
insertions que par l'intermédiaire de vues standard.
Seuls les administrateurs et certains utilisateurs autorisés doivent avoir accès aux
schémas.
8.6.1
Sélection d'une vue standard pour la mise à jour
Action
L'utilisateur doit émettre une commande SELECT au niveau
IQS (C:) en spécifiant le nom d'une vue standard.
Il doit ensuite émettre une commande OPEN UPDATE puis
une commande REVIEW UPDATE pour l'article à mettre à
jour.
Exemple : Mise à jour de l'article CUSTOMERS de la vue NEW-CUSTOMERS
C: SL NEW-CUSTOMERS
V: OP UPDATE
V: RV UPDATE
R: INSERT
+ record name : CUSTOMERS
CUSTOMERS
CUSTOMERS
CU-CODE : 98765H
CU-NAME : TERRY HORTH
CU-STREET : 177 AVONDALE DR
CU-CITY : HORNCHURCH
8.6.2
Protection contre la mise à jour au niveau vue
Exemple : Tentative de mise à jour sur une vue accessible en lecture uniquement
(RETRIEVAL)
C: SL MY-CUSTOMERS
V: OPEN UPDATE
*** UPDATE mode forbidden on view MY-CUSTOMERS
V:
8.6.3
Protection contre la mise à jour au niveau zone
Comme l'a montré le dernier exemple du paragraphe 8.5.5, il est possible d'interdire la
mise à jour d'une zone même si l'article et la vue dont elle fait partie sont accessibles en
mise à jour.
47 F2 80UR Rev02
8-23
IQS-V4 Guide de l'administrateur
8.7
8.7.1
VISUALISATION D'INFORMATIONS SUR UNE VUE
Sous-menu DISPLAY VIEW
Il est possible de visualiser diverses informations sur les vues en appelant le sous-menu
DISPLAY VIEW et en y choisissant la sous-commande appropriée.
Action
L'utilisateur doit émettre une sous-commande DISPLAY
VIEW (DV) au niveau W:.
Résultat
La liste des sous-commandes de DISPLAY VIEW peut être
obtenue au niveau P:.
Exemple : Sous-menu DISPLAY VIEW
W: DISPLAY VIEW
P: ?
DISPLAY
DISPLAY
DISPLAY
DISPLAY
DISPLAY
DISPLAY
DISPLAY
DISPLAY
DISPLAY
DISPLAY
DISPLAY
DISPLAY
QUIT
ITEM
RECORD
ITEMS
SCHEMA
SCHEMAS
VIEW ATTRIBUTES
RECORDS
SETS
MEMBERS OF RECORD
OWNERS OF RECORD
SETS OF RECORD
ACCESS RIGHT
DISPLAY VIEW
DI Display the attributes of an item
DRD Display the attributes of a record
DRI Display the items of a record
DS Display an underlying schema
DSS Display the schema selection of the view
DVA Display the attributes of the view
DRE Display the records of the view
DSE Display the sets of the view
DMR Display the members of a record
DOR Display the owners of a record
DSR Display the sets of a record
DACR Display the access rights
Q Exit from IQS
P:
8.7.2
Visualisation d'informations sur un article
Action
L'utilisateur doit émettre une sous-commande DISPLAY
RECORD (DRD) au niveau P:.
Résultat
Les attributs de l'article sont visualisés.
Exemple : Visualisation des attributs d'un article
P: DRD ITEMS
SET NAME : ORD-IT
OWNER RECORD NAME : ORDERS
DERIVATION : ORDER-LINES, ITEMS WHERE IT-CODE=LI-IT-CODE
PRIVACY (0 RETRIEVAL 1 UPDATE 2 INSERT/DELETE) : 0
DESCRIPTION : Infos produit par code
P:
8-24
47 F2 80UR Rev02
Vues standard
8.7.3
Visualisation d'informations sur une zone
Action
L'utilisateur doit émettre une sous-commande DISPLAY
ITEM (DI) au niveau P:.
Résultat
Les attributs de la zone sont visualisés.
Exemple : Visualisation des attributs d'une zone
P: DI IT-QTY OF ITEMS
TYPE : UNPACKED UNSIGNED
LENGTH : 5,0
PRIVACY (0 RETRIEVAL 1 UPDATE) : 0
8.7.4
Listage des articles d'une vue
Action
L'utilisateur doit émettre une sous-commande DISPLAY
RECORDS (DRE) au niveau P:.
Résultat
Les noms des articles de la vue sont listés.
Exemple : Listage des articles de la vue
P: DRE
RECORDS OF MY-CUSTOMERS :
CUSTOMERS
ORDERS
ITEMS
8.7.5
Visualisation d'informations sur les ensembles d'une vue
Action
L'utilisateur doit émettre une sous-commande DISPLAY
SETS (DSE) au niveau P:.
Résultat
Les noms des ensembles de la vue sont visualisés, avec le
nom de leur article maître et de leur article détail.
Exemple : Visualisation d'informations sur les ensembles de la vue
P: DSE
. SET NAME : CU-ORD
OWNER RECORD
MEMBER RECORD
. SET NAME : ORD-IT
OWNER RECORD
MEMBER RECORD
47 F2 80UR Rev02
: CUSTOMERS
: ORDERS
: ORDERS
: ITEMS
8-25
IQS-V4 Guide de l'administrateur
8.7.6
Listage des schémas sous-jacents
Action
L'utilisateur doit émettre une sous-commande DISPLAY
SCHEMAS (DSS) au niveau P:.
Résultat
La liste des schémas sur lesquels repose la vue est
visualisée.
Exemple : Listage des schémas sous-jacents à la vue
P: DSS
SCHEMAS OF MY-CUSTOMERS :
SCH-CUSTOMERS
8.7.7
Visualisation de la liste des zones d'un article
Action
L'utilisateur doit émettre une sous-commande DISPLAY
ITEMS (DRI) au niveau P:.
Résultat
Les noms des zones de l'article sont visualisés, avec, pour
les zones additionnelles et les zones renommées, leur
origine.
Exemple : Visualisation des zones d'un article
P: DRI ITEMS
ITEM LIST : IT-CODE,IT-NAME,IT-QTY=LI-QTY, IT-PRICE,
IT-AMOUNT=LI-QTY*IT-PRICE
8.7.8
Listage des noms de projet
Action
L'utilisateur doit émettre une sous-commande DISPLAY
ACCESS RIGHT (DACR) au niveau P:.
Résultat
La liste des noms de projets ayant le droit d'accéder à la
vue est visualisée.
Exemple : Listage des noms de projets
P: DACR
ACCESS RIGHTS OF VIEW : V-VIEW:
*
SD3
SYSADMIN
8-26
*
HOARE
*
OW
SY
47 F2 80UR Rev02
Vues standard
8.8
VISUALISATION D'INFORMATIONS SUR LES SCHEMAS
A l'intérieur du Processeur de vues, l'utilisateur peut non seulement obtenir des
informations sur les vues standard mais aussi sur les schémas sur lesquels elles
reposent et ce, au moyen de la sous-commande DISPLAY SCHEMA qui lui donne accès
à un ensemble de sous-commandes. Pour plus de détails sur ces sous-commandes, se
reporter au Manuel de référence IQS-V4,Volume 1.
8.8.1
Sous-menu DISPLAY SCHEMA
Il est possible de visualiser diverses informations sur les schémas sous-jacents à une
vue en appelant le sous-menu DISPLAY SCHEMA et en y choisissant la souscommande appropriée.
Action
L'utilisateur doit émettre une sous-commande DISPLAY
SCHEMA (DS) au niveau P:, en spécifiant un nom de
schéma si la vue repose sur plusieurs schémas.
Résultat
La liste des sous-commandes de DISPLAY SCHEMA peut
être obtenue au niveau P:.
Exemple : Sous-menu DISPLAY SCHEMA
P: DS
P: ?
DISPLAY
DISPLAY
DISPLAY
DISPLAY
DISPLAY
DISPLAY
DISPLAY
DISPLAY
DISPLAY
DISPLAY
DISPLAY
DISPLAY
QUIT
8.8.2
ITEM
DI
ITEMS
DRI
RECORDS
DRE
AREAS
DA
KEYS OF RECORD
DKR
SETS
DSE
RECORDS OF AREA
DRA
AREAS OF RECORD
DAR
MEMBERS OF RECORD DMR
OWNERS OF RECORD
DOR
SETS OF RECORD
DSR
ACCESS RIGHT
DACR
Q
DISPLAY SCHEMA
Display the attributes of an item
Display the items of a record
Display the records of the schema
Display the areas of the schema
Display the keys of a record
Display the sets of the schema
Display the records of an area
Display the areas of a record
Display the members of a record
Display the owners of a record
Display the sets of a record
Display access rights
Exit from IQS
Listage des aires d'un schéma
Action
L'utilisateur doit émettre une sous-commande DISPLAY
AREAS (DA) au niveau P:.
Résultat
Les noms des aires du schéma sont listés.
Exemple : Listage des aires du schéma
P: DA
AREAS OF SCH-CUSTOMERS :
A-CUST
A-ORDER
A-ITEM
47 F2 80UR Rev02
8-27
IQS-V4 Guide de l'administrateur
8.8.3
Visualisation des clés d'un article
Action
L'utilisateur doit émettre une sous-commande DISPLAY
KEYS OF RECORD (DKR) au niveau P: en spécifiant le
nom de l'article.
Résultat
Les clés de l'article sont visualisées avec à gauche leur nom
tel qu'il figure dans le schéma, au centre leur type (primaire,
secondaire, ...) et à droite le nom de la ou des zones du
schéma qui constituent la clé.
Exemple : Visualisation des clés d'un article
P: DKR ORDER-LINES
KEYS OF ORDER-LINES :
KEY-ORDER
PRIMARY
LI-ORD-CODE
LI-IT-CODE
KEY-CU-CODE
SECONDARY
LI-CU-CODE
KEY-IT-CODE
SECONDARY
LI-IT-CODE
Remarque :
8.8.4
Pour les clés primaires, les zones qui contiennent des valeurs
constantes (CHECK) ne sont pas visualisées par DKR (ni par
PRINT SCHEMA) si elles constituent la partie droite de la clé.
Listage des articles d'une aire
Action
L'utilisateur doit émettre une sous-commande DISPLAY
RECORDS OF AREA (DRA) au niveau P: en spécifiant le
nom de l'aire.
Résultat
Les noms des articles de l'aire sont listés.
Exemple : Listage des articles d'une aire
P: DRA A-CUST
RECORDS OF A-CUST :
CUSTOMERS
8.8.5
Retour au sous-menu DISPLAY VIEW
Action
8-28
L'utilisateur doit introduire une barre oblique (/) pour quitter
le niveau DISPLAY SCHEMA et revenir au niveau DISPLAY
VIEW. Le guidage de ces deux niveaux est P:.
47 F2 80UR Rev02
9. Structures
9.1
INTRODUCTION
Une structure est la description d'un fichier séquentiel monoarticle qui peut être un
fichier UFAS ou une unité de bibliothèque.
Les structures se trouvent dans une ou plusieurs des bibliothèques de description de
données (DDLIB1, DDLIB2 et DDLIB3) connues d'IQS. Les structures sont enregistrées
dans DDLIB1.
Chaque structure comporte la liste des zones composant l'article du fichier qu'elle décrit.
Un fichier de type monoarticle peut être décrit par l'intermédiaire d'un schéma avant de
commencer la session IQS. Sinon, l'utilisateur peut affecter le fichier, définir la
description de fichier et la sauvegarder comme structure pendant la session IQS. Dans
ce cas, il peut ensuite émettre une commande REVIEW ou écrire une requête associée
au fichier (ou à un autre fichier pour lequel aucun schéma n'a été défini) sans avoir à
quitter IQS.
Les droits d'accès à une structure peuvent être accordés au moyen d'une commande
GRANT ou supprimés au moyen d'une commande REVOKE. La sous-commande
DISPLAY ACCESS RIGHT permet de visualiser le nom des projets ayant le droit
d'accéder à la structure.
Les informations de référence sur les structures IQS figurent dans le Manuel de
référence IQS-V4, Volume 1.
47 F2 80UR Rev02
9-1
IQS-V4 Guide de l'administrateur
9.1.1
Attributs des structures
Une structure a les attributs suivants :
• nom (30 caractères maximum),
• droits d'accès (RETRIEVAL, UPDATE ou INSERT/DELETE),
• description (commentaire facultatif),
• nom d'aire (nom de l'aire contenant le fichier décrit),
• nom d'article (nom de l'article du fichier décrit).
9.1.2
Attributs des zones
Chaque zone décrite par la structure a les attributs suivants :
• nom (30 caractères maximum),
• type (BINARY, DECIMAL ou CHARACTER par exemple),
• longueur,
• nombre de chiffres après la virgule (zones de type DECIMAL uniquement).
9.1.3
Définition
Une structure peut être définie implicitement ou explicitement.
Elle est définie implicitement lors de la création d'un fichier temporaire à l'exécution
d'une commande WRITE, EXTRACT, COPY, SORT ou MERGE.
Elle est définie explicitement en appelant le Processeur de structures ou en utilisant le
langage de requêtes.
Avec le processeur de structures, une structure peut être définie :
• automatiquement à partir d'un article de la vue courante,
• automatiquement à partir d'une ou plusieurs grilles utilisateur (contiguës),
• manuellement, zone par zone, en indiquant le nom et le type de chaque zone.
9-2
47 F2 80UR Rev02
Structures
Avec le langage de requêtes, c'est l'instruction DEFINE qui est utilisée pour créer une
structure zone par zone ou à partir d'une structure ou d'un article existants. Avec
l'instruction WRITE, une structure est implicitement définie lors de la création d'un fichier
temporaire. Des exemples concernant l'emploi des structures avec le langage de
requêtes sont fournies dans le Guide du programmeur IQS-V4.
La structure qui a été définie, implicitement ou explicitement, peut être sauvegardée au
moyen de SAVE STRUCTURE (ou de REPLACE STRUCTURE si elle remplace une
structure du même nom).
9.1.4
Utilisation
Une structure IQS peut être utilisée de deux façons :
• en tant que description de fichier. Dans ce cas, l'utilisateur doit émettre une
commande USE STRUCTURE au niveau IQS (C:) ou au niveau vue (V:) pour
associer la structure à un fichier pour la session courante (cette association pouvant
être annulée au moyen de la commande CANCEL STRUCTURE).
• en tant que vue courante. Dans ce cas, l'utilisateur doit sélectionner la structure au
moyen d'une commande SELECT au niveau IQS (C:). La structure est alors
considérée comme un schéma séquentiel monoarticle et, en tant que tel, peut servir
de base à une vue.
Remarque :
47 F2 80UR Rev02
Ce deuxième type d'utilisation présente deux avantages :
contrairement à un schéma, une structure n'a pas à être décrite
en langage DDL, ni à être compilée par MNDD et COMPILE
SCHEMA.
9-3
IQS-V4 Guide de l'administrateur
9.2
DEFINITION D'UNE STRUCTURE
Les quatre méthodes de définition d'une structure au moyen de commandes IQS sont
présentées ci-dessous.
9.2.1
9-4
Définition manuelle d'une structure
Action
L'utilisateur doit émettre une commande DEFINE
STRUCTURE (DFST) au niveau IQS (C:) ou au niveau vue
(V:) en donnant le nom de la structure à définir. Il est
conseillé d'inclure dans ce nom le préfixe ST- ou le suffixe
-STR.
"structure privacy"
Droits d'accès de la structure. A noter qu'ils ne s'appliquent
que si la structure est sélectionnée comme vue courante. Si
elle est utilisée pour décrire un fichier (commande USE
STRUCTURE ... ON ... puis commande FILE), les droits
d'accès
au
fichier
sont
INSERT/DELETE
(insertion/suppression). FACULTATIF.
"structure description"
Description de la structure. Texte de 60 caractères
maximum qui sera visualisé à l'émission d'une commande
DISPLAY STRUCTURE ou PRINT STRUCTURE.
FACULTATIF.
"area name"
Nom de l'aire contenant l'article du fichier décrit par la
structure. La valeur implicite est WORK. Il est conseillé de
fournir un nom car WORK est également le nom implicite
des
fichiers
d'extraction.
FACULTATIF
MAIS
RECOMMANDE.
"record name"
Nom de l'article du fichier décrit par
(30 caractères maximum). OBLIGATOIRE.
"item names"
Noms des zones composant l'article, séparés par une
virgule. Chaque nom fourni est ensuite visualisé (ITEM
NAME) suivi de guidages demandant le type et la longueur
(avec, éventuellement, le nombre de chiffres après la
virgule) de la zone. Un nom minimum, 999 noms maximum.
OBLIGATOIRE.
la
structure
47 F2 80UR Rev02
Structures
"item type"
Type de la zone. Les valeurs admises sont les suivantes :
DEC : décimal (implicitement UPS, c'est-à-dire éclaté signé)
CHAR : caractère
BIN : binaire
Pour le type décimal, il est possible de préciser :
UNPACKED UNSIGNED (UPK) pour du décimal éclaté non
signé et UNPACKED SIGNED (UPS) pour du décimal éclaté
signé
PACKED UNSIGNED (PK2) pour du décimal condensé non
signé et PACKED SIGNED (PKS) pour du décimal
condensé signé.
Voir "Remarques". OBLIGATOIRE pour chaque zone
spécifiée dans la liste.
"item length"
Longueur de la zone. Pour les zones de type binaire, la
longueur doit être 15 ou 31. Pour les zones de type décimal,
il est possible de spécifier le nombre de chiffres après la
virgule. OBLIGATOIRE pour chaque zone spécifiée dans la
liste.
Résultat
Le guidage du Processeur de structures (R:) est visualisé. Il
est alors possible de modifier la structure, ou de la
sauvegarder au moyen de la sous-commande SAVE
STRUCTURE (SS).
Remarques :
47 F2 80UR Rev02
1.
Les noms de zones, le nom d'aire et le nom d'article doivent être
uniques.
2.
Une zone déclarée avec UNSIGNED PACKED est générée avec
le type PK2. Si le type doit être PAK, il faut définir une grille avec
une zone COMP-3 et définir la structure à partir de cette grille. Il
est également possible de définir la structure directement à partir
d'un article du schéma contenant une zone de type PAK.
9-5
IQS-V4 Guide de l'administrateur
Exemple : Définition manuelle d'une structure
Ici, la structure MY-STR est définie pas à pas, puis sauvegardée, et, après sortie du
Processeur de structures, listée.
C: DFST MY-STR
structure privacy (0 RETRIEVAL 1 UPDATE 2 INSERT/DELETE) (0): 2
structure description : Définition structure
area name (WORK) : MY-AREA
+ record name : MY-REC
+ item names : MY-CUS-NAME, MY-CUS-CODE, MY-CUS-TOWN -: MY-CUS-ORDER, MY-CUS-DATE
ITEM NAME : MY-CUS-NAME
+ item type : CHAR
+ item length : 15
ITEM NAME : MY-CUS-CODE
+ item type : CHAR
+ item length : 6
ITEM NAME : MY-CUS-TOWN
+ item type : CHAR
+ item length : 15
ITEM NAME : MY-CUS-ORDER
+ item type : CHAR
+ item length : 7
ITEM NAME : MY-CUS-DATE
+ item type : CHAR
+ item length : 6
R: SS
R: /
C: LSST MY-STR
DDLIB1
-NAME-----------------CREATED------------UPDATED--------NBLKSMY-STR
C:
9.2.2
89/02/13 16:19
89/02/13 16:19
13
Définition d'une structure à partir d'un article de la vue courante
Action
L'utilisateur doit émettre une commande DEFINE
STRUCTURE ... AS RECORD au niveau vue (V:) et donner
le nom de la structure et, si la vue comporte plusieurs
articles, le nom de l'article à utiliser comme modèle.
Résultat
La structure est sauvegardée automatiquement dans
DDLIB1 et le guidage V: est de nouveau visualisé.
Exemple : Définition de la structure NEW-STR à partir de l'article CUSTOMERS
C:
V:
V:
SELECT MY-CUSTOMERS
DFST NEW-STR AS RECORD CUSTOMERS
(la structure est sauvegardée automatiquement)
9-6
47 F2 80UR Rev02
Structures
9.2.3
Définition d'une structure à partir d'une ou plusieurs grilles
Action
L'utilisateur doit émettre une commande DEFINE
STRUCTURE ... AS FORM au niveau IQS (C:) ou au niveau
vue (V:) et spécifier le nom de la structure et le nom d'une
ou plusieurs grilles. Les zones des grilles sont concaténées
pour constituer la structure. A noter que si les grilles ont été
définies avec des noms de zones implicites, ce sont ces
noms qui seront utilisés pour la structure ; ils pourront être
modifiés ultérieurement en émettant une commande
UPDATE STRUCTURE suivie d'une sous-commande USD.
Toutefois, il est préférable d'attribuer dès le départ des
noms appropriés aux zones de la grille.
Les grilles spécifiées doivent exister dans les bibliothèques
affectées à #BLIB, #BINLIB1, #BINLIB2 ou #BINLIB3.
Résultat
La structure est sauvegardée automatiquement dans
DDLIB1 et le guidage C: ou V: est de nouveau visualisé.
Exemple : Définition de la structure GH-FM-STR à partir de grilles
C: DFST GH-FM-STR AS FORM GH-FM, CUS-FM
C: LSST GH-FM*
DDLIB1
-NAME-----------------CREATED------------UPDATED--------NBLKSGH-FM-STR
C:
9.2.4
89/02/20 11:12
89/02/20 11:12
13
Définition implicite d'une structure
Une structure IQS peut être générée implicitement comme suit :
• en exécutant une commande EXTRACT, WRITE, COPY, SORT ou MERGE puis en
sauvegardant la structure implicite obtenue au moyen de la commande SAVE
STRUCTURE (SVST),
• en exécutant une requête qui crée dynamiquement une structure pour un fichier et en
sauvegardant cette structure au moyen de la commande SAVE STRUCTURE
(SVST).
47 F2 80UR Rev02
9-7
IQS-V4 Guide de l'administrateur
Exemple : Génération d'une structure implicite via la commande EXTRACT
Utilisation de EXTRACT pour enregistrer des données dans un fichier de travail et
générer une structure implicite, sauvegarde de cette structure puis association ultérieure
de cette dernière au fichier de travail.
C:
C:
V:
V:
V:
F:
R:
R:
R:
F:
F:
ASSIGN MY-FILE
SL MY-CUSTOMERS
OPEN
RT CU-NAME,CU-CODE,CU-CITY FROM CUSTOMERS
XT FROM CUSTOMERS,ORDERS TO MY-FILE
20 records extracted
RV RETRIEVAL
F
1
CU-NAME : JIM ROACH
CU-CODE : 12890G
CU-CITY : GLASGOW
ORDERS
ORD-CODE : 2958310
ORD-DATE : 880302
N
2
CU-NAME : JAMES TAYLOR
CU-CODE : 29883M
CU-CITY : MANCHESTER
ORDERS
ORD-CODE : 2310210
ORD-DATE : 880204
/
SVST MY-STR
/
V:
V:
F:
R:
USST MY-STR ON MY-FILE
FILE MY-FILE
RV
F
MY-REC 1
MY-CUS-NAME : JIM ROACH
MY-CUS-CODE : 12890G
MY-CUS-TOWN : GLASGOW
MY-CUS-ORDER : 2958310
MY-CUS-DATE : 880302
R: N
MY-REC 2
MY-CUS-NAME : JAMES TAYLOR
MY-CUS-CODE : 29883M
MY-CUS-TOWN : MANCHESTER
MY-CUS-ORDER : 2310210
MY-CUS-DATE : 880204
R: /
F:
9-8
47 F2 80UR Rev02
Structures
Exemple : Génération d'une structure implicite via une requête
Utilisation d'une requête pour rechercher certaines occurrences et les placer dans un
fichier de travail avec génération d'une structure pour ce fichier à partir d'une structure
existante, au moyen de DEFINE. La structure obtenue peut être sauvegardée et utilisée.
V: ^,$L
10 :
20 :
30 :
40 :
V: GO
V: FILE
F: RV
R: F
1
DEFINE B-STR IDEM MY-STR
RETRIEVE CUSTOMERS, ORDERS
WRITE CU-NAME,CU-CODE,CU-CITY,ORD-CODE,ORD-DATE TO WORK
END
CU-NAME : JIM ROACH
CU-CODE : 12890G
CU-CITY : GLASGOW
ORD-CODE : 2958310
ORD-DATE : 880302
R: /
F: SVST B-STR
F:
Tableau 9-1. Niveaux d'utilisation de DEFINE STRUCTURE
Commande
D E FIN E S T R U C T U R E
AS RECORD
Niveau C:
Non utilisable
Niveau V:
C réation et sauvegarde
dynam iques de la structure.
L'article doit provenir de
la vue courante.
D E F IN E S T R U C TU R E
(définition m anuelle)
A p p e l d u p ro ce sse u r d e stru ctu re s p o u r cré e r la
stru ctu re p a s à p a s. U n e sa u ve g a rd e e xp licite , a u
m o ye n d e la so u s-co m m a n d e S A V E -S T R U C T U R E
(S S ), e st n é ce ssa ire .
D E F IN E S T R U C TU R E
AS FO RM
C ré atio n e t sa u ve ga rd e dyn a m iq u e s d e la stru cture
(d an s D D L IB 1 ) à p a rtir d 'u n e o u p lu sie u rs g rille s se
trou va n t da n s # B L IB , # B IN L IB 1 , # B IN L IB 2 o u
# B IN LIB 3 .
47 F2 80UR Rev02
9-9
IQS-V4 Guide de l'administrateur
9.3
MISE A JOUR D'UNE STRUCTURE
La commande UPDATE STRUCTURE permet de :
• mettre à jour une structure existante,
• créer une nouvelle structure à partir d'une structure existante.
Après appel du processeur de structures au moyen de UPDATE STRUCTURE, il est
possible :
• d'utiliser la sous-commande UPDATE STRUCTURE DEFINITION pour modifier les
droits d'accès de la structure, sa description, le nom d'aire, le nom d'article ou la liste
des zones (par adjonction, suppression ou modification de zones). Le type et la
longueur des zones ajoutées ou modifiées doivent être spécifiés,
• d'utiliser la sous-commande UPDATE ITEM pour modifier le type, la longueur, les
droits d'accès et la description d'une zone donnée.
Pour qu'une structure puisse être mise à jour, toutes ses zones doivent être des
scalaires (zones élémentaires). Par conséquent, une structure contenant des zones de
différents niveaux ne peut pas être mise à jour. Cette règle s'applique, par exemple, aux
structures ayant été définies directement à partir d'un article de vue standard : de telles
structures comportent toujours un niveau 02 représentant le nom d'article, les zones
d'articles étant subordonnées à ce niveau.
De même, une structure ayant été définie avec des zones faisant partie de groupes, de
structures ou de vecteurs ne peut pas être mise à jour au moyen de UPDATE
STRUCTURE. Pour la définition des termes "groupe", "structure" et "vecteur", se
reporter à la description de l'instruction DEFINE dans le Manuel de référence IQS-V4,
Volume 2.
9.3.1
9-10
Mise à jour des attributs d'une structure
Action
L'utilisateur doit émettre une commande UPDATE
STRUCTURE (UPST) avec le nom de la structure, pour
appeler le Processeur de structures, puis, au niveau R:,
émettre
une
commande
UPDATE
STRUCTURE
DEFINITION (UPST).
"structure privacy"
Nouveaux droits d'accès de la structure. Rappel : ces droits
d'accès ne s'appliquent que si la structure est sélectionnée
comme vue courante en tant que schéma monoarticle.
FACULTATIF.
"structure description"
Nouvelle description de la structure. FACULTATIF.
"nom d'aire"
Nouveau nom d'aire. FACULTATIF MAIS NECESSAIRE SI
LA STRUCTURE DOIT MAINTENANT ETRE UTILISEE EN
TANT QUE SCHEMA. Voir chapitre 10.
"record name"
Nouveau nom d'article. FACULTATIF.
47 F2 80UR Rev02
Structures
9.3.2
Modification de la liste des zones
Action
L'utilisateur doit procéder comme indiqué ci-dessus pour la
mise à jour des attributs de la structure. Lorsque le guidage
"+ item names:" apparaît, il doit fournir une nouvelle liste
(voir ci-dessous).
"item names", "item type", "item length"
Pour chaque nouvelle zone spécifiée dans la liste (item
names) apparaissent des guidages demandant leur type et
leur longueur (avec, pour les zones décimales, le nombre
de chiffres après la virgule). Si des zones existantes sont
conservées dans la liste, elles gardent leur type et leur
longueur (qui pourront être modifiés au moyen de UPDATE
ITEM, voir plus loin). Toutes les zones de la structure dont
le nom n'est pas repris dans la nouvelle liste sont exclues
de la structure modifiée (si elle est sauvegardée).
FACULTATIF.
Si rien n'est introduit à la suite du guidage "item names", la
précédente liste des zones est reprise dans sa totalité.
Résultat
La structure modifiée doit être sauvegardée au moyen de la
sous-commande SAVE STRUCTURE (SS).
Exemple : Mise à jour de la structure MY-STR
La structure MY-STR comporte 5 zones. Elle est modifiée de façon à ne plus contenir
qu'une seule zone dont le type et la longueur sont définis. Ses droits d'accès sont
également modifiés : ils deviennent RETRIEVAL (lecture).
C: UPST MY-STR
R: USD
structure privacy (0 RETRIEVAL 1 UPDATE 2 INSERT/DELETE) (2): 0
structure description (Définition structure) : Mise à jour
area name (MY-AREA) :
+ record name (MY-REC) : MY-NEW-REC
+ item names (MY-CUS-NAME, MY-CUS-CODE, MY-CUS-TOWN, MY-CUSORDER, MY-CUS-DATE) : MY-DEC-ITEM
ITEM NAME : MY-DEC-ITEM
+ item type : PACKED DECIMAL
+ item length : 10,2
R:
Exemple : Création d'une nouvelle structure à partir d'une structure existante
V:
UPST MY-STR NEW TEST-STR
47 F2 80UR Rev02
9-11
IQS-V4 Guide de l'administrateur
9.3.3
Mise à jour d'une zone de structure
La sous-commande UPDATE ITEM permet de modifier le type, la longueur et, dans le
cas d'une zone décimale, le nombre de chiffres après la virgule, d'une zone de structure.
Action
L'utilisateur doit émettre une sous-commande UPDATE
ITEM (UI) au niveau R: en spécifiant le nom de la zone à
modifier.
"item type"
Nouveau type de la zone. FACULTATIF.
"item length"
Nouvelle longueur de la zone, avec éventuellement, pour
une zone décimale, le nombre de chiffres après la virgule.
FACULTATIF.
"item privacy"
Nouveaux droits d'accès de la zone. Ils doivent être
compatibles avec ceux définis au niveau supérieur (en
l'occurrence avec ceux de la structure). FACULTATIF.
"item description"
Nouvelle description de la zone. FACULTATIF.
Résultat
Les modifications effectuées sont conservées en mémoire
jusqu'à ce que l'utilisateur sauvegarde la structure au moyen
de la sous-commande SAVE STRUCTURE (SS).
Exemple : Modification du type d'une zone et vérification
C: UPST MY-STR
R: UI MY-CUS-DATE
item type (CHARACTER) : DECIMAL
item length (6) :
item privacy (0 RETRIEVAL 1 UPDATE) (1) :
item description : Donnée décimale de longueur 6
R: DS
P: DI MY-CUS-DATE
TYPE : UNPACKED SIGNED
LENGTH : 6,0
PRIVACY (0 RETRIEVAL 1 UPDATE) : 1
DESCRIPTION : Donnée décimale de longueur 6
P: /
R: UI MY-CUS-DATE
item type (UNPACKED SIGNED) : UNPACKED UNSIGNED
item length (6, 0) : ;
R: SS
9-12
47 F2 80UR Rev02
Structures
Tableau 9-2. Niveaux d'utilisation de UPDATE STRUCTURE
Commande
Niveau C: et V:
UPDATE STRUCTURE
A p pe l d u p roc esse u r d e structure s po u r m o d ifier un e
stru cture . U n e sa u ve ga rd e e xplicite , a u m o yen de la
so u s-com m an d e S A V E S T R U C T U R E (S S ), e st
n éc essa ire p ou r re m p lac er l'an cie nn e ve rsion d e la
stru cture p a r la n ou ve lle .
UPDATE STRUCTURE...
NEW...
A p p el du p ro ce sse u r d e stru ctu re s p o u r cré e r u n e
n o uve lle stru ctu re à p artir d 'u n e stru ctu re e xis ta nte .
U ne sa uve g a rd e e xp licite d e la n o u ve lle stru ctu re ,
a u m o yen de la sou s-c om m an d e S A V E S T R U C T U R E (S S ),
e st né ce ssa ire . La stru ctu re e xistan te n'es t p a s a ffe ctée .
Remarques :
47 F2 80UR Rev02
1.
Les méthodes ci-dessus peuvent être employées pour mettre à
jour des structures, qu'elles aient été définies à partir d'articles ou
de grilles ou non.
2.
Une structure ayant été définie à partir d'un article peut être mise
à jour même si cet article n'est pas l'article courant.
3.
Une structure ayant été définie à partir de grilles peut être mise à
jour même si ces grilles ne sont pas disponibles.
9-13
IQS-V4 Guide de l'administrateur
9.4
9.4.1
VISUALISATION D'INFORMATIONS SUR LES STRUCTURES
Sous-menu DISPLAY STRUCTURE
Une fois à l'intérieur du Processeur de structures, il est possible de visualiser des
informations sur les structures au moyen des sous-commandes qui figurent dans le
sous-menu DISPLAY STRUCTURE.
Action
L'utilisateur doit émettre la sous-commande DISPLAY
STRUCTURE (DS) au niveau V:.
Résultat
La liste des sous-commandes de DISPLAY STRUCTURE
peut être obtenue au niveau P:.
Exemple : Appel du sous-menu DISPLAY STRUCTURE
V: DSST MY-STR
P: ?
DISPLAY
DISPLAY
DISPLAY
DISPLAY
QUIT
9.4.2
ITEM
ITEMS
STRUCTURE ATTRIBUTE
ACCESS RIGHT
DISPLAY STRUCTURE
DI Display the attributes of an item
DRI Display the items of the structure
DSA Display the attributes of the structure
DACR Display access rights
Q Exit from IQS
Visualisation des attributs d'une structure
Action
L'utilisateur doit émettre une sous-commande DISPLAY
STRUCTURE ATTRIBUTES (DSA) au niveau P:.
Résultat
Les droits d'accès, la description, le nom d'aire et le nom
d'article de la structure sont visualisés.
Exemple : Visualisation des attributs d'une structure
P: DSA
PRIVACY (0 RETRIEVAL 1 UPDATE 2 INSERT/DELETE) : 2
DESCRIPTION : Définition structure
AREA NAME : MY-AREA
RECORD NAME : MY-REC
P:
9-14
47 F2 80UR Rev02
Structures
9.4.3
Visualisation de toutes les zones d'une structure
Action
L'utilisateur doit émettre une sous-commande DISPLAY
ITEMS (DRI) au niveau P:.
Résultat
Les zones de la structure sont visualisées sous forme d'un
tableau dont les colonnes sont les suivantes :
ORD
Position relative de la zone.
LEV
Niveau de la zone. Rappel : une structure contenant des
zones de différents niveaux ne peut pas être mise à jour.
ITEM NAME
Nom de la zone.
TYP
Type de la zone. Ce peut être :
CHR
BIN
PAK
PKS
PK2
UPK
UPS
(CHARACTER)
(BINARY)
(PACKED UNSIGNED)
(PACKED SIGNED)
(PACKED-2 UNSIGNED)
(UNPACKED UNSIGNED)
(UNPACKED SIGNED)
LENGTH
Longueur (et nombre de chiffres après la virgule) de la
zone.
PRV
Droits d'accès de la zone : R=RETRIEVAL (lecture),
U=UPDATE (modification)
OCC
Toujours 1.
ADD
Sans objet.
47 F2 80UR Rev02
9-15
IQS-V4 Guide de l'administrateur
Exemples :
P : DRI
ORD
LE V
1
2
3
4
5
2
2
2
2
2
ITE M N A M E
T Y P E LE N G TH PR V O C C A D D
M Y-C U S-N AM E
M Y-C U S-C O D E
M Y-C U S-TO W N
M Y-C U S-O R D E R
M Y-C U S-D ATE
CHR
CHR
CHR
CHR
CHR
15
6
15
7
6
U
U
U
U
U
1
1
1
1
1
V : D SS T IT-STR
P : DRI
9.4.4
ORD
LEV
ITE M N AM E
TYP E LE N G TH PR V O C C A D D
1
2
3
4
5
2
2
2
2
2
IT-C O D E
IT-N A M E
IT-Q TY
IT-P R IC E
IT-A M O U N T
CHR
CHR
U PK
U PK
U PS
4
20
5,0
6,2
1 1,2
U
U
U
U
U
1
1
1
1
1
Visualisation d'une zone de structure
Action
L'utilisateur doit émettre une sous-commande DISPLAY
ITEM (DI) au niveau P:.
Résultat
Le type, la longueur et les droits d'accès de la zone sont
visualisés.
Exemple :
P: DI IT-AMOUNT
TYPE : UNPACKED SIGNED
LENGTH : 11,2
PRIVACY (0 RETRIEVAL 1 UPDATE) : 1
P: DI IT-QTY
TYPE : UNPACKED UNSIGNED
LENGTH : 5,0
PRIVACY (0 RETRIEVAL 1 UPDATE) : 1
9-16
47 F2 80UR Rev02
Structures
9.4.5
Visualisation des droits d'accès à la structure
Action
L'utilisateur doit émettre une sous-commande DISPLAY
ACCESS RIGHT (DACR) au niveau P:.
Résultat
La liste des noms de projets ayant le droit d'accéder à la
structure est visualisée.
Exemple : Visualisation des droits d'accès à la structure
L'utilisateur HOARE accorde au projet SD3 le droit d'accéder à la structure ST-1 ; aucun
droit d'accès n'est défini pour la structure ST-2.
C: GRANT ST-1 SD3
C: UPST ST-2
R: DS
P: DACR
* No access right defined
P: /
R: /
C: UPST ST-1
R: DS
P: DACR
ACCESS RIGHTS OF STRUCTURE :
SD3
*
SD3
HOARE
SYSADMIN
*
P: /
R: /
C: DSST ST-1
P: DACR
ACCESS RIGHTS OF STRUCTURE :
etc......etc........
47 F2 80UR Rev02
ST-1 :
OW
SY
ST-1 :
9-17
IQS-V4 Guide de l'administrateur
9-18
47 F2 80UR Rev02
10. Fichiers IQS
Il existe plusieurs types de fichiers IQS.
Tout d'abord, il convient de distinguer les fichiers pour lesquels un schéma IQS a été
défini, dits "fichiers base de données", et les fichiers pour lesquels aucun schéma IQS
n'existe, dits "fichiers classiques".
Dans cette deuxième catégorie, il est possible de distinguer les "fichiers de saisie", qui
sont des fichiers temporaires ou permanents associés à une structure de fichier.
Les fichiers de saisie permettent à l'utilisateur d'enregistrer ses propres données, qui
peuvent être entièrement indépendantes de la base de données de production, ou bien
qui peuvent être utilisées ou fusionnées avec les données de la base d'une façon ou de
l'autre.
Les fichiers de saisie peuvent être intégrés à une vue standard au moyen de leur
structure. Si cette structure est utilisée en tant que schéma monoarticle, l'accès aux
données se fait par l'intermédiaire de l'aire associée à la structure du fichier.
La façon dont un fichier est utilisé dépend de la façon dont il est affecté (voir plus loin).
Les différents types de fichiers IQS sont présentés ci-dessous.
10.1
FICHIERS BASE DE DONNEES
Les différents types de fichiers pour lesquels des schémas peuvent être définis sont les
suivants :
•
•
•
•
UFAS séquentiel indexé,
UFAS séquentiel,
UFAS relatif,
IDS/II.
Ces fichiers sont des fichiers permanents qui constituent des "aires" IQS. Chaque aire
peut correspondre à plusieurs fichiers mais un fichier ne peut pas correspondre à
plusieurs aires (sauf sous IDS/II). Pour avoir accès aux données de la base, IQS ouvre
et ferme les aires la constituant.
Un même schéma ne peut pas décrire des données provenant à la fois de fichiers UFAS
et de fichiers IDS/II.
Les données IQS peuvent également être enregistrées dans des sous-fichiers de
bibliothèques origine SL (ces dernières étant des fichiers cloisonnés-chaînés).
47 F2 80UR Rev02
10-1
IQS-V4 Guide de l'administrateur
10.2
FICHIERS CLASSIQUES
Un fichier classique peut être :
• un fichier de travail,
• un fichier d'impression,
• un fichier de saisie.
Le fichier de travail standard d'IQS s'appelle WORK. Il est utilisé implicitement par les
commandes et instructions générant ou traitant des fichiers de travail. A la fin de la
session IQS au cours de laquelle il a été créé, le contenu du fichier WORK est perdu, à
moins qu'il n'ait été copié dans un fichier permanent. Le contenu du fichier WORK est
également perdu en cas de lancement d'un autre process IQS qui crée un fichier appelé
WORK.
D'autres fichiers de travail peuvent être affectés dynamiquement au cours de la session
IQS au fur et à mesure des besoins. Leur contenu est également perdu en fin de
session ou de process (voir plus haut).
IQS associe une structure implicite ou explicite à chaque fichier de travail.
Les fichiers d'impression sont utilisés pour enregistrer les sorties de la session en vue
d'une impression ultérieure.
Les fichiers de saisie peuvent être employés par les utilisateurs pour se constituer une
"base de données personnelle" (voir à ce sujet les guides utilisateur IQS) qu'ils peuvent
garnir et modifier à leur gré. Les fichiers de saisie sont indépendants de la base de
données (les opérations sur ces fichiers n'affectent pas le contenu de la base) mais ils
peuvent être créés à partir des structures de la base. Ainsi, plusieurs utilisateurs peuvent
enregistrer des données dans plusieurs fichiers de saisie, puis le contenu de ces
derniers peut être fusionné, trié et préparé en vue de l'édition d'un rapport. Il peut
également être combiné à des données de la base IQS en définissant des vues dérivées
à la fois d'un ou plusieurs des fichiers de saisie (via leur structure) et des schémas. Ce
cas est illustré par un exemple plus loin dans ce chapitre.
L'administrateur IQS définit, affecte et supprime les fichiers de saisie.
10-2
47 F2 80UR Rev02
Fichiers IQS
10.3
10.3.1
AFFECTATION DES FICHIERS IQS
Noms de fichiers
Sous IQS, il existe trois types de noms de fichiers :
• nom de fichier externe (nfe) : il s'agit du nom d'un fichier réel (physique) auquel de
l'espace sur disque a été affecté,
• nom de fichier interne (nfi) : il s'agit du nom utilisé par IQS pour désigner un fichier,
ce nom étant mis en correspondance avec un nom de fichier externe. La longueur
maximum d'un nfi est de 8 caractères. Si le fichier doit être utilisé sous IQS/TDS, le nfi
ne doit contenir ni tiret (-), ni caractère souligné (_),
• nom de fichier IQS : il s'agit du nom utilisé au cours d'une session IQS par des
instructions du langage de requêtes et des commandes IQS.
Ces trois types de noms sont associés les uns aux autres afin qu'à la fois IQS et
GCOS 7 sachent à quels fichiers il est fait référence. Les associations ont lieu à deux
niveaux :
GCL
Le groupe de paramètres FILEn (ou son équivalent AREAn)
comporte un nom de fichier interne. Lorsque ce dernier est
utilisé par IQS, GCOS 7 le met en rapport avec le nom de
fichier externe du groupe de paramètres ASGn
correspondant.
IQS
La commande IQS ASSIGN et l'instruction du langage de
requêtes ASSIGN associent un nom de fichier IQS (valide
uniquement pour la durée de la session) à un nom de fichier
interne ou externe.
En principe, les noms de fichiers IQS sont associés à des noms de fichiers internes au
cours de la session IQS et les noms de fichiers internes sont associés à des noms de
fichiers externes dans la procédure GCL de lancement d'IQS.
Si nécessaire, l'utilisateur peut se reporter au Guide de l'utilisateur expert.
47 F2 80UR Rev02
10-3
IQS-V4 Guide de l'administrateur
10.3.2
Affectation de noms de fichiers externes
Elle s'effectue au moyen des groupes de paramètres suivants du GCL :
FILEn=<nfi>
ASGn=<nfe>
Pour plus de détails, se reporter au Manuel de référence de l'utilisateur IOF.
La syntaxe complète des nfe peut être obtenue en consultant les textes en ligne
TUTORIAL. Pour ce faire, introduire $$TEACH? au niveau S: ($$TEACH au niveau C:
sous IQS), puis choisir l'un des textes CATALOGED_FILES, UNCATALOGED_FILES
ou TEMPORARY_FILES.
L'affectation des nfe, si elle n'a pas été faite dans la procédure GCL, peut également
être effectuée en cours de session IQS.
Dans ce cas, l'utilisateur doit employer la commande ASSIGN avec le format suivant :
C: ASSIGN <nom-fichier-IQS> TO FILE <nfe>
ou l'instruction du langage de requêtes ASSIGN avec le format suivant :
ASSIGN <nom-fichier-IQS> TO <nfe>
Lorsqu'un nom de fichier IQS est affecté directement à un nom de fichier externe, un
nom de fichier interne est créé dynamiquement. Il est constitué des huit premiers
caractères du nom de fichier IQS. Si le nfi obtenu figure déjà dans un groupe de
paramètres FILEn du GCL de lancement de la session, la commande ou instruction
ASSIGN est rejetée.
10.3.3
Affectation de noms de fichiers internes
L'affectation de noms de fichiers internes à des noms de fichiers IQS s'effectue en cours
de session, au moyen de la commande ASSIGN avec le format suivant :
C: ASSIGN <nom-fichier-IQS> TO <nfi>
ou au moyen de l'instruction du langage de requêtes ASSIGN avec le format suivant :
ASSIGN <nom-fichier-IQS> TO IFN <nfi>
10.3.4
Relations entre les différents noms
Lorsqu'une commande ou instruction ASSIGN est émise en cours de session IQS pour
associer un nom de fichier IQS à un nfi pour lequel existe un groupe de paramètres
FILEn dans le GCL, ce nom de fichier IQS donne accès au fichier réel portant le nom de
fichier externe associé au nfi.
10-4
47 F2 80UR Rev02
Fichiers IQS
Exemple :
Dans le GCL figurent les deux groupes de paramètres :
FILE1=MYFILE
ASG1=.MYFILE.IQS
Au cours de la session IQS est émise la commande :
C: ASSIGN MY TO MYFILE
Ici, le nfi est MYFILE, le nfe est .MYFILE.IQS et le nom de fichier IQS est MY. La figure
10-1 illustre les associations entre ces trois noms :
nom de fichier IQ S
(via A S S IG N en cours de session)
nom de fichier interne (nfi)
(via A S G n dans le G C L)
nom de fichier externe (nfe)
Figure 10-1. Relations entre nfe, nfi et nom de fichier IQS
Remarque :
10.3.5
L'utilisateur travaillant avec les commandes IQS n'a pas besoin
d'émettre une commande ASSIGN si le nom de fichier IQS qu'il
veut employer est identique à un nfi existant car dans ce cas, IQS
les associe automatiquement. Par contre, si l'utilisateur travaille
avec le langage de requêtes, il devra émettre la commande
ASSIGN.
Remarque complémentaire sur les noms de fichiers IQS
L'utilisateur doit veiller à effectuer toutes les affectations nécessaires pour la session. En
effet, s'il emploie un nom de fichier IQS qu'il n'a pas affecté à un nfi, IQS considèrera
que ce nom de fichier IQS désigne un fichier temporaire. Par conséquent, les opérations
de lecture et d'écriture auront lieu dans le fichier temporaire et non dans un fichier
permanent. Cette situation n'est pas signalée par IQS car l'utilisation d'un fichier
temporaire peut être volontaire, et non pas résulter d'une erreur de la part de l'utilisateur.
47 F2 80UR Rev02
10-5
IQS-V4 Guide de l'administrateur
10.4
FICHIERS D'IMPRESSION
Pour des exemples sur l'affectation et l'utilisation des fichiers d'impression, se reporter
au chapitre 26 du Guide du programmeur IQS-V4.
Le mode d'exploitation des fichiers d'impression est le mode adjonction (en fin de
fichier).
10.4.1
Utilisation de sous-fichiers
L'utilisateur peut employer des sous-fichiers de bibliothèque origine pour enregistrer les
données à imprimer afin de pouvoir exécuter l'impression ultérieurement au moyen de
DPRINT. Pour ce faire, il doit spécifier dans la procédure GCL d'appel d'IQS :
FILEn=PRINTER ASGn=<nom-bib-sl>..<nom-sous-fichier>
Ainsi, les sorties des commandes PRINT de la session seront stockées dans le
sous-fichier.
10.4.2
Fichiers d'impression en traitement par lots
Lorsque l'utilisateur souhaite enregistrer les résultats de la session dans un fichier de
sortie privé, il doit faire figurer le paramètre PRTFILE dans la procédure GCL traitement
par lots :
PRTFILE=<nom-bib-sl>..<nom-sous-fichier>
ou, spécifier sous IQS la commande :
C:
ASSIGN PRT <nom-fichier-impression> TO ...
Pendant la session IQS en traitement par lots, le paramètre PRTFILE implicite reçoit :
• les guidages et textes des commandes,
• les messages d'erreur,
• le
résultat
des
instructions
DISPLAY,
SCHEMA/STRUCTURE... et LIST...,
• les sorties des fichiers d'impression non affectés.
10-6
des
commandes
PRINT
47 F2 80UR Rev02
Fichiers IQS
10.5
10.5.1
FICHIERS DE SAISIE
Introduction
Les fichiers de saisie permettent à l'utilisateur d'enregistrer des données dans ses
propres fichiers UFAS séquentiel et de les manipuler à son gré. Il s'agit de fichiers
"plats" contenant un seul article.
Les fichiers de saisie peuvent contenir :
• des données propres à l'activité de l'utilisateur,
• des données utilisateur combinées avec des données d'une base IQS (généralement
par l'intermédiaire d'une vue standard ou par fusion entre des données saisies et des
données provenant de fichiers d'extraction).
10.5.2
Sécurité
Les fichiers de saisie contribuent à la sécurité de la base. En effet :
• la mise à jour directe de la base de données est rarement souhaitable,
• les données de l'utilisateur ne sont pas forcément toutes en rapport avec la base de
données IQS,
• en intégrant les fichiers de saisie à des vues standard, l'administrateur peut les
protéger au moyen des contrôles d'accès offerts par le Processeur de vues.
10.5.3
Caractéristiques implicites
La commande DEFINE ENTRY propose trois options pour le statut du fichier à créer :
• permanent catalogué,
• permanent non catalogué,
• temporaire
L'organisation du fichier est implicitement séquentielle. Pour vérifier les caractéristiques
du fichier, utiliser la commande LIST_FILE au niveau S:.
47 F2 80UR Rev02
10-7
IQS-V4 Guide de l'administrateur
10.5.4
Possibilités offertes
L'administrateur IQS crée un fichier de saisie (lui réserve de la place) au moyen de la
commande DEFINE ENTRY. La structure qui lui est associée en constitue la description.
Si cette structure est modifiée (au moyen de UPDATE STRUCTURE), le fichier ne peut
plus être utilisé comme fichier de saisie ; un nouveau fichier doit être défini.
Le fichier peut être supprimé au moyen de DROP ENTRY.
L'utilisateur peut y introduire des données au moyen de INPUT. A l'émission de cette
commande, les grilles spécifiées dans DEFINE ENTRY, ou à défaut la grille standard
d'IQS, sont visualisées.
Les données saisies peuvent facilement être vérifiées (une seule fois) au moyen de
VERIFY.
Elles peuvent ensuite :
• être visualisées et éventuellement modifiées au moyen de REVIEW,
• faire l'objet de modifications globales au moyen de CHANGE,
• être utilisées pour générer des statistiques au moyen de STATISTICS,
• être supprimées en partie ou en totalité au moyen de CLEAR.
En outre :
• les fonctions de gestion des fichiers sont utilisables (après émission des commandes
USE STRUCTURE et FILE),
• les fonctions de gestion des vues sont utilisables (après émission des commandes
SELECT <nom-structure> et OPEN ou après sélection d'une vue standard contenant
des articles logiques dérivés de l'article du fichier de saisie).
La figure 10-2 représente le déroulement d'une session de saisie type.
C'est l'administrateur IQS qui est responsable de la création des fichiers de saisie et de
leur mise à la disposition des usagers. Ces derniers doivent connaître les fichiers qu'ils
utilisent sous des noms de fichiers internes faciles à retenir. Ils ne doivent pas avoir à
s'occuper de leur affectation à des noms de fichiers externes. C'est donc l'administrateur
qui doit effectuer toutes les affectations nécessaires afin que les usagers puissent se
contenter d'introduire ENTRY <nfi> pour accéder à leurs fichiers.
Les grilles et les structures associées aux fichiers de saisie doivent être créées et
gérées par le personnel informatique.
10-8
47 F2 80UR Rev02
Fichiers IQS
ACTIVITE
REMARQUE
C réation de grilles
utilisateur
(D F F M )
facultatif
C réation de
structures
(D F S T)
obligatoire si
aucune structure
n'existe déjà
RESPONSABLE
D é ve lo p p e u r
d 'a p p lica tio n s
ou
A d m in istra te u r
IQ S
C réation du
fichier de saisie
(D F D E )
-association à
une structure
(obligatoire)
réservation
de place via
un littéral fichier
A dm inistrateur
IQ S
-association à
des grilles
(facultatif)
LANCEMENT DE LA SAISIE
Sp écifica tio n du nfi
o u d u nfe d u fichier
(E N TR Y )
v érifier que le fichier
est c onnu d'IQ S
(D F D E /U P D E )
(A S S IG N )
To ut
T raitem ent
des données
u tilisa teu r
-s aisie (IN P U T )
a utorisé
-ex am e n (R E V IE W )
-v érification (V E R IF Y )
-s uppres sion (C LE A R )
U ltérieurem ent
- m odification du fichier
- utilisation du fichier avec
d'autres fonctions IQ S
une seule fois
Gestion des fichiers
P rocesseur de vue /
G estion des vues
Figure 10-2. Déroulement d'une session de saisie
47 F2 80UR Rev02
10-9
IQS-V4 Guide de l'administrateur
10.5.5
Exemple d'utilisation des fichiers de saisie
Pour une introduction pratique aux fichiers de saisie, se reporter au Guide de l'utilisateur
novice IQS-V4.
L'exemple ci-dessous a pour but de montrer comment créer des fichiers de saisie et les
intégrer à une vue standard.
L'exemple se décompose en 11 étapes :
1.
Définition d'une structure (ENTRY-ST) à associer au fichier et sauvegarde de cette
dernière.
2.
Définition d'un fichier de saisie catalogué (.FLENTRY) associé à la structure
ENTRY-ST. Le nom de l'article du fichier est ENTRY-REC.
3.
Introduction de plusieurs occurrences dans le fichier.
4.
Utilisation de REVIEW pour examiner le contenu du fichier.
5.
Modification de la procédure GCL d'appel d'IQS (UP-IQS) de façon à affecter un nfi
au nfe du fichier.
6.
Utilisation des fonctions de gestion des fichiers.
7.
Mise à jour de la structure ENTRY-ST par modification du nom d'aire afin qu'elle
puisse être utilisée comme schéma monoarticle et référencée par le nom d'aire (qui
jusqu'ici était le nom du fichier).
8.
Définition d'une nouvelle vue standard (V-PROMO) à partir du schéma
SCH-CUSTOMERS et de la structure ENTRY-ST, et sauvegarde de cette vue.
9.
Affectation de l'aire de la structure dynamiquement au moyen de ASSIGN ou
statiquement au moyen du GCL.
10. Ecriture d'une requête constituant l'application.
11. Exécution de la requête.
10-10
47 F2 80UR Rev02
Fichiers IQS
10.5.6
Objectif de l'exemple
Cet exemple a pour but de montrer les relations entre les fichiers de saisie et les vues.
L'application est créée pour les raisons suivantes :
• le responsable des ventes désire promouvoir certains produits en offrant des
réductions pendant une période donnée,
• de ce fait, il désire savoir quels sont les clients et commandes touchés par cette
promotion et veut donc obtenir une liste des produits faisant l'objet d'une réduction,
par client et par commande.
10.5.7
Réalisation
1.
Créer un fichier de saisie dont l'article comporte deux zones : l'une contenant un
code produit et l'autre le pourcentage de réduction pour ce produit.
2.
Créer une vue extrayant de la base de données des informations sur les clients, les
commandes et les produits et les associant aux données du fichier de saisie.
Afin d'obtenir un accès rapide, la vue doit être optimisée, c'est-à-dire que son
article racine doit être l'article du fichier de saisie puisque ce dernier est séquentiel.
Les informations sur les clients et les produits doivent également être réparties sur
deux articles de façon à pouvoir accéder aux articles ITEMS (produits) et
ORDER-LINES (lignes de commande) sans avoir à passer par les articles
CUSTOMERS (clients).
Il n'est pas nécessaire que la vue comporte un article ORDERS (commandes)
puisque les informations correspondantes sont disponibles par l'intermédiaire des
deux jointures entre CUSTOMERS et ORDER-LINES et entre ENTRY-REC et
ORDER-LINES.
La figure 10-3 plus loin dans ce chapitre montre comment la vue est dérivée de la
structure du fichier de saisie (ENTRY-ST) et du schéma de la base (SCHCUSTOMERS). Pour un diagramme de ce schéma, voir chapitre 8.
Remarque :
47 F2 80UR Rev02
Pour définir les attributs des zones, il suffit de définir une ou
plusieurs grilles, puis de créer une structure à partir de ces grilles,
les attributs des grilles étant repris dans la structure.
10-11
IQS-V4 Guide de l'administrateur
Etape 1 : Définition de la structure à associer au fichier
C: DFST ENTRY-ST
structure privacy (0 RETRIEVAL 1 UPDATE 2 INSERT/DELETE) (0): 1
structure description : DESCRIPTION DU FICHIER FL-ENTRY
area name (WORK) : FL-ENTRY
+ record name : ENTRY-REC
+ item names : ITEM-CODE,PERCENT
ITEM NAME : ITEM-CODE
+ item type : CHAR
+ item length : 4
ITEM NAME : PERCENT
+ item type : UNSIGNED UNPACKED DEC
+ item length : 4,2
R: SS
R: /
C:
Remarques :
1.
Le droit d'accès doit être UPDATE (modification).
2.
Le nom d'aire (area name) doit être le nom de fichier interne.
Etape 2 : Définition d'un fichier de saisie catalogué
C: DFDE FILE .FL-ENTRY:FSD104:MS/D500
+ structure name : ENTRY-ST
form list :
item separator (,) :
validation frequency (10) : 1
FILESTAT (0 CAT 1 UNCAT 2 TEMPRY) (0) :
Remarques :
10-12
1.
Le nom de volume et la classe d'appareils doivent être fournis ; en
leur absence, le fichier est implanté dans un volume résidant.
2.
IQS ne confirme pas la création du fichier. Si aucun message
n'est émis, c'est qu'elle est effectuée. Si nécessaire, utiliser la
commande GCL LIST_FILE au niveau S: pour vérifier les
caractéristiques du fichier.
3.
IQS attribue au fichier des caractéristiques implicites (voir plus
haut).
47 F2 80UR Rev02
Fichiers IQS
Etape 3 : Introduction de données dans le fichier
1/1
FL-ENTRY
INPUT
ITEM-CODE :
PERCENT :
1 INPUT
-> : 1
ENTRY-REC 1
1001
15.00
2 VALIDATE
Last registered record
Remarque :
3 INVALIDATE
0
Pour plus de détails, voir la commande INPUT dans le premier
volume du manuel de référence IQS-V4 (77UR).
Etape 4 : Utilisation de REVIEW pour examiner le contenu du fichier
Cette étape est facultative. Elle n'est pas illustrée ici. Se reporter à la description de la
commande REVIEW dans le Manuel de référence IQS-V4, Volume 1.
Etape 5 : Affectation du fichier au moyen de FILEn et ASGn
10
20
30
40
50
60
70
80
90
100
110
120
130
140
150
PROC UP-IQS PROMPT='Séquence de lancement IQS' LOCK=1;
IQS
SLLIB=.IQS.SLLIB-0 DDLIB=.IQS.DDLIB-0
BINLIB=.IQS.BINLIB-0
FILE1=BLIB ASG1=.IQS.BLIB-0
FILE2=A-CUST ASG2=(.IQS.CUSTOMERS,SHARE=MONITOR)
DEF2=(JOURNAL=BEFORE)
FILE3=A-ORDER ASG3=(.IQS.ORDERS,SHARE=MONITOR)
DEF3=(JOURNAL=BEFORE)
FILE4=A-ITEM ASG4=(.IQS.ITEMS,SHARE=MONITOR)
DEF4=(JOURNAL=BEFORE)
_______________________________________________
|FILE5=FL-ENTRY ASG5=(.FL-ENTRY,ACCESS=WRITE); |
|_______________________________________________|
LET #NOVICE
VALUE=1 ;
ENDPROC;
Remarques :
1.
La procédure de lancement d'IQS décrite ici s'appelle UP-IQS.
Chaque fois qu'elle est exécutée, le fichier de saisie est affecté.
L'utilisateur peut ainsi rajouter des groupes de paramètres FILEn
et ASGn pour d'autres fichiers.
2.
FILE5 spécifie le nfi du fichier ; ASG5 spécifie son nfe et le type
d'accès autorisé.
L'affectation du fichier aurait également pu être effectuée en cours de session IQS au
moyen de la commande :
C: ASSIGN FL-ENTRY TO FILE .FL-ENTRY
47 F2 80UR Rev02
10-13
IQS-V4 Guide de l'administrateur
Etape 6 : Utilisation du fichier de saisie en tant que fichier
Le fichier de saisie peut bien sûr être utilisé en tant que tel, en spécifiant son nfi dans
une commande ENTRY.
Exemple :
C: ENTRY FL-ENTRY
E:
Il peut également être utilisé en tant que fichier de travail avec les fonctions de gestion
des fichiers, après émission des commandes USE STRUCTURE et FILE.
A noter toutefois que lorsque des commandes EXTRACT, WRITE, SORT, COPY ou
MERGE sont utilisées pour un fichier de saisie, IQS cesse de considérer ce dernier
comme un fichier de saisie. Il reste utilisable au niveau fichier, la structure et l'aire qui lui
sont associées peuvent toujours être employées en tant que schéma monoarticle, mais
il ne peut plus être supprimé au moyen de DROP ENTRY ni exploité au moyen des
fonctions de saisie.
Exemple :
C: USST ENTRY-ST ON FL-ENTRY
C: FILE FL-ENTRY
F: RV
Etapes 7, 8 et 9 : Utilisation du fichier de saisie pour constituer une vue
Une telle utilisation du fichier implique les trois étapes suivantes :
• modification du nom d'aire de la structure,
• définition de la vue, la structure du fichier constituant l'un des schémas dont elle est
dérivée,
• mise à jour de la procédure GCL pour affecter le nom d'aire de la structure au nfe
approprié.
Ces trois étapes sont détaillées ci-dessous.
Etape 7 : Modification du nom d'aire de la structure du fichier
Lors de la création d'un fichier de saisie, son nom d'aire est identique à son nom de
fichier interne, ce qui ne pose aucun problème si le fichier ne doit être utilisé qu'en tant
que tel.
Toutefois, il arrive souvent qu'un fichier de saisie soit intégré à une vue (via sa
structure). Un exemple est donné, illustrant ce cas de figure. Dans ce cas, la structure
doit être mise à jour au moyen de UPDATE STRUCTURE pour changer son nom d'aire.
Ainsi, les données correspondantes pourront être rendues disponibles dans la vue
courante au moyen d'une commande OPEN. A noter qu'une fois la modification
effectuée, le fichier de saisie ne pourra plus être utilisé en tant que tel.
10-14
47 F2 80UR Rev02
Fichiers IQS
Exemple :
C: UPST ENTRY-ST
R: USD
structure privacy (0 RETRIEVAL 1 UPDATE 2 INSERT/DELETE) (1) :
structure description (DESCRIPTION DU FICHIER FL-ENTRY) :
______
area name (FL-ENTRY) : |PROMO |
|______|
+ record name (ENTRY-REC) :
+ item names (ITEM-CODE,PERCENT) :
R: SS
R: /
Remarques :
1.
La structure du fichier ENTRY-ST (définie à l'étape 1) est mise à
jour.
2.
Le nom d'aire est modifié : il devient PROMO.
Etape 8 : Définition d'une vue standard utilisant la structure comme schéma
La vue V-PROMO comporte trois articles logiques : PROMOTION, ITEM et
CUSTOMER.
PROMOTION est l'article racine de la vue. Il dérive directement de l'article du fichier de
saisie. Pour ce faire, ENTRY-ST est spécifié en tant que schéma dans la liste des
schémas sur lesquels repose la vue (schema names) et ENTRY-REC (nom attribué à
l'article du fichier lors de la création de la structure) est spécifié comme origine de
l'article de la vue (record derivation).
ITEM, second article de la vue, a pour origine l'article ORDER-LINES et un
sous-ensemble de l'article ITEMS.
CUSTOMER, troisième article de la vue, dérive directement de l'article CUSTOMERS.
La définition de la vue est fournie ci-dessous et elle est illustrée par la figure 10-3. Pour
la description du schéma SCH-CUSTOMERS, se reporter au chapitre 8.
47 F2 80UR Rev02
10-15
IQS-V4 Guide de l'administrateur
Exemple :
C: DFVW V-PROMO
view privacy (0 RETRIEVAL 1 UPDATE) (0) : 1
view description : VENTES PROMOTIONNELLES
+ schema names : ENTRY-ST,SCH-CUSTOMERS
W:
W: CR
record name : PROMOTION
+ record derivation : ENTRY-REC
item list (ENTRY-REC) :
record privacy (0 RETRIEVAL 1 UPDATE 2 INSERT/DELETE) (0) : 1
record description : PRODUITS EN PROMOTION
W:
W: CR
record name : ITEM
set where record name is member : PR-IT
owner record name : PROMOTION
+ record derivation : ORDER-LINES, ITEMS WHERE ITEM-CODE =
LI-IT-CODE -: AND IT-CODE = ITEM-CODE
item list (ORDER-LINES,ITEMS) : ITEM-DESC=IT-NAME, ITEM-QTY = LI-QTY -: ITEM-ORD-CODE = LI-ORD-CODE
record privacy (0 RETRIEVAL 1 UPDATE 2 INSERT/DELETE) (0) : 0
record description : PRODUITS EN PROMOTION AYANT ETE COMMANDES
W:
W: CR
record name : CUSTOMER
set where record name is member : IT-CU
owner record name : ITEM
+ record derivation : CUSTOMERS WHERE CU-CODE=LI-CU-CODE
item list (CUSTOMERS) : C-NAME=CU-NAME, C-CODE=CU-CODE, -: C-STREET=CU-STREET, C-TOWN=CU-CITY
record privacy (0 RETRIEVAL 1 UPDATE 2 INSERT/DELETE) (0) : 0
record description : CLIENTS
W:SV
10-16
47 F2 80UR Rev02
Fichiers IQS
Articles du schéma SCH-CUSTOMERS
Article du fichier
de saisie
Jointure sur
le code produit
CUSTOMERS
Jointure
sur le code
client
ORDERS
ENTRY-REC
ITEMS
ORDER-LINES
Jointure
sur le code
produit
PROMOTION
ITEM
CUSTOMER
Vue
V-PROMO
Figure 10-3. Vue V-PROMO avec son origine
47 F2 80UR Rev02
10-17
IQS-V4 Guide de l'administrateur
Etape 9 : Affectation de l'aire dans le GCL
A l'étape 6, la procédure GCL a été modifiée pour affecter le nfi du fichier à son nfe afin
de faciliter aux usagers l'accès au fichier pour une session de saisie de données. La
procédure doit maintenant être de nouveau modifiée puisque l'aire de la structure du
fichier doit être utilisée pour une vue. La modification est la suivante :
Exemple :
10:PROC UP-IQS PROMPT='Séquence de lancement IQS' LOCK=1;
20:IQS
SLLIB=.IQS.SLLIB-0 DDLIB=.IQS.DDLIB-0
BINLIB=.IQS.BINLIB-0
FILE1=BLIB ASG1=.IQS.BLIB-0
FILE2=A-CUST ASG2=(.IQS.CUSTOMERS,SHARE=MONITOR)
DEF2=(JOURNAL=BEFORE)
FILE3=A-ORDER ASG3=(.IQS.ORDERS,SHARE=MONITOR)
DEF3=(JOURNAL=BEFORE)
FILE4=A-ITEM ASG4=(.IQS.ITEMS,SHARE=MONITOR)
DEF4=(JOURNAL=BEFORE)
AREA5=PROMO ASG5=(.FL-ENTRY,ACCESS=WRITE);
30:LET #NOVICE
VALUE=1;
40:ENDPROC;
Remarque :
L'affectation de l'aire pourrait également être effectuée en cours
de session au moyen de la commande ASSIGN AREA.
Si l'aire n'est pas affectée, IQS émet un message d'avertissement
et refuse l'accès à la vue, comme dans la séquence ci-dessous :
C: SL V-PROMO
V: OP
*** There is no ASG parameter (GCL) for IFN PROMO
V: ASG AREA PROMO TO IFN FL-ENTRY
V: OP
V:
Etape 10 : Programmation de l'application
IQS offre deux langages : l'un, le langage de commande IQS, est non procédural,
l'autre, la langage de requêtes, est procédural.
L'application peut être écrite sous forme de requête ou sous forme d'une séquence de
commandes IQS enregistrée comme scénario, les deux méthodes permettant de
l'exécuter aussi souvent que nécessaire. Les commandes IQS peuvent également être
introduites en interactif mais cette méthode ne convient que pour des traitements
ponctuels à effectuer une seule fois ce qui n'est pas le cas dans notre exemple.
La requête Q-PROMO est écrite pour fournir au responsable des ventes la liste des
clients bénéficiant de la promotion, avec indication des produits et des commandes
concernés et du taux de réduction à appliquer.
10-18
47 F2 80UR Rev02
Fichiers IQS
Exemple :
V: ^,$L
10 :
20 :
30 :
40 :
50 :
60 :
70 :
80 :
90 :
100 :
110 :
120 :
130 :
140 :
150 :
160 :
170 :
180 :
190 :
V:
47 F2 80UR Rev02
SPACE TOP
LET @LINE-BORDER = "-"
LET @COLUMN-BORDER = "!"
LET $COLUMN-SPACING = 3
RETRIEVE PROMOTION, ITEM, CUSTOMER
WRITE C-NAME,ITEM-CODE,ITEM-DESC,ITEM-ORD-CODE,
PERCENT TO TEMPY
END
SORT TEMPY ON C-NAME
HEADING P1,P2
READ TEMPY
AFTER C-NAME CHANGE
P1. PRINT C-NAME TITLE ("CUSTOMER"," NAME")
END
P2. PRINT ITEM-CODE TITLE ("ITEM","CODE")
ITEM-DESC JUST CENTER TITLE CENTER "DESCRIPTION"
ITEM-ORD-CODE TITLE CENTER ("ORDER,"REF.")
PERCENT TITLE ("DISCOUNT","RATE")
END
10-19
IQS-V4 Guide de l'administrateur
Etape 11 : Exécution de l'application
Les données ayant été introduites dans le fichier de saisie à l'étape 3 sont les suivantes :
ITEM-CODE
1001
1011
1021
1071
1131
1161
PERCENT
15.00
10.00
5.50
12.50
9.00
3.00
L'exécution de la requête Q-PROMO produit le résultat suivant :
C: SELECT V-PROMO
V: OPEN
V: GO Q-PROMO
|-----------------|------|-----------------|---------|----------|
| CUSTOMER
| ITEM |
DESCRIPTION
| ORDER | DISCOUNT |
|
NAME
| CODE |
| REF.
|
RATE |
|-----------------|------|-----------------|---------|----------|
| ALAN BRADLEY
|
|
|
|
|
|
| 1021 |
JACKET
| 2812310 |
5.50 |
|
| 1131 |
CIGAR
| 2154740 |
9.00 |
| DAVID HOLBROOK |
|
|
|
|
|
| 1131 |
CIGAR
| 2911820 |
9.00 |
| DONALD MACLEAN |
|
|
|
|
|
| 1011 |
SHIRT
| 2150540 |
10.00 |
|
| 1131 |
CIGAR
| 2150540 |
9.00 |
| JIM ROACH
|
|
|
|
|
|
| 1001 |
TROUSERS
| 2958310 |
15.00 |
|
| 1011 |
SHIRT
| 2958310 |
10.00 |
| KAY EVANS
|
|
|
|
|
|
| 1161 |
SOCKS
| 2379220 |
3.00 |
| KEVIN CANNON
|
|
|
|
|
|
| 1001 |
TROUSERS
| 2622210 |
15.00 |
|
| 1011 |
SHIRT
| 2622210 |
10.00 |
|
| 1021 |
JACKET
| 2622210 |
5.50 |
|
| 1131 |
CIGAR
| 2622210 |
9.00 |
+++
| MIKE BANNERMANN |
|
|
|
|
|
| 1001 |
TROUSERS
| 2419840 |
15.00 |
|
| 1161 |
SOCKS
| 2419840 |
3.00 |
| PETER ANDREWS
|
|
|
|
|
|
| 1071 | WASHING MACHINE | 2530120 |
12.50 |
|
| 1071 | WASHING MACHINE | 2728830 |
12.50 |
| ROGER WILLIAMS |
|
|
|
|
|
| 1001 |
TROUSERS
| 2763610 |
15.00 |
|
| 1011 |
SHIRT
| 2763610 |
10.00 |
|
| 1021 |
JACKET
| 2763610 |
5.50 |
|-----------------|------|-----------------|---------|----------|
V:
10-20
47 F2 80UR Rev02
11. Utilisation de la métabase IQS
11.1
INTRODUCTION
Le nom de la métabase IQS est H_METAIQS.
La métabase IQS est un dictionnaire de données en ligne contenant des informations
sur tous les objets IQS accessibles au cours de la session par l'intermédiaire des
bibliothèques IQS affectées.
Elle est mise à jour automatiquement par IQS lorsque des objets sont créés, modifiés ou
supprimés. Elle constitue donc une photographie instantannée des objets et est très utile
à l'administrateur IQS.
L'utilisateur ne peut pas modifier directement le contenu de la métabase (au moyen de
commandes REVIEW UPDATE, INSERT, MODIFY, DELETE par exemple) ; elle ne lui
est accessible qu'en lecture.
Sous IQS-V4, il est possible d'ouvrir en mode mise à jour (OPEN UPDATE) une vue
dont l'un des schémas sous-jacents est constitué par la métabase, mais cette dernière
ne reste accessible qu'en lecture.
Les informations de référence sur la métabase figurent dans le Manuel de référence
IQS-V4, Volume 2.
47 F2 80UR Rev02
11-1
IQS-V4 Guide de l'administrateur
11.2
11.2.1
ACCES A LA METABASE
Accès en langage non procédural
En langage non procédural (commandes IQS), il n'est possible d'accéder aux articles de
la métabase que si elle a d'abord été sélectionnée comme vue courante (SELECT) :
C:
V:
11.2.2
SELECT H_METAIQS
REVIEW ou RETAIN ...
Accès en langage procédural
En langage procédural (requêtes), les conditions ci-dessous doivent être respectées
pour accéder à la métabase.
• Une requête accédant à la métabase peut être compilée au niveau C:, puis exécutée
(EXEC) au niveau C: ou V:, quelle que soit la vue courante.
• Si le schéma de la métabase H_METAIQS (ou n'importe quel autre schéma IQS) a
été sélectionné au niveau C:, les requêtes accédant à la métabase peuvent être
compilées et exécutées au niveau V:.
• Par contre, si une vue standard a été sélectionnée au niveau C:, les requêtes
accédant à la métabase peuvent uniquement être compilées et exécutées au niveau
V: lorsque :
-
11-2
H_METAIQS constitue l'un des schémas sous-jacents de la vue,
la vue contient des articles/zones logiques correspondant aux informations
recherchées par la requête dans la métabase.
47 F2 80UR Rev02
Utilisation de la métabase IQS
11.3
TACHES DE L'ADMINISTRATEUR
L'une des responsabilités de l'administrateur IQS consiste à surveiller la base de
données IQS. Pour ce faire, il peut utiliser la commande DISPLAY STATUS pour obtenir
des informations sur la session IQS en cours et consulter la métabase pour obtenir des
renseignements plus précis.
L'administrateur peut également effectuer des analyses d'impact sur les objets IQS en
interrogeant la métabase.
La métabase peut également lui servir à effectuer des analyses d'impact sur les objets
IQS et surtout à accomplir les tâches ci-dessous en exécutant régulièrement des
requêtes ou des scénarios :
• vérifier quels sont les schémas, vues et structures disponibles (sélection par date,
type, droits d'accès, etc.),
• vérifier quelles sont les vues et requêtes qui seraient affectées par la modification d'un
schéma donné,
• identifier les schémas compilés sous IDS/II V2 et ceux compilés sous IDS/II V5,
• vérifier les caractéristiques d'un(e) ou plusieurs zones/articles/ensembles/aires,
• vérifier le nom des projets ayant le droit d'accéder à une vue ou un schéma donné,
• vérifier quels sont les schémas sur lesquels reposent des vues données,
• lister des informations sur les formats de présentation, descriptions d'état et macros
en ligne,
• vérifier quelles sont les requêtes disponibles (sélection par date, nom, vue utilisée,
etc.) ; vérifier également, par exemple, le contenu d'une ligne donnée dans plusieurs
requêtes différentes ou bien vérifier la version de l'unité compilée pour utilisation sous
TDS.
47 F2 80UR Rev02
11-3
IQS-V4 Guide de l'administrateur
11.4
EXEMPLES
Exemple 1 :
Utilisation d'une requête pour retrouver toutes les zones de type décimal non condensé
dans une vue donnée ; enregistrement des résultats dans un fichier de travail, puis tri et
impression (ce fichier restant disponible jusqu'à la fin de la session, son contenu peut
être manipulé au moyen de commandes IQS).
C: ^,$L
10: ASSIGN FL1
20: DO
30:
ACCEPT @VW
40:
RETRIEVE SYS-DD,SYS-RECORD,SYS-ITEM
50:
WHERE DD-NAME = @VW
60:
AND (DD-TYPE = "VDD")
70:
AND (ITEM-TYPE AG "UPKS" "UPK")
80:
WRITE DD-NAME,RECORD-NAME,ITEM-NAME,
90:
ITEM-TYPE,ITEM-LENGTH,ITEM-SCALE
100:
TO FL1
110:
ON ABSENT
120:
PRINT "VIEW NOT FOUND"
130:
END
140:
END
150: END
160:
170: SORT FL1 ON ITEM-TYPE,ITEM-NAME
180:
190: READ FL1
200:
AFTER ITEM-TYPE CHANGE
210:
DISPLAY ITEM-TYPE
220:
END
230:
PRINT "NAME : " ITEM-NAME SHORT
240:
" (OF RECORD):" RECORD-NAME
250: END
C: GO
VW : MY-CUSTOMERS
ITEM-TYPE : UPK
NAME : IT-PRICE (OF RECORD): ITEMS
NAME : IT-QTY (OF RECORD): ITEMS
ITEM-TYPE : UPKS
NAME : IT-AMOUNT (OF RECORD): ITEMS
C:
C:
F:
R:
SV Q-ADMIN-1
FILE FL1
RV
F
1
DD-NAME : MY-CUSTOMERS
RECORD-NAME : ITEMS
ITEM-NAME : IT-PRICE
ITEM-TYPE : UPK
ITEM-LENGTH : 6
ITEM-SCALE : 2
R:
11-4
47 F2 80UR Rev02
Utilisation de la métabase IQS
Exemple 2 :
Utilisation des commandes IQS pour retrouver et visualiser toutes les requêtes dont le
nom commence par Q.
C:
V:
V:
:V:
R:
SELECT H_METAIQS
OPEN
RT QUERY-NAME,QUERY-DATE,QUERY-VIEW FROM SYS-QUERY WHERE QUERY-NAME BEGINS "Q"
RV SYS-QUERY
SCAN
SYS-QUERY
QUERY-NAME : Q-ADMIN-1
QUERY-DATE : 890404
QUERY-VIEW : ...
.
.
.
SYS-QUERY
QUERY-NAME : Q-PROMO
QUERY-DATE : 910531
QUERY-VIEW : V-PROMO
SYS-QUERY
QUERY-NAME : Q-EOS
QUERY-DATE : 910828
QUERY-VIEW : MY-CUSTOMERS
Exemple 3 :
Utilisation d'une requête pour effectuer la même tâche que dans l'exemple précédent.
C: AUTO
10 : RETRIEVE SYS-QUERY
20 :
WHERE QUERY-NAME BG "Q"
30 :
PRINT WITH TITLE QUERY-NAME,QUERY-DATE,QUERY-VIEW
40 : END
50 : /
C: GO
QUERY-NAME
QUERY-DATE QUERY-VIEW
Q-ADMIN-1
Q-EX02
Q-EX01
Q-SUBSTR-78
Q-PROMO
Q-EOS
C:
47 F2 80UR Rev02
890404
910612
910612
910905
910531 V-PROMO
910828 MY-CUSTOMERS
11-5
IQS-V4 Guide de l'administrateur
Exemple 4 :
Utilisation des commandes IQS pour obtenir des informations sur chaque zone de type
décimal pour les articles des schémas, structures et vues disponibles au cours de la
session.
C:
V:
V:
:V:
::-
SELECT H_METAIQS
RT DD-TYPE FROM SYS-DD WHERE DD-TYPE NE "WDD"
RT ITEM-TYPE FROM SYS-ITEM WHERE ITEM-TYPE AG ("UPKS" "UPK" "PK2" "PK")
XT DD-NAME,DD-TYPE,RECORD-NAME,ITEM-NAME FROM SYS-DD,SYS-RECORD,SYS-ITEM ORDER BY DD-NAME,RECORD-NAME
82 records extracted
F:
F: RV
R: F
1
DD-NAME : V-EX
DD-TYPE : VDD
RECORD-NAME : ORIT
ITEM-NAME : LI-QTY
ITEM-TYPE : UPK
R: SR 16
16
DD-NAME : NEW-CUSTOMERS
DD-TYPE : VDD
RECORD-NAME : ITEMS
ITEM-NAME : IT-AMOUNT
ITEM-TYPE : UPKS
R: /
11-6
47 F2 80UR Rev02
Utilisation de la métabase IQS
Exemple 5 :
Utilisation d'une requête pour imprimer pour chaque objet le nom du ou des projets
pouvant y accéder, le nom du ou des utilisateurs et le type d'accès autorisé.
DEF @DD-TYPE CHAR 12
,@PROJECT-NAME CHAR 12
SPACE TOP
LET $PAGE-HEIGHT=23
LET @LINE-BORDER="-"
RETRIEVE SYS-DD,SYS-PROJECT
WHERE DD-ACCESS-RIGHT="1"
WRITE DD-TYPE,DD-NAME,DD-VERSION,PROJECT-NAME,USER-NAME,
ACCESS-TYPE TO F1
END
SORT F1 ON DD-TYPE,DD-NAME,PROJECT-NAME
HEADING L1,L3
READ F1
AFTER DD-TYPE CHANGE
LET @DD-TYPE=DD-TYPE
END
AFTER DD-NAME CHANGE OR DD-TYPE CHANGE
L1. PRINT @DD-TYPE
,SUBSTR( DD-NAME,1,13) TITLE "DD-NAME",DD-VERSION
LET @DD-TYPE=" "
END
AFTER PROJECT-NAME CHANGE OR DD-NAME CHANGE OR DD-TYPE CHANGE
LET @PROJECT-NAME=PROJECT-NAME
END
L3. PRINT
@PROJECT-NAME,
USER-NAME
,ACCESS-TYPE
LET @PROJECT-NAME=" "
END
C:
C: GO
--------------------------------------------------------------------------DD-TYPE
DD-NAME
DD-VERSION PROJECT-NAME USER-NAME
ACCESS-TYPE
--------------------------------------------------------------------------FDD
ACC-STR
4.0
SD3
*
HOARE
OW
SYSADMIN
*
SY
G-STRUCT
4.0
SD3
*
HOARE
OW
SYSADMIN
*
SY
SDD
SCH-CUSTOMERS 4.0
SD3
*
HOARE
OW
SYSADMIN
*
SY
VDD
MY-CUSTOMERS 4.0
SD2
*
SD3
*
HOARE
OW
SYSADMIN
*
SY
---------------------------------------------------------------------------
47 F2 80UR Rev02
11-7
IQS-V4 Guide de l'administrateur
11-8
47 F2 80UR Rev02
12. Recompilation
12.1
INTRODUCTION
Les bases de données IQS sont composées de schémas, et de vues définies à partir de
ceux-ci. Peuvent également y être intégrés des structures, des fichiers de saisie, des
fichiers UFAS externes, des unités de bibliothèque, etc.
Lorsqu'un schéma est modifié et recompilé par MNDD, l'administrateur doit se poser les
questions suivantes :
• quelles sont les vues reposant sur le schéma modifié ?
• lesquelles doivent-elles être modifiées ?
• quelles requêtes font référence au schéma, directement, ou indirectement via des
vues ?
• ces requêtes (et les macros qui y sont incluses) doivent-elles être modifiées ?
Une telle analyse d'impact peut être effectuée en consultant la métabase (voir chapitre
précédent).
47 F2 80UR Rev02
12-1
IQS-V4 Guide de l'administrateur
12.2
PROCEDURE DE MODIFICATION DES SCHEMAS
1.
Modifier la définition DDL origine du schéma.
2.
La recompiler au moyen de MNDD, avec l'option REPLACE si le schéma garde le
même nom.
3
Lancer IQS.
4.
Utiliser la commande COMPILE SCHEMA pour recompiler le schéma résultant et
obtenir un schéma utilisable sous IQS.
5.
Si la modification du schéma a des incidences sur les vues standard qui reposent
sur lui (par exemple, si un article a été supprimé ou si des zones ont été ajoutées à
un article), chaque vue affectée doit être mise à jour.
Pour ce faire, utiliser la commande UPDATE VIEW puis sauvegarder la vue
modifiée au moyen de la sous-commande SAVE VIEW. Ainsi, la correspondance
entre les vues et les schémas sous-jacents sera préservée.
6.
Utiliser la commande SELECT pour faire du schéma modifié la vue courante.
7.
Utiliser la commande RECOMPILE VIEW pour recompiler toutes les vues faisant
référence au schéma. La convention astérisque peut être employée pour
recompiler plusieurs ou toutes les vues à la fois. A noter que la recompilation des
vues ne peut aboutir que si l'opération décrite au point 5 a été effectuée
correctement.
8.
Utiliser la commande RECOMPILE MACRO * pour recompiler toutes les macros
emboîtées dans des requêtes faisant référence au schéma (vue courante). En cas
d'emboîtement à plusieurs niveaux, recompiler d'abord les macros du niveau le
plus intérieur puis remonter.
9.
Utiliser la commande RECOMPILE QUERY pour recompiler toutes les requêtes
faisant référence au schéma (vue courante).
10. Sortir du schéma (vue courante) au moyen de TERM ou de la barre oblique (/).
11. Répéter les opérations des points 8 et 9 pour chaque vue standard affectée.
Faire de chaque vue la vue courante au moyen de SELECT puis, une fois la
recompilation des macros et des requêtes effectuée, terminer comme indiqué au
point 10.
Remarques :
12-2
1.
Les opérations des points 1 et 2 peuvent être effectuées
séparément pour chaque schéma à modifier, le cas échéant.
2.
La séquence d'opérations des points 4 à 9 doit être effectuée en
totalité pour chaque schéma.
3.
La métabase IQS permet de vérifier l'interdépendance des objets
(analyse d'impact).
4.
Lorsqu'une zone est modifiée, les structures et/ou formats dans
lesquels cette zone a été utilisée deviennent périmés.
47 F2 80UR Rev02
Recompilation
POUR CHAQUE VUE STANDARD
POUR CHAQUE SCHEMA
DDLIB
Recompilation du schéma
C: COMPILE SCHEMA
schéma
sché m a s résultants M N D D (type D D )
schémas résultants IQS (type SDD)
Mise à jour et recompilation
des vues standard
vues standard IQS (type VDD)
C : U P D A T E V IE W v ue
...
W : S A V E V IE W
...
C : S E LE C T schém a
V : R E C O M P ILE V IE W *
R ec om pilatio n
des m acros et des re quê tes
pour chaq ue schém a
BINLIB
R ecom p ila tio n des m acros
et des req uêtes pour cha que
vu e stan dard
C: SELECT view
V : R E C O M P ILE M A C R O *
macros IQS (type QRM)
V: RECOMPILE MACRO
V : R E C O M P ILE Q U E R Y *
requêtes IQS (type QRY)
V : R E C O M P ILE Q U E R Y *
V: /
V: /
C:
C:
Figure 12-1. Recompilation
47 F2 80UR Rev02
12-3
IQS-V4 Guide de l'administrateur
12-4
47 F2 80UR Rev02
13. Environnement GCOS 7
Ce chapitre traite des aspects de l'environnement GCOS 7 concernant l'administrateur
IQS, à savoir :
• gestion des accès concurrents,
• partage de fichiers et de ressources,
• optimisation et performances.
L'administrateur doit connaître GAC-EXTENDED et UFAS-EXTENDED et disposer des
deux manuels suivants :
Guide de l'utilisateur GAC-EXTENDED
Guide de l'utilisateur UFAS-EXTENDED
Les informations qu'ils contiennent sont en rapport direct avec les sujets traités dans ce
chapitre.
A noter que le contrôle de consommation des ressources au moyen des variables
système et des déclencheurs est traité au chapitre 3.
13.1
ACCES CONCURRENTS
En principe, les applications IQS-V4 bénéficient d'une protection par GAC-EXTENDED.
Si ce n'est pas le cas sur son site, l'utilisateur peut se reporter au dernier paragraphe de
ce chapitre.
GAC-EXTENDED permet l'accès concurrent à un fichier, en lecture et en écriture, par
plusieurs utilisateurs.
Le partage est géré au niveau du CI (intervalle de contrôle) : un utilisateur en écriture ou
plusieurs utilisateurs en lecture peuvent accéder concurremment à un CI.
L'accès concurrent à un CI par un utilisateur en écriture et plusieurs utilisateurs en
lecture est possible lorsque le paramètre READLOCK=STAT est spécifié dans le groupe
de paramètres DEFn pour le fichier. Sous TDS, la clause SUPPRESS CONCURRENT
ACCESS CONTROL de la rubrique MESSAGE du programme de génération TDS doit
être déclarée pour le fichier.
L'intégrité et la cohérence des données sont assurées par un mécanisme de résolution
des conflits.
GAC-EXTENDED assure la cohérence des données selon le principe de la
consolidation.
47 F2 80UR Rev02
13-1
IQS-V4 Guide de l'administrateur
13.1.1
Unité de consolidation
Une unité de consolidation peut se définir comme un ensemble d'opérations faisant
passer un fichier d'un état initial stable à un état final stable. Le contrôle des accès aux
CI du fichier est assuré par GAC-EXTENDED pendant toute la durée de l'unité de
consolidation.
Lorsqu'une consolidation est effectuée :
• les mises à jour sont enregistrées définitivement dans les fichiers,
• tous les verrous sont supprimés,
• les fichiers repassent à un état stable.
Il arrive que les verrous en lecture soient supprimés avant la fin d'une unité de
consolidation. En effet, IQS libère les articles qui ne sont plus courants et qui n'ont pas
été modifiés, même si READLOCK=EXCL est spécifié. Par conséquent, il est possible,
en théorie, de lire deux fois le même article au cours de la même unité de consolidation
et d'obtenir des valeurs différentes.
Dans le cas des fichiers UFAS, les CI du fichier physique sous-jacent correspondant à
des articles qui ne sont plus courants et n'ont pas été modifiés sont libérés toutes les
10 occurrences.
Un CI ne peut être libéré que s'il ne contient aucun d'article courant.
Lorsque des instructions RETRIEVE sont utilisées concurremment dans plusieurs
requêtes, l'utilisateur doit se montrer prudent comme l'illustre l'exemple ci-dessous.
Requête 1
Requête 2
RETRIEVE A
PRINT A (A=1)
END
ACCEPT...
RETRIEVE A
MODIFY A = A + 1
END
COMMIT
RETRIEVE A
PRINT A (A=2!)
END
Comme le montre cet exemple, lorsque la requête 1 lit l'article A pour la deuxième fois,
elle n'obtient pas le même résultat que la première fois puisque la valeur de A a été
modifiée entre temps par la requête 2. Dans un tel cas, l'utilisateur doit enregistrer les
valeurs qui seront nécessaires plusieurs fois dans une zone temporaire lors de la
première lecture et non pas lire plusieurs fois le même article.
13-2
47 F2 80UR Rev02
Environnement GCOS 7
13.1.2
Consolidation en traitement par lots et sous IOF
La consolidation peut être automatique ou manuelle.
13.1.2.1
Consolidation automatique
Implicitement la consolidation est automatique, c'est-à-dire qu'au départ la valeur
implicite de la commande AUTOCOMMIT est ON. Une consolidation est
systématiquement effectuée :
• à l'émission d'une commande OPEN,
• à l'émission d'une commande CLOSE,
• à l'émission d'une commande TERM,
• à l'émission d'une demande / pour sortir d'une session REVIEW UPDATE ou d'une
commande CHANGE,
• à la fin de chaque requête.
A l'intérieur des requêtes, l'utilisateur a en outre la possibilité de demander explicitement
des consolidations, à l'aide de l'instruction COMMIT ou ROLLBACK.
13.1.2.2
Consolidation manuelle
Pour passer en consolidation manuelle, l'utilisateur doit émettre une commande
AUTOCOMMIT OFF. Des consolidations restent systématiquement effectuées :
• à l'émission d'une commande OPEN,
• à l'émission d'une commande CLOSE,
• à l'émission d'une commande TERM.
Partout ailleurs, l'utilisateur doit demander explicitement une consolidation lorsqu'il le
juge nécessaire, en employant les commandes ou les instructions COMMIT et
ROLLBACK (cette dernière permettant de ramener un fichier à l'état dans lequel il se
trouvait lors de la dernière consolidation).
L'utilisateur peut repasser en consolidation automatique, puis de nouveau en
consolidation manuelle, etc., en émettant des commandes AUTOCOMMIT ON et
AUTOCOMMIT OFF.
Remarque :
47 F2 80UR Rev02
Une requête ne peut pas être relancée automatiquement à la
suite d'un arrêt prématuré fonctionnel de l'unité de consolidation
en cours. Elle doit être réexécutée depuis le début après
restauration non actualisée des fichiers.
13-3
IQS-V4 Guide de l'administrateur
13.1.3
Consolidation sous IQS/TDS
Le concept de consolidation est plus restrictif sous IOF que sous TDS. C'est pourquoi
des instructions supplémentaires, CHECKPOINT, ACCEPT WITH CHECKPOINT et
ALTER WITH CHECKPOINT, sont utilisables dans les requêtes IQS/TDS.
Sous IQS/TDS, en cas d'arrêt prématuré fonctionnel de l'unité de consolidation en cours,
la requête peut être relancée à partir de la dernière consolidation. Pour plus de détails,
se reporter au guide de l'utilisateur IQS-V4/TDS (81UR).
L'utilisation de points de reprises (checkpoints) dans les requêtes permet à IQS de
libérer les ressources base de données chaque fois qu'une grille est visualisée.
13-4
47 F2 80UR Rev02
Environnement GCOS 7
13.2
13.2.1
PARTAGE DE FICHIERS
Fichiers aires UFAS
Ces fichiers sont partageables sous GAC-EXTENDED au niveau CI. Un CI est la portion
du fichier à laquelle accède IQS lors de l'exécution d'une instruction RETRIEVE, WRITE,
READ, MODIFY, DELETE, INSERT, etc.
Un fichier aire UFAS est un fichier UFAS permanent dont le contenu est mis à
disposition des utilisateurs au cours d'une session IQS sous forme d'aire.
13.2.1.1
Fichiers catalogués
Si les fichiers sont catalogués, ils doivent l'être avec :
• l'option SHARE=MONITOR,
• ou l'option SHARE=UNSPEC, et être affectés avec SHARE=MONITOR dans le GCL.
S'ils doivent être mis à jour (OPEN UPDATE), ils doivent au minimum être protégés par
le journal Avant (JOURNAL=BEFORE).
S'il s'agit de fichiers accessibles uniquement en lecture, ils doivent être exploités avec
ACCESS=READ.
13.2.1.2
Fichiers non catalogués
Les fichiers non catalogués doivent être affectés avec SHARE=MONITOR dans le GCL.
S'ils doivent être mis à jour (OPEN UPDATE), ils doivent au minimum être protégés par
le journal Avant (JOURNAL=BEFORE).
Leur nom de fichier externe (nfe) doit être conforme aux règles GCL et comporter un
nom de volume et une classe d'appareils.
13.2.2
Aires IDS/II
Les aires IDS/II doivent être cataloguées avec :
• l'option SHARE=MONITOR,
• ou l'option SHARE=UNSPEC, et être affectés avec SHARE=MONITOR dans le GCL.
Elles doivent au minimum être protégées par le journal Avant (JOURNAL=BEFORE).
47 F2 80UR Rev02
13-5
IQS-V4 Guide de l'administrateur
13.2.3
Fichiers de travail
Les fichiers de travail IQS ne sont pas gérés par GAC-EXTENDED. Ils peuvent être
protégés par les journaux.
13.2.4
Fichiers contrôlés par TDS
Tous les fichiers contrôlés par TDS qui sont utilisés au cours d'une session IQS/TDS,
même ceux affectés avec SHARE=NORMAL ou SHARE=ONEWRITE, sont gérés par
GAC-EXTENDED.
13.2.5
Fichiers protégés par journalisation
Le nom de fichier externe d'un fichier ou d'une aire protégé par les journaux ne peut pas
être réaffecté avant la fin de la session IQS. De tels fichiers restent protégés jusqu'à
l'arrêt d'IQS même si des commandes CLOSE ou TERM sont émises. Toute tentative
d'exécution d'une commande ASSIGN pour un tel fichier provoque l'émission d'un
message d'erreur.
13-6
47 F2 80UR Rev02
Environnement GCOS 7
13.3
13.3.1
PARTAGE DE RESSOURCES
Blocage du traitement
Un blocage du traitement (angl. deadlock ou deadly embrace) se produit lorsque les
conditions suivantes sont réunies :
1.
L'utilisateur X attend une ressource actuellement exploitée par l'utilisateur Y.
2.
Un ou plusieurs utilisateurs ont besoin d'une ressource actuellement exploitée par
l'utilisateur X.
3.
Ces utilisateurs ont besoin de la ressource détenue par X pour pouvoir libérer les
ressources qu'ils détiennent.
Exemple :
L'utilisateur X vient de mettre à jour l'article A et a maintenant besoin de l'article B.
L'utilisateur Y vient de mettre à jour l'article B et a maintenant besoin de l'article A.
Lorsqu'un blocage se produit :
• la requête en cours est annulée,
• tous les fichiers font l'objet d'une restauration non actualisée.
En mode ligne :
• IQS demande à l'utilisateur s'il veut relancer la requête :
-
s'il répond NO, le guidage V: est visualisé,
-
s'il répond YES, la requête est relancée automatiquement.
En mode menu :
• IQS visualise le message :
DEADLOCK. THE CURRENT QUERY IS CANCELLED
(Blocage. La requête en cours est annulée),
• la grille précédente est revisualisée. La relance automatique n'est pas possible.
47 F2 80UR Rev02
13-7
IQS-V4 Guide de l'administrateur
Exemple : Relance non demandée
V: EXEC
<données utilisateur>
* Deadlock. The current procedure is cancelled.
Do you want to restart it?: NO
V:
L'utilisateur exécute une requête. Il introduit une valeur de paramètre. Un blocage est
détecté. IQS envoie un message, annule la requête et fait subir aux fichiers une
restauration non actualisée, puis il demande à l'utilisateur s'il souhaite relancer la
requête. Ce dernier ne le souhaite pas.
Exemple : Relance demandée
V: EXEC
<données utilisateur>
* Deadlock. The current procedure is cancelled.
Do you want to restart it?: YES
<données utilisateur>
L'utilisateur exécute une requête. Il introduit une valeur de paramètre. Un blocage est
détecté. IQS envoie un message, annule la requête et fait subir aux fichiers une
restauration non actualisée, puis il demande à l'utilisateur s'il souhaite relancer la
requête. Ce dernier répond par l'affirmative et peut alors reprendre son traitement.
IOF et TDS
Sous IOF, à la suite d'un blocage, la requête peut être relancée depuis le début.
Sous TDS et en Traitement par lots, la détection des blocages est automatique et un
mécanisme de prévention se déclenche sans intervention de l'utilisateur. La requête est
relancée à partir de la dernière consolidation ou du dernier point de reprise.
13-8
47 F2 80UR Rev02
Environnement GCOS 7
13.3.2
Attente prolongée
Une attente prolongée (angl. longwait) peut se produire lorsqu'un utilisateur a besoin
d'une ressource actuellement détenue par un autre utilisateur. Sous IOF et en traitement
par lots, elle est déterminée par le dépassement du délai d'attente maximum défini.
Sous TDS, elle est déterminée par le dépassement du délai d'attente maximum défini ou
par le fait que la ressource est détenue par une unité de consolidation à laquelle aucun
process n'est plus affecté. Si le CI voulu n'est pas libéré dans le délai spécifié dans
l'utilitaire CONFIG (GAC ... LONGWAIT=) :
• IQS émet un message,
• IQS demande à l'utilisateur s'il désire attendre.
Si l'utilisateur répond par la négative :
-
la demande de requête est annulée,
tous les fichiers font l'objet d'une restauration non actualisée,
le guidage V: (ou, en mode menu, le menu du niveau vue) est visualisé.
Si l'utilisateur répond par l'affirmative :
-
IQS attend la libération du CI,
les demandes d'interruption émises par l'utilisateur ne sont plus prises en compte,
la requête se poursuit une fois le conflit résolu.
Exemple : Attente prolongée
V: EXEC
* Longwait. You can wait or cancel the current procedure.
Do you want to wait? (yes/no):
L'utilisateur exécute une requête. Une attente prolongée se produit. Il a le choix entre
attendre ou annuler la requête.
IOF et TDS
Sous IOF, une requête peut être relancée à la suite d'une attente prolongée.
Sous TDS et en traitement par lots, la requête est automatiquement relancée à partir de
la dernière consolidation.
47 F2 80UR Rev02
13-9
IQS-V4 Guide de l'administrateur
13.4
OPTIMISATION ET PERFORMANCES
L'administrateur IQS peut optimiser la gestion des tampons dans une session IQS afin
d'améliorer les performances et de réduire le nombre d'E/S.
Les différents paramètres permettant d'optimiser la gestion des tampons sont spécifiés
dans la procédure de lancement d'IQS. Ces paramètres sont les suivants :
1.
SIZE pour la taille de l'espace d'exécution déclaré.
2.
POOLSIZE pour la quantité d'espace mémoire réservée aux tampons UFAS.
3.
NBBUF dans le groupe de paramètres DEFn, pour définir le nombre de tampons
nécessaires par fichier.
4.
BUFPOOL dans le groupe de paramètres DEFn, pour définir un pool de tampons.
En outre, l'utilitaire de gestion automatique des ressources ARM permet de contrôler et
optimiser la consommation des ressources par le système.
Pour les aires IDS/II, les commandes dynamiques IDSOPT permettent :
• de spécifier si certains fichiers base de données partagent un pool de fichiers
(commande BUFFER POOL),
• de désactiver la lecture asynchrone de pages intervenant lors de la recherche
séquentielle dans une aire (commande SYNCRO),
• d'empêcher l'envoi des messages d'avertissement dans l'historique JOR (commande
NO WARNING).
Bibliographie :
Pour plus de détails sur la procédure de lancement d'IQS et les paramètres y figurant,
voir le chapitre 6 du présent manuel.
Pour plus de détails sur l'utilisation des tampons, voir le Guide de l'utilisateur
UFAS-EXTENDED.
En ce qui concerne la gestion automatique des ressources, se reporter au Guide de
l'utilisateur ARM.
Les informations données ci-dessous concernent uniquement IQS sous IOF et en
traitement par lots. L'utilisation des tampons sous TDS ainsi que l'emploi des mises à
jour différées et des journaux Après est décrite dans le Manuel de l'administrateur TDS.
IDSOPT est décrit dans le Manuel de référence IDS/II étendu, Volume 2.
13-10
47 F2 80UR Rev02
Environnement GCOS 7
13.4.1
Paramètre SIZE
Il spécifie la taille mémoire totale, en Koctets, dont doit disposer IQS. La valeur
recommandée est la suivante : POOLSIZE + 150.
L'espace dont la taille est spécifiée par SIZE est appelé espace d'exécution déclaré.
13.4.2
Paramètre POOLSIZE
Il définit la taille maximum du pool de tampons UFAS-EXTENDED. Il s'applique à tous
les fichiers UFAS, temporaires et permanents, et aux aires IDS/II.
La quantité maximum d'espace mémoire que peut utiliser UFAS-EXTENDED pour créer
des tampons est spécifiée en Koctets.
La valeur implicite de POOLSIZE est 50.
La valeur à lui attribuer peut être estimée comme suit :
(n * nb-fichiers-UFAS-EXTENDED * taille-maxi-tampon)
n a pour valeur 2 dans le cas de fichiers séquentiels et 3 dans le cas de fichiers
séquentiels indexés.
taille-maxi-tampon est la taille nécessaire pour contenir le plus grand CI.
Remarque :
En raison du mécanisme de pagination de VMM (gestion de la
mémoire virtuelle), POOLSIZE est plus efficace lorsque la taille de
CI déclarée est un multiple de 4K.
Exemples : Estimation de POOLSIZE
Pour des CI de données et des CI d'index de 3K, la valeur recommandée est la suivante
:
(3 * nb-fichiers * 4K)
Pour des CI de données et des CI d'index de 1K (ou absents), la valeur recommandée
est la suivante :
(2 * nb-fichiers * 4K)
47 F2 80UR Rev02
13-11
IQS-V4 Guide de l'administrateur
13.4.3
Groupe de paramètres DEFn (NBBUF)
Chaque fois qu'un fichier est ouvert, UFAS-EXTENDED lui attribue un certain nombre de
tampons dans lesquels placer les CI en provenance des disques. Ce nombre est
spécifié par le paramètre NBBUF du groupe de paramètres DEFn.
La valeur spécifiée dans NBBUF doit permettre à IQS de conserver plusieurs points
courants pour le fichier.
Si le nombre de tampons est insuffisant pour une unité de consolidation, le code retour
BUFNBOV est émis.
13.4.4
Groupe de paramètres DEFn (BUFPOOL)
Le paramètre BUFPOOL permet à plusieurs fichiers de partager un même pool de
tampons. Il est utile pour les fichiers à mode d'accès direct.
Implicitement, il n'y a pas de partage des tampons.
13.5
IQS SANS GAC-EXTENDED
Lorsqu'IQS est utilisé sans GAC-EXTENDED, le partage s'effectue au niveau fichier (ou
aire) : un utilisateur se voit accorder ou refuser l'accès à la totalité du fichier (ou de
l'aire).
Un utilisateur donné peut mettre à jour un fichier (ou une aire) avec les paramètres
GCOS 7 suivants :
SHARE=NORMAL ACCESS=WRITE
qui lui assurent l'exclusivité du fichier (ou de l'aire). Aucun autre utilisateur ne pourra
accéder au fichier (ou à l'aire) tant que le premier utilisateur n'aura pas terminé.
En l'absence de GAC-EXTENDED, cette méthode est la seule permettant de garantir
l'intégrité des fichiers.
Remarque :
13-12
Dans le cas des fichiers catalogués, la valeur de SHARE peut
figurer au catalogue.
47 F2 80UR Rev02
A. Exemple de création d'un système IQS
A.1
INTRODUCTION
Cette annexe fournit des informations détaillées sur la création d'un système IQS
utilisant les schémas IND (schéma UFAS séquentiel indexé) et SEQ (schéma UFAS
séquentiel), qui ont servi à illustrer l'emploi des instructions du langage de requêtes dans
le Manuel de référence IQS-V4, Volume 2. L'utilisateur est supposé connaître le
moniteur interactif IOF (Interactive Operator Facility) de GCOS 7 et avoir certaines
connaissances sur IQS, acquises par exemple par la lecture des guides de l'utilisateur
IQS.
La création du système s'effectue de manière presque totalement interactive au moyen
du langage GCL et d'IQS. Dans cette annexe, les commandes sont utilisées en mode
expert (NOVICE=0) et en format libre (GCLFORM=FREE).
Il est conseillé à l'utilisateur de garder actif le mode menu GCL (MENU=1) afin qu'en cas
de besoin, il puisse obtenir un guidage pour l'introduction des commandes (en frappant
le nom de la commande suivi d'un point d'interrogation) et corriger facilement un
paramètre en cas d'erreur. Ce mode lui permet en outre d'obtenir des textes explicatifs
sur les différents paramètres utilisés ou sur la commande elle-même (en frappant le
point d'interrogation avant le nom de la commande).
A noter que les commandes présentées dans cette annexe sont des commandes réelles
ayant servi à créer un système. Certains paramètres sont donc spécifiques à
l'installation considérée (les identifications de disques par exemple). Ces paramètres
sont toutefois réduits au strict minimum et signalés à chaque fois.
Pour travailler sous IOF, l'utilisateur doit être associé à un projet et sa description doit
figurer dans le catalogue de site.
Il doit également disposer de suffisamment d'espace disque.
Remarque :
47 F2 80UR Rev02
IQS sous TDS n'est pas traité ici. Dans ce cas, une bibliothèque
d'unités compilées (CU) est nécessaire.
A-1
IQS-V4 Guide de l'administrateur
A.2
REPERTOIRE
Tous les fichiers utilisés dans le système sont enregistrés dans le même catalogue et
sous le même répertoire.
Le catalogue indique l'implantation des fichiers et les règles de partage.
Un répertoire sert normalement à identifier tous les fichiers d'un projet donné. A
l'intérieur d'un projet, il est également possible de définir un sous-ensemble de fichiers
associés à une partie du projet. Ces fichiers sont enregistrés dans un sous-répertoire qui
peut lui-même se subdiviser en d'autres sous-répertoires si la complexité du projet
l'exige. Le répertoire permet à l'utilisateur interactif de faire référence à ses fichiers sous
une forme extrêmement concise.
A.2.1
Sous-répertoire
Dans cet exemple, le répertoire maître et le catalogue utilisés par le projet ont déjà été
créés. Le sous-répertoire qui va être utilisé peut être créé au moyen de la commande
CREATE_DIR (abréviation CRDIR) comme suit :
CREATE_DIR SUP3.JPP;
Cette commande a pour effet d'enregistrer le répertoire SUP3.JPP dans le catalogue
SUP3.CATALOG, SUP3 étant le nom du projet utilisé.
L'utilisateur devra remplacer SUP3 par le nom de son projet et JPP par le nom de son
sous-répertoire.
A.2.2
Répertoire de référence
Tous les fichiers créés seront enregistrés dans un répertoire qui devra être déclaré par
l'utilisateur comme répertoire de référence au moyen de la directive
MODIFY_PROFILE (abréviation MP) :
MODIFY_PROFILE WD=SUP3.JPP;
(en abrégé MP WD=SUP3.JPP; ou même MP SUP3.JPP;)
en remplaçant SUP3 et JPP par ses propres valeurs comme indiqué plus haut.
A.2.3
Informations sur le contenu d'un répertoire
L'utilisateur pourra obtenir des informations sur les fichiers de son répertoire de
référence en frappant la commande :
LIST_DIR;
(ou LSDIR;)
Pour chaque fichier, il recevra les informations de gestion figurant au catalogue (partage,
journalisation, etc.) et des informations telles que dates de création et de modification,
taille et implantation (nom de volume et classe d'appareils).
A-2
47 F2 80UR Rev02
Exemple de création d'un système IQS
A.3
DESCRIPTION DU SYSTEME
Le système décrit ici utilise trois bibliothèques, deux fichiers de données et un certain
nombre de fichiers de travail qui sont tous catalogués sous le sous-répertoire JPP du
répertoire maître SUP3 (qui a le même nom que le projet).
Les noms de tous les fichiers et sous-fichiers se rapportant à un même schéma
commencent par un préfixe de trois caractères identifiant ce schéma :
SEQ
IND
A.3.1
pour le schéma UFAS séquentiel.
pour le schéma UFAS séquentiel indexé.
Bibliothèques utilisées
Les trois bibliothèques portent les noms suivants :
QSL
QBIN
QDDL
A.3.2
contenant les versions origine des schémas, requêtes,
macros et descriptions d'état, et, éventuellement, des
procédures GCL.
contenant les versions résultantes (compilées) des
requêtes, macros, descriptions d'état, formats, grilles et
procédures GCL.
contenant les schémas compilés par DDPROC et IQS, et
les vues et structures définies par l'utilisateur.
Fichiers de données utilisés
Il existe un fichier de données par schéma :
SEQ-DATA
IND-DATA
A.3.3
pour le schéma séquentiel
pour le schéma séquentiel indexé ; il contient son propre
index.
Fichiers de travail utilisés
Il n'existe qu'un fichier de travail UFAS mais deux sous-fichiers de bibliothèque peuvent
également servir de fichiers de travail :
WF1
fichier de travail UFAS séquentiel associé au nom de fichier
interne WF1.
QSL SUBFILE=LF1
sous-fichier associé au nom de fichier interne LF1.
QSL SUBFILE=LF2
sous-fichier associé au nom de fichier interne LF2.
Le point précédant le nom signifie que ces fichiers appartiennent au répertoire de
référence. Ils peuvent donc être identifiés sous cette forme abrégée. Le nom d'accès
complet de .WF1, par exemple, serait SUP3.JPP.WF1.
47 F2 80UR Rev02
A-3
IQS-V4 Guide de l'administrateur
A.4
ORDRE D'EXECUTION DES COMMANDES
Le système est créé au moyen des commandes décrites dans les paragraphes qui
suivent, dans l'ordre indiqué. Chaque commande doit être exécutée sans erreur avant
de passer à la suivante.
A.4.1
Création du répertoire
Voir ci-dessus.
A.4.2
Création des bibliothèques et des fichiers
Les commandes utilisées pour la création des bibliothèques et des fichiers sont
respectivement BUILD_LIBRARY (BLIB) et BUILD_FILE (BF). L'utilisateur doit
remplacer L686:MS/D500 par sa propre identification de volume.
S: BUILD_LIBRARY .QSL:L686:MS/D500 SIZE=1 MEMBERS=200;
Cette commande crée la bibliothèque origine.
S: BLIB .QBIN:L686:MS/D500 SIZE=1 MEMBERS=200 TYPE=BIN;
Cette commande crée la bibliothèque binaire.
S: BLIB .QDDL:L686:MS/D500 SIZE=1 MEMBERS=200 TYPE=BIN;
Cette commande crée la bibliothèque des schémas.
S: BUILD_FILE .SEQ-DATA:L686:MS/D500 UFAS=SEQ SIZE=1 -:
CISIZE=5120 RECSIZE=99 RECFORM=V;
Cette commande crée le fichier de données séquentiel.
S: BF .IND-DATA:L686:MS/D500 UFAS=INDEXED SIZE=2 -:
CISIZE=5120 RECSIZE=139 KEYLOC=2 KEYSIZE=60 -:
SECIDX=62:11:DUPREC;
Cette commande crée le fichier de données séquentiel indexé.
S: BF .WF1:L686:MS/D500 UFAS=SEQ SIZE=1 CISIZE=5120 -:
RECSIZE=120 RECFORM=V;
Cette commande crée le fichier de travail.
Les commandes ci-dessus sont présentées en mode expert, qui permet une introduction
concise et rapide, mais qui n'autorise aucune erreur de frappe. Il existe également un
mode "semi-expert" d'utilisation plus facile pour les commandes longues. Dans ce
mode, l'utilisateur introduit la première ligne en s'assurant qu'elle ne comporte pas
d'erreur, puis il frappe un point-virgule (;) ; il bénéficie ensuite d'un guidage pour les
paramètres restants.
A-4
47 F2 80UR Rev02
Exemple de création d'un système IQS
Si l'utilisateur fait une erreur de frappe n'entravant pas la création du fichier (dans
RECSIZE par exemple ou SECIDX), il doit supprimer le fichier et recommencer. La
suppression s'effectue au moyen de la commande DELETE_FILE (ou DLF) :
S: DLF .nom-fichier
A.4.3
Définition des bibliothèques de travail
Une fois les bibliothèques créées, elles peuvent être déclarées comme bibliothèques de
travail au moyen des directives suivantes :
S: MWLIB SL .QSL;
implicite)
(bibliothèque de travail origine
S: MWLIB BIN .QBIN
implicite)
(bibliothèque de travail binaire
S: MWINLIB BIN (.QDDL .QBIN) (bibliothèque de travail binaire
implicite ou bibliothèque d'entrée
uniquement)
Ces bibliothèques de travail seront utilisées par la plupart des processeurs, y compris
IQS, pour charger les paramètres implicites au moment de leur appel (SLLIB, BINLIB et
DDLIBn dans IQS par exemple). A noter que les directives MP, MWLIB et MWINLIB
sont généralement incorporées à la séquence de lancement de l'utilisateur, ce qui évite
d'avoir à les introduire manuellement au début de chaque session IOF.
A.4.4
Description des schémas
Tout schéma origine doit être compilé pour qu'IQS puisse accéder aux données qu'il
décrit. Il doit d'abord être créé au moyen de l'éditeur ligne de GCOS 7 (TEXT EDITOR)
qui est appelé par la commande suivante :
S: EDIT;
(ou ED;)
Cet éditeur utilise la bibliothèque de travail origine (.QSL).
Si l'utilisateur n'est pas familiarisé avec l'éditeur ligne et qu'il dispose d'un terminal
approprié, il peut trouver plus pratique d'employer l'éditeur plein écran (FSE), dont
l'appel s'effectue au moyen de la commande :
S: FSE;
Dans le système considéré ici, deux schémas sont à créer : IND et SEQ. Les textes
origine de ces schémas sont fournis aux figures A-1 et A-2. A noter que les deux
schémas comportent de nombreuses lignes identiques ; de ce fait, le schéma SEQ peut
être créé en modifiant simplement le texte du schéma IND. A noter également que
chaque phrase d'un schéma doit se terminer par un point.
A noter que le langage DDL de création de schéma est décrit au chapitre 4.
47 F2 80UR Rev02
A-5
IQS-V4 Guide de l'administrateur
10
20
30
40
50
60
70
80
90
100
110
120
130
140
150
160
170
180
190
200
210
220
230
240
250
260
270
280
290
300
310
320
330
340
350
360
370
380
390
400
410
420
430
440
450
460
470
480
S C H E M A N A M E IS IN D .
A R E A N A M E IS IN D -A O R G A N IZ A T IO N IN D E X E D U S IN G K E Y -1.
R E C O R D N A M E IS U N IV E R S IT Y W IT H IN IN D -A
R E C O R D -T Y P E D E F IN E D B Y C H E C K O N T Y P
K E Y K E Y -1 IS A S C E N D IN G U -N A M E , F IL2, F IL3 D U P N O T
K E Y K E Y -2 IS A S C E N D IN G F IL4 D U P LA S T .
02 T YP T Y P E IS C H A R A C T E R 1 C H E C K V A LU E "U ".
02 U -N A M E T Y P E IS C H A R A C T E R 20.
02 F IL2 T Y P E IS C H A R A C T E R 20 C H E C K V A LU E " ".
02 F IL3 T Y P E IS C H A R A C T E R 20 C H E C K V A LU E " ".
02 F IL4 T Y P E IS C H A R A C T E R 11 C H E C K V A LU E " ".
02 C IT Y T Y P E IS C H A R A C T E R 25.
R E C O R D N A M E IS C O LLE G E W IT H IN IN D -A
R E C O R D -T Y P E D E F IN E D B Y C H E C K O N T Y P
K E Y K E Y -1 IS A S C E N D IN G C -U -N A M E , C O L-N A M E , F IL3 D U P N O T
K E Y K E Y -2 IS A S C E N D IN G F IL4 D U P LA S T .
02 T Y P T YP E IS C H A R A C T E R 1 C H E C K V A LU E "C ".
02 C -U -N A M E T Y P E IS C H A R A C T E R 20.
02 C O L-N A M E T Y P E IS C H A R A C T E R 20.
02 F IL3 T Y P E IS C H A R A C T E R 20 C H E C K V A LU E " ".
02 F IL4 T Y P E IS C H A R A C T E R 11 C H E C K V A LU E " ".
R E C O R D N A M E IS S T U D E N T W IT H IN IN D -A
R E C O R D -T Y P E D E F IN E D B Y C H E C K O N T Y P
K E Y K E Y -1 IS A S C E N D IN G S -U -N A M E , S -C O L-N A M E
S -N A M E D U P N O T
K E Y K E Y -2 IS A S C E N D IN G S O C IA L-S E C D U P LA S T .
02 T Y P T YP E IS C H A R A C T E R 1 C H E C K V A LU E "S ".
02 S -U -N A M E T YP E IS C H A R A C T E R 20.
02 S -C O L-N A M E T YP E IS C H A R A C T E R 20.
02 S -N A M E T Y P E IS C H A R A C T E R 20.
02 S O C IA L-S E C T Y P E IS C H A R A C T E R 11.
02 G R A D E T Y P E IS C H A R A C T E R 9
C H E C K V A LU E "JU N IO R " "S E N IO R ".
02 B IR T H -D A T E .
04 B -Y E A R T Y P E IS U N S IG N E D U N P A C K E D D E C IM A L 2.
04 B -M O N T H T Y P E IS U N S IG N E D U N P A C K E D D E C IM A L 2
C H E C K V A LU E 1 T H R U 12.
04 B -D A Y T Y P E IS U N S IG N E D U N P A C K E D D E C IM A L 2
C H E C K V A LU E 1 T H R U 31.
02 F E E S -D U E T Y P E IS S IG N E D B IN A R Y 31.
02 D IP LO M A T Y P E IS C H A R A C T E R 12 O C C U R S 4.
S E T N A M E IS U -C
O W N E R IS U N IV E R S IT Y
M E M B E R IS C O LLE G E .
S E T N A M E IS C -S
O W N E R IS C O LLE G E
M E M B E R IS S T U D E N T .
E N D -S C H E M A .
Figure A-1. DDL du schéma origine IND
A-6
47 F2 80UR Rev02
Exemple de création d'un système IQS
10
20
30
40
50
60
70
80
90
100
110
120
130
140
150
160
170
180
190
200
210
220
230
240
250
260
270
280
290
300
310
320
330
340
350
360
370
380
390
400
S C H E M A N A M E IS S E Q .
A R E A N A M E IS S E Q -A .
R E C O R D N A M E IS U N IV E R S IT Y W IT H IN S E Q -A
R E C O R D -T Y P E D E F IN E D B Y C H E C K O N T Y P .
02 T Y P T Y P E IS C H A R A C T E R 1 C H E C K V A LU E "U ".
02 U -N A M E T YP E IS C H A R A C T E R 20.
02 C IT Y T Y P E IS C H A R A C T E R 25.
R E C O R D N A M E IS C O LLE G E W IT H IN S E Q -A
R E C O R D -T Y P E D E F IN E D B Y C H E C K O N T Y P .
02 T Y P T Y P E IS C H A R A C T E R 1 C H E C K V A LU E "C ".
02 C O L-N A M E T YP E IS C H A R A C T E R 20.
R E C O R D N A M E IS D E P A R T M E N T W IT H IN S E Q -A
R E C O R D -T Y P E D E F IN E D B Y C H E C K O N T Y P .
02 T Y P T Y P E IS C H A R A C T E R 1 C H E C K V A LU E "D ".
02 D E P A R T -N A M E T Y P E IS C H A R A C T E R 20.
R E C O R D N A M E IS S T U D E N T W IT H IN S E Q -A
R E C O R D -T Y P E D E F IN E D B Y C H E C K O N T Y P .
02 T Y P T Y P E IS C H A R A C T E R 1 C H E C K V A LU E "S ".
02 S -N A M E T Y P E IS C H A R A C T E R 20.
02 S O C IA L-S E C T Y P E IS C H A R A C T E R 11.
02 G R A D E T Y P E IS C H A R A C T E R 9
C H E C K V A LU E "JU N IO R " "S E N IO R ".
02 B IR T H -D A T E .
04 B -Y E A R T Y P E IS U N S IG N E D U N P A C K E D D E C IM A L 2.
04 B -M O N T H T Y P E IS U N S IG N E D U N P A C K E D D E C IM A L 2
C H E C K V A LU E 1 T H R U 12.
04 B -D A Y T Y P E IS U N S IG N E D U N P A C K E D D E C IM A L 2
C H E C K V A LU E 1 T H R U 31.
02 F E E S -D U E T Y P E IS S IG N E D B IN A R Y 31.
02 D IP LO M A T Y P E IS C H A R A C T E R 12 O C C U R S 4.
S E T N A M E IS U -C
O W N E R IS U N IV E R S IT Y
M E M B E R IS C O LLE G E .
S E T N A M E IS C -S
O W N E R IS C O LLE G E
M E M B E R IS S T U D E N T .
S E T N A M E IS C -D
O W N E R IS C O LLE G E
M E M B E R IS D E P A R T M E N T .
E N D -S C H E M A .
Figure A-2. DDL du schéma origine SEQ
Une fois créés, les schémas origine doivent être compilés par MAINTAIN_DD
(voir chapitre 4).
47 F2 80UR Rev02
A-7
IQS-V4 Guide de l'administrateur
A.4.5
Appel d'IQS
Après compilation du schéma origine et obtention d'un schéma résultant DDL,
l'utilisateur peut activer le processeur IQS par les commandes suivantes :
S: IQS -: AREA1=IND-A .IND-DATA -: AREA2=SEQ-A .SEQ-DATA -: FILE3=LF1 .QSL..LF1 -: FILE4=LF2 .QSL..LF2 -: FILE5=WF1 .WF1;
AREAn est strictement équivalent à FILEn ; il sert uniquement à améliorer la lisibilité et
n'implique pas que le fichier spécifié sera nécessairement utilisé comme aire.
Une fois ces commandes introduites, l'utilisateur est à l'intérieur d'IQS au niveau
commande (C:).
Si IQS est fréquemment utilisé, il vaut mieux éviter d'avoir à refrapper à chaque fois tous
les paramètres. Pour ce faire, l'utilisateur peut créer sa propre procédure GCL qui
lancera automatiquement IQS avec les paramètres appropriés (voir chapitre 6).
La figure A-3 montre la création et l'enregistrement de cette procédure personnalisée,
appelée ici MYIQS, au moyen du processeur MAINTAIN_COMMAND (abréviation
MNCMD). L'utilisateur n'a plus ensuite qu'à frapper MYIQS pour la lancer.
A-8
47 F2 80UR Rev02
Exemple de création d'un système IQS
S: M NCM D;
A ppel du process eur M A IN T A IN _C O M M A N D .
C: ED;
A ppel de l'éditeur ligne pour introduire le contenu de la procédure à créer ;
R: A
I:
I:
I:
I:
I:
I:
I:
I:
I:
I:
I:
I:
I:
P R O C N A M E = M Y IQ S ;
M W LIB B IN S U P 3.JP P .Q B IN ;
C A LL IQ S
S LLIB = S U P 3.JP P .Q S L
B IN LIB = S U P 3.JP P .Q B IN
D D LIB = S U P 3.J P P .Q D D L
A R E A 1= IN D -A A S G 1= S U P 3.JP P .IN D -D A T A
A R E A 2= S E Q -A A S G 2= S U P 3.JP P .S E Q -D A T A
F ILE 3= LF 1 A S G 3= S U P 3.JP P .Q S L..LF 1
F ILE 4= LF 2 A S G 4= S U P 3.JP P .Q S L..LF 2
F ILE 5= W F 1 A S G 5= S U P 3.J P P .W F 1;
ENDPROC;
/
F in du tex te.
R : W (C M D )M Y IQ S
R angem ent de la procédure dans la bibliothèque origine.
R: /
S ortie de l'éditeur.
C : D O M A IN IO F ;
Indication du dom aine G C O S 7 dans lequel la procédure sera utilisée.
C : C O M P M Y IQ S B R IE F ;
C om pilation de la procédure et rangem ent dans l'unité de bibliothèque M Y IQ S .
C: /
S ortie du processeur M A IN T A IN _C O M M A N D .
Figure A-3. Création d'une procédure GCL d'appel d'IQS
47 F2 80UR Rev02
A-9
IQS-V4 Guide de l'administrateur
A.4.6
Compilation d'un schéma sous IQS
Après avoir compilé ses schémas sous GCOS 7 (par DDLPROC), l'utilisateur doit les
soumettre à une autre compilation sous IQS (voir chapitre 7). Pour ce faire, il doit lancer
IQS et utiliser la commande COMPILE SCHEMA au niveau commande (C:) comme suit
:
C: COMPILE SCHEMA IND
C: CMSC SEQ
SCHEMA)
(CMSC est l'abréviation de COMPILE
IQS est maintenant prêt à traiter les bases de données correspondantes.
A.4.7
Création d'une base de données séquentielle indexée
Après avoir lancé IQS, l'utilisateur introduit les commandes suivantes :
C: SELECT IND
V: OPEN UPDATE
Ces commandes permettent la sélection du schéma et l'ouverture des aires en mise à
jour.
V: AUTO
L'utilisateur frappe alors le texte de la requête IND-CREATE (voir figure A-4). Les
renfoncements n'étant pas obligatoires, il est possible d'introduire plus d'une instruction
par ligne. Les renfoncements peuvent être obtenus automatiquement au moyen de la
commande TRANSLATE QUERY (mais dans ce cas les commentaires seront
supprimés) et la numérotation finale des lignes au moyen de RENUMBER. Il est
recommandé de sauvegarder la requête origine dans SLLIB avant de la traduire.
L'utilisateur quitte le mode saisie en frappant une barre oblique, puis sauvegarde la
requête comme suit :
I: /
V: SAVE QUERY IND-CREATE
Il demande ensuite sa compilation et son exécution par la commande :
V: GO
A l'exécution, le système lui demande d'introduire les valeurs des différentes zones
spécifiées par les instructions ACCEPT, en commençant par U-NAME. Les réponses
sont indiquées à la figure A-5.
Il peut corriger ses entrées à tout moment en frappant le caractère <, provoquant le
retour au début de l'instruction ACCEPT courante.
L'utilisateur indique la fin des entrées en introduisant END en réponse aux guidages
COL-NAME et U-NAME comme indiqué à la figure A-5.
Une fois effectué le chargement de la base séquentielle indexée, l'utilisateur peut
procéder à celui de la base séquentielle.
A-10
47 F2 80UR Rev02
Exemple de création d'un système IQS
---------------------------------------------------------------|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10
: CREATE UNIVERSITY
20
:
30
:
40
:
IF U-NAME = "END"
50
:
THEN
60
:
70
:
END
80
:
INSERT UNIVERSITY
90
:
RETRIEVE UNIV = UNIVERSITY
100
:
110
:
120
:
ACCEPT COL-NAME
130
:
IF COL-NAME = "END"
140
:
THEN
150
:
160
:
END
170
:
INSERT COLLEGE
180
:
RETRIEVE COLL1 = COLLEGE
190
:
200
:
210
:
220
:
230
:
SOCIAL-SEC,
240
:
GRADE,
250
:
BIRTH-DATE,
260
:
FEES-DUE,
270
:
DIPLOMA
280
:
IF S-NAME = "END"
290
:
THEN
300
:
47 F2 80UR Rev02
ACCEPT U-NAME
CITY
EXIT
WHERE U-NAME = U-NAME OF UNIVERSITY
CREATE COLLEGE
EXIT
WHERE COL-NAME OF COLL1
= COL-NAME OF COLLEGE
CREATE STUDENT
ACCEPT S-NAME,
EXIT
A-11
IQS-V4 Guide de l'administrateur
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
310
:
END
320
:
INSERT STUDENT
330
:
REPEAT
340
:
350
:
END
360
:
REPEAT
370
:
380
:
END
390
:
REPEAT
400
: END
END
END
----------------------------------------------------------------
Figure A-4. Création d'un fichier séquentiel indexé : requête IND-CREATE
A-12
47 F2 80UR Rev02
Exemple de création d'un système IQS
U -N A M E : N E W T O W N S
C IT Y : S A N -F R A N C IS C O
C O L-N A M E : M E D IC IN E
S -N A M E : A D A M S
S O C IA L-S E C : 136 45 7341
G R A D E : JU N IO R
B IR T H -D A T E
B -Y E A R : 61
B -M O N T H : 10
B -D A Y : 09
F E E S -D U E : 2000
D IP LO M A 1 : ;
S -N A M E : S T E V E N S O N
S O C IA L-S E C : 237 75 1523
G R A D E : S E N IO R
B IR T H -D A T E
B -Y E A R : 59
B -M O N T H : 11
B -D A Y : 23
F E E S -D U E : 2500
D IP LO M A 1 : A LG E B R A
D IP LO M A 2 : ;
S -N A M E : W A LS O N
S O C IA L-S E C : 241 13 8653
G R A D E : S E N IO R
B IR T H -D A T E
B -Y E A R : 57
B -M O N T H : 08
B -D A Y : 15
F E E S -D U E : 1900
D IP LO M A 1 : ;
S -N A M E : E N D
S O C IA L-S E C : ;
C O L-N A M E : P H A R M A C Y
S -N A M E : E N D
S O C IA L-S E C : ;
C O L-N A M E : S C IE N C E
S -N A M E : JO H N S T O N E
S O C IA L-S E C : 140 26 1344
G R A D E : JU N IO R
B IR T H -D A T E
B -Y E A R : 63
B -M O N T H : 01
B -D A Y : 22
F E E S -D U E : 800
D IP LO M A 1 : ;
Figure A-5. Données introduites à l'exécution de IND-CREATE (1/2)
47 F2 80UR Rev02
A-13
IQS-V4 Guide de l'administrateur
S -N A M E : M U LLE R
S O C IA L-S E C : 243 25 1313
G R A D E : S E N IO R
B IR T H -D A T E
B -Y E A R : 58
B -M O N T H : 04
B -D A Y : 19
F E E S -D U E : 1200
D IP LO M A 1 : A LG E B R A
D IP LO M A 2 : M E C H A N IC S
D IP LO M A 3 : ;
S -N A M E : S M IT H
S O C IA L-S E C : 139 15 4973
G R A D E : JU N IO R
B IR T H -D A T E
B -Y E A R : 62
B -M O N T H : 07
B -D A Y : 16
F E E S -D U E : 1100
D IP LO M A 1 : ;
S -N A M E : W E B B
S O C IA L-S E C : 144 26 1316
G R A D E : S E N IO R
B IR T H -D A T E
B -Y E A R : 56
B -M O N T H : 03
B -D A Y : 27
F E E S -D U E : 1500
D IP LO M A 1 : A LG E B R A
D IP LO M A 2 : A N A LY S IS
D IP LO M A 3 : G E R M A N
D IP LO M A 4 : ;
S -N A M E : E N D
S O C IA L-S E C : ;
C O L-N A M E : E N D
U -N A M E : O LD T O W N S
C IT Y : C H IC A G O
C O L-N A M E : E C O N O M Y
S -N A M E : E N D
S O C IA L-S E C : ;
U -N A M E : N O T O W N S
C IT Y :
C O L-N A M E : E N D
U -N A M E : E N D
C IT Y :
V:
Figure A-5. Données introduites à l'exécution de IND-CREATE (2/2)
A-14
47 F2 80UR Rev02
Exemple de création d'un système IQS
A.4.8
Création d'une base de données séquentielle
L'instruction INSERT du langage de requêtes ne peut pas être employée pour créer une
base de données séquentielle ; par contre, l'instruction WRITE permet de créer un
fichier de travail séquentiel (fichier non défini par un schéma), en utilisant des structures
définies à partir de descriptions d'article.
L'utilisateur commence (au niveau C:) en introduisant les
commandes suivantes (SL est C: SL SEQ
V: DFST ST-UNIV AS RECORD UNIVERSITY
V: DFST ST-COLLEGE AS RECORD COLLEGE
V: DFST ST-DEPART AS RECORD DEPARTMENT
V: DFST ST-STUD AS RECORD STUDENT
V: /
Les structures ainsi définies à partir de descriptions d'article sont maintenant utilisables
avec n'importe quel schéma.
Une base de données séquentielle peut également être créée en utilisant l'instruction
ACCEPT cependant, il peut être intéressant de la créer à partir de la base séquentielle
indexée comme dans l'exemple qui suit.
L'utilisateur introduit :
C: SL IND
V: OPEN
Puis il saisit la requête SEQ-CREATE décrite à la figure A-6 et frappe la commande :
V: ASSIGN FILE-SEQ TO IFN SEQ-A
Le nom logique du fichier FILE-SEQ utilisé dans la requête est ainsi associé au nom de
fichier interne de la base de données séquentielle.
L'utilisateur peut alors lancer la requête par la commande GO.
47 F2 80UR Rev02
A-15
IQS-V4 Guide de l'administrateur
------------------------------------------------------------------------|
|
| 10
: DEFINE SEQ-UNIVERSITY
IDEM ST-UNIV,
|
| 20
:
SEQ-COLLEGE
IDEM ST-COLLEGE,
|
| 30
:
SEQ-DEPARTMENT
IDEM ST-DEPART,
|
| 40
:
SEQ-STUDENT
IDEM ST-STUD
|
| 50
: LET TYPE OF SEQ-UNIVERSITY = "U"
|
| 60
: LET TYPE OF SEQ-COLLEGE = "C"
|
| 70
: LET TYPE OF SEQ-DEPARTMENT = "D"
|
| 80
: LET TYPE OF SEQ-STUDENT = "S"
|
| 90
: RETRIEVE UNIVERSITY
|
| 100
:
LET U-NAME OF SEQ-UNIVERSITY = U-NAME OF UNIVERSITY
|
| 110
:
LET CITY OF SEQ-UNIVERSITY = CITY OF UNIVERSITY
|
| 120
:
WRITE SEQ-UNIVERSITY
|
| 130
:
TO FILE-SEQ
|
| 140
:
RETRIEVE COLLEGE
|
| 150
:
LET COL-NAME OF SEQ-COLLEGE = COL-NAME OF COLLEGE
|
| 160
:
WRITE SEQ-COLLEGE
|
| 170
:
TO FILE-SEQ
|
| 180
:
IF COL-NAME OF COLLEGE = "MEDICINE"
|
| 190
:
THEN
|
| 200
:
LET DEPART-NAME = "CARDIOLOGY"
|
| 210
:
WRITE SEQ-DEPARTMENT
|
| 220
:
TO FILE-SEQ
|
| 230
:
LET DEPART-NAME = "PATHOLOGY"
|
| 240
:
WRITE SEQ-DEPARTMENT
|
| 250
:
TO FILE-SEQ
|
| 260
:
END
|
| 270
:
IF COL-NAME = "SCIENCE"
|
| 280
:
THEN
|
| 290
:
LET DEPART-NAME = "MATHEMATICS"
|
| 300
:
WRITE SEQ-DEPARTMENT
|
| 310
:
TO FILE-SEQ
|
| 320
:
LET DEPART-NAME = "CHEMISTRY"
|
| 330
:
WRITE SEQ-DEPARTMENT
|
| 340
:
TO FILE-SEQ
|
| 350
:
LET DEPART-NAME = "PHYSICS"
|
| 360
:
WRITE SEQ-DEPARTMENT
|
| 370
:
TO FILE-SEQ
|
| 380
:
END
|
| 390
:
RETRIEVE STUDENT
|
| 400
:
LET S-NAME OF SEQ-STUDENT = S-NAME OF STUDENT
|
| 410
:
LET SOCIAL-SEC OF SEQ-STUDENT = SOCIAL-SEC OF STUDENT |
| 420
:
LET GRADE OF SEQ-STUDENT = GRADE OF STUDENT
|
| 430
:
LET BIRTH-DATE OF SEQ-STUDENT = BIRTH-DATE OF STUDENT |
| 440
:
LET FEES-DUE OF SEQ-STUDENT = FEES-DUE OF STUDENT
|
| 450
:
LET DIPLOMA OF SEQ-STUDENT = DIPLOMA OF STUDENT
|
| 460
:
WRITE SEQ-STUDENT
|
| 470
:
TO FILE-SEQ
|
| 480
:
END
|
| 490
:
END
|
| 500
: END
|
|
|
-------------------------------------------------------------------------
Figure A-6. Création d'un fichier séquentiel : requête SEQ-CREATE
A-16
47 F2 80UR Rev02
Exemple de création d'un système IQS
L'association entre FILE-SEQ et le nom de fichier interne SEQ-A doit maintenant être
annulée par la commande :
V: ASSIGN FILE-SEQ
L'utilisateur doit frapper :
V: /
C: SL SEQ
V: OPEN
La base de données séquentielle est maintenant prête pour exécuter les exemples qui
figurent dans le Manuel de référence IQS-V4, Volume 2 ou pour l'exploiter librement.
A.4.9
Suppression du contenu de la base de données
Si, au cours des manipulations décrites ci-dessus, l'utilisateur souhaite supprimer le
contenu de la base courante, il peut le faire en introduisant :
RETRIEVE UNIVERSITY
DELETE UNIVERSITY WITH MEMBERS
END
47 F2 80UR Rev02
A-17
B. Sauvetage des index secondaires
B.1
INTRODUCTION
Cette annexe concerne les utilisateurs employant des fichiers UFAS séquentiel indexé
avec index secondaires. SD3.IQS.CUSTOMERS et SD3.IQS.ORDERS, qui font partie
du schéma SCH-CUSTOMERS, sont des exemples de tels fichiers (ou aires). Les clés
secondaires apparaissent en gras dans le schéma à la figure B-1.
A la suite d'un arrêt prématuré ou d'un blocage du système, il peut arriver que les clés
secondaires soient dans un état instable. Dans ce cas, à l'émission d'une commande
OPEN sous IQS, le message suivant est visualisé :
*** DUF07 IFN=nfi SECONDARY INDEXES HAVE TO BE SALVAGED
Il est possible d'éviter une telle instabilité en protégeant le fichier par le journal Avant.
Dans ce cas, une restauration non actualisée du fichier est effectuée à la relance du
système et le sauvetage n'est pas nécessaire. Toutefois, l'utilisation du journal Avant
implique une charge E/S accrue.
Un fichier (ou aire) est dans un état instable lorsqu'il n'a pas été fermé ou laissé dans un
état stable par suite d'un incident. De ce fait, les labels début et fin n'ont pas été écrits
correctement. Un index secondaire est dans un état instable lorsqu'il n'existe plus de
rubriques d'index pour certaines occurrences d'article ou lorsque des rubriques d'index
ne pointent sur aucune occurrence d'article.
47 F2 80UR Rev02
B-1
IQS-V4 Guide de l'administrateur
B.2
SAUVETAGE DES INDEX SECONDAIRES
Pour effectuer le sauvetage des index secondaires, l'utilisateur doit d'abord quitter IQS.
Une fois au niveau système (guidage S:), il doit appeler l'utilitaire SORT_INDEX
(SRTIDX) en spécifiant le nom du fichier, avec le format suivant :
SRTIDX [OUTFILE=] (description-fichier-sortie)
Exemple :
S: SRTIDX (SD3.IQS.CUSTOMERS)
Ici, SD3.IQS.CUSTOMERS est le fichier faisant l'objet du sauvetage. Les clés figurant
dans l'index secondaire sont triées en ordre croissant.
B.3
INFORMATIONS COMPLEMENTAIRES
• Si l'utilitaire SRTIDX rencontre plusieurs clés ayant la même valeur alors que les
valeurs de clés identiques sont interdites, il les supprime toutes sauf la première.
Le message suivant est visualisé :
WARNING DU03.80 FORBIDDEN DUPLICATE KEY FOR <valeur-clé>
• Si l'utilitaire SRTIDX rencontre un problème pour un fichier géré par GACEXTENDED, le message suivant peut être visualisé :
***DU04.51 ABNORMALLY PROCESSING: SECONDARY INDEX NOT
CREATED
RC = code-retour -> GAC 10,OPTERR
Ce type de problème peut être résolu en relançant SRTIDX, mais cette fois-ci avec
SHARE=NORMAL dans la description du fichier. Par exemple :
S: SRTIDX (SD3.IQS.ORDERS SHARE=NORMAL)
• Une fois l'exécution de SRTIDX terminée, un compte rendu est produit dont le format
est le suivant :
SR010 SORT REPORT : RELEASED = <valeur>
<valeur>
RETURNED =
Il indique le nombre d'articles traités, ce nombre incluant les articles à valeurs de clés
identiques.
Les informations fournies ici constituent un bref aperçu du sauvetage des index
secondaires pour les fichiers (ou aires) UFAS séquentiel indexé utilisés au cours d'une
session IQS. Les utilisateurs souhaitant obtenir des informations complètes sur les index
primaires et secondaires pourront se reporter aux manuels sur les utilitaires de gestion
de données et sur UFAS-EXTENDED.
B-2
47 F2 80UR Rev02
Sauvetage des index secondaires
S C H E M A N A M E IS S C H -C U S T O M E R S .
A R E A N A M E IS A -C U S T O R G A N IZ A T IO N IS IN D E X E D U S IN G K E Y -C U S T .
A R E A N A M E IS A -O R D E R O R G A N IZ A T IO N IS IN D E X E D U S IN G K E Y -O R D E R .
A R E A N A M E IS A -IT E M O R G A N IZ A T IO N IS IN D E X E D U S IN G K E Y -IT E M .
R E C O R D N A M E IS C U S T O M E R S
K E Y K E Y -C U S T IS A S C E N D IN G C U -C O D E D U P LIC A T E S N O T
K E Y K E Y -C IT Y IS A S C E N D IN G C U -C IT Y D U P LIC A T E S LA S T W IT H IN A -C U S T .
02
02
02
02
C U -C O D E
C U -N A M E
C U -S T R E E T
C U -C IT Y
T Y P E IS C H A R A C T E R 6.
T Y P E IS C H A R A C T E R 15.
T Y P E IS C H A R A C T E R 20.
T Y P E IS C H A R A C T E R 15.
R E C O R D N A M E IS O R D E R S
K E Y K E Y -O R D E R IS A S C E N D IN G O R D -C O D E , O R D -F ILLE R D U P LIC A T E S N O T
K E Y K E Y -C U -C O D E IS A S C E N D IN G O R D -C U -C O D E D U P LIC A T E S LA S T
K E Y K E Y -IT -C O D E IS A S C E N D IN G O R D -F ILLE R D U P LIC A T E S LA S T
R E C O R D -T YP E D E F IN E D B Y C H E C K O N O R D -T Y P E W IT H IN A -O R D E R .
02 O R D -T Y P E
T Y P E IS C H A R A C T E R 1 C H E C K IS V A LU E "O ".
02 O R D -C O D E
T Y P E IS C H A R A C T E R 7.
02 O R D -F ILLE R
T Y P E IS C H A R A C T E R 4 C H E C K IS V A LU E " ".
02 O R D -C U -C O D E
T Y P E IS C H A R A C T E R 6.
02 O R D -D A T E
T Y P E IS C H A R A C T E R 6.
R E C O R D N A M E IS O R D E R -LIN E S
K E Y K E Y -O R D E R IS A S C E N D IN G LI-O R D -C O D E , LI-IT -C O D E D U P LIC A T E S N O T
K E Y K E Y -C U -C O D E IS A S C E N D IN G LI-C U -C O D E D U P LIC A T E S LA S T
K E Y K E Y -IT -C O D E IS A S C E N D IN G LI-IT -C O D E D U P LIC A T E S LA S T
R E C O R D -T YP E D E F IN E D B Y C H E C K O N LI-T Y P E W IT H IN A -O R D E R .
02 LI-T Y P E
T Y P E IS C H A R A C T E R 1 C H E C K IS V A LU E "L".
02 LI-O R D -C O D E
T YP E IS C H A R A C T E R 7.
02 LI-IT -C O D E
T Y P E IS C H A R A C T E R 4.
02 LI-C U -C O D E
T Y P E IS C H A R A C T E R 6.
02 LI-Q T Y
T Y P E IS U N S IG N E D U N P A C K E D D E C IM A L 5.
R E C O R D N A M E IS IT E M S
K E Y K E Y -IT E M IS A S C E N D IN G IT -C O D E D U P LIC A T E S N O T W IT H IN A -IT E M .
02 IT -C O D E
T Y P E IS C H A R A C T E R 4.
02 IT -N A M E
T Y P E IS C H A R A C T E R 20.
02 IT -S T O C K
T Y P E IS U N S IG N E D U N P A C K E D D E C IM A L 5.
02 IT -P R IC E
T Y P E IS U N S IG N E D U N P A C K E D D E C IM A L 6 2.
S E T N A M E IS O R D E R -T O -LIN E
O W N E R IS O R D E R S
M E M B E R IS O R D E R -LIN E S .
E N D -S C H E M A .
Figure B-1. Clés secondaires dans le schéma SCH-CUSTOMERS
47 F2 80UR Rev02
B-3
IQS-V4 Guide de l'administrateur
B-4
47 F2 80UR Rev02
C. Utilisation de GT-WRITER sous IQS
C.1
INTRODUCTION
Cette annexe indique comment utiliser l'éditeur de sorties sur terminaux GT-WRITER
pour imprimer le contenu d'un fichier d'extraction sur un terminal imprimante d'un réseau
DSA.
L'utilisateur doit déjà connaître GT-WRITER. En cas de besoin, il peut se reporter au
Guide de l'utilisateur GT-WRITER.
Il existe deux méthodes pour employer GT-WRITER sous IQS :
• utilisation du dispositif AUTO de SYS.TW.OUT,
• création d'une unité dans la bibliothèque IQS SLLIB.
C.1.1
Utilisation du dispositif AUTO de SYS.TW.OUT
Cette méthode est la plus simple. Elle est particulièrement pratique pour les usagers
IQS puisque les sorties sont automatiquement envoyées et imprimées sur le terminal
(ou pool de terminaux) spécifié à la génération de GT-WRITER (TWGEN).
La bibliothèque SYS.TW.OUT ne doit pas être cataloguée.
A la génération de GT-WRITER, l'utilisateur doit spécifier AUTO=<préfixe> :
• soit dans la directive POOL, dans le cas d'un pool de terminaux,
• soit dans la directive TERM, dans le cas d'un terminal isolé.
Sous IQS, il doit affecter pour l'impression un nom de fichier logique, et désigner le
fichier réel de sortie, dont le nom doit commencer par "préfixe". Ces paramètres peuvent
figurer dans la procédure d'appel d'IQS.
47 F2 80UR Rev02
C-1
IQS-V4 Guide de l'administrateur
Le fichier réel est désigné sous la forme suivante :
SYS.TW.OUT..<préfixe-nom-fichier-impr>:<nom-vol>:<cl-app>
Remarque :
Le nom de volume et la classe d'appareils sont obligatoires
même si la bibliothèque SYS.TW.OUT est implantée dans un
disque résidant.
Exemple d'affectation dans IQS :
ASSIGN PRT <nom-état>
TO FILE SYS.TW.OUT..<préfixe-nom-fichier-impr>:<nom-vol>:<cl-app>
Lorsque l'utilisateur veut imprimer un état, il lui suffit d'introduire :
PRINT TO <nom-état>
Cette commande génère automatiquement dans SYS.TW.OUT une unité de sortie dont
le nom a la forme <préfixe-nom-fichier-impr>.
Si nécessaire, l'utilisateur peut employer plusieurs commandes ASSIGN PRT avec
différents noms d'états et de fichiers d'impression.
C.1.2
Création d'une unité dans la bibliothèque IQS SLLIB
Cette deuxième méthode implique la création d'une unité dans la bibliothèque SLLIB
employée par IQS. Cette création s'effectue comme suit :
C: AUTO
10:
20:
30:
40:
50:
ASSIGN PRINTER TO FILE <bib-sl>..<unité>:<nom-vol>:<cl-app>
PRINT
XXDPRINT <bib-sl>..<unité>:<nom-vol>:<cl-app>
TWDEST=<[liste-]id-terminal>
ASSIGN PRINTER TO TERM
/
C: 30S/XX/$$
C: SAVE PRINTA
Chaque exécution de cette séquence provoque le transfert du contenu du fichier
d'impression dans une unité de bibliothèque et son impression sur le terminal spécifié
par TWDEST.
Pour exécuter la séquence, l'utilisateur doit introduire :
$$ALTER_INPUT PRINTA
Avec cette méthode, l'utilisateur peut créer plusieurs séquences (par exemple PRINTA,
PRINTAB, PRINTC, etc.) pour lui-même ou pour d'autres utilisateurs.
C-2
47 F2 80UR Rev02
D. Opérations possibles en fonction de
l'organisation des données
L'organisation des données IQS a une influence sur la façon dont il est possible d'y
accéder et dont elles peuvent être traitées. La figure D-1 présente les différentes
opérations possibles (lecture, mise à jour, insertion, suppression) pour chaque
organisation.
47 F2 80UR Rev02
D-1
IQS-V4 Guide de l'administrateur
F
I
C
H
I
E
R
T
R
A
V
A
I
L
UNITE BIBLIOTHEQUE
U
F
A
S
SEQ
1
VAR
V
U
E
2
1
3
3
3
3
3
3
3
3
3
3
3
3
4
4
4
4
4
4
IND
5
5
5
5
5
5
SEQ
5
5
6
6
7
7
IDS/II
U
F
A
S
D
E
D
O
N
N
E
E
S
1
1
UF A S
+
ID S /II
B
A
S
E
2
REL
4
4
IDS/II
S
C
H
E
M
A
8
U
F
A
S
REL
4
8
4
4
8
4
8
4
4
4
4
9
9
9
9
IND
SEQ
O R G A N IS A T IO N
DES DONNEES
P
O P E R A T IO N
I
LE C T U R E
L E G E N D E : P = la ng a ge d e re qu ê te s (pro céd u ra l)
I = la ng a ge d e co m m an d e IQ S
(n on p ro cé du ra l)
P
I
M IS E A J O U R
P
I
IN S E R T IO N
P
I
S U P P R E S S IO N
O pération possible.
V oir rem arque le cas échéant.
O pération im possible.
V oir rem arque le cas échéant.
Figure D-1. Opérations possibles pour chaque organisation
D-2
47 F2 80UR Rev02
Opérations possibles en fonction de l'organisation des données
Remarques relatives à la figure D-1 :
1.
La mise à jour et la suppression sont impossibles. Seules les instructions du
langage de requêtes suivantes sont utilisables :
WRITE (fonction insertion),
WRITE APPEND (fonction insertion),
READ (fonction lecture).
2.
La possibilité est fonction des attributs de la bibliothèque, à savoir de la valeur des
paramètres DELREC et COMPACT. Voir les manuels sur la maintenance des
bibliothèques.
3.
Lorsqu'une vue comporte des articles IDS/II, la mise à jour, l'insertion et la
suppression sont impossibles.
4.
Les fichiers relatifs sont admis sous IQS-V4.
5.
Les articles logiques doivent être strictement identiques aux articles physiques
(réels).
6.
L'insertion dans un fichier UFAS séquentiel multiarticle est impossible. Seule
l'adjonction en fin de fichier est possible, ce qui ne convient pas si l'article du fichier
fait partie d'une hiérarchie.
7.
La suppression est impossible car, au niveau des vues, les droits d'accès en
suppression sont inséparables des droits d'accès en insertion. L'insertion étant
impossible, la suppression l'est également.
8.
La commande REVIEW RETRIEVAL n'est utilisable que pour les vues et pour les
schémas décrivant des fichiers UFAS. La commande REVIEW UPDATE n'est
jamais utilisable pour des articles IDS/II.
9.
La suppression est possible puisqu'ici ne se pose pas de problème de droits
d'accès (voir remarque 7). L'insertion est impossible (voir remarque 6).
47 F2 80UR Rev02
D-3
IQS-V4 Guide de l'administrateur
D-4
47 F2 80UR Rev02
E. Schéma SCH-CUSTOMERS :
tables des données
Tableau E-1. Table CUSTOMERS
C U -C O D E
C U-NAM E
12890G
29883M
34567S
44355G
45667A
45678N
46221L
59343L
67002T
67321P
72345L
73447P
76022D
77256L
82345B
82531N
89903L
92761M
JIM R O A C H
JA M E S T A Y LO R
PAUL STRANG
A LA N B R A D LE Y
M IK E B A N N E R M A N N
E LIZ A B E T H Y O U N G
PETER ANDREW S
JO H N H O LM A N
A LA N W E IN B E R G
TOM SHEARER
D O U G LA S B R O O K S
D A V ID H O LB R O O K
K E V IN C A N N O N
D O N A LD M A C LE A N
R O G E R W ILLIA M S
F IO N A B A IN
M AX REESE
KAY EVANS
47 F2 80UR Rev02
CU -S TR EET
12 S U T T O N R O A D
3 P IC A D ILLY S T R E E T
36 H IG H S T R E E T
9 P A R K W A LK
70-72 Q U E E N S W A Y
19 S A LM O N LA N E
11 P E N N Y F IE LD
78 LO N D O N R O A D
5 P A R K LA N E
22 Q U E E N S T R E E T
13 A R G Y LL R O A D
6 GREEK STREET
1 BROM PTON ROAD
21 F R IT H S T R E E T
45 D E A N S T R E E T
32 S E LS D O N R O A D
11 F LE E T S T R E E T
9 H E N R IE T T A R O A D
C U-CITY
G LA S G O W
M ANCHESTER
SW ANSEA
G LA S G O W
ABERDEEN
N E W C A S T LE
LO N D O N
LIV E R P O O L
TORQUAY
P LY M O U T H
LO N D O N
P LY M O U T H
D U B LIN
LIV E R P O O L
B IR M IN G H A M
N E W C A S T LE
LO N D O N
M ANCHESTER
E-1
IQS-V4 Guide de l'administrateur
Tableau E-2. Table ORDER
E-2
ORD -TYPE
O R D -C O D E
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
O
2124530
2150540
2154740
2171430
2258710
2273320
2310210
2340210
2379220
2419840
2530120
2570110
2622210
2728830
2763610
2912310
2834550
2911820
2958310
2993130
O RD-FILLER
OR D-C U-CO DE
O RD-DATE
46221L
77256L
44355G
72345L
82345B
59343L
29883M
45678N
92761M
45667A
46221L
67002T
76022D
46221L
82345B
44355G
67321P
73447P
12890G
59343L
880309
870627
880130
880417
871210
880310
880204
871130
880206
880403
870820
880115
871001
871105
880122
880315
880310
871121
880302
880209
47 F2 80UR Rev02
Schéma SCH-CUSTOMERS : tables des données
Tableau E-3. Table ORDER-LINES
LI-TY PE
LI-O RD-CODE
LI-IT-CO DE
LI-CU-CODE
LI-QTY
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
L
21 24 53 0
21 50 54 0
21 50 54 0
21 50 54 0
21 50 54 0
21 50 54 0
21 54 74 0
21 71 43 0
21 71 43 0
22 58 71 0
22 73 32 0
23 10 21 0
23 40 21 0
23 40 21 0
23 79 22 0
23 79 22 0
23 79 22 0
24 19 84 0
24 19 84 0
24 19 84 0
24 19 84 0
25 30 12 0
25 30 12 0
25 70 11 0
25 70 11 0
25 70 11 0
26 22 21 0
26 22 21 0
26 22 21 0
26 22 21 0
26 22 21 0
26 22 21 0
27 28 83 0
27 28 83 0
27 28 83 0
27 63 61 0
27 63 61 0
27 63 61 0
28 12 31 0
28 12 31 0
28 12 31 0
28 34 55 0
28 34 55 0
29 11 82 0
29 11 82 0
29 58 31 0
29 58 31 0
29 58 31 0
29 93 13 0
29 93 13 0
11 4 1
10 1 1
10 5 1
11 1 1
11 3 1
11 3 1
11 4 1
11 1 1
11 2 1
11 8 1
11 5 1
10 3 1
11 7 1
11 8 1
10 5 1
11 1 1
11 6 1
10 0 1
10 3 1
11 0 1
11 6 1
10 7 1
11 9 1
10 5 1
11 2 1
11 8 1
10 0 1
10 1 1
10 2 1
11 2 1
11 3 1
11 4 1
10 7 1
10 8 1
11 0 1
10 0 1
10 1 1
10 2 1
10 2 1
10 3 1
11 7 1
10 4 1
10 6 1
11 3 1
11 5 1
10 0 1
10 1 1
10 4 1
10 8 1
10 9 1
4 62 21 L
7 72 56 L
7 72 56 L
7 72 56 L
7 72 56 L
44 35 5G
44 35 5G
7 23 45 L
7 23 45 L
8 23 45 B
5 93 43 L
2 98 83 M
4 56 78 N
4 56 78 N
9 27 61 M
9 27 61 M
9 27 61 M
4 56 67 A
4 56 67 A
4 56 67 A
4 56 67 A
4 62 21 L
4 62 21 L
67 00 2T
67 00 2T
67 00 2T
7 60 22 D
7 60 22 D
7 60 22 D
7 60 22 D
7 60 22 D
7 60 22 D
4 62 21 L
4 62 21 L
4 62 21 L
8 23 45 B
8 23 45 B
8 23 45 B
44 35 5G
44 35 5G
44 35 5G
6 73 21 P
6 73 21 P
7 34 47 P
7 34 47 P
12 89 0G
12 89 0G
12 89 0G
5 93 43 L
5 93 43 L
12
3
1
2
50
20
3
5
3
25
4
3
3
50
3
5
6
2
1
4
6
1
2
1
1
12
1
2
1
1
25
6
1
1
1
3
5
2
2
2
1
1
1
12
6
1
2
1
1
2
47 F2 80UR Rev02
E-3
IQS-V4 Guide de l'administrateur
Tableau E-4. Table ITEMS
IT-CO DE
10 01
10 11
10 21
10 31
10 41
10 51
10 61
10 71
10 81
10 91
11 01
11 11
11 21
11 31
11 41
11 51
11 61
11 71
11 81
11 91
E-4
IT-NAM E
TROUSERS
S H IR T
JA C K E T
HAT
T E LE V IS IO N
C A R R A D IO
T V A E R IA L
W A S H IN G M A C H IN E
D IS H W A S H E R
CUPBO ARD
VEST
T IE
W ATCH
C IG A R
W H IS K Y
SHOES
SO CKS
W A L LE T
PEN
T A B LE
IT-STO CK
IT-PRICE
1 24 0
3 54 0
9 26 0
10 0
15 0
16 0
26 0
99 0
1 25 0
3 50 0
3 62 0
4 65 0
5 34 2
6 34 1
7 35 0
8 20 0
9 13 5
1 24 3
96 0
85 0
3 0.00
7.00
6 0.00
5.00
3 00 .0 0
4 0.00
1 0.00
3 50 .0 0
3 70 .0 0
5 7.00
5.00
1 5.00
3 0.00
1.00
1 0.00
3 5.00
2.00
1 9.00
2 2.00
1 00 .0 0
47 F2 80UR Rev02
Glossaire
Administration
Mise en place de l'environnement d'une base de données IQS, exploitation quotidienne
de cette dernière et définition des règles gouvernant son utilisation.
Aire
Subdivision de la base de données correspondant à un fichier physique. Une aire peut
contenir les occurrences de plusieurs articles mais les occurrences d'un même article ne
peuvent pas être réparties dans plusieurs aires (sauf sous IDS/II). Pour que les données
qu'elle contient soient accessibles, une aire doit être ouverte.
Attente prolongée
Situation survenant lorsqu'un utilisateur attend une ressource détenue par un autre
utilisateur plus d'un certain temps.
Bibliothèque de travail
Bibliothèque déclarée dans une directive GCL MWINLIB ou MWLIB et constituant la
bibliothèque implicite pour la session, à moins qu'une affectation différente soit effectuée
dans la procédure GCL d'appel d'IQS.
Clé primaire
Clé unique utilisée pour l'organisation des occurrences d'article et l'accès à celles-ci.
Clé secondaire
Clé offrant une alternative pour l'accès aux occurrences d'article d'un fichier. Un article
peut comporter plusieurs clés secondaires (mais une seule clé primaire).
Condition restrictive
Condition utilisée pour occulter ou éliminer certaines données afin de n'obtenir que les
informations voulues.
DDL (Data Description Language)
Langage de description des données - Langage utilisé pour définir un schéma.
47 F2 80UR Rev02
g-1
IQS-V4 Guide de l'administrateur
Déclencheur
Requête compilée à exécuter lorsque certaines conditions sont réunies (en cas de
dépassement des limites de consommation des ressources, par exemple) ou à une
étape donnée du traitement (au début d'une session IQS, par exemple).
Il existe trois types de déclencheurs : les déclencheurs niveau session applicables
pendant toute la session IQS ; les déclencheurs niveau base de données et niveau
requête applicables respectivement pendant la session base de données et pour la
durée d'exécution d'une requête ; les déclencheurs niveau transaction applicables
uniquement aux transactions IQS exécutées sous TDS.
Les déclencheurs peuvent être activés avant et/ou après l'événement correspondant. Il
existe donc des déclencheurs "avant" et "après" pour chacun des trois types ci-dessus.
Dérivation
Mode d'obtention d'un article logique à partir d'un ou plusieurs articles physiques.
Domaine
Ensemble de commandes. A la livraison, le domaine IQS contient toutes les
commandes IQS. Il peut être personnalisé par l'administrateur pour s'adapter aux
besoins des différents types d'utilisateurs.
Droits d'accès
Moyen permettant à l'administrateur IQS de contrôler l'accès aux objets IQS. Sous
IQS-V4, l'administrateur peut créer (sous le processeur MAINTAIN_CATALOG) un
projet GCOS 7 pour une catégorie d'utilisateurs donnée. Il peut ensuite accorder ou
supprimer les droits d'accès du projet à chaque objet IQS au moyen des commandes
IQS GRANT et REVOKE. Les utilisateurs travaillant sous le projet peuvent alors
uniquement exploiter les objets autorisés pour ce projet. A noter que l'utilisateur sous
SYSADMIN peut accéder à tous les objets sans restriction.
Droits opérateur
Droits associés à un projet qui peuvent avoir une influence sur l'accessibilité et la
visibilité des commandes IQS.
Environnement
Ensemble de familles de commandes permettant de définir quelles sont les commandes
devant figurer dans les menus des utilisateurs et celles auxquelles ils ne doivent pas
avoir accès.
E/S
Entrées/sorties IQS, comptabilisées dans les variables système $MAX-IO et $USED-IO.
Il y a une E/S, par exemple, chaque fois qu'une occurrence est traitée par une instruction
RETRIEVE, READ ou REVIEW.
Famille
Ensemble de commandes permettant de définir des environnements pour contrôler
l'accès des utilisateurs aux commandes.
g-2
47 F2 80UR Rev02
Glossaire
Fichier de saisie
Fichier physique UFAS pouvant être créé, utilisé et supprimé directement sous IQS. Les
fichiers de saisie peuvent comporter des données propres à l'utilisateur et faire partie de
sa base de données personnelle. Si nécessaire, ils peuvent être combinés à un ou
plusieurs schémas pour constituer des vues standard.
GT-WRITER
Editeur de sorties sur terminaux, permettant l'impression d'informations sur un ensemble
de terminaux.
Index secondaire
Index des clés secondaires triées en ordre croissant. Les fichiers comportant des index
secondaires doivent être protégés par le journal Avant pour assurer la stabilité de leurs
index.
Jointure
Condition portant sur les valeurs de zones similaires dans différents articles afin d'établir
entre ces derniers de nouvelles relations (jointure sur égalité de valeurs).
MAINTAIN_DD
Processeur permettant de compiler un schéma DDL origine pour obtenir un schéma
résultant.
Métabase
Dictionnaire de données permettant à l'utilisateur d'obtenir des informations sur tous les
objets IQS disponibles au cours de la session. La consultation de la métabase s'effectue
comme celle d'un schéma.
Nom de fichier externe
Nom GCOS 7 complet d'un fichier physique auquel de la place sur disque a été affectée.
Nom de fichier interne
Nom de fichier associé à un nom de fichier externe et servant d'interface entre IQS et
GCOS 7.
Nom de fichier IQS
Nom utilisable pour toute la durée de la session IQS qui peut être associé (par ASSIGN)
à un nom de fichier interne ou à un nom de fichier externe. Les fichiers temporaires ne
sont connus que par un nom de fichier IQS (parfois appelé nom de fichier logique).
Projet
Elément du dispositif de droits d'accès par l'intermédiaire duquel s'effectue notamment
le contrôle des accès des utilisateurs aux différents environnements.
47 F2 80UR Rev02
g-3
IQS-V4 Guide de l'administrateur
Répertoire
Elément d'un catalogue regroupant tous les fichiers d'un projet.
Schéma
Description logique d'un ensemble de fichiers (ou aires) qui contient des informations sur
les articles, les zones, les clés et les ensembles. Cette description est écrite en langage
DDL et doit être compilée pour être utilisable sous IQS.
Sous-répertoire
Elément du catalogue, subordonné à un répertoire ou à un autre sous-répertoire,
regroupant un sous-ensemble de fichiers associés à une partie d'un projet.
Structure
Description logique d'un fichier séquentiel monoarticle. Une structure peut être utilisée
en tant que schéma ou être intégrée à une vue au cours d'une session IQS.
Unité de consolidation
Ensemble des opérations au cours desquelles un ou plusieurs fichiers passent d'un état
initial stable à un état final stable.
Vue
Forme sous laquelle les usagers perçoivent les données de la base. Les vues sont
définies en tant que schémas, vues standard ou structures par le personnel informatique
mais pour l'usager, ces distinctions sont invisibles : il ne connaît que des noms de vue
qui lui donnent accès à des informations.
Vue arborescente
Vue constituée de plusieurs articles, dont éventuellement plusieurs articles racines, dans
laquelle un article maître peut avoir plusieurs articles détails.
Vue courante
Schéma, vue standard ou structure sélectionné au niveau C: pour utilisation au cours
d'une session IQS.
Vue dynamique
"Instantané" de la vue courante montrant les données telles qu'elles résultent des
opérations effectuées par l'utilisateur depuis la sélection de la vue courante.
Vue linéaire
Vue constituée de plusieurs articles ordonnés en une seule hiérarchie verticale, les
relations entre ces articles étant déterminées par des ensembles.
g-4
47 F2 80UR Rev02
Glossaire
Vue monoarticle
Vue ne comportant qu'un seul article logique, lui-même composé d'une ou plusieurs
zones.
Vue standard
Représentation logique des données de la base prédéfinie par l'administrateur IQS.
Zone additionnelle
Zone d'un article logique créée pour répondre aux besoins d'une application donnée. Les
zones additionnelles sont obtenues directement ou par calcul à partir de zones réelles
et/ou de constantes.
Zone renommée
Zone à laquelle est attribué un nouveau nom pour une application donnée afin d'éviter
les ambiguïtés.
47 F2 80UR Rev02
g-5
IQS-V4 Guide de l'administrateur
g-6
47 F2 80UR Rev02
Index
#
#BINLIB1, 2, 3
#BLIB
#CLIB
#ENVT
#SLIB
A
6-3
6-3
6-3
3-3
6-3
$
$MAX-CPU
$MAX-CPU-PER-COMMAND
$MAX-ELAPSE
$MAX-IO
$MAX-IO-PER-COMMAND
$MAX-LINES
$MAX-LINES-PER-COMMAND
$MAX-PAGES
$PRIORITY
$USED-CPU
$USED-ELAPSE
$USED-IO
$USED-IO-PER-COMMAND
$USED-LINES
$USED-LINES-PER-COMMAND
3-20
3-20
3-20
3-20
3-20
3-20
3-21
3-21
3-21
3-21
3-21
3-21
3-21
3-21
3-21
@
@MAX-CPU
@MAX-ELAPSE
@NEXT-QUERY
@NEXT-SCRIPT
@TRIGGER-CODE-ERROR
@TRIGGER-ERROR
@USED-CPU
@USED-ELAPSE
47 F2 80UR Rev02
3-20
3-20
3-15, 3-17
3-15, 3-17
3-22
3-14, 3-22
3-21
3-21
accès aux données
accès concurrents
ACCESS
administration
responsabilités
affectation des fichiers
aire
ALTER_INPUT
appel du processeur IQS
AREA (rubrique DDL)
article logique
ASGn
ASSIGN
attente prolongée
AUTOCOMMIT
D-1
13-1
3-7
1-1
10-3
4-1, 8-27, 13-5
6-12
6-6
4-17
8-4, 8-20
10-3
10-3
13-9
13-3
B
base de données
création
virtuelle
bibliothèque
~s utilisées par IQS
création
de travail
BINLIB
blocage
BUFPOOL
BUILD_FILE
BUILD_LIBRARY
8-2
A-10
4-1
6-2
6-4, A-4
6-2, A-5
6-3
13-7
13-12
A-4
6-4, A-4
i-1
IQS-V4 Guide de l'administrateur
C
catalogue
A-2
centre d'expertise
installation
2-4
CHECK (clause DDL)
4-23
CHECK VALUE (clause DDL)
4-30
checkpoint
voir point de reprise:
13-4
CI
13-5
Clé
secondaire
B-1
clé
8-28
primaire
8-10
secondaire
8-10
CLEAR TRIGGER
3-18
CODASYL
base de données
8-2
COMFILE
6-23, 6-24
commandes
accessibilité
3-2
visibilité
3-2
commentaires
4-9
Compilation des schémas
7-1
compilation des schémas
12-1, A-10
concurrence d'accès
13-1
condition
4-11
condition restrictive
8-4
consolidation
13-2, 13-3, 13-4
CREATE RECORD
8-14
CREATE_PROJECT
3-9
CRU
3-3
CULIB
6-3
D
DDL
exemple
format
jeu de caractères
mots
mots réservés
ponctuation
syntaxe
DDLIB1, 2, 3
DDPROC
deadlock
déclencheur
après
avant
création
déclaration en mode ligne
définition
niveau base de données
niveau requête
niveau session
i-2
4-1
A-6
4-3
4-4
4-6
4-38
4-5
4-15
6-3
5-3
voir blocage:
13-7
niveau transaction
3-19
ordre d'exécution
3-17
suppression
3-18
DEFINE STRUCTURE
9-4, 9-6, 9-7, 9-9
DEFINE TRIGGER
3-18
DEFINE VIEW
8-13
DEFn
13-12
dérivation
8-4
DISPLAY ACCESS RIGHT 3-13, 8-26, 9-17
DISPLAY AREAS
8-27
DISPLAY ITEM
8-25, 9-16
DISPLAY ITEMS
8-26, 9-15
DISPLAY KEYS OF RECORD
8-28
DISPLAY RECORD
8-24
DISPLAY RECORDS
8-25
DISPLAY RECORDS OF AREA
8-28
DISPLAY SCHEMA
8-27
DISPLAY SCHEMAS
8-26
DISPLAY SETS
8-25
DISPLAY STATUS
exemple
3-24
objet
3-24
Variables système
3-20
DISPLAY STRUCTURE
9-14
DISPLAY STRUCTURE ATTRIBUTES 9-14
DISPLAY VIEW
8-24
DMCL
5-1
domaine IQS
3-5
droits d'accès
contrôle
3-13
convention astérisque
3-10
création et suppression
3-9
définition
3-2
nom de projet
3-9
SYSADMIN
3-11
violation des ~
3-10
droits opérateur
3-4
E
END-SCHEMA (rubrique DDL)
ensemble
environnement
de quatrième génération
définition
ENVT
4-35
4-1
2-2
3-2
3-3
3-14, 3-17
3-14, 3-17
3-18
3-16
3-14
3-17
3-17
3-14
47 F2 80UR Rev02
Index
F
M
famille de commandes
fichier
affectation
base de données
classique
création
d'impression
de saisie
de travail
de tri, caractéristiques
IQS
noms de ~s
partage de ~s
FILEn
3-3
10-3
10-1
10-1
A-4
10-2, 10-6
10-2, 10-7
10-2
6-11
10-1
10-3
13-5
10-3
G
GAC-EXTENDED
GCL
création procédure ~
GT-WRITER
13-1
6-13
C-1
MAINTAIN_COMMAND
MEMBER (clause DDL)
Métabase IQS
mise à jour de données
MNDD
MODIFY_ACCESS
MWENVT
MWINLIB
MWLIB
3-7
4-35
11-1
D-1
4-1, 5-1
3-3, 3-4, 3-5, 3-7
3-3
A-5
A-5
N
NBBUF (DEFn)
NO_ACCESS
NO_OPACC
nom de donnée
nom de projet GCOS 7
nom-donnée (clause DDL)
13-12
3-3, 3-6
3-4, 3-7
4-10
3-9
4-24
O
H
H_IQS
H_METAIQS
HIDE
6-18
11-1
3-3, 3-7
I
identificateur de donnée
IDS/II
compilation de schéma
Index secondaire
insertion de données
IQS (commande)
4-10, 4-20
8-19, 10-1, 13-5
4-2
B-1
D-1
6-6
J
JCL
jointure
journalisation
6-19, 6-24
8-2, 8-4
13-6
L
lancement d'IQS
lecture de données
LIST_ACCESS
littéraux
longwait
47 F2 80UR Rev02
6-1, 6-17
D-1
3-6
4-8
voir attente prolongée:
13-9
objet IQS
droits d'accès
propriétaire
OCCURS (clause DDL)
OPEN
OPHID
optimisation
OWNER (clause DDL)
3-9
3-12
4-28
8-23
3-4, 3-7
13-10
4-34
P
partage
de fichiers
de ressources
point de reprise
POOLSIZE
PROC
procédure GCL
PROJ
projet
propriétaire
PRTFILE
PRTY
13-5
13-7
13-4
13-11
3-6
6-13, 6-22
3-3
3-3
3-12
6-23, 6-24
3-6
i-3
IQS-V4 Guide de l'administrateur
TRB
R
Recompilation
des requêtes
des schémas
des vues
recompilation
des macros
des requêtes
des schémas
des vues
procédure
RECORD NAME (clause DDL)
RECORD-TYPE (clause DDL)
répertoire
de référence
RESET
REVIEW
7-3
7-3
7-3
12-1
12-2
12-2
12-2
12-2
12-2
4-19
4-22
A-2
A-2
3-6
8-23
3-14
U
UFAS
unité de consolidation
UPDATE ITEM
UPDATE RECORD
UPDATE STRUCTURE
13-5
13-2
8-20, 9-12
8-20
9-10, 9-11,
9-12, 9-13
UPDATE STRUCTURE DEFINITION
9-10
UPDATE VIEW
8-19
UPDATE VIEW ATTRIBUTES
8-19
utilisateur
types d'~
2-3
V
S
SAVE VIEW
SCH-CUSTOMERS
Schéma
Compilation
schéma
compilation
compilation d'un ~ IDS/II
composantes d'un ~ DDL
création
exemple de ~
visualisation d'informations
SCHEMA (rubrique DDL)
sécurité
SELECT
SET (rubrique DDL)
SET NAME (clause DDL)
SIZE
SLLIB
sous-répertoire
SRTIDX
structure
attributs
définition
mise à jour
utilisation
visualisation d'informations
suppression de données
SYS.HBINLIB
SYSADMIN
8-15, 8-22
E-1
7-1
4-1
6-5, 12-1
4-2
4-3
6-5
4-36
8-27
4-16
3-1
8-23
4-32
4-34
13-11
6-3
A-2
B-2
9-1
9-2
9-2, 9-4
9-10
9-3
9-14
D-1
3-5
3-11
variables système
vue
arborescente
attributs
courante
définition
droits d'accès
dynamique
exemples
linéaire
mise à jour
monoarticle
plate
processeur
visualisation d'informations
vue standard
3-20
8-1
8-8
8-19
8-3
8-13
8-18
8-3
8-9
8-8
8-18, 8-23
8-8
8-8
8-1
8-24
8-1
W
WITHIN (clause DDL)
4-19
Z
zone
attributs
logique
9-2
8-6, 8-20
T
TDS
TRA
traitement par lots
i-4
6-2, 8-3, 13-4, 13-6
3-14
6-11, 6-21
47 F2 80UR Rev02