Merhabalar ;
Satıcı Siparişlerini irsaliye fiyatlarını güncelleme Prosedürü ;
CREATE PROCEDURE FN_IRSALIYE_GUNCELLE
(
@FIS_NO VARCHAR(50),@SIRA INT
)
-- WITH ENCRYPTION, SCHEMABINDING, EXECUTE AS CALLER|SELF|OWNER|USER
AS BEGIN
DECLARE @SONUC VARCHAR(50);
DECLARE @TUTAR_NF DECIMAL(28,8);
DECLARE @TUTAR_BF DECIMAL(28,8);
SELECT @TUTAR_NF = STHAR_NF, @TUTAR_BF = STHAR_BF FROM TBLSIPATRA WHERE FISNO = @FIS_NO AND SIRA = @SIRA
--PRINT @TUTAR_BF
--PRINT @TUTAR_NF
BEGIN TRY
BEGIN TRANSACTION
UPDATE TBLSTHAR SET STHAR_NF = @TUTAR_NF , STHAR_BF = @TUTAR_BF WHERE IRSALIYE_NO = @FIS_NO AND STHAR_FTIRSIP = '4' AND SIRA = @SIRA
DECLARE @BRUT_TUTAR DECIMAL(28,8);
DECLARE @KDV DECIMAL(28,8);
SELECT @BRUT_TUTAR = SUM(STHAR_GCMIK*STHAR_NF) FROM TBLSIPATRA WHERE FISNO = @FIS_NO
SET @KDV = @BRUT_TUTAR * 0.18
UPDATE TBLFATUIRS SET BRUTTUTAR = @BRUT_TUTAR , KDV = @KDV , GENELTOPLAM = @BRUT_TUTAR + @KDV WHERE FATIRS_NO = @FIS_NO AND FTIRSIP = '4'
COMMIT TRANSACTION
END TRY
BEGIN CATCH
PRINT
'Error ' + CONVERT(varchar(50), ERROR_NUMBER()) +
', Severity ' + CONVERT(varchar(5), ERROR_SEVERITY()) +
', State ' + CONVERT(varchar(5), ERROR_STATE()) +
', Line ' + CONVERT(varchar(5), ERROR_LINE())
PRINT ERROR_MESSAGE();
IF XACT_STATE() <> 0 BEGIN
ROLLBACK TRANSACTION
END
END CATCH;
END
İlk Yorumu Siz Yapın