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
| SET NEWPAGE 0
SET LINESIZE 1024
SET PAGESIZE 0
SET ECHO OFF
SET FEEDBACK OFF
SET VERIFY OFF
SET HEADING OFF
SET MARKUP HTML OFF SPOOL OFF
SET TRIMSPOOL ON
SET COLSEP ';'
-- Formattage des colonnes
COLUMN ReferenceECR format A12;
COLUMN EtatWF format A15;
COLUMN NoeudCCB1 format A20;
COLUMN NoeudCCB2 format A20;
spool C:\temp\Statut_ECR.csv
-- Creation ligne d'entête
select 'Reference ECR','Date de creation','Etat WF','CCB1','date reception CCB1','date de reponse CCB1','delai CCB1',
'CCB2','date reception CCB2','date de reponse CCB2','delai CCB2','date de fin WF' from dual;
-- Extraction des données
select CCB1.processCCB1 ReferenceECR, CCB1.DebutProcess Creation,
(select description from SNE_R19.tn_flow_process_state where object_id=CCB1.StatutProcess) EtatWF,
CCB1.NoeudCCB1 NoeudCCB1,
CCB1.ReceptionCCB1 ReceptionCCB1, CCB1.ReponseCCB1 ReponseCCB1,CCB1.tempsCCB1 TraitementCCB1,
CCB2.NoeudCCB2 NoeudCCB2,
CCB2.ReceptionCCB2 ReceptionCCB2, CCB2.ReponseCCB2 ReponseCCB2,CCB2.tempsCCB2 TraitementCCB2,
case when CCB1.StatutProcess<>2 then null
else CCB1.FinProcess
end ClotureECR
from
(select P1.tdm_name processCCB1,
P1.TDMX_FLOW_PROCESS_STATUS StatutProcess,
P1.creation_date DebutProcess,
H1.TDM_RECEIVE_TIME ReceptionCCB1,
N1.MODIFICATION_DATE ReponseCCB1,
CASE WHEN TRUNC((N1.MODIFICATION_DATE - H1.TDM_RECEIVE_TIME),0)>1 then
TO_CHAR(TRUNC((N1.MODIFICATION_DATE - H1.TDM_RECEIVE_TIME),0),'9999') || ' j ' ||
TO_CHAR(TRUNC((N1.MODIFICATION_DATE - H1.TDM_RECEIVE_TIME)*24,0)-(TRUNC((N1.MODIFICATION_DATE - H1.TDM_RECEIVE_TIME),0)*24),'99') || ' h '
ELSE
TO_CHAR(TRUNC((N1.MODIFICATION_DATE - H1.TDM_RECEIVE_TIME)*24,0),'99') || ' h '
end tempsCCB1,
N1.tdm_description NoeudCCB1,
P1.modification_date FinProcess
from SNE_R19.tdm_sf_process P1
inner join SNE_R19.tdm_sf_prc_history H1 on P1.object_id=H1.tdm_process_id
inner join SNE_R19.tdm_sf_node N1 on H1.object_id1=N1.object_id and N1.tdm_description like 'Début'
where P1.tdm_name like 'ECR%') CCB1
left join
(select P2.tdm_name processCCB2,
H2.TDM_RECEIVE_TIME ReceptionCCB2,
N2.MODIFICATION_DATE ReponseCCB2,
case when TRUNC((N2.MODIFICATION_DATE - H2.TDM_RECEIVE_TIME),0)>1 then
TO_CHAR(TRUNC((N2.MODIFICATION_DATE - H2.TDM_RECEIVE_TIME),0),'9999') || ' j ' ||
TO_CHAR(TRUNC((N2.MODIFICATION_DATE - H2.TDM_RECEIVE_TIME)*24,0)-(TRUNC((N2.MODIFICATION_DATE - H2.TDM_RECEIVE_TIME),0)*24),'99') || ' h '
else
TO_CHAR(TRUNC((N2.MODIFICATION_DATE - H2.TDM_RECEIVE_TIME)*24,0),'99') || ' h '
end tempsCCB2,
N2.tdm_description NoeudCCB2
from SNE_R19.tdm_sf_process P2
inner join SNE_R19.tdm_sf_prc_history H2 on P2.object_id=H2.tdm_process_id
inner join SNE_R19.tdm_sf_node N2 on H2.object_id1=N2.object_id and N2.tdm_description like 'Planifier ECO%'
where P2.tdm_name like 'ECR%') CCB2 On CCB1.processCCB1=CCB2.processCCB2
where CCB1.StatutProcess<>3
order by CCB1.processCCB1;
spool off
exit |
Partager