USP_GLOBALCHANGE_PAPERLESSMANDATEADVANCENOTICESENT

Parameters

Parameter Parameter Type Mode Description
@CHANGEAGENTID uniqueidentifier IN
@SELECTIONID uniqueidentifier IN
@DATETYPE tinyint IN
@SPECIFICDATE date IN
@ASOF datetime IN
@NUMBERADDED int INOUT
@NUMBEREDITED int INOUT
@NUMBERDELETED int INOUT
@CURRENTAPPUSERID uniqueidentifier IN

Definition

Copy


            CREATE procedure dbo.USP_GLOBALCHANGE_PAPERLESSMANDATEADVANCENOTICESENT
            (
                @CHANGEAGENTID uniqueidentifier = null,
                @SELECTIONID uniqueidentifier,
                @DATETYPE tinyint = 1,
                @SPECIFICDATE date = null,

                @ASOF as datetime = null,
                @NUMBERADDED int = 0 output,
                @NUMBEREDITED int = 0 output,
                @NUMBERDELETED int = 0 output,
                @CURRENTAPPUSERID uniqueidentifier = null
            )
            as
            set nocount on;

            set @NUMBERADDED = 0;
            set @NUMBEREDITED = 0;
            set @NUMBERDELETED = 0;
            set @ASOF = null;

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

                if @DATETYPE = 0
                    set @SPECIFICDATE = null;
                if @DATETYPE = 1
                    set @SPECIFICDATE = getdate();
                if @DATETYPE = 2 and @SPECIFICDATE is null
                    raiserror('You must specify a specific date.', 13, 1);

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

                update REVENUESCHEDULEDIRECTDEBITPAYMENT
                    set PMADVANCENOTICESENTDATE = @SPECIFICDATE,
                        CHANGEDBYID = @CHANGEAGENTID,
                        DATECHANGED = @CHANGEDATE
                from dbo.REVENUESCHEDULEDIRECTDEBITPAYMENT
                inner join dbo.UFN_IDSETREADER_GETRESULTS_GUID(@SELECTIONID) as [SELECTION] on [SELECTION].ID = REVENUESCHEDULEDIRECTDEBITPAYMENT.ID
                where not REVENUESCHEDULEDIRECTDEBITPAYMENT.DDISOURCECODEID is null
                    and (
                            (@SPECIFICDATE is null and REVENUESCHEDULEDIRECTDEBITPAYMENT.PMADVANCENOTICESENTDATE is not null)
                            or
                            (@SPECIFICDATE is not null and (REVENUESCHEDULEDIRECTDEBITPAYMENT.PMADVANCENOTICESENTDATE <> @SPECIFICDATE or REVENUESCHEDULEDIRECTDEBITPAYMENT.PMADVANCENOTICESENTDATE is null))
                        )
                    and (
                            dbo.UFN_APPUSER_ISSYSADMIN(@CURRENTAPPUSERID) = 1
                            or exists
                            (
                                select 1 
                                from dbo.UFN_SITEID_MAPFROM_REVENUEID(REVENUESCHEDULEDIRECTDEBITPAYMENT.ID) REVSITES
                                where dbo.UFN_SECURITY_APPUSER_GRANTED_BUSINESSPROCESS_FORSITE(@CURRENTAPPUSERID, '3269A1D1-31CB-4D28-945C-B7623A3EFCCA', REVSITES.SITEID) = 1
                            )
                        )

                set @NUMBEREDITED = @@ROWCOUNT;
            end try
            begin catch
                exec dbo.USP_RAISE_ERROR;
                return 1;
            end catch

            return 0;