Académique Documents
Professionnel Documents
Culture Documents
UNIX*
Chez le méme éditeur
I.S.B.N. 2-906886-02-5
BRUNO BENINCA
ADVANCED PICK®
UNIX®
Licences et marques.
Pick, Open Architecture, Advanced Pick sont des marques déposées de Pick Systems, Irvine,
California, 92714 USA
Unix est une marque déposée de AT&T
Unix/SCO est une marque déposée de Santa Cruz Operation.
DG/unix est une marque déposée de Data General.
C900 est une marque déposée de Electronique Serge Dassault.
IBM, IBM/RT, IBM 6150, IBM RS/6000, sont des marques déposées de IBM (International
Buissenes Machines).
XA2000 est une marque déposée de Stratus computer, Inc.
Garantie.
LB RELAIS INFORMATIQUE INTERNATIONAL NE DONNE AUCUNE GARANTIE CONCERNANT LES SYSTÉMES ADVANCED
PICK ET UNIX. L'ENSEMBLE DES INSTRUCTIONS DÉCRTTES CORRESPONDENT AUX SPECIFICATIONS INDIQUÉES PAR
ADVANCED PICK ET UNIX. ELLES ONT ÉTÉ TESTÉES PAR L'AUTEUR, MAIS ELLES SONT SUSCEPTIBLES DE
MODIFICATIONS DANS LES VERSIONS COMMERCIALISÉES. AUSSI, NOUS VOUS RECOMMANDONS DE SUIVRE LES
INSTRUCTIONS DONNÉES PAR LES MANUELS UTHISATEURS LIVRÉS AVEC LES SYSTÉMES.
Préface.
Dans le monde informatique, le systéme Pick jone un role particulier. Son originalité principale
est certainement d’etre, i la fois, un systéme d’exploitation et un systéme de gestión de bases
de données.
Le résultat de cette combinaison, probablement unique, est une “interface utilisateur”
particuliérement simple et convivíale. Si le succés de Pick est dü en grande partie á cette
particularité, il l’est également á sa disponi- bilité sur de nombreux ordinateurs, de
constructeurs différents. Pour la premiére fois, les applications cessent d’etre liées á un type
de machine.
Qu’il me soit permis d’évoquer á ce propos une expérience origínale. En 1985, notre Société
avait contracté un marché trés important, qui compre- nait, parmi d’autres foumitures,
l’adaptation d’une application existante á un ordinateur que nous avions développé.
Malheureusement, celle-ci avait été conque pour fonctionner sous Pick alors que notre
calculateur ne connaissait ríen d’autre qu’UNix.
Traduire 150.000 lignes de Basic/Píck en langage C se révélait n’étre qu’une partie du
probléme, car les algorithmes eux-mémes devaient étre repensés, les services offerts par les
deux systémes d’exploitation étant trés différents.
Plus nous analysíons le probléme, plus les dífficultés se multipliaient!
Soudain, une idée vint: plutót que d’adapter cette application á UNIX, pourquoi ne pas porter
Pick lui-méme sur notre ordinateur ?
Aprés analyse, l’idée sembla réalisable et sa mise en oeuvre fut décidée. Nous acquimes la
licence de “Pick Open-Architecture” et, six mois plus tard, non seulement Pick fonctionnait sur
notre machine, mais l’applica- tion également!
Tout systéme d’exploitation, de méme que tout langage de programmation, posséde
généralement sa cohorte d’enthousiastes, de fanatiques, voire de “gourous”. Le systéme
Pick, de méme qu’UNix, n’échappe pas á cette régle. L’origine de ce phénoméne doit
probablement étre recherchée dans les longues heures d’efforts et de patience,
nécessaires á la maitrise d’un tel compagnon de travail.
Existerait-il un meilleur cheval que celui que Ton a réussi á dompter ? Le livre de Bruno
Beninca montrera au lecteur que le cheval Pick se laisse bien facilement apprivoiser.
Francois Galian
Ingénieur en Chef
DASSAULT ÉLECIRONIQUE
Table des matiéres.
Préface....................................................................................................5
Introduction...........................................................................................9
25 années d’histoire............................................................................11
Un homme, un systóme....................................................................................14
Le langage PROC...............................................................................95
Fonctionnement des tampons..........................................................................95
Les paramétres................................................................................................96
Structure d'une procédure................................................................................97
Commandes de PROC....................................................................................98
Pick/Basic..........................................................................................101
Éléments du langage.....................................................................................102
Instructions et fonctions de Pick/Basic...........................................................107
Le debuggeur Pick/Basic...............................................................................121
Access.................................................................................................123
Caractéristiques générales............................................................................123
Structure des phrases Access.......................................................................123
Syntaxe d’une phrase Access........................................................................124
Les verbes d’Access......................................................................................125
Le processeur de sortie....................................................................143
Liste des commandes du processeur de sortie..............................................144
Index..................................................................................................243
A.PICK / UNIX
C’est le 19 mars 1990 que Pick Systems a fété ses 25 ans. Pits d’un millier de personnes
privilégiées étaient présenles á l’hotel Hilton d’Irvine en Califomie du Sud.
Remise de récompenses, bref historique, animation musicale, le tout présenté dans la plus
pure tradition holly woodienne.
Le 19 mars 1965 estune date importante dans I’histoire de I’informatique. C’est en effet ce jour
lá que Richard Pick et Don Nelson ont remis le dossier des spécifications du projet GIRLS á la
société TWR pour Tarmée américaine.
GIRLS, c’est le projet : Generalized Information Retrieval Language and System, ou si vous
préférez : Langage et systéme généralisés d’accts aux informations.
Nelson était un brillant mathématicien qui a commencé á travailler dans I’industrie des
ordinateurs vers la fin des années 40.
fi a bien súr utilisé son expérience de plus de 20 années dans le domaine des machines á
traitement automatiques pour concevoir avec Dick Pick, modéle de données élaboré en 4 mois
de décembre 1964 á mars 1965.
Avant de travailler sur ce projet Don, en collaboration avec Floyd George Steele, a développé
Tun des premiers ordinateur digitaux.
11 faut dire que Steele était un des principaux piormiers de I’industrie des ordinateurs digitaux.
11 était considéré, á la fin des années 40, comme ayant le laboratoire digital le plus
perfectionné des États-Unis.
A.PICK / UNIX
Cette nouvelle machine a attiré Fattention de John Von Neumann, aujourd’hui encore
considéré comme le pére de la programmation modeme. Leur collaboration fut écourtée
par la disparition de Von Neumana Ensemble, ils ont tout de méme défini I’architecture
des ordinateurs des générations suivantes.
A cette époque, Richard Pick était programmeur chez TWR, mais la programmation
applicative ne 1 ’intéressait pas beaucoup. Déjá, il se passionnait pour les aspects
fondamentaux des ordinateurs. L’arrivée de Don a été la réponse parfaite aux désirs de
Dick, qui a trouvé en Don un professeur remarquable.
Cette idée d’ordinateur virtuel est fondamentale. Elle permet entre-autre de garder la
méme philosophic d’un matériel á l’autre. Don et Dick ont été les premiers á résoudre
efficacement le probléme de portabilité d’un systéme d’exploitation. Aujourd’hui, le
systéme Pick est encore le plus portable des systémes d ’exploitation du marché, il peut
en effet étre installé sur une nouvelle architecture matérielle en quelques semaines.
C’est une performance. Personne d’autre n’est capable de le faire.
1
2
25 ANS D’HISTOIRE
décrivant la structure de l’hélicoptére. Ces fichiers étaient mis á jour par des
programmes COBOL.
En avril 1969, Dick Pick quitte TWR pour terminer le projet déposé le 19 mars 1965 et décide
d’en faire un produit commercial, n est poussé dans cette voie par Warren Morrison qui le
convainc de reprendre le travail déjá effectué pour Tarmée américaine.
Jusqu’en 1972, des personnes telles que Chandra Multi, Ken Simms, Phil Eari ont travaillé
d’arrache pied sur ce projet
Toujours dans le courant de cette année 1972, Dick Pick crée “Pick & Associates”. A cette
époque, les deux seules installations étaient Tarmée américaine et le bureau de Fagence
centrale d’intelligence, la CIA.
Au début de 1976, Pick Systems trouve de nouveaux licenciés tels que Ultimate, qui réalise par
la méme occasion une des plus grosses croissances de 1 ’industrie en dépassant 100 millions
de dollars de ventes en quelques années.
En France, Intertechnique représenté par Jacques Maillet achéte une licence du systéme
d’exploitation et prend le risque de commercialiser une gamme compléte d’ordinateurs “Réalité”.
On connaít le succés dTN2 aujourd’hui.
En 1979, Dick Pick, toujours animé du désir de terminer son produit, décide de se séparer de 1
’activité “matériel” de son entreprise et de se consacrer pleinement au développement du
systéme d’exploitation. Toujours dans le courant de cette année, une version maintenue est
commercialisée.
En juin 1984, le systéme Pick est disponible sur ordinateur IBM PC/XT. C’est une date dans
I’histoire.
Depuis 1984, les implantations ne cessent de se suivre. Pick est disponible sur les
machines á base de micro-processeurs Intel 286,386,486, Motorola 68020, 68030, sur
A.PICK / UNIX
les architectures RISC et POWER d’IBM, et récemment sur presque routes les
machines UNIX du marché.
Un chemin considérable a été fait depuis le 19 mars 1965. Des centaines d’ingénieurs
ont travaillé durant des dizaines de milliers d’heures pour nous foumir aujourd’hui un
systéme d’exploitation simple et performant.
Aujourd’hui, plus de 30 constructeurs licenciés ont choisi le systéme Pick pour leurs
machines et commercialisent des solutions complétes basées dessus.
Un homme, un systéme.
C’est un homme d’un contact facile et chaleureux, et méme s’il est parfois un peu
coléreux, il est généralement apprécié.
Pick est á la fois une base de données et un systéme d’exploitation. C’est un environnement
complet qui permet á plusieurs utilisateurs de partager simul- tanément, les ressources
matérielles et logicielles de l’ordinateur, ainsi que les informations contenues dans les bases
de données.
Le systéme Pick est un gestionnaire de base de données, qui á l’aide d’outils, permet de gérer
des informations dans un environnement flexible, efficace et rapide.
• Pick est un systéme convivial, développé á l’origine pour des non informati* ciens. Il est
accessible á tous.
• Le développement des applications est plus simple et plus rapide qu’avec d’autres
systémes.
• Les applications Pick sont portables d’une machine pick á une autre. La compatibilité
applicative standard est totale.
• Pick utilise beaucoup moins de ressources machines que les autres systémes. Ceci est dú
á son mécanisme de mémoire virtuelie étendue á l’ensemble du systéme.
• Le marché de ce systéme croit de plus de 40% par an. 11 existe á ce jour plus de 4000
applications professionnelles disponibles.
* C’est le seul systéme d’exploitation construit autour d’une base de données relationnelle.
A.PICK / UNIX
etc...
1
6
En revanche, le terme de “Systéme de Gestión de Bases de Données” (SGBD), recouvre
une notion beaucoup plus précise. En effet, il désigne un logiciel offrant un ensemble de
fonctions, qui assurent:
• la structuration des données: les données ne sont pas une simple suite de caractéres,
mais, au contraire, des ensembles de rubriques identifiées par des noms. Ainsi dans une
base de données particuliére, les termes de “CLIENT’, “NUMERO-DE-FACTURE”,...
désigneront des ensembles de valeurs que le SGBDsaittraiter.
Ilcréedescheminsd’accésrapides aux données, transparents á l’utilisateur, par des
techniques d’index, d’ adres sage calculé, de chainage, etc... qui permettent de trailer
efficacement les recherches, les ajouts, les modifícations et les suppressions. L’un des
objectifs principaux des SGBD est d’assurer l’indépendance entre les programmes et les
données: la structure d’une base de données doit pouvoir évoluer, sans nécessité de
modifier les programmes qui l’utilisent. Pour cela, la description de la base de données doit
étre séparée des programmes, ceux-ci n’accédant plus aux informations que parleurnom.
• raccés aux données, de deux maniéres: d’une part les programmes en langages évolués
accédent aux bases de données en profitant de routes les possi- bilités de structuration.
D’autre part, les utilisateurs disposentd’un“langage de requéte”, compréhensible par des
non-informaticiens, qui leur permet d’accéder directement aux informations. Ces langages
sont “non algorithmiques”: 1 ’utilisateur décrit le résultat qu ’il veut obtenir et non pas la
fa^on de Tobtenir. Leur syntaxe varíe selon les SGBD, mais tend générale- ment á se
rapprocher des langages naturels. Leurs possibilités varient également: si tous permettent
de présenter les données sous forme de listes, seuls certains d’entre eux autorisent
lacréation de graphiques: courbes, histogrammes, etc...
• la confidential^ des données: chaqué utilisateur posséde un ensemble de “droits d’accés”
et ne peut accéder qu’aux seules données qui le concement, en fonction de ses droits. La
nature des droits d’accés et leurs régles d’attribution varient selon les SGBD.
• rintégrité des données, qui doit étre assurée par le SGBD, de fa?on transparente á
l’utilisateur. En particulier, le SGBD doit assurer Texactitude des données auxquelles
plusieurs utilisateurs accédent simultanément. II doit également maintenir les bases
de données dans un état cohérent aprés tout incident, que celui-ci provienne du
matériel ou du logiciel. II doit enfin offrir la possibilité de sauvegaider périodiquement
les bases de données et de les restaurer en cas de destraction accidentelle.
1
7
A.PICK / UNIX
Le systéme CODASYL.
La commission CODASYL (Conference on DAta SYstems Languages) était formée d
’experts provenant des principaux constracteurs d’ordinateurs et de grands utilisateurs.
Elle était déjá l’auteur du langage COBOL, dont l’influence sur le SGBD sera sensible.
Cette commission publia en 1971 un rapport comportant les spécifications d’un SGBD,
sous forme de deux langages: un “langage de description des données” et un “langage
de manipulation des données”, ce demier étant un ensemble d’adjonctions au langage
COBOL. Ces spécifications connurent plusieurs éditions ultérieures (1973,1978,1981), et
de nombreuses sociétés: HONEYWELL, UNIVAC, DEC, etc... les adoptérent et
développérent des SGBD leur étant plus ou moins conformes.
Pour créer une base de données, il faut en définir le “SCHEMA”, á l’aide du “langage de
description des données” (DDL), indépendamment des programmes qui l’utilisent. Le
SCHEMA comporte quatre types d’objets:
1
8
PICK ET LES SGBD
• les “RECORDS”, qui sont des ensembles de DATA ITEMs ou de DATA AGGREGATES. Le
RECORD est l’unité de données que manipule le programme: un RECORD est lu ou écrit en
une seule opération. Par exemple, l’ensemble des données afférentes á un client constitue un
RECORD.
• les “SETs” permettent de matérialiser les relations qui existent entre les informations. Un SET
est un ensemble constitué de plusieurs RECORDS. L’un d’eux, unique, estl’“OWNER”du SET.
Les autres, en nombre quelconque, sont les “MEMBERS”. OWNER et MEMBER sont des
RECORDS de types différents. Ainsi, un SET pourra réunir un RECORD “CLIENT’ et un nombre
quelconque de RECORDS “FACTURE”, cequi se représente graphiquementde la fa^on
suivante:
CLIENT OWNER
I
FACTURE MEMBER
Les MEMBERS peuvent étre éventuellement de types différents: par exemple, FACTURE et
COMMANDE. Un SET peut également ne contenir aucun MEMBER, n s’agit alors d’un “SET
vide”.
Physiquement, un SET est réalisé par un chame de pointeurs uni-directionnelle ou bi-
directionnelle réunissant l’ensemble des RECORDS.
Ce mécanisme permet de construiré des bases de données trés complexes, puisqu’un méme
RECORD peut participer á un nombre quelconque de SETs, pouvant étre, ála fois, MEMBER
d’un SET et OWNER d’un autre, ainsi que le montre l’exemple suivant:
tout d’abord décrire l’ensemble des informations auxquelles il doit accéder. Cette
description se fait á l’aide du DDL, et constitue un “SOUS- SCHEMA” de la base,
indiquant les RECORDS, DATA ITEMs et SETs nécessaires au programme.
Le traitement des données se fait gráce & un ensemble d’instructions incluses dans un
programme COBOL, permettant:
• la localisation d’un RECORD, soil directement par adressage calculé, soil
séquentiellement ou bien encore par parcours des éléments d’un SET.
• la lecture d’un RECORD,
• la création, la modification ou la destruction d’un RECORD,
• I’insertion d’un RECORD dans un SET ou le retrait d’un RECORD d’un SET.
Les algorithmes de traitement ont parfois été comparés á une navigation á travers la
base. De lá provient l’adjectif “navigationnel”, attribué au systéme CODASYL.
Le modéle relationnel.
L’origine du “modéle relationnel” est due á E.F. CODD, qui en émit l’idée dans un article
paru en 1970. II augmenta les possibilités de ce modéle par la suite. Le modéle
relationnel est basé sur une “algébre relationnelle”, dont:
• les objets sont des “relations” ou “tables”, comportant des “champs” ou “colonnes”
identifiés par des noms. L’ordre des colonnes, de méme que l’ordre des lignes n’est pas
significatif. Etant considérée comme un sous-ensemble d ‘un ensemble cartésien, une
table ne comporte jamais deux lignes identiques. Par exemple:
CLIENT
• selon leur nature, les opérateurs peuvent soil agir sur une seule table, soit combiner deux
tables. Dans les deux cas, le résultat de l’opération est toujours une nouvelle table. Les
opérateurs agissant sur une seule table sont:
• la “projection”: élimination d ’un sous-ensemble de colorines, puis suppression des lignes
identiques,
• la “sélection”: élimination des lignes qui ne correspondent pas á un critére de sélection
donné.
Les opérateurs agissant sur deux tables sont:
• le “produit cartésien”: combinaison de toutes les lignes d’une premiére table avec toutes les
lignes d’une seconde table,
• le “produit naturel”: si deux tables possédent une ou plusieurs colorines ayant des v aleu rs
communes, le résultat del’opérationestrensemble des combinaisons de lignes ayant les
mémes valeurs dans ces colorines, par exemple:
CLIENT FACTURE
• la “division”: le résultat de cette opération est la plus grande table dont le produit cartésien
par le diviseur est encore un sous-ensemble des lignes du dividende.
APICK / UNIX
SQL.
SQL (Structured Query Language) fut con?u á Torigine par IBM, dans le cadre d’un
systéme expérimental: le “Systéme R”. IBM le conserva par la suite comme interface
d’utilisation de ses SGBD relationnels: SQL/DS et DB2. Son succés a été tel que la
majorité des SGBD relationnels Tont adopté: ORACLE (ORACLE Corp.), SYBASE
(SYBASE Inc), INFORMIX (INFORMIX Software Inc.), ainsi que beaucoup d’autres.
Détailler la syntaxe de ce langage n’est pas l’objet de cet ouvrage. Néanmoins, quelques
exemples permettront d’en éclairer les principaux aspects.
Une base de données SQL est foimée d’un ensemble de tables, conformément au
modéle relationnel. Chaqué table doit étre décrite par un ordre “CREATE TABLE”. Par
exemple:
2
2
PICK ET LES SGBD
Ces informations sont conservées dans des tables du systéme: table des noms de table,
table des noms de colonne, etc..., accessibles de la méme maniére que des tables
d’application.
A partir d ’une ou de plusieurs tables existantes, il est toujours possible d ’obtenir une nouvelle
table, gráce á 1’ordre “SELECT”. Ainsi, le résultat de:
NO_CLIENT NOM CA
12650 DUBOIS 60000
13450 DUVAL 25000
réunit les deux tables précédentes par une opération de “produit naturel”, sur 1 ’information
commune NO_CLIENT, dont le nom est précédé, ici, du nom de la table, afín d’éviter toute
ambiguító. Le résultat de cet ordre est:
Sans indication particuliére, la table résultante d’un SELECT est simplement affichée sur le
terminal de 1 ’utilisateur, mais elle peut étre utilisée á d ’ autres fins. En particulier, ses lignes
peuvent étre insérées dans une autre table, pourvu que les colorines des deux tables soient
homogénes. Un table résultante, n’ayant
A.PICK / UNIX
qu ’une seule colonne, peut également servir de critóre de sélection dans un autre SELECT.
Ainsi,
permet de connaftre tous les clients qui ont émis une facture de plus de 1000 francs.
L’accés á la base de données par les langages évolués se fait en incluant des requétes
SQL á Fintérieur du corps du programme. L’ensemble du code est traité par un pré-
processeur, qui:
• sépare les instructions en langage évolué et les oidres SQL,
• compile les ordres SQL pour obtenir des procédures, qu’il range dans une
bibliothóque,
• inclut dans le programme des appels á ces procédures, avant de confier
l’ensemble au compilateur.
Le programme doit étre con^u de fa?on á enchaiher les appels de requéte et á en trailer
les résultats. Si un ordre SELECT délivre au programme qui Fappelle, une table ayant
plusieurs lignes, ce programme doit effectuer un parcours séquentiel de toutes les
lignes, gráce á un “CURSEUR” associé í l’ordre SELECT.
2
4
PICK ET LES SGBD
• celle du systóme d’exploitation, gráce á laquelle il gére les répertoires et les fichiers,
• celle du SGBD, gráce á laquelle il manipule des données, dont la nature dépend du
SGBD utilisé.
Dans le systóme Pick, l’approche est différente: les fonctions de gestión de bases de données
sont directement incluses dans le systóme d’exploitation. L’utilisa- teurne voitqu’une seule
interface, etles objetsmanipulés sont toujours de méme nature: dictionnaire, fichier, article, etc...
• dans les systómes traditionnels, certaines fonctions telles que la gestión de mémoire, la
protection des ressources et méme parfois la gestión des entrées-sorties sont dupliquées:
elles existent indépendamment dans le systóme d’exploitation et dans le SGBD. Cette
approche conduit parfois á des situations paradoxales. Par exemple, deux programmes
utilisant le SGBD ne peuvent pas accéder simultanément á une méme information, mais
un programme qui n ’utilise pas le SGB D et un programme qui 1 ’utilise peuvent
manipuler les mémes données!
• L’unicité de la gestión des ressources parle systóme Pick, en particulierde lamémoire
virtuelie,conduitáun niveau de performances transactionnelles exceptionnellement
élevées.
Une base de données Pick est formée d’un ou de plusieurs “fichiers” (FILE). Chaqué
fichier comporte une partie descriptive: le “dictionnaire” et une partie contenant les
données. Cette demiére constitue un ensemble d’informations structuré:
• un fichier comporte un nombre quelconque d“articles” (ITEMs). Le
dimensionnement initial du fichier peut influer sur les performances du systóme,
mais, gráce á une gestión des débordements, il ne constitue jamais une limite
infranchissable.
• chaqué article est identifié par un indicatif unique, permettant un accés rapide, par
adressage calculé.
• chaqué article comporte un certain nombre d“attributs” (ATTRIBUTES). Chaqué
attribut est décrit dans un dictionnaire associé au fichier. Dans le cas oú chaqué
attribut ne comporte qu’une seule valeur, les données d’un fichier présentent une
forme tabulaire, comparable á celle utilisée par SQL.
• un attribut peut componer plusieurs “valeurs” (VALUES). Dans ce cas, l’attribut peut
étre considéré comme un vecteur, dont la longueur varié
selonlesoccurrencesd’articles. Une valeur peut, á son tour, se décomposer en
“sous-valeurs” (SUB-VALUEs), dont le nombre peut varier selon les occurrences de
VALUES. Dans ce cas, I’attribut peut étre considéré comme une matrice, dont les
lignes et les colorines seraient de longueur variable. Cette faculté donne á Pick une
grande souplesse de representation des données, qui évite la dispersion des
informations dans de nombreuses tables, comme cela se produit fréquemment
avec les systémes relationnels.
Le dictionnaire peut contenir également la description d ’“attributs virtuels”, qui n’ont pas
d’existence physique dans le fichier, mais qui sontle résultat de calculs faits á partir
d’attributs réels. Le traitement nécessaire á l’élaboration d’un tel attribut (calcul
arithmétique ou traitement de chaine de caractéres) fait partie de sa description. En
reprenant l’exemple précédent, il est possible de définir un attribut “PRIX_TTC” comme
étant “PRIX_HT ♦ 1.186”, qui n’a aucun existence physique, alors que “PRIXJHT” en a
une.
Si Ton considere un seul fichier, les possibilités de structuration offertes par Pick sont done
élevées.
2
6
PICK ET LES SGBD
Malheureusement, les relations existant entre fichiers sont plus délicates á représenter. Il
n’existe pas ici de possibilité analogue au SET du systóme CODASYL ou au produit naturel de
SQL.
La seule possibilité offerte est la définition d’un attribut viituel, dont la valeur est celle d’un
attribut se trouvant dans un article d’un autre fichier.
Pour cela, I’attribut virtuel fait référence á un attribut réel du méme fichier, qui doit contenir un
indicatif d’accés á un article de 1’autre fichier. En reprenant les exemples précédents, le fichier
FACTURE pourrait componer un attribut virtuel NOM_CLIENT, dont la valeur serait extraite du
fichier CLIENT. Pour obtenir ce résultat, NOM_CLIENT devrait fait référence á NO_CLIENT du
fichier FACTURE, qui foumit I’indicatif du fichier CLIENT.
Le langage ACCESS est typiquement “non algorithmique”: l’utilisateur décrit le résultat qu’il
veut voir apparaitre sur l’écran ou sur le papier. Ce langage est destiné á extraire des
informations d’un fichier, gráce á une syntaxe simple, utilisable par tout non-informaticien. n
permet de:
• désigner un fichier,
• choisir les attributs devant apparaftre,
• sélectionner les articles correspondant á un critóre donné,
• trier les articles en fonction des valeurs d’attributs,
• mettre en page les résultats: titres, ruptures, etc...
Les programmes en langage BASIC ont la faculté d’accéder directement aux bases de
données. Pour cela, ce langage a été étendu sur deux plans:
• une nouvelle structure de données a été créée: le “tableau dynamique” (DYNAMIC ARRAY),
qui permet de trailer un article comme un objet du langage.
• de nouvelles fonctíons ont été ajoutées pour traiter les tableaux dynamiques
(EXTRACT, INSERT, REPLACE,...),
• de nouvelles instructions ont été ajoutées pour manipuler les articles d’un fichier
(READ, READV, READNEXT, MATREAD, WRITE, WRITEV, MATWRITE, DELETE,...),
2
7
A.PICK / UNIX
ainsi que pour gérerles venous exclusifs (READU, READVU, MATREADU, WRITEU,
WRITEVU, MATWRITEU).
La majorité des SGBD permettent aux programmes en langages évolués d’accéder aux
données gráce á leur nom. Avec Pick/Basic, les programmes accédent aux attributs (aux
valeurs et aux sous-valeurs également) par leur rang. Si les performances s’en trouvent
améliorées, en revanche, l’indépendance entre les données et les programmes en
souffre, puisque Ton ne peut pas modifier le rang d ’un attribut sans remettre en question
tous les programmes qui l’utilisent. 11 est possible de pallier cette difficulté, au prix d’une
plus grande complexité des programmes. En effet, il faut, pour cela, lire le dictionnaire
d’un fichier avant de traiter la partie “données” et retrouver le rang de chaqué attribut en
fonction de son nom.
• la “navigation” á travers la base de données, en visualisant les articles un par un. Cette
exploration peut naturellement se faire dans un méme fichier, mais surtout permet de
passer d’un fichier á un autre, en utilisant un attribut du premier comme critére de
recherche dans le second. Pour cela, ce processeur utilise largement les index
secondaires, réalisés par des B-Arbres, qui ont été introduits dans “Pick Open-
Architecture”.
• la mise ajour des informations affichées suri ’écran, gráce á un “éditeur pleine page”.
2
8
PICK ET LES SGBD
2
9
A.PICK / UNIX
Le systéme Pick joue done, dans le monde des SGBD, un róle á parí. L^ntégration
desfonctions de SGBDdans le noyau du systéme d’exploitation fait son originalité en
méme temps que son efficacité.
Les améliorations apportéespar les nouvelles versions “Pick Open-Architecture” et
“Advanced Pick” (index secondaires. Update-processor, journalisation,...) comblent une
large part des ¡acunes qui existaient dans les versions précédentes.
3
0
Les versions du systéme Pick.
Depuis que le systéme Pick existe, trois versions fondamentales ont vu le jour.
La seconde, “Open Architecture v2.0” marque un grand pas dans Involution du systéme.
Quelques licenciés tels que Electronique Serge Dassault, Stratus, PickBlue, Rexon se sont
lancés dans son implantation. OA est la plate-forme des systémes Pick actuéis.
La troisidme et la demidre version c’est “Advanced Pick”, point culminant de plus de 10 années
de recherches dans les laboratoires de Pick Systems á Irvine. Advanced est en fait une version
Open Architecture évoluée.
Examinons chacune de ces versions.
Cette version a été portée par la plupart des licenciés Pick Systems.
3
1
A.PICK / UNIX
Open architecture.
On parle beaucoup d’Open Architecture depuis 1985. Cette version s’est fait attendre et
sa gestation a été longue et difficile.
Electronique Serge Dassault, á 1’initiative de Francois Galian, décide au début
del’année 1986, de porter le systéme sur la gammeC900. Fin 1987, Rexon rend
disponible OA sur ses machines Summit. Dans la foulée, la société Seattle OS, dirigée
par Jim Whelan, entreprend le portage de la version 2 sur 1 ’ordinateur á technologic
RISC d’IBM, le 6150. STRATUS fait de méme et entreprend le portage sur son matériel
XA2000 á tolérance de pannes. C’est le départ, bien d’autres suivront
Sous OA, des efforts importants ont été faits á l’intérieur méme du systéme
d’exploitation. La structure inteme a été complétement repensée par Tim Holland, alors
vice-président chez Pick Systems, mais en gardant, bien súr, la meme philosophic. Le
systéme, déjé trés portable d’une machine ál’autre, l’est encore plus. Le moniteur est
remodelé, le systéme virtuel aussi.
Un travail de profondeur a été fait, et c’est un systéme propre et surtout évolutif qui est
mis en place.
Les nouveautés d’ Open Architecture se scindent en deux parties bien distinctes, celles
visibles par l’utilisateur et celles qui sont moins visibles, portant sur la léécriture des
modules et l’oiganisation inteme du systéme.
Nouveautés visibles.
• Nouveau prompt
• Empilement des niveaux d’exécution. Les sessions TCL peuvent étre empi- lées, jusqu’á 16
niveaux.
• Gestión de véritables táches fantómes, indépendantes des lignes physiques. Notons que
cette “nouveauté” existe déjá depuis bien longtemps chez IN2.
• Pile des commandes TCL.
3
2
LES VERSIONS PICK
• Sauvegaide incrémentale.
• Sauvegaide des transactions.
• Macro-instructions.
• Processeur de menus.
• Appel de sous-programmes Basic depuis les dictionnaires.
• Nouvelles conjonctions pour ACCESS.
• Trace des erreurs systéme.
• Gestión automatique des index.
• Rapidité d’exécution des programmes Pick/Basic.
• Rapidité de connexion.
• Nouveaux codes de définition de fichiers.
• Nouvelles commandes TCL.
• Taille illimitée des articles. Sous Pick R83, la limite était de 32 Ko.
• Taille illimitée des variables Pick/Basic.
• Nouvelles instructions Pick/Basic (key, root, etc...).
• Nouveaux caractéres de centróles pour la gestión du curseur.
• Nouveaux codes de traitements.
• Insensibilité de formulation des commandes aux caractéres majuscules et minuscules.
Cette demiére particularité n’existe pas sur toutes les implémen- tations.
II est á noter un point particulier sur le langage Pick/Basic. Le compilateur ainsi que
l’exécuteur ont totalement été réécrits, et leur gain en rapidité est étonnant. Globalement,
avec les améliorations apportées sur le fond du systéme, le gain en exécution avoisine les
30% par rapport á la version R83.
Nouveautés internes au systéme.
• Uniformisation de la taille des partitions. C’est á dire que les tailles des partitions de la
zone abs et de la section données sont identiques. La taille varié en fonction des
implémentations, mais généralement elle est de 1024 octets. Sous la version R83, il
existait plusieurs tailles de partitions, 512 octets pour les partitions de la section
données, et 2048 pour les partitions de la zone absolue.
Cette améliorationest importante, car elle simplifieradressagedelamémoire virtuelie.
• Reorganisation de la zone absolue, qui n’est plus de taille fixe avec des points
d’entrée, mais qui est chaínée.
3
3
A.PICK / UNIX
3
4
LES VERSIONS PICK
Advanced Pick.
APcomprend bien sür toutes les améliorations apportées par Open Architecture, avec
quelques nouvelles fonctionnalités assez intéressantes, entre autres, le processeur de mise á
jour et le processeur de sortie.
L’essentiel du développement d’une application sous AP est de définir le pro- bléme en terme
de fichiers et des relations qui doivent exister entre ces fichiers. Le tout avec un minimum de
programmation Pick/Basic. Les codes de traitements et le processeur de mise á jour
peimettent cela.
• Processeur de mise ájour. Il agit aussi bien en tant qu’éditeur pleine page, qu’en puissant
outil de mise ájour de la base de données. Il peimet de mettre ájour tout article présent dans
la section fichiers.
Le vieil éditeur “editer (edit)” a été conservé. Les nostalgiques seront ravis...
• Double LOGON. H permet de distinguer les utilisateurs et les comptes dans lesquels ils sont
connectés.
• Chemins d^ccés auxfichiers. Les pointeurs “q” ne sont plus nécessaires, on peut accéder a
un fichier en spécifiant son chemin.
Toutes ces nouvelles fonctionnalités sont décrites en détail dans le chapitre “les nouvelles
fonctionnalités d'Advanced Pick”.
Les nouvelles fonctionnalités
d’Advanced Pick.
Insensibilité de formulation.
Le systéme AP est insensible á la formulation des caractóres, majuscules et
minuscules. Cela signifie que les caracteres majuscules et minuscules sont considérés
comme equivalents.
Le tri des chaínes de caracteres est alors effectué selon l’ordre alphabétique et non
selon l’ordre ASCII.
Pour effectuer un tri selon Fordie ASCII, il faut utiliser la fonction seq.
Si vous désirez forcer la sensibilité des lettres pour les clés d’articles, Particle de
definition du fichier doit avoir un D/CODE égal á DS (Option “s” de la commande creer-
fichier (create-file)).
Double logon.
3
7
A.PICK / UNIX
Codes de traitements.
Les codes de traitements présents dans les dictionnaiies de fielders et dans les articles
de définitiondes fichiers permettent de réaliser de réelles manipulations sur les
éléments de la base de données, sans programmation Pick/Basic.
Niveaux d’exécution.
Un maximum de 16 niveaux d’exécution sont disponibles. Le niveau le plus haul est
celui que vous atteignez en vous connectant. C’est le niveau primaire. Tant qu’un
processus est actif, vous pouvez appeler un nouveau niveau d’exécution en appuyant
sur <pause> ou <echap> (tout dépend de la touche activée). Un niveau d’exécution ne
peut pas étie appelé depuis le caractére de sollicitation de TCL
Le niveau courant est indiqué par le nombre de caractéres de sollicitations affichés. Par
exemple, au niveau primaire, le caractóres (:) est affiché. Si vous appelez un niveau
d’exécution, deux caractéres (::) seront affichés.
Par exemple, (::::) correspond au quatriéme niveau d’exécution.
Toute commande tcl peut étre exécutée depuis n’importe quel niveau, á 1’exception de
vers (logto) qui n’est actif que depuis le niveau primaire.
Vous pouvez vous déconnecter depuis n’importe quel niveau en tapant fin (off).
Taches fantómes.
Un processeur de tSches fantómes vous permet 1 ’exécution de travaux en amére
plan. Toute commande exécutable au niveau tcl peut étre exécutée par une táche
fantóme.
Le verbe tcl fantome (z) est utilisé pour spécifier que la commande doit s’exécuter
comme une táche fantóme. Une pile des requétes est maintenue dans le fichier jobs,
selon la méthode premier-entré, premier-sorti.
3
8
NOUVELLES FONCTIONNALITÉS D’ADVANCED PICK
Sauvegardes increméntales.
La sauvegarde incrémentale est utilisée pour ne sauvegarder que les articles qui ont
été modifiés depuis lademidre sauvegarde générale. L’option U a été ajoutée au verbe
sauver (save) pour spécifier que la sauvegarde á effectuer doit étre une sauvegarde
incrémentale.
Pour étre mémorisés, les articles doivent étre dans un fichier dont Particle de définition
est DL. Ce processeur permet d’effectuer des restaurations rapides, si cela est
nécessaire.
Le processeur de transaction log est une táche fantóme, activée parla commande init-
log (startlog).
Pour restaurer les informations sauvegardées de cette maniére, une nouvelle question
a été ajoutée aux commandes de: restauration de compte, de restau- ration sélective et
de restauration générale.
Le processeur de mise-á-jour.
Le processeur de mise-á-jour (update processor ou pmaj) constitue une des
innovations majeures du systéme Advanced Pick.
n s’agit en fait d’un éditeur de textes avancé, qui permet aussi bien l’édition de textes
tels que des lettres, des programmes, des procédures, que des données contenues
dans des fichiers avec toutes les sécurités requises.
Lorsque pmaj est utilisé dans ce dernier mode, il utilise les dictionnaires des fichiers
pour “voir” et manipuler la donnée au travers.
Les index sont accessibles depuis pmaj. Avec la possibilité d’appelerdes sous-
programmes Basic depuis les dictionnaires, pmaj peut étre utilisé pour exécuter des
programmes et manipuler les données de maniére transparente pour l’utili- sateur.
Si aucun attribut de dictionnaire n’est spécifié, le processeur fonctionne en tant
qu’éditeur pleine page.
A.PICK / UNIX
Le processeur de sortie.
Le processeur de sortie, (output processor ou OP) fomate et imprime des textes saisis
il’aide du processeur de mise-á-jour. OPoffredenombreusespossibilitós avancées de
traitement de textes; telles que: gestión de 1’espacement propor- tionnel, formatage de
texte, gestión des polices de caracteres, index automati- ques, table des matiéres
automatique, en-téte, en-pied, numérotation automati- que des chapitres, des pages,
des figures et des tables.
Macro-instruction.
Une macro-instruction est constituée par une suite de phrases tel dont les éléments
existent dans le maitre dictionnaire. Pour exécuter une macro- instruction, il suffit de
taper son nom au niveau tel. Vous pouvez créer des macros- instructions directement
dans votre maitre dictionnaire en utilisant l’éditeur ou en utilisant le verbe creer-macro
(create-macro), qui transfonne en macroinstruction la demtere commande rentrée au
niveau tel.
tbp
01 n n = mode non-stop; m = mode stop
02 trier bp (p
Menus.
Les menus sont définis comme des articles du maitre dictionnaire. Les fonc- tionnalités
du processeur de menus incluent: formatage automatique, présen- tation des options,
texte d’aide optionnel. Pour exécuter un menu, il suffit de taper son nom au niveau tcl.
test.menu
4
0
NOUVELLES FONCTIONNALITÉS D’ADVANCED PICK
01 me
02 titre du menu
03 optionl Jhelpl Jcommande 1 ]commandel. 1 Jcommande 1 .n
04 option2]help2]commande2
05 options]...
Les différents éléments du menu sort séparés par des séparateurs de valeur (<ctri-]>).
Chemin d’accés.
Sous AP, les poirteurs de fichiers de type Q ne sort plus utiles, n est désormais
possible d’accéder á un fíchier se trouvant dans un autre compte, en spécifiart son
chemin.
L Pour spécifíer que toutes les modifications doivent étre sauvegardées par
le processeur de transaction log. Cette option n’est pas compatible avec les
options X ou Y.
S Les clés des articles sort “case sensitive”; e’est á dire que Fon considére
distinctes majuscules et minuscules.
Dictionnaires.
Une nouvelle fonctionnalité offerte par AP est 1’appel de sous-programmes Basic
catalogués depuis les articles des dictionnaires de fichiers. Cela permet d’effectuerde
réels traitements depuis le langage ACCESS.
4
1
A.PICK / UNIX
Si I’attribut qui contient MS est utilisé comme cié de tri, les articles seront triés suivant
la séquence de caractéres définie dans Particle seq du fichier messages.
Conjonctions.
Les conjonctions suivantes ont été ajoutées:
4
2
NOUVELLES FONCTIONNALFTÉS D'ADVANCED PLCK
Les modes spéciaux d’impression, italiques, soulignés et gras peuvent étre combinés.
Toutefois, si Timprimante ne les supporte pas, ils seront ignorés.
Ceci incluí également les erreurs de format groupe. La commande lister-erreurs Qist-
errors) permet de consulter ce fichier et ainsi de surveiller l’état de santé de la machine.
Listings étendus.
Il est possible d ’utiliser un X comme code V/TYPE dans 1’ attribut 9 de 1’ attribut de
définition d’attribut, qui indique que lors d’une édition, le champ peut étre étendu á la
largeur maximale de l’unité de sortie.
Des définitions d’attributs par défaut qui ont des clés numériques, peuvent étre
spécifiés sans exister dans le dictionnaire du fichier ou dans le maftre diction- naire.
Des définitions temporaires sont créées, utilisant la cié comme numéro d’attribut, avec
une longueur de 9 positions et une justification á gauche.
4
3
A.PICK / UNIX
Elle est sans effet si la sortie peut se présenter suivant un format colonne.
Index.
Les index permettent aux attributs de servir de clés pour les articles, lorsque les
instructions pour la formation des clés sont spécifiées en tant que codes de traitements
de type “A”, n est possible de créer autant d’index que vous le désirez pour un fichier
donné.
La racine du fid et le code de traitements pour chaqué index sont stockés en tant que
valeur simple de I’attribut 8 de I’article de définition de fichier.
Les index sont créés par le verbe tel creer-índex (create-index) et stockés sur le disque
en ordre alphabétique suivant la structure logique b-arbre.
Une fois qu’un index a été créé, toute modification apportée á ce fichier est
automatiquement répercutée dans 1’index. Par exemple, si un article est supprimé,
toutes les entrées d’index pour cet article sont aussi supprimées.
Les index peuvent étre utilisés par les programmes Basic, par le processeur de mise-á-
jour et par les verbes tel, trier et tselectionner.
Par exemple, dans un fichier des employés utilisant un numéro d’ordre comme cié,
vous pouvez créer un index basé sur les attributs qui contiennent les noms des
employés.
Les verbes tel trier et tselectionner vérifient si les clés de tri ne correspondent pas á
des index déjá existants, avant de commencer le tri.
Si un index existe, il sera utilisé pour produire le résultat.
L’utilisation des index réduit de maniére considérable les temps nécessaires aux tris,
particuliérement sur les gres fichiers.
Nouveaux verbes.
Voici une liste concemant les principaux verbes qui ont été ajoutés dans AP et pour
certains dans OA. Pour plus d’information concemant les verbes et pour une liste plus
compléte, veuillez vous reporter au chapitre correspondant
4
4
NOUVELLES FONCTIONNALÍTÉS D'ADVANCED PlCK
init-ovf
Initialise la signature des partitions de I’overflow.
(:scrub-ovf)
appel-bogger (brk- Permet I’appel d’un niveau d’exécution lorsque Ton appuie
debug) sur la touche <pause>.
4
6
NOUVELLES FONCTIONNALITÉS D’ADVANCED PICK
Tableaux.
Tous les éléments d’un tableau peuvent étre comparés á une valeur spécifique en utilisant
un astérisque (*) pour identifier l’élément.
Lorsque l’astérisque est utilisé, les opérateurs de relations retoument la valeur vraie, si au
moins un élément du tableau satisfait la relation.
L’astérisque ne peut étre spécifié que dans des expressions relationnellcs et seulement
une fois dans une relation.
Instructions Pick/basic.
access Retoume des informations á propos du fichier courant lorsque cette fonction est
appelée depuis un sous-programme basic, lui- méme appelé par une
fonction du langage Access.
fold Cette instruction permet d’insérer un délimiteur spécifique dans une chafne de
caractéres á un endroit donné.
occurs Fonction retoumant une chafne de caractéres qui apparaft un certain nombre de
fois dans une chafne préalablement triée.
Zones communes.
Les programmes catalogués peuvent étre appelés depuis les attributs 7 et 8 des articles de
définition d’attributs. Si le programme basic posséde des variables spécifiées en zones
communes, les valeurs de ces variables sont préservées par les commandes Access au
travers des appels.
Verrous d’articles.
Les verrous d’articles ont été ajoutés aux instructions readu et readvu.
Clause onerr.
La clause onerr a été ajoutée aux instructions: readt, rewind, weof et writet Elle permet de
déterminer avec précision les erreurs résultant de manipulations sur les unites
magnétiques, et d’agir en conséquence.
onerr est utilisée á la place de else. Le type d'erreur est accessible par la fonction
system(0).
Fonction systemQ.
La fonction system a été étendue á system(23). De nouvelles informations, telles que le
nombre de PIES alloués au systéme, le privilége du compre etc... sont désormais
accessibles.
4
8
NOUVELLES FONCTIONNALITÉS D’ADVANCED PICK
:DEL
:SETF.MD
:SETF
Le processeur batch B/ADD et B/DEL
INTER
LINK-WS
PRIO
SLICE
Le format général des verbes a été modiflé. H est done nécessaire, lore de la récupération
de comptes en provenance d’une autre version, de mettre á jour le maftre dictionnaire du
compte chargé. La commande maj-md (update-md) se charge de cette mise-á-jour.
Lecompte SYSPROG n’existe plus. H a été rebapti sé dm, pour data management.
Processeur de sauvegarde.
4
9
APICK / UNIX
Désormais, le fichier POINTER-FILE n’est plus un fichier particulier. n peut étre copié,
supprimé et mis-á-jour, en utilisant les verbes tel, copier, supprimer, et éditcr, de la
méme fagon que pour un autre fichier.
Les verbes de manipulation de listes ont cependant été conservés pour assurer la
compatibilité.
Les listes peuvent étre sauvegatdées dans le fichier “t” parle veibe sauver-liste, mais
peuvent étre également sauvegardées dans n’importe quel fichier en utilisant le
nouveau veibe sL
Les listes peuvent étre activées par les commandes activer-liste (get-list) pour une liste
se trouvant dans “t” , et par al (gl) pour une liste se trouvant dans n’importe quel fichier.
Fichiers de programmes.
Les fichiers de programmes basic ne nécessitent plus un D/CODE égal á DC. Les
programmes peuvent étre compilés dans n’importe quel fichier.
Basic.
L’instruction dim doit se situer avant l’utilisation des variables dans le code du
programme.
Editeur.
Pour éditer un article de définition de fichier, il faut utiliser l’option (D) de l’éditeur dans
le code du programme.
50
Implémentation Advanced Pick / UNIX
Apport de fonctionnalités.
Cette nouvelle implémentation apporte aux applications Pick denombreuxoutils et
programmes utilitaires UNIX, tels que: réseaux, graphiques, calculs mathé- matiques, outils
de surveillance du systóme, etc...
Aujourd’hui, tes matériels sont de plus en plus sophistiqués et compliqués. UNIX est
incontestablement te systéme d’exploitation te plus adapté pour gérer le niveau physique
des machines. On peut penser que c’est une des raisons qui a orienté Pick Systems dans
cette vote.
5
1
Description technique sommaire.
• L’espace disque Pick constitue un volume spécial, accédé depuis les appels
systómes de base d’UNIX.
• La mémoire virtuelle Pick est partagée et gérée par Pick, tout en faisant partie de la
mémoire virtuelie UNIX.
• Les terminaux sont gérés par Pick de la méme fagon que pour les versions Pick
classiques.
• Les unités de bandes magnétiques sont partagées de maniére transparente entre
les deux systómes.
• Les imprimantes peuvent 6tre dédiées á Pick ou utilisées par UNIX et Pick.
Avantages d’AP/UNIX.
Performance.
Facilité de portage.
5
2
• AP/UNIX utilise en nombre tits réduit les fonctionnalités de System V.
• Compatibilité «Application Bianry Interface ABI».
Administration du systéme.
La machine virtuelle est créée aprés le démarrage d’UNIX, qui reste le systéme
d’exploitation gérant l’ensemble du matériel.
Les accés aux unités physiques sont traités au niveau le plus bas, au travers des
appels systémes UNIX standards.
Le descriptif complet de la machine virtuelle est défini dans un fichier de configuration
UNIX.
5
3
#
# Blocs de 1 Ko par fid blkfid 4
#
# PCBO - x’400' abssize 3e8 absbase 18
#
# Définition de I’espace disque disk/dev/rflvOO 0 60000
#
# Bandes magnétiques tape abs 4000 s 1 tape/dev/rfd1.15 500 f 1 tape
/dev/rmtO 16384 q 1 #
# Période d’écriture de la mémoire flush 5
L’accés á une machine virtuelle Pick se traduit par Faffichage de la mire. Elle peut étre
obtenue de deux fa^ons, soit en tapant une commande depuis 1’envi- ronnement
UNIX, soit automatiquement M’initialisation de lamachine virtuelle, sans passer parle
“login” d’UNIX.
Un autre élément fondamental dans cette implémentation est que chaqué processus
Pick estun processus UNIX, qui au lieu d’exécuter du code objet “c”, exécute du code
objet assembleur Pick, en relation avec les ressources allouées á la machine virtuelle á
laquelle il est connecté.
Cela pennet de mettre en oeuvre des échanges simples entre les deux systémes
d’exploitation, en préservant les fonctionnalités du systéme Pick.
A n’importe quel moment, un utilisateur Pick peut se déconnecter temporaire- ment de
la machine virtuelle, appeler le systéme UNIX, puis retoumer au processus Pick
exactement au point suivant la déconnexion.
Mis á part les restrictions de licences imposées par Pick et UNIX, il n’y a tech-
niquement pas de limitation en ce qui conceme le nombre d’utilisateurs, le nombre de
táches fantómes, le nombre de disques etc...
Espace disque.
L’espace disque utilisé par une machine virtuelle Pickest une paitie de Fespace disque
d’ UN IX. UNIX définit des disques virtuels par des points d’entrée dans le répertoire
/dev.
Les disques virtuels Pick ne sont pas “montés”comme ceux d’UN IX, c’est á dire qu’ils
ne supportent pas le systéme de fichiers d’UNIX et ne sont pas lisibles au travers des
appels systémes standards.
Un disque virtuel UNIX peut étre divisé en plusieurs disques virtuels Pick pouvant étre
utilisés par plusieurs machines virtuelies. Les disques virtuels d’une machine virtuelle
Pick sont concaténés logiquement pour former un espace linéaire pour Pick.
La structure des drivers d’UNIX ne permet pas á 1’heure actuelle d’utiliserla technique
des disques miroirs.
5
4
Les erreurs “disques” sont gérées parles drivers UNIX.
Gestión de la memoire
Lorsqu’un processus Pick nécessite une partition depuis l’espace disque, il effectue un
appel au moniteur qui vérifie si la partition appartient bien á la mémoire, puis appelle un
programme systéme pour gérer cette requéte. Le processus est alors suspendu jusqu’á
l’obtention compléte de la partition. Lorsque le processus se réveille á la fin de
l’entrée/soitie, la partition est en mémoire.
Lorsqu’une machine virtuelle Pick devient peu active ou lorsque l’activité du systéme
UNIX augmente, le processus d'allocation de pages mémoire diminue l’espace inutilisé
alloué á la machine virtuelle Pick, pour le donner aux processus UNIX.
Réciproquement, si l’activité Pick augmente, le processus d'allocation de pages
donnera plus de mémoire á Pick.
5
5
A.PICK / UNIX
Écriture de la mémoire.
L ’écriture de la mémoire Pick est gérée par un processus fantóme U NIX qui balaye
l’espace virtuel á intervalles de temps réguliers (entre 5 et 30 secondes), pour
rechercher les pages qui sont á écrire. Cette táche de fond n’est pas visible depuis
Pick. Sa priorité UNIX est plus faible que celle allouée aux processus de Pick. 11 n’y a
pas d’impact réel sur les performances de la machine virtuelie.
La táche de fond d’écriture de la mémoire est un processus qui peut étre tué
accidentellement. Il est toutefois possible de le recréer sans avoir á réinitialiser la
machine virtuelle.
Terminaux.
Les terminaux, comme tous les périphériques, sont gérés de fa^on á effectuer des
lectures et des écritures de blocs lorsque cela est possible. Le type de terminal est géré
par Pick, ce qui est plus simple et surtout plus rapide que le mécanisme “terminfo”
d’UNIX.
Depuis que le moniteur générique utilise les drivers standard, un terminal peut étre
substitué á n’importe quel périphérique, par exemple á un élément de réseau.
Si le systéme supporte les connexions á distance (remote login) á travers n’importe
quel type de réseau, l’accés á une machine virtuelle devient possible.
Les terminaux sont des périphériques UNIX, ettous les utilitaires qui permettent de les
contréler sont en fait des programmes Pick/Basic faisant appel á des commandes
UNIX.
Bandes magnétiques.
Les unités de bandes magnétiques sont partagées entre les processus Pick et U NIX, sans
qu’il soit nécessaire de le spécifier par une commande particuliére.
Le premier processus qui utilise le périphérique, le réserve jusqu’á ce qu’il n’en ait plus
besoin. n s’en suit alors d’une libération qui est automatique du cóté UNIX, mais pas du
cóté Pick. II faut utiliser la commande b-decharger (t-unld) qui détache, puis libére l'unité.
Si le périphérique n’est pas disponible, Pick renvoie un message indiquant que l’unité est
occupée, et UNIX abandonne l’ouverture car elle est impossible.
La version préliminaire ne supporte qu’une unité de bande active á la fois. n s’agit d’une
limitation du systéme virtuel. Espérons que Pick Systems prendra la décision d’ajouter
cette nouvelle fonctionnalité qui est de plus en plus indispensable.
Imprimantes.
Un processus de contróle est initialisé sur une voie Pick, ce qui a pour effet de rendre
Timprimante inaccessible á UNIX. L’imprimante est alors dédiée á la machine virtuelle.
Pour libérer rimprimante, le processus doit étre déconnecté de la machine virtuelle qui le
contróle.
L’édition est générée par Pick, mais l’impression est dirigée vers le Spooler UNIX.
5
7
A.PICK / UNIX
Cette méthode permet de partager une imprimante entre les deux systómes
d’exploitation.
Signaux.
Les signaux sont des interruptions “logiciel” générées parle matériel (problé- mes
mémoire, instructions illégales etc..) ou par le logiciel (communications inter-
processus).
Une attention particuliére doit étre apportée quant M’utilisation des commandes UNIX
“terminate” et “kill”.
“terminate” déconnecte le processus de la machine virtuelle et le retoume au shell,
sans l’avoir au préalable déconnecté du systéme Pick. Cela peut s’avérer trés génant
si le processus était en train de mettre á jour un fichier, et générer des erreurs de
format groupe (sic...).
5
8
IMPLÉMENTATION ADVANCED PICK - UNIX
Préparation de la configuration.
memr Est la taille de la mémoire réelle en Ko. Pour déterminer la taille de la mémoire
réelle, taper “pg Aisr/adm/messages” et vous référer au message “usr =
rm” oü nn représente la taille de la mémoire réelle.
unix.ker Taille du noyau résident d’UNIX. Elle est normalement voisine de 1536 Ko.
Attention, si UNIX utilise des drivers spécifiques, cette taille peut
augmenten
pick.util Nombre d’utilisateurs Pick actifs, multiplié par le montant de la mémoire utilisé
par UNIX pour gérer le processus.
5
9
A.PICK / UNIX
unix.nec Somme des espaces mémoires nécessaires par les applications UNIX qui
fonctionnent en meme temps que Pick.
Exemple
Quelle est la taille mémoire nécessaire pour installer un systéme AP/UN IX de 25
utilisateurs, lorsque seul Pick est présent sur la machine ?
Nombre de pibs.
Ce nombre est fixé parla licence Pick. Rassurez-vous, il est seulement possible de le
diminuer.
Umtés de disques.
Une machine virtuelle peut utiliser jusqu’á 16 divisions de disques. Dans la mesure du
possible, il vaut mieux placer ces divisions sur des disques différents, et non sur le
méme disque utilisé par UNIX pour effectuer sa pagination mémoire.
Bandes magnétiques.
Une grande variété d’unités peuvent étre utilisées pour effectuer des sauvegar- des. La
premiére unité spécifiée dans le fichier de configuration est l’unité par défaut. Les
autres sont sélectionnées par les commandes Pick usuelles.
Les commandes init-disquette (set-floppy) ou init-minibande (set-set) ont été
conservées pour assurer la compatibilité. En effet une commande plus générale init-
peripherique (set-device) est beaucoup plus compléte.
6
0
IMPLÉMENTATION ADVANCED PICK - UNIX
0Ill liiiiiiiiiiiiiiillilliiliili>i
1 5 9 13 17 21 25 29 33
Nombre d'utilisateurs
Le graphique ci-dessus a été ¿laboré avec la formule énoncéeprécédemmentpour lamémoire mínimum (systéme
seul) nécessaire á I'installation.
La courbe supérieure indique la mémoire réelle nécessaire pour les utilisateurs.
Chargement du moniteur.
La disquette de chargement du moniteur est au format UNIX “cpio”. Elle con- tient le
moniteur AP/UNIX, les bibliothéques nécessaires pour reconstruiré le moniteur, ainsi
qu’un exemple de configuration de machine virtuelle.
Pour charger cette disquette, il faut taper, depuis “root”, les commandes suivantes:
cd /usr/pick
cpio -iucv < /dev/fdO (unité de disquette) cp pick /usr/bin
chown pick *
chgrp pick *
chown pick /dev/*pick
chgrp pick /dev/*pick
6
1
A.PICK / UNIX
pickO
#
# Configuration de la machine virtuelie PickO.
#
name pickO Nom de la mv.
core 1024 10 Taille de la mémoire et cié
#
# Etat du Spooler pick et des taches fantómes.
#
spooler on Si off, le Spooler Pick ne pourra pas Stre utilisé. Dans ce cas, enlever
la commande startspooler de la macro-instruction system-coldstart
du compte dm..
phantom on Sioff.lestáchesfantomesnepourrontpasétreutilisées.Enleveralors la
commande startsched de system-coldstart
#
# Définition des caracteres spéciaux.
#
brkchr 00 Caractére <pause>. Permet de redéfinir ce caractére. Pour supprimer
complétement cette touche, il faut saisir brkchr ff.
escchr lb Caractére <échappement>. Idem touche <pause>.
#
# Espace disque.
#
disk /dev/rpick 0 32767 Défmit 1’espace disque utilisé par la machine virtuelie.
# Voir le manuel d’installation pour plus de détails.
# Bandes magnétiques. # tape /dev/rdsk/f0ql5dt 500 f Ih tape /dev/rdsk/íüd9dt 500 f
Is tape /dev/rdsk/flql8dt 500 f Iq tape /dev/rdsk/f lq9dt 500 f Id tape /dev/rmt/Obn 16384
q 1 /dev/xctO # 5 1/4" disquette 1.2 Mo
# flush 10 5 1/4" disquette 360 Ko
3 1/2" disquette 1.44 Mo
3 1/2" disquette 720 Ko
Streamer 120 Mo.
Ecrituré de la mémoire.
Période d’écriture en secondes.
6
2
IMPLÉMENTATION ADVANCED PICK - UNIX
Répondre “a”, puis choisir l’unité de bande magnétique désirée. n vous sera ensuite
demandé de charger les disquettes abs qui contiennentle code objet du systóme
d’exploitation.
Une fois la zone abs chatgée, le message précédent apparait á nouveau. Répondre “f ’
pour charger le systéme minimal de base. Charger alors la disquette correspondante
puis au message
Le systéme Pick démarre et est opérationnel. n ne reste plus qu’á charger les
applications.
6
3
A.PICK / UNIX
b-decharger (t-unld)
deconnecter (disc)
Cette commande a aussi pour effet de fermer tous les fichiers UNIX. Attention done
aux programmes Pick/Basic qui pourraient utiliser des fichier UNIX.
6
4
IMPLÉMENTATION ADVANCED PICK - UNIX
Importer (Import)
Permet d’importer des fichiers UNIX dans des articles Pick. Les erreurs sont affichées
sur le terminal.
fichier.unix Fichier UNIX á importer. Les noms des chemins complets doivent étre
utilisés si les fichiers ne se trouvent pas dans la librairie courante. Si
le nom de fichier n’est pas spécifié, la liste des articles de destination
est utilisée comme liste source.
Options
Init-cartouche (set-sct)
I nit-date (set-date)
Inlt-dlsquette (set-floppy)
Inlt-heure (set-tlme)
6
6
IMPLÉMENTATION ADVANCED PICK - UNIX
Inlt-port (set-port)
bit.stop 1 ou 2
pick (pick)
6
7
A.PICK / UNIX
Exemples:
pick rii 9 Démarre un processus utilisateur sur le pib 9 de la machine virtuelle rii.
H faut faire attention quant á l’utilisation de cette commande. En effet comme “pick” est
disponible depuis TCL, il est possible de créer un processus depuis un processus déj i
existant, c ’est á dire de l’empiler, et cela sur le máme terminal. Dans ce cas précis, la
déconnexion doit étre faite par la macro-instruction sortie (exit) ou parla commande
deconnecter (f. Surtout ne pas utiliser la forme simple de déconnecter, ce qui générerait
un effet de blocage.
systeme-generation
systems
(which)
Affiche quelle est la version du systéme. “systeme” est quelque peu différente du Pick
standard.
Informations affichées:
Version du moniteur.
Date de génération du moniteur *.
Les autres champs affichés sont standards.
L’option z n’affíche que les zones suivies de *.
commande.unix peut étre une commande UNIX quelconque. Un shell est créé et la
commande lui est soumise. Si commande.unix est omise, un shell est créé et le contróle
lui est donné. Pour revenir á TCL, il faut quitter le shell par <ctrl-d>.
En ciéant des macro-instructions utilisant cette commande, toutes les instructions UNIX
peuvent étre accessibles depuis Pick.
shelbcapt (psh)
Examples
Imprime sur le terminal le calendrier de l’année 1993 et le stocke dans I’article 1993 du
fichier tmp.
7
0
IMPLÉMENTATION ADVANCED PICK - UNIX
Interface Pick/Basic.
Cette section décrit les extensions Pick/Basic pour interfacer UNIX et Pick. Certaines
fonctionnalités peuvent varier d’une implémentation á l’autre.
execute
Syntaxe:
execute commande.unlx {capturing variable) {returning variable)
La variable “variable” spécifiée par capturing regoit ce que la commande UNIX renvoie
a stdout, la taille n’est pas limitée. Chaqué ligne est séparée par une marque d’attribut.
Les caracteres de tabulation UNIX ne sont pas remplacés.
Example:
execute ucc -o monprog monprog.c 2>&1 capturing cc.resultat
7
1
A.PICK / UNIX
system(100)
Cette fonction renvoie des informations importantes concemant le systéme. Elles sort,
entre autres, utilisées lorsque plusieurs machines sont mises en réseau.
produit Nom du produit UNIX (unix, aix, dg/unix etc...), systéme Nom du systéme,
dépendant de l’implémentation.
n peut étre vide.
node Nom sous lequel le systéme est connu dans un réseau.
rel Release du systéme UNIX.
ver Version du systéme UNIX.
hw Nom ou numéro de série de Tordinateur.
jj mmm aaaa Date de génération du moniteur.
Les informations “systéme node rel ver hw” sont obtenues par un appel systéme unix:
uname(2).
Aujourd’hui, nous n’avons toujours pas plus de precision quant á Finterfa^age entre les
deux systémes d’exploitation.
Par exemple, comment utiliser des fonctions “c” depuis Pick/Basic ou bien comment
manipuler des fichiers Pick depuis UNIX etc. ?
Néanmoins, la seule interface dévoilée publiquement par Pick Systems lore de son
dernier meeting international á Los Angeles au mois de mare 1990, concemait l’accés
aux fonctions “c” depuis Pick/Basic.
La syntaxe serait:
variable = nom.fonction({argument{,argument,...argument}).
Les commandes du systéme pennettent de manipulerles fíchiers, les articles, les unités de
bandes magnétiques, les unités périphériques et de gérer le systéme. TCL est l'inteipréteur
de ces commandes.
L'abréviationTCL signifle: "terminal control language"; langage de contróle du terminal.
• Les commandes td-2, qui font appel á des fichiers et á des articles.
Exemple: Basic prog *, pmaj clients, etc..
Toute exécution d'une commande TCL peut étre interrompue par I’appui de la touche
<pause> ou de la touche <échappement>. (Tout dépend de celle qui est activée).
Dans les pages suivantes, nous vous donnerons la syntaxe des commandes TCL et nous
détaillerons celles qui sont nouvelles ou qui ont été modifiées par rapport á la version Pick
classique (précédées de ^).
Elles sont énumérées par ordre alphabétique, la conespondance avec la commande
américaine est indiquée entre parentheses.
Pour vous aider dans vos techerches, nous avons mis á la fin de ce livre, les
correspondances franfais/américain et américain/fran^ais.
7
4
LES COMMANDES TCL
o actlver-echappement (esc-toggle)
Permet d'utiliser altcmativement la touche <échappement> comme touche d'interruption de
traitement et comme touche permettant Tentrée d'une donnée.
O actlver-heure-date (tlmedate-on)
Affiche l'heure lorsque la touche <entrée> est appuyée au niveau TCL. La commande
inverse est supprimer-heure-date.
Exemple <entrée>, affichera :23:07:38 29 JUL 1991
O actlver-tcl-entete (tcl-hdr-on)
Permet d'activer Fen-téte par défaut générée par TCL lors de Faffichage des données. La
commande inverse est: supprimer-entete-tcl.
o appel-bogger (brk-debug)
Permet de spécifier que la touche <pause> doit étre utilisée pour appeler le debugger.
appel-nlveau (brk-level)
Permet de spécifier que la touche <pause> doit étre utilisée pour appeler un niveau
d'exécution.
o arret (end)
Permet de quitter un niveau d'exécution.
Exemple: list-fichiers <pause>
::arret
7
5
A.PICK / UNIX
arret-log (stoplog)
Désactivation du processus d'archivage des transactions et détachement de l'unité de
bande magnétique.
arret-machlne (shutdown)
Processus d'arrét des táches du sysféme, puis du systéme lui-mcme.
arret-systeme (power-off)
Arrét de la machine, teste l'état des lignes avant de les arreter. Cette commande chaihe sur
arret-machine.
b-charger (t-load)
Verbe Access, permettant de charger le contenu de la bande magnétique dans un fichier
donné. Voir les chapitres Access et Sauvegardes/Restaurations.
b-ecrlre (t-dump)
Verbe Access, permettant d'écrire le contenu d'un fichier sur le support magnétique
courant. Voir les chapitres Access et Sauvegardes/Restaurations.
7
6
LES COMMANDES TCL
b-efdf (t-weof)
Ecriture d'une fin de fichier sur le support magnétique courant.
b-effacer (t-erase)
Réinitialise une cartouche magnétique.
b-etat (t-status)
Affiche les caractéristiques du support magnétique courant
b-fdf (t-eof)
Déroule le support magnétique jusqu’á la prochaine fin de fichier.
b-f¡n (t*eod)
Déroule le support magnétique jusqu'á la fin du demier fichier.
b-llre (bread)
Permet de visualiser le contenu du support magnétique.
b-llabel (b-rdlbl)
Lecture du label du support magnétique courant
b-reb (t-rew)
Rembobine le support magnétique courant jusqu’au point de chargement
b-retendre (t-reten)
Permet de retendré le support magnétique de l'unité de cartouche, en déroulant la bande
puis en l'enroulant sur toute sa longueur.
b-trlecr¡re (s-dump)
Verbe Access permettant d'écrire sur le support magnétique courant une liste d'articles
aprés un tri.
bogger (debug)
Appel du debugger systóme.
cataloguer (catalog)
Catalogage d'un programme Pick/Basic dans le mattre dictionnaire du compte.
O chercher (search)
Programme utilitaire de recherche de chaínes de caractéres dans un fichier.
o compiler-cataloguer (compile-catalog)
Utilitaire appelé par le processeur de mise á jour tors de l'exécution de la commande ctrl-x-
c.
co compller-executer (compile-run)
Utilitaire appelé par le processeur de mise á jour tors de l'exécution de la commande ctrl-x-r
compter (count)
Yerbe Access permettant de compter le nombre d'articles d'un fichier. n vérifie les critóres
de sélection indiqués. Voir chapitre Access.
7
8
LES COMMANDES TCL
connecter (logon)
Connexion d'une ligne utilisateur depuis un autre terminal.
Options
Options
7
9
APICK / UNIX
creer-compte (create-account)
Cette commande permet la création d'un compte.
creer-fichler (create-file)
Création d'un fichier. Voir le chapitre sur le systéme de fichier.
creer-Index (create-lndex)
Création d'un index pour le fichier spécifié. Voir le chapitre sur la gestión des index.
Opérateurs
Option
8
0
LES COMMANDES TCL
deconnecter (logoff)
Déconnexion d'une ligne utilisateur par un autre terminal.
definir-terminal (define-terminal)
Utilitaire permettant de gérer les définitions des terminaux supportés par le systóme. n est
possible d'ajouter dynamiquement de nouvelles définitions pour des terminaux qui ne
seraient pas dans la liste des terminaux supportés.
O diagnostic (diag)
Exécution des routines de diagnostics internes au systéme.
echo (echo)
Activation / désactivation de l'écho.
effacer-compte (delete-account)
Suppression d'un compte. Tous les fichiers compris dans l'environnement du compte sont
effacés.
8
1
APICK / UNIX
effacer-verrous-baslc (clear-basic-locks)
Effacement des venous positionnés par des programmes Pick/basic.
erreur (prlnt-err)
Cette commande est utilisée pour imprimer des messages ayant le méme format que les
articles qui sont contenus dans le fichier "messages".
o esc-donnee (esc-data)
Permet d'indiquer que le code généré par l'appui de la touche <échappement> doit étre
interprété comme une donnée.
esc-nlveau (esc-level)
Permet d'indiquer que le code généré par l'appui de la touche <échappement> doit étre
interprété pour appeler un niveau d'exécution.
etat-systeme (where)
Commande systéme permettant d'afficher quel est l’état des différents pibs du systóme.
■o etat-txlog (txlog-status)
Affiche quel est l'état du processeur de sauvegarde des transactions.
etendre-car (xcs)
Cette commande est utilisée pour rendre active ou inactive la prise en compte des
caractéres dont le code ASCII est supérieur á 128.
Permet de changer la zone absolue qui sera exécutée par le processus qui lance cette
commande.
8
2
LES COMMANDES TCL
fdlsque (fdlsk)
Utilitaire systóme utilisé sur les implémentations natives de types PC, permettant de
partitionner le disque et de gérerles partitions actives (similaiie áfdisksousDOS).
fin (off)
Clóture d'une session. Déconnexion propre du compte.
formater (format)
Utilitaire systóme de formatage des disquettes.
heure (time)
Affiche la date et l'heure systóme.
I (P)
Inhibition des messages de sortie d'un traitement.
Imputer (charge-to)
Cette commande est utilisée pour imputer la charge d'un traitement ou une session
particuliére á un nom.
8
3
APICK / UNIX
Inlt-date-eur (set-date-eur)
Initialisation de la date au format Européen. C'est á dire: jj/mm/aa.
8
4
LES COMMANDES TCL
Inlt-log (startlog)
Initialisation du processus de contróle de journalisation des transactions.
Inlt-mlnlbande (set-sct)
Cette commande est utilisée pour initialiser l'unité de bande magnétique 1/4 pouce comme
unité standard.
Inlt-mlnlbande-dma n (set-sct-dma)
Permet de spécifier lenuméro du canal d'accés mémoire pour l'unité magnétique
minibande. n doit étre compris entre 1 et 7.
Ce verbe n'est pas supporté dans toutes les implémentations.
Options
n {-m} Limites des fids á utiliser. Si elles sont omises, la signature des partitions s'effectue
de sysbase á maxfid.
i Initialisation du processus de signature des partitions et des pointeurs.
v Mode vérification. Les partitions ne sont pas signées, et les éventuelles partitions non
signées de la table de débordement sont enlevées.
r Initialisation du processus depuis sysbase, jusqu'á maxfid-x400. La table de débordement
est elle aussi réinitialisée. Cette option doit étre utilisée avec Toption i.
1 Mémorisation et affichage des erreurs éventuelles.
Voir le chapitre sauvegardes/restaurations.
8
5
A.PICK / UNIX
legende-oul (legend-on)
Réautorise la sortie des notes explicatives générées par le processeur de sortie.
legende-non (legend-off)
Supprime la sortie des notes explicatives générées par le processeur de sortie.
listconj (llstconn)
Edition des conjonctions présenles dans le maitre dictionnaire.
lister (list, I)
Verbe Access permettant l’édition d’articles répondant á des critéres de sélec- tions
définis. Voir le chapitre Access.
lister-article (llst-ltem)
Verbe Access permettant l’édition d’articles, sans teñir compte des définitions
contenues dans le dictionnaire. Voir le chapitre Access.
lister-charges (charges)
Affichage des statistiques d'imputation pour la session courante.
lister-label (list-label)
Verbe Access permettant de ciéer des étiquettes. Voir le chapitre Access.
8
7
A.PICK / UNIX
lister-rapport (llst-flle-stats)
Edition du rapport statistique des fichiers. Cette commande utilise le fichier files mis á
jour lors de la demiére sauvegarde générale.
Ilstu lu (listusers)
Voirlister-pibs.
O memorlser*commandes (stack-on)
Autorise le systéme á mémoriser les commandes saisies au niveau TCL.
Elles pourront done étre rappelées, puis traitées. La commande inverse est oublier-
commandes.
mot-de-passe (password)
Utilitaire systéme permettantde modifier ou d'imposer un mot de passe pour un maitre
dictionnaire.
O oublier-commandes (stack-off)
Cette commande interdit au systéme de mémoriser les commandes saisies au niveau
TCL. La commande inverse est: memoriser-commandes (stack-on).
qselectlonner (qseiect)
Verbe Access pennettant la création d'une liste de valeurs d’attributs. Voir chapitre
Access.
Example :who
0 patrick aircraft L'utilisateur patrick est connecté dans le compte aircraft.
quo! (what)
Affichage de la configuration du systéme, de l'état des venous, de Fétat des lignes en
cours d'utilisation et du spooler.
reallouer (f-reslze)
Utilitaire de réallocation des fichiers du systéme. Voir le chapitre sur le systéme de
fichier.
restructurer (reformat)
Verbe Access permettant de restructurer un fichier avec de nouveaux identifi- cateurs.
Voir chapitre Access.
9
0
LES COMMANDES TCL
sauvegarde (flle-save)
Utilitairesystómepermettantdesauvegarderlesystémesurlesupportmagnétique. Utilise la
conunande sauver (save). Voir chapitre sauvegardes/restaurations.
selectionner (select)
Verbe Access pennettant d’obtenir une liste d'artictes. Voir chapitre Access.
sommer (sum)
Verbe Access. Utilisé pour totaliser tes valeurs d'un attribut spécifié dans une liste d'artictes
sélectionnés. Voir chapitre Access.
sp-bande (sp-tapeout)
Commande utilisée pour entrer dans te spooler une édition déjá préparée sur support
magnétique.
9
1
A.PICK / UNIX
sp*editlon (sp-edit)
Commande interactive permettant de consulter les éléments en atiente d'impression.
sp-fermer (sp-close)
Frame tous les fichiers en cours de constitution par le spooler pour la ligne courante.
sp-ouvrlr (sp-open)
Cette commande est utilisée pour spécifier que les fíchiers en cours de constitution
doivent rester ouverts á la fin du traitement
supprimer-entete-tcl (tcl-hdr-off)
Supprime Ten-téte TCL par défaut qui est utilisée lorsque des informations sont
éditées par Access.
O supprlmer-heure-date (timedate-off)
Suppression de l'affichage de la date et de l'heure au niveau du caractére d'appel de
TCL.
9
2
LES COMMANDES TCL
terminal (term)
Cette commande est utilisée pour afficher et éventuellement modifier tempo- rairement les
caractéristiques du terminal, (largeur, hauteur etc...)
term-type (term-type)
Commande identique á 'terminal', mais les caractéristiques sont en plus mémorisées.
O restructurer (sreformat)
Verbe Access permettant de restructurer un fichier avec de nouveaux identifi- cateurs. Voir
chapitre Access.
trier (sort, s)
Verbe Access permettant d'effectuer un tri sur un fichier. Voir chapitre Access.
9
3
A.PICK / UNIX
trier-article (sort-Item)
Verbe Access. Voir chapitre Access.
trier-label (sort-label)
Verbe Access. Permet de trier des articleset de les éditer sous forme d'étiquettes. Voir
chapitre Access.
tselectionner (sselectlonner)
Verbe Access. Permet d'obtenir une liste d'articles triés. Voir chapitre Access.
O verlfier-abs (verlfy-abs)
Commande systéme vérifiant Tintégrité de la zone abs courante.
O verlfler-dx (check-dx)
Programme utilitaire générant un état des fichiers du systéme qui ont leur d/code égal i
dx. H est important de lancer l'exécution de cette commande avant toute sauvegarde
puis restauration. Voir chapitre sauvegardes / restaurations.
verlfler-systeme (verity-system)
Commande systéme, vérifie Tintégrité du systéme d’exploitation d'origine. n peut en
effet y avoir plusieurs versions de codes exécutables (zones abs) actives
simultanément sur la méme machine.
O vider-mémoire (flush)
Permet d'écrire le contenu de la mémoire sur Tespace disque.
9
4
Le langage PROC.
PROC a vu le jour avec le systéme Pick. C'est un langage procédural d'enchai- nement de
commandes, n est aujourd'hui remplacé par les macro-instructions et par les programmes
Pick/Basic.
Depuis bien longtemps, PROC n'évolue plus. Sous Advanced Pick, il est conservé
uniquement dans le but de garder la compatibilité avec les applications existantes.
Dans les lignes suivantes, nous décrirons trés simplement ce qu'est PROC, sans nous y
attarder.
PROC permet de mémoriser une suite d’instructions qui sera exécutée á partir d'une seule
commande.
Toute instruction qui peut étre exécutée au niveau TCL, peut Tétre i partir de PROC.
Caractérlstlques:
9
5
A.PICK / UNIX
Les parametres.
Ce sont les données contenues dans les tampons. Un paramétre est une chaíne de
caractéres encadrée par des espaces. Pour actionner les paramétres, on dispose de
pointeurs qui permettent d'agir sur un paramétre précis, et de se déplacer ainsi dans un
tampon activé.
Ce tampon contient au début le nom de la PROC et tous les arguments facultatifs dans
l'ordre oü ils ont été saisis. II sera modifié par les commandes IP, IH, IT, RI, +, -.
Ce tampon contient des données introduites par une commande IS. Le tes est rarement
utilisé.
Contient les données qui seront nécessaires á l'exécution des commandes exécutées
par la procédure. Par exemple des 'input' de programmes Pick/Basic, le fichier de
destination de la commande copier etc...
9
6
PRO
C
Une fois que tous les paramétres sont rentrés dans les tampons de sortie, il y a
exécution de la commande par une instruction de type P, PH, PW, PP, PX, qui retoume
le contróle á la procédure une fois le traitement terminé.
Une procédure est un article d'un fichier qui comporte un nombre quelconque de
commandes. Le premier attributestobligatoirementégal á PQ'. Chaqué ligne de la
procédure ne comporte qu'une seule instruction et doit commencer en premiére
colonne.
Les procédures peuvent étre stockées dans un fichier ou dans le maitre- dictionnaire. II
est conseillé de créer un fichier ne comportant que des procédures. Dans ce demier
cas, il faut que l'appel de la procédure soit défini dans le maftre-dictionnaire.
Pour lancer l'exécution d'une PROC, il suffit de l’appeler par son nom.
:pmaj md LISTEFIC
01 PQ
02 HLISTER
03 A2
04 P
05 X
:pmaj md LISTEFIC
01 PQ 01 PQ
02 (PROC ou 02 (PROC LISTEFIC)
Cet appel n'est autre qu'une procédure qui effectue un chainage sur ■'article
LISTEFIC du fichier PROC (voir commande de chainage).
A.PICK / UNIX
Commandes de PROC.
Positionnement des pointeurs.
Sn Positionne le pointeur du tea sur le n iéme paramétre du tampon.
F Fait avancer le pointeur du tea d'un paramétre.
B Fait reculerle pointeur du tea d'un paramétre.
BO Fait reculer le pointeur du tsa d'un paramétre.
Transferí de paramétre.
A Sen á transférer un paramétre d'un tea vers un tsa.
Entrée de données.
IS Sollicite une téponse au terminal. IS sélectionne le tes comme tea.
IP Idem IS, mais sélectionne le tep comme tea.
IT Lecture puis transfen du label de bande dans le tea.
9
8
PROC
Commande de branchement.
GO Branchement inconditionnel á l'étiquetle spécifiée.
Test de format.
IF An— Permet d'effectuer un test sur une commande de type A, puis en fonction du
résultat, soit d'exécuter une instruction, soit d'effectuer un branchement á une
étiquette choisie.
Commande de chainage.
(nf na) Il estpossible de chatner surune autre PROC, sur un programme Pick/ Basic ou
sur toute commande du maítre-dictionnaire. nf est le nom du fichier, na est le
nom de Particle.
9
9
Pick/Basic.
Dans ce chapitre, nous ne nous attarderons pas sur toutes les instructions, mais seulement sur
celles qui sont nouvelles ou qui ont été modifiées par rapport au systóme Pick standard. D ne
nous a en effet pas para utile de faire un manuel completde ce langage. Si vous désirez plus
d'informations sur Pick/Basic, vous pouvez les obtenir dans le livre:
“Le systóme Pick” de Michel Lallement
(Editions Reíais Informatique International)
Introduction.
Une des particularités de Pick/Basic réside dans le fait que les instructions de manipulation
des fichiers de la base de données font partie intégrame du langage.
Cette différence est fondamentale par rapport aux autres bases de données dont les langages
extérieurs n'intégrent pas directement ces instructions.
Caractéristiques générales.
1
0
1
A.PICK / UNIX
Un programme est un article d'un fichier quelconque, créé par le processeur de mise i jour
(mode éditeur). Un attribut correspond á une ligne de programme.
Avant d'étrc exécuté, un programme doit étre traduit dans un code exécutable
comprehensible par le systóme d'exploitation. Cest la phase de compilation.
Un programme est composé de lignes comprenant des instructions, des variables, des
constantes, des expressions et des fonctions. Les instructions Pick/ Basic peuvent contenir
des relations arithmétiques et des expressions logiques. Ces expressions sont composées
de la combinaison spécifique d’opérateurs avec des variables, des constantes ou des
fonctions intrinséques au langage. La valeur d'une variable peut étre modifiée
dynamiquement tout au long de l'exécution du programme. Une constante, quant á elle,
garde la méme valeur.
Pour des raisons de clarté, il est préférable de ne mettre qu'une instruction par ligne de
programme, n est tout de méme possible de mettre plus d'une instruction par ligne, en les
séparant par des points virgules (;). Avis aux amateurs.
Les étiquettes doivent étre placées au début des instructions Pick/Basic. Elles peuvent
étre numériques ou alphanumériques.
Éléments du langage.
a) Représentation des données.
Deux types de données sont utilisées dans Pick/Basic, les données numériques et les
chatnes de caractéres.
Une dormée numérique est constituée d'une suite de chiffres représentant un montant, par
exemple: 86,1904,2 etc...
1
0
2
PICK/BASIC
Elle doit étre comprise dans les limites: {+/-J140737488355327 * 10‘p p étant la précision
comprise entre 0 et 9.
Une valeur numérique en dehors de ces limites est stockée sous forme de chatne de
caractéres.
De fagon á conserver le maximum d'exactitude dans les calculs, la précision interne est de 18
chiffres pour la partie décimale.
Les opérations ln(x), sqrt(x), pwr(a,x) et exp(x) peuvent avoir des valeurs comprises dans les
limites:
{+/-} 2 47 * 2 W127 * 10 *
Une chaírie de caractéres peut contenir jusqu'á deux milliards de caractéres. Une chatne
constante est représentée par un ensemble de caractéres délimités par des apostrophes ou
des guillemets.
b) Variables.
La valeur d'une variable peut étre soit numérique, soit une chatne de caractéres, et comme
son nom Vindique étre modifiée dynamiquement tout au long de l'exécution du programme.
Une variable est identifiée par son nom, qui ne peut pas étre une instruction du langage. La
taille maximale du nom de la variable est de 48 caractéres. H peut y avoir 214.748.363
variables dans un programme!!!
c) Tableaux.
Un tableau est une variable multivaleurs ordonnée. Chaqué valeur du tableau est un élément
accessible par sa position spécifique dans le tableau.
Pick/Basic supporte deux types de tableaux. Les tableaux dont la taille est fixe, et les tableaux
dynamiques dont la taille est inconnue. Cette fonctionnalité est trés intéressante et
particuliérement souple d'utilisation. Cest un des points forts de ce langage.
Les tableaux dimensionnés possédent deux dimensions au maximum et sont définis, soit par
l'instruction dim au début d'un programme, soit par I'instruction file. D'autres dimensions sont
accessibles, en référengant des tableaux dynamiques depuis un tableau dimensionné.
Les valeurs d'un tableau dynamique sont séparées par des délimiteurs de valeurs et de
sous-valeurs.
Chaqué valeur d'un tableau de ce type peut étre décomposée en sous-valeur. n s'agit
done d'une structure tridimensionnelle, identique á celle des articles de fichiers pick. (Voir
le chapitre "Le systéme de fichier Pick").
La taille des tableaux dynamiques est illimitée.
10
3
A.PICK / UNIX
Dans bien des cas, les manipulations de tableaux dimensionnés sont plus rapides que
celles effectuées sur les tableaux dynamiques.
Example d'utilisation:
TAB(a,b)<x,y,z>
La combinaison de ces deux types de tableaux est extrémement puissante. Les éléments
des tableaux dimensionnés et dynamiques peuvent étre comparés dans des expressions
relatiormelles en utilisant la syntaxe standard. Tous les éléments d'un tableau peuvent
étre comparés á une valeur spécifique en utilisant un astérisque pour identifier l'ensemble
des éléments.
d) Opérateurs.
Les expressions sont formées de la combinaison d'opérateurs avec des variables, des
constantes ou des fonctions. Lorsqu'une expression est renconttée, elle est évaluée en
fonction des priorités de chaqué opérateur. La priorité la plus élevée est traitée en
premier.
• Soustraction. 4
expr expr Format de chaine. 5
cat (:) Concaténation. 6
=,<,>,<=,>=,# Opérateurs relationnels. 7
match Masques de vérifications. 7
et(&),ou(!) Opérateurs logiques. 8
Les parentheses sont utilisées pour rendre plus claire la lecture de 1'expression. A l'intérieur
d'une parenthése, les régles de priorité sont appliquées.
1
0
4
PICK/BASIC
Les chaines numériques ou de caracteres, peuvent étre formatées en utilisant les masques de
formats de chaines. Le masque numérique contróle la justification, la precision, l'échelle et
¡'indication de cródit. La totalité du masque doit étre entre apostrophes. Les masques de
format peuvent étre utilises directement avec ¡'instruction print
Une expression de chaine peut étre une chaine constante, une variable avec une valeur, une
sous-chaine ou la concatenation d'expressions de chaine. Les expressions de chaine peuvent
étre combinées avec des expressions arithméti- ques.
10
5
A.PICK / UNIX
g) Expressions relationnelles.
Une expression relationnelle est évaluée á 1 si la relation est vraie et á 0 dans le cas
contraire. Les expressions relationnelles sontévaluées aptós que toutes les opérations de
chaínes et les opérations mathématiques aient été évaluées.
i) Expressions logiques.
Les instructions ou fonctions précédées de O sont nouvelles dans Advanced Pick Elles font
I'objet d'une explication plus détaillée. Les autres instructions classiques du systéme ne seront
que sommairement traitées. Dans tous les cas, la syntaxe compléte est précisée.
: cat
Opérateurs de concaténation.
Syntaxe: expression: expression
ou expression cat expression
@(colonne{,llgne})
Fonction d'adressage direct du curseur sur l'écran.
1
0
6
PICK/BASIC
@(-x)
Fonction de gestión des attributs vidéo.
Avec Advanced Pick, cette fonction a été étendue, et une nouvelle table est disponible.
Reportez vous au manuel du systéme d'exploitation Pick.
<>
Fonction d'opération sur les tableaux dynamiques. Voir aussi I'instruction extract
abort {numéro.erreur{,paramétre,paramétre,...}}
abort {texte.message.d'erreur}
Utilisé pour spécifier un arrét anormal du programme.
abs(expresslon)
Fonction mathématique renvoyant la valeur absolue de l'expression.
O access(expresslon)
Fonction utilisée depuis un sous-programme appelé depuis un dictionnaire, lors d'un accés au
travers du processeur de mise á jour ou au travers d'Access. Cette fonction permet au sous-
programme d'avoir plus d'informations quant á 1'envi- ronnement traité.
Les fonctions access(3) et access(lO) sontutilisées pour passer des articles entre le sous-
programme Pick/Basic et le fichier. Lorsqu'elles sont utilisées á droite de I'assignement
10
7
A.PICK / UNIX
(signe =), Particle estpassé du fichier au programme. Lorsqu’elles sont utilisées á gauche
de I'assignement, I'article est passé du programme au fichier.
alpha(expression)
Si 1'expression est entitlement alphabétique, alpha(expression) renvoie un 1, dans le cas
contraire, c'est 0.
ascll(expression)
Conversion de 1'expression au format EBCDIC dans le format ASCII.
Voir fonction inverse: ebcdic(expression).
o assigned(variable)
Permet de vérifier si une variable a déjá été assignée. Si oui, un 1 est renvoyé. Cette
fonction est tits utile pour déterminer si une variable commune a déjá été définie.
end case
begin case, case et end case déterminent la structure de la construction condi- tionnelle. Les
instructions qui suivent la premiére expression vérifiée, sont exécutées.
1
0
8
PICK/BASIC
char(expresslon)
Convertit une valeur numérique dans son équivalent ASCH. La fonction inverse est
seq(expression).
clear
Initialise ou reinitialise toutes les variables á zéro.
clearfile {varlable.flchler}
Instruction de vidage d'un fichier. Cest l'équivalent basic de la commande tel : vider-fichier.
10
9
A.PICK / UNIX
close {varlable.flchler}
Feme le fichier identifié par 'variable.fichier'. Si la variable de fichier n'est pas spécifiée, le
dernier fichier ouvert est femé. Cette instruction doit étre exécutée, si Ton désire effacer
un fichier qui aurait été ouvert piédemment.
COl1() COl2()
Fonctions de recherche d'une sous-chaihe.
Utilisées conjointement avec I'instruction field.
cos(expresslon)
Fonction trigonométrique. Calcule le cosinus d'un angle spécifié en degrés.
count(chaíne,sous.chaíne)
Retoume le nombre d'occurrences de 'sous.chaíne' contenues dans 'chaíne'.
crt expresslom,expresslon2,...
Affichage de valeurs sur le terminal.
La fonction @ peut faire partie de 'expressions'.
data expression,expression,...
Instruction de passage de paramétres qui seront utilisés ultérieurement dans d'autres
traitements access, proc, tel, basic etc..., par une instruction de chaf- nage.
date()
Renvoie la date courante dans le format interne.
11
0
PICK/BASIC
dcount(chafne,déllmiteur)
Compte le nombre de sous-chaines séparées par un délimiteur particulier.
debug
Mise au point des programmes, appel du debugger Pick/Basic.
delete {var.flchler,}clé.artlcle
Instruction de destruction d'article.
delete(tab.dyn,attribut,compteur.attrlbut{,valeur{,sous.valeur}})
Suppression d'un élément d'un tableau dynamique.
Example delete(tdyn,2,1,1)
Supprime la lére sous-valeur de la lére valeur de I'attribut 2 du tableau dynamique tdyn.
dtx(expression)
Conversion d'une expression décimale en expression hexadécimale.
Voir fonction inverse xtd(expression).
ebcdlc(expresslon)
Renvoie la valeur EBCDIC de I'expression ASCII.
11
1
PICK/BASIC
exit
Sortie prématurée de boucle for, next ou loop.
exp(expresslon)
Eléve le nombre e (2,7176) ála puissance "expression".
Voir fonction inverse In(expression).
extract(var.tab,attrlbut,valeur,sous-valeur) <>
Fonction d'extraction dans un tableau dynamique.
field(chalne,déllmlteur,occurence)
Fonction de recherche d'une sous-chaine.
O file flchler1{,fichler2...}
Ouverture des sections dictionnaires et données d'un fichier et dimensionnement d'un
tableau de nom 'fichierl'. Le tableau est dimensionné á la taille maximale +1, du plus grand
élément référencé dans le programme. La variable fichier est de la forme: fv.fichierl.
O fold({texte,’n1'{:vm :,n2'}{...},déllmlteur)
Instruction de manipulation de chaínes de caractéres.
Permettant de découper une chafne de caractéres en mots, suivant des contrain- tes de
longueur.
for varlable=expr1 to expr2 {step exprS} {while expr} {until expr} Instructions
next variable
Instruction permettant d'exécuter une boucle de programme.
O gosub étiquettef:}
Instruction de branchement á un sous programme interne identifié par Etiquette’. Si
¡Etiquette est une chatne de caracteres, elle doit étre suivie de
11
2
PICK/BASIC
go{to} étiquettef:}
Branchement á I'interieur du programme á ¡Etiquette spécifiée.
iconv(expresslon,converslon.d'entrée)
Fonction de conversion. Expression' est convertie en fonction de ia conversion d'entrée
spécifiée. Exempie: a=iconv(date0.'d2/')
La fonction inverse est oconv(expression,conversion.de.sortie).
In variable
Instruction de saisie d'un seul caractere. Le caractére est affiché et sa valeur ascii est
stockée dans 'variable'.
Les codes de centróles sont également accessibies.
Exempie In car
si ¡'on tape ctrl-c, la variable car contiendra 3, et dans ce cas précis aucun caractere ne
sera affiché. Par centre si ¡'on tape A, car contient 65 et ¡a ¡ettre 'A' est affichée.
lndex(chaíne,sous-chaíne,occurence)
Recherche une sous-chaíne de caracteres á l'intérieur d'une chame et restitue la position
courante de la sous-chaíne.
11
3
PICK/BASIC
Inputerr expression
Instruction utilisée pour imprimer un message sur la demiére ligne de l'écran.
L'effacement du message est automatique.
Inputnull 'caractére'
Instruction d'entrée de données depuis le terminaL
Permet de gérer la valeur par défaut.
Insert(tab.dyn,attrlbut{,valeur{,sous.valeur}};nouvelle.expresslon)
Fonction d'insertion d'une expression dans un tableau dynamique.
Permet d'insérer un attribut, une valeur ou une sous-valeur.
Int(expresslon)
Cette fonction mathématique renvoie la partie entiére de 'expression'.
len(expresslon)
Cette fonction restitue la longueur de 'expression'.
In(expression)
Cette fonction mathématique génére le logarithme naturel (base e) d'une expression. Voir
fonction inverse exp(expression).
locate('chaíne',tab.dyn{^ttrlb{,valeur{,champ.de.recherche}}};
variable{;'ordre.séquence'}) then... else instructions
locate 'chaine' In tab.dyn{<attrlb{,val}>}{,champ.de.recherche} {by 'ordre.séquence'}
setting variable then... else Instructions
Instruction de recherche dans un tableau dynamique. Cette instruction est tits puissante et
permet de retoumer soit la position de la chaine recherchée, soil celle oü elle devrait se
trouver, ce qui permet éventuellement de 1'ajouter par une instruction insert.
11
4
PICK/BASIC
not(expresslon)
Fonction logique renvoyant 1, si expression a pour résultat 0.
null
Instruction ne provoquant aucune opération.
num(expression)
Fonction logique renvoyant 1, si expression est numérique.
occurs(expresslon1,expresslon2)
Recherche dans une chaíne de caracteres triés.
oconv(expresslon,converslon.de.sortle)
Fonctíon permettant de convertir ¡'expression au travers du code de traitements. La
fonctíon inverse est iconv.
11
5
PICK/BASIC
out expression
Cette expression est utilisée pour imprimer un caractere, dont 'expression* représente le
code décimal ascii. Les codes décimaux supérieurs á 256 sont ajustés modulo 256.
Exemple out 65 imprimera A.
page expression
Instruction de mise en page. Provoque un saut de page, ainsi que ¡'impression de i'en-tete
et de i'en-pied.
precision n
Instruction permettant de spécifier Ie nombre de décimales avec lesquelles toutes Ies
valeurs numériques seront calculóos. La ptecision par défaut est 4. Avec Advanced Pick,
¡a précision peut étre comprise entre 0 et 9. La précision interne de la machine est de 18.
printer close
Instruction d'édition.
Ferme tous les fichiers d'édition en cours et les dirige vers le spooler.
printer off
Instruction d'édition. Dirige routes les sorties d’un programme vers le terminal.
printer on
Instruction d'édition. Dirige routes les sorties d'un programme vers le spooler.
procwrite variable
Peimet l'écriture de ’variable' dans le tampon d'entrée primaire de la proc appelée.
prompt caractére
Pemiet de sélectionner le caractére de sollicitation utilisé lors des entrées.
pwr(expresslonl,expresslon2)
Fonction mathématique. 'pwr1 étéve 'expression!’ á la puissance 'expression^.
11
6
PICK/BASIC
o release {var.flc,cié}
Instruction de déverrouillage d'un article.
rem commentalre
Instruction de remarque.
rem(expresslonl ,expresslon2)
Fonction mathématique renvoyant le reste de la division de 'expression!' par 'expression!'.
replace(tab.dyn,attrib,valeur,sous.valeur,nouvelle.valeur)
Instruction de remplacement dans un tableau dynamique.
return
Instruction de retour d'un sous-programme au programme appelant.
return to étlquette
Transfórc le contróle du programme á la ligne commen^ant par l'étiquette spécifiée.
rnd(expresslon)
Fonction mathématique permettant de générer un nombre aléatoire.
11
7
PICK/BASIC
rqm var.secondes
Permet de suspendre l'exécution du programme pendant 'var.secondes'.
Voiraussi sleep.
seq(expression)
Fonction de conversion. Le premier caractére ascii de 'expression' est convertí dans sa
valeur décimale. Voir fonction char(expression).
sln(expression)
Fonction trigonométrique. Génére le sinus d'un angle exprimé en degrés.
sleep var.secondes
Voir rqm.
O sort(expresslon)
Cette fonction est utilisée pour trier une chaine dont les éléments sont délimités par des
séparateurs d'attributs ou des séparateurs de valeurs.
O soundex(chaine)
Traitement des cháfeles de caractéres par phonémes.
space(expresslon)
Génére un nombre spécifié d'espaces.
sqrt (expression)
Fonction mathématique restituant la racine cartée d'un nombre positif.
stop {numéro.message.d'erreur{,paramétre,paramétre...}}
Instruction de fin de programme.
11
8
PICK/BASIC
str('caractéres',occurence)
Fonction générant une chaíne composée de n occurrences de 'caractéres'.
system(expresslon)
Fonction renvoyant des valeurs utilitaires.
Sous Advanced Pick, la fonction systemQ a été étendue.
Les nouvelles valeurs sont:
O tclread variable
Lecture de la demiére commande tcl.
tlme()
Cette fonctíon renvoie rhcure interne du systéme.
timedateO
Cette fonctíon renvoie rheure et la date interne du systéme.
trlm(expresslon)
Fonctíon de format. Supprime les espaces redondants d'une expression de chaíne.
11
9
PICK/BASIC
unlock {expression}
Instruction de déverrouillage. Voir lock.
O xtd(expresslon)
Fonctíon de conversion d'une valeur hexadécimale en décimale.
Le debuggeur Pick/Basic.
Le debugger symbolique Pick/Basic facilite la mise au point des nouveaux programmes et
la maintenance des anciens.
Pour pouvoir l'utiliser, il est nécessaire de disposer du privilége sys2.
Caractéristiques générales
12
0
PICK/BASIC
Une table des symboles est générée par le compilateur basic. Elle est utilisée par le
debugger pour référencer les variables symboliques.
12
1
PICK/BASIC
Commandes debugger.
12
2
Access.
Caractéristiques générales.
• Sélections á partir de listes prédéfinies.
• Tris ascendants et descendants.
• Nombre variable de critéres de sélections.
• Nombre variable de critéres de tris.
• Utilisation des codes de traitements.
• Ordre des mots et syntaxe ttés libres.
• Nombre variable de mots.
• Génération d’états statistiques.
• Restructuration de fichiers.
• Lectures et écritures de bandes magnétiques.
• Sortie de la liste résultante sur écran ou sur imprimante.
• Appel des phrases depuis TCL, PKX/BASIC, PROC, menus, macro-instructions.
• Possibilité d’utiliser le résultat d’une phrase Access comme liste d’éléments d’une seconde
phrase.
n existe deux types de formulation : la forme étendue et la forme compacte. Cette demiére est
la plus utilisée. Les résultats générés sont identiques.
Exemples
Forme étendue
trier le fichier des clients par nom par prenom afficher code.client soldé
Forme compacte
trier clients par nom par prenom code.client soldé
1
2
3
A.PICK / UNIX
llste.art Si la liste d ’ articles n’est pas présente, tous les articles du fichier
seront concemés. Une liste d’articles est composée d’identifi-
cateurs d’articles, chacun entre apostrophes.
Exemple: "007"
spéclísortle Précise quels sont les attributs qui doivent figurer sur l’état de
sortie. S’il n’y a pas de spécification de sortie, ce sont les attributs
définis implicitement dans le dictionnaire qui seront édités sur l’état
de sortie.
options Elles sont utilisées pour mettre en forme l’édition par la création
d’en-tétes, d’en-pieds, de totaux, de ruptures etc...
Avec Access, il est possible d’effectuer une recherche portant sur une sous- chaine d’une
chatne donnée. Par exemple, il est possible de rechercher tous les noms de clients
commengant par “be”, tous les noms de clients se terminant par “nd”, tous les noms de clients
comportant “an” quelque part au milieu du nom, etc...Cette recherche est rendue possible par
l’utilisation des caractéressuivants:
1
2
4
LE LANGAGE ACCESS
lister le fichier clients avec nom = "be]" lister le fichier clients avec nom = "[nd" lister le fichier
clients avec nom - "duran*"
lister (list)
Ce verbe permet de générer une liste d’articles répondant aux critéres de la phrase.
Example lister clients avec soldé # “0"
trier (sort)
Permet de générer une liste d’articles, triée selon les critéres éventuellement présents dans la
phrase et répondant aux critéres de la phrase.
compter (count)
Renvoie le nombre d’articles vérifiant les critéres de la phrase.
Exemple compter client avec commande > "10000"
sommer (sum)
Génére le total de toutes les valeurs d’un attribut pour une liste d’articles spécifiés.
12
5
A.PICK / UNIX
qselectlonner (qselect)
Ce veibe permet la création d’une liste de valeurs d’attributs á partir d’un ou de plusieurs
articles d’un fichier.
La liste générée est formée d’une suite d’ensembles de valeurs. Chaqué ensemble
représentant les valeurs extraites d’un article.
“qselectionner” est un verbe complémentaire de “selectionner” et de “tselectionner”.
sauver-llste (save-llst) si
Syntaxe sauver-liste nom. liste
Ce verbe sauvegaide une liste créée par les veibes “sclcctionrcf’,’ssdectionner’ et
“qselectionnei” dans le fichier “t” du compte dm.
Sous AP, les listes sont manipulables comme des articles de fichiers, directe- ment depuis
les commandes TCL.
Pour éditer une liste sauvegardée, il suffit de l’appeler par le processeur de mise á jour;
pour copier une liste, il faut utiliser le veibe copier etc...
restructurer (reformat)
Ce verbe est équivalent i “lister”. Mais le résultat du traitement est dirigé vers un fichier
destinataire avec un nouvel identificateur qui n’est autre que 1 ’un des identificateurs
d’attribut de Particle du fichier d’origine.
Le fichier constitué est en fait un fichier inverse.
trestructurer (sreformat)
Ce verbe, comme le verbe précédent, permet de constituer un fichier, mais un tri sera
auparavant effectué suivant les critéres entrés.
b-ecrlre (t-dump)
Ce verbe permet d’écrire sur le support magnétique courant, les articles répondant aux enteres
de sélection. Voir chapitre sur les sauvegardes/restaura- tions.
1
2
6
LE LANGAGE ACCESS
b-trlecrlre (s-dump)
Identique á “b-ecrire”, mais les articles sont auparavant triés.
b-charger (t-load)
Permet de charger le contenu du support magnétique dans un fichier. Voir chapitre sur les
sauvegardes/restaurations.
Les modificateurs.
Les modificateurs sont utilisés pour préciser le sens des phrases Access.
avec (with)
Crifére de sélection.
bande (tape)
Indique que le fichier i exploiter se trouve sur le support magnétique courant
chaqué (each)
Crifére de sélection. Chaqué valeur de I’attribut doit vérifier la condition énoncée pour que
Particle soit sélectionné.
compresse (fill)
Si le format de sortie ne peut pas se présenter sous la forme de colonnes, cette option génére
une sortie en forgant un format compressé.
dbl-ltl (dlb-spc)
La sortie est générée avec double interligne.
diet (diet)
Si “diet” est indiqué, le traitement sera effectué sur la partie dictionnaire du fichier. Dans le cas
contraire, c’est la partie données qui sera utilisée.
O dupliquen (duplicate)
Sélectionne les articles dont les clés d’index sent dupliquées.
Exemple trier clients avec dupliquen nom
12
7
A.PICK / UNIX
O echantlllon (sampling)
Permet de spécifier un échantillon d’articles parmi un ensemble donné.
Exemple lister clients nom telephone echantillon 500
Listera les 500 premiers articles du fichier client.
eclate-par (by-exp)
Permet d’effectuer un tri croissant sur les valeurs multiples d’attribut, en provoquant un
éclatement des articles.
eclate-par-decr (by-exp-dsnd)
Fonction identique i “eclate-par”, mais le tri s’effectue dans 1 ’ordre décroissant.
en-arbre (within)
Exploitation d’un fichier en structure arborescente.
non (no)
Voir “sans”.
par(by)
Permet de désigner l’attribut qui sera utilisé comme critére de tri.
par-decr (by-dsnd)
Fonction identique á “par”, mais le tri s’effectue dans l’ordre décroissant.
1
2
8
LE LANGAGE ACCESS
cette colonne est difiéreme d’une colonne de total. Dans ces deux demiers cas, une colonne
supplémentaire est créée.
rupture (break-on)
Permet de définir les ruptures tors de l’édition, lorsque la valeur de Fattribut spécifié
immédiatement aprés le modificateur change.
o sans (without)
Synonyme du “non” togique.
Inverse le sens vrai de la condition dans une sélection de critére.
Exemple trier demandes par date description sans etat-demande
seul (only)
Supprime Futilisation des attributs implicites tors de la génération de la sortie.
supp-col-ent (col-hdr-supp)
Supprime la sortie de l’en-téte, des en-tetes de colonnes et du message de fin de liste.
supp-det (det-supp)
Supprime la sortie détaillée, lorsque la phrase utilise les modificateurs “total” ou “rupture”.
supp-ent (hdr-supp)
Supprime la sortie de l’en-téte et du message de fin de liste.
supp-ld (ld-supp)
Supprime I’affichage des identificateurs d’articles.
O supp-tcl (tcl-supp)
Supprime I’affichage de la phrase tel précédent la sortie générée.
12
9
A.PICK / UNIX
total (total)
Permet la totalisation des valeurs numériques de I’attribut spécifié dans la phrase, (“achat”
dans 1’exemple ci-dessous).
total-general (grand-total)
Ce modifícateur est utilisé conjointement avec “total”, il permet d’obtenir un format
particulier en sortie.
utlllsant (using)
Permet de spécifier le nom du dictionnaire qui doit étre utilisé pour extraire les données.
un, une, est, sont, flchler, afflcher, pour, dans, articles, enreglstrements, ou, la, les
sont des opérateurs passifs qui n’affectent pas le traitement. Ils sont utilisés pour fair? des
phrases Access étendues, dont la syntaxe se rapproche du langage naturel.
1
3
0
Le Processeur de Mise á Jour.
Le processeur de mise á jour (pmaj) est á la fois un éditeur de textes avancé et un processeur
de gestión des données.
Pmaj est utilisé pour visualiser, créer et modifier n'importe quel article de n'importe quel fichier,
tels que attributs de dictionnaires, textes, programmes, etc...
Synonymes u, update
Options
Pmaj copie l'article spécifié dans son propre espace de travail, puis l'affiche avec ses numéros
d’attributs.
Le curseur est positionné en haut i gauche de l'écran (c'est á dire: 1er attribut & 1er caractére)
et attend la saisie d'une donnée ou d'une commande.
Toutes les commandes débutent par un caractére de contróle, constitué par l'appui simultané
des touches <ctrl> et d'une touche alphabétique.
Certaines commandes nécessitent l'appui d'une autre touche, n n'est alors pas nécessaire
d'appuyer une seconde fois sur la touche <ctri>.
Sur certains terminaux, la séquence <ctrl-s> bloque le terminal. Pour le débloquer, il suffit de
taper la séquence <ctrl-q>.
Pmaj accepte tous les caractéres tapés, á l’exception des caractéres de controles.
Par défaut, pmaj estinitialiséenmodeécrasement. C'est á dire que les caractéres tapés
remplacentles caractéres déjáprésents. Un mode insertion est disponible.
Durant la saisie, les mots tapés apits la fin de la ligne sont automatiquement reportés á la
1
3
1
A.PICK / UNIX
ligne suivante.
Un vérificateur d'orthographe est disponible.
Toutes les modifications apportées par pmaj sont sans effet sur le contenu de I'article réel,
jusqu'á ce que la mise á jour soit effectuée. Seule la zone de travail associée est modifiée.
Il est possible de 'soitir* á n'importe quel moment de I’article sans prendre en compte les
modifications en tapant ctri-e.
Déplacements du curseur.
ctrbk Déplace le curseur vers la droite d'un caractére. Si le curseur est á la fin de l'écran
ou á la fin de 1'attribut, le curseur sera positionné sur le premier caractére de la
ligne suivante. Si le curseur est á la fin de I'article, cette commande est sans
effet
ctrl-J Déplace le curseur vers la gauche d'un caractére. Si le curseur est au débutde
la ligne, il sera positionné sur le dernier caractére de la ligne précédente. Si le
curseur est au début de I'article, cette commande est sans effet
crtl-n Déplace le curseur d'une ligne vers le bas, en maintenant la méme colonne.
Si le curseur se trouve sur la demiére ligne, cette commande est sans effet
ctrl-b Déplace le curseur d'une ligne vers le haut, en conservant la méme colonne.
Si le curseur se trouve sur la premiére ligne, cette commande est sans effet
ctrl-l Déplace le curseur vers la droite sur la prochaine position de tabulation. Si le curseur
est positionné sur la demiére tabulation, cette commande est sans effet Les
tabulations peuvent étre initialisées au niveau TCL, ou par la commande pmaj
ctrl-z-t
ctrl-u Déplace le curseur vers la droite d'un mot Si le curseur est á la fin de la ligne
ou du paragraphe, il sera positionné sur le premier mot de la ligne suivante ou
du paragraphe suivant
Si le curseur est en fin d'article, cette commande est sans effet.
ctrl-y Déplace le curseur vers la gauche d'un mot Si le curseur est au début de la ligne, il
sera positionné au début du demier mot de la ligne précédente ou du
paragraphe précédent Si le curseur est au début de I'article, cette commande
est sans effet
ctrl-f Déplace le curseur sur le premier mot de la prochaine phrase. Si le curseur est en fin
1
3
2
PROCESSEUR DE MISE A JOUR
ctrl-d Déplace le curseur sur le premier mot de la phrase courante. Si le curseur est
au début de I'article, cette commande est sans effet
ctrl-g Déplace le curseur á la fin du paragraphe courant. Si le curseur est en fin d'article,
cette commande est sans effet.
ctrl-z-h Déplace le curseur sur la premiére ligne de Fécran suivant, puis déplace
Faffichage d'un demi-écran.
ctrl-z-q Déplace le curseur sur la premiére ligne de Fécran suivant puis déplace Faffichage
d'un quart d'écran.
ctrl-z-a Réaffiche Fécran avec la ligne courante comme premiére ligne de Fécran.
ctrl-z-b Réaffiche Fécran avec la ligne courante comme demiére ligne de Fécran.
Lorsque pmaj est appelé, par défaut il est initíalisé en mode écrasement de caracteres.
Cela signifie que les caracteres saisis viennent se substituer aux caracteres présents, si
ces demiers existent Le mode insertion est utilisé lorsqu'il est nécessaire d'insérer un texte
13
3
A.PICK / UNIX
juste avant la position du curseur. Lors d'une saisie de texte en mode insertion, le texte qui
suit est placé dans le mode 'ouvert', etl'affichage commence surlaligne suivante, il
reprendra alors sa place une fois le mode insertion refermé.
Lorsque l'on est en mode écrasement, la lettre '0' est affichée en haut á droite de l'écran;
pour le mode insertion, c'est la lettre '1' qui est affichée.
Si une chaine de caracteres est plus longue que la place disponible sur la ligne courante,
la totalité de la chaine est placée sur la ligne suivante. De cette fa?on, * il est possible de
saisir de maniére continuelle sans avoir á changer d'attribut.
ctr l-r Permet de changer de mode. Lorsque le mode insertion est appelé, le texte qui
suit le curseur est positionné sur la ligne suivante, il est alors possible de saisir
autant de lignes que vous le désirez. Pour créer un nouvel attribut, il suffit de
taper ctrl-m. Pour retoumer au mode écrasement, taper ctrl-r.
Paragraphes.
Pour créer un nouveau paragraphe au milieu d'un texte existant, il suffit d'appeler le mode
insertion par ctrl-r et de taper ctrl-m. Cette action termine le paragraphe en cours et permet
la saisie d'un nouveau paragraphe. Si le curseur est positionné á la fin de Particle, ctrl-m
crée un nouveau paragraphe que l'on soit dans le mode insertion ou non.
Chaqué attribut est considéré comme un paragraphe.
pmaj peut utiliser un vérificateur d'orthographe pour vérifier le texte qui est saisi. Le
vérificateur contróle si le mot saisi correspond i un mot déjá existant dans le fichier
"words".
Si une erreur est détectée, le terminal émet un bip et n'affiche pas le demier caractere
saisi. Si une lettre incorrecte a été saisie, il faut la ressaisir. Pour voir
1
3
4
PROCESSEUR DE MISE A JOUR
les mots adjacents au mot erroné, taper ctrl-u pour avoir le mot suivant ou ctrl- y pour avoir
le mot précédent Dans les autres cas, vous pouvez taper les commandes suivantes:
Suppression de texte.
Lorsqu'un texte est supprimé, le reste du paragraphe est déplacé vers la gauche.
ctrl-o Supprime les caracteres depuis la position du curseur jusqu'á la fin du mot,
incluant le caractére sous le curseur. Un mot est défini par une suite de caracteres
terminée par un espace ou un point.
ctrl-e Supprime le texte depuis la position du curseur jusqu'á la fin de la phrase, une
phrase étant une série de mots terminée par un point. Si des commandes du
processeur de sortie (output processor) sont contenues dans une phrase, le
systéme considérera le point au début de la commande "op" comme étant
une fin de phrase.
13
5
A.PICK / UNIX
Insertion de caractére.
ctrl-w Insére un espace de la taille d'un caractóre depuis la position courante du curseur.
ctrt-x-b Sortie de 1'article et retour á Particle précédent de la liste d'articles. S'il n'y a pas
d'article précédent, on reste dans Particle en cours.
ctrl-x-l{(nom.flchler}{nom.artlcle}
Changement de nom de Particle courant, puis mise en fichier du nouvel
article. Le systóme demande si Pancien article doit étre supprimé. Pour le
supprimer entter 'y', autrement Particle reste inchangé.
ctrl-x-n Sortie de Particle courant, puis création d'un article 'blanc'. Si le nom d'article
n'est pas spécifié, pmaj utilise comme cié la concaténation de la date et d'une
séquence interne du systóme. Aprés mise en fichier, pmaj édite Particle
suivant de la liste d'articles ou retoume au niveau TCL.
1
3
6
PROCESSEUR DE MISE A JOUR
Couper et coller.
Les commandes pour couper sont utilisées pour déplacer ou copier des blocs de textes.
13
7
A.PICK / UNIX
du bloc.
ctrl-c-l Marque le début du texte á couper et á ne pas supprimer. C'est á dire que Ton
effectue une copie du bloc dans le tampon 'couper'. Le caractére\ indique le
début du bloc.
ctrl-c-c Coupe ou copie le texte marqué par les commandes ctrl-c-d ou ctrl-c-l et met le
texte dans Ie tampon 'couper*.
Commandes de préstockage.
Les commandes de préstockage sont utilisées pour stocker, puis exécuter une séquence
de commandes pmaj. Les séquences peuvent etrc utilisées durant la session en cours ou
mises en fichier pour étre rappelées ultérieurement.
Pour cnéer une commande pmaj, saisir la lettre de la commande sans presser la touche
de contróle. Le texte doit, quant Mui, étre saisi soitentre apostrophes, soit entre
guillemets.
1
3
8
PROCESSEUR DE MISE A JOUR
Commandes utiiitaires.
ctrl-v Insére un séparateur de valeur. Cela provoque la création d'une nouvelle ligne. Le
séparateur de valeur (char(253)) n'est pas visualisable sous pmaj.
ctrl-z-t Initialisation des tabulations. Les tabulations doivent ctre séparées par des
espaces.
Lorsque pmaj est appelé avec une liste d'attributs, il devient un puissant processeur de
mise á jour. Chaqué nom d'attribut de la commande pmaj devient un point d'entrée sur
l'écran, identifié par l'attribut nommé. Les noms des attributs sont listés i gauche de l'écran
en demi-intensité. Les noms des attributs dépendants sont affichés horizontalement.
13
9
A.PICK / UNIX
Chaqué attribut définissant l'article crée une cellule sur l'écran au travers de laquelle la
donnée sera accédée, puis modiñée. sous le contróle des codes de traitements définis
dans les attributs de dictionnaire. n est également possible d'appeler des programmes
Hck/Basic.
La puissance de traitement est considérable.
Les commandes d'appel de pmaj peuvent étre sauvegardées dans le maítre- dictionnaire
sous la forme de macro-instructions et ainsi, étre rappelées facile- ment.
pmaj peut étre aussi utilisé pour balayer les données utilisant les index de fichiers.
Lorsque les attributs ont été indexés par la commande TCL : creer- index (create-index).
Lorsque le curseur est positionné en face d'un attribut définissant une donnée qui a
précédemment été indexée, les commandes ctrl-d et ctrl-f peuvent étre utilisées pour
afñcher une donnée associée i l'article contenant une valeur sur l'attribut indexé.
Exemple
Un article contient un nom de client et un numéro de commande, ces deux attributs sont
indexés. Lors de l'affichage de I'article, si le curseur est positionné sur le numéro de
commande, il est possible par la commande ctri-f d'afficher la donnée associée au numéro de
commande suivant dans l'index.
Si le curseur est positionné sur le nom de client, ctrl-f provoque l'affichage de la donnée
associée avec le prochain nom de client de l'index. Le nom du client est alors la cié d'accés.
Lorsqu'une conversion d'entrée d'attribut est présente dans un article de définition d'attribut
indexé, pointant sur un autre fichier, ce demier peut étre accédé par la commande ctri-g. Cette
commande appelle un nouveau niveau d'exécu- tion et accéde i l'article dont la cié est définie
1
4
0
PROCESSEUR DE MISE A JOUR
dans le fichier d'origine par la position du curseur sur l'attribut. Les attributs á afficher doivent
étre définis dans I'attribut 15 de l'article de définition d'attribut original. S'ils ne sont pas définis,
la totalité de l'article est affichée. Le retour á I'article d'origine s'effectue par la commande ctri-
x-e.
D est également possible de naviguer et de balayer les index d'un fichier pointé, par les
commandes ctri-u et ctri-y. Cela est possible lorsqu'une spécification d'index secondaire est
présente dans l'article de définition d'attribut, en tant que conversion d'entrée.
Bien évidemment, l'attribut pointé dans le second fichier doit avoir été préalablement indexé
par la commande TCL: creer-índex.
Pour fonctionner de cette maniére, les articles de définition des attributs doivent contenir les
codes de traitements d'index corrects. Ils sont définis dans l'attribut 14 de l'article de définition
d'attribut du dictionnaire du fichier traité.
Commandes de pmaj.
ctrl-g Cette commande appelle un nouveau niveau d'exécution, lorsque l'attribut est indexé
sur un autre fichier ou lorsque l'attribut comporte un code de traitement'tfíchier';
pmaj está nouveau appeléavec Particle d'origine comme argument
ctrM Sur un attribut indexé, cette commande provoque Faffichage du prochain article
référencé par Pindex. Si Particle courant a été modifié, le systóme demande
confirmation pour sortir de Particle.
ctrbd Sur un attribut indexé, cette commande provoque Paffichage de Particle précédent,
référencé par Pindex. Si Particle courant a été modifié, le systéme demande
confirmation pour sortir de Particle.
ctrl>y Idem ctrl-u, mais ctrl-y permet d'utiliser Particle précédent comme valeur d'attribut
14
1
A.PICK / UNIX
entrer-donnee (data-entry)
Utilisé par pmaj en mode mise á jour. ’entrer-donnee' permet d'indiquer au
processeur, qu'une fois son traitement terminé, il doit solliciter le traitement
pour un nouvel article.
afficher-ldentifiant (id-prompt)
Permet d'afficher l'identifiant de Particle en cours de traitement Normalement
l'identifiant n'est pas affiché.
1
4
2
Le processeur de sortie.
Une commande op est toujours précédée par un espace et un point, suivie de la séquence
de caractéres déterminant la commande. La fin d'une commande op est soit un espace,
soit une autre commande op, soit un séparateur d'attribut.
Les commandes ne sont pas visibles dans le texte formaté. Cependant, il existe une
option qui permet de visualiser la commande au lieu de l'exécuter. Le processeur de sortie
est directement appelé depuis tel dans le format suivant:
Options
m{*n} Pour imprimer une page seule, entrer le numéro de la page, m-n signifie que l'on
désire imprimer depuis la page m jusqu'á la page n.
c Supprime l'exécution des commandes 'chain' et 'read'.
d Interligne de 2 lignes.
f Supprime les en-pieds de page.
h Supprime les en-tétes de page.
j Supprime les caractéres de mise en valeur.
k Supprime les légendes.
n Supprime les pauses entre chaqué page, lorsque la sortie est dirigée vers le terminal.
p Dirige la sortie sur Timprimante courante.
s Supprime les caractéres gras, les soulignés et les différentes polices de caractéres.
t Interligne de 3 lignes.
L'exécution des commandes pent étre inhibée en les faisant précéder par le caractére _
(souligné). La commande sera alors affichée, mais non exécutée. Pour changer ce
caractére, vous pouvez utiliser la commande .oc.
1
4
3
A.PICK / UNIX
Imprimantes.
Les valeure des commandes gérant les espaces horizontaux sont donnés en dixiéme de
pouce. Un espace correspond i 1/10 de pouce.
Les marges sont mesurées i partir de la zone d'impression imprimable.
.boldface .bf
Envoie un code de contróle á l'imprimante, indiquant que le texte qui suit doit étre imprimé
1
4
4
LE PROCESSEUR DE SORTIE
.box {p1,p2{p3,p4}}
Dessine un cadre commengant á la colonne pl et terminant á la colonne p2. Si p3 et p4
sont indiqués, un deuxiéme cadre sera dessiné et commencera á la colonne p3 jusqu'á la
colonne p4.
Le texte qui suit cette commande est "mis en boite", jusqu'á ce qu'une commande .xbox
soit rencontrée.
.break .bk
Lorsque cette commande est rencontrée, un nouveau paragraphe est créé.
.center .c
Centre la ligne qui suit cette commande.
14
5
A.PICK / UNIX
valeurs.
.columns
Indique l’en-téte de colonne, la largeur et l'espacement entre les colonnes. L'en- tétc est
affichée au début de chaqué page et peut contenir des commandes op. A la mise en
forme du texte, op génére une ligne aprés l'en-téte de la colonne.
.crt
Dirige la sortie vers le terminal. Cette commande est prioritaire á 1'option 'p* indiquée au
niveau TCL. Pour diriger la sortie vers rimprimante, utiliser la commande .line printer.
•cursor {x}{,y}
Permet d'adresser le curseur sur le terminal, x représente la colonne et y représente la
ligne. Cette commande affiche le texte aux positions spécifiées. Si elles sont omises, ce
sont les demiéres valeurs de x et de y qui sont utilisées.
.date
Affiche la date courante du systóme dans le foimat mm/jj/aa, oh mm = mois, jj = jour, aa =
année.
.default .df
Cette commande permet d'envoyer á rimprimante un code de contróle qui la réinitialise
avec la police de caractéres par défaut. Si rimprimante ne supporte pas ce type de
commande, elle sera ignorée.
.emn
Inséreunniémed’espace. Sin= l,unespaceestinséré,sin=2,undemiespace est inséré etc... Cette
commande n'est pas active sur toutes les imprimantes.
1
4
6
LE PROCESSEUR DE SORTIE
suivi d'un numéro séquentiel á l'intérieur du chapitre. Ex 5-1, 5-2 etc... Le texte descriptif est
conservé pour la génération de la table des matiéres.
■font n .f
Cette commande permet de sélectionner la n iéme police de caractéres définie dans I'article de
définition d'imprimante du fichier devices. Si Fimprimante ne supporte pas la police de
caractéres, cette commande est sans effet.
.font
Cette commande permet d'utiliser des polices de caractéres non définies dans le fichier
devices. Elle n'est active qu’avec les imprimantes Hewlett-Packard • et compatibles.
Options
'anom^tt' Insére la valeur de nom .atL Exécute les codes de conversions mais
pas de corrélations.
’b’ Insére le nom de l'attribut.
•c' Centre la ligne.
•d* Insére la date courante dans le format:
jj mmm aaaa. Ex: 14 Jun 1991
T Insére le nom du fichier.
'fn* Insére le nom du fichier justifié á gauche dans un champ de n espaces.
T Justifie á droite tout ce qui est á droite de 'j'.
T Nouvelle ligne.
'n* Pas de pause á la fin de la page, lorsque la sortie est dirigée vers le
terminal.
'pn' Insure le numéro de page justifié á droite dans un champ de n espaces.
’s’ Activation du mode italique.
'1' Insdre I'heure et la date courante dans le format: hh:mm:ss jj mmm aaaa
’u’ Active le mode souligné.
’v’ Active le mode gras.
*x{mode} Désactive le mode spécifié. (s, v ou u).
'xc' Si le document est appelé depuis une option d'un menu géré par le processeur de
menus, le texte de cette option est utilisé comme en-pied.
’’ Imprime un guillemet simple (').
14
7
A.PICK / UNIX
.hyphenate .hy
Permet d'effectuer des coupures de mots. Pour cela op utilise le fichier words.
.Ident {n} .1
Indente le texte de n espaces á partir de la marge gauche. Si n est négatif, la ligne
commence á gauche de la demiére tabulation gauche.
1
4
8
LE PROCESSEUR DE SORTIE
.Input .In
Permet de saisir un texte depuis le terminal et de l'insérer dans le document
.Italics .1
Envoie un code de contróle á Timprimante pour la mettre dans le mode italique. Cette
commande est active jusqu'á ce qu'une commande .xitalics soit rencontrée. Si rimprimante ne
supporte pas ce mode d'impression, il est ignoré.
.justify .]
Effectue une justification á droite de chaqué ligne constituant le texte, en insérant des espaces
entre les mots.
.Ipl n
Initialise le nombre de lignes par pouce. Par défaut, n=6. Si Timprimante ne supporte pas
cette fonction, elle est ignorée. En cas de probléme d'utilisation, il se peut qu'il soil
nécessaire de modifier les caractéristiques du term pour paramétrer correctement le
nombre de lignes á imprimer.
14
9
A.PICK / UNIX
.paging .pg
Provoque l'anét de I'affichage, lorsque la sortie est dirigée vers le terminal.
.paragraph n .p
Cette commande est utilisée pour décaler la premiére ligne d'un paragraphe de n espaces.
1
5
0
LE PROCESSEUR DE SORTIE
.readnext .rn
Lit des informations depuis une liste qui a été sélectionnée avant Pappel du processeur de
sortie. Cette commande extrait une valeur de la liste, puis l'insére dans le document courant.
En Pabsence de liste, le traitement est abandonné et le contróle est donné á TCL.
.readnext null
Similaire á la commande .readnext, sans retour á TCL s'il n’y a pas de liste.
.reset .rst
Cette commande reinitialise Pimprimante dans son état initial.
Si Pimprimante ne supporte pas cette commande, elle est ignorée.
15
1
A.PICK / UNIX
commande .chapter.
Les options sont:
b Gras.
i Italique.
u Souligné.
s Supprime la numérotation.
r Numérotation romaine.
's', supprime le mot 'chapitre', ainsi que le numéro du chapitre. Les options doivent étre
saisies les unes á la suite des autres, sans espace ni virgule.
Certaines imprimantes ne supportent pas les combinaisons de gras, soulignés et italiques.
.set section
Initialise les options pour les en-tétes des sections. Cette commande doit précéder la
commande .section. Les options sont b, i, u et s. Voir .set chapter.
.space n .sp
Génére n lignes simples d'espaces.
.standard .sdt
Réinitialise les paramétres par défaut. A savoir:
Marge gauche 5
Marge droite 3
Longueur de ligne Mode Valeur de 'term' moins les marges. Non.
paragraphe Texte Espacement simple.
Caractére d'inhibition Souligné (_).
Caractóre de mise en valeur Astérisque (*).
Sortie terminal En-téte de Pause en fin de page.
page Numérotation page Heure, date, nom du document. Justifiée
Centrage des blocs i droite.
Non.
.subscript .sub
Déplace le texte vers le bas d'une demi ligne. Si l'imprimante ne le supporte pas, cette
commande reste sans effet. Pour remonter le texte d'une demi ligne, utiliser la
commande .xsub.
1
5
2
LE PROCESSEUR DE SORTIE
.superscript .sup
Déplace le texte vers le haut d'une demi ligne. Si l'imprimante ne le supporte pas, cette
commande reste sans effet. Pour redescendre le texte d'une demi ligne, utiliser la
commande .xsup.
.tcl commande.tcl
Exécute la commande TCL indiquée et técupére le résultatpour le traiter comme étant une
partie du document. Lorsque l'exécution de la commande TCL est terminée, le contróle est
á nouveau donné au processeur de sortie.
15
3
A.PICK / UNIX
.underline .u
Souligne le texte suivant cette commande jusqu'á la rencontre d'une
commande .xunderline. Les espaces entre les mots sont également soulignés.
.vml
Cette commande est utilisée pour définir le nombre de lignes á imprimer par pouce
vertical, n est la valeur qui doit 6tre divisé par 48 pour obtenir le nombre de lignes désiré.
Si l'imprimante ne supporte pas cette fonction, .vmi sera sans effet.
.x{mode}
Désactive le mode spécifié, qui peut étre : gras, mot souligné, souligné et italique.
.xblodface .xbf
Désactive le mode gras.
.xbox
Fin du mode .box.
1
5
4
LE PROCESSEUR DE SORTIE
.xcolumns .xcol
Désactive les commandes .columns et .vcolumns.
.xhillte .xhl
Désactive la commande .hilite.
.xhyphenate .xhy
Désactive la commande .hyphenate.
.xlndex .xlx
Indique la fin d'une entrée d'index.
.xitallcs .xlt
Désactive le mode italique.
.xjustify .xj
Désactive le mode justification.
.xpaglng .xpg
Elimine la pause i la fin de chaqué page, lorsque la sortie est dirigée vers le terminal.
.xparagraph .xp
Désactive le mode paragraphe.
.xpreface .pf
Désactive le mode préface.
.xsub
Désactive la commande .subscript.
15
5
A.PICK / UNIX
.xsup
Désactive la commande .superscript.
.xux .xul
Désactive le mode souligné.
1
5
6
Les codes de traitements.
Les dictionnaires de fichiers définissent les relations qui peuvent exister entre les
fichiers, ainsi que les structures des données. Les codes de traitements peuvent étre
stockés dans les dictionnaires pour définir les liens entre les données et les régles de
manipulations. Ces codes sont utilisés par différents processeurs de Pick pour
transformer les valeurs des données.
Attribut
7 Conversion de sortie.
8 Corrélation.
14 Conversion d’entrée.
H est possible de définir plus d’un code de traitements dans un attribut. II suffit de les
séparer par des séparateurs de valeurs. (ctrl-v avec pmaj).
1
5
7
A.PICK / UNIX
Ce type de conversion est utilisé pour valider les données lorsqu’elles sont saisies. Ces
codes de traitements sont des fonctions algébriques, des progranunes assembleur Pick,
des appels de programmes Pick/Basic et ils permettent de définir des bornes de limites,
les attributs néccssaires etc...
Les codes de traitements définis dans les conversions d’entrée permettent également de
définir de multiples index sur les fielders et de naviguer au travers de la base de
données á partir du fielder courant et au travers des liens avec les autres fielders.
Les codes de traitements définis dans les conversions de sorties sont utilisés pour
manipuler la donnée, juste avant d’etre affichée.
Elles sont utilisées par le processeur de mise á jour, par ACCESS etpar les sous-
programmes Pick/Basic.
Correlations.
Les conélations sont utilisées par tous les processeurs du systéme. Les codes de
correlation sur les attributs sont utilisés parles processeurs de tri et de selection,
lorsqu’ils créent des listes de clés, par le processeur de mise á jour et par le processeur
de liste, avant d’étre traitées parles codes de conversions de sorties.
Les codes de correlation contcnus dans les articles de definition de fielder sont appelés,
lorsque 1’article est mis en fielder. Certains d’entre eux ne sont appelés que depuis le
processeur de mise á jour.
Fonction algébrique.
Syntaxe afopérandeopérateuropérande)
1
5
8
A.PICK / UNIX
Ce code de traitements permet de calculer une fonction algébrique et de générer une valeur
pour l’attribut Lorsque les calculs ne peuvent pas étre facilement effectués, il est possible
de faire appel á un programme Pick/Basic.
Opérande.
ac {r) Utiliser la valeur de Fatlribut indiqué par ac. Si ac = 0, c’est alors la cié
qui sera utilisée, si ac=9998, le compteur d’articles courant sera utilisé; si ac
= 9999, c’est le compteur d’attribut qui sera utilisé.
n(nom.att) Utilise la valeur de l’attribut “nom.att”. L’attribut nommé peut contcnir une autre
corrélation qui appelle un autre attribut. Un maximum de 7 niveaux est
possible.
“n” Utilise la constante “n” qui doit étre délimitée par des apostrophes ou des
guillemets.
“chalne” Utilise la “chame” littérale qui doit étre délimitée par des apostrophes ou
des guillemets.
ns Compteur de sous-valeurs.
nv Compteur de valeurs.
1
5
9
A.PICK / UNIX
Opérateur.
Les opérateurs suivants comparent les deux opérandes et retoument le résultat 1 pour
vrai et 0 pour faux.
Syntaxe bnom.flchler;acl;ac2{;x}
Utilisée comme corrélation dans Particle de définition de fichier pour maintenir une relation
horizontale entre un attribut d’un article d’un fichier et un autre article d’un autre fichier
(nous l’appellerons “fichier horizontal”). Ce code de traitements peut étre unidirectionnel ou
bidirectionnel, il permet de mettre á jour deux fichiers simultanément sans la moindre ligne
1
6
0
A.PICK / UNIX
de code Pick/Basic.
acl Numéro d’attribut de Particle courant qui contient la cié de Particle du fichier horizontal.
ac2 Attribut du fichier horizontal qui est référencé par la corrélation. A moins
que le paramétre optionnel “x” ne soit présent, cet attribut contient la cié de
Particle courant comme référencé croisée de retour vers le fichier courant. La
relation est alors bidirectionnelle. Si le paramétre “x” est indiqué comme
opération arithmétique avec une opérande “ac3”, l’attribut contient le résultat
de Popération.
Lorsque ce paramétre est utilisé pour fonctionner sur “ac2”, il n’y a pas de
référencé croisée sur le fichiercourantetlarelationestunidirectionnelle.
d Cette option est utilisée pour supprimer Particle courant, méme si acl
n’estpasnul.
Lorsqu’un article est ajouté, modifié ou supprimé, toutes les corrélations horizontales entre
les fichiers sont recalculées pour cet article. Le systéme utilise chaqué valeur dans acl
comme cié d’article et met á jour les articles associés.
1
6
1
A.PICK / UNIX
Concaténation.
Syntaxe célément{xélément}{...}{x}
Processeur du systéme lister.
Type de code article de définition d’attribut.
Attributs de dictionnaire conversions de sorties.
1
6
2
LES CODES DE TRAITEMENTS
Conversion de date.
Permet de convertirla date interne du systéme dans un format exteme. La date inteme
est numérique, cela permet d ’effectuer des tris et des manipulations plus simplement.
La date zéro de référence est le 31 décembre 1967.
Par exemple, le 26 juin 1987 posséde une valeur inteme de 7177.
L’option s permet d’indiquer le caractóre á utiliser comme séparateur entre mois, jour et
année pour les dates numériques.
16
3
A.PICK / UNIX
Fonction mathématique.
Syntaxe félément;élément;...
“f ’ permet de calculer une fonction mathématique sur Ies valeurs d’un attribut
Les éléments constituant le code sont des opérandes et des opérateurs
fonctionnant avec le principe de la notation polonaise inversée. Toutes les
opérations mathématiques sont effectuées sur les deux demiéres entrées de
la pile selon le principe «demier entré, premier sorti» (Last in First out). A la
fin du traitement, le code se trouve en haul de la pile.
Opérandes.
ac {r} Numéro de l’attribut dont la valeur est á introduire dans la pile. Si l’option
r est indiquée, la valeur de l’attribut sera utilisée de fa^on répétitive. (Utile
pour les calculs avec des attributs multi-valeurs).
nb Le niveau de rupture en cours est placé dans la pile, lest le niveau de rupture le plus
bas, 255 étant le total-général.
nd Le nombre de lignes comptées depuis la demiére rupture est mis dans la pile.
1
6
4
LES CODES DE TRAITEMENTS
Opérateurs.
Les opérateurs suivants utilisent les deux demiers éléments de la pile, le résultat est
ensuite introduit dans la pile. Tous les éléments remontent d’un niveau.
[ ] Extrait une sous-chaine depuis la chaíne de caractéres référencée par l’élé- ment 3,
en utilisant l’élément 2 comme position de départ et l’élément 1 comme
nombre de caractéres á extraire. Le résultat est placé dans l’élément 1.
p Empile l’élément 1 dans la pile. Les deux éléments supérieurs de la pile sont done
identiques.
(code) Code de traitements standard. Ex d (date), g (groupe), etc. Le code est appliqué
á l’élément 1 et le résultat remplace la valeur originate au sommet de la pile.
16
5
A.PICK / UNIX
Extraction de groupe.
Syntaxe g{m}dn
Le code “g” pennet d’extraire un groupe de caracteres délimités par des séparateurs.
Options
Syntaxe I
Ce code est utilisé comme conversion d’entrée, n indique qu’un index existe pour I’attribut.
Lorsque Ton édite un article avec pmaj, l’utilisateurpeut ápartir de cet attribut, naviguer
dans le fichier. ctrl-d permet d’accéder á Particle précédent, ctrl-f, accéde á l’article suivant.
Syntaxe l{fld}a.corrélatlon
Ce code de traitements est utilisé comme corrélation dans Particle de définition de fichier
1
6
6
LES CODES DE TRAITEMENTS
(dans le maitie-dictionnaiie) pour maintenir les clés d’index d’un fichier. Le “fid” est mis
automatiquement par le systéme et ne doit en aucun cas étre modifié.
Pour créer un index, utiliser la commande creer-index (create-index).
Syntaxe lnom.flchler;a.spéciflcatlon
Ce code de traitements est utilisé comme conversion d’entrée et indique que cet attribut est
basé sur une donnée indexée dans un autre fichier. Lorsque l’on édite un article, 1
’utilisateur peut á partir de cet attribut, naviguer au travers de Findex du fichier secondaire.
ctri-y permet d’accéder á la valeur d’attribut pnécédente basée sur l’index, et ctri-u permet
d’accéder á la valeur suivante. Les informations aífichées peuvent étre sujettes á des codes
de conversions définis dans le fichier primaire. Si“a.spécification”n’estpaségal á la cié de
Particle du fichier secondaire, un code “tfichier” doit étre spécifié pour permettre la
navigation dans l’index du fichier secondaire.
16
7
A.PICK / UNIX
Syntaxe ld{sous.code)
Ce code de traitements est utilisé par le processeur de mise á jour pour créer de nouveaux
identificateurs d’articles. Lorsqu’il est appelé sans identificateur d’article, pmaj crée un
nouvel article. Lorsque cet article est mis en fichier, un identificateur est créé. Si un code
“id” est présent dans 1 ’article de définition du fichier, la cié de l’article est créée en fonction
de ce code. Sans code “id”, la cié est le résultat de la concaténation de la date et d’une
séquence interne du systéme.
sous.code
a corr Utilise le code de traitements “a” pour créer la cié. Il est également possible
d’appeler un sous-programme Pick/Basic, on peut done créer tous les types de
clés possibles.
n Crée une cié numérique commengant par n. Si la cié existe déjá, n est incrémenté jusqu’á
ce que le systéme trouve une cié unique. Le code de traitements est alors mis á
jour avec la nouvelle valeur de n.
t Crée une cié numérique dont le résultat est la concaténation de la date interne
et de l’heure inteme.
Code de longueur.
Syntaxe ln{,m}
Ce code renvoie la longueur d’une donnée ou spécifie les contraintes de longueurs que doit
respecter la donnée.
1
6
8
LES CODES DE TRAITEMENTS
Masque de caracteres.
Syntaxe me code
Code
a Extrait tous les caracteres alphabétiques. Ceux qui ne le sont pas, sont ignorés.
dx Convertit les valeurs numériques en hexadecimal.
1 Les lettres en majuscules sont converties en minuscules. Ce code n’a pas d’incidence sur
les minuscules ni sur les caracteres spéciaux.
n Extrait tous les caracteres numériques. Les autres sont ignorés.
p Convertit les caracteres non affichables en points.
t La premiére lettre de chaqué mot est convertie en majuscule.
u Les lettres minuscules sont converties en majuscules.
xd Convertit de l’hexadécimal en décimal.
/a Extrait tous les caracteres non alphabétiques, les caracteres alphabétiques sont ignorés.
/n Extrait tous les caracteres non numériques, les caracteres numériques sont ignorés.
Saisie obligatoire.
Syntaxe ml
16
9
A.PICK / UNIX
Masque hexadécimal.
Syntaxe mx / my
my Code inverse de “mx” Les nombres hexadécimaux sont convertís dans leur
equivalent ASCII.
Syntaxe mr/ml{n{m}}{z}{,}{c/d/e/m/n}{F}{(format.masque)
m Chiffre de 0 á 9. La valeur traitée sera divisée par cette puissance de 10. Par
exemple, si m = 2, la valeur sera divisée par 100. Si m est supérieur á n, la
valeur comportera n chiffres aprés la virgule et sera arrondie á la valeur la plus
proche.
1
7
0
LES CODES DE TRAITEMENTS
Format.masque.
Les masques de formats sont toujours entre parentheses, ils component des codes de
format n est facultatif.
Masque de temps.
Syntaxe mt{h}{s}
h Facultatif, précise que le format utilisé est de 12 heures. Ex: 07:44AM, 05:56PM.
Utilisé en tant que conversion d’entrée, ce masque valide l’heure et la convertit en format
interne. Lorsque vous mettez á jour un attribut contrólé par un code “mt”, il suffit de saisirle
caractére/pour insérer l’heure courante dans I’attribut
17
1
A.PICK / UNIX
Tri ascendant.
Syntaxe o
Masque de vérifícation.
Syntaxe p(op){;(op)...}
Ce code agit en tant que masque de vérifícation. n compare les valeurs de Fattribut avec un
opérateur. Si la valeur vérifie le masque, elle est renvoyée. Dans le cas contraire, une
valeur nulle est renvoyée. Utilisé comme conversion d’entrée, ce code permet de vérifíer la
saisie.
Opérateurs
chaine Si une chaine de caractéres est indiquée, la valeur de Fattribut doit correspondre
exactement á cette chaine.
ma Teste m caractéres alphabétiques.
mn Teste n caractéres numériques.
mx Teste m caractéres alphabétiques ou numériques.
Limites.
Syntaxe rn,m,{n,m{;...}}
Ce code de traitements renvoie les valeurs des données qui ne vérifient pas les limites
indiquées.
1
7
2
LES CODES DE TRAITEMENTS
Substitution.
Syntaxe sopl;op2
Ce code peimet de remplacer un élément par un autre. Si la valeur de conversion est nulle
ou égale á zéro, “s” renvoie la valeur définie par op2, autrement c’est la valeur de
l’opérateur 1 qui est renvoyée.
Si la valeur de Fattribut référencé n’est pas nulle ou équivalente á zéro, elle est remplacée
par opl ; dans le cas contraire (nulle ou égale á zéro), elle est remplacée par op2.
Extraction de texte.
Syntaxe t{m,}n
Dans la forme simplifiée “tn”, n caractéres sont extraits £ partir de la gauche si le cadrage
est 1, ou á partir de la droite si le cadrage est r.
Translation de fichier.
Syntaxe tnom.flchler;sous.code;{cv},e.ac;s.ac{;r.ac}
17
3
A.PICK / UNIX
v L’attribut á convertir doit avoir une valeur, ainsi que I’article de conver
sion.
1
7
4
LES CODES DE TRAITEMENTS
r.ac Est facultatif. S’il est spécifié, il est utilisé á la place de “s.ac” pour l’édition des valeurs
apparaissant sur les lignes de rupture ou total.
Si vous utilisez le processeur de mise i jour et que vous éditez un attribut avec un code de
translation, vous pouvez accéder á ¡’article au travers de l’attribut convertí en tapant ctrl-g
avec le curseur positionné á la fin de l’attribut.
Sortie utilisateur.
Syntaxe unxxx
Exemple u201e
Code de valeur.
Syntaxe vn
Le code de traitements “v” est utilisé comme conversion d’entrée. II indique le nombre
maximum de valeurs permises dans cet attribut
17
5
A.PICK / UNIX
Affichage seul.
Syntaxe x
Ce code de traitements est utilisé comme conversion d’entrée et indique que I’attribut n’est
accessible qu’en visualisation. La mise á jour est impossible.
Le code de traitements “xn” utilisé comme corrélation dans 1 ’ article de définition de fichier,
permet de générer une trace des articles qui sont mis á jour. L’option n indique le type de
trace.
Traces
a Place le nom de 1’utilisateur dans I’attribut spécifié, lorsque l’article est mis
en fichier.
d Place la date courante dans I’attribut spécifié, lorsque l’article est mis en fichier.
s Place dans I’attribut spécifié le temps total additionné au temps précédent, pendant lequel
l’article a été édité par le processeur de mise á jour. L’unité est la seconde.
t Place dans I’attribut spécifié l’heure courante, lorsque l’article est mis en fichier.
La valeur ac est le numéro de I’attribut dans lequel la trace est á mettre. L’option v indique
qu’á chaqué fois que l’article est mis en fichier, la trace doit étre insérée comme étant une
nouvelle valeur.
Dans le cas contraire, la nouvelle trace efface 1’ancienne.
1
7
6
L’environnement d’ Advanced Pick, dm.
Ce chapitre décrit le compte de gestión du systóme «dm» (data manager), ainsi que les
fichiers qui lui sont associés.
dm est un compte particulier qui est créé lors de l’installation du systóme. Il fait partie du
systóme de base.
dm posséde les priorités les plus élevées et peut accéder á tous les fichiers du systóme.
Maítre-dictionnaire systóme.
Fichier des pibs définis dans le systóme.
Trace des erreurs systóme.
Fichier des utilisateurs.
Historique et état des táches fantdmes.
mds pibs errors
Messages systóme.
users jobs
Pile des commandes TCL.
messages
Définition des différents types d’unités physiques.
tcl*stack
Historique des connexions.
devices Programmes utilitaires.
accounts bp Définition des caractéres géants.
block-convert Fichier des symboles du systóme d’exploitation.
abs funckeys Définition des touches de fonctions.
keyboards Définition des claviers étrangers.
newmd Maítre-dictionnaire prototype.
psym Nom des variables systómes.
Étudions en détail les fonctionnalités et le contenu de ces fichiers.
flies
C’est le fichier des fichiers. Il contient un article statistique pour chaqué fichier existant dans
1
7
7
A.PICK / UNIX
le systóme. Files est créé lots d’une restauration générale et est mis a jour lore des
sauvegaides. Ce fichier est aussi utilisé pour repérer les fichiers lore des restaurations
bandes incrémentales et de transaction log.
Les clés des articles sont numériques et sont assignées lore de la création des fichiers.
Le fichier numéro 1 du systóme est toujoure files. Le fichier numéro 2 est mds. Les
numéros des autres fichiers sont détenninés par Foidre dans lequel ils ont été créés.
Lore d ’une restauration générale ou une restauration de compte, les fichiers sont créés
dans I’oidre dans lequel ils sont stockés sur le support magnétique.
Attributs du fichierfiles
0 file# La cié est un numéro séquentiel qui dépend de l’ordre dans lequel
le fichier a été créé.
1
7
8
ENVIRONNEMENT ADVANCED PICK
17
9
A.PICK / UNIX
mds
Ce fichier contient les noms de tous les maitres-dictionnaiies presents dans le systéme.
Les articles á l’intérieur de mds fonctionnent comme des pointeurs vers les maítres
dictionnaires des différents comptes.
Pour pouvoir utiliser le systéme, chaqué utilisateur doit pouvoir se connector dans un
maftre-dictionnaire.
18
0
ENVIRONNEMENT ADVANCED PICK
messages
Le fichier messages contient l’ensemble des messages utilisés par les proces- seurs d’AP
pour informer l’utilisateur des différents états du systéme.
Les deux articles particuliers, logon et bnf, sont respectivement utilisés par le processeur de
logon et par le compilateur.
Les articles utilisent les codes suivants pour formater le message dans le tampon de sortie
avant de Fafficher:
a {(n)} Insére le paramétre qui suit dans le tampon de sortie. Le paramétre est justifié á
gauche dans un champ de n blancs.
d Place la date courante dans le tampon de sortie.
e Insére le numéro du message (cié) dans le tampon de sortie.
h Place la chaine dans le tampon de sortie, sans retour chariot á la fin.
1 {(n)} Imprime le tampon de sortie, suivi par n-1 lignes vides.
r{ (n)} Insére le prochain paramétre justifié á droite dans un champ de n blancs.
s(n) Insére n espaces dans le tampon de sortie.
t Place Theure courante dans le tampon de sortie.
x Saute un paramétre dans la liste des paramétres.
pibs
Ce fichier contient un article pour chaqué pib attaché á un processus. Tout processus qui
s’exécute, nécessite un pib.
Le contenu du fichier pibs est unique pour un systéme particulier, dans le sens oh il définit
entre autres, le type d’unité physique connectée.
18
1
A.PICK / UNIX
8 u-date Date h laquelle l’utilisateur s’est connecté h ce pib. Mis h jour lors
de la connexion, puis supprimé lors de la déconnexion.
1
8
2
ENVIRONNEMENT ADVANCED PICK
jobs
Le fichier jobs contient un article descriptif de chaqué táche fantóme soumise á
exécution.
tcl-stack
Ce fichier contient Fensemble des commandes saisies par un utilisateur au niveau TCL.
La cié d’article est le nom de l’utilisateur.
devices
Ce fichier contient un article pour chaqué unité physique susceptible d’étre connectée
sur une ligne du systóme.
La cié de l’article est le code de l’unité. Par exemple, WY-60 pour le terminal
WYSEtypeóO.
18
3
A.PICK / UNIX
Les utilisateurs peuvent ajouter s’ils le désirent, les caractéristiques de nouvel- les
unités physiques. Pour cela, utiliser la commande definir-terminal (define- tenninal).
accounts
Le fichier accounts contientl’historique des unités de charges pourunutilisateur donné.
Pour activerce processus d’archivage, vous devez ajouter le caractére A dans I’attribut 8
du fichier users.
Chaqué utilisateur posséde un article dans ce fichier. La cié de Particle est identique á
celle du fichier users, c’est á dire qu’il s’agit du nom de I’utilisateur. L’historique peut étre
supprimé en effa^ant le fichier accounts du compte dm.
users
Le fichier users contient un article pour chaqué utilisateur autorisé á se connecter sur le
systéme. C’est ce fichier qui est consulté par le processeur de logon lors d’une
connexion á un maftre-dictionnaire.
1
8
4
ENVIRONNEMENT ADVANCED PICK
4 phone Téléphone.
9 options Options:
a Comptabiliser les connexions.
r Redémarrer la procédure de connexion.
errors
Ce fichier contíent un article par erreur détectée au niveau du systéme. Cela est tits utile
pour déterminer la santé du systtme.
18
5
A.PICK / UNIX
bp
Ce fíchier, bien connu des utilisateurs du systéme, contient les programmes utilitaiies
Pick/Basic. Ils sont utilisables par tous les maftres-dictionnaires du systéme.
1
8
6
ENVIRONNEMENT ADVANCED PICK
block-convert
Block-convert contient la définition des caractóres “géants” imprimés par la commande titre-
impr (block-print). Tous sont repnésentés: majuscules, minuscules et caractóres spéciaux.
funckeys
Le fíchier funckeys contient les définitions des touches de fonctions utilisées par les
utilisateurs. Ce fíchier est utilisé par la commande: init-fonc (set-func).
keyboards
Ce fíchiercontient plusieurs définitions de claviers. A savoir. Anglais, Franjáis, Allemand,
Italien, Espagnol et Américain. Keyboards est utilisé par la commande : init-clavier (set-
keyboards).
newmd
Newmd est utilisé parle processus de création de nouveaux maítres-dictionnai- res. II
contient les verbes de base qui seront accessibles par l’utilisateur.
psym
C ’est le fíchier des variables du systóme. n n’est utilisé que par le personnel de
maintenance.
abs
Le fíchier abs contient 1 ’ensemble des symboles du systóme d ’exploitation, n est utilisé
par le personnel de maintenance.
Ce fíchier est mis en phase avec la section absolue par la commande :init-abs (set-abs).
18
7
A.PICK / UNIX
F Définition de partition.
D Définition de mode.
1
8
8
Le Systéme d'organisation des Fichiers.
Dans ce chapitre, nous expliquerons quelle estlahiérarchie des fichiers, quelles sont les
commandes de manipulation de fichiers, quel est le principe de stockage des données,
ainsi que le principe de redimensionnement.
Toutes les données sous Pick sont stockées dans des fichiers sous forme
d'enregistrements que Ton appelle 'articles'. Ces articles sont divisés en attributs qui
peuvent contenir des valeurs, elles-mémes pouvant contenir des sous- valeurs. Cette
structure tri-dimensionnelle est totalement gérée en longueur variable illimitée parle
systeme.
Les attributs, les valeurs et les sous-valeurs sont séparés par des délimiteurs précis, et
chaqué élément d'une base de donnéespeutétre accédé directementpar des instructions
d'extraction.
Notons que la structure variable des fichiers constitue un atout considérable par rapport aux
systómes classiques. Le gain de place réalisé est trés significatif.
Par exemple, dans une organisation classique de fichiers dont la longueur est fixe, le
champ correspondant au nom d'une personne doit avoir une longueur au mois égale i la
longueur maximale du nom le plus long. Soit une moyenne de 20 caractéres. Le nom
'Dupont' rien prendra que 6.14 caractéres seront done inutilisés et inutilisables, done
définitivement perdus.
Sous Pick, seule la taille nécessaire sera réservée,
soit dans cet exemple précis: 6 caractéres.
1
8
9
A.PICK / UNIX
Le gain de place est important, et c'est une des raisons pour laquelle on ne voit pas
d'installations Pick avec des espaces disques gigantesques. Les plus grosses
dépassent rarement 4 Giga octets (milliard d'octets). Le plus souvent, les espaces
disque sont inférieurs á 600 millions d'octets.
Le systóme contient:
un nombre infinité de fichiers qui contiennent:
un nombre illimité d'articles qui contiennent:
un nombre illimité d'attributs qui contiennent: un nombre illimité de valeurs qui
contiennent: un nombre illimité de sous-valeurs.
La seule limite est définie par l'espace disponible sur les disques. n riy a pas de
limitation interne dans le systéme en ce qui conceme le nombre de fichiers et la taille
des articles.
Les articles stockés dans un fichier, peuvent étre accédés de plusieurs maniéres: -
directement en utilisant la cié de I'article.
- séquentiellement, suivant I'ordre de I'algorithme de répartition.
- suivant une séquence de tri.
- par cié d'index.
1
9
0
SYSTÉME DE FICHIERS
Lahiérarchie des fichiers est simple etpuissante. Latotalité du systéme ainsi que tous les
éléments qui constituent vos bases de données sont construits selon le méme principe de
structure en arbre & quatre niveaux.
Le fichier ”mds".
Ce fichier est le'plus important du systéme. n définit de maniére trés précise quels sont les
maítres-dictionnaires présents sur la machine, "mds" est unique.
19
1
A.PICK / UNIX
Maitre-dictionnaire.
H contient également les articles de définition de fichiers (appelés aussi pointeurs "d"),
ainsi que les pointeurs sur des fichiers contenus dans d'autres maítres-dictionnaires
(appelés pointeurs "q").
Ce fichier est trés souple. II peut étre personnalisé en ajoutant ou en supprimant des
articles.
Que contient un md ?
• Commandes toll,
• Commandes tcl2,
• Connectives pour le langage franjáis,
• Procédures,
• Menus,
• Macro-instructions,
• Articles de définition de fichiers,
• Pointeurs de type "q" sur des fichiers d’autres md,
• Noms des programmes catalogués.
Les articles de définition de fichiers définissent la nature du fichier, ainsi que les
éventuelles relations qui peuvent exister entre les fichiers.
Attribut
0 Cié du fichier.
Contient le nom du fichier.
1 Code de dictionnaire.
Contient obligatoirement 'd'. Mais peut étre suivi des caractéres T, ’p’, 's’, ’x’ ou ’y'.
Voir la section ’création de fichier’.
2 Base.
1
9
2
SYSTÉME DE FICHIERS
3 Modulo.
Nombre de partitions contiguas associées á l'espace primaire du fichier.
5 Verrou de consultation.
Dans le md, cet attribut contróle l'accés aux dictionnaires. Dans la section diet, cet
attribut contróle l'accbs aux fichiers. Un des verrous spécifiés dans le fichier 'users' doit
étreidentiqueaupremierverrouspécifié dans cetattributpourpouvoir accéder au
dictionnaire approprié. Les verrous multiples sont traités comme des valeurs multiples
et séparés par des séparateurs de valeurs (sv).
7 Conversion de sortie.
Cet attribut peut contenir un code de traitements qui sera appliqué á la donnée avant
son affichage. Voir chapitre "Codes de traitements".
8 Corrélation.
Contient un code de traitements identique á celui de l'attribut 7, mais ce traitement est
appliqué á la donnée avant que celle-ci ne soit triée ou sélectionnée, puis affichée.
9 Justification.
Permet d'effectuer une justification de la donnée lors des éditions. Les codes peuvent
étre: '1', 'r', 't', 'u' ,'w' ,'ww' et 'x'.
Voir 'Structure des articles de définition des attributs'.
10 Nombre de colonnes.
Taille de la fenétre allouée á la donnée pour étre affichée lors des éditions.
13 Réallocation.
Utilisé pour redéfinir la taille de l'espace primaire. Voir la section 'réallocation' de ce
chapitre.
14 Conversion d'entrée.
Contient un code de traitements qui doit étre appliqué á la donnée, immédiatement
aprés avoir été entrée dans le fichier.
15 Macro-instruction.
Contient une liste d'attributs á utiliser par défaut, dans le cas oü une spéciñcation
19
3
A.PICK / UNIX
de sortie est nécessaire. Les noms des attributs sont séparés par des espaces.
17 Description.
Attribut réservé aux commentaires.
Les pointeurs de fichiers synonymes sont placés dans les maitres-dictionnaires des
comptes pour pointer sur d'auties fichiers. Les fichiers pointés peuvent étre des
dictionnaires ou des fichiers de données se trouvant dans d'auties comptes utilisateurs.
En général, seuls les trois premiers attributs sont utilisés.
Attribut
18 Cié de Farticle.
C'est le nom du fichier synonyme.
1 Code de dictionnaire.
Contient le caractére 'q' qui indique au systéme que l'article est un article de
définition de fichier synonyme.
2 Nom de maitre-dictionnaire.
Contient le nom du maitre-dictionnaire ou le fichier pointé se trouve. Si cet attribut
est vide, c'est le maitre-dictionnaire dans lequel on se trouve qui est utilisé.
3 Nom du fichier.
Contient le nom du fichier sur lequel l'article pointe.
Exemples
Les dictionnaires sont aussi des fichiers. Ils sont utilises pour définir la nature d'un
1
9
4
SYSTÉME DE FICHIERS
fichier associé, ainsi que les relations entre les autres fichiers qui composent la base de
données.
Le dictionnaire d'un fichier peut étre également assimilé i une fenétre au travers de
laquelle on visualise les données depuis le langage d'interrogation et depuis le
processeur de mise i jour.
Gráce aux codes de traitements inclus dans les dictionnaires, beaucoup de fonctions
peuvent étre réalisées au niveau systéme et non au niveau applicatif. Cela induit de
meilleures performances.
Pick supporte des relations horizontales, verticales et internes entre les fichiers, par
l'utilisation des codes de traitements. (Voir chapitre correspondant).
Les relations horizontales sont réalisées en utilisant un pont ou bien en utilisant les
codes de traitements de type't'. Les relations verticales sont, quant á elles, réalisées en
utilisant les codes de traitements de type 'v'. Les relations internes utilisent l'attribut 4 de
l'article de définition d'attribut.
La section dictionnaire contient un pointeur pour chaqué section donnée á laquelle il est
associé. II contient également des articles de définition des attributs qui décrivent la
structure des données présenles dans la section données.
La définition des attributs d'un article de fichier se trouve dans le dictionnaire qui est
associé au fichier. Le premier attribut de l'article de définition des attributs détermine le
type d'article. Si l'attribut 1 contient un 'a', l'article définit la structure d'un attribut Si c'est
un 'd', il s'agit d'un article de définition de fichier.
Chaqué article de définition d'attribut present dans le dictionnaire du fichier est associé
á un attribut de Particle contenu dans la section données. n peut y avoir plusieurs
articles de définition d'attribut qui référencent un seul attribut.
Attribut
0 Cié de I'article.
L’attribut 0 est la cié qui identifie I'article de définition d'attribut. Par exemple, si
19
5
A.PICK / UNIX
1 Code de dictionnaire.
Contient 'a'. Cela signifie au systéme que I'article définit un attribut
2 Compteur d'attribut.
La valeur présente est le numéro de l'attribut référencé dans le fichier de données
associé. Par exemple, la zone 'téléphone" se trouve en 3 éme position.
3 En-téte de substitution.
Contient un texte qui sera utilisé lors des sorties réalisées par le langage d'inter-
rogation ACCESS. Si rien n'est spécifié, c'est le nom de I'article de définition qui
sera utilisé.
4 Structure.
Est utilisé pour établir des relations internes dans un fichier.
7 Conversion de sortie.
Cet attribut contient un code de traitements qui sera appliqué á la donnée avant
son affichage. Exemple: conversion de date interne par le code ’d2f.
8 Corrélation.
L'attribut 8 contient un code de traitements identique h celui de l'attribut 7, mais ce
code de traitements est appliqué á la donnée avant que celle-ci ne soit triée ou
sélectionnée, puis affichée.
9 Justification.
Permet d'effectuer une justification de la donnée lors des éditions. Les codes
disponibles sont:
1 Justification á gauche.
r Justification á droite.
t Justification á gauche avec coupure entre les mots en cas de dépassement.
10 Nombre de colonnes.
1
9
6
SYSTÉME DE FICHIERS
Taille de la fenétre allouée á la donnée pour étre affichée lors des éditions.
14 Conversion d'entrée.
Contient un code de traitements qui doit étre appliqué á la donnée, immédiatement
aprés avoir été entrée dans le fichier. Ces codes peuvent étre utilisés pour des
validations de données ou pour des transformations. Le traitement est exécuté méme
si la valeur de la donnée est nulle.
15 Macro-instruction.
Le contenu de cet attribut est utilisé pour passer un nom de liste d'attribut au
processeur de mise á jour, lorsque celui-ci effectue un 'zoom' sur un autre article.
17 Description.
Cet attribut est réservé pour les commentaires et descriptions concemant la fonction
de l'attribut courant. Ces commentaires seront affichés par le processeur de mise á
jour, en cas de sollicitation des messages d'aides.
Exemple
0 I 12
tel 9
01 a 1
02 3 1 1
03 Téléphone 2 1
04 3 1
05 1
06 5 1
07 6 1 Cette zone contient le
08 7 téléphone du correspondant.
19
7
APICK / UNIX
Création de fichier.
Syntaxes
La premiere forme crée les deux sections dictionnaire et donnée d'un fichier. La
seconde forme crée un fichier ne comportant qu’une partie dictionnaire, et la troisiéme
forme crée une section données d'un fichier rattachée á une section dictionnaire déjá
existante.
Options
I Spécifie que toutes les mises á jour doivent étre sauvegardées par le processeur de
sauvegarde des transactions. Cette option n'est pas compatible avec les options 'x'
ou 'y*.
p Spécifie que 1'espace primaire ne doit contenir que des articles pointeurs, et ceci
indépendamment de la taille des articles.
x Ne pas sauvegarder ce fichier. Ce fichier n'existera pas aprés une restau- ration de
compte ou une restauration générale.
19
8
SYSTÉME DE FICHIERS
Les options constituent une partie de I'attribut 1 de Particle de définition de fichier dans
le maítre-dictionnaire pour les sections dictionnaires et de Particle de définition de
fichier dans le dictionnaire du fichier pour les sections fichiers.
Les options T, 'x' et 'y' peuvent étre ajoutées en utilisant Péditeur. L’option ’s’, quant á
elle, ne peut pas étre ajoutée ou supprimée.
Lorsqu'un fichier dictionnaire seul est créé, un pointeur de type 'q' comportant le nom de
fichier comme cié est automatiquement créé dans le maítre-dictionnaire. Cela permet
d'accéder au fichier sans spécifier 'diet'.
Exemples
Crée les sections dictionnaire et donnée d'un fichier de nom clients, avec un modulo de
3 pour la section dictionnaire et un modulo de 101 pour la section donnée. Les mises á
jour doivent étre traitées par le processeur de sauvegarde des transactions et les clés
des articles sont sensibles á la formulation des caractéres.
:creer-fichierdict invent 11
Ne crée que la partie dictionnaire du fichier 'invent', avec un modulo de 11. n n'y a pas
d'option.
Crée une section données de nom 'clients 1991', rattachée á la section dictionnaire de
nom 'clients'. Les clés sont sensibles á la formulation des caractéres.
Vider un fichier.
La commande vider-fichier (clear-file) est utilisée pour vider un fichier de son contenu.
Le fichier n'est pas effacé.
19
9
A.PICK / UNIX
Examples
Dans le cas d’un 'vider-fichier' d’une section dictionnaire, les articles de définition de
fichiers ne sont pas supprimés.
Supprimer un fichier.
Renommer un fichier.
Le systéme demande alors le nouveau nom. Ce nom ne doit pas exister dans le maftre-
dictionnaire.
Copier un fichier.
La commande copier (copy) permet de copier toute ou partie d'un fichier vers un autre
fichier vers Timprimante ou vers le terminal.
2
0
0
SYSTÉME DE FICHIERS
Options
n Copie les ’n’ premiers articles.
d Supprime I'article source apits copie.
f Démarre l'afñchage de chaqué article sur une nouvelle page.
i Supprime l'affichage des clés d'articles lors de la copie.
n Ne marque pas de pause en fin de page lors d'une copie vers un terminal.
o Ecrase l'article destinataire, si celui-ci est déjá présenL
p Dirige la copie vers Timprimante.
s Supprime les messages d'erreurs.
t Dirige la copie vers le terminal.
u Si I'article existe déjá dans le fichier de destination, copier l'article en le renommant.
Son nouveau nom sera obtenu en concaténant la cié avec un caractére
minuscule démarrant par un 'a'.
x La copie sera faite en hexadécimal.
Exemples
Copie les deux articles 'update-md' et 'f-resize' du fichier 'bp' du compte 'dm' dans le
méme fichier, mais sous les nouveaux noms 'maj-compte' et 'reallocation'.
Sous Advanced Pick, l'organisation des données sur lespace disque a été repensée par
rapport au systéme classiqueR83, dansle seulbutd'augmenterles performances et de
rendre illimitée la tallies des articles. La frontiére de 32 Ko n'existe plus.
20
1
A.PICK / UNIX
Toutes les informations sous AP, á 1'exccption des zones de travail, sont stockées sur
disque sous forme de blocs uniformes de 1024 octets, appelés partitions. 1000 octets
sont disponibles pour stocker les données, les 24 autres sont utilisés par le systéme.
Les partitions non assignées sont disponibles pour de nouveaux fichiers ou pour
étendre les fichiers déj á existants. Cet ensemble de partition est appelé “espace de
débordement”. La table des déboidements peut étre consultée par la commande lister-
esp (ovf, povf).
Les limites d'un fichier sont définies par deux paramétres: la base et le modulo. La base
est 1'adresse logique disque (fid) du début du bloc de partitions contiguas, appelé aussi
'espace primaire’, qui est réservé pour le fichier. La base est déterminée
automatiquement par le systéme lots de la création du fichier.
Le modulo estle nombre de groupes qui constituent 1'espace primaire. A chaqué groupe
est assignée une partition de 1'espace primaire. Aussi, la taille de 1'espace primaire qui
est réservée pour le fichier, est déterminée par le modulo.
La base et le modulo d'un fichier dictiormaire sont stockés dans 1'article de définition du
fichier dans le maftre-dictionnaire.
La base et le modulo d'une section données sont stockés dans 1'article de définition du
fichier contenu dans le dictiormaire du fichier.
En aucun cas, la base et le modulo ne doivent étre altérés par I'utilisateur. De telles
modifications peuvent entrainer la perte des données et altérerle systéme. Cependant,
le modulo peut étre modifié lots d'une réallocation de 1'espace du fichier. Nous verrons
ce mécanisme plus loin.
La taille d'un fichier n’est pas limitée á son seul espace primaire. Et en cas de saturation
de cet espace, le systéme alloue automatiquement d'autres partitions.
La taille maximale d'un article de l'espace primaire est de 850 caracteres. Si un article a
une taille plus petite ou égale, la totalité de l'article sera stockée dans l'espace primaire
si suffisamment d' octets sont disponibles. S'il riy a pas assez d'octets de disponibles,
ceux qui le sont, sont utilisés, puis une partition additionnelle est prise á l'espace
disponible pour étre rattachée á la partition courante et stocker le reste de l'article.
2
0
2
SYSTÉME DE FICHIERS
Si la partition rattachée est complétement utilisée, une autre partition est prise sur
l'espace disponible et ainsi de suite.
Les partitions d'un groupe sont chainées les unes aux autres en avant et en amére.
H riy a pas de limite théorique i cette croissance, autre que la taille maximale de
l'espace disponible. Pour de bonnes performances du systéme, il est recom- mandé de
conserver un nombre de partitions chainées aussi petit que possible. Ceci peut étre fait
en sélectionnant de maniére optimale le modulo du fíchier.
Si un article contient plus de 850 caractéres, il riest pas stocké dans l'espace primaire ni
dans les espaces secondaires.
Une partition est prise dans l'espace disponible, puis allouée á l'espace étendu du
fíchier. La totalité de l'article est stockée dans l'espace étendu, et un article pointeur est,
quant á lui, stocké dans l'espace primaire ou secondaire.
Si l'article excéde une partition, des partitions additionnelles seront prises sur l'espace
disponible, puis chainées á la premiére partition.
En cas de mise á jour ou de suppression d'un article, les partitions de l'espace étendu
qui ne sont plus utilisées, sont retoumées á l'espace disponible. Par contre, les partitions
libéiées ou non utilisées de l'espace primaire ne sont retoumées á l'espace disponible
qu'á la destruction du fíchier.
Seule la taille de l’article est insuffisante pour déterminer de maniére efficace un bon
modulo. Lorsque la taille d'un article dépasse 850 caractéres, il est automatiquement
20
3
A.PICK / UNIX
stocké sur des partitions de l'espace étendu, et seul un pointeur est placé dans le
groupe. Un pointeur nécessite 6 octets plus la taille de la cié de l'article á stocker. Les
módulos des fíchiers comportant des articles importants sont relativement faibles. A
contrario, les articles dont la taille est proche de 850 caractéres, auront des módulos
proches du nombre total d'articles du fíchier.
H faut aussi prendre en compte la distribution des articles á l'intérieur des groupes. Le
nombre moyen des partitions doit étre compris entre 1 et 2. Si certains groupes
possédent beaucoup d'articles et d'autres groupes n'en possé- dent pas, les
performances ne seront pas optimales.
La commande tel tester-hash (hash-test) peut étre utilisée pour tester l'effet d’un
modulo sur un fíchier déjá existant. La commande istat permet de vérifier l’état d'un
fíchier.
Un mauvais choix de modulo peut entrainer une perte de place importante. En effet, les
partitions allouées áun fíchier lore de sa création sont réservées, méme si elles ne sont
pas utilisées.
De fa^on á pouvoir les gérer de maniére efficace, l'utilisateur doit créer ses fichiers en
prenant le nombre premier le plus proche du modulo optimal.
De plus, la probabilité que plusieurs utilisateurs accident en méme temps au méme groupe
s'en trouve considérablement réduite.
2
0
4
SYSTÉME DE FICHIERS
Nota
Dans le cas d'une sauvegarde générale, faites attention á vos fichiers et á vos
comptes qui pourraient étre en 'dx'. La commande verifier-dx (check-dx) vous
permet de sortir un état complet des fichiers 'dx' de votre systéme.
20
5
APICK / UNIX
Le nouveau modulo doit étre placó entre parentheses, exemple 013 (59).
D peut étre suivi des optionsetw.
Un,A' (caret) placó á la suite du modulo, signifie que le modulo ne peut pas étre diminué.
Cette option est intéressante dans le cas d'une premiére initialisation de base de
données. En effet, au début de sa vie, peu d'articles seront présents dans le fichier,
done les espaces primaires seront surdimensionnós.
Exemples
Dans les lignes suivantes, nous vous proposons un algorithme de réallocation simple et
dont l'usage s'avére efficace. 11 a l'avantage de 'tailler' au plus juste les espaces
primaires, et done d'optimiser la place disponible. Par contre, dans le cas de fichiers de
mouvements trés actifs, il faut recalculer le modulo réguliérement
20
6
La gestión des index.
Les index permettent d’utiliser les attributs comme cié d’accés aux articles.
Les instructions de formation des clés d’index utilisent les codes de traitements de type “a”.
Vous pouvez créer autant d’index que vous le désirez pour un fichier donné. 11 n’y a pas
de limite.
La racine du FID et le code de traitements pour chaqué index sont stockés en tant que
valeur simple de I’attribut 8 de 1’article de définition de fichier.
Les index sont crées au niveau TCL, par la commande creer-index (create- index) et
stockés sur le disque en ordre alphabétique suivant la structure logique b-aibre.
Les index peuvent étre utilisés depuis Pick/Basic, depuis ACCESS et depuis le processeur
de mise-á-jour par l’intennédiaire des codes de traitements.
Par exemple, dans un fichier des employés utilisant un numéro d’ordre comme cié, vous
pouvez créer un index basé sur les attributs qui contiennent les noms des employés.
Les verbes TCL trier (sort) et tselectionner (sselect) vérifient si les clés de tri ne
correspondent pas á des index déjá existants, avant de commencer le tri.
Si un index existe, il sera utilisé pour produire le résultat.
L'utilisation des index réduit de maniére considérable les temps nécessaires aux tris,
particuliérement sur les gros fichiers.
2
0
7
Syntax» creer-index nom.fichler a.correlatlon
Une fois que l’index a été ciéé, toute modification effectuée sur le fichier met á jour
l’index si cela est nécessaire.
Par exemple, si une copie d’article est faite vers ce fichier (veibe copier), les index
seront mis automatiquement á jour.
Un index ne peut étre écrasé. Aussi, pour remplacer un index, il faut supprimer rancien,
puis créer le nouveau. Le pointeur sur l’index est placé dans I’attribut 8 de 1’article de
définition de fichier, comme code de traitements de type “i”.
Exemples
:creer-index clients a1
mu
:creer-index clients a2
mu
Les index sont créés.
clients
01 D
02 10757
0311
04
05
06
07
08 IO1O746a1]IO1O768a2 <— La racine des index et les codes de traitements sont
09 L stockés ici.
1010
2
0
8
Syntaxe effacer-index nom.flchler {a.correlatlon}
H est possible de connaftre le nombre de partitions occupées par un index ou par la totalité
des index d’un fichier. C’est la commande npartitions-index (nframe- index) qui permet de le
faire.
Affiche le nombre de partitions utilisées par Findex. Si “axorrelation” vaut *, les valeurs
retoumées correspondent respectivement aux partitions occupées par les index.
Exemple:
nframe-index clients a2
[177] 2 partitions comptées.
Exemple :
:verifier-index clients al
mu
[176] Index vérifié.
2
0
9
Les index et les sauvegardes / restaurations.
Les index ne sont pas sauvegardés sur bandes magnétiques. Ils sont regénérés
automatiquement lors d’une restauration de compte ou lors d’une restauration
générale.
Un des intéréts principaux des index est de pouvoir diminuer de maniére significative
les temps de selections de fielders au travers du langage d’interrogation Access.
2
1
0
GESTIÓN OES INDEX
Exemple
nom-indexe nom
01 A 01 A
02 1 02 1
03 Nom indexé 03 Nom non indexé
04 04
05 05
06 06
07 07
08 A1 <- on utilise (’index al 08 <• pas d’index
09 L 09 L
10 20 10 20
L’instruction “root”.
Syntaxe
Charge la variable var avec la racine fid de l’index spécifié. “a.correlation” est laco rrélation
quiaétédéfinieparrinstructioncreer-index. La clauseoptionnelle then est exécutée si l’index a
été trouvé. La clause else est exécutée si l’index n’a pas été trouvé. Ces clauses ont le
méme format que celles de l’instruction if.
Exemple :
21
1
A.PICK / UNIX
L’instruction “key”.
opérateur
“c” Renvoie le premier identificateur d'article (cié associée) dont I’index vérifie la
“chaine”, en faisant une comparaison de gauche á droite sur toute la longueur
de la “chame”. Si la vérifícation ne peut se faire, le prochain index et sa cié
associée sont renvoyés.
“n” Prochaine “key” et cié associée. Si plus d’une cié existe pour une instruction “key”,
renvoyer la cié suivante. Aprés que routes les clés aient été renvoyées,
renvoyer la prochaine “key” et sa cié.
“p” Précédente “key” et cié associée. Si plus d’une cié existe pour une instruction
“key”, renvoyer la cié précédente. Aprés que la premiére cié pour une
instruction “key” ait été renvoyée, renvoyer la cié précédente et sa demiére cié
associée.
“r” Lire “key” et sa cié associée.
racine Définit un index qui a été initialisé par l’instruction “root”.
chaine Variable assignée en amont de l’instruction “key” qui contient la cié de Particle á
rechercher.
cié Variable qui sera assignée par “key” et qui contiendra la cié de l’article
contenant la cié de recherche.
then Exécuté si la “cié” a été trouvée.
else Exécuté si la “cié” n’a pas été trouvée.
Exemple
Attributs
Soitun fichier clients, indexé surlenom du client (al).
Le programme Pick/Basic 0 Cié, numéro du client.
suivantpermetderetrouverunarticleen se basant sur 1 Nom.
le nom du client 2 Prénom.
3 Adresse.
Notre fichier clients est un fichier de test généré de 4 Ville.
5 Département.
maniére aléatoire et comportant 521 articles.
6 Code Postal.
La stiucture d’un anide est la suivante:
2
1
2
GESTIÓN DES INDEX
001 *
QQ2 ****************************************************
007 *
008 OPEN -CLIENTS" TO FCLI ELSE
009 PRINT "Fichier clients absent!"
010 STOP
011 END
012 ROOT -CLIENTS",’Al’ TO RACINE ELSE
013 PRINT "Ouverture index impossible!*
014 STOP
015 END
016 PROMPT""
017 PRINT @(-1)
018 SAISIENOM:*
019 FTIME = 1
020 LDEB = 5
021 PRINT @(0,20)X§>(-4):'Nom á rechercher ou "fin"
022 INPUT NOM
023 PRINT @(0,LDEB):@(-3)
024 SAVE.NOM « NOM
025 IF NOM = "fin" THEN STOP
026 * Affichage de Pen-téte.
027 PRINT @(0,3):’No client Norn, prénom
028 PRINT "Adresse Ville Dép.CPost."
029 NOMSUIVANT:*
030 KEY("N",RACINE,NOM,ID.VAR) THEN
031 IFFTIMETHEN
032 FTIME = 0
033 SAVE.NOM = NOM
034 END
035 IF ID.VAR = - THEN GOTO SAISIENOM
036 IF NOM # SAVE.NOM THEN GOTO SAISIENOM
037 READ ITEM FROM FCLI, ID.VAR ELSE ITEM = -
038 * Mise en forme puis affichage de I'article.
039 PRINT @(0,LDEB):ID.VAR "R#4":
040 PRINT SPACE(7):ITEM<1 ":ITEM<2> -L#15":
041 PRINT SPACE(2):ITEM<3> "L#15":SPACE(3):ITEM<4> "L#10":
042 PRINT SPACE(3):ITEM<5>:SPACE(3):ITEM<6>
043 LDEB-LDEB+ 1
044 IF LDEB-14 THEN
045 PRINT @(0,20):‘<Entrée> pour continuer ou "fin" ":
046 INPUT REP
047 IF REP = "fin" THEN GO SAISIENOM
048 LDEB = 5
049 PRINT @(0,LDEB):@(-3)
050 END
051 GOTO NOMSUIVANT
052 END ELSE
053 KEY("C",RACINE,NOM,ID.VAR) ELSE GO SAISIENOM
054 GO NOMSUIVANT
055 END
21
3
Les Táches Fantómes.
Le processeur de gestión des táches fantómes est disponible sur les versions Advanced
Pick et Open Architecture v2.0.
C'est une commande qui, s'exécutant en amére plan, permet á un utilisateur donné de ne
pas perdre la main par rapport á son travail en cours.
Dans les versions classiques de Pick, telles que R83, il était obligatoire de disposer de
lignes physiques. Le principe était d’exécuter un 'LOGON' sur une ligne inutilisée, c'est á
dire une ligne série sans terminal attaché, et de lancería táche directement depuis la
procédure de connexion.
Pour s'afíranchir de cette contrainte technique, mais également fínanciére, sous AP et OA,
des PIES (ou lignes) sont réservés pour l'exécution des táches fantómes. n riest done pas
nécessaire de bloquer des lignes physiques.
Des commandes peuvent étre lancées depuis n'importe quel terminal ou programme, les
résultats, quant á eux peuvent étre imprimés, stockés sur bande magnétique ou tout
simplement mis en fichier.
2
1
5
A.PICK / UNIX
Lorsque le scheduler est démarré, il vérifie le contenu du fichier jobs pour voir si une
táche est á lancer.
Les travaux sont soumis depuis TCL, par la commande fantome (z). Us sont alors mis
en file d’attente dans le fichier jobs, suivant le principe de pile fifo, premier entré,
premier sorti.
L'utilisateur est informé que sa requéte a été prise en compte par un message que lui
retoume la commande fantome (z).
Exemple
Le bloc de contróle du processus est alors chaíné á un pib parle moniteur et est prét á
étre activé.
Si tous les pibs sont occupés, la táche est mise en atiente d’une ligne libre. Lorsque la
commande a été exécutée, le moniteur rend disponible le pib qui a été utilisé.
Le scheduler et les processus fantómes sont gérés de la méme fa?on que les autres
utilisateurs, avec le méme niveau de priorité, et sont considérés par le moniteur comme
étant simplement d'autres utilisateurs i servir.
2
1
6
LES TACHES FANTÓME
Les lignes utilisées automatiquement parle scheduler sont situées au delá des lignes
utilisateurs.
:quo¡
Lign pcb fid pib base ét rl & contenu des registres
e état abs at
7F0 0000 ws.wherekxxx
*000 000600 0 18 ws.whatwhere:xxx
017 000611 3F1 0000 P sp.unlock.q:xxx sp.parallekxxx
022 000CD 0 3F0 18 0000 P pp.sched:xxx
3 0 18
Nota: xxx, ainsi que le nom des modes, varient en fonction des versions de Pick.
Le demierpib utílisateur est le numéro 16. L'imprimante paralléle est sur le pib 17, et les
pibs de 18 á 21 peuvent étre utilisés par des tóches fantómes.
Le processeur de transaction log et le scheduler fantóme sont tous les deux des tóches
fantómes.
- l'option h spécifie que les résultats de l’exécution de commande.tcl seront mis dans le
spooler et visualisables par la commande sp-editer. Le numéro du fichierverrouillé peutétre
affiché parla commande: lister-travaux (list-jobs).
- l'option s supprime les messages d'eneurs sur le terminal qui a lancé la commande.
- commande.tcl spécifie une phrase TCL valide. Les fichiers éventuellement utilisés
doivent étre accessibles depuis le compte qui émet la commande.
21
7
A.PICK / UNIX
En cas de non réponse de votre part, les paramétres par défaut seront initialisés; c'est á
dire:
Questions Paramétres
Compte Mot de passe Compte dans lequel vous Stes connecté
Commande Pas de molde passe.
Pas de défaut. Vous devez saisir une commande.
Une commande ne peut pas étre nulle.
No de ligne Premier pib disponible. Sans.
Données
complémentaires
Rien ne vous empéche de lancer certains traitements en fin de joumée ou la nuil pour
éviter de pénaliser les traitements interactifs de la joumée.
n est trés commode d'utiliser fantome pour des traitements longs, par exemple, la
suppression d'un compte, la création d'un gros fichier, tris et sélections complexes,
compilations, créations d'index, etc...
Le fíchier jobs contient des informations relatives á chaqué táche fantóme soumise á
exécution. La cié des articles est composée de 9 caractéres numéri- ques (4 pour la
date et 5 pour l'heure), plus un caractére alphanumérique en cas de soumission de
plusieurs táches durant la méme seconde.
2
1
8
LES TACHES FANTÓME
llster-travaux (llst-jobs)
Arret du scheduler.
21
9
A.PICK / UNIX
arret-fantome (stopsched)
arret-fantome a pour effet de ne pas lancer d'autre táche apits la fin de celle qui est en
corns. Son processus n’est pas réinitialisé, il apparaitra done toujours en exécutant la
commande quoi.
Tri du fichier abs et impression du rapport iantomeh trier abs impr ou zh trier abs (p
2
2
0
Sauvegardes & Restaurations.
Sous Pick, il est aussi important de faire des restaurations réguliéres pour restructurer
l’espace des fichiers en débotdement
• Fichiers DICT/DATA.
• Maítre-dictionnaire (compte).
• Générale.
• Incrémentale.
• Transaction log.
• Restaurations sélectives.
2
2
1
A.PICK / UNIX
Processus de sauvegarde.
Il s’agit du type le plus simple á mettle en oeuvre, n permet d’écrire sur le support
magnétique courant le contenu d’un fichier, que ce soit la partie dictionnaire ou la partie
données.
La commande utilisée est b-ecrire (t-dump)
Ecrit les articles d’un fichier “nom.fichier” sur le support magnétique courant. Lenom de 1
’article est affiché, lorsque I’article aété écrit. L’entéte label (header) «texte», est écrite
dans le label de la bande magnétique. La bande doit étre positionnée correctement á un
point de chargement pour pouvoir écrire le label. Si aucun entére de sélection n’est
spécifié, la totalité du fichier est écrite.
Options
h Supprime l’écriture du label.
i Supprime I’affichage des noms d’articles.
p Dirige la sortie sur imprimante.
Exemples:
Ecriture de la partie dictionnaire du fichier test sur le support magnétique courant.
:b-ecrire diet test
Processus de restauration.
Restaure le contenu d’un fichier á partir d’une bande qui a été générée par une
commande b-ecr¡re. Si aucun critére de sélection n’est spécifié, la totalité du fichier est
rechargée.
Options
i Supprime I’affichage des noms d’articles.
o Ecrase les articles existants.
p Dirige la sortie vers rimprimante.
2
2
2
SAUVEGARDES - RESTAURATIONS
Cette commande commence par lire le label de la bande pour pouvoir initialiser la taille
des blocs á lire. Si la bande ne posséde pas de label, b-charger lit le premier bloc de la
bande, détermine que la bande ne posséde pas de label et revient en amére d’un bloc
avant de continuer. Dans ce dernier cas, la taille des blocs doit avoir été spécifiée
auparavant par une commande b-att (t-att).
Utilisation: Ce principe de sauvegarde est trés peu utilisé compte tenu de son caractére
sélectif. D est en effet impensable de sauvegarder le contenu d’une base de données de
cette fagon. Par contre, il est utilisé pour effectuer des sauvegardes et des restaurations
simples et pour des transferts de fichiers entre deux machines.
“b-lire” et “b-ecrire” sont des commandes Access.
Oü maitre.dictionnaire est un md valide du systéme. C’est á dire qu’il doit exister dans le
fichier mds et ne pas étre défini en «dx».
:init-disquette (ha
:sauver-md pa
account name on tape : pa
Le nom du compte sur la bande peut étre différent du nom du compte que Ton
sauvegarde. Cette fonctionnalité peut s’avérer intéressante pour une restauration
ultérieure sous un autre nom. Lors d’une restauration, il faudra spécifier le nom du
compte sur la bande.
22
3
A.PICK / UNIX
Les index sont crées automatiquement pour les fichiers qui ont un index spécifié dans
leur article de définition.
Exemple
Restauration du md test, sauvegardé sur bande, sous le nom compta.
Vous devez répondre “y” si vous avez des bandes de sauvegardes incrémentales ou de
transaction. Dans le cas contraire, répondez “n”.
Sauvegarde générale.
La sauvegarde générale a pour but d’écrire sur le support magnétique courant, l’ensemble
2
2
4
SAUVEGARDES - RESTAURATIONS
des fichiers de votre sysféme informatique, c’est á dire tous les fichiers de tous les maftres
dictionnaires valides.
Remarque : Seule la section des fichiers est sauvegardée. La section ABS (absolue) et le
moniteur du systéme ne le sont pas.
Ce type de sauvegarde est extrémement utilisé. C’est le plus complet et le plus pratique, n
permet, en cas de probléme, de repartir sur une base globale cohérente.
Malheureusement, pour des raisons de temps de sauvegarde, il n’est pas toujours possible
de faire des sauvegardes générales.
La premiére, pour avoir une image complete de votre systéme á un instant donné. Par
exemple, aprés chaqué fin de mois ou aprés l’installation de vos applicatifs.
Cette commande trés compléte permet d’effectuer aussi les sauvegardes in* crémentales et
les sauvegardes de comptes. Aussi nous vous proposons de Pétudier en détail aprés
présentation du principe de sauvegarde incrémentale.
22
5
APICK / UNIX
Restauration générale.
n n’existe pas de commande TCL pour restaurer complétement le systóme. Le principe
exact de restauration peut varier d’une machine á l’autre. D’une maniére générale, il
faut redémarrer le systéme et choisir l’option correspon- dante dans le menu de
démarrage pour activer le processus de restauration. Sur certains systémes, vous
serez obligé d’utiliser le jeu de disquettes du systéme d’exploitation.
A la fin de la restauration, le systéme vous demandera, de la méme fa^on que pour une
restauration de compte, si vous avez des bandes de transactions et de sauvegardes
inciémentales á charger. Aprés avoir répondu áces questions, les index seront ciéés, et
le processus de signature des partitions sera activé.
Une fois toutes les partitions signées, la procédure de démarrage “á finid” du systéme
sera exécutée et vous pourrez travailler á nouveau.
Ce processus de signature des partitions est nouveau sous Advanced Pick. 11 est
activé aprés chaqué restauration générale du systéme et a pour but de signer toutesles
partitions del’espace disponible. Ils’agitlád’unesécuritéremarquable qui évite á tout
processeur du systéme de “prendre” une partition qui n’est pas libre. Cas extrémement
rare qui peut se produire lorsque l’utilisateurn’arrete pas correctement son systéme
(cas beaucoup moins rare...), et que l’écriture de la mémoire ne s’est pas terminée.
Sauvegarde incrémentale.
Une sauvegarde incrémentale ne sauvegarde que les articles qui ont été modifiés
depuis la demiére sauvegarde générale.
Ce principe est intéressant pour les grosses bases de données, oú une sauvegarde
générale prendrait trop de temps.
22
6
SAUVEGARDES - RESTAURATIONS
Pour effectuer une sauvegarde incrémentale, spécifier l’option “u” de la commande sauver
(save).
• Tous les articles spécifiés dans une liste de sauvegarde du fichier systéme «files».
• Seuls les articles qui ont été modifiés dans un compte (sauvegarde incrémen- tale de
compte).
Options
f Les noms des fichiers sont affíchés lorsqu’ils sont sauvegardés. Si “f ’ n’est pas
spécifié, seuls le maítre-dictionnaire systéme et les noms des maitres-
dictionnaires individuéis sont affíchés.
22
7
A.PICK / UNIX
le nom du md á sauver.
1 Sauvegarde les articles spécifiés dans «ñles» pour un fichier donné. En l’absence de
liste, sauvegarde uniquement Particle de définition du fichier dans lemd.
Cette option ne modifie pas 1 ’indicateur “article modifié”, et les articles
pourront done étre sauvegardés sur une prochaine bande de sauvegarde
incrémentale.
p Dirige la sortie sur 1 ’imprimante. Si "p” n’est pas spécifié, la sortie est affichée sur le
terminal de l’utilisateur.
r Sauvegarde la liste des articles listés dans «files» pour un fichier donné.
La liste est sauvée comme un article séparé.
s Un article est stocké dans le fichier «files» pour chaqué fichier sauve- gardé. Cette
option met á jour les statistiques pour ce fichier.
v Effectue une sauvegarde générale, mais ne modifie pas l’indicateur “article modifié”.
Ces articles continueront d’étre sauvegardés de maniére incrémentale.
Si un fichier posséde un code «dx» ou «dy» et que Fun de ses articles est mis á jour,
cet article n’est pas marqué comme ayant été modifié. n ne sera pas sauvegardé;
méme si entre-temps, la définition du fichier a été modifiée.
2
2
8
SAUVEGARDES - RESTAURATIONS
pour éviter les erreurs de format groupe qui pourraient intervenir si un utilisateur
modifié un article qui est en cours de sauvegarde.
Tant que le groupe est verrouillé, aucun utilisateur ne peut accéder aux articles de ce
groupe.
Remarques genérales.
Les fichiers dont les articles de définition component «dx» en 1er attribut ne seront
pas sauvegardés. Si le 1er attribut est «dy», seul l’article de définition du fichier sera
sauvegardé.
Les index des fichiers ne sont pas sauvegardés sur bande. lis sont automatiquement
regénérés aprés une restauration de compte ou une restauration générale. (Pas aprés
un b-charger de fichier).
Ce type de sauvegarde est un peu particulier, il est utilisé pour stocker en temps réel,
sur bande magnétique, les modifications qui interviennent sur un fichier.
H est utilisé pour sauvegarder le contenu des fichiers dits «critiques». Exemple un
fichier des mouvements de comptes bancaires, etc...
Ce processeur permet de faire des restaurations rapides, si cela s’avére néces- saire.
22
9
A.PICK / UNIX
Mise en oeuvre.
L’action principale consiste á démarrer le processus par la commande init-log
(stardog).
Syntaxe inlt-log
Initialise le processeur de sauvegarde des transactions qui écrit sur l’unité magnétique
courante les modifications apportées sur les articles contenus dans les fichiers, dont
l’article de définition dans le maítre-dictionnaire est «di».
Un article modifié sera écrit sur bande magnétique en méme temps que son
écrituresurdisque.
Si le processus n’a pas été initialisé par la commande init-log depuis le démarragedu
systéme,deux questions serontposées. Le processus vérifiera que la bande corréete a été
chargée, puis vous demandera de valider pour démarrer.
init-log attache l’unité de bande magnétique si celle-ci est disponible, puis écrit les
transactions appropriées. Si un autre utilisateur a besoin de l’unité de bande, le processeur
de transaction log peut étre interrompu par un attachement forcé de l’unité par la
commande b-att (t-att), suivie de I’option “u”. Pour réactiver le processeur, il suffitde retaper
la commande init-log. Les modifications qui sont intervenues pendant ce temps lá, sont
automatiquement stockées sur disque jusqu’á ce que le processeur soit réactivé.
Une nouvelle bande doit étre chargée avant que le processeur ne redémarre; dans le cas
contraire, les nouvelles transactions écraseraient les premiares. Le systéme ne demande
pas de charger une nouvelle bande.
2
3
0
SAUVEGARDES - RESTAURATIONS
Syntaxe arret-log
Lorsque la question «Restore from transaction log tape (yM)» est posée, monter la
premiére bande, puis répondre «y».
Restaurations sélectives.
23
1
A.PICK / UNIX
Options
a Indique que le fichier á restaurer se trouve sur cette bande, dans le compte
désiré.
c Cette option est utilisée avec l’option “n”. Elle indique que tous les articles se
trouvant avant la fin de fichier doivent étre restaurés. L’option “c” est
particuliérement utile dans le cas d ’une altération d ’un pointeur de type “d”.
f Affiche les noms des fichierspour tous lescomptes. Cette optionn’estpas
compatible avec l’option “n”.
i Les clés des articles restaurés ne sont pas affichées.
n Restaure le fichier par son numéro. Le numéro peut étre trouvé sur le rapport
statistique correspondant á la bande de sauvegarde.
o Ecrase les articles déjá présents dans le fichier.
s Supprime I’affichage du message «x articles chargés».
L’option “a” est utilisée pour éviter de rembobiner la bande. Si 1’oidre des fichiers est
connu (voir le rapport statistique des fichiers), plusieurs fichiers peuvent étre restaurés
sans rembobiner la bande.
Examples
:rest-sel table "banque" (o account name on tape: compta file name: table start
from F)ull, incremental, T)ransaction log (F/l/T) ? F
2
3
2
SAUVEGARDES - RESTAURATIONS
Restauration sélective du fichier clients du compte vente, sans écraser les clients
qui existent déjá dans le fichier et sans afficher les noms des articles que l’on
restaure.
Une bande de sauvegarde ne doit pas étre considérée comme valide tant qu’elle n’a
pas été vérifiée.
Il est done important de vérifier que les données sont correctement écrites.
Vérifíe que le support magnétique ne comporte pas d ’erreur de parité. L’option “a”
indique que tous les fichiers jusqu ’á la fin logique du support sont á vérifier. Si “a”n’est
pas indiqué, la vérification porte uniquement sur le fichier positionné. A la fin de la
vérification, le nombre de fichiers vérifiés est affiché.
Un autre moyen de vérification est d’effectuer des restaurations Actives des fichiers ou
des comptes par les commandes rest-sel et restaurer-md.
L’article de nom “fictif ’ n’existe pas, mais le fichier bp doit exister dans le md oü on
fait la restauration.
Les noms de tous les fichiers défilent sur le terminal de l’utilisateur. Cette
vérification a aussi pour avantage de lever le doute quant au contenu d’une bande
magnétique.
Le nom de compte “mdfictif” ne doit pas exister dans le fichier «mds» ni sur la
bande de sauvegarde.
23
3
A.PICK / UNIX
:restaurer-md mdfictif
account name on tape :mdfictif
Il est conseillé de vérifier chaqué sauvegarde. Les moyens de vérification peuvent étre
aisément inséiés dans des procédures automatiques.
2
3
4
Licences Pick Systems.
Licences concemant tons types de versions 55 Quai Carnot BP 301 Saint-Cloud Cédex
systémcs confondues (R83, Open FRANCE
Architecture v2.0. Advanced Pick). Tél: 1-46-02-50-00
FUJITSU MICROSYSTEMS OF AMERICA
ALTOS COMPUTER SYSTEMS Fujitsu 2020
3055 Orchard Dr.
Altos 586 et 3068
SanJosé,CA95134 USA
2641 Orchard Parkway SanJosé,CA95l34
Tél :408-432-1300
USA
Tél :408-946-6700
FUJITSU ESPANA
APPLIED DIGITAL DATA SYSTEMS Intel 80186
ADDS Mentor 68020 Almagro, 40 28010 Madrid ESPAGNE
Tél; 34-1-581-8400
100 Marcus Boulevard
Hauppauge, NY 11788 USA
Tél: 516-231-5400 GENERAL AUTOMATION Inc.
Zebra/Plck 68020
CIE SYSTEMS 1055 South East St. Anaheim, CA 92805
USA
CIEsérle680 Tél :714-778-4800
2515 McCabe Way P.O Box 19628
Irvine, CA 92713-9628 USA
IBC
Tél :714-660-1800
IBC M-68020 IBC 386:40/120
CLIMAX COMPUTER Corp 21621 Nordhoff St. Chatsworth, CA 91311
USA
Sunshine M-68020 Tél: 818-882-9007
23322 Modero, Suite A
Mission Viejo, CA 92691 USA IN2
Tél :714-498-5432
Multi 6
DATA GENERAL Boite Póstale 1 78373 Plaisir Cédex
FRANCE
Avlion open system DG/Advanced Pick 4400 Tél: 1-30-55-81-81
Computer drive
Westboro, MA 01580 USA PICK BLUE
IBM 6150 PC/RT IBMRS/6000
EDGECORE TECHNOLOGY 1920 Main Street Suite 1290
Edge 1000 et 2000 Irvine, CA 92714 USA
7320 Butherus Tél:714-476-BWE
Scottsdale, AZ 85260 USA
Tél :602-951-2020 PICK SYSTEMS
Intel 8088 / 8086 / 80286 / 80386
ELECTRONIQUE SERGE DASSAULT 1691 Browning Irvine, CA 92714 USA
C 900 M-68020 Tél :714-261-7425
23S
A.PICK / UNIX
2
3
6
Terminologie Pick - Américain/Frangais
2
3
7
TERMINOLOGIE PICK * AMÉRICAIN/FRANQAIS
hash-test tester-hash It PP
hdr-supp supp-ent md-restore restaurer-md
header en-tete mul mul
heading en-tete muid mdec
id-prompt afficher-identifiant mulx mhex
id-supp supp-id nframe-index npartition-index
if si no non
import importer nopage supp-arret
in dans not non
istat stat-articles of de
item groupe-article off fin
item article only seul
Id lister-attributs op psor
Mf lister-description-att or OU
legend-off legende-non overflow list-esp
legend-on legende-oui ovf lister-esp
list lister P i
list-commands lister-com mandes password mot-de-passe
list-errors lister-erreurs pick pick
list-file-stats lister-rapport povf lister-esp
list-files lister-fichiers power-off arret-systeme
list-item lister-article print-err erreur
list-jobs lister-travaux psh shell-capt
list-label lister-label pverify pverifier
list-locks lister-verrous qselect qselect ionner
list-macros lister-macros recover-item recup-article
list-menu lister-menu reformat restructurer
list-menus lister-menus rename-file renommer-fichier
list-pibs lister-pibs ri recup-article
list-system- lister-erreurs-systeme roll-on rouler
errors
list-users lister-utilisateurs run executer
list-verbs lister-verbes s-dump b-triecrire
listabs listass sampling echantillon
listacc listcptes save sauver
liste lister-colonnes save-list sauver-liste
listconn listconj search chercher
listdict listdict search-system chercher-systeme
listfiles listfichiers sel-restore rest-sel
listpeqs listedit select select ionner
listprocs listproc send-message envoi-message
listptr listimpr set-abs init-abs
listusers listu set-baud init-vitesse
listverbs listverbes set-date inrt-date
lock-frame verrouiller-partition set-date-eur in’rt-date-eur
log-msg trace-msg set-date-std init-date-usa
logoff deoonnecter set-floppy init-disquette
logon connecter set-func init-fonc
logto connecter-sous set-half init-demi
loop bouder set-kbrd init-clav
loop-on boucler set-lptr init-limpr
Iptr impr set-port init-port
।
23
8
TERMINOLOGIE PICK - AMÉRICAIN/FRANQAIS
23
9
Terminologie Pick - Frangais/Américain
240
TERMINOLOGIE PICK - FRANQAIS/AMÉRICAIN
24
1
TERMINOLOGIE PICK - FRANQAIS/AMÉRICAIN
24
2
Index.
Abort 107 77 b-fin 77 b-lire 77 b-llabel 77 b-reb 77 b-reb-det
abs (fichier) 187 abs (fonction) 107 Access 76, 77 b-retendre 77 b-triecrire 77, 127 b-verif 77,
Caractéristiques générales 123 234 bande 127
Modificateurs 127 Bandes magnétiques 57, 60,76,84,117 118, 120
Opérateurs passifs 130 Sous-chaines 124 begin case 109 bit.stop 67 Blocage
Structure des phrases 123 Syntaxe 124 Yerbes
125 access 47 access (fonction) 107 accounts
(fichier) 184 activer-echappement 75 activer-
heure-date 75 activer-liste 50, 75, 86, 126
activer-tcl-entete 75 add 75 Addition
Nombres décimaux 75
Nombres entiers 75
Nombres hexadécimaux 75 adec 75
Advanced Pick/UNIX 35, 51
Administration du systéme 53
Apport de fonctionnalités 51
Avantages 52
Commandes TCL 64
Description technique 52 Ecriture de la
mémoire 56
Espace disque 55
Facilité de portage 53
Gestión de la mémoire 55
Implémentation 51
Installation sur systéme SCO 59
Intégration 52
Interface Basic 71
Nouveautés 35
Nouvelles fonctionnalités 37 Performances
52
Principe technique 53 ahex 75 al 46, 50, 75,
86, 126.
Voir également activer-liste alpha 108
Appel de sous-programmes 162 aAppel d*un
niveau d’exécution 45 appel-bogger 45, 75
appel-niveau 75
Appendices 144 arret 38, 46, 75 arret-fantome
46, 76, 220 arret-log 46, 76, 231 arret-machine
76 arret-sched 76 arret-systeme 76 Articles
Blocage 34
Comparaison 78 de Définition d'attributs
195 de Définition de fichiers 41, 192
Destruction 111 Lecture 117 Mise en fichier
120 Suppression 81 article 76, 83 ascii 108
assigned 47, 108 Attributs
Écriture 120 Lecture 117 Par défaut 43 avec
127
B ar 76
b-att 76 b-av 76 b-charger 76, 127, 222 b-
decharger 64, 76 b-det 76
b-ecrire 76, 127, 222
b-efdf 77 b-effacer 77 b-elbl 77 b-etat 77 b-fdf
2
4
3
Article 34 block-convert (fichier) 187 convxd 79 copier 79 Copier un fichier 201 copier-
bogger 38, 45, 78 Boucle 112, 115 liste 79 Corrélation d’attribut 166 Corrélation de
Sortie prématurée 112 boucler 78 bp fichier 167 Corrélation d’identificatkm d’article 168
(fichier) 186 break off 109 break on 109 Corrélation horizontale entre deux fichiers 161
Corrélations 158 eos 110 cosinus 110 count 110
C 72 Couper etcoller 138
Coupure de mots 148
Cadre 145, 155 call 109, 162 call© 109
Création de fichier 198
capturing off 109 capturing on 109
Caracteres
Conversion 162
Codes de controles 48
Masques 169 de Sollicitation 37
Caractéres espace 147, 152 Caracteres
étendus 82
Caracteres géants 93
Caracteres gras 145, 155
Caracteres italiques 149, 155
Caracteres majuscules 145, 155
Cartouche
Initialisation 65 cat 107 cataloguer 78
Centrage (commande) 145 chain 109
Chaine de caracteres
Conversion 79
Formatage 105
Taille 47
Tri 118
Chapitre 145
chaqué 127 char 109 Chemin d’acces 41
chercher 78 chercher-systeme 78 cimpr
78
Clause onerr. Voir onerr Clavier
Initialisation 84 clear 109 clearfile 109
close 110
Code de longueur 168
Ebcdic 111
echantillon 42, 128 échappement
(touche) 56, 75, 82 echo 81 echo off
111 echo on 111 eclate-par 128 eclate-
par-decr 128 écrasement 134 editer 81
éditeur pleine page 39 effacer 81
effacer-compte 81 effacer-fichier 82
effacer-index 45, 82 effacer-liste 82
effacer-verrous-basic 82 en-arbre 128
En-pied 42,112,128,147 En-tete
42,113,128, 148, 154
En-tétes des chapitres 152 end 111
enter 111 envoi-message 82 equate 111
erreur 82 erreurs de format groupe 43
Erreurs systéme
Liste 87
2
4
5
execute 71, 112 executer 83 exit 47, 112
exp 112 Go 113
Expressions logiques 106 Groupe 83
Expressions relationnelles 106 extract Dévenouillage 81 groupe-article 76, 83
112
Heading 113
Extraction de groupe 166 Extraction de
texte 173 Heure 83,120
Initialisation 66,84 heure-date 75
Fantome 38, 46, 83, 217 fc 128 fdisque Hexadécimal (masque) 170 Hiérarchie des
83 Feuille-calcul 128 fichiers 191
Fichier de configuration 62 Fichier
errors. Voir errors Fichiers I 83 iconv 113 if then else 113 Implémentation
Articles de définition 41 Pick/UNIX 51 importer 65 impr 128
Changement de nom 90 Imprimantes 57, 144 Arret 92 Assignation 91
Chemin d'accés 35 Initialisation 85, 151 Listage 88 imputer 83 in
Copie 201 113 include 113
Corrélation horizontale 161 Index 44, 166
Création 80, 198 Commandes 208 de Corrélation 167
Dictionnaire 195 Effacement 82 Création 45,80, 208 Effacement 82 Gestión
Hiérarchie 191 Importation 65 Liste 207
dans un compte 87 Non Manipulation dans Pick/Basic 114
sauvegardables 94 Partitions occupées 209 Partitions utilisées
Occupation 92 89 Recherche de I'adresse 118 Suppression
Ouverture 116 de Programmes 50 45,209
Réallocation 90, 205 Recherche 78 Utilisation depuis Access 210
Renommer 46,200 Restructuration Utilisation depuis Pick/Basic 211
90, 93 Vérification 94, 210 index 39, 114
Structure logique 190 Index (dans un texte) 149, 151, 155 init-abs 83
Suppression 200 init-cartouche 65 init-clavier 84 init-date 66, 84
Synonymes 194 init-date-eur 84 init-date-std 84 init-demi 84
Transfert 93 init-disquette 66, 84
Vidage 94, 109,200 field 112 file 47,
112 files (fichier) 178 fin 38, 83 fold 47,
112
Fonction algébrique 159
Fonction mathématique 164 Fonctions
“c” 72 footing 112 for next 112 formater
83 fimckeys (fichier) 187
246
init-fantome 46, 84, 215 init-fonction 84 init-heure
66, 84 init-impr 85
init-log 39, 46, 85, 230 init-lptr 85 init-minibande 85
init-minibande-dma 85 init-ovf 45, 85 init-port 67, 86
init-sched 84 init-spooler 86 init-sym 86 init-vitesse
86 input 114 inputerr 114 inputnull 114 inputtrap 114
Insensibilité de formulation 37 insert 114 insertion
134 int 114 Interlignage 150, 155 intersection
Liste 46
Legende-non 86
legende-oui 86 len 114 let 114 Ligne asynchrone
Parametres 86
Ligne utilisateur Assignation 86 Connexion 79
Limites 172 list-esp 86 listass 86 listconj 86 listcptes
86 listdict 86 Liste
Création 46,80 Effacement 82 Intersection 46
Sauvegarde 46,91 Union 46 listedit 87 lister 44, 87,
125 lister-article 87, 125 lister-attributs 87 lister-basic 45,
87 lister-charges 87 lister-colonnes 87 lister-commandes
87 lister-description-att 87 lister-erreurs 43, 87 lister-
fichiers 87 lister-label 87, 125 lister-macros 88 lister-
menu 88 lister-menus 88 lister-pibs 88 lister-rapport 88
lister-travaux 46, 88, 219 lister-utilisateurs 88 lister-
verbes 88 lister-verrous 88 listimpr 88 listing formaté
d’un programme 45 Listings étendus 43 listproc 88 listu
88 listverbes 88 In 114 locate 115 lock 115 log 39, 230
Arret 46, 76 Demarrage 46 État 82 Initialisation 85
Logiques (expressions). Voir Expressions logiques
Logon 35 logon 37 long.mot 67 loop 115 lu 88
1VI achine
Arret 76
Machine virtuelle 59, 60 Arret 63 Exemple 54
Initialisation 63, 67
Macro-instruction 40,150 Création 45,80
2
4
7
Liste 88 Maitre dictionnaire 192 Déverrouillage 81
Restauration 224 TaiUe 34
Sauvegarde 223 maj-compte 89 Marge Verrouillage 94
148, 149, 152 Masque de caracteres 169 Visualisation 94
Masque de temps 171 Masque de Partition de base
verification 106,172 Masque hexadécimal Affichage 83
170 mat 115 match 115 matread {u} 115 Pause (touche) 56, 75
Matrice Phonémes
Écriture 115 Traitement 118
Lecture 115 matwrite{u) 115 md 192 Pibs 60
mdec 89 mds(fichier) 180, 191 Mémoire Liste 88
Nécessaire, calcul 59 pibs (fichier) 181
Vidage sur disque 94 mémoire virtuelle Pick 67
59 memoriser-commandes 89 Menus 40 Généralités 16
Documentation 88 Messages R83 31
Envoi 82 Pick/Basic 101
Inhibition 83 messages (fichier) 181 Caractéristiques générales 101
mhex 89 minibande 85 Mise ájour Chaínes de caracteres 105
Trace 176 Contróle code-objet 90
Mise en page 116 mod 115 mode non-stop Debugger 121
40 mode stop 40 Modulo 204 Expressions logiques 106
Statistique 92 Expressions relationnelles 106
Test 93 Index 211
Moniteur 61 mot-de-passe 89 MS 42 mul
89 Multiplication
Nombres décimaux 89 Nombres entiers
89 Nombres hexadécimaux 89
Occurs 47
oconv 116
on go to 116
onerr 48
open 116
Open Architecture 32 Nouveautés 33
Opérateurs 104 oublier-commandes 89 out
116 overflow 45
Page 116
par 128
par-decr 128
Paragraphe 145, 150, 156
Paramétres
PROC 96
Parité 67
Partition 76
248
Instructions et fonctions 47,107 qui 90 quoi 90
Interface UNIX 71
Racine carrée 119
Masque de verification 106
Nouvelles fonctionnalités 47 read{u) 117 readnext 117 readt 117
Opérateurs 104 readv (u) 117
Représentation des données 102 Réallocation
Tableaux 103 Algorithme 206 reallouer 46, 90 Recherche et
Variables 103 remplacement de texte 137 recup-article 90
pmaj 89. Voir également Processeur de Mise á Jour Relationnelles (expressions). Voir Expressions
pmaj-dict 89 relationnelles
Pointer-file (t) 50 release 117 rem 107, 117 rem (fonction) 117
Pointeurs ‘q’ 194 remarque 107
Police de caracteres 147 Renommer un fichier 200
Port renommer-fichier 46, 90 replace 117, 118 rest-sel 90, 232
Initialisation 67 Restaurations 221
Précision 103 Bandes de transactions 231
precision 116 Bandes incrémentales 227
Préface d’un texte 150, 156 Générale 226
Préstockage (commandes) 138 Maitre dictionnaire 224 Processus 222
print 116 Sélective 90,232
printer close 116 restaurer-compte 90 restaurer-md 90, 224 restructurer 90,
printer off 116 93, 126
printer on 116 return 118 return to 118 rewind 118 md 118
PROC 95 root 47, 118, 211
Commandes 98 rouler 129 rqm 118 rupture 129
Parametres 96
Saisie obligatoire 169
Structure 97
Procedures sans 129
Listage 88 Saut de page (commande) 144 sauve-liste 91
Processeur de Mise á Jour 35,39,131 Sauvegarde des transactions 39,82 sauvegarde-compte 91
Commandes 142 Sauvegardes 91,210,221
Commandes utilitaires 139 Générale 225 Incrémentale 39,226 Maitre
Couper et coller 138 dictioimaire 223 Processus 222
Déplacements du curseur 132 Rapport 88 Transaction 230 Vérifícation 234
Modes “écrasement” et “insertion” 134 sauver 91, 225, 227 sauver-liste 91, 126 sauver-md
Modificateurs particuliers 142 91, 223 scheduler. Voir Tache fantome SCO UNIX
Recherche et remplacement 137 system V/386
Syntaxe 131 Implémentation 53 sdec 91
Vérificateur d’orthographe 134 Sections (dans un texte) 152 select 118 selectionner
Processeur de sortie 35, 40, 143 91, 126 séparation de fichier 50 seq 118 seul 129 sheU
Commandes 144 69 sheU-capt 70 shex 91 si 129
Processus utilisateur Signature des partitions 45 Signaux 58 sin 118 Sinus
Arret 63 118 si 46, 126 sleep 118 sommeil 91 sommer 91, 126
Démarrage 63 Sons (traitement des) 118 sort 48, 118
procread 117 Soulignement 154, 156 soundex 48, 118
procwrite 117 Sous-programme 109, 119 Soustraction
Programme Pick/Basic Nombres décimaux 91 Nombres entiers 92
Chainage 109, 111 Nombres hexadécimaux 91 sp-assigner 91 sp-
Listage formaté 87 assigner-fq 91 sp-bande 91 sp-edition 92 sp-etat 92
prompt 117 sp-fermer 92 sp-fin 92 sp-ouvrir 92 space 119 Spooler
psor 89, 143 92, 116
psym (fichier) 187 Initialisation 86
Puissance 117 pverifier 90 pwr 117 Liste des éditions 87 sqrt 119 stat-article 92 stat-octets
92 Statistiques
Qselectionner 90, 126 Historique des connexions 87 Stockage des données
2
4
9
202 stop 119 stop-impr 92 str 119
Structure logique des fíchiers 190 sub 92 subroutine 119
Substitution 173 supp-arret 129 supp-col-ent 129 supp-det
129 supp-ent 129 supp-id 130 supp-msg 42 supp-tcl 130
Suppression d’un fichier 200 supprimer-entete-tcl 92
supprimer-heure-date 92 system 72, 119 system() 48
system(lOO) 72 Systéme Arret 76 Configuration 90
Vérifícation 94 systeme 69, 93
Systéme d’organisation des Fichiers 189 systeme-
generation 69, 93
Table de débordement 86
Table des matiéres (dans un texte) 151 Tableau
Dimension 111
Tableau dynamique 104 Extraction 112 Insertion 114
Recherche 115 Remplacement 118 Suppression 111
Tableaux 47, 103
Tabulation 93, 148, 153
Tache fantome 38,46,83,215 Applications 218 Arret
46,220 Démarrage 46 Désactivation 76
250
Fonctioimement 215 Initialisation
84,215 Liste 88
Tampons
PROC 95 tan 120 Tangente 120 tb
93 TCL
Liste des commandes 75 Niveaux
d'exécution 38 Piles des commandes
37,73 tel 46, 93, 120 tcl-stack (fichier)
183 tclread 48, 120 Temps (masque) 171
term-type 93 Terminal 56
Défmition 81 terminal 93 terminate
58 tester-hash 93 time() 120 timedate()
120 titre-impr 93 total 130 total-general
130 Touche <pause> 45 Touches de
fonction 84 Trace de mise á jour 176
Trace des erreurs systéme 43 trace-msg
93 Transactions
Sauvegarde 39,230 transferer-fichier
93 Translation de fichier 174
trestructurer 126 Tri 172 trier 44, 93,
125 trier-article 94, 125 trier-label 94,
125 trim 120 tselectionner 94, 126
Variables 103
Assignation 108
Nombre 103
Taille du nom 103 Verbes
Nouveaux 44
Vérificateur d’orthographe 134
Vérification
Masque 172 verifier-abs 94 verifier-
dx 45, 94 verifier-index 94 verifier-
systeme 94 Verrous 115,120
d’Articles 48, 50 Effacement 82
Listage 88
Versions 31
Advanced Pick 35
Open architecture 32 R83 31
Vidage d’un fichier 200 vider-fichier 94
vider-mémoire 94 visualiser 94 vitesse
67, 86
2
5
1
Reíais Informatique International.
Le Reíais Informatique International, éditeur de ce livre, a été créé en 1987 dans deux
buts : la promotion du sysféme Pick par l'édition et la création d'un progiciel de gestión
de bibliothéques.
L'édition.
R.I.I. a édité en 1987 le premier livre en franjáis sur le systéme d'exploitation Pick: “Le
Systéme Pick”.
D récidive aujourd'hui avec le premier livre mondial sur Advanced Pick.
En dehors de ces deux livres, ont été édités des ouvrages concemantles rapports entre
Tinformatique et la bibliothéque:
• “Liber ou rinformatique et la bibliothéque” déjá traduit en anglais, espagnol,
néerlandais et russe,
• “Liber, mode d'emploi”.
Dans les mois á venir, R.I.I. fera paraítre une encyclopedic Pick: "Pick de A á Z” qui
deviendra la «bible» des utilisateurs et développeurs Pick.
D'autres livres, ttés ciblés dans le monde Pick, verront le jour prochainement. Ds auront
pour objectif d'aider l'utilisateur Pick á maitriser ce systéme excep- tionnel dans des
domaines précis: la programmation, le langage d'interrogation naturel,...
Le progiciel Liber.
En dehors de l'édition “papier”, R.I.I. a un róle d'éditeur de progiciel dans le monde des
bibliothéques.
R.I.I. a développé le progiciel Liber qui, en moins de trois années d'existeñce, est
devenu le leader de I'informatisation des bibliothéques en France.
H est également présent dans les départements et territoires d'outre-mer (Guadeloupe,
Martinique, Guyane et Tahiti), dans 10 bibliothéques néerlandophones en Belgique, á
l'Université de Liége, á la Bibliothéque Municipale de Madrid, ainsi qu'en Italic et en
U.R.S.S.
230 bibliothéques sont actuellement gérées par Liber, et... par Pick.
Collection SGBD
Collection SGBD
Collection SGBD
Collection SGBD
Collection SGBD
Collection SGBD
Collection SGBD
Collection SGBD
Collection SGBD
Collection SGBD
Collection SGBD
I!
9782906886025
9 782906 886025