bonjour,
je suis vraiment desolé pour le derangement, mais je vx juste que vous sachiez que en vous donnant le mot de passe de ma boite email , non pa pour balader, mais parceque il y a s bcp de procedures la dans..
voila les deux procedures..
1_
create proc TEST.XARBRE_PROD_PF @datdeb datetime , @datfin datetime
as
declare @art varchar(20),@art2 varchar(20),@qtt numeric(28, 13),@qtt_pf numeric(28, 13)
declare @des1 varchar(30),@des2 varchar(30),@fam varchar(30)
truncate table TEST.XPF_ECL_2
DECLARE curs_article_pf CURSOR
FOR
select ITMREF_0 from TEST.STOJOU a where a.TRSTYP_0=5 and a.TRSNUM_0='EOF' and exists (select 1 from TEST.ITMMASTER b
where a.ITMREF_0=b.ITMREF_0 and b.TCLCOD_0 in ('35','36','38') )
and a.IPTDAT_0 between @datdeb and @datfin
OPEN curs_article_pf
FETCH NEXT FROM curs_article_pf
into @art
-- Check @@FETCH_STATUS to see if there are any more rows to fetch.
WHILE @@FETCH_STATUS = 0
BEGIN
exec TEST.XARBRE_PROD @art
--------------------------------------------------------------------------------
DECLARE curs_article_pf_2 CURSOR
FOR
select article,qtt from TEST.XPF_ECL
OPEN curs_article_pf_2
FETCH NEXT FROM curs_article_pf_2
into @art2,@qtt
-- Check @@FETCH_STATUS to see if there are any more rows to fetch.
WHILE @@FETCH_STATUS = 0
BEGIN
select @des1=b.ITMDES1_0,@des2=b.ITMDES2_0,@fam=b.TSICOD_2,@qtt_pf=a.QTYSTU_0 from TEST.STOJOU a,TEST.ITMMASTER b where b.ITMREF_0=@art2 and a.ITMREF_0=@art
insert into TEST.XPF_ECL_2 values (@fam,@art,@art2,@des1,@des2,@qtt*@qtt_pf)
FETCH NEXT FROM curs_article_pf_2
into @art2,@qtt
END
CLOSE curs_article_pf_2
DEALLOCATE curs_article_pf_2
-----------------------------------------------------------------------------------------
FETCH NEXT FROM curs_article_pf
into @art
END
CLOSE curs_article_pf
DEALLOCATE curs_article_pf
-- select * from TEST.XPF_ECL_2 order by pf
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO
2_
CREATE proc arbre_prod_pf
as
declare @art varchar(20),@art2 varchar(20),@qtt numeric(28, 13)
declare @des1 varchar(30),@des2 varchar(30),@des3 varchar(30)
truncate table TEST.XPF_ECL_2
DECLARE curs_article_pf CURSOR
FOR
select ITMREF_0 from TEST.ITMMASTER where TCLCOD_0 in ('35','36','38')
OPEN curs_article_pf
FETCH NEXT FROM curs_article_pf
into @art
-- Check @@FETCH_STATUS to see if there are any more rows to fetch.
WHILE @@FETCH_STATUS = 0
BEGIN
exec arbre_prod @art
--------------------------------------------------------------------------------
DECLARE curs_article_pf_2 CURSOR
FOR
select article,qtt from TEST.XPF_ECL
OPEN curs_article_pf_2
FETCH NEXT FROM curs_article_pf_2
into @art2,@qtt
-- Check @@FETCH_STATUS to see if there are any more rows to fetch.
WHILE @@FETCH_STATUS = 0
BEGIN
select @des1=ITMDES1_0,@des2=ITMDES2_0,@des3=ITMDES3_0 from TEST.ITMMASTER where ITMREF_0=@art2
insert into TEST.XPF_ECL_2 values (@art,@art2,@des1,@des2,@des3,@qtt)
FETCH NEXT FROM curs_article_pf_2
into @art2,@qtt
END
CLOSE curs_article_pf_2
DEALLOCATE curs_article_pf_2
-----------------------------------------------------------------------------------------
FETCH NEXT FROM curs_article_pf
into @art
END
CLOSE curs_article_pf
DEALLOCATE curs_article_pf
-- select * from TEST.XPF_ECL_2 order by pf