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;