Particularités
de SUPRA
Voici
quelques-unes des particularités
du langage ULTIM qui s'appliquent au traitement des bases de données
SUPRA. Plusieurs de celles-ci sont illustrées dans
l'exemple qu'on retrouve plus loin.
- Relations entre fichiers décrites dans les énoncés
LIENS du dictionnaire.
- Gestion automatique des protocoles de liaison aux bases.
- Mot-clé supplémentaire dans
l'énoncé TRAITER pour traiter les fichiers en ordre INVERSE.
- Fichiers fils automatiquement lus à l'intérieur de l'ensemble décrit par l'énoncé LIENS. Ainsi,
dans l'exemple, seuls seront lus les entrées du fichier secondaire NOMADR auxquelles pointe le fichier principal CLIENT.
- Possibilité d'accéder directement à un
fichier principal par sa clé.
Exemple
de dictionnaire codé en ULTIM, avec certaines définitions de zones en COBOL
./*
Information sur les divisions
./ SUPRA DIVISION, PROD, FDIV, 18, DIVKEY ./ ELEMENTS DIVCTRL, VAL DIVKEY (1, A, 6)
VALEUR (9, N, 8.2, 10,
@ED:$)
./*
Information de base sur le client
./ SUPRA CLIENT, PROD, FCLI, 30, NO-COMPTE
./ ELEMENTS NO, SECT, DUE, LPAY NO-COMPTE
(1, N, 7)
SECTEUR
(8, A, 6)
SOLDE (14, N, 8.2, 10,
@ED:$) DERNIER-PAIEMENT (22, N,
8, 10, @ED:@DATE)
./*
Nom et adresse du client
./ SUPRA NOMADR , PROD, FNAM, 105
./
LIENS FNAMLKPC
; Lien
qui rattache les fichiers FCLI et FNAM
./ ELEMENTS NAME, ADD1, ADD2, ADD3
./
COBOL
; Zones décrites en COBOL provenant
./ COPIER DESC (CUSTNAME) ; du membre CUSTNAME du fichier DESC
./* Zones générées par l'énoncé COPIER * NOM (1,A,15) * ADR-1 (16,A,30) * ADR-2 (46,A,30) * ADR-3 (76,A,30)
Exemple
de programmation
DEBUT
DEMO.
* Lecture des données
TRAITER
CHAQUE CLIENT OU DERNIER-PAIEMENT < 20150301 ET SOLDE > 0.
TRAITER OBTENIR DIVISION DONT DIVKEY = CLIENT:SECTEUR. ; Lire DIVISION avec clé = SECTEUR
CRITERES VALEUR < 125000.
; Traiter si VALEUR inférieure à 125000
TRAITER OBTENIR NOMADR. ; Lire nom et adresse correspondant à CLIENT
* Rapport à produire
OPTIONS
ENTETE=AUTO, ESPACEMENT = 5.
TABLEAU
SECTEUR, NOMADR:NOM, NO-COMPTE, SOLDE(12,TOTAL), DERNIER-PAIEMENT.
TITRE COMPTES EN SOUFFRANCE DE
DEUX MOIS
OU PLUS AU 1 MAI 2015
CONTROLE
SOUS-TOTAUX=1.
FIN
Rapport
en colonnes produit par les énoncés TABLEAU, TITRE et CONTROLE
5
MAI 2015 PAGE
1
COMPTES EN
SOUFFRANCE DE DEUX MOIS OU PLUS
AU 1 MAI 2015
SECTEUR
------NOM------ NO
COMPTE
SOLDE
DERNIER
PAIEMENT
ESTRIE
BELLE
LUMIERE
843896
$360.47 2015/02/11
BRILLANTINE
3246538
$199.00 2014/12/15
ECLAIRAGE
INC.
386660
$895.45 2015/01/12
LUMIERE
INC.
2369108
$34.94 2015/02/21
...........................................
$1,489.86
MTL
DECOR
SANTE
3143486
$10.00 2015/02/01
DECORUM
INC.
1071638
$2,189.10 2015/01/06
RUSSELL &
SONS
2225751
$194.90 2014/12/21
SERVICES
RAPIDO
1387
$4,189.95 2015/01/28
...........................................
$6,583.95
............................................
$8,073.81
|