USP_DATAFORMTEMPLATE_ADD_MKTLIST

The save procedure used by the add dataform template "List 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.
@NAME nvarchar(43) IN Name
@DESCRIPTION nvarchar(255) IN Description
@CODE nvarchar(10) IN Code
@LISTCATEGORYCODEID uniqueidentifier IN Category
@VENDORID uniqueidentifier IN Vendor
@RECORDSOURCEID uniqueidentifier IN Record source
@BASERENTALCOST money IN Base rental cost
@BASERENTALCOSTBASISCODE tinyint IN Base rental cost basis code
@BASEEXCHANGECOST money IN Base exchange cost
@BASEEXCHANGECOSTBASISCODE tinyint IN Base exchange cost basis code
@CODEVALUEID uniqueidentifier IN Code value ID
@CURRENTAPPUSERID uniqueidentifier IN Input parameter indicating the ID of the current user.
@SITEID uniqueidentifier IN Site

Definition

Copy


CREATE procedure dbo.[USP_DATAFORMTEMPLATE_ADD_MKTLIST]
(
  @ID uniqueidentifier = null output,
  @CHANGEAGENTID uniqueidentifier = null,    
  @NAME nvarchar(43) = '',
  @DESCRIPTION nvarchar(255) = '',
  @CODE nvarchar(10) = '',
  @LISTCATEGORYCODEID uniqueidentifier = null,
  @VENDORID uniqueidentifier = null,
  @RECORDSOURCEID uniqueidentifier,
  @BASERENTALCOST money = 0,
  @BASERENTALCOSTBASISCODE tinyint = 1,
  @BASEEXCHANGECOST money = 0,
  @BASEEXCHANGECOSTBASISCODE tinyint = 1,
  @CODEVALUEID uniqueidentifier = null,
  @CURRENTAPPUSERID uniqueidentifier = null,
  @SITEID uniqueidentifier = null
)
as
  set nocount on;

  declare @CURRENTDATE datetime;

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

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

    set @CURRENTDATE = getdate();

    declare @BASECURRENCYID uniqueidentifier;
    set @BASECURRENCYID = dbo.[UFN_APPUSER_GETBASECURRENCY](@CURRENTAPPUSERID);

    declare @CURRENCYEXCHANGERATEID uniqueidentifier;
    declare @ORGANIZATIONRENTALAMOUNT money;
    declare @ORGANIZATIONEXCHANGEAMOUNT money;
    declare @ORGANIZATIONCURRENCYID uniqueidentifier;
    set @ORGANIZATIONCURRENCYID = dbo.[UFN_CURRENCY_GETORGANIZATIONCURRENCY]();

    if (@ORGANIZATIONCURRENCYID = @BASECURRENCYID)
    begin
      set @ORGANIZATIONRENTALAMOUNT = @BASERENTALCOST;
      set @ORGANIZATIONEXCHANGEAMOUNT = @BASEEXCHANGECOST;
    end
    else
    begin
      set @CURRENCYEXCHANGERATEID = dbo.[UFN_CURRENCYEXCHANGERATE_GETLATEST](@BASECURRENCYID, @ORGANIZATIONCURRENCYID, @CURRENTDATE, 0, null);
      set @ORGANIZATIONRENTALAMOUNT = dbo.[UFN_CURRENCY_CONVERT](@BASERENTALCOST, @CURRENCYEXCHANGERATEID);
      set @ORGANIZATIONEXCHANGEAMOUNT = dbo.[UFN_CURRENCY_CONVERT](@BASEEXCHANGECOST, @CURRENCYEXCHANGERATEID);
    end

    --Insert the list...

    insert into dbo.[MKTLIST] (
      [ID],
      [NAME],
      [DESCRIPTION],
      [CODE],
      [LISTCATEGORYCODEID],
      [VENDORID],
      [RECORDSOURCEID],
      [BASERENTALCOST],
      [BASERENTALCOSTBASISCODE],
      [BASEEXCHANGECOST],
      [BASEEXCHANGECOSTBASISCODE],
      [PARTDEFINITIONVALUESID],
      [SITEID],
      [ADDEDBYID],
      [CHANGEDBYID],
      [DATEADDED],
      [DATECHANGED],
      [BASECURRENCYID],
      [ORGANIZATIONBASERENTALCOST],
      [ORGANIZATIONBASEEXCHANGECOST],
      [CURRENCYEXCHANGERATEID]
    ) values (
      @ID,
      @NAME,
      @DESCRIPTION,
      @CODE,
      @LISTCATEGORYCODEID,
      @VENDORID,
      @RECORDSOURCEID,
      @BASERENTALCOST,
      @BASERENTALCOSTBASISCODE,
      @BASEEXCHANGECOST,
      @BASEEXCHANGECOSTBASISCODE,
      @CODEVALUEID,
      @SITEID,
      @CHANGEAGENTID,
      @CHANGEAGENTID,
      @CURRENTDATE,
      @CURRENTDATE,
      @BASECURRENCYID,
      @ORGANIZATIONRENTALAMOUNT,
      @ORGANIZATIONEXCHANGEAMOUNT,
      @CURRENCYEXCHANGERATEID
    );
  end try

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

  return 0;