begin
DECLARE
@MATNR varchar(50)
,@YEAR_MONTH int
,
@received int
,
@returned int
,
@fkje int
,@ID int
CREATE TABLE #temp(
[ID] [INT] NULL,
[MAT] [nvarchar](50) NULL,
[YEARMONTH] [int] NULL,
[RECEIVED] [int] NULL,
[RETURNED] [int] NULL,
[FKJE] [int] NULL
)
DECLARE CURSOR1 CURSOR FOR
SELECT YEAR_MONTH , MATNR , RECEIVED,RETURNED
FROM [dbo].[TRAIN_MATERIAL_PURCHASE]
order by MATNR ,YEAR_MONTH
set @ID=1
set @FKJE=0
open CURSOR1
FETCH next from CURSOR1 into @YEAR_MONTH,@MATNR,@RECEIVED,@RETURNED
WHILE @@FETCH_STATUS =0
begin
if (@FKJE>=0 )
begin
set @FKJE =@RECEIVED-@RETURNED
end
else if (@FKJE<0 )
begin
set @FKJE =@RECEIVED -@RETURNED+@FKJE
end
insert into #temp( [ID] , [MAT] , [YEARMONTH] , [RECEIVED] , [RETURNED] , [FKJE] )
values(@ID,@MATNR,@YEAR_MONTH,@RECEIVED,@RETURNED,@FKJE)
set @ID=@ID+1
FETCH next from CURSOR1 into @YEAR_MONTH,@MATNR,@RECEIVED,@RETURNED
end
CLOSE CURSOR1
DEALLOCATE CURSOR1
select * from #temp
end
