Vous êtes sur la page 1sur 251

ADVANCED PICK®

UNIX*
Chez le méme éditeur

Le systéme Pick Michel Lallement

Liber ou I'informatique dans la bibliothéque

© Reíais Informatique International, 1990


7 rué Charles Dordain - BP 74
93602 Aulnay sous Bois Cedex
(1)48.79.07.02

I.S.B.N. 2-906886-02-5
BRUNO BENINCA

ADVANCED PICK®

UNIX®

La nouvelle norme informatique

Préface de Frangois Calían

Reíais Informatique International


© Reíais Informatique International, 1990.
Tous droits réservés. Toute représentation, adaptation, exploitation, transcription, diffusion, ainsi
que toute reproduction intégrale ou meme partielle obtenues par quelque procédé que ce soil
sans l'autorisation écrite du Reíais Informatique International, sont illicites.

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.

La parution de cet ouvrage aujourd’hui me semble particuliérement importante, car Pick


a été trop souvent jugé comme étant un systéme figé dans un état donné, celui de sa
version 1983. Or, depuis cette époque, il a connu des améliorations considérables, tout
d’abord, par l’apparition de “Pick Open-Architecture”, puis par celle d’“Advanced-Pick”.
Les nombreuses innovations apportées par ces nouvelles versions sont largement
détaillées dans cet ouvrage.

Ce livre démontre que Pick est un systéme qui vit.

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

Qu’est ce que le systéme Pick ?..........................................................15


Pick est un systóme orienté gestión.................................................................16

Pick et les SGBD.................................................................................17


Qu’est qu’un SGBD?........................................................................................17
Les principan* SGBD........................................................................................18
Le systóme CODASYL.....................................................................................18
SQL................................................................................................................... 22
L’approche SGBD de Pick................................................................................25

Les versions du systéme Pick.............................................................31


Le systóme Pick R83........................................................................................31
Open architecture.............................................................................................32
Advanced Pick..................................................................................................35
Nouveautés d’AP par rapport á Open Architecture..........................................35

Les nouvelles fonctionnalités d’Advanced Pick...............................37


Différences par rapport á la version R83..........................................................49

Implémentation Advanced Pick / UNIX...........................................51


Apport de fonctionnalités..................................................................................51
Principe technique général...............................................................................53
Installation du systóme AP/UNIX sur systóme SCO.........................................59
Initialisation de la machine virtuelie..................................................................63
chargement de AP/UNIX..................................................................................63
Les commandes tel d’AP/UNIX........................................................................64
Interface Pick/Basic..........................................................................................71
Les commandes TCL du systéme.................................................... 73
La pile des commandes TCL...........................................................................73
Liste des commandes TCL..............................................................................75
A.PICK / UNIX

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 Mise á Jour..........................................................131


Utilisation de pmaj en tant qu'éditeur.............................................................131
Utilisation de pmaj comme processeur de mise it jour...................................140

Le processeur de sortie....................................................................143
Liste des commandes du processeur de sortie..............................................144

Les codes de traitements..................................................................157


Utilisation des codes de traitements..............................................................157
Détails des codes de traitements...................................................................159

L’environnement d' Advanced Pick, dm........................................177


files.................................................................................................................178
mds................................................................................................................ 180
messages.......................................................................................................181
pibs.................................................................................................................181
jobs.................................................................................................................183
tcl-stack..........................................................................................................183
devices...........................................................................................................183
accounts.........................................................................................................184
users...............................................................................................................184
errors..............................................................................................................185
bp................................................................................................................... 186
block-convert..................................................................................................187
funckeys.........................................................................................................187
keyboards.......................................................................................................187
newmd............................................................................................................187
psym...............................................................................................................187
abs.................................................................................................................. 187

Le Systéme d'organisation des Fichiers..........................................189


Structure logique des fichiers.........................................................................190
Commandes 'tel' de manipulation de fichiers.................................................198
Sélection des modules...................................................................................204
Réallocation des fichiers................................................................................205

La gestión des index.........................................................................207


Commandes TCL de gestión des index.........................................................208
Utilisation des index depuis Pick/Basic..........................................................211

Les Taches Fantómes.......................................................................215


Qu'est ce qu'une táche fantóme ?..................................................................215
Quelles sont les applications possibles ?.......................................................218
Structure du fichier jobs..................................................................................219

Sauvegardes & Restaurations.........................................................221


Sauvegardes et restaurations de fichiers.......................................................222
Sauvegardes et restaurations de maftres dictionnaires.................................223
Sauvegarde générale.....................................................................................225
Restauration générale....................................................................................226
Sauvegarde incrémentale..............................................................................226
Restauration de bandes incrémentales..........................................................227
La commande sauver (save)..........................................................................227
Sauvegarde des transactions. Type «transaction log»..................................230
Restaurations sélectives................................................................................232
Vérification des sauvegardes.........................................................................234
Licences Pick Systems......................................................................235
Licences «Pick Like*.......................................................................................236

Terminologie Pick - Américain/Frangais.......................................237

Terminologie Pick - Frangais/Américain.......................................240

Index..................................................................................................243
A.PICK / UNIX

Reíais Informatique International..................................................252


L'édition..........................................................................................................252
Le progiciel Liber............................................................................................252
25 années d’histoire.

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.

En décembre 1964, TWR demande á Don Nelson de concevoir un langage naturel


d’interrogation, de créer un modéle de données et parla méme occasion, un systéme
multi-utilisateurs et multi-táches.

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.

Ensemble, ils ont con^u le modéle de données et créé la philosophic compléte du


systéme, basée sur le concept d’un ordinateur virtud.

Ce concept a donné naissance á l’assembleur virtud qui permet au systéme d’étre


indépendant du matériel sur lequel il est implanté. Cela assure un portage
systémesurtouttyped’architecturematéridle,en un temps record,enminimisant la
réécriture.

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.

L’étape suivante a été l’implémentation du pré-processeur du langage d’interrogation,


capable de comprendre et de trailer des phrases dont la syntaxe et le contenu sont
proches du langage naturel. Cette étape a été achevée dans le courant de l’année
1965.

A partir de ce stade du développement, le projet a été intégré dans un ensemble plus


ambitieux, qui était de foumir un environnement complet de gestión pour le projet de
l’hélicoptére “Cheyenne”. TWR a décroché le contrat avec Lookeed.

Au début de 1969, le systéme d’exploitation found á l’armée américaine, supportait une


base de données complexe de plus de 400 fichiers inter-corrélés

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

En 1972, le systéme fonctionne sur matériel MICRODATA.


La version implantée supporte les spécifications demandées par Tarmée américaine ainsi que
de nombreuses améliorations.

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.

1973 marque la premiére installation commerciale pour la société “Contempo Casuals”, la


seconde pour la “Banque de Guam” et la troisiéme pour la société “ADP”.

Microdata, sous I’influence de John Keogh, baptise le systéme “Reality” et le commercialise á


partir de 1974. Un réseau de distribution est alors créé.

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.

Richard Pick est aujourd’hui, á 50 ans, un des géants de I’industrie américaine.

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é.

n continue encore á paiticiper activement á l’évolution de son systéme en apportant une


multitude d’idées, et en présence d’un probléme délicat, il n’hésite pas á statuer sur tel
ou tel point technique.

J’ai eu 1’occasion de le rencontrer et de travailler plusieurs fois avec lui. Techniquement


il est clair, net, précis et rapide.

n continue a étre aujourd’hui le technicien génial qui ne s’arrétera jamais de travailler, et


chaqué jour, inlassablement, il apporte sa pierre á l’édifice qui est 1’oeuvre de sa vie: le
systéme Pick.
A.PICK / UNIX

Qu’est ce que le systéme Pick ?

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.

Les raisons de son succés.

• 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.

• Ce systéme d’exploitation est disponible sur une large plate-forme de machines, de un á


plusieurs centaines d’utilisateurs.

• 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

Pick est un systéme orienté gestión.


n se caractérise par:

• Mécanisme de mémoire virtuelie.

• Base de données relationnelle intégrée.

• Langage d’accés á cette base, simple, puissant, orienté utilisateurs.

• Organisation dynamique des fichiers, gérés totalement en longueurs variables et


s’appuyant sur une structure hiérarchisée de dictionnaires.

• Gestión multi-utilisateurs, gérés en temps partagé.

• Instructions de manipulation des données de la base, directement depuis les langages


de programmations.

• 4 niveaux de sécurité d’accés aux informations.

• Gestión automatique des index multiples.

• Taille illimitée des articles et des fichiers.

• Gestión des impressions.

etc...

La lecture de cet ouvrage vous permettra de mieux comprendre ce qu’est le systéme


Pick.

Pick et les SGBD.

Qu’est qu’un SGBD?


Le terme de “Base de données” désigne de fa^on générale “tout ensemble de données
structuré, capable de satisfaire aux besoins actuéis et potentiels de ses utilisateurs”. Il s’agit
lá d’une notion relativement peu précise, qui n’implique aucune technologic particuliére.

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.

Les principaux SGBD.


Les tous premiers SGBD: IDS (HONEYWELL), DL/I (IBM), UL/I (RCA), etc., ont fait leur
apparition á la fin des années soixante, et sont done á peu prés contemporains de Pick.
Par la suite, en l’absence de toute normalisation, de nombreux autres produits ontvu le
jour. SOCRATES (CU), ADABAS (Software AG), INGRES (INGRES Inc.), etc..., basés
sur des principes trés différents les uns des autres et proposant aux utilisateurs les

1
7
A.PICK / UNIX

interfaces les plus variées.


Plus tard, vers le milieu des années soixante-dix et le début des années quatre- vingt,
deux grandes tendances se sont dégagées: les systómes “navigationnels” et les
systémes “relationnels”, conduisant i deux “standards” reconnus: le systéme CODASYL:
IDS II (HONEYWELL) , DMS 1100 (UNIVAC), ... d’une part et le langage SQL: SQL/DS
(IBM), ORACLE (ORACLE Corp.),... d’autre part.

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 données élémentaires: “DATA ITEMs”, pouvant se regrouper en “DATA AGGREGATES”,


de la méme fa$on que les données élémentaires du COBOL peuvent se regrouper en structures
plus complexes. Ainsi, le nom d’un client sera un DATA ITEM, son adresse, comportant le nom
de la rue, le numéro, la ville et le code postal sera un DATA AGGREGATE comportant quatre
DATA ITEMS.

• 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:

• les “AREAs” pouvant regrouper un nombre quelconque de RECORDS de méme type


ou de types différents. Un AREA correspond généralement á un fichier, au sens du
systéme d’exploitation de la machine utilisée.
Pour qu’un programme puisse effectuer un traitement sur une base de données, il faut
A.PICK / UNIX

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.

L’intérét majeur de ce systéme est certainement sa disponibilité sur un grand nombre de


machines (BULL, IBM, DEC, UNIVAC, DATA GENERAL, ICL, etc...). Malheureusement,
la compatibilité entre les différentes versions n’est pas parfaite et le transpon d’une
application d’une machine á une autre en souffre. La publication de plusieurs révisions
successives des spécifications CODASYL n’est probablement pas étrangére á cene
difficulté.

Une seconde difficulté est l’absence de langage de requéte, la commission CODASYL


ne s’étant préoccupée que de l’accés par les langages évolués, COBOL tout d’abord,
FORTRAN ensuite (1980). Plusieurs constructeurs ont pallié cette difficulté en ciéant
leur propres langages de requéte, hélas incompatibles entre eux.

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

NO_CLIENT NOM ADRESSE CA

12650 DUBOIS RENNES 60000


15780 MARTIN LYON 5000
13450 DUVAL LILLE 25000
PICK ET LES SGBD

• 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

NO_CLIENT NOM NO_FACTUR NO_CLIENT


E
12650 DUBOIS X 631890 13450
13450 DUVAL 633 178 12650
25780 MARTIN 650345 12650
foumit:

NO_CLIENT NOM NO_FACTURE


12650 DUBOIS 633 178
12650 DUBOIS 650345
13450 DUVAL 631890

• 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

A ces opérateurs “relationnels” s’ajoutent les opérateurs “ensemblistes” tradi- tionnels:


1’union et I’intersection.
Gráce á ces opérateurs, tout traitement de la base de données peut théoriquement
s’exprimer sous forme d’une expression algébrique. De plus, les caractéristi- ques d
’associativité et de distributivité des opérateurs pennettent de transformer ces
expressions de fa^on á en optimiser l’exécution.
Malheureusement, I’utilisation directe de cette algébre sous sa forme mathé- matique
est trap abstraite pour étre confiée á tout utilisateur de la base de données. C’est
pourquoi IBM a créé un langage de requéte: SQL, proche de Tangíais courant, mais
conservan! les possibilités de Talgébre rclationnelle.

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:

CREATE TABLE CLIENT ( NO_CLIENT INTEGER NOT NULL


NOM CHAR(25)
ADRESSE VARCHAR(60)
CA DECIMAL(10,0)
)
permet de créer la table des clients décrite auparavant. De méme:

CREATE TABLE FACTURE (NO_FACTURE NO_CLIENT MONTANT


INTEGER NOT NULL
INTEGER DECIMAL(8,2)
permet de créer la table des factures.

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:

SELECT NO_CLIENT, NOM, CA


FROM CLIENT
WHERE CA> 10000

est la nouvelle table:

NO_CLIENT NOM CA
12650 DUBOIS 60000
13450 DUVAL 25000

L’ordre SELECT permet de combiner plusieurs tables. Ainsi:

SELECT NOM, NO_FACTURE, MONTANT*1.186


FROM CLIENT, FACTURE
WHERE CLIENT.NO_CLIENT = FACTURE.NO_CLIENT
AND MONTANT >= 500
ORDER NOM, NO_FACTURE

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:

NOM NO_FACTURE MONTANT*!.186


DUBOIS 633 178 1 890,50
DUBOIS 650 345 8 945,78
DUVAL 631 890 25674,45

oü NOM provient de la table CLIENT, NO_FACTURE de la table FACTURE et la demiére


colonne est le montantTTC de la facture, calculé par une opération arithmétique á partir du
montant HT de la table FACTURE.
Les lignes sont triées par ordre croissant des NOM puis des NO_FACTURE.

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,

SELECT NO_CLIENT, NOM


FROM CLIENT
WHERE NO_CLIENT IN
( SELECT NO_CLIENT FROM
FACTURE WHERE MONTANT
>= 1000
)

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

L’approche SGBD de Pick.


Dans la tits grande majorité des systémes “traditionnels”, les fonctions de systóme d’exploitation
sont nettement séparées des fonctions de gestión de bases de données. Le SGBD est
considéré comme un “sous-systóme”, qui utilise les primitives mises á sa disposition par le
systdme d’exploitation. Cette séparation peut étre considérée comme un avantage, dans la
mesure oü un meme systdme d’exploitation peut supporter plusieurs SGBD correspondant á des
besoins différents. En revanche, l’utilisateur doit employer deux interfaces séparées:

• 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...

Outre la simplicité d’emploi, cette approche a des avantages techniques:

• 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.

Les fonctions SGBD fournies par Pick.

Un SGBD est un logiciel remplissant 1 ’ensemble de fonctions, détaillé au début de ce chapitre.


II est intéressant d’analyser la fa^on dont chacune de ces fonctions est réalisée par Pick.
A.PICK / UNIX

La structuration des donné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 contient la description de chaqué attribut, constituée de:


• son nom.
• ses caractéristiques extemes Gongueur, justification, format,...), qui sont utilisées
parle langage de requéte lors d ’une édition. Aucune caractéristique interne n’est
nécessaire, car toute information, numérique ou non, est considérée comme une
chatne de caractéres de longueur variable.

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.

L’accés aux données.

L’accés aux données peut se faire de trois maniéres différentes:


• par une requéte en langage ACCESS,
• par un programme écrit en Pick/Basic,
• ou par un “processeur” spécialisé.

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 possibilités de ce langage sont importantes.


Toutefois, sa principale limitation est la difficulté á extraire des informations provenant de
plusieurs fichiers, en raison du manque de possibilités de représenter les relations entre ceux-
ci, déjá évoqué précédemment.

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).

Le principal intérét de cette approche est certainement l’homogénéité du langage et sa


facilité d’emploi, qualités que les SGBD utilisant un pré- processeur obtiennent
difficilement.

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.

Sous le terme de “processeurs”, le systéme Pick foumit un ensemble de programmes


utilitaires. Certains d’entre eux permettent de manipuler des fichiers: Téditeur ED ou la
commande COPIER, par exemple.

La version Advanced Pick inclut un nouveau processeur, F’UPDATE PROCESSOR”, qui


permet á un non-informaticien de mettre á jour les données de la base. Ce processeur
offire deux fonctíons:

• 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”.

Ce processeur n’évite pas le développement d’applications en Pick/Basic, mais donne i


l’utílisateur non-informaticien un degré de liberté nouveau, rarement offert par les autres
SGBD.

La confidentialité des données.


Dans les versions précédentes du systéme Pick, l’accés aux informations se faisait
uniquement á travers un “compte”. Un compte est, par essence, un ensemble de fichiers,
comprenant leur dictionnaire, réunis par un répertoire, le “maftre-dictionnaire”. Get ensemble
est identifié par un nom, ou “numéro de compte” et protégé parun mot de passe. Afín d’éviter
une duplication, un méme fichier peut étre partagé par plusieurs comptes. Un nombre

2
8
PICK ET LES SGBD

quelconque d’uti- lisateurs peut accéder simultanément au méme compte.


Dans ces versions, les utilisateurs n’étaient done pas connus en tant que tels. La version
“Advanced Pick” a modifié cette situation, en séparantles deux notions de "compte” et
d’“utilisateur”. Désormais, l’utilisateurvoulant se connecter au systéme doit indiquer son nom et
son mot de passe, avant d’accéder au compte de son choix.
Un fichier Pick, quelle que soil la version du systóme, peut étre protégé par deux mots de
passe: l’un étant utilisé en lecture, l’autre en mise i jour. Dans les version précédentes du
systóme Pick, les notions de compte et d ’utilisateur étant confondues, la liste des mots de
passe était placée dans la définition du compte elle-méme. La version “Advanced Pick” a
corrigé ce défaut en associant ces mots de passe au nom de I’utilisateur.
La confusion existant dans les versions précédentes, entre groupes de fichiers (comptes)
etutilisateurs, conduisait, en pratique, ágérerdes groupes d’utilisateurs correspondant chacun á
un compte, afin d’éviter la multiplication des maitres- dictionnaires. Cette contrainte a done
dispara avec “Advanced Pick”.

L’intégrité des données.


L’intégrité des données dans un systóme de gestión de bases de données, revét deux aspects
différents:
• le maintien de la cohérence des données quels que soient les événements,
• la reconstruction de la base, en cas de destraction accidentelle.
Pour assurer le maintien de la cohérence des données, les SGBD utilisent habituellementle
principe d’“atomicité des transactions”: ils garantissentqu’un traitement (“transaction”)
s’exécute totalement ou ne s’exécute pas du tout. Pour cela, lorsqu ’en raisond’un incident
quelconque, un traitementne s’exécute que partiellement, le SGBD supprime automatiquement
tous les effets que ce traitement partid peut avoir provoqué sur la base de données. Ceci
suppose que le SGBD sache reconnaftre les “fins de transaction”, ce qui est obtenu par
l’émission de points de synchronisation, soit automatiquement (fin d’une requéte, par
exemple), soit par le programme.
Malheureusement, le systóme Pick ne foumit aucun outil permettant de garantir
Fatomicité des traitements. Par exemple, supposons que chaqué article du fichier
CLIENT précédent comporte un attribut contenant tous les numéros de facture qui lui
sort relatifs. Ceci est fort utile, puisqu’ainsi la relation existant entre CLIENT et
FACTURE peut étre exploitée dans les deux sens. La création d’une facture suppose
alors:
• la création d’un article du fichier FACTURE,
• la mise á jour d’un article du fichier CLIENT.
Si le traitement s’arrete entre ces deux opérations, la base de données reste dans un
état intermédiaire, incohérent. Seúl le programme d’application peutfoumir une solution,
permettant d’éviter cette situation. Plusieurs techniques sont possibles, mais nous
laisserons au lecteur le soin de trouver la meilleure, en fonction des critéres de

2
9
A.PICK / UNIX

performance et de facilité d ’utilisation qu’il juge les plus importants.


Les SGBD foumissent généralement les outils permettant de reconstituer une base de
données détruite accidentellement. Pour cela:
• un utilitaire permet de recopier périodiquement les bases de données sur un autre
support (bande magnétique, cartouche,...),
• toutes les modifications effectuées sont enregistrées séquentiellement dans un
fichier (“journalisation”).
Les versions précédentes du systéme Pickcomportaient déjá des possibilités de
sauvegarde et de restauration de fichiers. Les copies de fichiers, dans un sens comme
dans l’autre pouvaient se faire, soil individuellement, soit regroupées par compte.
La version “Pick Open-Architecture” a apporté deux innovations importantes:
• la “sauvegarde incrémentale”. Elle permet de ne recopier sur le support
magnétique que les seuls articles d’un fichier qui ont été modifiés depuis la
demiére sauvegarde totale de ce fichier.
• la “journalisation” des mises ájour. Lorsque le descripteur d’un fichier indique que
celui-ci doit étre joumalisé, toute modification que ce fichier subit est enregistrée,
soit sur bande ou cartouche magnétique, soit sur disque. En cas de destruction
accidentelle, il sera possible de reconstruire ce fichier en le restaurant á partir de la
demiére sauvegarde globale
effectuée.puisendemandantausystémed’appliquertouteslesmodifications qui ont été
joumalisées.

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 premtére appelée “R83” ou “Pick Qassique”, est la plus répanduc.

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.

Le systéme Pick R83.


Comme nous le disions précédemment, c’estla version du systéme qui estlaplus répandue. Elle
est toujours commercialisée par Pick Systems, mais avec les récenles annonces sur Advanced
Pick, il est fort probable qu’á moyen terme cette version ne soit plus maintenue. C’est un choix
légitime compte tenu des améliorations apportées.

Les processeurs du systéme sont les suivants:

• Gcsuon de la mémoire virtuelie,


• Gestión de temps partagé,
• Base de données relationnelle intégrée,
• Langage d’interrogation “ACCESS”,
• Langage de commande du terminal “TCL”,
• Editeur ligne á ligne,
• Langage procédural, “PROC”,
• Langage de programmation Pick/Basic,
• Gestión des impressions, le Spooler,
• Traitement de documents, publipostages avec “Runoff’.

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

Open Architecture représente une évolution considérable au niveau du systéme, tout en


assurant une parfaite compatibilité avec la version R83. OA reprend done tous les
processeurs décrits précédemment pour la version R83.

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.

OA apporte des améliorations importantes quant á la structure des fielders.


La gestión automatique des index est ajoutée.
Les différents processeurs n’ont pas subi de modifications fondamentales, mais ils ont
été nettoyés et améliorés.

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.

• Zones de travail flottantes. Le systéme alloue automatiquement les pages de 1’espace


de travail de maniére dynamique, en fonction des besoins de chaqué utilisateur.

• Reorganisation de la zone absolue, qui n’est plus de taille fixe avec des points
d’entrée, mais qui est chaínée.

• Amélioration et réécriture d’une partie de I’assembleur virtuel et de I’assem- bleur du


moniteur. L’assembleur Open Architecture n’est plus identique á celui utilisé pour la
version R83.

3
3
A.PICK / UNIX

• Restructuration de 1’ensemble des modes (programmes assembleur) qui constituent


le systéme d’exploitation. Cela a été rendu nécessaire par la réorganisation de la
section absolue.

• Blocage des enregistrements au niveau de I’article et non plus au niveau du groupe.

• Nouvelle organisation des données sur 1’espace disque.

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.

Nouveautés d’AP par rapport á Open Architecture.

• 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.

• Processeurde sortie etde traitementdesdocuments. C’estl’ancétre “Runoff” en version “new-


look”. Permet un traitement puissant des documents.
Runoff, par centre, n’existe plus, mais il est simple d’adapter les anciens traitements Runoff
au processeur de sortie..

• 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.

• Codes de traitement, permettant de manipuler les informations de la base de données sans


programmation Pick/Basic ou avec une programmation trés limitée.

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.

Toutes les commandes TCL peuvent étre saisies indifféremment en majuscules et


minuscules, n en est de méme pour les programmes Basic.

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.

Le double logon permet de distinguer les utilisateurs et les comptes. Un utilisateur ne


peut se connecter dans un compte que s’il est connu du fichierusers défini dans le
compte dm.

Example Votre nom d'utilisateur: patrick Maitre-dictionnaire: com pt a

Nouveau caractére de sollicitation.


Le caractdre (:) remplace le signe supérieur (>) au niveau de TCL.

Pile des commandes tcl.


Une pile des commandes est disponible si l’utilisateur le désire. Elle permet de
sauvegarder chaqué phrase saisie au niveau tcl. Une fois la commande validée, elle
est stockée au début de la pile, les commandes déjá présenles étant déplacées vers le
bas. Chaqué commande peut étre rappelée, puis modifiée avant d’étre exécutée.

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 pouvezcontinuerl’exécution du processus du niveau piécédent,simplement en


validant par <entrée>, vous retoumez alors á la position exacte du contexte que vous
avez quiné lots de 1’appel du niveau.

Vous pouvez interrompre le processus du niveau en cours en tapant arret (end).

Vous pouvez appeler le debugger du niveau précédent en tapara bogger (debug).

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.

Sauvegarde des transactions.


Le processeur de sauvegarde des transactions est utilisé pour Stocker en temps réel,
sur bande magnétique, les modifications qui interviennent sur un fichier.

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.

