← Detay Sayfası
Nesne Düzenle
|
SP_REMOVE_ORDER
İ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_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
Oluşturulma: 23.12.2025 07:15
Son Güncelleme: 23.12.2025 17:28
İptal
Nesneyi Sil
Değişiklikleri Kaydet