Le fichier source est ${UPS_HOME}/upsvtm/demo/${UPS_LANGUAGE}/calendrier.upl.
upscmp Source=calendrier.upl
calendrier
upssng Source=calendrier.upl
Source Composant "Exemple d'emploi des calendriers" Version 4.0.0;
Variable
/******/
D : Date;
T : Nul Ou Travail;
C1 : Nul Ou Calendrier;
C2 : Nul Ou Calendrier;
PC11 : Nul Ou PeriodeCalendrier;
PC12 : Nul Ou PeriodeCalendrier;
PC2 : Nul Ou PeriodeCalendrier;
FileDAttente
/**********/
MaFile(1);
Procedure AFaire1()
/*****************/
Debut
Ecran.Ecrire("Dans AFaire1");
Ecran.Ecrire("Date="+Caractere(DateSysteme()));
Ecran.Ecrire("\n");
Fin Procedure
Procedure AFaire2()
/*****************/
Debut
Ecran.Ecrire("Dans AFaire2");
Ecran.Ecrire("Date="+Caractere(DateSysteme()));
Ecran.Ecrire("\n");
Fin Procedure
Principal
/*******/
Debut
MaFile.ActiverJournal(Vrai);
D=DateSysteme();
Ecran.Ecrire("Reference="+Caractere(D));
C1=Calendrier("MonCalendrier1");
PC11=PeriodeCalendrier(PeriodeJournaliere, D+10, 10);
C1.AjouterPeriodeIncluse(PC11);
PC12=PeriodeCalendrier(PeriodeJournaliere, D+20, 30, Nul, D+60);
C1.AjouterPeriodeExclue(PC12);
C2=Calendrier("MonCalendrier2");
PC2=PeriodeCalendrier(PeriodeHebdomadaire, D+20, 20);
C2.AjouterPeriodeIncluse(PC2);
T=AFaire1()||MaFile;
T.PlanifierPeriodiquement(C1);
T=AFaire2()||MaFile;
T.PlanifierPeriodiquement(C2);
Attendre(120.0);
C1.SupprimerPeriodeIncluse(PC11);
C1.SupprimerPeriodeExclue(PC12);
Attendre(120.0);
C2.SupprimerPeriodeIncluse(PC2);
Ecran.Ecrire("Fini");
Fin Principal