En utilisant les possibilités conjointes du processeur de mise-á-jour, des données


peuvent étre extraites directement depuis les fichiers constituant la base de données,
puis incorporées et formatées dans le texte d’un document sans manipulations
particuliéres.

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.

Deux modes de macro-instructions sont disponibles: le mode stop et le mode non-stop.


En mode stop, la phrase tel appelée est affichée sur l’écran et le sysféme attend une
validation, n est possible alors de modifier la phrase avant de l’exécuter.
En mode non-stop, la phrase tcl est exécutée immédiatement et n’est pas affichée.

Exemple de macro instruction de type non-stop

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.

Format d’un menu dans le maitre dictionnaire.

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.

La syntaxe du chemin est la suivante: {diet} compte,flchler,

Exemples lister diet compta,foumisseurs, (p trier compta,clients, par nom soldé (p

Cette nouvelle fonctionnalité réduit de maniére considérable le nombre de poirteurs.


Rassurez-vous, les vieux poirteurs Q sort tout de méme supportés.

Articles de définition de fichiers.

L’option “d” supporte deux nouvelles options:

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.

Sur certaines implantations, l’option S n’est pas valide.

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

Code de masque de séquence.


Le code MS a été ajouté pour 6tre utilisé dans une corrélation de définition d’attribut.

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:

dupliquer Utilisée comme critére de sélection, dupliquer sélectionne les articles


(duplicate) ayant des clés d’index dupliquées.

supp-msg Utilisée comme modificateur d’impression, supp-msg supprime á la fin


(ni-supp) d’un rapport le message qui indique le nombre d’articles traités.

echantillon Utilisée comme modificateur, echantillon permet


(sampling) la sélection d ’un échantillon d’articles. Le traitement sera appliqué á
l’échantillon et non á la totalité du fichier.

en-téte et en-pied possédent de nouvelles options •

“Anom.d”attribut’ Insére la valeur de I’attribut.


««JM Justification á droite du texte depuis la position de “J” jusqu’á la
fin de la ligne.
“R” “S” "U” Affiche le numéro de la page en chiffres remains.
“y” “X” Activation du mode italique.
“XS” Activation du mode souligné.
Activation du mode caractéres gras.
Désactive tous les modes spéciaux d’impression.
Désactive le mode italique.

4
2
NOUVELLES FONCTIONNALFTÉS D'ADVANCED PLCK

“XU” Désactive le mode souligné.


“XV” Désactive le mode gras.

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.

Trace des erreurs systéme.


Toutes les erreurs systéme du type «forward link zéro», «backward link zéro»,
«crossing frame limit etc...» sont stockées dans le fichier errors.

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.

Liste d’attributs par défaut.


Les articles de définition de fichiers peuvent contenir une liste de noms d’attributs
utilisée lors d’une sortie, lorsque le fichier est listé ou trié sans pour autant indiquer de
spécification de sortie. La liste de noms d’attributs est placée dans l’attribut 15 du
fichier pointeur. DICT et DATA peuvent avoir leur propre liste.

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.

Parexemple, si Particle de définition de l’attribut 4 n’existe pas, une phrase du type


«lister inventaire a4» génére la création d’un article de définition tempo- raire qui pointe
sur l’attribut 4. La vie de cet article de définition se limite au traitement en cours et
aucune nouvelle définition d’attribut n’est créée.

Option compresse (fill) pour les verbes lister et trier.


Si le fomat de la sortie ne peut pas se présenter sous la forme de colorines, cette

4
3
A.PICK / UNIX

option génére une sortie en formant un format compressé.

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)

Génére un listing formaté d’un programme basic.


lister-basic (b/list)

appel-bogger (brk- Permet I’appel d’un niveau d’exécution lorsque Ton appuie
debug) sur la touche <pause>.

verifier-dx (check- Génére un rapport de tous les fichiers ayant un d/code


dx) égal á DX dans le systéme.

compiler-minus Synonyme de basic, compiler-minus est «case


(compile) insensitive». C’est á dire que Ton ne fait pas la différence
entre les majuscules et les minuscules.

compiler-cataloguer Activé par <ctrl-x-c> depuis le processeur de mise-á-jour


(compile-catalog) pour compiler, puis cataloguer un programme basic.

compiler-executer Activé par <ctrl-x-i> depuis le processeur de mise-á- jour


(compile-run) pour compiler, puis exécuter un programme basic.

convertir (conv- Conversion majuscules/minuscules et réciproquement.


case)

creer-abs (create- Création d’une zone abs exécutable.


abs)

creer-index Utilisé pour créer un index.


(create-index)

creer-macro Crée une macro-instruction de la demiére commande tcl


(create-macro) validée.

bogger (debug) Appel du debugger systéme.

effacer-index Supprime un index.


(delete-index)

Exécution des diagnostiques intemes du systéme.


diagnostic (diag)
A.PICK / UNIX

arret (end) Utilisé pour revenir au niveau d’exécution précédent.

esc-donnee (esc- Permet de spécifier que la touche doit étre considérée


data) comme une donnée lorsqu’elle est pressée.

Réalloueles fichiers depuis les informations statistiques


reallouer (f-resize)
contenues dans le fichier files.

Géndre une liste résultante d’une intersection, d’une union


creer-Iiste (fl)
ou d’une exclusion de deux listes.

al Active une liste d’éléments depuis un fichier spécifié et un


(gl) nom d’article spécifié.

lister-travaux (list- Liste les travaux soumis au processeur de táches fantómes.


jobs)

renommer-fichier Permet de changer le nom d’un fichier.


(rename-file)

si Sauvegarde une liste dans un fichier spécifié, avec un


(si) nom de liste donné.

init-log (startlog) Démarre le processeur de transaction log.

init-fantome Démarre le scheduler fantóme.


(startsched)

Arréte le processeur de transaction log.


arret-log (stoplog)

arret-fantome Désactive le scheduler fantóme.


(stopsched)

tel (tel) Exécute une commande tcl sur un autre terminal.

xonoff (xonofl) Active ou désactive la gestión du xon/xoff.

Lancement d’une táche fantóme.


fantome (z) etc...

4
6
NOUVELLES FONCTIONNALITÉS D’ADVANCED PICK

Nouvelles fonctionnalités Pick/Basic.

Taille des chaines de caracteres.


Désonnais, la taille des chaines de caracteres Pick/basic est illimitée.

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.

assigned Détennine si une variable a déjá été assignée.

convert Permet la conversion d ’un caractére en un autre dans une chafne de


caractóres.

exit Permet de sortir d ’une boucle for/next ou loop.

file Cette instruction ouvre le fichier spécifié, dimensionne un tableau


avec le nom du fichier et assigne le nom du fichier au nom interne de fichier
par défaut et á une variable de la forme FV.nomdefichier.

fold Cette instruction permet d’insérer un délimiteur spécifique dans une chafne de
caractéres á un endroit donné.

key Cette instructionpennet d’accéder aux articles parles clés d’index.

occurs Fonction retoumant une chafne de caractéres qui apparaft un certain nombre de
fois dans une chafne préalablement triée.

root Retoume 1 ’adresse FID d ’un index.


A.PICK / UNIX

sort Tri d’une chaíne de caracteres.

soundex Retoume un code en fonction d’un algorithme de phonémes.

tclread Lit la demtere commande tel.

Codes de contróle de caractéres.


Les codes de contróle de caracteres de la fonction @ ont été étendus de 10 á 36. Les
positions de -37 á -127 ont été réservées pour les extensions futures.

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

Differences par rapport á la version R83.


Yerbes non supportés.

:DEL
:SETF.MD
:SETF
Le processeur batch B/ADD et B/DEL
INTER
LINK-WS
PRIO
SLICE

Format général des verbes.

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.

Environnement. (AP seulement).

Lecompte SYSPROG n’existe plus. H a été rebapti sé dm, pour data management.

Les noms de certains fichiere ont été modifiés.

SYSTEM devient mds


ERRMSG devient messag
STAT-FILE devient es files
NEWAC devient newmd
CURSOR devient devices
POINTER-FILE devient t

Processeur de sauvegarde.

Iln’cstplus nécessaire de spécifierl’option Dpour avoir lesdonnées sauvegardées.

4
9
APICK / UNIX

Le fichier des listes POINTER-FILE (t).

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.

Verrous d’articles en basic.


matreadu, readu, readvu, release et writeu utilisent maintenant des verrous d’articles
et non des verrous de groupe.

Paramétre de separation de fichiers.


Le paramétre de séparation de fichiers est désormais égal á 1. De plus, il n’est pas
nécessaire de le spécifier lora de la création du 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

Ce chapitre décrit quels sontles concepts de 1 ’implémentation d’ Advanced Pick sur le


systóme UNIX, ainsi que les principales commandes utilisées.

Cesnouvelles versions, appelées AP/UNIX, sont aujourd’hui disponibles surles plate-


formes AT&T 3B2, AT&T 6386, Data General DG/UX, SCO UNIX 386/ 486 et IBM
RS/6000. Elles constituent te fer de lance de Pick Systems pour tes prochaines années.

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...

Elle apporte également á UNIX un environnement complétement intégré vu comme une


seule entité, comprenant: un gestionnaire de base de données trés performant, une base
applicative importante, un environnement de dévelop- pement rapide et efficace
(processeur de mise á jour, Pick/Basic etc...) et assure une compatibilité des applications
au travers des systémes micro, mini et mainframes. Pick peimet de conserver
l’investissement logiciel souvent lourd pour une entreprise.

AP/UNIX,en s’appuyantsurtenoyau d’UNIX, s’implémenteplus facilementsur de nouveaux


matériels, d’oü un coút financier beaucoup plus faible.

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.

AP/UNIX donne enfin aux utilisateurs et aux développeurs un ensemble de fonctionnalités


trés intéressantes, provenant des deux systémes d’exploitation. Pick et UNIX ne sont plus
rivaux mais complémentaires. De telles fonctionnalités relevaient, il y a encore quelques
années, du domaine de l’utopie. Aujourd’hui, c’est une réalité.

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.

• AP/UNIXutilise le code objetde l’assembleur real de Pick. II ne s’agitpas d’une


émulation du systéme écrit en “c”.
• AP/UNIX est un Pick standard, confonne aux nomes SMA et maintenu direc- tement
par Pick Systems.
• Pas de limitation de l’espace disque.
• Configuration systóme simple (mémoire, voies, bandes, disques).
• Plusieurs machines virtuelles peuvent résider sur la méme configuration matérielle.
• Développements possibles en assembleur real Pick.

Performance.

• Un processus Pick est un processus UNIX.


• Allocation dynamique des ressources en fonction de ractivité des deux systómes.

Intégration des deux systémes d’exploitation.

• Accés au shell depuis TCL.


• Appel de fonctions “C’ depuis Pick/Basic. Cela permet d’accéder au systóme de
fichiers UNIX depuis Pick/Basic (en prévision).
• tcl/access depuis le shell.
• Accés au systéme de fichiers Pick depuis “C” (en prévision).

Facilité de portage.

• Tout systéme V.3 ou plus récent.

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.

• Distinct de Tadministration UNIX


(gestión plus simple pour les non spécialistes).
• Sauvegardes et restaurations au format Pick.
• Sauvegardes compatibles avec les systémes Pick qui ne sont pas basés sur UNIX.
• Utilisation des outils d’UNIX pour mieux gérer le systéme.

Implémentation SCO UNIX system V/386.

• Accés aux fichiers DOS depuis Pick/Basic.


•Utilitairemultí-écranspermettantd’obtenirplusieursprocessus UNIXet/ou Pick sur le
terminal.

Principe technique général.


L’élément fondamental de Fimplémentation repose sur le concept d’une machine
virtuelie possédant ses propres ressources, c’est a dire: disques, mémoire centrale,
unités périphériques, obtenues directement depuis UNIX.

Plusieurs machines virtuelles AP/UNIX peuvent coexister sur le méme systéme


physique.

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.

Exemple de définition de machine virtuelie AP/UNIX:

#Définition de la machine virtuelle name PICKO core 4096 19 npibs 17 nphts 8


#
# Définition des caractéres spéciaux escchr1c brkchr 00

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

La mémoire virtuelie est obtenue depuis UNIX comme un segment de mémoire


partagée. Tous les processus de Pick accédent á ce méme segment, et les protections
contre les conflits sont gérées par le systéme de sémaphores d’UNIX. L’utilisation
principale de cette mémoire est de supporter la mémoire virtuelle du systéme Pick. La
mémoire virtuelle est divisée en tampons de 1 Ko.

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.

Selon Pick Systems, dans un document diffusé au salon PC/FORUM de Paris en


février dernier, on peut lire que la coexistence des deux systémes peut mettre en
oeuvre un conflit potentiel entre les mécanismes d’écriture de la mémoire virtuelle Pick
et UNIX et le mécanisme de pagination de la mémoire. Par exemple, lorsque le
mécanisme d’écriture de la mémoire Pick décide d’écrire une page que le mécanisme
de pagination a décidé d’enlever de la mémoire physique... Souhaitons que cette
information soit aujourd’hui obsolete.

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 touches <échappement> et <pause> permettant d’appeler un niveau d’exécution


peuvent étre redéfinies avec n’importe quel caractére, ce qui est indispensable pour
étre utilisé au travers d’un réseau de communication.

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.

La version préliminaire impose quelques limitations en ce qui conceme la frappe


anticipéedescaractéres. C’estádirequ’il est impossible de la supprimer
IMPLÉMENTATION ADVANCED PICK - UNIX

totalement. De plus la fonction Pick/Basic system(14) renvoie un nombre ap- proximatif


de caractéres. Cela est dü au fait que le systéme UNIX ne permet pas d’accéder
comptétement aux tampons d’entrée.
Souhaitons que ce probléme soit corrigé rapidement.

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.

Le format logique de la bande est le format Pick standard, merci Pick!

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.

Cette nouvelle implémentation permet d’effectuer des sauvegardes et des restaurations


binaires depuis UNIX.

Imprimantes.

Elles peuvent étre gérées de deux maniéres:

• Directement depuis Pick.

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.

• Indirectement au travers du Spooler d UNIX.

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).

L’implémentation Advanced Pick/UNIX seo utilise les signaux pour:


• les touches <échappement> et <pause>,
• les messages Pick,
• déconnexion Pick (logoff).

Tous les signaux d’erreurs en provenance du matériel générent un abandon de la


machine virtuelle avec le message «illegal opcode».

La commande UNIX “kill -L <processus>” génére une déconnexion Pick (logoff).

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...).

La commande “kill”, tue le processus de la machine virtuelle et le retoume au shell,


sans léinitialiser le terminal, “kill” peut générer des erreurs de format groupe et mettre
le terminal dans un état bloqué.
Ces deux commandes ne doivent en aucun cas étre utilisées lors d’une exploitation
nórmale, sous peine d’engendrer de graves perturbations.

Notons que la commande UNIX “shutdown” envoie une commande “terminate” á


chaqué processus actif du systéme. Attention done á son utilisation.

Installation du systéme AP/UNIX sur systéme SCO.


Nous ne donnerons ici que le principe général de ¡’installation. Une installation réelle
met en oeuvre beaucoup de paramares et nécessite les manuels “guide d'installation’,
“guide de l'utilisateur’ et le manuel de référence d’AP/UNIX.

5
8
IMPLÉMENTATION ADVANCED PICK - UNIX

Avant de commencer toute installation, il faut effectuer une sauvegarde de sécurité du


systóme UNIX si celui-ci est déjá chargé sur la machine.

Les différentes étapes sont les suivantes:

• Préparer la configuration de la machine virtuelle.


• Charger le moniteur Pick.
• Créer le fichier de configuration de la machine Pick.

Préparation de la configuration.

Nom de la machine virtuelle.


fi fautdonner unnom beetle machine virtuelle. Pardéfaut, il s’agitde “pickO”, mais il peut
étre modifié.

Taille de la mémoire virtuelle.


Si Pick est le seul systéme d’exploitation de la machine, la taille de la mémoire doit étre
égale á la taille de la mémoire physique moins 1,5 Mo.
Si plus d’une application doit fonctionner en méme temps que Pick, il faut soustraire le
montant total de la mémoire qu’elles nécessitent La taille de la mémoire ne doit pas
étre inférieure á 512 Ko.
La formule suivante permet de calculer au plus juste, la taille de mémoire á allouer á
Pick pour obtenir les meilleures performances, lorsque tous les utilisateurs exécutcnt la
méme application.

memp = memr - unix.ker (pick.util * 64) -128 - unix.nec

memp Est la taille maximale á allouer á la machine virtuelle Pick en Ko.


memp ne doit jamais étre inférieure á 48 Ko par utilisateur.

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.

128 Est la taille du moniteur AP/UNIX, résidant en mémoire centrale.

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 ?

25 * 48 = memr -1536 - (25 * 64) -128


soil memr = 4464 Ko

Cié de la machine virtuelle.


S’il n’y a qu’une machine virtuelle surle systéme, laclé pardéfautest 10. Dans
lecascontraire.utiliserlesvaleurssuivant 10, c’est á dire 11,12,13etc..pour chaqué
machine virtuelle.

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

[Mémoire nécessaire en fonction d u nombre d'utili sateurs.^

0Ill liiiiiiiiiiiiiiillilliiliili>i
1 5 9 13 17 21 25 29 33
Nombre d'utilisateurs

— Mémoire avec applicatif (Mo) Mémoire pour systéme seul (Mo)

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

Permet de charger pick et config.model dans /usr/pick. Cette séquence de commandes


est donnée á titre indicatif, elle peut valieren fonction de la version du systéme installé.

6
1
A.PICK / UNIX

Création du fichier de configuration de la machine Pick.


Pour cela, il est nécessaire de se connecter dans “pick”. Lc fichier de configuration
décrit I’environnement complet de la machine virtuelie Pick. Il est important de prendre
le temps de le créer. Le modéle est donné en exemple par Pick Systems. Vous pouvez
le copier, puis le modifier en utilisant l’éditeur “vi” d’UNIX.

Copie du fichier config.model en pickO: cp config.model pickO


Édition du fichier pickO : vi pickO
«pickO» devient le fichier de configuration pour la machine virtuelie pickO.

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

Initialisation de la machine virtuelle, chargement de


AP/UNIX.
Dans Fenvironnement Pick, taper la commande: “pick - 0”
Le message suivant apparait:

Options: F)iles only, A)bs only, X)eXecute Q)quit =

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

Mount volume #1 and press “(f to continue, répondre “c”.

Aux deux questions


Restorefromincrementaltapeetrestorefromtransactionlog, répondre“n”.

Le systéme Pick démarre et est opérationnel. n ne reste plus qu’á charger les
applications.

Démarrage dun processus utilisateur.

Dans unenvironnement UN IX, il suffit de taper la commande “pick”. Le message


“Connected to virtual machine pickO” apparait et le premier pib disponible est alloué.
Pour obtenir la mire, il suffit de presser <envoi>.

Arrét dun processus utilisateur.

Au niveau tel, il suffit de taper la commande “disc”. Le message “Disconnected from


virtual machine pickO” apparait et vous vous trouvez au niveau shell. En cas de
reconnexion á Pick en tapant “pick”, le caractére d’appel de tel apparaitra
immédiatement.

Arrét dune machine virtuelle Pick.

Dans le compte “dm”, il suffit de taper la commande standard de Pick: :arret-machine


(shutdown).

6
3
A.PICK / UNIX

Les commandes tel d’AP/UNIX.

b-decharger (t-unld)

Cette commande effectue le b-decharger classique, mais en plus, sur les


implémentations UNIX, ferme l’unité périphérique et la rend utilisable par les autres
utilisateurs.

deconnecter (disc)

Syntaxe deconnecter {(f)


Déconnecte un processus de la machine virtuelie Pick.
Attention si cette commande est tapée sur la ligne 0, elle est équivalente á un arret-
systeme (shutdown).

Si le processus a été démarré depuis le shell, par la commande ‘Ptak’, le contróle du


processus sera retoumé au shell.
Si le processus a été démarré automatiquement, il redémarrera de lui-méme. Cette
commande est done sans effet.

Pour reconnecter le processus á la machine virtuelle Pick, taper simplement la


commande ‘Pick'.

L’option “f ’ effectue une déconnexion Pick avant de déconnecter le processus.

Les processus déconnectés sans l’option “F restent présents au niveau du systóme


Pick et sont visibles par la commande listu. Les utilisateurs déconnectés sont
repérables par le mode px.disc affiché par la commande etat-systeme (where).

La commande sortie (exit) effectue un deconnecter (f).

Une tentative d'arret de la machine échouera au bout de quelques minutes, si au moins


un processus a été déconnecté sans l’option “f’. Avant d’effectuer un arret machine, il
faut reconnecter ces processus, puis les déconnecter avec l’option ‘T.

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)

