USP_RECORDOPERATION_RECEIPTINGPROCESSDONOTRERECEIPT

Executes the "Receipting Process: Do not ereceipt" record operation.

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN Input parameter indicating the ID of the record being updated.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the update.

Definition

Copy


CREATE procedure dbo.USP_RECORDOPERATION_RECEIPTINGPROCESSDONOTRERECEIPT
(
    @ID uniqueidentifier,
    @CHANGEAGENTID uniqueidentifier
)
as 
    if ((coalesce((select top 1 RERECEIPTPAYMENTS from dbo.RECEIPTPREFERENCEINFO), 1)) = 1 or (coalesce((select top 1 SAMENUMBERONRERECEIPT from dbo.RECEIPTPREFERENCEINFO), 1) = 1))
        begin try

            --Cache current context information and set CONTEXT_INFO to @CHANGEAGENTID

            declare @CONTEXTCACHE varbinary(128);
            set @CONTEXTCACHE = CONTEXT_INFO();
            set CONTEXT_INFO @CHANGEAGENTID;

            --Resetting the NEEDSRERECEIPT to 0 on all transactions touched by this process

            update RV set RV.NEEDSRERECEIPT = 0 
            from dbo.REVENUE_EXT RV 
            inner join dbo.REVENUERECEIPT RC on RV.ID = RC.REVENUEID
            where RC.RECEIPTINGPROCESSSTATUSID = @ID and RV.NEEDSRERECEIPT = 1;

            -- Deleting the ereceipt details if they exist

            delete dbo.REVENUERECEIPTRERECEIPTDETAIL 
            from dbo.REVENUERECEIPTRERECEIPTDETAIL  RD
            inner join dbo.REVENUERECEIPT RR on  RR.ID = RD.REVENUERECEIPTID
            where RR.RECEIPTINGPROCESSSTATUSID = @ID 

            --Reset CONTEXT_INFO to previous value

            if @CONTEXTCACHE is not null
            set CONTEXT_INFO @CONTEXTCACHE;
        end try
        begin catch
            exec dbo.USP_RAISE_ERROR
            return 1
        end catch

        return 0;