← Detay Sayfası
Nesne Düzenle
|
SP_STR_MALZEME_RAPORU
İlgili Uygulama
-- Seçiniz --
SQL Server
Nesne Türü
View
Stored Procedure
Trigger
Job
Nesne Adı
Bu nesne dönem devrinden etkileniyor mu? (Örn: İçinde _01_ gibi sabit dönem kodu var mı?)
Genel Kullanım Amacı ve Notlar
Tam SQL Kodu
CREATE PROC [dbo].[SP_STR_MALZEME_RAPORU] ( @LOGREF INT ) AS BEGIN SET NOCOUNT ON; DECLARE @ALIMTARIH DATE; DECLARE @SONTARIH DATE; DECLARE @ILKALIM INT; DECLARE @BITIS INT; -- 1) Ilgili ürün için son alis tarihi SELECT @ALIMTARIH = MAX(DATE_) FROM dbo.[STR_ALIM_TARIHLERI] WHERE STOCKREF = @LOGREF; -- Hiç alis yoksa çik IF @ALIMTARIH IS NULL RETURN; -- 2) Son alisin toplam miktarini al SELECT @ILKALIM = SUM(MIKTAR) FROM dbo.[STR_ALIM_TARIHLERI] WHERE STOCKREF = @LOGREF AND DATE_ = @ALIMTARIH; -- 3) 30 günlük tükenme kontrolü SET @SONTARIH = @ALIMTARIH; SET @BITIS = 1; -- stok var gibi kabul ediyoruz WHILE DATEDIFF(DAY, @ALIMTARIH, @SONTARIH) <= 30 AND @BITIS > 0 BEGIN -- Her gün için depo hareketlerinden eldeki toplam stogu hesapla SET @BITIS = ISNULL( (SELECT SUM(ONHAND) FROM dbo.[STR_DEPO_HAREKETLERI] WHERE STOCKREF = @LOGREF AND DATE_ BETWEEN @ALIMTARIH AND @SONTARIH), 0 ); -- Bir sonraki güne geç SET @SONTARIH = DATEADD(DAY, 1, @SONTARIH); END -- 4) 30 gün içinde stok 0'a düstüyse kaydi ekle IF @BITIS <= 0 BEGIN INSERT INTO [UNIVERSALDB].[dbo].[STR_APLUS_SECIM] (ALIMTARIH, SONTARIH, FARK, BITIS, STOCKREF, MIKTAR) VALUES (@ALIMTARIH, @SONTARIH, DATEDIFF(DAY, @ALIMTARIH, @SONTARIH), @BITIS, @LOGREF, @ILKALIM); END; END;
Oluşturulma: 23.12.2025 07:15
Son Güncelleme: 23.12.2025 17:28
İptal
Nesneyi Sil
Değişiklikleri Kaydet