USP_DATALIST_MEMBERSHIPPROGRAMENDDATE_CALCULATEDPUSHDATE

Displays the list of membership expiration dates for a program. If no push date is given, the next expiration date is listed.

Parameters

Parameter Parameter Type Mode Description
@MEMBERSHIPPROGRAMID uniqueidentifier IN Input parameter indicating the context ID for the data list.

Definition

Copy


                CREATE procedure dbo.USP_DATALIST_MEMBERSHIPPROGRAMENDDATE_CALCULATEDPUSHDATE
                (
                    @MEMBERSHIPPROGRAMID uniqueidentifier
                )
                as
                    set nocount on;

                    select 
                        ME.ID,
                        ME.EXPIRATIONDATE,
                        case
                            when ME.PUSHNEXTDATE is null or ME.PUSHNEXTDATE = '0000' then (
                                coalesce(
                                    (    select top(1)
                                            MPD2.EXPIRATIONDATE
                                        from dbo.MEMBERSHIPPROGRAMENDDATE as MPD2
                                        where
                                            MPD2.EXPIRATIONDATE > ME.EXPIRATIONDATE
                                            and MPD2.MEMBERSHIPPROGRAMID = @MEMBERSHIPPROGRAMID    ),
                                    (    select top(1)
                                            MPD2.EXPIRATIONDATE
                                        from dbo.MEMBERSHIPPROGRAMENDDATE as MPD2
                                        where MPD2.MEMBERSHIPPROGRAMID = @MEMBERSHIPPROGRAMID    )
                                    )
                                )
                            else
                                ME.PUSHNEXTDATE
                        end as PUSHNEXTDATE,
                        ME.SEQUENCE
                    from 
                        dbo.MEMBERSHIPPROGRAMENDDATE ME
                    where 
                        MEMBERSHIPPROGRAMID = @MEMBERSHIPPROGRAMID