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
|
PROCEDURE P_UPDATE_FLOW(P_MTH_REF Number,P_FILE_NAME CHAR, P_STATUS CHAR, P_STAT out Number) is
--==============================================================================================
-- Objectif : Cette procédure met à jour le statut d'un fichier
-- Tables en Entrée : Aucune
-- Tables en Sortie : Aucune
-- Param Entrée :
-- P_MTH_REF : Mois de la mise en production de la forme 200302
-- P_FILE_NAME : Nom du fichier
-- Param Sortie : P_STAT
-- Valeurs de retour possibles :
-- 0 ==> fichier pas encore chargé pour le mois courant
-- 1 ==> fichier déjà traité
-- cree le 16/09/2008 par MPC
--==============================================================================================
------------------------------------------------------------------------------
-- Declaration de variables
------------------------------------------------------------------------------
-- Nom de Procedure
T_STATUS varchar2(1);
-- Nom de Procedure
T_NOM_PROC varchar2(50);
-- Message de fin de traitement
T_MSG varchar2(2000);
--Type de processus
T_TYP_PROCESS Varchar2(20);
Procedure P_CALL_LOG_DET Is
Begin
-- ===================================
-- Log erreur de traitement
-- ===================================
PCK_LGD_UTILS.P_LOG_DET
(
T_NOM_PROC ,
T_TYP_PROCESS,
SQLCODE,
T_MSG,
To_Char(P_MTH_REF),
0
);
End;
------------------------------------------------------------------------------
-- Debut de Traitement
------------------------------------------------------------------------------
BEGIN
DBMS_OUTPUT.PUT_LINE('début');
--Initialisation de variables de log
T_NOM_PROC:='P_UPDATE_FLOW';
T_TYP_PROCESS:=PCK_LGD_PARAMS.ADM;
DBMS_OUTPUT.PUT_LINE('query is :');
DBMS_OUTPUT.PUT_LINE(P_MTH_REF||' and '||P_FILE_NAME);
SELECT STATUS INTO T_STATUS
FROM LGD_GUI_LOAD
WHERE
FILE_NAME = P_FILE_NAME ;
DBMS_OUTPUT.PUT_LINE('test du status');
if (T_STATUS = 'I') then
UPDATE LGD_GUI_LOAD
SET STATUS = P_STATUS, LOAD_DATE=SYSDATE
WHERE MTH_REF = P_MTH_REF AND FILE_NAME = P_FILE_NAME ;
DBMS_OUTPUT.PUT_LINE('MAJ date');
else
UPDATE LGD_GUI_LOAD
SET STATUS = P_STATUS
WHERE MTH_REF = P_MTH_REF AND FILE_NAME = P_FILE_NAME ;
DBMS_OUTPUT.PUT_LINE('pas de MAJ date');
end if;
DBMS_OUTPUT.PUT_LINE('fin');
-------------------------------------------------------------------------------------------------------
-- Insertion de la ligne
-------------------------------------------------------------------------------------------------------
COMMIT;
P_STAT := 1 ;
DBMS_OUTPUT.PUT_LINE('fin');
EXCEPTION
WHEN Others then
begin
rollback;
P_STAT:=0;
T_MSG:=T_MSG||' '||SqlErrm(SqlCode);
P_CALL_LOG_DET;
end;
------------------------------------------------------------------------------
-- Fin de procedure
------------------------------------------------------------------------------
end P_UPDATE_FLOW; |
Partager