USP_DATAFORMTEMPLATE_VIEW_MEMBERSHIPPROGRAMLIFETIMEPAYMENTOPTIONS

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@DATALOADED bit INOUT
@PAYMENTOPTIONS xml INOUT
@INSTALLMENTPOSTSTATUSCODE tinyint INOUT

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_MEMBERSHIPPROGRAMLIFETIMEPAYMENTOPTIONS
(
    @ID uniqueidentifier,
    @DATALOADED bit = 0 output,
    @PAYMENTOPTIONS xml = null output,
    @INSTALLMENTPOSTSTATUSCODE tinyint = null output
)
as
    set nocount on;

    -- Form has always hard-coded this. Maintaining behavior backward compatibility

    set @DATALOADED = 1;

    select @INSTALLMENTPOSTSTATUSCODE = MP.INSTALLMENTPOSTSTATUSCODE
    from dbo.MEMBERSHIPPROGRAM MP
    where MP.ID = @ID

    set @PAYMENTOPTIONS = (
        select distinct
            ML.MEMBERSHIPPROGRAMID,
            MLT.LIFETIMEPAYMENTOPTION,
            case when MLT.LIFETIMEPAYMENTOPTIONCODE = 0 then 1 else MLT.LIFETIMENUMBEROFPAYMENTS end as LIFETIMENUMBEROFPAYMENTS,
            MLT.LIFETIMEPAYMENTOPTIONCODE
        from 
            dbo.MEMBERSHIPLEVELTERM MLT
            inner join dbo.MEMBERSHIPLEVEL ML on MLT.LEVELID = ML.ID
        where ML.MEMBERSHIPPROGRAMID = @ID and MLT.ISACTIVE = 1
        for xml raw('ITEM'),type,elements,root('PAYMENTOPTIONS'),BINARY BASE64
    );

    return 0;