USP_SIMPLEDATALIST_SEPAMANDATEFORCONSTITUENTACCOUNT

Parameters

Parameter Parameter Type Mode Description
@CONSTITUENTACCOUNTID uniqueidentifier IN
@SEPAMANDATEID uniqueidentifier IN

Definition

Copy


CREATE procedure dbo.USP_SIMPLEDATALIST_SEPAMANDATEFORCONSTITUENTACCOUNT
(
    @CONSTITUENTACCOUNTID uniqueidentifier,
    @SEPAMANDATEID uniqueidentifier
)
as
    select
        SEPAMANDATE.ID,
        SEPAMANDATE.LOOKUPID,
        SEPAMANDATE.TYPECODE,
        SEPAMANDATE.STATUSCODE,
        SEPAMANDATE.SIGNATUREDATE
    from dbo.SEPAMANDATE
        inner join dbo.CONSTITUENTACCOUNT on CONSTITUENTACCOUNT.ID = SEPAMANDATE.CONSTITUENTACCOUNTID
    where
        CONSTITUENTACCOUNT.ID = @CONSTITUENTACCOUNTID and
        (
            (
                (
                    -- Recurrent and pending signature/active

                    SEPAMANDATE.TYPECODE = 1 and
                    SEPAMANDATE.STATUSCODE in (0,1)
                )
                or
                (
                    -- One-off and pending signature/active and no payment made

                    SEPAMANDATE.TYPECODE = 0 and
                    SEPAMANDATE.STATUSCODE in (0,1) and
                    SEPAMANDATE.PAYMENTCOUNT = 0
                )
            ) or
            -- Allow the just added/loaded mandate to be present in the list

            SEPAMANDATE.ID = @SEPAMANDATEID
        )

    union all

    --Include batch revenue constituent account mandates

    select
        SEPAMANDATE.ID,
        SEPAMANDATE.LOOKUPID,
        SEPAMANDATE.TYPECODE,
        SEPAMANDATE.STATUSCODE,
        SEPAMANDATE.SIGNATUREDATE
    from dbo.SEPAMANDATE
        inner join dbo.BATCHREVENUECONSTITUENTACCOUNT on BATCHREVENUECONSTITUENTACCOUNT.ID = SEPAMANDATE.BATCHREVENUECONSTITUENTACCOUNTID
    where
        BATCHREVENUECONSTITUENTACCOUNT.ID = @CONSTITUENTACCOUNTID and
        (
            (
                (
                    -- Recurrent and pending signature/active

                    SEPAMANDATE.TYPECODE = 1 and
                    SEPAMANDATE.STATUSCODE in (0,1)
                )
                or
                (
                    -- One-off and pending signature/active and no payment made

                    SEPAMANDATE.TYPECODE = 0 and
                    SEPAMANDATE.STATUSCODE in (0,1) and
                    SEPAMANDATE.PAYMENTCOUNT = 0
                )
            ) or
            -- Allow the just added/loaded mandate to be present in the list

            SEPAMANDATE.ID = @SEPAMANDATEID
        )

    union all

    --Include batch sponsorship constituent account mandates

    select
        SEPAMANDATE.ID,
        SEPAMANDATE.LOOKUPID,
        SEPAMANDATE.TYPECODE,
        SEPAMANDATE.STATUSCODE,
        SEPAMANDATE.SIGNATUREDATE
    from dbo.SEPAMANDATE
        inner join dbo.BATCHSPONSORSHIPCONSTITUENTACCOUNT on BATCHSPONSORSHIPCONSTITUENTACCOUNT.ID = SEPAMANDATE.BATCHSPONSORSHIPCONSTITUENTACCOUNTID
    where
        BATCHSPONSORSHIPCONSTITUENTACCOUNT.ID = @CONSTITUENTACCOUNTID and
        (
            (
                (
                    -- Recurrent and pending signature/active

                    SEPAMANDATE.TYPECODE = 1 and
                    SEPAMANDATE.STATUSCODE in (0,1)
                )
                or
                (
                    -- One-off and pending signature/active and no payment made

                    SEPAMANDATE.TYPECODE = 0 and
                    SEPAMANDATE.STATUSCODE in (0,1) and
                    SEPAMANDATE.PAYMENTCOUNT = 0
                )
            ) or
            -- Allow the just added/loaded mandate to be present in the list

            SEPAMANDATE.ID = @SEPAMANDATEID
        );