USP_DATAFORMTEMPLATE_EDIT_MKTMEMBERSHIPRECORDSOURCE

The save procedure used by the edit dataform template "Record Source Membership Edit Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter indicating the ID of the record being edited.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@QUERYVIEWCATALOGID uniqueidentifier IN Membership record source
@MEMBERSHIPSYSTEMIDFIELD nvarchar(255) IN System record ID
@MEMBERIDFIELD nvarchar(255) IN Member ID
@MEMBERFIELD nvarchar(255) IN Member name
@GIVENBYIDFIELD nvarchar(255) IN Given by ID
@GIVENBYFIELD nvarchar(255) IN Given by name
@EXPIRATIONDATEFIELD nvarchar(255) IN Expiration date
@ISGIFTFIELD nvarchar(255) IN Is gift?
@JOINDATEFIELD nvarchar(255) IN Join date
@LASTRENEWEDONDATEFIELD nvarchar(255) IN Last renewed on
@LEVELFIELD nvarchar(255) IN Level
@PROGRAMFIELD nvarchar(255) IN Program
@SENDRENEWALFIELD nvarchar(255) IN Send renewal to
@STATUSFIELD nvarchar(255) IN Status
@TERMFIELD nvarchar(255) IN Term
@TYPEFIELD nvarchar(255) IN Type

Definition

Copy


CREATE procedure dbo.[USP_DATAFORMTEMPLATE_EDIT_MKTMEMBERSHIPRECORDSOURCE]
(
  @ID uniqueidentifier,
  @CHANGEAGENTID uniqueidentifier = null,
  @QUERYVIEWCATALOGID uniqueidentifier,
  @MEMBERSHIPSYSTEMIDFIELD nvarchar(255),
  @MEMBERIDFIELD nvarchar(255),
  @MEMBERFIELD nvarchar(255),
  @GIVENBYIDFIELD nvarchar(255),
  @GIVENBYFIELD nvarchar(255),
  @EXPIRATIONDATEFIELD nvarchar(255),
  @ISGIFTFIELD nvarchar(255),
  @JOINDATEFIELD nvarchar(255),
  @LASTRENEWEDONDATEFIELD nvarchar(255),
  @LEVELFIELD nvarchar(255),
  @PROGRAMFIELD nvarchar(255),
  @SENDRENEWALFIELD nvarchar(255),
  @STATUSFIELD nvarchar(255),
  @TERMFIELD nvarchar(255),
  @TYPEFIELD nvarchar(255)
)
as
  set nocount on;

  declare @CURRENTDATE datetime;

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

    set @CURRENTDATE = getdate();

    if exists (select 1 from dbo.[MKTMEMBERSHIPRECORDSOURCE] where [ID] = @ID)
      update dbo.[MKTMEMBERSHIPRECORDSOURCE] set
        [QUERYVIEWCATALOGID] = @QUERYVIEWCATALOGID,
        [MEMBERSHIPSYSTEMIDFIELD] = @MEMBERSHIPSYSTEMIDFIELD,
        [MEMBERIDFIELD] = @MEMBERIDFIELD,
        [MEMBERFIELD] = @MEMBERFIELD,
        [GIVENBYIDFIELD] = @GIVENBYIDFIELD,
        [GIVENBYFIELD] = @GIVENBYFIELD,
        [EXPIRATIONDATEFIELD] = @EXPIRATIONDATEFIELD,
        [ISGIFTFIELD] = @ISGIFTFIELD,
        [JOINDATEFIELD] = @JOINDATEFIELD,
        [LASTRENEWEDONDATEFIELD] = @LASTRENEWEDONDATEFIELD,
        [LEVELFIELD] = @LEVELFIELD,
        [PROGRAMFIELD] = @PROGRAMFIELD,
        [SENDRENEWALFIELD] = @SENDRENEWALFIELD,
        [STATUSFIELD] = @STATUSFIELD,
        [TERMFIELD] = @TERMFIELD,
        [TYPEFIELD] = @TYPEFIELD,
        [CHANGEDBYID] = @CHANGEAGENTID,
        [DATECHANGED] = @CURRENTDATE
      where [ID] = @ID;
    else
      insert into dbo.[MKTMEMBERSHIPRECORDSOURCE] (
        [ID],
        [QUERYVIEWCATALOGID],
        [MEMBERSHIPSYSTEMIDFIELD],
        [MEMBERIDFIELD],
        [MEMBERFIELD],
        [GIVENBYIDFIELD],
        [GIVENBYFIELD],
        [EXPIRATIONDATEFIELD],
        [ISGIFTFIELD],
        [JOINDATEFIELD],
        [LASTRENEWEDONDATEFIELD],
        [LEVELFIELD],
        [PROGRAMFIELD],
        [SENDRENEWALFIELD],
        [STATUSFIELD],
        [TERMFIELD],
        [TYPEFIELD],
        [ADDEDBYID],
        [DATEADDED],
        [CHANGEDBYID],
        [DATECHANGED]
      ) values (
        @ID,
        @QUERYVIEWCATALOGID,
        @MEMBERSHIPSYSTEMIDFIELD,
        @MEMBERIDFIELD,
        @MEMBERFIELD,
        @GIVENBYIDFIELD,
        @GIVENBYFIELD,
        @EXPIRATIONDATEFIELD,
        @ISGIFTFIELD,
        @JOINDATEFIELD,
        @LASTRENEWEDONDATEFIELD,
        @LEVELFIELD,
        @PROGRAMFIELD,
        @SENDRENEWALFIELD,
        @STATUSFIELD,
        @TERMFIELD,
        @TYPEFIELD,
        @CHANGEAGENTID,
        @CURRENTDATE,
        @CHANGEAGENTID,
        @CURRENTDATE
      );

    -- create the mailing segment donor exclusion cache table for this record source

    exec dbo.[USP_MKTSEGMENTATIONSEGMENTCACHEEXCLUSIONS_CREATETABLE] @QUERYVIEWCATALOGID, 2;
  end try

  begin catch
    exec dbo.[USP_RAISE_ERROR];
    return 1;
  end catch

  return 0;