Genel Bilgiler
SQL Server
Stored Procedure
✅ Etkilenmez
23.12.2025 07:15
23.12.2025 16:10
İstatistikler
0
Kod Analizi
63
Satır
3
Kullandığı
2
Kullanan
→ Kullandığı Nesneler (3)
← Kullanan Nesneler (2)
CALLS_SP
CALLS_SP
→ Bağımlılık Ağacı
- STR_DEPO_HAREKETLERIUSES_VIEW
- STR_DEPO_01REFERENCES
- STR_DEPO_02REFERENCES
- STR_DEPO_03REFERENCES
- STR_DEPO_04REFERENCES
- STR_DEPO_05REFERENCES
- STR_DEPO_06REFERENCES
- STR_DEPO_07REFERENCES
- STR_DEPO_08REFERENCES
- STR_ALIM_TARIHLERIUSES_VIEW
- SP_STR_ALIM_OZET_TABLOLARI_OLUSTURREFERENCES
- STR_ALIM_05REFERENCES
- STR_ALIM_06REFERENCES
- STR_ALIM_07REFERENCES
- STR_ALIM_08REFERENCES
- STR_ALIM_05REFERENCES
- STR_ALIM_06REFERENCES
- STR_ALIM_07REFERENCES
- STR_ALIM_08REFERENCES
- STR_APLUS_SECIMREFERENCES
← Etki Ağacı
- STR_RAPORUCALLS_SP
- STR_RAPORUCALLS_SP
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;