USP_DATAFORMTEMPLATE_ADD_CHARITYCLAIMREFERENCENUMBER

The save procedure used by the add dataform template "Charity Claim Information Add Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@REFERENCENUMBER nvarchar(20) IN Reference number
@DESCRIPTION nvarchar(50) IN Description
@CLASSIFICATIONCODE tinyint IN Classification
@WAITINGPERIOD smallint IN Days to wait
@SITES xml IN Sites
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.

Definition

Copy


                    CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_CHARITYCLAIMREFERENCENUMBER
                    (
                        @ID uniqueidentifier = null output,
                        @CHANGEAGENTID uniqueidentifier = null,    
                        @REFERENCENUMBER nvarchar(20) = '',
                        @DESCRIPTION nvarchar(50) = '',
                        @CLASSIFICATIONCODE tinyint = 0,
                        @WAITINGPERIOD smallint = null,
                        @SITES XML = null,
                        @CURRENTAPPUSERID uniqueidentifier
                    )
                    as
                    begin
                        set nocount on;

                        declare @CURRENTDATE datetime                                        

                        IF @ID is null
                            set @ID = newid()

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

                        set @CURRENTDATE = getdate()

                        declare @SITECOUNT int;
                        select @SITECOUNT = COUNT(SITEID) from dbo.UFN_CHARITYCLAIMREFERENCENUMBER_GETSITES_FROMITEMLISTXML(@SITES)

                        if @SITECOUNT = 0 or @SITES is null
                            begin 
                            if dbo.UFN_SITEREQUIREDFORUSER(@CURRENTAPPUSERID) = 1 
                                begin
                                  raiserror('BBERR_SITEREQUIRED',13,1);
                                  return;
                                end

                            declare @COUNT int;
                            select @COUNT = count(ID) from dbo.CHARITYCLAIMREFERENCENUMBER where ID not in (select CHARITYCLAIMREFERENCENUMBERID from dbo.CHARITYCLAIMREFERENCENUMBERSITE)

                            if @COUNT > 0 
                                begin
                                  raiserror('BBERR_CCRNSITEREQUIRED',13,1);
                                  return;
                                end
                            end                          

                        if @WAITINGPERIOD is null

                            begin try                                   
                                insert into dbo.CHARITYCLAIMREFERENCENUMBER
                                    (ID,CLASSIFICATIONCODE,REFERENCENUMBER,DESCRIPTION,ADDEDBYID,CHANGEDBYID,DATEADDED,DATECHANGED)
                                VALUES
                                    (@ID,@CLASSIFICATIONCODE,@REFERENCENUMBER,@DESCRIPTION,@CHANGEAGENTID,@CHANGEAGENTID,@CURRENTDATE,@CURRENTDATE)

                                exec dbo.USP_CHARITYCLAIMREFERENCENUMBER_GETSITES_ADDFROMXML @ID, @SITES, @CHANGEAGENTID, @CURRENTDATE                                     
                            end try

                            begin catch
                                exec dbo.USP_RAISE_ERROR
                                return 1
                            end catch
                        else
                            begin try                                   
                                insert into dbo.CHARITYCLAIMREFERENCENUMBER
                                    (ID,CLASSIFICATIONCODE,REFERENCENUMBER,DESCRIPTION,WAITINGPERIOD,ADDEDBYID,CHANGEDBYID,DATEADDED,DATECHANGED)
                                VALUES
                                    (@ID,@CLASSIFICATIONCODE,@REFERENCENUMBER,@DESCRIPTION,@WAITINGPERIOD,@CHANGEAGENTID,@CHANGEAGENTID,@CURRENTDATE,@CURRENTDATE)

                                exec dbo.USP_CHARITYCLAIMREFERENCENUMBER_GETSITES_ADDFROMXML @ID, @SITES, @CHANGEAGENTID, @CURRENTDATE                                                                         
                            end try

                            begin catch
                                exec dbo.USP_RAISE_ERROR
                                return 1
                            end catch


                        return 0

                    end