USP_MKTASKLADDER_COPY

Executes the "Ask Ladder: Copy" 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.

Definition

Copy


CREATE procedure dbo.[USP_MKTASKLADDER_COPY]
(
  @ID uniqueidentifier output,
  @CHANGEAGENTID 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);

  ---- 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;

  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;

  -- copy items

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

  set @ID=@TARGETASKLADDERID;

  return 0;