Multumesc pt raspuns.
Pt varianta 2 este ok asa?
CREATE proc VirareSal
@ImportRef int,
@IBANAngajat varchar(50) ,
@ContD varchar(50),
@Suma money,
@ContC varchar(50),
@DataTr datetime,
@DataExec datetime,
@Comment varchar(200)
as
set nocount on
declare @text varchar(200)
BEGIN TRY
BEGIN TRAN
if exists(select top 1 1 from V_SAL where ImportRef = @ImportRef and Virat = 0 and IBAN = @IBANAngajat)
begin
exec ExecTran @ContD, @Suma, @ContC, @DataTr, @DataExec, @Comment
update V_SAL
set Virat = 1
where ImportRef = @ImportRef and IBAN = @IBANAngajat and Virat = 0
end
else
begin
set @text = 'Suma a fost virata deja pt IBAN: ' + @IBANAngajat
raiserror(@text, 1, 1)
end
COMMIT TRAN
END TRY
BEGIN CATCH
if @@trancount > 0 ROLLBACK TRAN
declare @ERROR_MESSAGE nvarchar(4000),
@ERROR_SEVERITY int
select @ERROR_MESSAGE = ERROR_MESSAGE() + ' in SP: ' + isnull(ERROR_PROCEDURE() + ' line ' + convert(nvarchar, ERROR_LINE()), ''),
@ERROR_SEVERITY = ERROR_SEVERITY()
raiserror(@ERROR_MESSAGE, @ERROR_SEVERITY, 1)
return -1
END CATCH
go