1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139
| PROCEDURE ModifierDate(sGenre , sType, nChif, dDateAmod1 est une Date)
dDateArenv, dDateTampon, dDateAmod est une Date
VarJour, VarMois, nVarAn, i est un entier = 0
dDateAmod = dDateAmod1
SELON Majuscule(sType)
CAS "J"
SELON Majuscule(sGenre)
CAS "R"
SELON nChif
CAS < dDateAmod..Jour
VarJour = dDateAmod..Jour - nChif
VarMois = dDateAmod..Mois
nVarAn = dDateAmod..Année
CAS >= dDateAmod..Jour
VarJour = nChif - dDateAmod..Jour
SELON dDateAmod..Mois
//Cas de Janvier, on revient àDécembre de l'année passée
CAS 1
VarJour = 31 - VarJour
VarMois = 12
nVarAn = dDateAmod..Année - 1
//Cas de Février
CAS 3
dDateTampon..Jour = dDateAmod..Jour
dDateTampon..Mois = 2
dDateTampon..Année = dDateAmod..Année
i = DernierJourMois(dDateTampon)
VarJour = i - VarJour
VarMois = 2
nVarAn = dDateAmod..Année
AUTRE CAS
dDateTampon..Jour = dDateAmod..Jour
dDateTampon..Mois = dDateAmod..Mois - 1
dDateTampon..Année = dDateAmod..Année
i = DernierJourMois(dDateTampon)
VarJour = i - VarJour
VarMois = dDateAmod..Mois - 1
nVarAn = dDateAmod..Année
FIN
AUTRE CAS
FIN
CAS "A"
//Etablissement du dernier jour du mois de la date
dDateTampon..Jour = dDateAmod..Jour
dDateTampon..Mois = dDateAmod..Mois
dDateTampon..Année = dDateAmod..Année
i = DernierJourMois(dDateTampon)
SELON (nChif + dDateAmod..Jour)
CAS < i
VarJour = dDateAmod..Jour + nChif
VarMois = dDateAmod..Mois
nVarAn = dDateAmod..Année
CAS > i
SELON dDateAmod..Mois
//Cas de Décembre, on revient à Janvier de l'année suivante
CAS 12
VarJour = (nChif + dDateAmod..Jour) - i
VarMois = 1
nVarAn = dDateAmod..Année + 1
AUTRE CAS
VarJour = (nChif + dDateAmod..Jour) - i
VarMois = dDateAmod..Mois + 1
nVarAn = dDateAmod..Année
FIN
AUTRE CAS
VarJour = i
VarMois = dDateAmod..Mois
nVarAn = dDateAmod..Année
FIN
AUTRE CAS
FIN
CAS "M"
SELON Majuscule(sGenre)
CAS "R"
SELON nChif
CAS < dDateAmod..Mois
VarJour = dDateAmod..Jour
VarMois = dDateAmod..Mois - nChif
nVarAn = dDateAmod..Année
CAS >= dDateAmod..Mois
VarJour = dDateAmod..Jour
VarMois = 12 - (nChif + dDateAmod..Mois)
nVarAn = dDateAmod..Année - 1
AUTRE CAS
FIN
CAS "A"
SELON (nChif + dDateAmod..Mois)
CAS = 12
VarJour = dDateAmod..Jour
VarMois = 12
nVarAn = dDateAmod..Année
CAS < 12
VarJour = dDateAmod..Jour
VarMois = dDateAmod..Mois + nChif
nVarAn = dDateAmod..Année
CAS > 12
VarJour = dDateAmod..Jour
VarMois = (nChif + dDateAmod..Mois) - 12
nVarAn = dDateAmod..Année + 1
AUTRE CAS
FIN
AUTRE CAS
FIN
CAS "A"
SELON Majuscule(sGenre)
CAS "R"
VarJour = dDateAmod..Jour
VarMois = dDateAmod..Mois
nVarAn = dDateAmod..Année - 1
CAS "A"
VarJour = dDateAmod..Jour
VarMois = dDateAmod..Mois
nVarAn = dDateAmod..Année + 1
AUTRE CAS
FIN
AUTRE CAS
FIN
dDateArenv..Jour = VarJour
dDateArenv..Mois = VarMois
dDateArenv..Année = nVarAn
RENVOYER dDateArenv |
Partager