DECLARE 
	@TARIH  AS DATE,
	@DEPOID  AS INT,
	@SUBEID  AS INT,
	@SIRANO as INT,
	@DEPOFISISLID AS INT,
	@DEPOFISID AS INT,
	@KAYITSAYI AS INT
	
DECLARE INSERT_CURSOR CURSOR FAST_FORWARD FOR 
SELECT CAST(ITARIH AS DATE) AS TARIH, TBIRIM.DEPOID, SUBEID, DEPOFISISLID from DEPOFISISL INNER JOIN HESAPISL ON
HESAPISL.HESAPISLID=DEPOFISISL.ISLREFID INNER JOIN TBIRIM ON
HESAPISL.UYGBIRIMID=TBIRIM.BIRIMID
WHERE DEPOFISID IS NULL AND ISLREFID IS NOT NULL -- and STOKID=? AND DEPOFISISLID=?
ORDER BY CAST(ITARIH AS DATE), SUBEID 
  
OPEN INSERT_CURSOR 
FETCH NEXT FROM INSERT_CURSOR INTO @TARIH, @DEPOID, @SUBEID, @DEPOFISISLID 
WHILE @@FETCH_STATUS = 0
BEGIN

   SELECT @DEPOFISID= DEPOFISID FROM DEPOFIS (nolock) 
	WHERE TARIH = @TARIH AND ISLEM = 'TÜKETİM' AND  [CDEPOID]= @DEPOID AND SUBEID=@SUBEID AND
      ACIKLAMA = 'Otomatik Depo İşlemi~'
	SET @KAYITSAYI=  @@ROWCOUNT
    --PRINT STR(@DEPOFISID)
    IF @KAYITSAYI=0
    BEGIN  
		SELECT @SIRANO=SIRANO FROM SAYACLAR WHERE TABLENAME='DEPOFIS' 
		UPDATE SAYACLAR SET SIRANO=@SIRANO + 1 WHERE TABLENAME='DEPOFIS' 

		INSERT INTO [dbo].[DEPOFIS]
           ([DEPOFISID] ,[TARIH] ,[YETKILI],[ISLEM],[ACIKLAMA],[CDEPOID],[GSKODU],[CSKODU], SUBEID, ENO)
		VALUES
           ( @SIRANO, @TARIH, '', 'TÜKETİM',  'Otomatik Depo İşlemi~', @DEPOID, 
		CASE WHEN @SUBEID=1 THEN '01' ELSE '02' END ,
		CASE WHEN @SUBEID=1 THEN '01' ELSE '02' END , @SUBEID, @SIRANO)

		UPDATE [dbo].[DEPOFISISL] SET DEPOFISID = @SIRANO WHERE DEPOFISISLID= @DEPOFISISLID
		--PRINT 'UPDATED DEPOFISID  '+STR(@SIRANO) 

	END
	else
	BEGIN
		UPDATE [dbo].[DEPOFISISL] SET DEPOFISID = @DEPOFISID WHERE DEPOFISISLID= @DEPOFISISLID
		--PRINT 'UPDATED DEPOFISID'+STR(@DEPOFISID) 
	END

	FETCH NEXT FROM INSERT_CURSOR INTO @TARIH, @DEPOID, @SUBEID, @DEPOFISISLID  
END

CLOSE INSERT_CURSOR 
DEALLOCATE INSERT_CURSOR 
