Genel Bilgiler

SQL Server
Stored Procedure
✅ Etkilenmez
23.12.2025 07:15
23.12.2025 16:10

Notlar

Düzenle

Henüz not eklenmemiş.

+ Not ekle

İstatistikler

0
Kod Analizi
63
Satır
3
Kullandığı
2
Kullanan

Kullandığı Nesneler (3)

USES_VIEW
USES_VIEW
REFERENCES

Kullanan Nesneler (2)

CALLS_SP
CALLS_SP

Bağımlılık Ağacı

Etki Ağacı

Tam SQL Kodu

Düzenle
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;

Kodun Çalışma Mantığı (Adım Adım)

Analiz Ekle/Düzenle

Henüz bu nesne için bir analiz girilmemiş.

İlk Analizi Ekle