spGetAndIncrementReceiptNumber
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@stack | nvarchar(256) | INOUT | |
@sequence | int | INOUT |
Definition
Copy
CREATE procedure [dbo].[spGetAndIncrementReceiptNumber](@stack as nvarchar(256) out, @sequence int out) as
set @stack = '';
set @sequence = -1;
declare @result int;
exec @result = sp_getapplock @Resource = 'Receipt Stack', @LockMode = 'Exclusive', @LockOwner = 'Session', @LockTimeout = 60000;
if @result in (0,1) begin -- Success
select top (1) @stack = StackID, @sequence = NextNumber from dbo.ReceiptStack;
if @sequence >= 0 begin
update dbo.ReceiptStack set NextNumber = NextNumber + 1, DateUpdated = getutcdate();
end
exec sp_releaseapplock @Resource = 'Receipt Stack', @LockOwner = 'Session';
end
return;