USP_MKTASKLADDER_COPY_2

Executes the "Ask Ladder: Copy 2" record operation.

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier INOUT Input parameter indicating the ID of the record being updated.
@CHANGEAGENTID uniqueidentifier IN Input parameter indicating the ID of the change agent invoking the update.
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.

Definition

Copy


CREATE procedure dbo.[USP_MKTASKLADDER_COPY_2]
(
  @ID uniqueidentifier output,
  @CHANGEAGENTID uniqueidentifier,
  @CURRENTAPPUSERID uniqueidentifier
)
as
  set nocount on;

  declare @SOURCEASKLADDERID uniqueidentifier;
  set @SOURCEASKLADDERID = @ID;

  declare @TARGETASKLADDERID uniqueidentifier;
  set @TARGETASKLADDERID = newid();

  declare @CURRENTDATE datetime;

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

  set @CURRENTDATE = getdate();

  declare @RC int;
  declare @DATALOADED bit;
  declare @TSLONG bigint;

  declare @NAME nvarchar(100);
  declare @CURRENCYSYMBOL nvarchar(10);
  declare @RECORDSOURCEID uniqueidentifier;
  declare @OBJECTKEY nvarchar(400);
  declare @BASECURRENCYID uniqueidentifier;
  declare @SITEID uniqueidentifier;

  -- create the ask ladder

  exec @RC = dbo.[USP_DATAFORMTEMPLATE_EDITLOAD_MKTASKLADDER] 
    @SOURCEASKLADDERID,
    @DATALOADED output,
    @NAME output,
    @CURRENCYSYMBOL output,
    @RECORDSOURCEID output,
    @OBJECTKEY output,
    null,
    null,
    null,
    @TSLONG output,
    @BASECURRENCYID output,
    null,
    @SITEID output,
    null,
    @CURRENTAPPUSERID;

  declare @UNIQUENAME nvarchar(100);
  set @UNIQUENAME = dbo.UFN_MKTASKLADDER_GETUNIQUENAME(@TARGETASKLADDERID, @NAME, Null);

  exec @RC = dbo.[USP_DATAFORMTEMPLATE_ADD_MKTASKLADDER] 
    @TARGETASKLADDERID OUTPUT,
    @CHANGEAGENTID,
    @UNIQUENAME,
    @CURRENCYSYMBOL
    @RECORDSOURCEID,
    @OBJECTKEY,
    null,
    @CURRENTAPPUSERID,
    @BASECURRENCYID,
    @SITEID;

  -- copy items

  insert into dbo.[MKTASKLADDERITEM] (
    [ID],
    [ASKLADDERID],
    [MINIMUMENTRYAMOUNT],
    [ORGANIZATIONMINIMUMENTRYAMOUNT],
    [TYPECODE],
    [ITEMVALUE1],
    [ITEMVALUE2],
    [ITEMVALUE3],
    [ITEMVALUE4],
    [ITEMVALUE5],
    [ORGANIZATIONITEMVALUE1],
    [ORGANIZATIONITEMVALUE2],
    [ORGANIZATIONITEMVALUE3],
    [ORGANIZATIONITEMVALUE4],
    [ORGANIZATIONITEMVALUE5],
    [WRITEINTEXT],
    [ROUNDTOAMOUNT],
    [SEQUENCE],
    [ADDEDBYID],
    [CHANGEDBYID],
    [DATEADDED],
    [DATECHANGED]
  )
  select
    NewID(),
    @TARGETASKLADDERID,
    [MINIMUMENTRYAMOUNT],
    [ORGANIZATIONMINIMUMENTRYAMOUNT],
    [TYPECODE],
    [ITEMVALUE1],
    [ITEMVALUE2],
    [ITEMVALUE3],
    [ITEMVALUE4],
    [ITEMVALUE5],
    [ORGANIZATIONITEMVALUE1],
    [ORGANIZATIONITEMVALUE2],
    [ORGANIZATIONITEMVALUE3],
    [ORGANIZATIONITEMVALUE4],
    [ORGANIZATIONITEMVALUE5],
    [WRITEINTEXT],
    [ROUNDTOAMOUNT],
    [SEQUENCE],
    @CHANGEAGENTID,
    @CHANGEAGENTID,
    @CURRENTDATE,
    @CURRENTDATE
  from dbo.[MKTASKLADDERITEM]
  where [ASKLADDERID] = @SOURCEASKLADDERID;

  set @ID = @TARGETASKLADDERID;

  return 0;