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
| CREATE PROCEDURE bdd.pr_export
AS
BEGIN
set nocount on
set ansi_warnings off
declare @v_code varchar(20)
declare @d_datehdeb datetime
declare @d_datehfin datetime
declare @v_service varchar(4)
declare @v_pcharge varchar(10)
declare @v_site varchar(5)
declare @d_datecre datetime
declare @v_matri varchar(20)
declare @i_export integer
declare @v_datehdeb varchar(20)
declare @v_datehfin varchar(20)
declare @v_datecre varchar(20)
declare @v_etab varchar(2)
declare c_lect cursor for
select
CODE,
DATEHDEB,
[SECTION],
PCHARGE,
[SITE],
DATECRE,
UTILCRE,
EXPORT
from
table_origine
where export = 0 or export is null or export = 1
order by code asc
open c_lect
fetch c_lect into
@v_code,
@d_datehdeb,
@v_service,
@v_pcharge,
@v_site,
@d_datecre,
@v_matri,
@i_export
-- 1ère ligne type echange données
if (@@fetch_status = 0) print 'exchangeInterface;WO_IN;'
while (@@fetch_status = 0)
begin
set @v_code = replicate (0,6-len(cast(@v_code as varchar)))+cast(@v_code as varchar)
set @v_datecre = convert(varchar(20),@d_datecre,103) + ' ' + convert(varchar(20),@d_datecre,108)
set @v_datehdeb = convert(varchar(20),@d_datehdeb,103) + ' ' + convert(varchar(20),@d_datehdeb,108)
set @d_datehfin = dateadd(mi,1,@d_datehdeb)
set @v_datehfin = convert(varchar(20),@d_datehfin,103) + ' ' + convert(varchar(20),@d_datehfin,108)
set @v_etab = case @v_site when '1' then 'CQ' when '5' then 'MJ' else '0' end
-- WO ligne éléments
print
'WO' + ';' +
'OT-GA-' + @v_code + ';' +
'OT-GA-' + @v_code + ';' +
'Panne arret machine' + ';' +
@v_datehdeb + ';' +
@v_datehfin + ';' +
';' + -- 1 champs vide
'URGENT;' +
'PANNE;' +
@v_service + ';' +
';;;;' + -- 4 champs vides
'TRUE;' +
';;;;;' + -- 5 champs vides
@v_pcharge + ';' +
';;;;;;;' + -- 7 champs vides
@v_etab + ';' +
';;;;' + -- 4 champs vides
@v_datecre + ';' +
@v_matri + ';' +
';;;;;;;;;;;;;;;;;;;' -- 19 champs vides
-- WOSTATUS ligne status
print
'WOSTATUS' + ';' +
'INPROGRESS' + ';' +
@v_matri + ';' +
@v_datehdeb
update table_origine set export = 1 where code = @v_code
fetch c_lect into
@v_code,
@d_datehdeb,
@v_service,
@v_pcharge,
@v_site,
@d_datecre,
@v_matri,
@i_export
end
close c_lect
deallocate c_lect
END |
Partager