← Detay Sayfası
Nesne Düzenle
|
SP_MALZEME_KAYIT_SIPARIS
İ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_MALZEME_KAYIT_SIPARIS] ( @CODE VARCHAR(MAX), @ITEMNAME VARCHAR(MAX), @ITEMEN VARCHAR(MAX), @GCODE VARCHAR(MAX), @FIRMA VARCHAR(MAX), @PRC FLOAT, @CURR SMALLINT, @PCODE VARCHAR(MAX), @PCODE2 VARCHAR(MAX), @CRTBY SMALLINT, @LEXP1 VARCHAR(MAX), @LEXP2 VARCHAR(MAX), @IHR FLOAT, @IHRCURR SMALLINT, @FICHENO VARCHAR(MAX), @AMNT INT ) AS BEGIN DECLARE @KONTROL INT DECLARE @ITEMID INT DECLARE @COMPID INT DECLARE @PROID INT DECLARE @PROID2 INT DECLARE @PRCID INT SET @KONTROL = ISNULL((SELECT REF FROM [IHR].[dbo].[ITEMS] WHERE (CODE=@CODE OR LOGICALREF=(SELECT LOGICALREF FROM [UNIVERSALDB].[dbo].[LG_011_ITEMS] WHERE ACTIVE=0 AND CODE=@CODE)) AND CODE NOT LIKE '%+%'),0) IF @KONTROL = 0 BEGIN INSERT INTO [IHR].[dbo].[ITEMS] ([LOGICALREF],[CODE],[ITEMNAME],[ITEMNAME_EN],[CREATEDBY],[GROUPCODE]) VALUES (ISNULL((SELECT LOGICALREF FROM [UNIVERSALDB].[dbo].[LG_011_ITEMS] WHERE CODE=@CODE),0),@CODE,@ITEMNAME,@ITEMEN,@CRTBY,@GCODE) SET @ITEMID = @@IDENTITY END ELSE BEGIN SET @ITEMID = @KONTROL END IF @FIRMA<>'' BEGIN SET @KONTROL = ISNULL((SELECT REF FROM [IHR].[dbo].[COMPANIES] WHERE DEFINITION_=@FIRMA),0) IF @KONTROL = 0 BEGIN INSERT INTO [IHR].[dbo].[COMPANIES] ([CODE],[DEFINITION_],[CARDTYPE],[CREATEDBY],[STATUS]) VALUES (CONCAT('320.01.0',(SELECT COUNT(*) FROM [IHR].[dbo].[COMPANIES])+1),@FIRMA,1,@CRTBY,1) SET @COMPID = @@IDENTITY END ELSE BEGIN UPDATE [IHR].[dbo].[COMPANIES] SET DEL= 1 WHERE REF=@KONTROL SET @COMPID = @KONTROL END END ELSE BEGIN SET @COMPID = 0 END IF @PCODE<>'' BEGIN SET @KONTROL = ISNULL((SELECT TOP 1 REF FROM [IHR].[dbo].[PRODUCERCODES] WHERE CLIENTREF=@COMPID AND STOCKREF=@ITEMID AND PRODUCERCODE=@PCODE),0) IF @KONTROL = 0 BEGIN INSERT INTO [IHR].[dbo].[PRODUCERCODES] (STOCKREF,CLIENTREF,[PRODUCERCODE],[STS]) VALUES (@ITEMID,@COMPID,@PCODE,1) SET @PROID = @@IDENTITY END ELSE BEGIN UPDATE [IHR].[dbo].[PRODUCERCODES] SET DEL= 1 WHERE REF=@KONTROL SET @PROID = @KONTROL END END IF @PCODE2<>'' BEGIN SET @KONTROL = ISNULL((SELECT TOP 1 REF FROM [IHR].[dbo].[PRODUCERCODES] WHERE CLIENTREF=@COMPID AND STOCKREF=@ITEMID AND PRODUCERCODE=@PCODE2),0) IF @KONTROL = 0 BEGIN INSERT INTO [IHR].[dbo].[PRODUCERCODES] (STOCKREF,CLIENTREF,[PRODUCERCODE],[STS]) VALUES (@ITEMID,@COMPID,@PCODE2,2) SET @PROID2 = @@IDENTITY END ELSE BEGIN UPDATE [IHR].[dbo].[PRODUCERCODES] SET DEL= 1 WHERE REF=@KONTROL SET @PROID2 = @KONTROL END END INSERT INTO [IHR].[dbo].[PRCLIST] ([ITEMREF],[COMPANYREF],[PRICE],[CURRENCY],[ORDER_],[PRIORITY_],[CREATEDBY],[LINEEXP1],[LINEEXP2],[IHRSAT],[IHRCURRENCY]) VALUES (@ITEMID,@COMPID,@PRC,@CURR,(SELECT COUNT(*) FROM [IHR].[dbo].[PRCLIST] WHERE [ITEMREF]=@ITEMID)+1,1,@CRTBY,@LEXP1,@LEXP2,@IHR,@IHRCURR) SET @PRCID = @@IDENTITY IF @PRCID <> 0 BEGIN INSERT INTO [IHR].[dbo].[PRODPRC] ([PRODUCERCODEREF],[PRCLISTREF]) VALUES (@PROID,@PRCID) INSERT INTO [IHR].[dbo].[PRODPRC] ([PRODUCERCODEREF],[PRCLISTREF]) VALUES (@PROID2,@PRCID) END SET @KONTROL = ISNULL((SELECT COUNT(*) FROM [IHR].[dbo].[FICHE_LINES] WHERE [FICHEREF] IN (SELECT REF FROM [IHR].[dbo].[FICHES] WHERE [FICHENO]=@FICHENO) AND [ITEMREF]=@ITEMID),0) IF @KONTROL = 0 BEGIN INSERT INTO [IHR].[dbo].[FICHE_LINES] ([STATUS],[FICHEREF],[ITEMREF],[COMPANYREF],[AMOUNT],[PRODREF],[LINEEXP1],[LINEEXP2],[PRICEREF]) VALUES (3,(SELECT TOP 1 REF FROM [IHR].[dbo].[FICHES] WHERE [FICHENO]=@FICHENO),@ITEMID,@COMPID,@AMNT,@PROID,@LEXP1,@LEXP2,@PRCID) END END
Oluşturulma: 23.12.2025 15:52
Son Güncelleme: 23.12.2025 17:28
İptal
Nesneyi Sil
Değişiklikleri Kaydet