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
|
SET DATEFORMAT dmy
declare @DATE_EN_COURS as date
declare @DATE_DEBUT as date
declare @DATE_FIN as date
declare @CODE_MAGASIN as numeric
declare @NOMBRE_MAX_MAGASIN as numeric
SET @DATE_EN_COURS='01/01/1900'
SET @CODE_MAGASIN=1
SET @NOMBRE_MAX_MAGASIN=2
WHILE DATEADD(month, DATEDIFF(month, 0, @DATE_EN_COURS), 0)<>DATEADD(month, DATEDIFF(month, 0,(DATEADD(month, 1, GETDATE())) ), 0)
BEGIN
SET @DATE_DEBUT=DATEADD(month, DATEDIFF(month, 0, @DATE_EN_COURS), 0) /* premier_jour_du_mois_courant */
SET @DATE_FIN=DATEADD(day, -1, DATEADD(month, DATEDIFF(month, 0,@DATE_EN_COURS) + 1, 0)) /* dernier_jour_du_mois_courant */
SET @DATE_EN_COURS=DATEADD(month, 1, @DATE_EN_COURS)
WHILE @CODE_MAGASIN<=@NOMBRE_MAX_MAGASIN
BEGIN
insert into stat_mois (REFERENCE,CODE_MAGASIN,QTE_SORTIE,QTE_ENTREE,TACH_TOTALHT,TACH_TOTALHTNET,TACH_TOTALTTC,TACH_TOTALTTCNET,TACH_TOTALPRHT,TVTE_TOTALHT,TVTE_TOTALHTNET,TVTE_TOTALTTC,TVTE_TOTALTTCNET,TVTE_TOTALPRHT,TVTE_TOTALMARGE)
select distinct reference ,CODE_MAGASIN,SUM(QTE_SORTIE),sum(QTE_ENTREE),sum(ACH_TOTALHT),sum(ACH_TOTALHTNET),sum(ACH_TOTALTTC),sum(ACH_TOTALTTCNET),sum(ACH_TOTALPRHT),sum(VTE_TOTALHT),sum(VTE_TOTALHTNET),sum(VTE_TOTALTTC),sum(VTE_TOTALTTCNET),sum(VTE_TOTALPRHT),sum(VTE_TOTALMARGE)
from MOUVSTK
where CODE_ORIGINE<>'<INV>'and CODE_ORIGINE<>'RS'and CODE_ORIGINE<>'IM' AND CODE_MAGASIN=@CODE_MAGASIN AND "DATE">=@DATE_DEBUT and "DATE"<=@DATE_FIN
GROUP by REFERENCE,CODE_MAGASIN
SET @CODE_MAGASIN=@CODE_MAGASIN+1
END
END |
Partager