USP_DATAFORMTEMPLATE_EDIT_MKTLIST_2

The save procedure used by the edit dataform template "List 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.
@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
@SITEID uniqueidentifier IN Site

Definition

Copy


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

  declare @CURRENTDATE datetime;
  declare @CURRENCYEXCHANGERATEID uniqueidentifier;
  declare @ORGANIZATIONRENTALAMOUNT money;
  declare @ORGANIZATIONEXCHANGEAMOUNT money;
  declare @ORGANIZATIONCURRENCYID uniqueidentifier;
  declare @BASECURRENCYID uniqueidentifier;
  declare @DATEADDED datetime;

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

    set @CURRENTDATE = getdate();

    select @BASECURRENCYID = [BASECURRENCYID], @DATEADDED = [DATEADDED], @CURRENCYEXCHANGERATEID = [CURRENCYEXCHANGERATEID] from dbo.[MKTLIST] where [ID] = @ID;

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

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

      set @ORGANIZATIONRENTALAMOUNT = dbo.[UFN_CURRENCY_CONVERT](@BASERENTALCOST, @CURRENCYEXCHANGERATEID);
      set @ORGANIZATIONEXCHANGEAMOUNT = dbo.[UFN_CURRENCY_CONVERT](@BASEEXCHANGECOST, @CURRENCYEXCHANGERATEID);
    end

    --Update the list...

    update dbo.[MKTLIST] set
      [NAME] = @NAME,
      [DESCRIPTION] = @DESCRIPTION,
      [CODE] = @CODE,
      [LISTCATEGORYCODEID] = @LISTCATEGORYCODEID,
      [VENDORID] = @VENDORID,
      [RECORDSOURCEID] = @RECORDSOURCEID,
      [BASERENTALCOST] = @BASERENTALCOST,
      [BASERENTALCOSTBASISCODE] = @BASERENTALCOSTBASISCODE,
      [BASEEXCHANGECOST] = @BASEEXCHANGECOST,
      [BASEEXCHANGECOSTBASISCODE] = @BASEEXCHANGECOSTBASISCODE,
      [PARTDEFINITIONVALUESID] = @CODEVALUEID,
      [SITEID] = @SITEID,
      [CHANGEDBYID] = @CHANGEAGENTID,
      [DATECHANGED] = @CURRENTDATE,
      [CURRENCYEXCHANGERATEID] = @CURRENCYEXCHANGERATEID,
      [ORGANIZATIONBASERENTALCOST] = @ORGANIZATIONRENTALAMOUNT,
      [ORGANIZATIONBASEEXCHANGECOST] = @ORGANIZATIONEXCHANGEAMOUNT
    where [ID] = @ID;
  end try

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

  return 0;