Vous êtes sur la page 1sur 57

JBASE & GLOBUS Support de cours

25/01/2007 T24 Page 1







STAGE DE FORMATION TECHNIQUE
LIVRET 4 : EXERCICES
TEMENOS PARIS





JBASE & GLOBUS Support de cours
25/01/2007 T24 Page 2



AVANT PROPOS

Ce dernier livret complte les trois autres en nonant les sujets de travaux dirigs
sur T24 proposs aux stagiaires de diffrents clients. Nous avons fait un dcoupage
en deux parties :

- une premire partie donnant le sujet du TD par thme
- une deuxime partie donnant la correction du sujet.

Nous avons fournis le plus de commentaires possibles, mais cela ne remplace pas
les explications de lanimateur.

Nous avons utiliss les sujets suivants :

TCL et jQL

Programmation jBC

Les Enquiries

Les Versions

Les Routines T24

Les ditions REPGEN

JBASE & GLOBUS Support de cours
25/01/2007 T24 Page 3

PARTIE 1 : ENONCES DES EXERCICES


EXERCICE SUR UNIX LIKE

1 Utilisation de la recherche dans les cas suivants :
Tous les nom de fichiers commenant par F. dans le rpertoire GLOBUS
Tous les fichiers ayant C en 5
me
caractre
Tous les fichiers du rpertoire xxx.jnl
2 Sortir le nom des utilisateurs et leurs home directory
- compter le nombre dutilisateurs
- sortir les fichiers GLOBUS avec une date de premption.
- Faire une liste des rpertoires de GLOBUS
3 Cration de scripts :
Cration dun script faisant un compte rebour sur 5 minutes
Cration dun script qui fait une liste rcursive des fichiers dun rpertoire.
Cration dun script qui fait la sauvegarde dun rpertoire.
Cration dun menu qui lance
a) la sauvegarde dun rpertoire
b) l restauration du rpertoire
c) la compression du rpertoire dans une zone de manuvre
d) la dcompression du rpertoire
e) une liste simple des fichiers.
On veut un titre MENU en inversion vido
Cration dun outil gnrant une bannire dans un fichier.
Script indiquant la personne qui se connecte par un message
ladministrateur.

EXERCICES POUR TCL ET JQL

1 Crer un pointeur synonyme de deux faons.

2 Lancer une analyse du fichier VOC et faire un retaillage. Utiliser le programme
HISTO et les commandes jstat et jrf.

3 - Lister les fichiers de votre rpertoire
Lister les fichiers ayant un nom commenant par TD
Idem mais un nom avec TD et 2 numriques
Peut-on obtenir un rsultat de liste dans un fichier ascii Unix, et ceci simplement?

4 - Lire une fiche du fichier SECTOR.
Recherchez le vritable nom
Sortir uniquement les donnes
Sortir avec les donnes, le nom des champs
Pour ne pas perturber la base, on utilisera toujours un fichier de manuvre TDxx.
Faites une copie du fichier CUSTOMER sur le fichier de manuvre.
Faites une vrification par CT, LIST ou LIST.ITEM

JBASE & GLOBUS Support de cours
25/01/2007 T24 Page 4

