Les journaux et le mécanisme de reprise

Ce programme présente la journalisation du cycle de vie des objets d'un entrepot.

Le fichier source est ${UPS_HOME}/upsvtm/demo/${UPS_LANGUAGE}/journal.upl.

Mode compilé

Commande de compilation

upscmp Source=journal.upl Persistant=Oui

Commande d'exécution

journal FichierPersistance=c:\tmp\journal.uwf FichierJournal=c:\tmp\journal.ulg NbFichiersJournaux=2 MaxFichierJournal=1 Reprise=Automatique

Mode interprété

upssng Source=journal.upl Persistant=Oui FichierPersistance=c:\tmp\journal.uwf FichierJournal=c:\tmp\journal.ulg NbFichiersJournaux=2 MaxFichierJournal=1 Reprise=Automatique

Fichier source

Source Composant "Exemple d'emploi des journaux et du mecanisme de reprise" Version 4.0.0;

Type Employe Defaut Transactionnel
/********************************/
Fin Type

Variable
/******/

Procedure CreerListeDEmployes()
/*****************************/
Variable
/******/
Debut
E=Employe();
E.Nom="scott";
E.Numero=7724;
E.Salaire=1000.00;
LE=ListeDe(E);

E=Employe();
E.Nom="allen";
E.Numero=7832;
E.Salaire=1200.00;
LE+=E;

E=Employe();
E.Nom="smith";
E.Numero=7948;
E.Salaire=1400.00;
LE+=E;

E=Employe();
E.Nom="king";
E.Numero=7964;
E.Salaire=2000.00;
LE+=E;
TachePrincipale.TransactionCourante.Valider();
Fin Procedure

Procedure AugmenterSalaires()
/***************************/
Variable
/******/
Debut
Pour E=LE.ParcoursAuDebut() JusquA LE.DernierElement() Faire Fin Pour
Attendre(1.0);
TachePrincipale.TransactionCourante.Valider();
Fin Procedure

Procedure ListerEmployes()
/************************/
Variable
/******/ Debut

Pour E=LE.ParcoursAuDebut() JusquA LE.DernierElement() Faire Fin Pour
Fin Procedure

Principal
/*******/
Debut
Si LE==Nul Alors Fin Si
AugmenterSalaires();
ListerEmployes();
Fin Principal

Résultat de l'exécution

scott 7.724 1.300,0000 allen 7.832 1.500,0000 smith 7.948 1.700,0000 king 7.964 2.300,0000