Genel Bilgiler

SQL Server
Stored Procedure
⚠️ Devirde Güncellenmeli
23.12.2025 07:15
23.12.2025 16:10

Notlar

Düzenle

Henüz not eklenmemiş.

+ Not ekle

İstatistikler

0
Kod Analizi
53
Satır
2
Kullandığı
1
Kullanan

Kullandığı Nesneler (2)

USES_VIEW
REFERENCES

Kullanan Nesneler (1)

CALLS_SP

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

Etki Ağacı

Tam SQL Kodu

Düzenle
CREATE PROC [dbo].[SP_REMOVE_ORDER] (@REF INT, @UID INT, @AMT INT)
AS 
BEGIN 
    DECLARE @YOL INT 
    DECLARE @SIP INT
    DECLARE @FARK INT
    DECLARE @CREATE_DATE DATE
    DECLARE @ORDER_DATE DATE
    DECLARE @LINE_DATE DATE

    SET @CREATE_DATE = (SELECT TOP 1 CREATE_DATE FROM IHR.dbo.MALZEME_SIPARIS_GECMISI WHERE LOGICALREF = @REF AND ORD = 1)
    SET @ORDER_DATE = (SELECT TOP 1 ORDERDATE FROM [UNIVERSALDB].[dbo].[STOK_RAPOR_SIPARISLER] WHERE STOCKREF = @REF AND USERID = @UID AND TYPE_ = 1 ORDER BY ORDERDATE DESC)
    SET @LINE_DATE = (SELECT TOP 1 DATE_ FROM dbo.LG_011_08_ORFLINE WHERE STOCKREF = @REF AND TRCODE = 2 AND CANCELLED = 0 AND STATUS = 1 ORDER BY DATE_ DESC)

    -- DATE kontrolü: CREATE_DATE veya LINE_DATE, ORDER_DATE'den küçükse güncelleme yapma
    IF (@CREATE_DATE IS NOT NULL AND @CREATE_DATE < @ORDER_DATE) OR (@LINE_DATE IS NOT NULL AND @LINE_DATE < @ORDER_DATE)
    BEGIN
        RETURN
    END

    SET @YOL = ISNULL(
                    NULLIF(
                        (SELECT TOP 1 MIKTAR FROM IHR.dbo.MALZEME_SIPARIS_GECMISI WHERE LOGICALREF = @REF AND ORD = 1), 0
                    ),
                    ISNULL(
                        (SELECT SUM(AMOUNT) 
                         FROM dbo.LG_011_08_ORFLINE 
                         WHERE STOCKREF = @REF AND TRCODE = 2 AND CANCELLED = 0 AND STATUS = 1
                         GROUP BY STOCKREF),
                    0)
                )
    IF @YOL > 0 
    BEGIN 
        SET @SIP = ISNULL((@AMT), 0) 

        IF @SIP > 0 
        BEGIN 
            SET @FARK = @SIP - @YOL

            -- Farklilik kontrolü, istege bagli olarak kullanabilirsiniz
            IF @FARK <> 0
            BEGIN 
                UPDATE LG_011_ITEMS SET ORGLOGOID = @FARK WHERE LOGICALREF = @REF
            END

            UPDATE [UNIVERSALDB].[dbo].[STOK_RAPOR_SIPARISLER] 
            SET TYPE_ = 2 
            WHERE STOCKREF = @REF AND USERID = @UID AND TYPE_ = 1 
        END
    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