USP_WORKSTATIONCASHDRAWEROPENREASONCODE_UPDATEENTRY

Used to update a table entry in the "Workstation Cash Drawer Open Reason" code table.

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The ID of the table entry being updated.
@DESCRIPTION nvarchar(100) IN The table entry description.
@SEQUENCE int IN The table entry sequence (when the code table sort order is user-defined).
@ACTIVE bit IN Indicates whether or not the table entry is active.
@TSLONG int IN The TSLONG value of the table entry being updated. This is used to manage multi-user concurrency issues when multiple users access the same record.
@CHANGEAGENTID uniqueidentifier IN The ID of the change agent adding the code table entry.

Definition

Copy
/*
Generated by Blackbaud AppFx Platform
Date:  9/30/2015 1:00:46 AM
Assembly Version:  Blackbaud.AppFx.Platform.SqlClr, Version=4.0.153.0, Culture=neutral, PublicKeyToken=null
Copyright Blackbaud
*/
CREATE procedure dbo.USP_WORKSTATIONCASHDRAWEROPENREASONCODE_UPDATEENTRY
(
@ID uniqueidentifier,
@DESCRIPTION nvarchar(100),
@SEQUENCE int= null,
@ACTIVE bit,
@TSLONG int=0,            
@CHANGEAGENTID uniqueidentifier = NULL
)

as

SET NOCOUNT ON;

if (@DESCRIPTION IS NULL) or len(@DESCRIPTION)= 0
    begin
    raiserror('WORKSTATIONCASHDRAWEROPENREASONCODE table entry description is required',16,1)
    return -2
    end

if @CHANGEAGENTID IS NULL
    exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;

if @SEQUENCE is null
    UPDATE dbo.WORKSTATIONCASHDRAWEROPENREASONCODE SET

    DESCRIPTION=@DESCRIPTION,
    ACTIVE=@ACTIVE,
    CHANGEDBYID=@CHANGEAGENTID,
    DATECHANGED=GETDATE()

    WHERE ID=@ID AND (@TSLONG=0 OR @TSLONG=TSLONG)
else
    UPDATE dbo.WORKSTATIONCASHDRAWEROPENREASONCODE SET

    DESCRIPTION=@DESCRIPTION,
    [SEQUENCE] = @SEQUENCE,
    ACTIVE=@ACTIVE,
    CHANGEDBYID=@CHANGEAGENTID,
    DATECHANGED=GETDATE()

    WHERE ID=@ID AND (@TSLONG=0 OR @TSLONG=TSLONG)

if @@rowcount=0 and @@error=0
    begin
    raiserror('WORKSTATIONCASHDRAWEROPENREASONCODE table entry has been modified or deleted by another user',16,2)
    return -3            
    end

if @@error<>0 return 1

if @SEQUENCE is not null

    declare @seqCount int
    select @seqCount = count(SEQUENCE)
    from dbo.WORKSTATIONCASHDRAWEROPENREASONCODE
    where SEQUENCE = @SEQUENCE

    if @seqCount > 1
    begin
        update dbo.WORKSTATIONCASHDRAWEROPENREASONCODE
        set SEQUENCE = SEQUENCE + 1,
            CHANGEDBYID=@CHANGEAGENTID,
            DATECHANGED=GETDATE()
        where SEQUENCE = @SEQUENCE and ID <> @ID;

        execute dbo.USP_WORKSTATIONCASHDRAWEROPENREASONCODE_NORMALIZESEQUENCENUMBERS @CHANGEAGENTID;
    end
return 0