5 - Visualiser le fichier OS.TOKEN et faire une slection sur le premier champ.
Si vous analyser le dictionnaire, que constatez-vous?
Copier OS.TOKEN dans TDXX. Comptez le nombre dlments.
Creation du dictionnaire (dans le dict de TDxx) pour pouvoir consulter le fichier
OS.TOKEN en donnant:
Le PROFIL
Ltat
La compagnie
La date de connexion
Lheure de connexion
Renseigner lenregistrement @
Faites une vrification (par LIST, par CT, par LDICT ou par LISTDICTS

On utilise le JED pour crire dans le dictionnaire:

T24> JED DICT TD01 PROFILE
001 D
002 1
003
004 Profile
005 10L
006 S

On faIt Escape et FI pour enregistrer




JBASE & GLOBUS Support de cours
25/01/2007 T24 Page 5
Le code de conversion D ou MTS sont des codes jBASE

6 Elaborer une distribution pour le fichier FBNK.ACCOUNT entre comptes internes
et externes.

7 Crer dans TEMPO une image du fichier CUSTOMER en faisant figurer les
descripteurs suivants :
SHORT.NAME
STREET
TOWN.COUNTRY
SECTOR
Visualiser le contenu du fichier TEMPO.

8 Faire une dition trie des fichiers dfinis dans la partie data dune base T24.
Avec le mme type de consultation, sortir des tiquettes pour les fichiers.

9 Lister les clients dont le numro est compris entre 100100 et 200200.
Lister les comptes internes.







JBASE & GLOBUS Support de cours
25/01/2007 T24 Page 6


EXERCICE DE SYNTHESE jQL


En consultant le fichier ACCOUNT, trier par Client et par devise et sortir le numro
de compte, le nom du charg de compte, la devise et le total du solde.
Le fichier des clients est FBNK.CUSTOMER
Le fichier des comptes est FBNK.ACCOUNT

On a dans le dictionnaire, CUSTOMER qui est le numro du client,
CURRENCY qui est la devise et
WORKING.BALANCE qui correspond au solde.
Le fichier des chargs de compte est DEPT.ACCT.OFFICER
(Rechercher si on a F. ou FBNK. devant le nom sous jBASE)
Utiliser les critre suivants:

WITH CUSTOMER AND WITH WORKING.BALANCE

La conjonction BY est associe au verbe SORT (trier).
Pour faire une rupture par CUSTOMER et par CCY, on fait un descripteur I qui fait
une concatnation CUSTOMER:CURRENCY et le tri se fait sur ce critre.
Puis on applique la rupture par la conjonction BREAK.ON descripteur
JBASE & GLOBUS Support de cours
25/01/2007 T24 Page 7

EXERCICES POUR JBC

1 Crer un algorithme, qui effectu la lecture dun fichier, sous ses 3 formes, ceci
pour mettre en vidence le tableau dynamique, le vecteur.

2 Crer un algorithme qui donne, pour un fichier T24, le nom des champs qui sont
lis avec dautres fichiers. Dans un deuxime temps, faire une bonne mise en page.

3 Transformer un format squentiel, un fichier T24.la cl sera inclus dans la ligne et
le sparateur sera le code ; . Faire une vrification du format sous Excel.

4 Realiser le programme JB qui permet, en mode classique, de raliser des
commandes jBASE.

5 Crer un algorithme qui donne la possibilit de saisir un dictionnaire. Limage de
la saisie doit tre un enregistrement de type diteur.

6 Crer une commande LIST.USERS qui donne pour un utilisateur :
- le nom de la base
- son pid
- son numro de port
- la commande sous jBASE
- lapplication T24
- la fonction
- la cl de lenregistrement
- un status gnral(actif T24,actif jBASE,actif OS,T24,OS)
7 Raliser une liste donnant pour chaque client le numro de compte, la devise, le
montant de la balance et la valorisation en devise locale de cette balance ainsi que
son cumul par client. On utilisera le fichier FBNK.CUSTOMER.ACCOUNT

8 Raliser une fonction utilisateur qui donne le nom jBASE dun fichier partir de
son nom T24.

9- (Complments) Exercices sur PQN et PA
Faire un paragraphe qui lance automatiquement T24 en mode classique.
Faire un paragraphe qui permette une visualisation complte du dictionnaire.
JBASE & GLOBUS Support de cours
25/01/2007 T24 Page 8

EXERCICES POUR ENQUIRY

1 - Etablir une consultation du fichier ACCOUNT en faisant apparatre:
Le numro de compte
Le numro du Client
Faites la diffrence entre le mode page et le mode grille

Dans la suite des exercices, on donnera un nom denquiry avec la syntaxe
AA.TRG0X (AA sont vos initiales et X est le numro de lexercice)
* Rechercher les lments du dictionnaire par un LISTDICTS .

2 - Ajouter les colonnes suivantes :
La devise (CURRENCY)
Le solde (WORKING.BALANCE)
Exprimer le montant avec le format de la devise
Obliger une slection sur
Le numro de compte
Le numro de Client
la Devise
Faire apparatre la devise en fond jaune et les soldes ngatifs en rouge


3 - Ajouter une en tte gnrale sur lexercice prcdant :
En titre FORMATION T24
Puis les en-ttes de colonnes
Compte, Client, Devise et Solde
On demande un total sur le solde en supposant que celui-ci a t converti.
Il faut tous les enregistrements du fichier et se mettre en mode page.On ne veut pas
les comptes internes

4 - Toujours avec le mme fichier, faire apparatre dans len-tte, en plus le nom du
client et celui de son charger de compte. On utilise une rupture sur le client
Dans un deuxime temps, on demande de faire un total sur la WORKING.BALANCE
(avec un calcul si la devise nest pas locale)

Dans la troisime enquiry, on demande de faire une rupture par client et de sortir le
total des soldes.
Faire un en-tte donnant un titre, le numro et le nom du client, la date du jour, et le
nom du dpartement.

Sur le corps de la consultation faire apparatre, le numro de compte, le
mnmonique, le nom en abrg du secteur, la date douverture et le total par client et
par devise du Solde.

Faites apparatre le texte Total avec la devise et son total (ex: total USD)
JBASE & GLOBUS Support de cours
25/01/2007 T24 Page 9

5 - Sur le fichier ACCOUNT sortir:
Le numro de compte
Le numro du client
La devise
Le total du solde par client et par devise

Faites en fin dtat une ventilation sur le total des soldes en USD et des autres
devises.

* On peut faire un en-tte circonstanci.


6 - En utilisant le fichier ACCOUNT, visualiser:

Le numro du Compte
Le mnmonique du compte
Le numro de Client
Le mnmonique client
Le nom du Client

Donner la possibilit de lancer la consultation ACCT.BAL.TODAY
Donner la possibilite de voir la fiche ACCOUNT et La fiche CUSTOMER.

* Vous pouvez vous mettre en mode page et dfinir un en-tte.




JBASE & GLOBUS Support de cours
25/01/2007 T24 Page 10

EXERCICES POUR VERSION

1 Crer une version qui assure la saisie du fichier CUSTOMER. Faire une mise ne
page avec un titre. Utiliser Desktop et Browser pour voir limpacte de la saisie.
Faites apparatre les champs obligatoires en erreur.

2 Crer une version qui effectue la saisie du fichier USER. Les valeurs par dfaut
seront prvues pour faire une saisie la plus simple possible.

3 Sur une version sur CUSTOMER, faites la saisie du Mnmonic, du sector de
ladresse street du name-1, de la residence
Faites en sorte que Industry,Nationality,Target et customer.status viennent en
automatique (on prendra pour modle le Customer 100229.

4 - Utiliser trois onglets pour crer votre fichier Customer
Un onglet domiciliation avec:
Mnemonic, Short.name
Name.1, Name.2
Street, Town.country
Un onglet Affaire avec:
Relation.code, Rel.customer
Sector, Account.officer
Industry, Target
Un onglet Suivi avec:
Customer.status, Contract.date
Customer.liability

5 - A partir de lenquiry sur Account-Customer faites en sorte dactiver la version
FT,MODEL en donnant des valeurs par dfauts venant de lenquiry:
Debit.acct.no est renseign par le numro de compte,
Ben.customer-1 par customer, ordering.cust-1 par
customer et credit.currency par currency.
La solution dans BMCE70 et FT,MODEL de la base DEMO

Exercice de Synthse

1 - Prvoir un menu pour un nouvel utilisateur donnant accs au menu principal
standard et a un choix denquiry et de versions du stage.
2 - Dfinir les versions pour le design des enquiries et des versions dans les
abrviations de lutilisateur.
3 - En consultant le fichier STMT.ENTRY, sortir les champs suivants:
Le numro du compte, Le numro du client et son mnmonique, La description
systme du produit, Les montants LCY et FCY et le cumuls de ceux-ci par client et
par devise, La booking.date sous la forme JJ/MM/AAAA
On donnera cette enquiry la possibilit de voir la fiche client, la fiche compte et la
possibilit de faire une modification du client ou du compte.
Comme il se doit, on mettra dans len-tte un titre, fait a le et le nom du Client;
Dans le cas de la saisie du client, permettre le lancement dune enquiry BMCE avec
ventilation par LCY ou FCY
JBASE & GLOBUS Support de cours
25/01/2007 T24 Page 11
EXERCICES ROUTINES GLOBUS

1 Pour une Enquiry donnant le nom du client, utiliser un cryptage du nom avec une
capitalisation des mots.

2- Crer une routine qui visualisera le nombre total des comptes associs au client
dans le champ TOTAL.ACCOUNTS.
Si un nouveau CUSTOMER est saisie le calcul ne pouvant se
faire on visualisera la valeur 0 pour le champTOTAL.ACCOUNTS.

3- Ecrire une routine qui restreint un utilisateur essayant douvrir un enrgistrement du
fichier live de CUSTOMER qui ne soit pas en entre et autoris pour lui, on
demande de visualiser le message derreur Acces Restrint.

4-Cet exercice illustre le cas ou en cours dautorisation dun CUSTOMER, lutilisateur
veut mettre un commentaire spcifique ce customer comme Special customer
etc, . Cette option pouvant tre utilise plus tard ou dite avec lenregistrement pour
Indiquer la particularit. Il faut avoir une routine qui sollicite lutilisateur pour entrer un
texte libre et autoriser lenregistrement. Une fois le texte entr, la donne besoin de
mettre jour un champ TEXT de CUSTOMER. Si aucun texte nest entr, le
message Aucun texte. Utiliser un autre logiciel sera visualis et lenregistrement
sera autoriss.


JBASE & GLOBUS Support de cours
25/01/2007 T24 Page 12

EXERCICES POUR REPGEN

Pour chaque exercice, il faut crer, compiler gnrer et sortir sur cran ou dans le
fichier &HOLD&.

1 Crer un REPGEN simple avec deux champs : ACCOUNT.NUMBER et
CUSTOMER du fichier FBNK.ACCOUNT.

2 Ajoutter une restriction pour les compte dont le numro est en dessous de 20000.

3 Raliser un rapport avec le numro CUSTOMER comme critre de tri (Sequence
Control) Utiliser un masque de cadrage droite pour cette colonne.

4 Ajoutter le nom du client dans le rapport ainsi que la description de la catgorie
depuis le fichier CATEGORY.

5 Ajoutter une en-tte avec des titres sous ligns en jouant sur les Hdr1 et Hdr2.

6 Inserer CURRENCY et WORKING.BALANCE. Visualiserun total sur la balance
pour chaque client et pour chaque devise. Utiliser un masque spcial @AMT2 pour
faire apparatre le montant.

7 Faites en sorte davoir un client par page.

8 Visualiser le nom du client et son numro dans len-tte. Le rapport doit tre tri
par client.

9 Sortir la balance avec un total par client avec un libll Total pour avec la
devise.Le total doit tre dfinie deux fois, la premire fois en visualisation de ligne et
une autre fois pour le total, mme chose pour la devise, une fois sur la ligne et une
deuxime fois sur len-pied.

10 Faire apparatre le mot DEBIT quand la balance est ngative.

11 Utilisation de la notion de groupe. On divise le rapport par secteur. Un groupe
contiendra les donnes compte et client pour un code secteur infrieur ou gal
3000 et un second groupe pour un code secteur suprieur 3000.












JBASE & GLOBUS Support de cours
25/01/2007 T24 Page 13

PARTIE 2 : SOLUTIONS DES EXERCICES

EXERCICE SUR UNIX

1 ls la F.*

ls la ????C*

ls la ../bnk.jnl

FILE
# exercice 1
if [ $# -ne 1 ]
then
echo Usage :FILE directory\n
exit 1
fi
for i in $1/*
do
if [ -f $i ]
then file $i
else
if [ -d $i ]
then echo Catalog $i
FILE $i
fi
fi
done

SAVE
# sauvegarde
for i in *
do
if [ -f $i ]
then
if [ -f ../SAVE/$i ]
then echo deja souvegarde
else echo sauvegarde en cours
cp $i ../SAVE/$i
fi
fi
done
JBASE & GLOBUS Support de cours
25/01/2007 T24 Page 14


EXERCICE SUR TCL ET JQL

1 Pointeur synonyme

T24> ED VOC nom_synonyme
001 Q
002 nom_ compte
003 nom_fichier

SET.FILE nom_compte nom_fichier

Le synonyme sappelle QFILE.

2 Analyse de fichier VOC

T24> jrf R VOC
c:\1emenos\kefa11Mode1\bnk\bnk.un\\vOC 1ype J4, 1056 ecods af s1ze 97,
kes1ze fom modu1o 155 155 155 155 fo 277 277 277 277.
T24> jrf S277 VOC
Faites une vrification en lanant HISTO


3 Liste de fichiers

T24> LIST . (le point ici indique le rpertoire courant soit xxx.run)
T24> LIST . LIKE TD
T24> LIST . MATCHES TD2N
T24> sh
$ > bidon
$ chmod 777 bidon
$ LIST . >bidon
$ pg bidon

4 Lecture du fichier SECTOR

T24> LIST F.FILE.CONTROL WITH @ID EQ SECTOR CLASSIFICATION
Si ce nest pas INT le nom doit etre FBNK.SECTOR

T24> CT FBNK.SECTOR

T24> LIST FBNK.SECTOR

T24> CREATE.FILE TD01 1 1

T24> COPY FROM FBNK.CUSTOMER TO TD01 ALL

T24> COPY DICT FBNK.CUSTOMER TO DICT TD01 ALL

JBASE & GLOBUS Support de cours
25/01/2007 T24 Page 15
5- Utilisation de OS.TOKEN

T24> CLEAR.FILE DICT TD01 (effacement du dictionnaire existant)
T24> CLEAR.FILE DATA TD01 (effacement de la partie DATA)

T24> COPY FROM F.OS.TOKEN TO TD01 ALL
ou
T24> COPY FROM DICT F.OS.TOKEN TO DICT TD01 ALL

T24> LISTDICTS TD01 ou LDICT TD01

Il ny a pas de donnes dans le dictionnaire;

T24 >COUNT TD01


6 Fichiers distribus.

T24> CREATE.FILE FIC.DISTRIB TYPE=DISTRIB
T24> CREATE.FILE FIC.EXT 1 101
T24> CREATE.FILE FIC.INT 1 101

Le fichier FICPROG est un fichier de programmes locaux.

T24> JED FICPROG SUB.DIST
001 SUBROUTINE SUB.DIST(RES,ID,NOPART)
002 IF ID MATCHES 3A0X THEN NOPART=1 ELSE NOPART=2
003 RETURN
Escape+FIBC

T24> CREATE-DISTRIB p USER SUB.DICT FIC.DISTRIB
T24> CREATE-DISTRIB a FIC.DISTRIB 1 FIC.EXT
T24> CREATE-DISTRIB a FIC.DISTRIB 2 FIC.INT
T24> COPY FROM FBNK.ACCOUNT TO FIC.DISTRIB ALL
T24> LIST FIC.INT
T24> LIST FIC.EXT
T24> LIST FIC.INT USING DICT FBNK.ACCOUNT

Pour un gros fichier, vous avez la solution du type JPF (TYPE=JPF) pour un fichier
de plus de 2 Giga octets;
La solution du distribu est un compromis.
Mais attention T24 ne connat que ACCOUNT.

7- Cration par reformatage.

T24> CREATE.FILE TEMPO 1 1
T24> SREFORMAT FBNK.CUSTOMER SHORT.NAME STREET TOWN.COUNTRY
SECTOR<rc>
Destination file? TEMPO

JBASE & GLOBUS Support de cours
25/01/2007 T24 Page 16

T24> CT TEMPO



Automatiquement, la cl est prise et un attribut vide est cr chaque fin
denregistrement.

8- Sortie sous forme dtiquettes.

T24> SORT ONLY VOC WITH F1 LIKE FAND WITH F2 LIKE bnk.data
T24> SORT ONLY VOC WITH F1 LIKE FAND WITH F2 LIKE bnk.data
F1 F2 F3<cr>
Cols,Rows,Skip,Indent,Size,Spaces{,C}: 3,4,4,4,20,5,C
Label:ID
Label:F1
Label:F2
Label:F3









9- Manipulations Jql.
JBASE & GLOBUS Support de cours
25/01/2007 T24 Page 17

T24> LIST FBNK.CUSTOMER BETWEEN 100100 200200
ou
T24> LIST FBNK.CUSTOMER GE 100100 AND LE 200200

T24> LIST FBNK.ACCOUNT MATCHES 3A0N

EXERCICE DE SYNTHESE

Il faut crer une dfinition dans le dictionnaire qui va concatner le numro du client
et la devise.

T24> JED DICT FBNK.ACCOUNT CUSTCCY
001 I
002 CUSTOMER: :TRANS(FBNK.CUSTOMER,CUSTOMER,
SHORT.NAME, X ) : et pour la devise :CURRENCY
003
004
005 40L
006 S

T24> JED VOC PHRASE1
001 PA
002 TERM 132
003 SORT FBNK.ACCOUNT BY CUSTCCY _
004 WITH CUSTOMER ne AND WITH WORKING.BALANCE NE _
005 NAME CURRENCY TOTAL WORKING.BALANCE _
006 BREAK.SUP CUSTCCY PUB _
007 HEADING LEXERCICE DE SYNTHESECLL_
008 fait a Nouakchotte le D page PLL_
009 pour le client BCLLL _
010 ID.SUP



LXLkClCL DL 5YN1hL5L

fa1f a Nouakchoffe 1e 04 JAN 2007 page 71


pou 1e c11enf 100592 h58C 8ANk, LONDON, uk pou 1a dev1se G8P



NAML.C.................................. CukkLNCY WOkklNG.8ALANCL....

Cusfome 5ev1ces Manage-8anks G8P -9000
Cusfome 5ev1ces Manage-8anks G8P -375192.55
Cusfome 5ev1ces Manage-8anks G8P 12215.23
-------------------
-201977.32



EXERCICE SUR JBC
JBASE & GLOBUS Support de cours
25/01/2007 T24 Page 18

1- Algorithme simple :

DIM V(400)
EQU EFE TO @(-1) ;* fonction en equivalence
CLE=
OPEN "FBNK.CUSTOMER" TO FIC ELSE ABORT
LOOP WHILE CLE NE "FIN" DO
PRINT EFE:"Introduire la cle du fichier ":
INPUT CLE
READ TD FROM FIC,CLE THEN
CRT TD ;* visualisation brutte dun tableau dynamique
MATREAD V FROM FIC,CLE ELSE ABORT
NB=INMAT(); * on obtient le nombre de postes du Vecteur lus
FOR I=1 TO NB
CRT "V(":I:")=":V(I) ;* boucle ddition de rsultat
NEXT I
CRT "Introduire le numro Attribut ":
INPUT ATT
READV ATTRIBUT FROM FIC,CLE,ATT ELSE ABORT
CRT ATTRIBUT
END
REPEAT

On remarque que la logique est toujours la mme quelque soit le type de lecture.
Louverture du fichier est indispensable.

2- mise en page de lexploitation du Standard Selection.

INCLUDE GLOBUS.BP I_COMMON
INCLUDE GLOBUS.BP I_EQUATE
EQU EFE TO @(-1)
PROMPT
*---------------------------------------------
MAIN: *
GOSUB INITIALISE
GOSUB OPEN.FILE
GOSUB PROCESS
GOSUB CLOSING
STOP
*--------------------------------------------
INITIALISE: *
FIC=FIELD(SENTENCE()," ",2)
MARG=" "
RETURN
*-------------------------------------------
OPEN.FILE: *
OPEN "F.STANDARD.SELECTION" TO FSS ELSE
PRINT "Err S.S "
STOP
JBASE & GLOBUS Support de cours
25/01/2007 T24 Page 19
END
RETURN
*---------------------------------------------
PROCESS : *
CRT EFE
CRT MARG:STR("=",64)
CRT MARG:"|":"NOM DU DESCRIPTEUR" "L#30":"|":"NOM DU FICHIER
LIE " "R#30" :"|"
CRT MARG:STR("=",64)
READ TD FROM FSS,FIC ELSE PRINT "Erreur de lecture de ":FSS ; STOP
NBV=DCOUNT(TD<14>,VM)
FOR I=1 TO NBV
IF TD<14,I> NE "" THEN
PRINT MARG::"|":TD<1,I> "L#30"::TD<14,I> "R#30":"|"
END
NEXT I
NBV=DCOUNT(TD<27>,VM)
FOR I=1 TO NBV
IF TD<27,I> NE "" THEN
PRINT MARG::"|":TD<15,I> "L#30"::"|":TD<27,I> "R#30"::"|"
END
NEXT I
CRT MARG:STR("=",64)
*-------------------------------------
CLOSING: *
CLOSE FSS
RETURN

3- Transformation en squentiel dun fichier de la base T24.

***************************************************
* TRANSFORMATION EN SEQUENETIEL *
***************************************************
CRT "Introduire le nom du fichier ":
INPUT NOM.FIC
OPEN NOM.FIC TO FIC ELSE STOP
OPENSEQ NOM.FIC:".TXT" TO FIC.SEQ ELSE
CREATE FIC.SEQ ELSE ABORT
END
CMD=\SELECT \:NOM.FIC:\ TO 1\
EXECUTE CMD CAPTURING LOG
READLIST LI.ITEMS FROM 1 SETTING NBE ELSE STOP
FOR I=1 TO NBE
CLE=LI.ITEMS<I>
READ TD FROM FIC,CLE ELSE CONTINUE
CHANGE FM TO \";"\ IN TD ;* modiffier 1 car par une chaine
TD=CLE:\";"\:TD:\"\ ;* positionnement de cl
WRITESEQ TD ON FIC.SEQ ELSE ABORT
NEXT I

JBASE & GLOBUS Support de cours
25/01/2007 T24 Page 20
4- Commande pour le mode classique permettant lexcution de commandes jBASE.

*******************************************
* Utilisation de commandes *
*------------------------------------------------*
* TRAINING CENTER VESENAZ *
*******************************************
SUBROUTINE JB
EQU EFE TO @(-1)
START.LINE=0 ;* on de place en dbut dcran
START.COL=0
*-------------------------------
PROMPT ">"
CRT EFE
LOOP
CMD=""
CRT @(START.LINE,START.COL):
INPUT CMD:
WHILE CMD NE "" DO
CRT EFE
EXECUTE CMD
REPEAT
RETURN

Il faut enregistrer la routine dans F.PGM.FILE en type M.


5- Image de lcran permettant la saisie dun dictionnaire


Descriptor (ou END) :


1 - D ou I :
2 - EXP or LOC :
3 - ICONV :
4 - LABEL :
5 - FORMAT :
6 - S or M :







F)ile input,A)nnulation,S)Next one,1-12:corrections:

Programme effectuant la saisie du dictionnaire.

JBASE & GLOBUS Support de cours
25/01/2007 T24 Page 21
* CREATION OU MODIFICATION DE DICTIONNAIRE *
*
EQU EFE TO @(-1)
EQU EFL TO @(-4)
EQU DINV TO @(-13)
EQU FINV TO @(-14)
PROMPT ""
OPEN "MD" TO VOC ELSE CRT "Error MD";STOP
READ TD FROM VOC,"IMAGE-DICT" ELSE
CRT @(3,21):"missing IMAGE-DICT in VOC ":
NPUT REP:
STOP
END
* input name
FLAG1=1
LOOP
WHILE FLAG1 DO
CRT EFE : "Introduire le nom du fichier (ou END) ":
INPUT FILENAME
IF FILENAME NE "END" THEN
FILENAME="DICT ":FILENAME
OPEN FILENAME TO DICO THEN
* viualisation des descripteurs
CRT EFE
CRT @(30,1):DINV:" ":FILENAME:" ":FINV
FOR I=1 TO 20
CRT TD<I>
NEXT I
* mode saisie
FLAG2=1
LOOP
WHILE FLAG2 DO
CRT @(46,3):EFL:;INPUT DESCRIPTOR:
FOR I=1 TO 6
CRT @(30,I+5):EFL
NEXT I
IF DESCRIPTOR NE "END" THEN
READ TD FROM DICO,DESCRIPTOR THEN
* cas modification
CRT @(4,2):DINV:" MODIFICATION ":FINV
FOR I=1 TO 6
CRT @(30,I+5):TD<I>
NEXT I
END ELSE
* cas creation
CRT @(4,2):DINV:" CREATION ":FINV
TD=""
FOR I=1 TO 6
CRT @(30,I+5):EFL:
INPUT REP:
JBASE & GLOBUS Support de cours
25/01/2007 T24 Page 22
TD<I>=REP
IF I=1 THEN CONTINUE
NEXT I
END
* fin de saisie
FLAG3=1
LOOP
WHILE FLAG3 DO
CRT @(60,19):EFL:
INPUT REP:
BEGIN CASE
CASE REP="FIN"
FLAG3=0
CASE REP = "F"
WRITE TD ON DICO,DESCRIPTOR
FLAG3=0
CASE REP = "A"
DELETE DICO,DESCRIPTOR
FLAG3=0
CASE REP EQ "S"
FLAG3=0
CASE REP >0 AND REP <7
PRINT @(30,REP+5):EFL:
INPUT MODIF:
TD<REP>=MODIF
CASE REP > 7
PRINT CHAR(9):
CASE OTHERWISE
FLAG3=0
END CASE
REPEAT
END ELSE
FLAG2=0
END
REPEAT
END ELSE
CRT @(4,23):EFL:FILENAME:" n'est pas defini.... ":
INPUT WAIT,1:
END
END ELSE
FLAG1=0
END
REPEAT


JBASE & GLOBUS Support de cours
25/01/2007 T24 Page 23

6- Cration de la commande LIST-USERS

!-------------------------------------!
! COMMANDE DE LISTE DES USERS SUR T24 !
!-------------------------------------!
! TRAINING T24 !
!-------------------------------------!
declarations: *
INCLUDE GLOBUS.BP I_F.ACTIVITY
DIM T(70,6),W(70,11)
EQU EFE TO @(-1)
*---------------------
MAIN: *
GOSUB INIT
GOSUB OPEN.FILE
GOSUB PROCESS
GOSUB CLOSING
STOP
*---------------------
INIT: *
MAT T=""
MAT W=""
TD=""
EXECUTE "WHERE" CAPTURING LOG
CRT EFE:LOG<1>
DEL LOG<1>
RETURN
*-------------------------
OPEN.FILE:*
OPEN "F.ACTIVITY" TO F.ACTIVITY ELSE STOP
EXECUTE "BSELECT F.ACTIVITY @ID USER.NO TO 1" CAPTURING FLOG
READLIST L.ACTIVITY FROM 1 SETTING NBACT THEN FACTIV=1 ELSE
FACTIV=0
RETURN
*-------------------------
PROCESS: *
NBL=DCOUNT(LOG,@FM)
* Remplissage du tableau image
FOR I=1 TO NBL
T(I,1)=LOG<I>[1,5]
T(I,2)=LOG<I>[9,10]
T(I,3)=LOG<I>[20,12]
T(I,4)=LOG<I>[33,7]
T(I,5)=LOG<I>[42,40]
NEXT I
* Recomposition du tableau image
K=0
FOR I=1 TO NBL
IF T(I,1) EQ SPACE(5) THEN
JBASE & GLOBUS Support de cours
25/01/2007 T24 Page 24
W(K,5)=T(I,5)
STAT=W(K,5)
IF STAT EQ "EX" THEN W(K,6)=" T24 classique" ELSE W(K,6)=" jBASE"
END ELSE
K++
W(K,1)=T(I,1)
W(K,2)=T(I,2)
W(K,3)=T(I,3)
W(K,4)=T(I,4)
W(K,5)=T(I,5)
IF W(K,2)[1,5] EQ "ntcon" THEN
W(K,6)=" Desktop"
END
IF W(K,2)[1,5] EQ "xterm" THEN
W(K,6)=" Browser"
W(K,5)=""
END
W(K,3)=T(I,3)
W(K,4)=T(I,4)
END
IF FACTIV EQ 1 THEN
FOR Z=1 TO NBACT STEP 2
PROFILE=L.ACTIVITY<1>
POSTE=L.ACTIVITY<2>
IF POSTE EQ W(K,1) THEN
Z=NBACT
READ TD FROM F.ACTIVITY,PROFILE ELSE CONTINUE
W(K,7)=PROFILE "L#8"
W(K,8)=TD<EB.ACT.COMPANY> "L#10"
W(K,9)=TD<EB.ACT.APPLICATION> "L#13"
W(K,10)=TD<EB.ACT.FUNCTION> "L#2"
W(K,11)=TD<EB.ACT.RECORD.ID> "L#12"
END
NEXT Z
END
NEXT I
FOR I=1 TO K
CRT W(I,1) "L#3":W(I,2)
"L#6":W(I,3),W(I,4),W(I,5),W(I,6),W(I,7):W(I,8):W(I,9):W(I,10):W(I,11)
NEXT I
RETURN
*-------------------------
CLOSING: *
CLOSE F.ACTIVITY
RETURN





JBASE & GLOBUS Support de cours
25/01/2007 T24 Page 25
7- Utilisation du fichier FBNK.CUSTOMER ;ACCOUNT

$INSERT GLOBUS.BP I_F.ACCOUNT
* INCLUDE GLOBUS.BP I_F.ACCOUNT
OPEN "FBNK.CUSTOMER.ACCOUNT" TO F.CUS.ACC ELSE
STOP 201,"FBNK.CUSTOMER.ACCOUNT"
END
OPEN "FBNK.ACCOUNT" TO F.ACC ELSE STOP 201,"FBNK.ACCOUNT"
EXECUTE \SSELECT FBNK.CUSTOMER.ACCOUNT\ RTNLIST L.CUS
LOOP
READNEXT C.CUS FROM L.CUS ELSE EXIT
READ A.CUS.ACC FROM F.CUS.ACC,C.CUS THEN
AFF.ACC=1 ; TOTAL=0
N.ACC=DCOUNT(A.CUS.ACC,@AM)
FOR K.ACC=1 TO N.ACC
C.ACC=A.CUS.ACC<K.ACC>
READ A.ACC FROM F.ACC,C.ACC ELSE A.ACC=""
WORKING.BALANCE=A.ACC<AC.WORKING.BALANCE>
IF WORKING.BALANCE THEN
IF AFF.ACC=1 THEN
CRT C.CUS "L#20":
AFF.ACC=0
END ELSE
CRT SPACE(20):
END
CRT " ":C.ACC"L#20":" ":WORKING.BALANCE"R2#15"
TOTAL+=WORKING.BALANCE
END ;* IF WORKING.BALANCE
NEXT K.ACC
IF AFF.ACC=0 THEN
CRT "Total""L#42":STR("-",15)
CRT SPACE(42):TOTAL"R2#15"
CRT
END
END ;* READ A.CUS.ACC
REPEAT
CLOSE F.CUS.ACC
CLOSE F.ACC

8- Fonction donnant le nom du fichier sous jBASE partir du nom sous T24.

* Exo pour T24 pour illustrer
* la notion de Fonction
*
FUNCTION FILENAME(FICH)
OPEN "F.FILE.CONTROL" TO FCTRL ELSE RETURN ""
CLASS=OCONV(FICH,"TF.FILE.CONTROL;X;;6")
IF CLASS EQ "INT" THEN PREF="F." ELSE PREF="FBNK."
RESULT=PREF:FICH
RETURN (RESULT)

JBASE & GLOBUS Support de cours
25/01/2007 T24 Page 26
Programme utilisant la fonction

* PROGRAMME DE TEST T24 *
*
NOM=""
DEFFUN FILENAME(NOM)
CRT "Intro nom Globus ":
INPUT FICHIER
NOM=FILENAME(FICHIER)
CRT NOM
CRT "au revoir"


9 Complments

T24> JED VOC LDICT
001 PA liste de dictionnaire
002 TERM 132
003 SORT DICT <<I2,nom de fichier :>> _
004 BY F1 BY F2 F1 F2 F4 F5 F6 _
005 WITH @ID UNLIKE "XBUILD

T24> JED VOC LDICT
001 PQN liste de dictionnaire
002 HTERM 132
003 P
004 10 IF #A2 G 100
005 HSORT DICT
006 A2
007 HBY F1 BY F2 F1 F2 F4 F5 F6
008 WITH @ID UNLIKE "XBUILD
009 P
010100 Ointroduire le nom du fichier +
011 S1
012 IP:
013 G 10

T24> JED VOC LIST.CUST
001 PA
002 LOOP
003 CLEARPROMPTS
004 IF <<Introduire la cl (ou FIN):>> EQ FIN THEN GO FIN
005 LIST.ITEM FBNK.CUSTOMER <<Introduire la cl (ou FIN):>>
006 REPEAT
007 FIN:


T24> JED VOC FLY
001 PA
002 EBS.TERMINAL.SELECT EBS-JBASE
003 EX
JBASE & GLOBUS Support de cours
25/01/2007 T24 Page 27
004 DATA TRAIN01
005 DATA 123456

T24> JED VOC GLOBUS
001 PQN
002 F-OPEN 1 F.SPF
003 XErreur Ouverture
004 F-READ 1 SYSTEM
005 XErreur Lecture
006 OLa version de Globus est +
007 T &1.8,I013,I010 IO pour introduire un code decimal
T &1.8 est le champ 8 du TD numro 1






































JBASE & GLOBUS Support de cours
25/01/2007 T24 Page 28
EXERCICES SUR ENQUIRY

1- Consultation du fichier ACCOUNT. (Exemple :VLTRG01)





2- Ajoutter 2 colonnes Devise(CURRENCY) et Solde(WORKING.BALANCE)








JBASE & GLOBUS Support de cours
25/01/2007 T24 Page 29







Sur le rsultat obtenu on voit que le solde est totalis ligne ligne
0 + 12000 donne 12000.00
12000 - 2458.55 donne 9541.45
JBASE & GLOBUS Support de cours
25/01/2007 T24 Page 30





La partie en-tte se fait en mode full view.@(colonne,ligne) permet un positionnement sur
les logne 0 3.

4- Prsence du nom de client dans le cadre de rupture :



La partie section est mise HEADER pour avoir une compatibilit Desktop, Browser.
JBASE & GLOBUS Support de cours
25/01/2007 T24 Page 31
NOM.CLI donne le nom du client avec un code LINK
NOM.CC donne le nom du charg de compte.






TAUX permet daller chercher la valeur de taux en premire valeur. Les 2 oconv
permettent une expression avec deux dcimal et un taux a zero vide .
Le END permet de dfinir une dition en fin de consultation deux ligne sous le total.
Pour que la totalisation se fasse correctement, on utilise le mcanisme des ruptures.



JBASE & GLOBUS Support de cours
25/01/2007 T24 Page 32



On fait apparatre ici le texte total par devise Total USD par exemple.



Le numro de compte souslign correspond au lancement de consultations en cliquant
sur la ligne.


JBASE & GLOBUS Support de cours
25/01/2007 T24 Page 33
ACCOUNT.NUMBER correspond au numro de compte dans lenquiry
ACCT.BAL.TODAY ou BMCE16.

5- Possibilits de ventillations en fin dtat.



Suivant le code CURRNCY on va cumuler dans MT1 et MT3 les montants des soldes.
Quand la currency est USD on est en devise locale, le taux est donc gal 1( et non vide,
comme dans le fichier FBNK.CURRENCY)
Les lignes END permettent la sortie des intituls des sommes et les sommes ventilles.



JBASE & GLOBUS Support de cours
25/01/2007 T24 Page 34
EXERCICE SUR LES VERSIONS

1- Cration dune version sur CUSTOMER.



2- Version pour la cration dun utilisateur.
On doit faire une affectation des valeurs par dfaut.

JBASE & GLOBUS Support de cours
25/01/2007 T24 Page 35



On force la proprit des champs saisie impossible (NO INPUT)


JBASE & GLOBUS Support de cours
25/01/2007 T24 Page 36

3- Utilisation avec plusieurs onglets



&Domiciation permet dobtenir sur la version princupale le titre de longlet avec le premier
caractre surlign ici D. Les autres onglets sont dfinis dans
CUSTOMER,BMCE61 et
CUSTOMER,BMCE62.





JBASE & GLOBUS Support de cours
25/01/2007 T24 Page 37


4- A partir dune enquiry on demande lactivation dune version en donnant des valeurs
par dfaut.



CUSTOMER,BMCE02 I CUSTOMER on fait une saisie en donnant le numro de client .
FUNDS.TRANSFER,CBW I F3 permet une saisie de cration en exportant le numro de
compte.









JBASE & GLOBUS Support de cours
25/01/2007 T24 Page 38

EXERCICES SUR ROUTINES T24

1- Utilisation dun cryptage du nom, on utilise la fonction ENCRYPT et O.DATA

SUBROUTINE NAME.KRYPT
$INSERT I_COMMON
$INSERT I_EQUATE
$INSERT I_ENQUIRY.COMMON
VALEUR=O.DATA
O.DATA=ENCRYPT(VALEUR,"",1)
RETURN


2- Utilisation dune nouvelle local ref et dune routine dans une version.
Il faut faire la cration de la rfrence locale en faisant une saisie des fichiers :
LOCAL.TABLE et LOCAL.REF.TABLE
Pour LOCAL.TABLE



Pour LOCAL.REF.TABLE





JBASE & GLOBUS Support de cours
25/01/2007 T24 Page 39




On voit que le 1.12 fait rfrence la dfinition du TOTAL.ACCOUNTS.

SUBROUTINE TOTCPT
$INSERT I_COMMON
$INSERT I_EQUATE
$INSERT I_F.CUSTOMER
$INSERT I_F.CUSTOMER.ACCOUNT
EQU NB.COMPTE TO 12
MAIN: *
GOSUB INIT
GOSUB OPENFILES
GOSUB PROCESS
RETURN
INIT:
FN.CUS.ACC = 'F.CUSTOMER.ACCOUNT'
F.CUS.ACC = ''
Y.CUS.ID = ID.NEW
R.CUS.ACC = ''
Y.CUS.ACC.ERR = ''
RETURN
OPENFILES:
CALL OPF(FN.CUS.ACC,F.CUS.ACC)
RETURN
JBASE & GLOBUS Support de cours
25/01/2007 T24 Page 40
PROCESS:
IF ID.OLD = "" THEN ;* If it is a new customer record
R.NEW(EB.CUS.LOCAL.REF)<1,NB.COMPTE> * = 0 ;* No calculation is require
END
ELSE
CALL F.READ(FN.CUS.ACC,Y.CUS.ID,R.CUS.ACC,F.CUS.ACC,Y.CUS.ACC.ERR)
IF Y.CUS.ACC.ERR NE "" THEN
R.NEW(EB.CUS.LOCAL.REF)<1,NB.COMPTE> = 0
END
ELSE
R.NEW(EB.CUS.LOCAL.REF)<1,NB.COMPTE> = DCOUNT(R.CUS.ACC,FM)
END
END
RETURN

Aprs compilation et cataloguage, on doit mentionner la routine dans F.PGM.FILE et dans
F.EB.API






La version utilise est : CUSTOMER,TOTCPT






JBASE & GLOBUS Support de cours
25/01/2007 T24 Page 41










Crer une routine quisexcute ds que le nom de lenquiry est saisie et prefixer la cl par
le prfixe TEM.TRG. Ne pas appliquer cela aux enquiries dbutant par % ou se
terminant par -LIST

JBASE & GLOBUS Support de cours
25/01/2007 T24 Page 42



La routine peut scrire :

SUBROUTINE V.TRG.CHECK.ID.RTN
*----------------------------------------
$INSERT I_COMMON
$INSERT I_EQUATE
$INSERT I_F.ENQUIRY
*---------------------------------------
IF APPLICATION NE 'ENQUIRY' THEN RETURN
IF COMI THEN ;* analyse de la cle
IF COMI[1,1] NE '%' AND FIELD(COMI,'-',2)[1,4] NE 'LIST' THEN
COMI = 'TEM.TRG.':COMI
IF LEN(COMI) GT 30 THEN
E = "RESTRICTION DE LONGEUR DE CLE A 30 CARACTERES"
CALL ERR
MESSAGE = 'REPEAT'
V$ERROR = 1
END
END
END
RETURN
Il faut mettre a jour dans la version ENQUIRY, le champ ID.RTN avec
@V.TRG.CHECK.ID.RTN.
La saisie se fait par ENQUIRY,


3- Ecrire une routine qui restreint un utilisateur essayant douvrir un enrgistrement du
fichier live de CUSTOMER qui ne soit pas en entre et autoris pour lui, on demande de
visualiser le message derreur Acces Restrint.

SUBROUTINE V.TRG.CHECK.REC.RTN
*----------------------------------------------------------
$INSERT I_COMMON
$INSERT I_EQUATE
$INSERT I_F.CUSTOMER
IF NOT(R.NEW(EB.CUS.INPUTTER)) THEN RETURN
IF R.NEW(EB.CUS.RECORD.STATUS) THEN RETURN
THIS.OPERATOR.OK = 0
INPUTTERS = R.NEW(EB.CUS.INPUTTER)
NO.OF.INPUTTERS = DCOUNT(INPUTTERS,@VM)
IF NO.OF.INPUTTERS = 1 THEN
IF FIELD(INPUTTERS,'_',2) = OPERATOR THEN THIS.OPERATOR.OK = 1
END ELSE
LOOP
REMOVE INPUTTER FROM INPUTTERS SETTING MORE.INPUTTERS
WHILE INPUTTER : MORE.INPUTTERS DO
INPUT.OPERATOR = FIELD(INPUTTER,'_',2)
IF INPUT.OPERATOR EQ OPERATOR THEN
THIS.OPERATOR.OK = 1
INPUTTERS = ''
END
REPEAT
END
IF NOT(THIS.OPERATOR.OK) THEN
AUTHORISER = R.NEW(EB.CUS.AUTHORISER)
JBASE & GLOBUS Support de cours
25/01/2007 T24 Page 43
IF FIELD(AUTHORISER,'_',2) NE OPERATOR THEN
E = 'Acces Restrint'
CALL ERR
MESSAGE = 'REPEAT'
V$ERROR = 1
END
END
RETURN


4- Lutilisateur veut mettre un commentaire spcifique un CUSTOMER. Cette option
pouvant tre utilise plus tard ou dite avec lenregistrement pour indiquer une
particularit.

SUBROUTINE V.TRG.BEFORE.AUTH.RTN
*--------------------------------------------------------
$INSERT I_COMMON
$INSERT I_EQUATE
$INSERT I_F.CUSTOMER
*--------------------------------------------------------
Y.COLUMN = 8 ;* Not of any significance in Desktop
Y.ROW = 22 ;* Not of any significance in Desktop
N1 = '35.1'
T1 = 'A'
INP.MSG = 'Entrer le texte du Client'
CALL INP(INP.MSG,Y.COLUMN,Y.ROW,N1,T1)
IF COMI = '' THEN
CRT "Pas de texte saisi. Utiliser un autre logiciel"
END ELSE
R.NEW(EB.CUS.TEXT)<1,-1> = COMI
END
RETURN


On fait la cration dune version CUSTOMER,BEFORE qui permet a la saisie de mettre
un commentaire pour le client. Quand le message indique qil ny a rien de chang, la
rponse ngative entraine la sollicitation du message pour le client.
On doit rfrencer la routine dans PGM.FILE et EB.API
Dans BAFORE.AUTH.RTN on implante @V.TRG.BEFORE.AUTH.RTN

JBASE & GLOBUS Support de cours
25/01/2007 T24 Page 44



































JBASE & GLOBUS Support de cours
25/01/2007 T24 Page 45
EXERCICES POUR REPGEN

Exercice 1 - Dessin


























Exercice 1 - Sortie





Mumero Cusfomer
Mumero Accounf
Accounf
AppIicofion
Type ef ModuIo sonf pris
pour definir Ie fichier de
monuvre.
JBASE & GLOBUS Support de cours
25/01/2007 T24 Page 46

Exercice 2 - Dessin












Exercice 2 Sortie





SeIecfion du ropporf pour incIure Ies numeros de
compfe qui sonf inferieur Z0000

JBASE & GLOBUS Support de cours
25/01/2007 T24 Page 47


Exercice 3 - Dessin











Exercice 3 Sortie











Dons cef exempIe Io posifion coIonne esf definie.
Tri por numero de CUSTOMEP
Mosque specifique
pour un oIignemenf
droife.

Trie por Cusfomer

Mumero de CoIonne
JBASE & GLOBUS Support de cours
25/01/2007 T24 Page 48

Exercice 4 - Dessin
















Exercice 4 Sortie






Mumero de chomp de CUSTOMEP
Ceffe
oppIicofion
demonde un
Iien
Donnees du
CUSTOMEP
JBASE & GLOBUS Support de cours
25/01/2007 T24 Page 49

Exercice 5 - Dessin










Exercice 5 Sortie





Premire Iigne
Deuxime Iigne
En-ffe coIonne
JBASE & GLOBUS Support de cours
25/01/2007 T24 Page 50
Exercice 6 Dessin















Exercice 6 Sortie


VisuoIisero Ie fofoI oussi
bien que Io boIonce.
Produiro un fofoI
quond Ie code
devise chonge.
Tofoux pour
choque devise
JBASE & GLOBUS Support de cours
25/01/2007 T24 Page 51
Exercice 7 - Dessin















Exercice 7 Sortie


Choque
devise
Cusfomer
opporof sur
une poge
seporee
JBASE & GLOBUS Support de cours
25/01/2007 T24 Page 52
Le nom du Cusfomer ef Ie
numero en en-ffe.
Exercice 8 - Dessin














Exercice 8 Sortie



Ces eIemenfs vonf
opporofre dons
I'en-ffe
JBASE & GLOBUS Support de cours
25/01/2007 T24 Page 53
Exercice 9 Dessin



Pour meffre
un fexfe dons
I'en-pied.
Pour meffre
Ie fofoI dons
I'en-pied
JBASE & GLOBUS Support de cours
25/01/2007 T24 Page 54

Exercice 9 Sortie


Exercice 10 Dessin








Exercice 10 Sortie



TofoIs for eoch
Currency
dispIoyed in fhe
foofer

JBASE & GLOBUS Support de cours
25/01/2007 T24 Page 55
Exercice 11 Dessin





















Exercice 11 Sortie


"Debif"
opporof
choque nouveou
compfe negofif
JBASE & GLOBUS Support de cours
25/01/2007 T24 Page 56
Exercice 12 Dessin














Creofion de Io decision porfonf sur Ie chomp SECTOP.














Une fois Io seIecfion reoIisee, on peuf definir Ies groupes.


Decision
0roupe I
Decision
Decision
groupe Z

0roupe I -
0roupemenf pour Ies
cIienfs prives.
Cofegorie specifique
JBASE & GLOBUS Support de cours
25/01/2007 T24 Page 57


















Exercice 12 Sortie








0roupe Z -
0roupemenf des cIienfs
por cofegorie.