USP_DATAFORMTEMPLATE_ADD_RECONCILIATIONSTARTINGBALANCE

The save procedure used by the add dataform template "Reconciliation Starting Balance Add Data Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@STARTINGCASH money IN Starting balance
@COMMENT nvarchar(max) IN Comment

Definition

Copy

                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_RECONCILIATIONSTARTINGBALANCE
                    (
                        @ID uniqueidentifier = null output,
                        @CURRENTAPPUSERID uniqueidentifier,
                        @CHANGEAGENTID uniqueidentifier = null,    
                        @STARTINGCASH money = 0,
                        @COMMENT nvarchar(max) = ''
                    )
                    as
                        set nocount on;

                        declare @CURRENTDATE datetime;
                        set @CURRENTDATE = getdate();

                        if @CHANGEAGENTID is null  
                            exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;

                        begin try

                            if exists(select 1 from dbo.CLOSEDRAWERCONFIGURATION C where C.CONFIGURATIONOPTIONCODE = 0)
                                select @ID = ID from dbo.RECONCILIATION 
                                where APPUSERID = @CURRENTAPPUSERID and STATUSCODE = 0;
                            else
                                select @ID = ID from dbo.RECONCILIATION 
                                where STATUSCODE = 0;

                            if @ID is not null
                            begin
                                update dbo.RECONCILIATION 
                                set 
                                    STARTINGCASH = @STARTINGCASH
                                    COMMENT = @COMMENT,
                                    CHANGEDBYID = @CHANGEAGENTID,
                                    DATECHANGED = @CURRENTDATE
                                where ID = @ID;
                            end
                            else
                            begin
                                set @ID = newid();

                                insert into dbo.[RECONCILIATION] (
                                    [ID],
                                    [STARTINGCASH],
                                    [COMMENT],
                                    [ADDEDBYID],
                                    [CHANGEDBYID],
                                    [DATEADDED],
                                    [DATECHANGED],
                                    [APPUSERID]
                                ) values (
                                    @ID,
                                    @STARTINGCASH,
                                    @COMMENT,
                                    @CHANGEAGENTID,
                                    @CHANGEAGENTID,
                                    @CURRENTDATE,
                                    @CURRENTDATE,
                                    @CURRENTAPPUSERID
                                );
                            end
                        end try

                        begin catch
                            exec dbo.USP_RAISE_ERROR;
                            return 1;
                        end catch

                    return 0;