Syntaxe Importer fichlenplck {llste.artlcles} {(options) depuis :{flchier.unlx


{flchler.unlx}...}

Permet d’importer des fichiers UNIX dans des articles Pick. Les erreurs sont affichées
sur le terminal.

fichier.pick Fichier Pick de destination.

liste.articles Liste des articles de destination.


En cas d’omission, une sélection de liste doit étre utilisée.

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

i N’affiche pas les clés des articles.


o Ecrasement des articles s’ils existent déjá.
eN Traite les tabulations UNIX dans des zones de N espaces.
Par défaut N= 4.
1 Convertit les noms de fichiers UNIX en minuscules avant la copie.

Example importer fimport article! (iol depuis: /usr/pick/config.model

Init-cartouche (set-sct)

Cette commande est conservée seulement pour assurer la compatibilité avec le


systéme Pick standard, init-cartouche est un sous-ensemble de la commande init-
peripherique (set-device). La taille des blocs par défaut est de 16384.
Cette commande permet de ne sélectionner qu’une unité. S’il y a plus d’un streamer ou
si plusieurs densités sont possibles, init-cartouche sélectionnera la premiére unité de
bande spécifiée dans le fichier de configuration.
Pour sélectionner une autre unité, utiliser la commande init-peripherique.
A.PICK / UNIX

I nit-date (set-date)

formats: init-date jj mmm aa ou init-date mrrVjj/aa oü jj = jour, mm = mois, aa =


année.
Cette commande ne change pas la date du systéme UNIX. Elle crée simplement une
différence. La nouvelle date est conservée, méme si la machine est redémarrée.
Si la date du systéme UNIX est modifiée, la date de Pick Fest aussi.
La modification de la date UNIX peut se faire depuis Pick par la commande: ídate
mmjjhhmm{aa).
Si la machine virtuelle Pick a été ametée sans utiliser la commande arret- systeme, la
nouvelle date et la nouvelle heure sont perdues.

Inlt-dlsquette (set-floppy)

format: init-disquette {(unité{densité}}


De méme que la commande init-cartouche, init-disquette a été conservée pour assurer
la compatibilité avec le systéme Pick standard. La taille des blocs est de 500 octets.

unité A ou B, les unités pouvant étre du type 5"1/4 ou 3"1/2.


densité H = 1.2 Mo si Funité est de 5"1/4 ou
1.44 Mo si Funité est de 3"1/2.
L = 360 Ko si Funité est de 5"I,4 ou
720 Ko si Funité est de 3"w.

Par défaut Funité est A, et la densité est H.


Cette commande ne permet pas de sélectionner deux unités du méme type. Dans ce
cas, init-disquette sélectionnera la premiére unité de bande magnétique définie dans le
fichier de configuration de la machine virtuelle.
Pour sélectionner une autre unité, utiliser la commande init-peripherique.

Inlt-heure (set-tlme)

format: init-heure hh:mm:(ss}


Cette commande ne modifie pas Fheure du systéme UNIX. Elle crée seulement une
différence. La nouvelle heure est conservée méme si la machine est redémarrée.
Si Fheure du systéme UNIX est modifiée, Fheure Pick le sera également.

6
6
IMPLÉMENTATION ADVANCED PICK - UNIX

Inlt-port (set-port)

Syntaxe Inlt-port (llgne ou tty{,vltesse,parlté,blt.stop,long.mot}}

Si aucun argument n’est spécifíé, les caractéristiques de la ligne courante sont


afflchées. La ligne peut 6tre spécifiée par son numéro ou par son nom (ex: /dev/ ttyO4).
Dans ce cas, la ligne n’a pas á étre connectée á la machine virtuelle Pick, /dev/ peut
étre omis. init-port est un sous ensemble de la commande UNIX stty et est conservé
dans 1 ’unique but de tester compatible avec les implémentations non-UNIX.

vitesse Les vitesses géiées sont:


50,75,110,134,150,200,300,600,1200,1800,2400,4800,9600,19200.

parité 0 ou N{ONE} pas de parité.


1 ou 0{DD) parité impaire.
2 ou E{VEN) parité paire.

bit.stop 1 ou 2

long.mot La longueur des mots peut varier de 5 á 8 inclus.

pick (pick)

Cette commande permet de démarrer la machine virtuelle Pick et de démarrer une


session utilisateur. Elle est disponible depuis le shell et depuis TCL.

Syntaxe pick {[fichler.conflg ou -] (0 ou llgne ou s ou f ou p ou ?} (tty)}}

fichier.config Nom du fichier de configuration. Le nom par défaut est pickO du


répertoire /usr/pick.

0 Démarrer la machine virtuelle. Ce processus initialise la machine


virtuelle. Tous les autres processus doivent attendre que le démarrage
á froid soit terminé avant de pouvoir se connecter.
ligne Démarre un processus utilisateur sur une ligne spécifiée. “ligne” doit
étre un nombre valide dont la valeur est comprise entre 1 et le nombre
maximal de pibs alloué á la machine virtuelle. Si ce paramétre n ’est
pas indiqué, le systéme allouera au processus le premier pib
disponible.
? Etat. “pick ?” peut étre exécuté par n ’importe quel processus, et
permet
d’obtenir des informations concemant la machine virtuelle.

6
7
A.PICK / UNIX

f Flusher. Mécanisme d’écriturc de la mémoire. Cette option permet de


recréer un processus d’écriture de la mémoire, en cas de problémes sur le
processus standard, “r est rarement utilisée.

s Spooler. Permet en cas de problémes de recréer le processus de contróle


du
Spooler sur le premier pib fantóme qui suit le demier pib réel. “s” est
rarement utilisée.

p Processus fantóme. Cette option permet de recréer le processus de


gestión
des taches fantómes en cas de problémes sur ce demier. Le processus de
gestión des taches est créé sur le premier pib suivant le demier pib
fantóme. “p” est rarement utilisée.

tty Terminal. Cette option permet d’assigner un terminal á un processus.

Exemples:

pick - 0 Démarre la machine virtuelie pickO. Le caractére représente le nom de


la machine virtuelle par défaut

pick rii 0 Démarre la machine virtuelle «ni».

pick Démarre un processus utilisateur sur le premier pib disponible de la machine


virtuelle pickO.

pick - 5 Démarre un processus utilisateur sur le pib 5 de la machine virtuelle pickO.

pick rii 9 Démarre un processus utilisateur sur le pib 9 de la machine virtuelle rii.

pick * ? Affiche des informations concemant la machine virtuelle pickO.

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.

Exemple de chronologic conecte:

pick Connecte un processus utilisateur.


pick Sur le méme terminal, depuis TCL, connecter un processus utilisateur, une
seconde fois.
sortie Sortie du second processus.
IMPLÉMENTATION ADVANCED PICK - UNIX

sortie Sortie du premier processus.

systeme-generation
systems
(which)

Syntaxe systeme {(z)

Affiche quelle est la version du systéme. “systeme” est quelque peu différente du Pick
standard.

Informations affichées:

AP/produit systéme node rel ver hw *


produit nom du systéme UNIX (unix, aix, dg/unix etc...)
systéme Nom du systéme. Dépendant de 1 ’implémentation. 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 I’ordinateur.

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 *.

shell (sh) ou!

Syntaxe shell {commande.unlx} ou !{commande.unlx}

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.

Exemple: !ps -et


A.PICK / UNIX

shelbcapt (psh)

Syntaxe shell-capt commande.unlx {-}>{>} {flchler} article {(t}

shell-capt est une extension de la commande précédente. Elle permet de récupérer le


résultat de l’exécution (stdout) de la commande UNIX dans un article Pick. Pour
récupérer stderr, il faut le dinger á nouveau vers stdout.
L’option “t” afflche le résultat surl’écran du terminal, mais n’inhibe pas la mise en fichier.

commande.unix Est une commande UNIX quelconque. Si elle contient un


signe supérieur “>”, le signe supérieur avant I’article Pick doit
étre changé par le signe tilde
fichier
Nom du fichier optionnel oh I’article est stocké. Par défaut, c’est
le fichier “1st” qui est utilisé.
article Est le nom de I’article dans lequel le résultat est stocké. Si
deux signes supérieurs sont utilisés, le résultat sera ajouté á la
fin de I’article si celui-ci existe déjá.

Examples

shell-capt cal 1993 > tmp 1993 (t

Imprime sur le terminal le calendrier de l’année 1993 et le stocke dans I’article 1993 du
fichier tmp.

shell-capt cat /usr/pick/testf ichier > testfichier

Imprime le fichier/usr/pickAestfichier dansl’article testfichier du fichierlst (par défaut). Si


le fichier UNIX n’existe pas, le message d’erreur est affiché sur le terminal.

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

Dans la version prototype, il n’existe que 1 ’interfagage au niveau de I’instruction


execute.Toutecommande UNIXexécutabledepuisTCL, Testautomatiquement depuis
Pick/Basic avec cette instruction.
En utilisant la fonctionnalité TCL “Icommande.unix”, il n’est pas nécessaire de créer
les veibes UNIX dans le maftre-dictionnaire.

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.

La variable spécifiée par returning, re^oit le code de sortie de la commande UNIX


(commande.unix). Si la commande ne peut pas étre exécutée, lapremiére valeur est -
1, suivie par un espace, puis par le code d’erreur ermo.

La version actuelle ne permet pas d’utiliser I’instruction de pré-stockage data de


Pick/Basic.

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.

format AP/produit systéme node rel ver hw jj mmm aaaa

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}).

Surveillons done les annonces de Pick Systems.

Les commandes TCL du systéme.

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.

Le caractére de sollicitation d'une commande est


Toutes les commandes sont contenues dans le maftre-dictionnaire du compte dans lequel
vous étes connecté.
Aussi, tous les verbes Access sont des commandes TCL.

n existe trois catégories de commandes:

• Les commandes tcl-1, qui ne font pas appel á des fíchiers.


Exemple: lister-esp, quoi, init-disquette, fin,...

• Les commandes td-2, qui font appel á des fichiers et á des articles.
Exemple: Basic prog *, pmaj clients, etc..

• Les commandes td-3, qui sont des commandes Access.


Exemple: trier clients par chiffre, par mois, 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).

La pile des commandes TCL.


L'éditeur des commandes TCL utilise les fonctionnalités du processeur de mise & jour, les
commandes utilisées sont done similaires. La saisie des commandes s'effectue en mode
écrasement. Pour activer le mode insertion, taper ctrl-r.
La pile des commandes TCL permet de mémoriser, de rappeler et de modifier les
commandes saisies.
Les commandes mémorisées sont stockées dans le fichier tcl-stack du compte dm.
A.PICK / UNIX

Commande Action effectuée sur la pile des commandes.

Recherche d'une chaine de caracteres dans la pile des


ctrl-a ctrl-b commandes. Dans les commandes multi-lignes, déplace le curseur
d'une ligne vers le haut.
ctrl-d ctrl-e Affiche la commande précédente.
Supprime la commande, si le curseur est positionné sur le premier
caractere et affiche la commande suivante.
ctrl-f ctrl-g Affiche la commande suivante.
ctrl-h ctrl-i Déplace le curseur jusqu'á la fin de la phrase.
ctrl-j ctrl-k Retour arriére avec effacement du caractóre.
ctrl-1 ctrl-m Déplace le curseur jusqu'á la prochaine tabulation.
ctrl-n ctrl-o Déplace le curseur en arriére d'une position.
Déplace le curseur en avant d'une position.
Suppression d'un caractére.
<envoi>
Dans les commandes multi-lignes, déplace le curseur vers le bas.
Suppression depuis la position courante du curseur, jusqu'á la fin
dumot
ctrl-p Transfére une copie de la commande courante au sommet de la
pile, puis affiche la prochaine.
ctrl-q
Si xonoff est inactif, ne pas teñir compte de la demiére suppression.
ctrl-r ctrl-s Altemance des modes insertion et remplacement.
ctrl-t ctrl-u Si xonoff est inactif, effectue une recherche dans la pile.
Déplace le curseur au début de la phrase.
ctrl-w ctrl-x
Déplace le curseur sur le prochain moL
ctrl-y ctrl-z Insertion d'un espace.
ctrl-z ctri-a Efface la commande courante de l'écran.
Déplace le curseur en arriére d'un moL
Transfére la commande au sommet de la pile.
Idem ctrl-a, mais effectue la recherche depuis le début de la pile.

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

Liste des 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

actlver-llste al liste (get-llst)


Permet de rendre active une liste d'identificateurs d'articles pour Stre utilisée dans un
traitement en aval.

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.

add nombre nombre (add)


Addition de deux nombres entiers.

adec nb.déclmal nb.déclmal (addd)


Addition de deux nombres décimaux.

ahex nb.hex nb.hex (addx)


Addition de deux nombres hexadécimaux.

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-fantome arret-sched (stopsched)


Désactivation du processus de surveillance des táches fantómcs.
Voir chapitre correspondant

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.

article nom.flchler clé.artlcie {(options) groupe-articie (item)


Affiche le numéro de la partition de 1'espace primaire du groupe dans lequel se trouve
l'article spécifié.

b-ar {nJ (t-bck)


Fait revenir en amére la bande magnétique de n blocs.

b-att {(tallle.bloc) (t-att)


Pennet d'attacher le support magnétique courant á un processus utilisateur.

b-av (n) t-fwd)


Fait avancer la bande magnétique de n blocs.

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-decharger b-reb-det (t-unld)


Voir b-reb-det

b-det {(u) (t-det)


Détache le support magnétique du processus utilisateur.

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-elbl {num.hexa} (t-wtlbl)


Ecriture d'un label sur le support magnétique courant

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-reb-det b-decharger (t-unld)


Rembobine le support magnétique de l'unité 1/2 pouce, puis le décharge.

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.

b-verif {(a) (t-chk)


Vérification du support magnétique courant en recherchant les erreurs de parités.
A.PICK / UNIX

bogger (debug)
Appel du debugger systóme.

o boucler {nombre.boucles} {\secondes.sommeil\} commande.tcl (loop, loop-on)


Boucle d'exécutíon sur une commande TCL. Utilisée entre autres pour sur- veiller
l'évolution d'une táche.

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.

■?> chercher-systeme (search-system)


Programme utilitaire de recherche de chaínes de caractéres dans la totalité des fichiers du
systéme.

<> clmpr nom.flchler {llste.artlcles} {(options) (cp)


Equivalent á la commande copier, la sortie est dirigée vers 1'imprimante courante.

comparer nom.flchler {llste.artlcles} ((options) (compare)


Comparaison d'articles ligne par ligne indiquant quelles sont les lignes á modifier pour
rendre le premier article identique au second.

compiler nom.flchler nom.prog {nom.prog..{}} {(options)} (basic) Compilateur des


programmes Pick/basic.

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

O compiler-minus nom.flchler nom.prog {nom.prog..{}} {(options)} (compile)


Compilateur des programmes Pick/basic. Les programmes sont traités sans teñir compte
de la formulation des caractéres majuscules/minuscules. Il est possible par cette
commande de compiler des programmes écrits en minuscules.

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.

connecter-sous {nom.compte}{,mot.de.passe} (logto, to)


Déconnexion du compte courant, puis connexion sous un autre compte.

convdx nombre (dtx)


Conversion d'un nombre décimal en nombre hexadécimal.

cO convertir nom.flchler nom.article {(options) (conv-case)


Pcrmet de convertir un article de majuscules en minuscules et réciproquement.

Options

i Supprime l'affichage de I'identifiant d'article.


1 Conversion majuscules vers minuscules
q Les guillemets restent inchangés.
t Mode test. Le texte n'est pas mis á jour.
u Conversion minuscules vers majuscules.

convxd nombre (xtd)


Conversion d'un nombre hexadécimal en nombre décimal.

copier nom.flchler llste.artlcles {(options) (copy)


Commande utilitaire de copie d'articles vers un fichier, une imprimante ou un terminal.

copler-llste {nom.flchler} {nom.artlcle} {(options) (copy*llste)


Copie d'une liste dans le fichier des listes. Ce verbe est conservé pour assurer une
compatibilité avec les versions précédentes.

creer-abs nom.flchler {(options) (create-abs)


Utilitaire systéme permettant de créer une zone abs exécutable. II s'agit d'une particulars
d'Open Architecture et d'Advanced Pick. II est en effet possible de disposer de plusieurs
versions de la zone absolue sur un seul systéme. Par exemple, pour activer la zone
ABSOK, il suffit de taper la commande:
exec ABSOK.

Options

n Paramétre numérique: taille du nombre contigo de partitions á allouer.


1 Demande quel est le fichier source, puis initialise la nouvelle zone absolue. z Initialise les
partitions de la zone absolue.

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.

creer-llste fichier) listel {opérateurs} {fichler2} {Ilste2} (fl) Cette nouvelle


commande permet de créer une liste résultante d'une opération d'intersection, d'union ou
d'exclusion sur deux listes d'entrées.

Opérateurs

+ Union. = Intersection. - Exclusion.

o creer-macro nom.macro {(options} (create-macro)


Permet de créer une macro-instruction, en reprenant la demiére phrase saisie au niveau
TCL.

O date {date.paramétre} {option} (date)


Affichage de date.paramétre dans les formats internes, extemes et suivant le format du
calendrier Julien.

Option

j Spécifié calendrier Julien, lorsqu'il y a conflit entre les dates internes et le


calendrier Julien.
Exemple 255 pour le 12 Septembre

dcd-non {numéro.llgne} (dcd-off)


Désactivation du protocole 'data carrier detect'.

dcd-oul {numéro.llgne} (dcd-on)


Activation du protocole 'data carrier detect'.

ddec nombrel nombre2 (dlvd)


Division du nombre décimal 1 par le nombre décimal 2.

decataloguer nom.flchler nom. programme (decatalog)


Décatalogage d'un programme Pick/basic du maítre dictionnaire d'un compte.

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.

deverroulller-groupe numéro.partition (unlock-group)


Déverrouillage d'un groupe de partitions.

deverroulller-partltlon numéro.partltlon (unlock-frame)


Déverrouillage d'une partition.

dhex nombrel nombre2 (dlvx)


Division de deux nombres hexadécimaux.

O diagnostic (diag)
Exécution des routines de diagnostics internes au systéme.

dlv nombrel nombre2 (dlv)


Division du nombre entier 1 par le nombre entier 2

echo (echo)
Activation / désactivation de l'écho.

edlter nom.flchler {llste.artlcles} {(options) (edit, ed)


Appel de l'éditeur ligne á ligne.

effacer {diet} nom.flchler {llste.artlcles} (delete)


Suppression d'articles.

effacer-compte (delete-account)
Suppression d'un compte. Tous les fichiers compris dans l'environnement du compte sont
effacés.

effacer-fichler {data} nom.flchler (delete-flle)


Supprime le fíchier spécifié du maitre dictionnaire auquel il appartient.

< effacer-lndex (delete-Index)


Suppression d'un index de fichier. Voir le chapitre sur la gestión des index.

8
1
APICK / UNIX

effacer-llste {nom.flchler} {llste.artlcles} {{options} (delete-list)


Effacement d'une liste dans le fíchier des listes ou dans un fichier spécifié.

effacer-verrous-baslc (clear-basic-locks)
Effacement des venous positionnés par des programmes Pick/basic.

envoi-message (send-message, sm)


Envoi de messages á d'autres utilisateurs. Remplace msg des versions piécédentes.

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.

O exec nom.flchler (exec)


Commande systéme utilisée lors de la mise au point du systéme d'exploitation.

Permet de changer la zone absolue qui sera exécutée par le processus qui lance cette
commande.

Exempt» exec absok

executer nom.fichler nom.prog {(options} (run)


Exécution d'un programme Pick/basic compilé.

8
2
LES COMMANDES TCL

<0 fantome{h}{s} (z{h}{s})


Soumission d'une táche fantóme en arriére plan. Voir chapitre correspondant.

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.

groupe nom.fichler (group)


Utilitaire systóme, affichant le numéro de la partition de base (fid) de chaqué groupe d'un
fichier donné.

groupe-artlcle nom.fichler nom.artlcle article (Item)


Utilitaire systóme, complémentaire de groupe, affichant le numéro de la partition de base du
groupe qui contient l'article spécifié.

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.

O inlt-abs nom.fichler {(options) (set-abs)


Commande systóme permettant de chaíner la partie données du fichier spécifié. á la zone
absolue exécutable. 'init-abs' est utilisée par le personnel de maintenance.

Exemple init-abs absok

Inlt-clavler nom.flchler nom.artlcle (set-kbrd)


Commande utilisée pour redéfinir le langage utilisé parle clavier de la ligne 0.

Exemple init-clavier claviers francais-102

8
3
APICK / UNIX

Inlt-date {jj mmm aa} ou


Inlt-date {jj/mm/aa} si Inlt-date-eur active (set-date-eur)
Inlt-date {mm/jj/aa} si Inlt-date-std active (set-date)
Initialisation de la date du systéme. Le format dépend du type de date initialisé
pourl'ordinateur.

Inlt-date-eur (set-date-eur)
Initialisation de la date au format Européen. C'est á dire: jj/mm/aa.

Inlt-date-std Inlt-date-usa (set-date-std)


Initialisation de la date au format standard Américain. Cest á dire: mm/jj/aa.

Inlt-deml {densité} (set-half)


Cette commande est utilisée pour indiquer que le dérouleurde bandes 1/2 pouce doit
étre utilisé comme unité magnétique standard.
Densités: 1 = 1600 Dpi, m = 3200 Dpi, h = 6250 Bpi

Inlt-dlsquette {{(}denslté{lecteur}} Inlt-floppy (set-floppy)


Cette commande est utilisée pour indiquer que l'unité de disquette doit étre utilisée
comme unité magnétique standard.

Inlt-fantome {(nj Inlt-sched (startsched)


Démarrage du processus de contróle des táches fantómes.
Voir chapitre sur les táches fantómes.

Inlt-fonctlon nom.flchler nom.artlcle Inlt-fonc (set-func)


Cette commande est utilisée pour redéfinir le contenu des touches de function de la
ligne 0.
Exemple: init-fonction touches rii

Inlt-heure {hh:mm:ss} {(u) (set-tlme)


Initialisation de l’heure du systéme.

Inlt-lmpr No.lmprlm,flle.lmpr,Nb.pages.eject,type.lmpr,{A} {(options)


ou
Inlt-lmpr No.lmprlm,(f lle.lmprl ,f Ile.lmpr2{,f He.ImprS}), Nb.pages.eject,type.lmpr,{A}
{(options) (startptr)
Commande utilisée pour initialiser une imprimante dans le systéme.

Exemple inrt-impr 0,0,1 ,p0 imprimante paralléle No 0. init-impr


1,1,2,s12 imprimante série, voie 12.

8
4
LES COMMANDES TCL

Init-lptr {No.lmprlm{,{delal},{tallle.paquet},{attente.impr}} (set-lptr)


Cette commande est utilisée pour initialiser les paramétres d'une imprimante paralléle, pour
ajuster au mieux les performances de Tordinateur et de Timpri- mante. init-lptr n'est pas
supportée dans toutes les implémentations de Pick.

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.

<^> Inlt-ovf {(options) (:scrub-ovf)


Activation du processus de signature des partitions, init-ovf est utilisée aprés chaqué
restauration générale pour initialiser les partitions de l'espace de débordement C'est un
processus prioritaire.

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

lnit*port num.llgnef,vltesse, parité,bR.stop,long.mot} (set-port)


Cette commande est utilisée pour initialiser et afficher les paramétres d'une ligne
asynchrone.

inlt-spooler {n} {c/l} Inltspooler (startspooler)


Initialisation du processus de contróle des impressions.
Cette commande se trouve normalement exécutée dans la macro-instruction de
démarrage du systéme.

Inlt-sym nom.flchler {(options) (set-sym)


Spécification du fichier des symboles pour le debugger systéme.

Init-vltesse {numéro.llgne} vltesse (set-baud)


Permet de définir la vitesse de transmission des caractéres sur une ligne asynchrone.
La vitesse est exprimée en bauds.

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.

list-esp {(options) (ovf, povf)


Affichage de la table des partitions libres du systéme, appelée aussi table de
débordement.

listass {(options) (listabs)


Edition des assignations d'impressions des lignes utilisateurs.

listconj (llstconn)
Edition des conjonctions présenles dans le maitre dictionnaire.

listcptes {nom.compte} {modiflcateurs} {(options) (llstacc)


Liste des historiques de connexion.

Ilstdlct {nom.flchler} {modiflcateurs} (llstdlct)


Liste des articles de définition d'attributs et de définition de fichiers d'un dictionnaire
particulier.

liste activer-llste al (get-liste)


Voiractiver-liste
LES COMMANDES TCL

llstedlt {(options} (llstpeqs)


Cette commande est utilisée pour visualiser l'état des documents en atiente
d'impression et contenus dans le spooler.

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.

O llster-attrlbuts nom.flchler (Id)


Liste les attributs contenus dans le dictionnaire du fichier spécifié.

O llster-baslc nom.flchler {llste.artlcles} {(options} (b/llst)


Programme utilitaire générant un listing formaté d'un programme Pick/Basic.
Utile pour la maintenance des programmes.

lister-charges (charges)
Affichage des statistiques d'imputation pour la session courante.

o llster-colonnes nom.flchler {crltéres.sélectlons} {(p) (liste)


Génére un listing de clés d'articles sur 4 colonnes.

O llster-commandes nom.flchler {(p) (list-commands)


Génére un listing comportant routes les commandes TCL du maftre dictionnaire
courant.

o llster-descrlptlon-att nom.flchler (Idf)


Liste des descriptions de chaqué attribut défini dans le fichier spécifié.

Ilster-erreurs {(p) (list-errors)


Liste des erreurs systéme. Utilise le fichier enors du maftre dictionnaire dm.

Ilster-flchlers {(p} llstflchlers (list-files, llstflles)


Liste de tous les fichiers contenus dans un maftre dictionnaire donné.

lister-label (list-label)
Verbe Access permettant de ciéer des étiquettes. Voir le chapitre Access.

8
7
A.PICK / UNIX

O lister-macro nom.flchler {(p) (list-macro)


Liste de toutes les macro-instructions d'un maitre dictionnaire donné.

o lister-menu nom.flchler {llste.artlcles} {(p) (list-menu)


Génére une sortie formatée de menus pour étre utilisée dans une documentation.

o lister-menus nom.flchler {(p)


Liste de tous les menus d'un maitre dictionnaire donné.

o llster-plbs {(p) (llst-plbs)


Liste des pibs en cours d'utilisation. Cette commande remplace listusers des versions
précédentes.

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.

o llster-travaux {(p) (list-jobs)


Liste le contenu du fichier jobs indiquant l'état des commandes soumises au processus
de gestión des táches fantóme. Voir le chapitre sur les táches fantóme.

O llster-utlllsateurs {(p) (llst-users)


Génére la liste des utilisateurs définis dans le fichier users de dm.

O llster-verbes nom.flchler {(p) (llst-verbs)


Liste de tous les verbes du maitre dictionnaire courant.

llster-verrous {(p) (llst-locks)


Affichage des venous et des numéros de lignes qui les ont positionnés.

Ilstlmpr {(options) (llstptr)


Affichage des caractéristiques des imprimantes et des assignations courantes.

Ilstproc nom.flchler {(p) (llstprocs)


Liste des procédures d'un fichier.

Ilstu lu (listusers)
Voirlister-pibs.

O llstverbes (nom.flchler) (modlflcateurs) (listverbs)


Liste de tous les verbes du maitre dictionnaire spécifié.
LES COMMANDES TCL

O maj-md maj-compte (update-md, update-account)


Mise á jour d'un maftre dictionnaire. Cette commande doit étre utilisée á chaqué fois
qu'un maitre dictionnaire (ou compre) d'une autre machine Pick est chargé. 11 a pour
róle d'initialiser correctement la totalité du maítre dictionnaire du compre chargé.

mdec nombrel nombre2 (muid)


Multiplication de deux nombres décimaux.

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.

mhex nombrel nombre2 (mulx)


Multiplication de deux nombres hexadécimaux.

mot-de-passe (password)
Utilitaire systéme permettantde modifier ou d'imposer un mot de passe pour un maitre
dictionnaire.

O muí nombrel nombre2 (muí)


Multiplication de deux nombres entiers.

O npartltlon-lndex nom.flchier a.corrélatlon (nframe-lndex)


Affiche le nombre de partitions utilisées par un index. Voir le chapitre sur la
manipulation des index.

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).

>^> pmaj nom.flchier {liste.attrlbuts} {llste.articles} (update, u)


Appel du processeur de mise á jour. Voir le chapitre correspondant

O pmaj-dlct nom.flchier liste.artlcles (ud)


Macro-instruction permettant de créer et de modifier les anieles de définition d'attributs
contenus dans un maftre dictionnaire.

O psor nom.flchier (llste.artlcles crltéres.sélectlon} {(options) (op) Appel du


processeur de sortie. Voir le chapitre correspondant.
A.PICK / UNIX

pverlfler nom.flchier {llste.artlcle} {(options} (pverlfy)


Cette commande vérifie l'intégrité du code objet d'un programme Pick/Basic en
recalculant le checksum (code de contróle).

qselectlonner (qseiect)
Verbe Access pennettant la création d'une liste de valeurs d’attributs. Voir chapitre
Access.

qui {numéro.ligne} {(options} (who)


Affiche le nom de I'utilisateur et le nom du maitre dictionnaire d'une ligne spécifíée.

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.

o recup-artlcle (recover-Item, ri)


Récupération du demier article supprimé par la commande ctrl-x-o du processeur de
mise á jour.

o renommer-flchler nom.flchier (rename-flle)


Cette commande permet de renommer un fichier. Voirle chapitre surle systéme de
fichier.

rest-sel nom.flchier {llste.artlcle} {(options) (sel-restore)


Utilitaire de restauration sélective d'articles ou de fichiers. Voir chapitre
sauvegardes/restaurations.

restaurer-md nom.de.md restaurer-compte


(md-restore, account-restore)
Utilitaire de restauration d'un compte depuis le support magnétique courant.
Voir chapitre Sauvegardes/Restaurations.

restructurer (reformat)
Verbe Access permettant de restructurer un fichier avec de nouveaux identifi- cateurs.
Voir chapitre Access.

9
0
LES COMMANDES TCL

sauve*llste nom. liste sauver-llste (si)


Sauvegarde une liste d'articles dans le fichier t du compte dm.

sauvegarde (flle-save)
Utilitairesystómepermettantdesauvegarderlesystémesurlesupportmagnétique. Utilise la
conunande sauver (save). Voir chapitre sauvegardes/restaurations.

sauver {(options)} (save)


Processeur systéme de sauvegarde des informations sur le support magnétique courant
Voir chapitre sauvegardes/restaurations.

sauver-md nom.de.md sauvegarde-compte (account-save) Utilitaire


systómesauvegardantunmaitrc dictionnaire surle supportmagnétique.
Utilise la commande sauver (save). Voir te chapitre sauvegardes/restaurations.

sdec nombrel nombre2 (subd)


Soustraction du nombre décimal 2 au nombre décimal 1.

selectionner (select)
Verbe Access pennettant d’obtenir une liste d'artictes. Voir chapitre Access.

shex nombrel nombre2 (subx)


Soustraction du nombre hexadécimal 2 au nombre hexadécimal 1.

sommell hh:mm:ss sommell ss (sleep)


Mise en sommeil d'un terminal.

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.

O sp-assigner-fq flle.lmpresslon nom.lmprlmante (asslgnfq)


Assignation d'une imprimante á une file d'impression. L'imprimante doit étre un étement du
fichier devices de dm.

sp-asslgner {options} (sp-assign)


Cette commande permet d'assigner tes caractéristiques du spooler á un processus
utilisateur. C'est á dire: file d'impression, nombre de copies etc...

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-etat {(options)} (sp-status)


Cette commande affiche quel est l'état général du spooler, ainsi que de toutes les
imprimantes définies dans le systéme.

sp-fermer (sp-close)
Frame tous les fichiers en cours de constitution par le spooler pour la ligne courante.

sp-fin {(options} (sp-klll)


Cette commande est utilisée pour gérer les files d'impressions et pour intenom- pre les
travaux en cours.

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

stat-artlcle nom.flchler {liste.articles} {critére.sélectlon} {modiflcateurs}


{(options} (Istat)
Génére Fhistogramme d'occupation d'un fichier . stat-article permet de sur- veiller la
distribution des anieles et de déterminer si le fichier doit étre réalloué.

stat-octets nom.flchler {liste.articles} {anom.attribut} {critére.sélectlon} {(p)


(check-sum)
Edition du nombre d'octets de la liste d'articles du fichier spécifié. Génére également
un code de contróle.

stop-impr m{-n} {options} (stopptr)


Arrét d'une imprimante. Les options permettent de rendre l’arrót effectif au moment
souhaité.

sub nombrel nombre2 (sub)


Soustraction du nombre entier 2 au nombre entier 1.

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

O systeme-generatlon systeme (which)


Affiche quelle est la version du systéme Pick et quelles sont les dates de génération des
différents constituants.

tb (options (ti ,t2,t3...}} (tabs)


Affichage et positionnement des tabulations.

tcl numéro.llgne nom.compte commande.tcl {(s) (tcl)


Commande utilisée pour exécuter une commande tcl sur un autre terminal, le principe étant
d'appeler un niveau d'exécution puis d'exécuter la commande.

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.

tester-hash nom.flchler {llste.artlcles} {crltéres.de.sélectlon} {(options) (hash-test)


Utilitaire permettant de redistribuer les articles dans l’espace primaire, de fagon á
déterminer le modulo le plus juste.

tltre-lmprtexte {(options) (block-print)


Impression de titres en caracteres géants.

trace-msg message (log-msg)


Memorisation de messages dans le fichier errors du maítre dictionnaire dm.

Example trace-msg 'Démarrage du systéme*

O transferer-flchler nom.flchler (steal-flle)


Permet de transférer un fichier d'un maítre dictionnaire i un autre.
Example transferer-fichier prog
vers: devel

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.

O verifier-Index nom.fichlera.corrélation (verlfy-lndex)


Permet de vérifier si un index est correct. Voir chapitre sur la gestión des index.

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 verroulller-partition numéro.partltlon (lock-frame)


Pose d'un verrou sur une partition, jusqu'á la rencontre d'une instruction : deverrouiller-
partition.

vlder-fichler {dlct/data} nom.flchler (clear-flle)


Vide un fichier de Tensemble de son contenu.

O vider-mémoire (flush)
Permet d'écrire le contenu de la mémoire sur Tespace disque.

vlsuallser partitionl{-partltlon2}{, options} voir-partltlon (dump)


Visualisation d'une partition ou d'un groupe de partitions de Tespace disque.

xonoff (options (xonoff)


Activation / désactivation de xon et xoff.

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.

PROC est un langage interprété.

Caractérlstlques:

• 4 tampons de longueur variable,


• 2 tampons d'entrée,
• 2 tampons de sortie,
• Transfert de parantétres d'un tampon á l’auíre,
• Commandes de gestión des tampons,
• Test de chafnes de caractéres,
• Gestión des étiquettes,
• Appel ou chainage á d'autres PROC,
• Appel de programmes Pick/Basic.

Fonctionnement des tampons.


Toutes les opérations spécifiées dans une PROC consistent á déplacer des données i partir
d'un des tampons d'entrée vers les tampons de sortie.
Les tampons d'entrée sont assimilables i des zones de stockages et les tampons de sortie
á des zones d’exécution des instructions.

Les tampons sont les suivants:

9
5
A.PICK / UNIX

tep Tampon d’entrée primaire.


tes Tampon d’entrée secondaire.
tsp Tampon de sortie primaire.
tss Tampon de sortie secondaire.

n est nécessaire d'activer deux tampons á la fois, un en entrée et un en sortie.

tea Tampon d’entrée actif.


tsa Tampon de sortie actif.

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é.

Le tampon d’entrée primaire: tep

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, +, -.

Le tampon d’entrée secondaire : tes

Ce tampon contient des données introduites par une commande IS. Le tes est rarement
utilisé.

Le tampon de sortie primaire: tsp

Ce tampon contiendra la commande finale qui sera exécutée, il se constitue tout au


long de la PROC.

Le tampon de sortie secondaire : tss

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é.

Structure d'une procédure.

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.

Exemple : Procédure LISTEFIC qui permet de lister le contenu d'un fichier.

Si cette procédure est dans le maítre-dictionnaire :

:pmaj md LISTEFIC

01 PQ
02 HLISTER
03 A2
04 P
05 X

Si la procédure se trouve dans le fichier PROC, il faut ajouterdans le md l'appel


suivant:

: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.

Activation des tampons.


SP Sélectionne le tep et place le pointeur au début du tampon.
SS Sélectionne le tes et place le pointeur au début du tampon
STON Sélectionne le tss comme tsa.
STOFF Sélectionne le tsp comme 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.

Instructions de chaines et réinitialisation des tampons.


IH Transiere la chame de caracteres qui suit la commande dans le paramétre suivant du
tampon d'entrée actif.
H Transfére la chaíne de caracteres qui suit la commande dans le tsa.
RI Réinitialisation des deux tampons d'entrée.
RO Réinitialisation des deux tampons de sortie.
+n, -n Ajout ou retranchement d'un nombre décimal au paramétre en cours du tampon
d'entrée actif.

Visualisation des données.


O Affiche sur le terminal le texte qui suit la commande.
Le signe +, facultatif, permet de positionnerle caractérede sollicitation aprés
le texte dans le cas de l'utilisation d'une commande d'entrée suivant la
commande O.
D Permet de visualiser le contenu d'un tampon d'entrée.

9
8
PROC

Commande de gestión de l'écran.


T Pemet de positionner le curseur, d’afficher des textes et d'utiliser les
attributs vidéo.

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.

Commandes d'exécution du contenu d'un tampon de sortie.


P Exécute le contenu du tsp, le contróle est ensuite donné á l'instruction
qui suit la commande P.
PX Exécute le contenu du tsp, puis retour á TCL.
PH Exécute le contenu du tsp, mais aucun message résultant de l'exécution
ne s'affiche sur le terminal.
PP Affichage du contenu des deux tampons de sortie, puis exécution du
tsp.
PW Affichage du contenu des deux tampons de sortie, puis demande de validation de la
part de l'utilisateur avant de lancer l'exécution du contenu du tsp.

Sortie d'une procédure.


X Termine une procédure et permet d’envoyer éventuellement un texte
sur le terminal.

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.

Pick/Basic est un langage de programmation de haul niveau, simple de surcroit á utiliser et i


apprendre. H a été con^u vers 1974 par Pick Systems et particuliércment par Ken Simms,
malheureusement aujouidliui dispara.

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.

• Pick/basic est paiticuliérement bien adapté á la gestión de la base de données.


• Noms de variables libres.
• Taille des variables illimitée.
• Gestión de tableaux dynamiques.
• Etiquettes alphanumériques.
• Instructions de branchement conditionnel et inconditionneL
• Appel i des sous-programmes extemes ou internes.
• Gestión des entrées/sorties sur support magnétique.
• Interface proc, access, tel, spool.
• Possibilité de conversion de données en utilisant les codes de traitements.
• Possibilité de verrouillage de fichiers, d'articles.
• Adressage absolu et relatif de l'écran. *
• Instructions de contróle de validité.
• Nombreuses fonctions.
• Etc...

1
0
1
A.PICK / UNIX

Qu'est ce qu'un programme ?

Un programme est une suite d'instructions ordonnées suivant un algorithme répondant au


besoin d'un utilisateur. Il permet de manipuler les informations contenues dans la base de
données ainsi que cedes qui sont saisies de maniére interactive sur le terminal.

Un programme peut appeler d’autres programmes ou sous-programmes.

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.

Le code objet, résultant de la compilation, est rangé dans le dictionnaire du fichier


contenant le code source (programme dans le langage Pick/Basic).
Le code objet est aussi appclé article binaire et ne peut pas étre édité.
Les programmes compilés comme les sous-programmes peuvent étre catalogués pour
devenir des verbes faisant partie intégrente du vocabulaire de l'utilisateur. (Voir les
commandes tel: basic, compiler, cataloguer, decataloguer, executer).

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.

Un tableau dynamique peut étre un élément d'un tableau dimensionné.

Example d'utilisation:

TAB(a,b)<x,y,z>

a est la ligne du tableau dimensionné, b est la colonne du tableau dimensionné,


x est le numéro d'attribut du tableau dynamique, y est le numéro de la valeur de
I'attribut, z est le numéro de la sous-valeur de la valeur.

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.

Opérateur Opération Priorité

O Evaluation d'une expression. 0


¿1 Extraction de sous-chaine. 0
A ♦♦ Elévation á la puissance. 1
Moins unaire. 2
*
Multiplication. 3
/ Division. 4

• 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

e) Formatage des chaines de caracteres.

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

Exemple print ligne[31,47]'r#45':lotal = ':tot'r26z,$*14'

Voir aussi les codes de traitements mr, ml.

f) Expressions de chaine, sous-chaine.

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.

Une sous-chaine est un sous-ensemble de caracteres d'une chaine. La syntaxe d'obtention


d'une sous-chaine est:

sous.chaine = chaíne[départ, longueur]

sous.chaine Sous-chaine á extraire.


chaine Variable chaine.
départ Position du caractóre de départ.
longueur Longueur de la sous-chaine.

n est également possible d'effectuer des remplacements de sous-chaines par le principe


suivant:

chaíne[départ, longueur] = sous.chaine

chaine Variable chaine.


sous.chaine Sous-chaine á insérer.
départ Position du caractóre de départ.
longueur Longueur de la sous-chaine.

Une ou plusieurs sous-chatnes délimitées par un caractóre spécifique peuvent étre


remplacées par une seule instruction.

chaíneCdélimiteur*, départ, nombre] = sous.chaíne(s)

chaíne Variable chatne.


délimiteur Délimiteur permettant d'effectuer une séparation des sous-
chaínes de la chaíne d'origine.
départ Sous-chaíhe de départ oh commence la substitution.

10
5
A.PICK / UNIX

nombre Nombre de sous-chaínes á remplacer dans la chaíhe d'origine.

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.

h) Opérateur masque de vérification.

Cet opérateur compare une valeur de chame á un masque prédéfini. Le masque de


contróle fonctionne de maniére similaire au code de traitements 'masque de vérification’.

L'expression est évaluée á 1 si elle est vraie et á 0 si elle est fausse.

Syntaxe chaíne match 'masque'

i) Expressions logiques.

Les expression booléennes ou logiques sont le résultat de l'application d'opéra- teurs


booléens á des expressions relationnelles ou arithmétiques. Le résultat est vrai ou faux.

x = a or x = b x est vrai (=1) si l'un des deux opérandes est vrai.

x = a and x = b x est vrai (=1) si les deux opérandes sont vrais.

Instructions et fonctions de Pick/Basic.

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.

*{texte) !{texte} rem {texte}


Instruction de remaique. Le texte qui suit n'est pas pris en compte par le compilateur.

: 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é.

Expression Valeurs passées.

1 Variable nom de la section données du fichier traité.


2 Variable nom de la section dictiormaire du fichier traité.
3 Article dans le format de tableau dynamique.
4 Nombre d'articles traités depuis le début
5 Nombre d'attributs de I'article couranL
6 Nombre de valeurs.
7 Nombre de sous-valeurs.
8 Compteur de lignes.
9 Nombre de niveaux d'exécutions en cours.
10 Cié de I'article.
11 Nom du fichier.
12 Indicateur d'article supprimé.
13 Variable racine.
14 Colonne courante du curseur dans pmaj.
15 Ligne courante du curseur dans pmaj.
16 Renvoie la valeur 1 si Panicle est nouveau.
17 Renvoie la valeur 1 s'il y a une conversion d'entrée.

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.

Exemple: if assigned(var)« 0 then var»12

begin case case expression Instructions case expression Instructions


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.

break on break off


Instruction d'activation et de désactivation de la touche break.

call nom.sous.programme{(paramétre,paramétre...)} call


@varlable{(paramétre,paramétre...)}
Instructions d'appel et d'exécution de sous-programmes externes. La forme ©variable permet
d'allouer une variable á un nom de sous-programme.

Exemples: var > 'riitest'; call @var(par1 ,par2)


call test(a,b,c)

chain commande.tcl {(■}


Permet á un programme Pick/Basic d'exécuter une commande tel.
Une fois Texécution de la commande terminée, on ne retoume pas au programme appelant.
L'option i permet de conserver les variables définies dans les zones communes.

O capturing off capturing on


Active ou désactive la sortie 'capturing' de I'instruction execute.

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.

Exemple open ",Ttest' to ft else print ft absent !';stop

close ft execute ’effacer-fichierftest’

COl1() COl2()
Fonctions de recherche d'une sous-chaihe.
Utilisées conjointement avec I'instruction field.

common {/Identlf lant/} varlable{,varlable...}{,tableau(dlml {,dlm2})...}


Cette instruction est utilisée pour définir des variables qui sont communes á plusieurs
programmes Pick/Basic. Ce sont des espaces communs.

O convert 'caractére(s)' to 'nouveaux.caractéres' In chatne


Cette instruction pemet de convertir une séquence de caractéres en une autre séquence
dans 'chatne'.

Exemple convert to char(253) in tab

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.

Exemple data a,b,c chain "run prog testrii"


Le programme testrii utilise a, b et c, qu'il récupére par des instructions input

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.

dim var.tabl(dlmenslon1 {,dlmenslon2}){,...}


Dimensionnement d'un tableau. Cette instruction doit se trouver en début de programme.

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.

echo on echo off


Instruction d'activation et de désactivation du mode écho.

end Instruction de fin de programme.

enter nom.programme enter ©variable


Instruction de chaihage de programme. On ne retoume pas au programme appelant.

equate var.equlv1 to exprl {,var.equlv2 to expr2{,...}} equ


Instruction d'équivalence. Cette instruction crée un synonyme de I'expression.
Elle différe de "=" qui réserve un espace.

execute commande.tcl {capturing variable} {returning variable}


Instruction de chatnage á une commande tel quelconque, avec possibilité de récupérer le
résultat de l'exécution.

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.

Example vari »fold(var2,'10,15',char(253))


var2 sera transformée en multi-valeurs, avec 10 caractéres pour la longueur du premier
attribut et 15 ou moins pour les suivants. Le tout sera rangé dans vari.

footing '{texte} {'options'} {texte} {'options'}...'


Instruction de mise en page permettant d'imprimer 'texte' en bas de chaqué page. Une
liste d'options est disponible.

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

Examples gosubrii: gosublOO

11
2
PICK/BASIC

go{to} étiquettef:}
Branchement á I'interieur du programme á ¡Etiquette spécifiée.

heading '{texte} {'options'} {texte} {'options'}...'


Instruction de mise en page permettant d'imprimer 'texte' au début de chaqué page. Les
options sont homogénes avec celles de ¡'instruction footing.

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).

If expression then Instructions / else Instructions I then Instructions else


Instructions
Instruction d'exécution conditionnelle d'une série d'instructions.

Exempie 10 if sais - 'ok' then


write enr on fic.cle
end else
goto menu
end

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.

{$}lnclude {nom.flchler} nom.programme


Cette instruction permet d'inciure ie programme spécifié par 'nom.programme', dans le
programme courant
Utilisé pour inciure des instructions de type common ou equate.

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.

Input {@(col,llg) {:} variable {,long} {:} {_} {masque}


Instruction d'entrée de données depuis le terminal.

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.

Inputtrap 'caractéres' goto étiquettes............


inputtrap 'caractéres' gosub étiquettes,...
Utilisée pour tester les multiples saisies d'une instruction input @.

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'.

key(’opérateur*,raclne,chaíne,clé) {then...else Instructions}


Cette instruction est utilisée pour permettre la manipulation des index depuis
Pick/Basic. Voir descriptif détaillé dans le chapitre sur les index.

len(expresslon)
Cette fonction restitue la longueur de 'expression'.

{let} variable = expression


Instruction d'assignation, 'let' est optionnel.

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

lock expression {then...else Instructions}


Permet de positionner un verrou d'exécution. L'instruction inverse est unlock.

loop {instructions} {{while expression ou until expression} do instructions} repeat


Instruction utilisée pour structurer des itérations.

{mat} tableau s variable


Instruction d'assignation de valeurs de tableaux.

expression match chaine


Fonction logique de test de format.

matread{u} tableau from {varflchjclé {locked Instructions} {then...else Instructions}


Instruction de lecture de matrice, matreadu verrouille I'article spécifié.

matwrlte{u} tableau on {varflchjclé


Instructions d’écriture de matrice.

mod(expresslonl .expressions) rem(expresslonl .expressions)


Ces fonctions mathématiques renvoient le reste de la division de expression! par expressions.

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.

on expression go{to} étlquette1,étlquette2,...


Instruction de branchement.

11
5
PICK/BASIC

open {'diet',} 'nom.flchler{,sect.données}' to {var.flchler} {then Instructions} {else


Instructions}
Instruction d'ouverture de fichier.

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.

print {on expression} {llste.d'lmpresslon}


Instruction d'édition d'expressions sur le terminal ou sur imprimante.

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.

procread variable {then... else Instructions}


Cette instruction est utilisée pour lire le contenu du tampon d'entrée prim aire de la proc
appelante.

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

read{u} variable from {var.fich,}clé {locked instructions} {then... else Instructions}


Cette instruction permet de lire un article et d'assigner sa valeur en format de tableau
dynamique á la variable spécifiée.

readnext variable},compteur} {from var.select} then... else Instructions


Instruction de lecture séquentielle á partir d'une liste sélectionnée auparavant.

readt variable {then...else/onerr Instructions}


Instruction de lecture de données sur support magnétique.

readv{u} variable from {var.fic,}cié,attrib {locked Instructions}


{then...else Instructions}
Cette instruction est utilisée pour lire un seul attribut d'un article d'un fichier.

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 var.flc,vlellle.clé with nouvelle.clé


Instruction de remplacement d'articles. Remplace l'article identifié par 'vieille.clé' par l'article
'nouvelle.clé'.

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.

rewind {then... else/onerr instructions}


Instruction de rembobinage de la bande magnétique.

rnd(expresslon)
Fonction mathématique permettant de générer un nombre aléatoire.

11
7
PICK/BASIC

root nom.flch,a.corrélatlon to var.raclne {then... else Instructions} Recherche de


1'adresse fid de 1'index d'un fichier. Voir chapitre sur les index.

rqm var.secondes
Permet de suspendre l'exécution du programme pendant 'var.secondes'.
Voiraussi sleep.

select {var.flc} {to select.varlable}


Instruction de sélection d'articles dans un fichier.

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.

Cette fonction génére un code de 4 caractéres correspondant au phonéme de chame'. Les


chaines de consonances similaiies générent des codes équivalents.

Exemples print soundex(pomme) affichepSOO


print soundex(paummme) affiche p500
print soundex(phaum) affichep500
print soundex(pom) affichep500

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'.

subroutine {nom.sous.programme} {(paramétre.paramétre...)}


Premiére instruction d’un sous-programme externe.

system(expresslon)
Fonction renvoyant des valeurs utilitaires.
Sous Advanced Pick, la fonction systemQ a été étendue.
Les nouvelles valeurs sont:

16 Niveau de processus courant.


17 Numéro de message d'erreur de la demiére instruction execute.
18 Nombre de pibs du systéme.
19 Code de génération de clés, composé de la date inteme, de l'heure interne et
d'une lettre, si plus d'une fonction system(19) est demandée durant la méme
seconde.
20 Numéro de la plus récente impression dirigée vers le spooler par le programme.
21 Date inteme suivie d'un suffixe numérique séquentiel.
22 Numéro du pib courant.
23 Niveau de privilége systéme.
24 Etat du processeur de gestión des táches fantómes.
25 Présence d'une liste secondaire.
26 capturing on / capturing off.
100 Identification du systéme.
tan(expresslon)
Fonctíon trigonométrique. Génére la tangente d'un angle exprimé en degrés.

O tel commande.tcl {capturing variable} {returning variable}


Exécution d'une commande tcl quclconque.

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.

weof {then...else/onerr Instructions}


Cette instruction écrit une marque de fin de fichier sur le support magnétique courant.

wrlte{u} expression on {var.flcjclé


Instruction d'écriture en fichier.

wrltet expression {then...else/onerr Instructions}


Cette instruction est utilisée pour écrire un enregistrement sur le support magnétique
courant.

wrltev{u} expression on {var.flcjclé,attribut


Instruction d'écriture en fichier. Permet d’écrire un seul attribut

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

• Exécution du programme pas á pas.


• Transferí de l'exécution á une ligne donnée.
• Arret temporaire de l'exécution, lorsqu'une condition logique spécifiée est vérifiée.
• Affichage du contenu des variables, avec possibilité de modification.
• Trace.
• Appel du debugger systéme.
• Affichage des lignes de code source.
• Sortie des résultats sur terminal ou sur imprimante.

L'appel du debugger peut se faire de plusieurs fa^ons :

• par la touche break

12
0
PICK/BASIC

• par 1'option'd' du verbe executer (run)


• par 1'instruction debug
• par la rencontre d'une erreur durant l'exécution du programme.

Le caractére d'appel du debugger est l'astérisque

Table des symboles.

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.

bvoc{oc} Initialise un point d'arret sur une condition logique.


V Variable.
0 Opérateur logique <»>,=,#
c Condition á remplir.
b$on Initialise un point d'arrét sur une condition logique.
0 Opérateur logique <»>,=,#
n Numéro de ligne.
d Visualisation de la table des points d'arrets.
debug ou Appel du debugger systóme.
de
e{n) Exécute n lignes.
end Arrét du programme et retour á tel.
g{n} Exécution á partir de la ligne n ou de la ligne courante.
k{n} Annidation d'un point d'arrét.
l{m{-n}} Affiche le code source depuis la ligne m, jusqu'á la ligne n.
1* Affiche toutes les lignes du code source.
1P Sortie alternative sur imprimante ou sur terminal
n{n} Exécution de n points d'arréts avant de stopper.
off Déconnexion du compte.
P Inhibe/active les affichages produits par le programme.
PC Equivalent de I'instruction 'printer close' en Pick/Basic.
r Visualise le sommet de la pile des retours de sous-programmes.
s Visualise toute la pile de retour des sous-programmes.
t{v) Génére une trace pour la variable 'v'.
u{n) Supprime la trace d'une variable.
$ Vérification du code objet.
N Affiche la valeur de la variable v.
/m{(x{,y})} Affiche la valeur x,y d'un tableau m.
/* Visualisation de toutes les variables.
[n,m] Définition d'une fenétre de visualisation.
[ Suppression de la fenétre de visualisation.

12
2
Access.

Access est un langage d’interrogation de 4éme génération, non procédural. Il permet


d’accéder aux informations contenues dans la base de données, au travels des dictionnaires
de fichiers.

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.

Structure des phrases Access.


Une phrase de type Access comporte un verbe, une liste d’articles, des critéres de sélections,
des critéres de tris, des spécifications de sorties, des critéres de sorties et des options.

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

Syntaxe d’une phrase Access.

verbe nom.flchler {llste.art} {crlt.sélect} {spéclf.sortle} {options}

verbe Le verbe est le premier mot d’une phrase Access.


n est obligatoire et détermine le traitement á effectuer. n doit faire
partie du maitre-dictionnaire de I’utilisateur.

nom.flchler Est le nom du fichier utilisé.


n doit exister dans le maitre-dictionnaire.

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"

crlt.sélect Ils permettent de limiter le nombre d’articles á trailer ; ils s


’appliquent aux valeurs des attributs et peuvent étre combinés
logiquement.

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...

Recherche portant sur des sous>chaínes.

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:

[ crochet gauche Les caracteres se trouvant á gauche du crochet seront ignorés.


] crochet droit A Les caracteres se trouvant á droite du crochet seront ignorés.
caret Tous les caracteres se trouvant sous le caret sont autorisés.
Examples

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*"

Les verbes d’Access.

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.

Exemple trier prospects par nom nom contad

lister-article (list-Item) trier-article (sort-Item)


Ces deux verbes générent des éditions sans teñir compte des définitions contenues dans le
dictionnaire, mais avec des possibilités de mise en page. Les spécifications de sortie sont
inútiles.

lister-label (list-label) trier-label (sort-label)


Ces deux verbes sont utilisés pour créer des étiquettes, sans avoir á écrire de programme
Pick/Basic. Une simple phrase suffiL
La syntaxe est la méme que la syntaxe générale, mais aprés prise en compte de la phrase, il
faut rentier un certain nombre de paramétres correspondant á: Nombre d’étiquettes á imprimer
dans la largeur de la page.
Nombre de lignes á imprimer sur l’étiquette.
Nombre de lignes á sauter entre deux étiquettes.
Marge gauche.
Largeur des étiquettes.
Espacement horizontal entre deux étiquettes.

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

selectlonner (select) tselectionner (sselect)


Ces deux verbos constituent une liste d’articles sans les éditer. La liste générée ne
contient que les identificateurs d’articles et peut étre sauvegardée (sauver- liste), puis
rappelée par d’autres phrases Access.
“tselectionner” génére une liste triée.

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...

actlver*llste ou al ou liste (geMIst, gl)


Syntaxe: liste nom.liste {(No.att
Permet d’activer une liste précédemment sauvegardée par “sauver-liste”.
No.att Numéro d’attribut Crée la liste depuis I’attribut spécifié.

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.

en-téte (heading) en-pled (footing)


Permettent de définir les en-tétes et les en-pieds qui seront utilisés pour la génération de
la sortie. Des options de presentation sont possibles.

o feuille-calcul ou fc (spread-sheet, ss)


fe nom.attr1 {{date.dépant} {date.fln}} nom.attrib2 {(g
Ce modificateur permet de générer un total de valeurs limitées par des dates, aussi bien
en colonnes qu’en lignes.

Impr (Iptr, (p)


Dirige la sortie vers I’imprimante courante.

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.

<0 rouler (roll-on)


rouler attrlbut {"{texte} {"options''} {texte}"} modificateur
Les valeurs de Fattribut spécifié par ce modificateur sont «roulées» dans la colonne gauche
adjacente, si les données de cette colonne n’ont pas été modifiées par un modificateur ou si

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.

o si {non} {chaqué} nom.attrib {{opérateur} liste.val} crlt.sel


(If {no} {every/each} nom.attrib {{opérateur} liste.val} crit.sel)
Permet de sélectionner les articles qui vérifient les critéres spécifiés. Ce nouveau modificateur
est extremement puissant, n offre de nombreuses possi- bilités de sélections supplémentaires.

supp-arret (nopage, K(n”)


Provoque l’édition en continu d’un fichier. L’édition ne s’arréte pas en fin de page surle
terminal.

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).

Exemple trier clients par nom total achat

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.

Les opérateurs passifs.

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.

L’ensemble du vocabulaire utilisé par Access est lié au maítre-dictionnaire du compte,


dans lequel les traitements sont effectués. n peut étre traduit dans n’importe quelle langue.

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...

Utilisation de pmaj en tant qu’éditeur.


Syntaxe pmaj nom.flchler {llste.artlcles} {(options)

Synonymes u, update

Options

i Inclut la cié de l'article dans l'espace de travail de pmaj.


s Inhibe le vérificateur d'orthographe.
1 Mode visualisation. Pas de mise á jour possible.
c Effacer l'écran avant d'afficher l'article dans l'espace de travail.

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.

Le curseur indique oü sera affiché le prochain caractére saisi. Les déplacements du


curseur sont utilisés pour positionner le curseur n'importe oú dans I'article, sans pour
autant altérer son contenu.

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

d'article, cette commande est sans effet

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-m ou entrée ou return


Déplace le curseur au début du paragraphe suivant, si 1'on est en mode
'écrasement'. En mode 'insertion', il y a création d'un nouvel attribut (paragra-
phe). Si le curseur est positionné sur la demiére ligne de Farticle, il y a création
d'un nouvel attribut (paragraphe), que Fon soil en mode 'écrasement' ou
'insertion'. Si pmaj est contrdlé par un dictionnaire, ctrl-m ne crée pas de nouvel
attribut mais le curseur se positionné sur Fattribut suivant

ctrl-z-n Déplace le curseur au début de Fécran suivant

ctrl-z-y Déplace le curseur au début de Fécran précédent.

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-t Déplace le curseur au début de Farticle courant

ctrl-z-e Déplace le curseur á la fin de Farticle courant.

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.

ctrl-z-p Réaffiche Fécran.

ctrl-z n Positionnelecurseursurlalignespécifiéepar'n'.puisréafficheFécran. Aprés avoir tapé


ctrl-z, puis le premier caractére du numéro de ligne, le message 'go to line #'
s'affiche. Une fois le numéro de ligne saisi, valider par ctrl-m. Le numéro de la
ligne de destination peut se situer avant ou aprés le numéro de ligne courante.

Modes “écrasement” et “insertion”.

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.

Saisie de texte en utilisant le vérificateur d'orthographe.

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:

ctrl-a Ne tient pas compte du vérificateur et accepte le caractére.

ctrl-a ctrl-a Insure le mot dans le fichier "words", puis continue.

ctrl-a ctrl-a ctrl-a Désactive le vérificateur.

ctrl-z-s Désactive le vérificateur depuis n'importe quelle position de


I'article.
Si le vérificateur est actif, cette commande le désactive.
Si le vérificateur est inactif, cette commande l'active.

Suppression de texte.

Lorsqu'un texte est supprimé, le reste du paragraphe est déplacé vers la gauche.

ctrH Supprime le caractóre sous le curseur et déplace le texte vers la gauche. Si le


curseur est sur le dernier caractóre du paragraphe, cette commande
supprime le séparateur d'attributs.

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.

ctrl-z-o Supprime le texte depuis la position du curseur jusqu'h la fin du paragraphe.

ctrl-z-d Supprime le texte depuis la position du curseur jusqu'h la fin de I'article.

ctrl-h ou 'retour arrlére' ou 'backspace'


Déplace le curseur vers la gauche d'un caractére et remplace le caractbre
par un espace. Si le curseur est á la fin d'un attribut, alors le caractére est
supprimé au lieu d'etre remplacé par un espace.

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.

Abandon des demiéres modifications.

ctrl-z-z Permet de ne pas valider la demiére suppression ou changement de données.

Sortie des articles.

La commande ctri-x permet de quitter un article de différentes fa^ons. Cette commande


nécessite la saisie d'un caractóre supplémentaire.

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-c Mise en fichier de Particle courant, puis compilation etcatalogage de Particle.


Cette option est utilisée avec les programmes Pick/Basic.

ctrl-x-e Sortie de Particle sans mise en fichier.

ctrl-x-f Mise en fichier, puis sortie de Particle.

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-k Sortie de Particle et retour au niveau TCL.


En cas d'édition depuis une liste, il y a sortie de la liste.

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.

ctrl-x-o Sortie et suppression de Particle. Si des modifications ont été apportées, le


systóme demande confirmation.

ctrl-x-p Mise en fichier, puis impression en utilisant le processeur de sorties (op).

1
3
6
PROCESSEUR DE MISE A JOUR

ctrl-x-r Mise en fichier, compilation, puis exécution si le résultat de la compilation est


correct

ctrl-x-s Sauvegarde de Farticle, sans le quitter.

Recherche et remplacement de texte.


ctrta chafne ctrl-m
Recherche la premiére occurrence de 'chaine'. Si la recherche est positive, le
curseur est positionné sur le premier caractóre de la chaine ; dans le cas
contraire, le curseur reste sur sa position courante. La recherche est effectuée
depuis le début de I'article et est insensible á la formulation des caracteres.
Pour rechercher un texte en majuscules, le texte doit étre placó entre
apostrophes; pour une recherche de texte en minuscules, le texte doit étre
placó entre guillemets.

ctrl-a Répéte la demiére commande de recherche. En cas d'insuccés, le terminal émet


un bip et affiche un message.

ctrl-a chalnel ctrl-r chalne2 ctrl-n


Recherche depuis la position courante 'chaínel' puis remplace chaqué
occurrence par 'chaine2'. ctrl-n indique que toutes les occurrences doivent étre
traitées.
Le texte est remplacé comme il a été saisi. Cependant si le remplacement est
á effectuer au début d'une phrase, le premier caractére sera en majuscule.
Pour spécifier un remplacement exact, utiliser la technique décrite précé-
demment, en encadrant le texte d'apostrophes ou de guillemets.

ctrl-a chalnel ctrl-r chalne2 ctrl-m


Fonctionnement identique i la commande précédente, mais pour chaqué
occurrence á remplacer, le systóme permet plusieurs choix possibles.

ctrl-a ne pas remplacer 'chálner, mais rechercher l'occurrence suivante.


ctrl-n effectuer le remplacement, puis remplacer automatiquement toutes les occurrences
de l’article.
ctrl-r effectuer le remplacement, puis rechercher l'occurrence suivante.
ctrl-x arrét de la recherche, retour au mode édition.

Couper et coller.

Les commandes pour couper sont utilisées pour déplacer ou copier des blocs de textes.

ctrl-c-d Marque le début du texte á couper et á supprimer. Le caractére \ indique le début

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*.

ctrl-c-p Colle le contenu du tampon á partir de la position courante du curseur. Le


contenu du tampon reste présent durant toute la session de pmaj ou jusqu'á
ce qu'une nouvelle commande couper/coller soit entrée.

ctrl-c-r {(nom.flchier} nom.article {début{-fln}} ctrl-m


Lit le contenu de l'article spécifié puis le colle á partir de la position courante
du curseur. Les paramétres optionnels 'début' et 'fin' indiquent le premier et le
demier attribut á copier. Si 'fin' n'est pas spécifié, tous les attributs depuis la
position de début jusqu'á la fin de l'article sont copiés.

ctrl-c-w {(nom.fichler} nom.article ctrl-m


Ecrit le contenu du tampon courant dans l'article spécifié.

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.

Les commandes de préstockage peuvent contenir á la fois des commandes pmaj et du


texte.

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

Les commandes de préstockage peuvent étre créées soit dans le tampon de


préstockage, soit comme article d'un fichier. Les articles de préstockage peuvent se
trouver dans n’importe quel fichier et doivent avoir un ’p’ comme premier attribut

ctrl-p Exécute le contenu du tampon de préstockage. Si le tampon est vide, cette


commande affiche la prochaine page de l'article édité.

ctrl-z-l Édite ou crée dans le tampon une commande de préstockage.

ctrl-z-r {(nom.fichler} nom.article ctrl-m


Charge l'article spécifié dans le tampon de préstockage, mais ne l'exécute
pas.

ctrl-z-r {(nom.fichler} nom.artlcle ctrl-p


Charge l'article spécifié dans le tampon de préstockage, puis exécute son
contenu. Le fichier par défaut est le maitre-dictionnaire.

ctrl-z-w {(nom.fichler} nom.artlcle ctrl-m


Ecrit le contenu du tampon de préstockage dans l'article spécifié. Le systóme
mettra automatiquement un 'p' dans le premier attribut Le fichier par défaut est
le maitre-dictionnaire.

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-c Affiche la position des colonnes.

ctrl-z-t Initialisation des tabulations. Les tabulations doivent ctre séparées par des
espaces.

Utilisation de pmaj comme processeur de mise á jour.

Syntax» pmaj nom.flchler nom.article liste.attributs (options)

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 de déplacement de curseur sont identiques i celles définies


précédemment.
Les données saisies ou modifiées pour chaqué attribut sont mises en fichier, en
conespondance pour chaqué attribut. Notons toutefois que les informations sur disque
peuvent étre sujettes á des conversions de sorties définies dans les articles de définition
d'attribut des dictionnaires, avant leur affichage. Les informations saisies avec pmaj
peuvent également étre sujettes i des conversions d'entrée avant d'étre stockées sur
disque.

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é.

La commande ctrl-f provoque l'affichage de la donnée associée á la prochaine valeur de


l'index. La commande ctrl-d provoque l'affichage de la donnée associée á la précédente
valeur de l'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.

La commande ctri-u provoque l'affichage de la valeur du prochain attribut du fichier pointé.


Seule cette valeur est mise á jour. L'affichage de cette valeur est sujette aux éventuelles
conversions définies dans le dictionnaire du fichier d'origine. La commande ctri-y provoque
l'affichage de l'article précédent du fichier pointé.

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.

Certaines commandes de pmaj utilisé en tantque processeur de mise á jour ne


fonctionnent de la máme manidre que lorsque pmaj estutilisé en tant qu'éditeur. Ce sont
les commandes de navigation dans les index.

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-u Si un attributest indexé sur un autre fichier, cettecommandepermetd'utiliser


le prochain article séquentiel du fichier pointé, comme valeur pour cet attribut

ctrl>y Idem ctrl-u, mais ctrl-y permet d'utiliser Particle précédent comme valeur d'attribut

14
1
A.PICK / UNIX

Les modifícateurs particuliers du processeur de mise á jour.

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.

Le processeurde sortiepermet de formateretd'imprimerdes textes saisis ál'aide du


processeur de mise á jour.

Les commandes permettent de:


• Formater le texte.
• Contróler les différentes polices de caractéres.
• Générer des caractéres 'gras' et soulignés.
• Produire des index et les tables des matiéres.
• Initialiser les paramétres de pages comme les en-tétes et les en-pieds.
• Numéroter automatiquement les chapitres, les sections, les figures et les tables.
• etc...

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.

Un attribut est assimilé á un paragraphe.

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:

Syntaxe: psor nom.fichier {liste.articles} {(options}

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.

Plusieure commandes d'op permettent de sélectionner les caractéristiques des


imprimantes. Pour les utiliser efficacement, vous devez bien connaítre les limites de votre
imprimante.
Pour étre utilisée par op, une imprimante doit avoir été préalablement définie dans le
fichier 'devices' du compte dm. Ces articles sont foumis par Pick Systems, ils contiennent
les informations nécessaires au processeur de sortie pourformateretimprimerles
documents. Un maximum de 15 polices différentes peuvent étre décrites dans un article de
définition d'imprimante.

Formatage d'un document.

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.

Liste des commandes du processeur de sortie.


Cette section décrit chaqué commande avec sa propre syntaxe. La plupart des
commandes possédent deux formes : une forme longue et une forme courte. Cette
demiére est la plus courante. Les syntaxes sont identiques pour les deux formes.

.appendix titre .apx


Assignation de lettres alphabétiques aux titres des appendices et création des points
d'entrée dans la table des matiéres. Les appendices sont listés aprés le contenu de la
table des matiéres.

.begin page .bp


Effectue un saut de page, puis commence la pagination.

.block center .be


Centre 1'attribut qui suit la commande, jusqu'á la rencontre d'une commande .xblock
center.

.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

en caracteres gras, jusqu'ála rencontre d'une commande .xboldface. Si rimprimante ne


supporte pas ce mode, il sera ignoré.

.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éé.

.cap sentences .es


Transforme en majuscule la premiare lettre de chaqué phrase.
.xcap sentences désactive cette commande.

.center .c
Centre la ligne qui suit cette commande.

.chain {{diet} flchler} article


Sort immédiatement du document courant et continue la mise en forme avec le document
spécifié. op ne retoume pas au document appelant.

.chapter titre .ch


Cette commande permet de démarrer un nouveau chapitre. Un saut de page est effectué.
La numérotation des chapitres est automatique et est sauvegardée pour la génération de la
table des matures.
Le numéro du chapitre apparaft en haut de la nouvelle page et le titre est affiché deux
lignes plus bas. Ils sont centrés tous les deux.
H est possible de modifier le format utilisé par la commande .set chapter.

.char {déllmlteur} chaíne.caractéres {déllmlteur}


'chaíne.caractéres' ne sera pas interprétée par op et sera envoyée directement á
rimprimante. Le délimiteur par défaut est 1'espace. Cette commande doit étre inclue dans
une phrase sans casser un paragraphe. Pour spécifier des caractóres non affichables, il
suffit de saisir un séparateur de valeurs (ctrl-v avec pmaj) suivi par la representation
décimale du caractóre á afficher. Le processeur de sortie n'affiche pas les séparateurs de

14
5
A.PICK / UNIX

valeurs.

.coin texte {.coln+1 texte}{.coln+2...}


Formate le texte en colonnes. Cette commande utilise les en-tétes et les espaces
spécifiés par la demiére commande .columns set ou .variable columns.

.columns set en*tétel,largeurl,espacel{;en-téte2,largeur2,espace2

.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.

.figure texte.descriptlf .flg


Pcrmet de numéroter séquentiellement les figures, en utilisant le numéro du chapitre courant,

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.

■footing "texte" .ft


Définit un en-pied qui sera affiché á la fin de chaqué page, "texte” est une composition de
chataes de caractéres et d'options. Ces demiéres doivent étre entre apostrophes.
texte doit étre entre guillemets.

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

.gohanglng tab .ght


Pemet de décaler le texte á partir de la position initialisée précédemment par la
commande .hanging tab.

.hanging tab {numérique} .ht


Initialise une tabulation depuis la position courante du texte. S'il y a n espaces avant la
commande .ht, le texte sera affiché á n+1 espaces depuis la marge gauche.

.heading {texte} {'options'} {"texte"}... .hd


Définit un en-tcte qui sera affiché au début de chaqué page, texte doit étre entre
guillemets, et les options entre apostrophes.
Les options sort les mémes que pour la commande .footing décrite ci-dessus.

.hlllte caractére .hl


Caractére de mise en valeur. Imprime le caractére spécifié dans la marge droite, jusqu'á
ce qu'une commande .xhilite soit rencontrée.

.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.

.Ident margin n .lm


Ajuste la marge gauche de n espaces. Si n est positif, la marge gauche est augmentée de
n espaces. Si n est négatif, elle est diminuée de n espaces.

.Indent rmargln n .Irm


Ajuste la marge droite de n espaces. Si n est positif, la marge droite est augmentée de n
espaces. Si n est négatif, elle est diminuée d'autant, et la longueur de la ligne est augmentée
de n espaces. Cette commande est sans effet sur la marge droite.

.Index {:'en-téte prlnclpale'}'phrase'{'phrase'...} .Ix


Cette commande est utilisée pour définir les entrées dans l'index général. Le texte et le
numéro de page sont mémorisés dans une liste d'index triés. Si le texte est composé de
plusieurs mots, il doit étre entre apostrophes.
L'impression de l'index se fait par la commande .print index.

1
4
8
LE PROCESSEUR DE SORTIE

.Index heading en-téte {(options} .Ixh


Cette commande substitue l'en-téte courante par une en-téte spécifique qui sera affichée au
début de chaqué page de l'index général. Les options sont identiques á celles définies pour la
commande .footing.

.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.

.left margin n .If


Définition de la marge gauche, n est le nombre de caractéres.

.line length n .11


Commande utilisée pour définir la longueur de la ligne. n est le nombre de caractéres
maximum.

.line printer .Ip


Dirige la sortie vers rimprimante.

.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.

.macro file nom.fichler .mf


Initialise le nom du fichier qui contient les macro-instructions op. Une macroinstruction est
un article de ce fichier et est appelée par son nom, précédé d'un point. Exemple: .rii Une
macro peut contenir des commandes op et du texte. Toute chaine de caracteres précédée
par un point et qui n'est pas une commande op sera traitée comme étant une macro-
instruction.

14
9
A.PICK / UNIX

.over char caractére .oc


Caractére d'inhibition utilisé pour indiquer que le texte qui suit ne doit pas étre interpreté
comme une commande d'op, mais au contrairc, étre affiché tel quel. Par défaut, ce
caractére est (_) souligné. .

Exemple _.bp Cette commande ne provoquera pas de saut de page.

.page length n .pl


Est utilisée pour définir le nombre de lignes par page. Les en-tétes et les en-pieds sont
compris.

.page number {n}


Permet de définir le numéro de page pour le départ de la numérotation.
Par défaut, n= 1.

.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.

.preface texte .pf


Cette commande permet d'initialiser le mode préface. L'en-téte du texte est centrée au
début de la page suivante et une numérotation différente est démarrée.

.prefix page .pp


Permet de numéroter les pages en ajoutant un préfixe (numéro du chapitre courant).
Exemple 3-3,3-4,3-5 etc...

.print Index .pl


Imprime la liste des index, triée par oidre alphabétique. Deux colorines sont imprimées par
page. Pour sauvegarder l'index dans un article, utiliser la commande .save index.

.print ptoc .pptoc


Imprime la table des matiéres partielle.

.print toe .ptoc

1
5
0
LE PROCESSEUR DE SORTIE

Imprime la table des matiéres compléte.

.prompt texte .prm


Envoie le texte sur la ligne suivante du terminal. Cette commande s'utilise conjointement
avec .input pour permettre une saisie de texte.

.read {(nom.fichler} article .r


Lit Particle spécifíé par 'nom.fichier article', puis l'insére dans le texte du document. A la fin de
Particle, le contróle est donné á nouveau au document courant.

.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.

.right margin n .rm


Définition de la marge droite. n est le nombre de caracteres.

.save contents article .sc


Sauvegarde la table des matiéres dans l'article spécifíé.

.save Index article .si


Sauvegarde 1'index dans l'article spécifíé.

.section {n} texte .sec


Commande utilisée pour établir une numérotation automatique des sections et l'inclure
dans la table des matiéres.

.set chapter options .sch


Initialise les options pour les en-tétes des chapitres. Cette commande doit précéder la

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.

.skip {n} .sk


Génére n lignes d'espaces, en relation avec l'espacement courant (commande .spacing).

.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.

.tab left {phrase} .ti


Déplace le texte á la prochaine position de tabulation et l'aligne sur la gauche.

.tab right {'phrase'} .tr


Déplace le texte á la prochaine position de tabulation et aligne á droite le demier caractére
sur la position de tabulation.

.tab rightm .trm


Aligne á droite le texte avec la marge droite.

.tab set n,n,n,... .ts


Initialise les arréts de tabulation qui doivent étre supérieurs á zéro et croissants.
20 tabulations au maximum sont possibles.
Une position de tabulation peut contenir jusqu'á 4 décimales. Cette fonction est trés
pratique pour utiliser les caractéres á espacement proportionnel.

.table texte .tbl


Commande utilisée pour établir une numérotation automatique des tables et Finclure dans
la table des matiéres. La numérotation est du type :7-1,7-2 etc...

.te heading texte.en-téte .tch


Cette commande substitue l'en-téte courante par une en-téte spécifique qui sera afñcbée
dans la table des matiéres, au début de chaqué page contenant les tables. Les options
sont identiques á celles définies pour la commande .footing.

.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.

.tcl box commande.tcl .tclbox


Identique á la commande piécédente, mais insére le résultat dans un cadre dont la largeur
est déterminée par les marges.

15
3
A.PICK / UNIX

.text page {n} .tp


Teste le nombre de lignes restant sur la page courante. S'il y a moins de n lignes, le texte
est imprimé sur la page courante, dans le cas contraire, le texte est imprimé sur la page
suivante.. Par défaut, n=4.

.underline .u
Souligne le texte suivant cette commande jusqu'á la rencontre d'une
commande .xunderline. Les espaces entre les mots sont également soulignés.

.underline words .uw


Identique á la commande piécédente, mais les espaces ne sont pas soulignés.

.variable columns espace,divisions,en-téte1,largeur1{;en-téte2,


Iargeur2{;...;en-téte7, largeur?}} .vcol
Spécifíe les paramétres permettant d'effectuer un formatage multi-colonnes.
Cette commande est utilisée lorsque la taille de la ligne est inconnue.
Le paramétre 'espace' indique le nombre d'espaces entre les colonnes.
Le paramétre 'divisions' indique le nombre de divisions découpant la ligne. La somme de
ces divisions doit étre égale á la longueur de la ligne.
'en-téte' définit l'en-téte de chaqué colonne.

.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.

.xbloc center .xbc


Désactive le mode .block center.

.xblodface .xbf
Désactive le mode gras.

.xbox
Fin du mode .box.

1
5
4
LE PROCESSEUR DE SORTIE

.xcap sentences .xcs


Fin de la commande .capitalize sentences.

.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.

.xprefix page .xpp


Désactive la commande .prefix page.

.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.

La puissance d’Advanced Pick est de permettre la création d’applications avec un


minimum de programmes Pick/Basic. Cela est rendu possible en utilisant conjointement
le processeur de mise i jour et le langage ¿’interrogation de la base.

Ce nouveau style de programmation permet de développer plus rapidement, done de


réduire les coüts. Mais attention, la partie analyse et la définition du modéle de données
doivent étre poussées.

Utilisation des codes de traitements.


Les codes de traitements sont stockés dans les articles de définition des attributs dans
les dictionnaires de fichiers.

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

Les conversions d’entrées.

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 conversions de sorties.

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.

Détails des codes de traitements.

Fonction algébrique.

Syntaxe afopérandeopérateuropérande)

Processeurs du systéme selectíonner, lister, pmaj.


Type de code article de définition d ’attribut
Attributs de dictionnaire conversions d’entrées et de sorties, corrélations.

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é.

r indique que la premiére valeur ou sous/valeur d’un attribut doit étre


utilisée répétitivement, lorsqu’on utilise l’opérande avec une valeur multiple
ou une sous-valeur.

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.

d Utilise la date courante en format interne.

Ipv Utilise le résultat de la demiére conversion.

nb Utilise le numéro de rupture en cours sur une ligne de détail.


Le niveau le plus bas estO, le niveau le plus hautest255sur une ligne total*
général (grand-total).

nd Compteur donnant le nombre de lignes listées depuis la demiére rupture.

ni Compteur donnant le nombre d’articles listés ou sélectionnés.

ns Compteur de sous-valeurs.

nv Compteur de valeurs.

t Heure en format interne.

1
5
9
A.PICK / UNIX

Opérateur.

+ Additionnc les deux opérandes.

- Le deuxiéme opérande est soustrait du premier.

* Les deux opérandes sont multipliés.

/ Division entiére de l’opérande 1 par l’opérande 2.

r Reste de la division entiére de l’opérande 1 par l’opérande 2.

: Concaténation de l’opérande 2 á la suite de l’opérande 1.

(p.code) Appliquer le code de traitements “p.code” á la valeur de l’opérande 1.

[m ,n] Extrait n caracteres de l’attribut, en commen^ant au m iéme caractóre.

s(ac) Additionner ensemble les multi-valeurs dans l’attribut “ac”.

Les opérateurs suivants comparent les deux opérandes et retoument le résultat 1 pour
vrai et 0 pour faux.

= Vrai si opérande1 égal opérande 2


< Vrai si opérande 1 inférieur á opérande 2
> Vrai si opérande1 plus grand que opérande 2
# Vrai si opérande1 différent de opérande 2
=> Vrai si opérande1 est plus grand ou égal á opérande 2.
=< Vrai si opérande1 est plus petit ou égal á opérande 2.

Corrélation horizontale entre deux fichiers.

Syntaxe bnom.flchler;acl;ac2{;x}

Processeur du systéme pmaj.


Type de code article de définition de fichier.
Attributs de dictionnaire corrélations.

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.

nom.fichier Fichier sur lequel doit s’effectuer la relation.

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.

x Ce paramétre permet d’effectuer le traitement suivant:


Syntaxe ac3;+ ou -
Additionne ou soustrait la valeur de l’attribut ac3 dans Particle courant, á la
valeur de l’attribut ac2 de Particle du fichier horizontal. “+” ou doivent étre
indiqués.
Si Particle courant est supprimé, Popération inverse est effectuée et retoume
automatiquement la valeur d’origine dans l’attribut ac2.

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.

Concaténe une suite d’éléments, qui peuvent ctre:


un numéro d’attribut, une chame de caractéres entre apostrophes, guillemets ou
“backslashes”, un astérisque spécifiant le résultat de la demiére opération de
corrélation ou de conversion.
x est un caractóre utilisé comme séparateur á insérer entre les éléments concaténés.
Ce caractóre ne peut pas etre un délimiteur systóme, ni un numéri- que, ni un espace,
ni un point virgule.
Le point-virgule est un séparateur particulier, qui indique que les éléments doivent étre
concaténés sans séparation.

Appel de sous-programmes Pick/Basic.


Syntaxe cali sous-programme
Processeurs du systéme selectionner, lister, pmaj.
Type de code article de définition d’attribut,
article de définition de fichier.
Attributs de dictionnaire conversions d’entrées et de sorties, corrélations.

Ce code appelle un sous-programme Pick/Basic catalogué. Son utilisation conjointe


avecle processeur de mise á jouren font un outil puissant. L’attribut courant traité par
pmaj est passé en paramétre au sous-programme. D’autres valeurs sont accessibles
par la fonction ACCESS de Pick/Basic.

Mise á jour de caractére.


Syntaxe cu

Processeur du systéme pmaj.


Type de code Attributs de article de définition d’attribut. conversions d’entrées.
dictionnaire
Ce code est utilisé comme conversion d’entrée, n
permet á la donnée contenue dans l’attribut du fichier associé d’étre modifié caractóre
par caractóre, si des conversions ou des corrélations ont été définies pour cet attribut

1
6
2
LES CODES DE TRAITEMENTS

Conversion de date.

Syntaxe d{n) {c} {s}

Processeurs du systéme selectíonner, lister, pmaj


Type de code article de définition d ’ attribut.
Attributs de dictionnaire conversions d ’entrées et de sorties, corrélations.

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 n indique le nombre de caractóres á afficher pour l’année. Les valeurs


permises sont 0,1,2,3 et 4. Par défaut, n = 4.

L’option c indique le format d’affichage á utiliser.

d Jour du mois (0 á 31).


j Calendrier Julien (1 á 366).
m Mois numérique (1 á 12).
ma Mois alphabétique.
q Numéro du trimestre (1 á 4).
w Jour numérique de la semaine (1 á 7).
wa Jour alphabétique de la semaine.
y Année sur 4 caracteres.

L’option s permet d’indiquer le caractóre á utiliser comme séparateur entre mois, jour et
année pour les dates numériques.

Formats usuels des dates.

mm/jj/aa Date américaine par défaut.


mm/jj L’année est la méme que la date systóme.
jj L’année et le mois sont les mémes que la date systéme.
jj/mm/aa Format Européen.
jj/mm Format Européen, l’année est la méme que la date systéme.
iü Date calendrier Julien. Ex: 345
aajjj Calendrier Julien sur 5 caractéres.
aa/mm/jj Date militaire.

16
3
A.PICK / UNIX

Fonction mathématique.

Syntaxe félément;élément;...

Processeurs du systéme selectíonner, lister, pmaj.


Type de code article de définition d’attribut.
Attributs de dictionnaire conversions d’entrées et de sorties, corrélations.

“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).

“chafne” La chaine de caractéres est mise dans la pile.

en La constante n est mise dans la pile.

d La date en format interne est mise dans la pile.

Ipv “load previous value”. Le résultat de la demiére corrélation, conversion ou de la


demiére fonction “f” est mis dans la pile.

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.

ni Le nombre d’articles listés ou sélectionnés est mis dans la pile.

ns Le nombre de sous-valeurs est mis dans la pile.

nv Le nombre de valeurs est mis dans la pile.

t L’heure en format inteme est mise 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.

* {n} Multiplication des deux éléments supérieurs de la pile, si n est indiqué, le


résultat est divisé par 10 puissance n-1.

/ L’élément 2 est divisé par l’élément 1, le résultat est empilé.

r L’élément 2 est divisé par l’élément 1, le reste est empilé.

+ Les deux éléments du sommet de pile sont additionnés, et le résultat est


empilé.

- Le deuxiéme élément de la pile est soustrait du premier. Le résultat est


empilé.

: L’élément 1 de la pile est concaténéádroile de l’élément 2. Le résultat est


empilé.

[ ] 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.

s Additionne, si elles existent, les multi-valeurs de l’élément 1 et empile le résultat

_ Echange les deux éléments supérieurs de la pile.

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.

relation Opérateurs relationnels comparant les deux éléments supérieurs de la pile.


L’élément 1 contient la valeur 1 si la condition est satisfaite et contient 0 dans
le cas contraire.

Les opérateurs sont:


= égal < inférieur non égal
> supérieur # inférieur ou égal (ou <=)
[ supérieur ou égal (ou >=) ]

16
5
A.PICK / UNIX

Extraction de groupe.

Syntaxe g{m}dn

Processeurs du systéme selectionner, lister, pmaj.


Type de code article de définition d’attribut.
Attributs de dictionnaire conversions d’entires et de sorties, correlations.

Le code “g” pennet d’extraire un groupe de caracteres délimités par des séparateurs.

Options

m Nombre de groupes de caracteres á sauter avant de commencer rextraction.


Par défaut m = 0.

d Caractere séparateur non numérique.

n Nombre de groupes contigus á extraire.

Index de correlation d’attribut.

Syntaxe I

Processeurs du systéme selectionner, pmaj.


Type de code articles de définition d’attribut.
Attributs de dictionnaire conversions d’entrées.

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.

Index de corrélation de fíchier.

Syntaxe l{fld}a.corrélatlon

Processeurs du systéme selectíonner, lister, pmaj.


Type de code article de définition de fichier.
Attributs de dictionnaire corrélation.

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).

fid Racine numérique du fid de l’index.

a Corrélation. Définit la facón de générer les clés.

Index de corrélation référengant d’autres fichiers.

Syntaxe lnom.flchler;a.spéciflcatlon

Processeur du systéme pmaj.


Type de code article de définition d’attribut.
Attributs de dictionnaire conversions d’entiées.

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.

nom.fichier Nom du fichier secondaire.

a.spécification Attribut permettant l’indexation dans le fichier secondaire.

16
7
A.PICK / UNIX

Correlation d’identification d’article.

Syntaxe ld{sous.code)

Processeur du systéme pmaj.


Type de code article de définition de fichier.
Attributs de dictionnaire correlations.

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}

Processeur du systéme pmaj.


Type de code Attributs de article de définition d’attribuL conversions d’entrées et
dictionnaire de sorties.

Ce code renvoie la longueur d’une donnée ou spécifie les contraintes de longueurs que doit
respecter la donnée.

n Nombre de caractéres que la donnée doit contenir.

m Nombre de caractéres maximal que la donnée peut contenir.

1
6
8
LES CODES DE TRAITEMENTS

Masque de caracteres.

Syntaxe me code

Processeur du systéme pmaj.


Type de code article de definition d’attribut.
Attributs de dictionnaire conversions d’entrées et de sorties.

Perniet la conversion de caracteres majuscules en minuscules ou inversement et d’extraire


certaines categories de caracteres.

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

Processeur du systéme Type pmaj.


de code article de definition d’attribut.
Attributs de dictionnaire conversions d’entrées.

Le “mi” (must input) code rend la saisie d’un attribut obligatoire.


Le processeur de mise á jour ne met pas en fichier un article qui contient un attribut “mi”
non renseigné.

16
9
A.PICK / UNIX

Masque hexadécimal.

Syntaxe mx / my

Processeurs du systéme selectionner, lister, pmaj.


Type de code article de définition d ’ attribut.
Attributs de dictionnaire conversions d ’entries et de sorties.

mx Ce code de traitements permet de convertir une chaine de caracteres ASCII


en hexadécimal.

my Code inverse de “mx” Les nombres hexadécimaux sont convertís dans leur
equivalent ASCII.

Masques de justification á droite et á gauche.

Syntaxe mr/ml{n{m}}{z}{,}{c/d/e/m/n}{F}{(format.masque)

Processeurs du systéme lister, pmaj.


Type de code article de définition d’attribut.
Attributs de dictionnaire conversions d’entrées et de sorties.

ml Masque de justification á droite.


mr Masque de justification á gauche.
Ils permettent de convertir des nombres et de les cadrer. A Fexception de “mr”
ou “ml”, tous les paramétres sont facultatifs.

n Chiffre de 0 h 9.11 précise le nombre de chiffres aprés la virgule décimale.


Ex: mr2

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.

z Remplace les zéros par des caracteres blancs.

, Séparateur des milliers.

c Les valeurs négatíves sont suivies des lettres “cr”.

1
7
0
LES CODES DE TRAITEMENTS

m Les valeurs négatives sont précédées du signe

e Les valeurs négatives sont placées entre les signes ”<? et

n Supprime le signe des valeurs négatives.

F Signe monétaire concaténé au nombre avant cadrage.

Format.masque.

Les masques de formats sont toujours entre parentheses, ils component des codes de
format n est facultatif.

%n Cadrage dans une zone de n zéros.


*n Cadrage dans une zone de n astérisques.
#n Cadrage dans une zone de n espaces.

Ex: mr, mr2, mr(##.##.##), mr(%12) etc...

Masque de temps.

Syntaxe mt{h}{s}

Processeurs du systéme lister, pmaj.


Type de code article de définition d’attribut.
Attributs de dictionnaire conversions d’entrées et de sorties, corrélations.

Permet la conversion de l’heure interne en format exteme et réciproquement. L’heure


interne est le nombre de secondes depuis minuit.

h Facultatif, précise que le format utilisé est de 12 heures. Ex: 07:44AM, 05:56PM.

s Facultatif, précise que les secondes doivent étre spécifiées.

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

Processeur du systéme pmaj.


Type de code Attributs de article de définition d’attribut. conversions d’entrées.
dictionnaire Effectue un tri ascendant des valeurs de Fattribut. Les
valeurs sont triées, lorsque Particle est mis en fichier.

Masque de vérifícation.
Syntaxe p(op){;(op)...}

Processeur du systéme pmaj.


Type de code article de définition d’attribut.
Attributs de dictionnaire conversions d’entrées et de sorties.

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{;...}}

Processeur du systéme pmaj.


Type de code article de définition d’attribut.
Attributs de dictionnaire conversions d’entrées.

Ce code de traitements renvoie les valeurs des données qui ne vérifient pas les limites
indiquées.

n Limite inférieure. m Limite supérieure.

1
7
2
LES CODES DE TRAITEMENTS

Substitution.

Syntaxe sopl;op2

Processeurs du systéme selectionner, lister, pmaj.


Type de code article de définition d’attribut.
Attributs de dictionnaire conversions d’entrées et de sorties, corrélations.

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.

opl et op2 peuvent étre:


Soil un numéro d’attribut.
Soil une chaine de caractéres délimitée par un séparateur différent du premier.
Soil un astérisque indiquant que l’élément de substitution sera la valeur courante.

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

Processeurs du systéme lister, pmaj.


Type de code Attributs de article de définition d’attribut.
dictionnaire conversions d’entrées et de sorties, corrélations.

Ce code de traitements permet d’extraire un nombre spécifique de caractéres d’un attribut.


m Numéro de colonne du premier caractóre á extraire
n Nombre de caractéres á extraire.

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}

Processeurs du systóme selectionner, lister, pmaj.


Type de code article de définition d’attribut.

17
3
A.PICK / UNIX

Attributs de dictionnaire conversions d’entrées et de sorties, corrélations.

Ce code de traitements est un classique du systóme Pick, n permet de manipuler une


valeur d’attribut par l’intermédiaire d’un autre fichier. La valeur á traduire sert d’identificateur
d’article pour extraire la valeur de I’attribut, choisi dans le fichier de conversion.

nom.fichier Norn du fichier de conversion.

sousxode Sous-code de traitements.

C Si I’attribut á convertir n’a pas de valeur ou si Particle de conversion


n’existe pas, la valeur initiate est utilisée, sinon la conversion est faite.

i La vérification de la valeur d’attribut se fait en entrée. Cela correspond


á v en entrée et c en sortie.

o La vérification de la valeur d’attribut se fait en sortie. Cela correspond á


c en entrée et v en sortie.

v L’attribut á convertir doit avoir une valeur, ainsi que I’article de conver
sion.

x Si I’attribut á convertir n’a pas de valeur ou si I’article de conversion


n’existe pas, une valeur nulle est utilisée.

cv Compteur de valeurs. Utilisé avec les attributs multi-valeurs, il permet de


spécifier le numéro de la valeur á renvoyer. Si “cv” est omis, toutes les
valeurs de I’attribut sont renvoyées, concaténées, séparées par des espaces.

e.ac Représente le numéro d’attribut á traduire. C’est le numéro d’attribut pour la


conversion en entrée. Sa valeur sert d’identificateur d’article du fichier de
conversion.

1
7
4
LES CODES DE TRAITEMENTS

s.ac Rcprésentelenumérod’attributpourlatraductionensortie.Savaleursert d’identificateur


d’article du fichier de conversion. En sortie, la valeur de l’attribut numéro
“s.ac” du fichier de conversion sera éditée. “s.ac” est obligatoire.

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

Processeurs du systéme Type selectíonner, lister, pmaj.


de code article de définition d’attribut.
Attributs de dictionnaire conversions d’entrées et comélations.

Ce code de traitements passe le contróle á un programme assembleur Pick. La valeur nxxx


indique le nom du programme.

Exemple u201e

Code de valeur.

Syntaxe vn

Processeur du systéme Type pmaj.


de code article de définition d’attribut.
Attributs de dictionnaire conversions d’entrées.

Le code de traitements “v” est utilisé comme conversion d’entrée. II indique le nombre
maximum de valeurs permises dans cet attribut

n Nombre de valeurs. “n” doit étre un nombre entier.


Si n = 0, aucune donnée ne pourra étre saisie.

17
5
A.PICK / UNIX

Affichage seul.
Syntaxe x

Processeur du systéme pmaj.


Type de code article de définition d’attribut.
Attributs de dictionnaire conélation.

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.

Trace de mise á jour.


Syntaxe xnac{v}

Processeur du systéme Type de pmaj.


code article de définition de fichier.
Attributs de dictionnaire corrélation

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.

C’est depuis dm que Fon crée et maintient les maftres-dictionnaires du systóme.

Les fichiers présents dans dm sont:

files Appelé aussi «fichier des fichiers».


C’est le fichier des statistiques.

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.

Files ne doit en aucun cas étre effacé ni modifié par l’utilisateur.

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 md Nom du maitre-dictionnaire propriétaire du fichier.

2 file-name Nom du fichier stocké dans le maitre-dictionnaire du


comptepropriétaire.

3 data-name Un dictionnaire peut avoir plusieurs fichiers de données, chacun


avec son propre nom. Le nom par défaut de la section données est
identique au nom du fichier stocké dans le maitre-dictionnaire.

4 mod Modulo du fichier. C’est le nombre de partitions contiguas consti-


tuant l’espace primaire du fichier.

5 items Nombre total d’articles (incluant les articles pointeurs) contenus


dans le fichier lors de la demiére sauvegarde générale.

6 ptr-items Nombre d’articles pointeurs sauvegardés lore de la demiére sauve-


garde générale.
Nombre d’articles partiellement ou complétement stockés dans
7 ovf-items l’es- pace secondaire du fichier lore de la demiére sauvegarde
générale.

1
7
8
ENVIRONNEMENT ADVANCED PICK

8 bytes Nombre d’octets du fichier lors de la demiére sauvegarde


générale.
9 ptr-bytes Nombre total d’octets de tous les articles pointeurs lors de la
demiére sauvegarde générale.

10 frames Nombre total de partitions constituant le fichier lors de la demiére


sauvegarde générale.

11 ptr-fms Nombre total de partitions de tous les articles pointeurs lors de la


demiére sauvegarde générale.

12 svdate Date de la demiére sauvegarde du fichier.

13 reel# N° du volume du support magnétique sur lequel le fichier débute.

14 seq# Séquence décimale indiquant l’ordre dans lequel le fichier a été


sauvegardé sur le support magnétique.

15 opendate Date de la demiére ouverture du fichier.

N° de la demiére sauvegarde sur laquelle le fichier a été


16 stat#
sauvegardé.
18 file-code
Les états valides du fichier sont:
c Vider le fichier.
d Supprimer le fichier.
n Nouveau fichier.
r Fichier qui a été renommé.
t Fichier restauré depuis un support magnétique.
Cet attribut contróle les attributs 19 et 20.

19 timedate Heure etdate de la demiére activité produite sur le fichier. Cet


attribut dépend de l’attribut 18.

20 user Utilisateuretcomptequiontproduitl’actionsurlefichier.Cétattribut est


dépendant de l’attribut 18.

Contient la liste des articles á sauvegarder pour ce fichier.


21 save-list
Chaqué nom d’article est un attribut La liste débute en attribut 25.
sa taille n’est pas limitée.
Pour sauvegarder tous les articles du fichier, utiliser un astérisque
(*).

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.

Attributs du fichier mds

0 acct.name Nom du maítre-dictionnaire référencé comme étant un compte.

1 type q Indique un pointeur de définition de fichier.


d Indique un article de définition de fichier. “d” peut Stre suivi par:
1 Sauvegarde de routes les mises á jour par le processus de
sauve- garde des transactions. N’est pas compatible avec les
options x ou y-
p L’espace primaire de fichier ne contient que des articles
pointeurs. s Les clés des articles sont sensibles aux majuscules et
minuscules (case-sensitive).
x Ne pas sauvegarder ce maítre-dictionnaire sur support magnéti-
que. Le md n’existera pas aprés une restauration générale.
y Ne pas sauvegarder les données de ce maítre-dictionnaire sur
support magnétique. Lors d’une restauration, recréer le maítre-
dictionnaire á l’état vide.

2 base/dict Adresse décimale de la partition (base fid) du maítre-dictionnaire.

3 modulo Modulo du maítre-dictionnaire. Par défaut, le modulo est 37.

5 ret-lock Contróle des accés au maítre-dictionnaire. Une cié d’un utilisateur


doit vérifierun des verrouspour pouvoir accéderau maítre-
dictionnaire. Les venous multiples sont traités commedes valeurs
multiples et sont séparées par des séparateurs de valeurs.

7 password Modedepassenécessaire pour accéderau máitre-dictionnaire.


Affiché sous forme cryptée.

8 syspriv Privilege accordé au maítre-dictionnaire.


Il peut étre égal á sysO, sysl ou sys2.
sys ce plus bas niveau ne permet pas d’accéder á un autre md.
O permet les mises á jour et l’accés aux unités de bandes
sys magnétiques. est le privilége maximum. Il permet l’accés á routes
l les fonctions du systéme.
sys

18
0
ENVIRONNEMENT ADVANCED PICK

9 attribute-type Affichage et séquence de tri pour le md.

10 width Nombre de positions horizontales á réserver pour les clés du md.

13 reallocation Spécifie un nouveau modulo. Le modulo doit étre entre parentheses. Le


contenu de cet attribut est utilisé par le processeur de restauration pour
changer, le cas échéant, le modulo du fichier.

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.

La cié des articles est le numéro du message.

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

La cié de l’article est le numéro du pib.


Les caractéristiques des unités physiques sent dérivées du fichier devices. L’article du
fichier pibs définit le type d’unité physique, alors que l’article du fichier devices définit
les caractéristiques de l’unité.

Attributs du fichier pibs.

1 location Descriptif de I’emplacement oh se trouve l’unité physique


connectée sur ce pib.
Ex: Bureau de Patrick M. poste 215

2 device Nom de l’unité physique (cié de l’unité dans le fichier devices)


identifiant l’unité spécifique connectée sur le pib. Lorsque la ligne
devient active, le type d’unité est automatiquement initialisé.

État courant du pib. N’est affiché qu’au travers d’un programme


3 status
de consultation.

4 abs-fid Numéro en décimal de la premiare partition (fid) de la section


absolue du systóme.
N’est affiché qu’au travers d’un programme de consultation.

5 pcd-fid Numéro en décimal de la partition contenant le bloc


d’identification du processus (pcb) rattaché á ce pib. N’est affiché
qu’au travers d’un programme de consultation.

Emplacementduprogrammeetdu tampon d’exécution que le


6 pgm-ctr
processus est en train d’exécuterál’intérieur de la section
absolue.N’estaffiché qu’au travers d’un programme de
consultation.
7 user Nom de l’utilisateur connec té h ce pib. Mis h jour lors de la
connexion, puis supprimé lors de la déconnexion. Utilisé pour la
gestión des historiques de connexion.

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.

9 u-time Heure h laquelle 1’ utilisateur s’est connecté h ce pib. Géré de la


méme fa^on que l’attribut 8.

10 md Nom du maítre-dictionnaire (article du fichier mds) rattaché h ce


pib. Géré de la méme fa^on que l’attribut 8. Get attribut est aussi
utilisé pour la gestión des historiques de connexion.

DateálaqueUel’utilisateurs’estconnecté dans ce maítre-


11 md-date
dictionnaire. Géré de la méme fa^on que l’attribut 8.

1
8
2
ENVIRONNEMENT ADVANCED PICK

12 md-time Heure á laquelle rutilisateur s’est connecté dans ce maltre-diction-


naire. Géré de la méme fa^on que l’attribut 8.

13 epu Nombre d’unités utilisées par le processus pour s’exécuter dans


l’unité centrale de Tordinateur. Une unité epu équivaut á 1/10 de
seconde. Le contenu de cet attribut n’est affiché qu’au travers d’un
programme de consultation et est utilisé pour la gestión des
histori- ques de charges.
Nombre de lectures effectuées sur le disque depuis la connexion
14 disk
dans
lecompte.N’estaffichéqu’autraversd’unprogrammedeconsultation.
Nombre de pages imprimées depuis la connexion dans le compte.
15 pages
Le contenu de cet attribut n’est affiché qu’au travers d’un
programme de consultation et est utilisé pour la gestión des
historiques de charges.

jobs
Le fichier jobs contient un article descriptif de chaqué táche fantóme soumise á
exécution.

La cié est composée de 9 caracteres (4 pour la date et 5 pour l’heure), plus un


caractóre alphabétique en cas de soumission de plusieurs táches durant la méme
seconde.

Pour plus d’informations concemant la structure de ce fichier, consultez le chapitre


relatif aux táches fantómes.

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).

Attributs dufichier devices.

1 dése Nom complet de l’unité physique. C’est un attribut de


commentaire.
Séquence de caracteres spécifiqueá l’unité pour réaliser une
2 function
fonction; par exemple effacement de l’écran, inversion vidéo etc...
Ces séquences de caracteres sont défmies de I’attribut 2 á
I’attribut n.

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.

Attributs dufichier accounts.

1 md Nom du maítre-dictionnaire (article de mds) pour la période


comptabilisée.

2 1-date Date de la période de comptabilité.

3 1-time Heure de la période de comptabilité.

4 acct-time Nombre de secondes de la période comptabilisée.

5 epu Nombre d’unités utilisées par le processus pour s’exécuter dans


l’unité centrale. L’échelle de temps est le 1/10 de seconde.

6 pages Nombre de pages imprimées durant la période comptabilisée.

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

Attributs dufichier users.


1 name Nom de rutilisateur autorisé á se connecter.

2 address Adresse de I’utilisateur.

3 zip Code postal.

4 phone Téléphone.

6 keys Ensemble des clés d’accés vérifiant les codes de protections


d’accés aux maitres dictionnaires. Les valeurs de cet attribut sont
stockées en multi-valeurs. Si une cié vérifie un code de protection,
l’accés peut se faire.

7 password Mot de passe nécessaire á la connexion de I’utilisateur.

8 privilege Privilege systéme de I’utilisateur.

9 options Options:
a Comptabiliser les connexions.
r Redémarrer la procédure de connexion.

Macro-instruction á exécuter lors de la connexion. 11 s’agit d’une


12 macro
macro-instruction de type n (non stop).

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.

La cié est composée de 9 caracteres représentant la concatenation de la date et de


Theure, plus un caractére alphabétique si plusieurs erreurs apparaissent dans la
seconde.

Les types d’erreurs détectées sont:

illegal opcode forward link zero crossing frame limit


privilege opcode disk error overflow backward link zero illegal
release error index b-tree error frame reference stack
automatic test procedure error format error group format
error logoff (z command
log-msg

18
5
A.PICK / UNIX

Attributs dufichier errors.


1 type Code de I’erreur. C’est á dire: 01 rtn null OB stk fmt
02 rtn full OC Ivl push
03 zero fid OE end off
04 firm limit OF trace
05 fwd link 11 gfe count
06bcklink 12 gfe link
07 priv op 13 gfe body
08 bad fid 14 gfe hash
09 disk err 15 b-tree index
OA break lóovfmulrel

2 user Maitre-dictionnaire dans lequel I’erreur s’est produite.

3r Registre concemé par I’erreur.

4 mode-addr Adresse du mode lorsque I’erreur est apparue.

5 abs-fid Adresse de la partition de base de la section absolue.

6 pgm-ctr Compteur programme lorsque I’erreur est apparue.

7 abs-date Date de création de la section absolue dans laquelle I’erreur s’est


produite.

8 abs-imp Type d’implémentation de la section absolue.

11 pcb-fid Adresse de la partition du bloc de contróle du pib.

12pib Numéro du pib sur lequel I’erreur s’est produite.

20 registers Image des registres du systóme.

21 run-stack Tampon d’exécution du processus.

22 tcl-stack Trois demiéres commandes tel saisics.

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).

» EN AUCUN CAS, CE FICHIER NE DOIT ÉTRE DÉTRUIT OU MODIFIÉ •

abs contient trois types d’articles •

18
7
A.PICK / UNIX

F Définition de partition.

1 Code de type “f”.


2 Noms des modes se trouvant dans cette partition (multi valeurs, mv).
3 Adresse d’emplacement du mode dans la partition (mv).
4 Taille du code objet du mode (mv).
5 Code de vérification.

D Définition de mode.

1 Code de type “d”.


2 Adresse hexadécimale (hexa) de la partition dans laquelle se trouve ce
mode.
3 Adresse hexa de I’emplacement du mode dans la partition.
4 Taille du code objet du mode.
5 Modes appelés par celui-ci.
6 Modes qui appellent ce mode.
7 Adresse dans ce mode oü la référenceest faite.

U Mode non défini.

1 Code de type “u”.


6 Modes qui appellent ce mode non défini.

1
8
8
Le Systéme d'organisation des Fichiers.

D'une maniére générale, quelque soit le systóme Sexploitation, le systéme de fichiers


constitue un des facteurs les plus importants en terme de bonne exploitation et de
performances de la machine. H est important de bien comprendre son fonctionnement.

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.

Pick est particuliérement bien étudié pour la gestión des informations.

L'essentiel du développement d'une application sous Pick est de définir le probléme en


terme de fichiers et de relations entre ces fichiers, et non en terme de programmes. Ces
demiers sont importants, mais avec Advanced Pick ils sont secondaires.

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.

Ce principe de gestión permet aussi de réduire sensiblement le temps de chaigement

1
8
9
A.PICK / UNIX

des articles du fait de leur petite taille.

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.

Structure logique des fichiers.


Les fichiers sont composés d'articles, d'attributs, de valeurs et de sous-valeurs. Les
articles sont gérés en longueur variable et sont délimités par des marques de segment
"sm" (valeur hexa 'ff). Les attributs sont délimités par des marques d'attribut "am"
(valeur hexa 'fe'). Les valeurs sont, quant á elles, délimitées par des marques de
valeurs "vm" (valeur hexa 'fd'), et enfin les sous-valeurs sont séparées par des marques
de sous-valeurs "svm" (valeur hexa 'fc').

La présence de ces séparateurs permet de limiter la taille de I'article á la somme des


tailies des données qui le compose.

Nous pouvons résumer la structure des fichiers de la maniére suivante:

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.

Toutes ces informations sont accessibles directement.

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

La technique d'accés direct constitue un point important du systéme de fichiers. En effet,


pour accéder á un article, seule la cié est nécessaire. Le systéme détermine quelle est
l'adresse physique oú se trouve l'article sur le disque. Muni de cette information, il ira
directement chercher l’article.
Cette technique est simple et trés rapide.
Les articles peuvent aussi étre indexés par attribut, puis accédés par la cié d'index. Les
instructions relatives á la formation des clés d'index sont spécifiées par les codes de
traitements de type 'a'. Le nombre d'index n'est pas limité par fichier.
Les fichiers peuvent étre mis á jour par les codes de traitements, par les programmes
Pick/Basic, par les procédures et par le processeur de mise á jour.

Hierarchic des 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.

Niveau 0 Fichier "mds" Un par systéme.


Niveau 1 Maítre-dictionnaire utilisateur. Unparcompte.
Niveau 2 Section dictionnaire de fichier. Si nécessaire, plusieurs
Niveau 3 Section données de fichier. parcompte.

La racine de l'arbre se situé en haut Cest le fichier "mds".

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.

La cié des enregistrements de "mds” est le nom du maítre-dictionnaire que l'utilisateur


spécifie lorsqu'il se connecte.
Cette cié est unique. D'un principe général, les clés des articles contenus dans un fichier ne
peuvent pas étre identiques. Le contenu peut étre identique, mais chaqué cié est unique.

Les articles servent de pointeurs sur le niveau inférieurdes maítres-dictionnaires. La


structure de ce fichier est détaillée dans le chapitre “L’environnement d'Advanced Pick”.

19
1
A.PICK / UNIX

Maitre-dictionnaire.

H existe un et un seul md par compte utilisateur. Le maitre-dictionnaire contient


l'intégralité des conunandes, des macros-instructions, des procédures qui constituent le
vocabulaire du compte utilisateur.

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.

Etudions en détail la structure des articles de définition de fichiers et des pointeurs de


type ’q*.

Structure des articles de définition de fichiers.

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

La base est l'adresse de la partition qui identifie le début de l'espace primaire.

3 Modulo.
Nombre de partitions contiguas associées á l'espace primaire du fichier.

4 Réservé et non disponible.

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).

6 Verrón de mise á jour.


Fonctionnement identique á celui de l'attribut 5.

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.

11 Réservé et non disponible.

12 Réservé et non disponible.

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.

16 Réservé et non disponible.

17 Description.
Attribut réservé aux commentaires.

Pointeurs ’q' de fichiers synonymes.

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

pclients pbp C1991


01 q 01 q 01 q
02 compta 02 dm 02
03 clients 03 bp 03
clientsl991
Dictionnaire de fichier.

Claque fichier Pick comporte deux sections. La section dictionnaire et la section


données.

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.

fi peut y avoir plusieurs sections de données associées á un seul dictionnaire. C'est ce


que l'on appelle communément les fichiers "multi-datas".

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.

Structure des articles de définition des attributs.

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

l'attribut á identifier est le téléphone, la cié peut étre: tel.

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.

5 Réservé et non disponible.

6 Réservé et non disponible.

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.

u Justification á gauche avec débordement á droite.


w Formate la donnée au travers d'une commande du processeur de sortie. hTimporte
quelle commande valide de (op) peut suivre ce code. Ne fonctionne pas pour les
formats sous forme de colonnes.
w Formate tous les attributs á partir de la position courante au travers d'une
commande d'op. 'ww* précise également que les données sont traitées au
travers du correcteur orthographique.
x Utilisé conjointement avec les options T, Y, ou 't' pour étendre la taille de l'affichage
au maximum.

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.

11 Réservé et non disponible.

12 Réservé et non disponible.

13 Réservé et non disponible.

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.

16 Réservé et non disponible.

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

Commandes 'tel' de manipulation de fichiers.

Création de fichier.

La commande creer-fichier (create-file) est utilisée pour créer un nouveau fichier. Sa


syntaxe varié en function de la section du fichier á créer.

Syntaxes

creer-flchler nom.flchler modulo.dict modulo.data {(options)}

creer-fichier diet nom.dlct modulo.dict {(options)}

creer-flchler data nom.dlct,nom.data modulo.data {(options)}

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.

'modulo.dict' indique le nombre de partitions & alloucr it 1'espace primaire de la section


dictionnaire.

'modulo.data' indique le nombre de partitions allouées i 1'espace primaire de la section


données.

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.

s La cié des articles est sensible á la formulation des caractéres majuscules/


minuscules. Cette option est compatible avec toutes les autres options.

x Ne pas sauvegarder ce fichier. Ce fichier n'existera pas aprés une restau- ration de
compte ou une restauration générale.

y Ne pas sauvegarder le contenu de ce fichier. Ce fichier existera aprés une

19
8
SYSTÉME DE FICHIERS

restauration, mais sera vide.

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

:creer-fichier clients 3101 (Is

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.

:creer-fichier data clients,clientsl 991 101 (s

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

Syntaxe vider-fichier (diet / data} nom.flchier

Examples

:vider-fichier data clients,clientsl 991


Vide la section données 'clients 1991’ du fichier 'clients’.

:vider-fichier diet clients


Vide le dictionnaire du fichier 'clients'.

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.

La commande effacer-fichier (delete-file) est utilisée pour supprimer définiti- vement un


fichier d’un compte et retoumer i'espace qu’il utilisait á 1'espace disponible du systéme.

Syntaxe effacer-fichier {dlct/data} nom.flchier

Exempts effacer-fichier clients

Renommer un fichier.

La commande renommer-fichier (rename-file) permet de renommer un fichier.

Syntaxe renommer-flchler nomflchler

Le systéme demande alors le nouveau nom. Ce nom ne doit pas exister dans le maftre-
dictionnaire.

Exemple renommer-fichier clients


nouveau nom : clients-1992

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

Syntaxe copier nom.flchler llste.artlcles {(opt vers: {({diet} nom.flchler}


{llste-artlcles}

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.

Si les options't' ou ’p' ne sont pas spécifiées, le message 'vers(to:) demandant la


destination, s'affiche.
Si 'nom.fichier' riest pas spécifié, les articles seront copiés dans le fichier source. Si
aucune liste d'articles riest indiquée dans la destination, les clés d'articles seront les
mémes que celles dans le fichier source.

Exemples

:copier dm,bp, update-md f-resize


vers: maj-compte reallocation
1 update-md vers maj-compte
2 f-resize vers reallocation
2 articles copiés.

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'.

xopier dm.bp, format (p

Copie l'article 'format' du fichier 'bp' sur imprimante.

Stockage des données sous Advanced Pick.

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.

Le paramétre modulo est déterminé par I'utilisateur lots de la création du fichier.

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.

Cependant, il est tout de méme nécessaire de surveillerla vie du fíchier, et le cas


échéant, de le redimensionner correctement Nous étudierons ces principes plus loin.

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

Les partitions chainées de la sorte constituent l'espace secondaire du fíchier. Les


partitions de l'espace secondaire ne sont pas nécessairement contiguas.

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.

Sélection des módulos.


Les articles sont stockés et accédés en utilisant un algorithme de ’hash-coding’ qui
détermine quel groupe de l'espace primaire contient l'article. Cet algorithme est basé
sur la cié de l'article et sur le modulo du fíchier. A rintérieur du groupe, les données
sont stockées séquentiellement.

Sélectionner un bon modulo est extrémement important, car le nombre de partitions


d'un groupe affecte les temps de recherches et de mises á jour des árdeles du groupe.
La taille moyenne d'un groupe doit étre comprise entre 1 et 2.
Notez que le nombre d'accés disques augmente considérablement si le nombre de
partitions par groupe augmente.

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.

A cause de la nature mathématique de l'algorithme de lépartition, il est recommandé


que les módulos ne soient pas des multiples de 2 ni de 5.

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.

n est important de ne pas trop charger un fíchier. Un pourcentage de remplissage


compris entre 50 et 75 donne de meilleure résultats qu'un remplissage voisin de
80,95%.

De plus, la probabilité que plusieurs utilisateurs accident en méme temps au méme groupe
s'en trouve considérablement réduite.

Lorsque plus de 10 % des groupes possédent plus d'une partition ou lorsque le


pourcentage d'utilisation est inférieur á 50 %, il devient nécessaire de réallouer l'espace de
ces fichiers.

Reallocation des fichiers.


Nous avons vu qu'il était important de surveiller Involution des fichiers. Dans certains cas, il
s'avérenécessaire de redimensionnerles espaces primaires. Nous vous exposons ci-aprés,
le principe général de réallocation. II est á noter qu'une réallocation nécessite un arrét
momentané de l'exploitation.

Principe général de réallocation.

2
0
4
SYSTÉME DE FICHIERS

1) Effectuer une sauvegarde générale ou une sauvegarde du compte a réallouer. Cette


sauvegarde ne servirá que dans le cas oü la réallocation ne donne pas satisfaction. Par
exemple, si le nombre de partitions allouées en supplément, dépasse le nombre de
partitions de la réserve. Ne pas négliger cette étape.

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.

2) Réallouer le/les fichiers du systéme. Cela peut étre fait manuellement ou


automatiquement par la commande reallocation (f-resize).

3) Effectuer une sauvegarde générale ou une sauvegarde du compte dont un ou


plusieurs fichiers ont été réalloués.

4) Dans le cas d'une réallocation de compte, supprimer ce compte du systéme. Dans le


cas d'une réallocation compléte du systéme, supprimer la partie liases de données'.

5) Restaurer le compte ou effectuerune restauration générale ápartirdes bandes de


sauvegardes générées lors de l'étape 3.

C'est le processeur de restauration du compte ou de restauration générale qui


redimensionne les espaces primaires des fichiers.
Tout ce principe de réallocation est basé sur une fonctionnalité de l'attribut 13 de l'aiticle de
définition de fichier.

20
5
APICK / UNIX

Que doit et que peut contenir cet attribut ?

Le nouveau modulo doit étre placó entre parentheses, exemple 013 (59).
D peut étre suivi des optionsetw.

Un(point) placó á la suite du modulo, inhibera la réallocation du fichier. Notons que si un


point est placó dans I'attribut 13 de l'article de définition du compte dans "mds”, aucun
fichier du compte ne pourra étre róalloué.

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

013(101). 013(937)* 013(31)

Le programme de réallocation (f-resize).

Ce programme permet de réallouer automatiquement tous les fichiers de votre systóme.


11 n'est pas possible d'effectuer une réallocation de test Nous vous recommandons
done de faite une sauvegarde générale de votre machine avant de lancer son
exécution. De plus, il n'utilise pas les deux options précédemment décrites... La version
que nous possédons est un peu primitive, il est i espérer que dans les prochaines mise
á niveaux du systéme, ce programme sera revu et rectifié par Pick Systems.

Proposition d'un algorithme de réallocation.

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

n.mod = nb.tot.octets /1000

si n.mod > nb.art alors n.mod - nb.art *1.1

n.mod Nouveau modulo.


nb.totoctets Nombre total d'octets du fichier.
nb.art Nombre d'articles du fichier.

20
6
La gestión des index.

Les index sont nés avec la version Pick Open architecture.


Sous Advanced Pick, leur utilisation prcnd une nouvelle dimension gráce au processeur de
mise á jour et aux codes de traitements.

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.

Jusque lá, riend’extraordinaire. Parcontre, si une modification affectantl’index est apportée


au fichier, l’index sera automatiquement mis á jour par le systéme. Par exemple, si un
article est supprimé, toutes les entrées d’index pour cet article sont elles aussi supprimées.

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.

Commandes TCL de gestión des index.


La citation d’un index se fait par la conunande creer-Index (create-lndex).

2
0
7
Syntax» creer-index nom.fichler a.correlatlon

Crée un index pour le fichier “nom.fichier”.


La variable “a.correlation” est utilisée pour former la cié. Au minimum, un numéro d’
attribut doit étre spécifié. Voir le chapitre sur les codes de traitements.

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.

:ct diet clients clients

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

Cet exemple comporte deux index.

Suppression d’un index.

On supprime un index par la commande effacer-index (delete-index).

2
0
8
Syntaxe effacer-index nom.flchler {a.correlatlon}

Si “a.correlation” n’est pas précisé, tous les index seront supprimés.

Exemple: :effacer-index clients a2 [174] Index supprime.

Nombre de partitions occupées par un index.

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.

Syntaxe npartltlons-lndex nom.flchler a.correlatlon

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:

:npartitions-index clients * nframe-index clients at [177] 2 partitions comptées.

nframe-index clients a2
[177] 2 partitions comptées.

Vérification d’un index.

La commande verifier-index (verify-index) permet de vérifier si un index est correct.

Syntaxe verifier-index nom.flchlera.correlatlon

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.

Le systdme conserve en effet la définition des index dans I’article de définition du


fichier. La génération des index se fait en fin de restauration aprés les restaurations
éventuelles des bandes increméntales ou de transactions.

Utilisation des index depuis Access.

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.

Pour cela, il suffit d’insérer le code “a.correlation” dans I’attribut 8 de I’article de


definition d’attribut dans le dictionnaire du fichier.

Exemple de tri du fichier clients par nom, utilisant les index:

:trier clients par nom-indexe

idem, mais sans utiliser les index:


:trier clients par nom

2
1
0
GESTIÓN OES INDEX

Exemple

Fichier clients. Cié: numéro de client. Attribut 1: nom

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

Utilisation des index depuis PICK/BASIC.


Deux nouvelles instructions de manipulation d’index ont été ajoutées á Pick/ Basic. Ce sont
les instructions “root” et “key”.

L’instruction “root”.

Syntaxe

root "nom.fichler",’a.correlation’ to var {then., else traitement}

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 :

root “clients”,’at' to racine else print "Index non trouvé"

21
1
A.PICK / UNIX

L’instruction “key”.

Syntaxe key(“opérateur”,raclne,chaíne,clé) (then.. else traitement}

Cette instruction, utilisée conjointement avec l’instruction “root”, permet de naviguer


séquentiellement sur tout index d’un fichier particulier.

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 ****************************************************

003 * Prog: rech-index


004 * Obj.: Programme de démonstration índex.
005 * Obj.: Recherche de dés depuis un fichier índex.
QQg ****************************************************

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.

Qu’est ce qu'une tache fantóme ?


Une táche fantóme est une táche qui a été initialisée par un terminal, puis détachée de
celui-ci pour une exécution indépendante.

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.

Le nombre de PIES réservés ál'exécutiondes táches fantómes estdéterminé lors de


I'installation du systéme et est réglementé contractuellement. En général, il y a une ligne
fantóme pour chaqué groupe de 8 utilisateurs, la réalité dépend de rimplémentation de Pick.

Comment fonctionnent les táches fantómes ?


Un processeur logiciel, appelé encore scheduler, pilote l'ensemble. Avant tout lancementde
táche, ilestnécessaire de I'initialiser. Ceci estfaitpar la commande init-fantome (startsched)
lancée lors du démarrage du systéme par la procédure de system-coldstart.

Syntaxe Inlt-fantome {(n}


n est le numéro du pib sur lequel on souhaite démarrer le scheduler. Si n n'est pas
spécifié, le scheduler est initialisé sur le dernier pib fantdme.

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.

init-fantome crée un processus qui pilotera l'exécution des commandes si elles se


présentent. Une commande peut étre une phrase TCL, mais aussi un verbe créé par un
utilisateur. Tout type de commande exécutable directement depuis TCL est exécutable
par une táche fantóme.

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.

La cié des articles est la concaténation de la date et de Fheure. Le fichier jobs


conserve trace des commandes soumises.
Nous détaillerons le contenu de ce fichier plus loin.

L'utilisateur est informé que sa requéte a été prise en compte par un message que lui
retoume la commande fantome (z).

Exemple

On désire compter le nombre d'articles du fichier abs. Il suffit de taper:

dantome compter abs ou z compter abs

Le message suivant apparaft:


Travail 827367689 soumis.

Au terme de l'exécution de la commande, le résultat s'affiche sur le terminal qui a lancé


la commande.

19:12:38 12 NOV 1990 From account rii line 22


[407] 5690 articles comptés sur un total de 5690.

Lorsque la commande arrive dans le fichier jobs, le scheduler initialise un processus


sur une des lignes réservées du systéme.

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

L’exécution de la tóche terminée, le processus fantóme appelle le scheduler pour qu'il


ranéte. Le lien entre le pib et le pcb est alors cassé et l'espace de travail est retoumé á
l'overflow. Le scheduler se met alors en sommeil jusqu'á ce qu'il soit de nouveau sollicité.

Une trace de l'exécution de la tóche est conservée dans le fichier jobs.

Les lignes utilisées automatiquement parle scheduler sont situées au delá des lignes
utilisateurs.

Exemple : Soit un systéme 17 utilisateurs. L'exécution de la commande quoi (where) affiche


les informations suivantes :

: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.

Syntaxe de la commande fantóme (z).

fantóme {H}{S} {commande.tcl} ou z{h}{s} {commande.tcl}

Les options de cette commande ne sont pas entre parenthéses.


Les quatre formes de la commande sont: z, zh, zs et zhs. ou fantóme, fantomeh,
fantómes, fantomehs.

- 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

Dans le cas oh vous ne spécifiez pas la commande, le programme vous demandera, si


nécessaire, le nom du compte, le mot de passe, la phrase TCL, le numéro de la ligne
que vous désirez allouer pour l'exécution, ainsi que des données complémentaires pour
la phrase TCL.

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

Quelles sont les applications possibles ?


II peut étre intéressant d'utiliser les táches fantdmes pour des traitements qui
nécessitent beaucoup de temps, sans pour autant monopoliser un terminal ou une ligne
physique. Les éditions complexes peuvent rentrer dans ce cas.
Les superviseurs logiciéis sont foimellement déconseillés. En efifet, ce sont des táches
qui passent la majeure partie de leur temps á attendre la requéte qu'elles vont pouvoir
trailer, n ne faut pas oublier que dans ce demier cas, il s'agit d'un processus actif, done
consommateur de ressources. Une táche de la sorte monopolise continuellement une
ligne, et les autres utilisateurs sont pénalisés. n est préférable de lancer, directement
depuis le logiciel, les táches par la commande fantome. Le scheduler systéme se
chaigera beaucoup plus efficace- ment de trailer la commande qu'un superviseur
applicatif.

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...

Structure du fíchier jobs.

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.

Le contenu de ce fíchier est interrogeable par la commande:

2
1
8
LES TACHES FANTÓME

llster-travaux (llst-jobs)

Définition des attributs dufichierjobs.

1 status Etat actuel de l'exécution de la táche.


Les différents états possibles sont:
C Tache terminée.
E Arrét sur erreur.
L Déconnecté.
Q Mis en file d'attente.
R En cours de traitement
S Arrét sur erreur systéme.

2 user Utilisateur qui a soumis la táche.

3md Maítre-dictionnaire d'exécution pour la táche.

4 tcl-command Commande tcl soumise.

5 out État de sortie de la táche.


n Pour un fíchier venouillé dans le spooler.
M Messages de retour inhibés.
S Toutcs sorties supprimées.

6 who Pib qui a initialisé le travail.

7 start Date á laquelle le travail a effectivement démarré.

8 startt Heure á laquelle le travail a effectivement démarré.

Numéro de la partition contenant le bloc de contróle du travail


11 pcb-fíd
en cours.

12pib Pib qui a exécuté ou qui est en train d'exécuter le travail

15 stopd Date á laquelle le travail s'est anóté.


16 stopt Heure á laquclle le travail s’est arrété.

18 Nombre de pages imprimées

19 Message d'erreur en cas d'arrét.

Arret du scheduler.

Pour désactiver le scheduler, il faut taper la commande:

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.

Résumé des commandes relatives aux táchesfantómes.


init-fantome (startsched) Initialisation du scheduler fantdme
fantome (z) Soumission d'une commande
fantomeh (zh) Résultat dans un fichier verrouillé
fantomes (zs) Suppression des messages
fantomehs (zhs) d'erreurs
Combinaison de h et s
lister-travaux (list-jobs) Informations sur les taches
arret-fantome (stopsched) soumises
Désactivation du scheduler
fantdme.
Examples

Compilation du fichier bp avec récupération des messages dans un fichier du spooler.


iantomehs basic bp * ou :zhs basic bp*

Tri du fichier abs et impression du rapport iantomeh trier abs impr ou zh trier abs (p

Création du fichier test


iantome creer-fichier test 1 10007 ou :z create-file test 1 10007

Remarque Lorsque vous soumettez des commandes utilisant les unités de


bandes magnétiques, l'unité sera attachée á la ligne exécutant la commande et non au
compte qui soumet la requéte.

2
2
0
Sauvegardes & Restaurations.

Les processus de sauvegardes et de restaurations sont fondamentaux et en aucun cas


ne doivent étre négligés ou sous estimés. Bien souvent, il en va de la sécurité du
systéme informatique et dans bien des cas, de la survie de I’entreprise.

La sauvegarde permet de conserver une image compléte ou partielle de la base de


données á un instant précis.
Dans une exploitation nórmale, on effectue des sauvegardes dites de sécurités, et les
bandes magnétiques ne seront utilisées qu’en cas de probléme.

La restauration permet quant á elle de recharger tout ou partie de votre base de


données.

La question de la frequence des sauvegardes se pose. 11 est difficile d ’y répondre. H


n’y a pas de régle, tout dépend de la taille de la base de données et de l’activité du
systéme. Si vous utilisez votre systéme trés fréquemment, vous devez faite
impérativement des sauvegardes de fa?on réguliére.

Sous Pick, il est aussi important de faire des restaurations réguliéres pour restructurer
l’espace des fichiers en débotdement

Plusieurs types de sauvegardes et de restaurations sont possibles


sous Advanced Pick.

• Fichiers DICT/DATA.
• Maítre-dictionnaire (compte).
• Générale.
• Incrémentale.
• Transaction log.
• Restaurations sélectives.

Nous allons détaillerchaque type enexaminantles avantages etles inconvénients. II vous


appartiendra de décider des types de sauvegardes que vous utiliserez.

2
2
1
A.PICK / UNIX

Sauvegardes et restaurations de fichiers.

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)

Syntaxe b-ecrlre {diet} nom.fic {llste.artlcles} {crlt.selec} {label "texte"

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

Ecriture de la partie données du fichier abs


:b-ecrire data abs ou :b-ecrire abs

Processus de restauration.

Syntaxe b-charger {diet} nom.flc{llste.artlcles} {{opt}

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.

Sauvegardes et restaurations de maitres-dictionnaires.

Sauvegarde d'un maitre-dictionnaire.


Un maitre-dictionnaire est un environnement complet de travail. Ce type de sauvegarde,
trés utilisé, permet de sauvegarder un ensemble de fichiers et done de conserver une
cohérence globale de la base de données.
La commande utilisée est sauver-md (account-save, sauvegarde-compte). Elle permet
de sauvegarder un seul maitre-dictionnaire sur le support magné- tique courant.
Si le md contient des fichiers possédant des index, les index ne seront pas
sauvegardés, seule la définition de l’index le sera. Les index seront recréées
automatiquement lors d’une restauration ultérieure du md.

Syntaxe sauver-md maítre.dlctlonnalre

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».

Example sauvegarde du md pa sur l’unité de disquettes.

: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

Restauration d’un maitre-dictionnaire.

La restauration d’un md doit obligatoirement étre faite depuis le maitre- dictionnaire


«dm». Elle est effectuée par la commande restaurer-md (account-restore, restaurer-
compte).

Syntax» restaurer-md maítre.dlctlonnalre

Restaure un maítre-dictionnaire depuis un support magnétique. Le md spécifié ne doit


pas exister dans le fichier «mds».
H est possible d’effectuer une restauration de md depuis une bande de sauve- garde de
md ou depuis une bande de sauvegarde générale.
Les modifications sauvegardées sur des bandes de sauvegardes incrémcntalcs ou de
transactions doivent étre chargées aprés la restauration du md.

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.

:in¡t-d¡squette (ha :restaurer-md test account name on tape : compta

Les noms des tichiers en cours de chargement défilent sur l’écran.

A la fin de la restauration, le processeur pose les questions suivantes :

Restore from transaction log (y/n)


Restore from incremental save (y/n)

Vous devez répondre “y” si vous avez des bandes de sauvegardes incrémentales ou de
transaction. Dans le cas contraire, répondez “n”.

Si des index sont á générer, le systéme affichera:

Generating indexes for avions

oü avions représente le nom du fichier utilisé pour la génération des index.

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.

Cependant, il est recommandé d’en faire réguliérement pour deux raisons:

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.

La seconde, parce que le processus de sauvegarde générale est aussi un processus


intensif de mise á jour du systéme.
En effet, sous Advanced Pick, á chaqué fois qu’un article est supprimé, le corps de Particle
est retoumé & l’espace disponible, mais la téte de Particle ¢8 octets), ainsi que la cié sont
conserves dans le fichier. L’indicateur «árdele supprimé» est positionné, de telle sorte qu’il
n’apparaít pas lors de Putilisation des commandes lister, compter, trier, selectionner, etc...

La récupération de ces espaces est effectuée á la fin de la sauvegarde générale.

Le processus de sauvegarde générale est activé par la commande sauver (save,


sauvegarder)

Syntaxe sauver ((options)}

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.

La restauration générale a aussi pour but de restructurer l’organisation des dormées


sur le disque, c’est á dire de rendre les espaces de débordement des fichiers contigus
aux espaces primaires.
Les temps d’accés sont considérablement améliorés.

II est recommandé d’effectuer des restaurations générales réguliérement.

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.

Si plusieurs sauvegardes incrémentales ont été faites successivement, la der- niére


contíent l’ensemble des modifications effectuées depuis la demiére sauvegarde générale.

22
6
SAUVEGARDES - RESTAURATIONS

Pour effectuer une sauvegarde incrémentale, spécifier l’option “u” de la commande sauver
(save).

Restauration de bandes incrémentales.


Ces restaurations viennent en complément des restaurations de md, de la restauration
générale et de la restauration sélective. Les bandes doivent étre chargées, lorsque le
systéme pose la question:

Restore from incremental save (y/n)

répondre “y” aprés avoir chargé le support magnétique.

La commande sauver (save)

Syntaxe: sauver {(options)}

Cette commande, trés compléte, permet d’effectuer plusieurs types de sauvegardes :

• Systéme complet «sauvegarde générale».

• Articles modifiés depuis la demiére sauvegarde générale (sauvegarde incrémentale).

• Tous les articles spécifiés dans une liste de sauvegarde du fichier systéme «files».

• L’ensemble des fichiers d’un md (compte).

• 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.

i Sauvegarde individuelle d’unmaitre-dictionnaire. Le systéme demande

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.

m Identique á 1 ’option “1”. Mais cette option modifie 1 ’indicateur “article


modifié”, et les articles ne pourront done pas é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.

t Spécifié que le résultat de l’exécution de la commande sauver doit étre


écrit sur le support magnétique. Si cette option n’est pas spécifiée, tout le
traitement est effectué, mais ríen n’est écrit
Le systéme demande le texte á insérer dans le label de bande.

u Sauvegarde incrémentale. Sauvegarde tous les articles modifiés depuis


la demiére sauvegarde générale.

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.

Pour le fonctíonnement correct de la sauvegarde incrémentale, le systéme marque


chaqué article qui a été modifié. Cette marque est normalement effacée par une
sauvegarde générale sauf si Foption “v” est spécifiée. Les fielders sont sauvegardés
normalement

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.

Le processeur de sauvegarde verrouille les groupes lorsqu’il les sauvegarde. Ceci

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.

Un maximum de 4 groupes peuvent étre verrouillés i un instant donné.

• Le pointeur du md en cours de sauvegarde dans le fichier «mds»

• Le pointeur du dictionnaire du fichier en cours de sauvegarde

• Les partitions de la section données du fichier en cours de sauvegarde.

• Le dictionnaire du fichier «accounts»

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).

Sauvegarde des transactions. Type «transaction log».

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...

L’article de définition du fichier dans le maitre-dictionnaire doit avoir en premier attribut


le code «di». Pourcréerunfichierde ce type, il suffitde spécifier 1 ’option “1” ála
commande creer-fichier (create-file). Voirchapitreconespondant.

Ce processeur permet de faire des restaurations rapides, si cela s’avére néces- saire.

22
9
A.PICK / UNIX

L’écriture et la supervision du traitement sont gérées par une táche fantóme.

Type d'enregistrements sauvegardés sur le support magnétique.

• Création de fichier «log».


• Suppression de fichiers «log».
• Vidage de fichiers «log».
• Mise A jour d’un article: création, ajout et suppression de lignes.
• Suppression d’articles.

Le fichier «files» joue un r61e trfes important. Le numéro du fichier á sauvegarder,


dans le fichier «files», est utilisé pour repérer les articles mis á jour.

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.

Si le processus a été précédemment activé, aucune question n’est posée.

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

Les bandes de transactions doivent étre conservées jusqu’á la prochaine sauvegarde


incrémentale ou jusqu’á la prochaine sauvegarde générale.

Arrét du processeur de sauvegarde des transactions.

L’arrét est effectué par la commande arret-log (stoplog).

Syntaxe arret-log

Arréte le processeur de sauvegarde des transactions et détache l’unité de bande


magnétique. Les transactions sont conservées sur disque etserontécriteslorsdu démarrage
du processeur (commande init-log).

Restauration des bandes de transactions.

La restauration s’effectue de la méme maniére que pour les bandes de sauvegardes


incrémentales; c’est á dire, soit á la fin d’une restauration de md, soit á la fin d’une
restauration générale ou á la fin d’une restauration sélective.

Lorsque la question «Restore from transaction log tape (yM)» est posée, monter la
premiére bande, puis répondre «y».

Restaurations sélectives.

La restauratíon sélectíve permet de recharger un article ou le contenu d’un fichier dans


une base de données déjá existante, depuis une bande de sauvegarde générale, de
sauvegarde de md, de sauvegarde increméntale ou de bande de transaction.

La commande utilisée est: rest-sel (selective-restore)

Syntax» rest-sel fichier {llste.artlcles} {(options)

La restauratíon s’effectue á partir du support magnétique courant. La bande contenant


le fichier et le ou les articles á restaurer doit étre chargée.

fichier Nom du fichier dans lequel seront chargés le/les articles.


Le fichier doit exister dans le maitre-dictionnaire. liste.articles Liste
des articles á restaurer.
Une liste nulle indique qu’il faut recharger tous les articles.

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».

En cas d’utilisation de l’option “n”, le systóme demande le numéro du fichier á


restaurer. Dans le cas contraire, il demande le nom du compte, puis le nom du fichier.
Si vous ne spécifiez pas le nom du fichier, c ’est le md du compte qui sera restauré.

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.

Le systóme demande alors si la restauration est á effectuer depuis une bande de


sauvegarde générale, de sauvegarde increméntale ou de transaction.
Durant le processus de recherche, les noms de fichiers sont imprimés avec une
impression d’un espace pour les noms de comptes, de deux espaces pour les
dictionnaires, de trois espaces pour les sections de données des fichiers.
A la fin de la restauration, le systóme demande s'il existe des bandes de transactions
ou increméntales postérieures á la sauvegarde restaurée.

Examples

Restauration selective de Particle «banques» dans le fichier tables du compte


compta se trouvant sur la demiére sauvegarde générale, avec écrasement de
rancien article «banque».

: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.

:rest-sel clients (ol


account-name on tape: ventes file name: clients start from F)ull, incremental,
Transaction log (F/T/l) ? F

Vérifícation des sauvegardes.

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.

Syntaxe b-verlf {(a) (t-Chk)

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.

Exemple de restauration sélective fictive.

L’article de nom “fictif ’ n’existe pas, mais le fichier bp doit exister dans le md oü on
fait la restauration.

:rest-sel bp fictif (n file# 1

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.

Exemple de restauration fictive de compte.

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

A la fin de la bande, le message “compte non trouvé” apparaft.

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

REXON BUSINESS Licences «Pick Like»


MACHINES
Intel 286/386
3511 Sunflower Santa Anna, CA
92704 Tél :714-641-6500 US
A COSMOS, Inc REVELATION
SANYO/ICON 19530 Pacific Highway Seattle, U
WA 98188 Tél :206-824-9942 SA
Sanyo/Icon2000/3000/4000/5000
764 E. Timpanogos Parkway PRIME COMPUTER, Inc.
Orem. Utah 84057 US U
INFORMATION
Tél: 801-225-6888 A SA
Natick, Massachussetts
Tél :617-655-8000
SCAN-OPTICS Inc.
Sabre M-68020 V-MARK CORPORATION
P.O. Box 19602 Irvine, CA UNIVERSE
US U
92713-9602 Tél :714-660-0488 Natick, Massachussetts
A SA
Tél :617-655-4506

SEQUOIA SYSTEMS Inc.


Machines á tolérance de pannes.
1400 Quail St. Suite 245 Newport US
Beach, CA 92660 Tél :714-476- A
1122

STRATUS COMPUTER Inc.


X A 2000
Machines i tolérances de
pannes. US
24411 Ridgeroute Dr. Suite 200 A
Laguna Hills, CA 92653 Tél :714-
770-1304

TAU ENGINEERING Inc.


TauM-68000
2-15 Kanda Jinbo-Cho Daiichi
Fuji Building Chiyoda-Ku, Tokyo JAPO
101 Tél 03-234-2711 N

THE ULTIMATE Corp.

Honeywell Level 6 DEC LSI 11


IBM 43xx, IBM 93xx
DEC VAX
717 Ridgedale Avenue East
Hanover, NJ 07936 Tél :201-887- US
9222 A

2
3
6
Terminologie Pick - Américain/Frangais

:scrub-ovf nit-ovf dcd-off ded-non


a un dcd-on ded-oui
account-restore restaurer-md debug bogger
account-save sauver-md decatalog decataloguer
add add define-terminal definir-terminal
addd adec delete effacer
addx ahex delete-account effacer-compte
after apres delete-file effacer-fichier
and et delete-index effacer-index
assignfq sp-assign-fq delete-list effacer-liste
b/list lister-basic det-supp supp-det
basic compiler diag diagnostic
before avant diet diet
block-print titre-impr disc deconnecter
break-on rupture div div
brk-debug appel-bogger divd ddec
brk-level esc-niveau divx dhex
bverify bverifier dtx convdx
by par dump visualiser
by-dsnd par-decr duplicate dupliquer
by-exp eclate-par each chaqué
by-exp-dsnd eclate-par-decr echo echo
catalog cataloguer ed editer
charge-to imputer edit editer
charges lister-charges edit-list editer-liste
check-dx verifier-dx end arret
check-sum stat-octets esc-data esc-don nee
clear-basic- effacer-verrous-basic esc-level esc-niveau
clear-file vider-fichier esc-toggle activer-echappement
col-hdr-supp supp-col-ent every chaqué
compare comparer exec exec
compile compiler-minus exit sortie
compile-catalog compiler-cataloguer f-resize reallouer
compile-run compiler-executer fdisk fdisque
conv-case convertir file fichier
copy copier file-save sauvegarde
copy-list copier-liste fill compresse
count compter fl creer-liste
cp cimpr flush vider-memoire
create-abs creer-abs footing en-pied
create-account creer-compte for pour
create-file creer-fichier format formater
create-index creer-index ge pge
create-macro creer-macro get-list activer-liste
Ct copier-terminal gi liste
data-entry entrer-donnee grand-total total-generál
date date group groupe
dbl-spc dbl-itl gt pg

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

set-set init-minibande t-read b-lire


set-set-dma init-minibande-dma t-reten b-retendre
set-sym init-sym t-rew b-reb
set-time init-heure t-status b-etat
sh shell t-unld b-reb-det
shutdown arret-machine t-unld b-d echarger
size taille t-weof b-efdf
si sauve-liste t-wtlbl b-elabel
sleep sommeil tabs tb
sm envoi-message tape bande
sort trier tel tel
sort-item trier-article tcl-hdr-off supprimer-entete-tcl
sort-label trier-label tcl-hdr-on activer-tcl-entete
sp-assign sp-assigner tcl-supp supp-tcl
sp-efose sp-fermer term terminal
sp-edrt sp-edition term-type term-type
sp-kill sp-fin the Ie
sp-open sp-ouvrir time heure
sp-status sp-etat timedate-off supprimer-heure-date
sp-tapeout sp-bande timedate-on activer-heure-date
spread-sheet feuille-calcul to connecter-sous
sreformat trestructurer total total
ss feuille-calcul txlog-status etat-txlog
sselect tselectionner u pmaj
stack-off oublier-commandes ud pmaj-dict
stack-on memo riser-command unlock-frame deverrouiller-partition
startlog es init-log unlock-group deverouiller-groupe
startptr init-impr update pmaj
startsched inh-fantome update-account maj-compte
startspooler init-spooler update-md maj-md
steal-file transf-fichier using utilisant
stoplog arret-log ver'rfy-abs verifier-abs
stopptr stop-impr verify-index verifier-index
stopsched arret-fantome verify-system verifier-systeme
sub sub what quo!
subd sdec where etat-systeme
subdx subdx which systeme-generation
subx shex who qui
sum sommer with avec
supp supp-ent within en-arbre
t-att b-att without sans
t-bek b-ar xcs etendre-car
t-chk b-verif xonoff xonoff
t-det b-det xtd convxd
t-dump b-ecrire z fantome
t-eod b-fin zh fantomeh
t-erase b-effacer zhs fantomehs
t-format b-format zs fantomes
t-fwd b-av
t-load b-charger
t-rdlbl b-llabel

23
9
Terminologie Pick - Frangais/Américain

activer-echappement esc-toggle chercher-systeme search-system


activer-heure-date timedate-on cimpr cp
activer-liste get-list comparer compare
activer-tcl-entete tcl-hdr-on compiler basic
add add compiler-cataloguer compile-catalog
adec addd compiler-executer compile-run
afficher-identrfiant id-prompt compiler-minus compile
ahex addx compresse fill
appel-bogger brk-debug compter count
apres after connecter logon
arret end connecter-sous logto
arret-fantome stopsched connecter-sous to
arret-log stoplog convdx dtx
arret-machine shutdown convertir conv-case
arret-systeme power-off convxd xtd
article item copier copy
avant before copier-liste copy-list
avec with copier-terminal Ct
b-ar t-bck creer-abs create-abs
b-att t-att creer-compte create-account
b-av t-fwd creer-fichier create-file
b-charger t-load creer-index create-index
b-decharger t-unld creer-liste fl
b-det t-det creer-macro create-macro
b-ecrire t-dump dans in
b-efdf t-weof date date
b-effacer t-erase dbl-itl dbl-spc
b-elabel t-wtlbl dcd-non ded-off
b-etat t-status dcd-oui ded-on
b-fdf t-eof ddec divd
b-fin t-eod de of
b-format t-format decataloguer decatalog
b-lire t-read deconnecter disc
b-llabel t-rdlbl deconnecter logoff
b-reb t-rew definir-terminal define-terminal
b-reb-det t-unld deverouiller-groupe unlock-group
b-retendre t-reten deverrouiller- unlock-frame
b-triecrire s-dump dhex divx
b-verif t-chk diagnostic diag
bands tape diet diet
bogger debug div div
boucler loop dupliquer duplicate
boucler loop-on echantillon sampling
bverifier bverify echo echo
cataloguer catalog eclate-par by-exp
chaqué each eclate-par-decr by-exp-dsnd
chaqué every editer ed
chercher search editer edit

240
TERMINOLOGIE PICK - FRANQAIS/AMÉRICAIN

editer-liste edit-list init-impr startptr


effacer delete init-limpr set-lptr
effacer-compte delete-account init-log startlog
effacer-fichier delete-file init-minibande set-set
effacer-index delete-index init-minibande-dma set-set-dma
effacer-liste delete-list init-ovf :scrub-ovf
effacer-verrous- clear-basic-locks init-port set-port
basic
en-arbre within init-spooler startspooler
en-pied footing init-sym set-sym
en-tete header init-vitesse set-baud
en-tete heading Ie the
entrer-donnee data-entry legende-non legend-off
envoi-message send-message legende-oui legend-on
envoi-message sm list-esp overflow
erreur print-err listass listabs
esc-donnee esc-data listconj listconn
esc-niveau brk-level listcptes listacc
esc-niveau esc-level listdict listdict
et and liste gi
etat-systeme where listedit listpeqs
etat-txlog txlog-status lister list
etendre-car xcs lister-article list-item
exec exec lister-attributs Id
executor run lister-basic b/list
fantome z lister-charges charges
fantomeh zh lister-colonnes liste
fantomehs zhs lister-com mandes list-commands
fantomes zs lister-description-att Idf
fdisque fdisk lister-erreurs list-errors
feuille-calcul spread-sheet lister-erreurs- list-system-errors
feuille-calcul ss systeme
lister-esp ovf
fichier file lister-esp povf
fin off lister-fichiers list-files
formater format lister-label list-label
groupe group lister-macros list-macros
groupe-article item lister-menu list-menu
heure time lister-menus list-menus
i P lister-pibs list-pibs
importer import lister-rapport list-file-stats
impr Iptr lister-travaux list-jobs
imputer charge-to lister-utilisateurs list-users
init-abs set-abs lister-verbes list-verbs
init-clav set-kbrd lister-verrous list-locks
init-date set-date listfichiers listfiles
init-date-eur set-date-eur listimpr listptr
init-date-usa set-date-std listproc listprocs
init-demi set-half listu listusers
init-disquette set-floppy listverbes listverbs
init-fantome startsched maj-compte update-account
init-fonc set-func maj-md update-md
init-heure set-time mdec muid

24
1
TERMINOLOGIE PICK - FRANQAIS/AMÉRICAIN

memoriser-commandes stack-on sp-assigner sp-assign


mhex mulx sp-bande sp-tapeout
mot-de-passe password sp-edition sp-edit
mul mul sp-etat sp-status
non no sp-fermer sp-close
non not sp-fin sp-kill
npartition-index nframe-index sp-ouvrir sp-open
OU or stat-articles istat
oublier-commandes stack-off stat-octets check-sum
par by stop-impr stopptr
par-decr by-dsnd sub sub
pg gt subdx subdx
pge ge supp-arret nopage
pick pick supp-col-ent col-hdr-supp
pmaj u supp-det det-supp
pmaj update supp-ent hdr-supp
pmaj-dict ud supp-ent supp
pour for supp-id id-supp
pp It supp-tcl tcl-supp
psor op supprimer-entete-tcl tcl-hdr-off
pverifier pverify supprimer-heure- timedate-off
qselectionner qselect date
systeme-generation which
qui who faille size
quoi what tb tabs
reallouer f-resize tel tel
recup-article recover-item term-type term-type
recup-article ri terminal term
renommer-fichier rename-file tester-hash hash-test
rest-sel sel-restore titre-impr block-print
restaurer-md account-restore total total
restaurer-md md-restore total-general grand-total
restructurer reformat trace-msg log-msg
rouler roll-on transf-fichier steal-file
rupture break-on trestructurer sreformat
sans without trier sort
sauve-liste si trier-article sort-item
sauvegarde file-save trier-label sort-label
sauver save tselectionner sselect
sauver-liste save-list un a
sauver-md account-save utilisant using
sdec subd verifier-abs verify-abs
selectionner select verifier-dx check-dx
seul only verifier-index verify-index
shell sh verifier-systeme verify-system
shell-capt psh verrouiller-part'ition lock-frame
shex subx vider-fichier clear-file
si if vider-memoire flush
sommeil sleep visualiser dump
sommer sum xonoff xonoff
sortie exit
sp-assign-fq assignfq

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

Code de masque de séquence 42 244


Code de valeur 175
Codes de traitements 35,38, 157
Utilisation 157 coll(), col2() 110 Colonnage
146, 154, 155 Commandes TCL
Listage 87 common 110 comparer 78
compiler 78 compiler-cataloguer 45, 78
compiler-executer 45, 78 compiler-minus 45,
78 compresse 44, 127 Compte
Création 80
Effacement 81 Mise k jour 89 Restauration
90 Sauvegarde 91 Compte dm 177 compter 79,
125 Concaténation 107,162 Conjonctions 42
connecter 79 connecter-sous 79 convdx 79
Conversions 113, 116 de Caracteres 162 de
Date 163
Décimal => hexadécimal 79, 111
Entrées 158
Hexadécimal => décimal 79, 120
Majuscules/minuscules 45
Sorties 158 convert 47, 110 convertir 45, 79
creer-abs 45, 79 creer-compte 80 creer- Trace 43
fichier 80 creer-index 44, 45, 80 creer- errors 43, 87, 93
liste 46, 80 creer-macro 45, 80 crt 110 errors (fichier) 185 esc-donnee 46, 82 esc-
Curseur 146 niveau 82 espace de débordement 85 Espace
Adressage 107 disque 55
Espacement proportionnel 40 etat-systeme
Data 110
82 etat-txlog 82 etendre-car 82
data carrier detect 80 Etiquettes-adresse 87, 94, 125 exec 82
Date 120, 146, 163
Initialisation 66,84 date 80, 111
date() 111 dbl-itl 127 dcd-non 80 dcd-
oui 80 dcount 111 ddec 81 debug 111
Debugger 45, 86, 111, 121
Appel 75
Commandes 122
Table des symboles 121
decataloguer 81 deconnecter 64, 81
Déconnexion 83 definir-terminal 81
delete 111
Emplacements du curseur 132
deverrouiller-groupe 81 deverrouiller-
partition 81 devices (fichier) 183 dhex
81 diagnostic 45, 81 Dictionnaire..42
Liste des attributs 86
Dictionnaire de fichier 195 dim 111
Disque
Partitionnement 83 disques 60
Disquette 84
Formatage 83 Initialisation 66 div
81
Division Nombres décimaux 81
Nombres entiers 81 Nombres
hexadécimaux 81 Reste 115, 117
am 93, 177 Document
Formatage 144 Donnée numérique
Limites 103
Données
Stockage 202 dtx 111 dupliquer 42,
128 dx 45

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

Jobs(fichier) 183, 219


Justification 149, 156, 170

Key 47, 114, 212


keyboards (fichier) 187 kill 58

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

Newmd (fichier) 187


Niveau d'exécution 38,45,46,75
non 128
not 115
npartition-index 89
null 115
num 115
Numérotation de pages 150
Préfixe 151
Numérotation des tables 154

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

Unlock 120 users (fichier) 184 utilisant


130 Utilisateurs
Liste 88

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

Weof 120 writefu) 120 writet 120


writev{u} 120

Xonoff 46, 94 xtd 120

Zone abs 84,94


Création 45,79 Vérification 94 Zone
de travail 34

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.

Ateliers SEPC á Saint-Amand (Cher), France.


Dépot legal: septembre 1990. N° d’imp. : 2026.
Collection SGBD Collection
SGBD Collection SGBD
Collection SGBD
Collection SGBD
Collection SGBD
Collection SGBD
Collection SGBD

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

Vous aimerez peut-être aussi