USP_DATAFORMTEMPLATE_ADD_MKTSEGMENTATIONPACKAGE

The save procedure used by the add dataform template "Marketing Effort Package Add Form".

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT The output parameter indicating the ID of the record added.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the procedure.
@SEGMENTATIONID uniqueidentifier IN Input parameter indicating the context ID for the record being added.
@PACKAGEID uniqueidentifier IN Package
@BASECURRENCYID uniqueidentifier IN Base currency ID

Definition

Copy

CREATE procedure dbo.USP_DATAFORMTEMPLATE_ADD_MKTSEGMENTATIONPACKAGE
(
  @ID uniqueidentifier = null output,
  @CHANGEAGENTID uniqueidentifier = null,    
  @SEGMENTATIONID uniqueidentifier,
  @PACKAGEID uniqueidentifier,
  @BASECURRENCYID uniqueidentifier = null
)
as
  set nocount on;

  declare @CURRENTDATE datetime;
  declare @ORGANIZATIONCURRENCYEXCHANGERATEID uniqueidentifier;
  declare @ORGANIZATIONCURRENCYID uniqueidentifier;

  begin try
    if @ID is null
      set @ID = NewID();

    if @CHANGEAGENTID is null  
      exec dbo.USP_CHANGEAGENT_GETORCREATECHANGEAGENT @CHANGEAGENTID output;

    set @CURRENTDATE = GetDate();

    if @BASECURRENCYID is null
      select @BASECURRENCYID = [BASECURRENCYID] from dbo.[MKTSEGMENTATION] where [ID] = @SEGMENTATIONID;

      set @ORGANIZATIONCURRENCYID = dbo.[UFN_CURRENCY_GETORGANIZATIONCURRENCY]();

      if (@ORGANIZATIONCURRENCYID != @BASECURRENCYID)
          set @ORGANIZATIONCURRENCYEXCHANGERATEID = dbo.[UFN_CURRENCYEXCHANGERATE_GETLATEST](@BASECURRENCYID, @ORGANIZATIONCURRENCYID, @CURRENTDATE, 0, null);

    insert into dbo.[MKTSEGMENTATIONPACKAGE] (
      [ID],
      [SEGMENTATIONID],
      [PACKAGEID],
      [ADDEDBYID],
      [CHANGEDBYID],
      [DATEADDED],
      [DATECHANGED],
      [BASECURRENCYID],
      [ORGANIZATIONCURRENCYEXCHANGERATEID]
    ) values (
      @ID,
      @SEGMENTATIONID,
      @PACKAGEID,
      @CHANGEAGENTID,
      @CHANGEAGENTID,
      @CURRENTDATE,
      @CURRENTDATE,
      @BASECURRENCYID,
      @ORGANIZATIONCURRENCYEXCHANGERATEID
    );
  end try

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

  return 0;