PL/SQL: Gestion des dates
Bonjour,
j'ai un package qui est lancé par la procédure suivante:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
|
PROCEDURE MAIN IS
LA_DATE DATE; -- date du dernier lancement du package
BEGIN
-- Initialisation de LA_DATE
LA_DATE:= LAST_EXECUTE('OPTISTORE');
LA_DATE:= LA_DATE+1;
--Permet de gérer le cas où il y a plusieurs journées de ventes
WHILE TRUNC(la_date) <= TRUNC(SYSDATE) LOOP
CELL_P(LA_DATE);
CELL_X(LA_DATE);
LA_DATE:=LA_DATE+1;
END LOOP;
PRINT_CELLS();
-- On met à jour la date d'execution
MAJ_EXECUTE('OPTISTORE');
END; |
Donc ce package est normalement exécuté tous les jours après 21h et il récupère toutes les données enregistrées dans la journée pour créer un fichier par jour.
Si ce package n'est pas lancé pendant 2 jours, avec la boucle je gère le cas et j'ai donc un fichier par jour.
Cependant si le package est lancé dans la journée alors là j'ai un problème car il me met un fichier à vide car il consière que la journée est terminée.
Comme mon fichier a dejà été créé la journée, le fichizer du soir (avec toutes les données sort en erreur.
Je n'arrive pas à voir comment gérer le cas où ce package est lancé avant 21h.
Quelq'un aurait il une colution vers laquelle m'orienter?J'espère avoir été claire.
Je suis ssous orclae 9.