USP_DATAFORMTEMPLATE_VIEW_CURRENCYEXCHANGERATEDOWNLOADPROCESS

The load procedure used by the view dataform template "Currency Exchange Rate Download Process View Form"

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter used to load the fields defined on the form.
@DATALOADED bit INOUT Output parameter indicating whether or not data was actually loaded.
@PARAMETERSETID uniqueidentifier INOUT Parameter set ID
@PROVIDERNAME nvarchar(100) INOUT Provider
@WEBSITEURL UDT_WEBADDRESS INOUT Web site
@NAME nvarchar(100) INOUT Name
@DESCRIPTION nvarchar(4000) INOUT Description
@TYPE nvarchar(50) INOUT Type
@RATES int INOUT Rates
@LASTRUN datetime INOUT Last run on
@PROVIDERID uniqueidentifier INOUT Provider ID
@BUSINESSPROCESSSTATUSID uniqueidentifier INOUT Most recent business process status ID

Definition

Copy


CREATE procedure dbo.[USP_DATAFORMTEMPLATE_VIEW_CURRENCYEXCHANGERATEDOWNLOADPROCESS]
(
  @ID uniqueidentifier,
    @DATALOADED bit = 0 output,
  @PARAMETERSETID uniqueidentifier = null output,
  @PROVIDERNAME nvarchar(100) = null output,
  @WEBSITEURL dbo.[UDT_WEBADDRESS] = null output,
  @NAME nvarchar(100) = null output,
  @DESCRIPTION nvarchar(4000) = null output,
  @TYPE nvarchar(50) = null output,
  @RATES integer = null output,
  @LASTRUN datetime = null output,
  @PROVIDERID uniqueidentifier = null output,
  @BUSINESSPROCESSSTATUSID uniqueidentifier = null output
)
as
  set nocount on;

  select
    @DATALOADED = 1,
    @PARAMETERSETID = @ID,
    @PROVIDERNAME = [CURRENCYEXCHANGERATEPROVIDER].[NAME],
    @WEBSITEURL = [CURRENCYEXCHANGERATEPROVIDER].[WEBSITEURL],
    @NAME = [CURRENCYEXCHANGERATEDOWNLOADPROCESS].[NAME],
    @DESCRIPTION = [CURRENCYEXCHANGERATEDOWNLOADPROCESS].[DESCRIPTION],
    @TYPE = [CURRENCYEXCHANGERATEDOWNLOADPROCESS].[TYPE],
    @RATES = (select count([ID]) from dbo.[CURRENCYEXCHANGERATEDOWNLOADPROCESSRATE] where [CURRENCYEXCHANGERATEDOWNLOADPROCESSID] = [CURRENCYEXCHANGERATEDOWNLOADPROCESS].[ID]),
    @LASTRUN = (select max([STARTEDON]) 
                from dbo.[BUSINESSPROCESSSTATUS]
                inner join dbo.[CURRENCYEXCHANGERATEDOWNLOADPROCESSSTATUS] on [CURRENCYEXCHANGERATEDOWNLOADPROCESSSTATUS].[ID] = [BUSINESSPROCESSSTATUS].[ID]
                where [BUSINESSPROCESSSTATUS].[STATUSCODE] = 0
                and [CURRENCYEXCHANGERATEDOWNLOADPROCESSSTATUS].[PARAMETERSETID] = [CURRENCYEXCHANGERATEDOWNLOADPROCESS].[ID]),
    @PROVIDERID = [CURRENCYEXCHANGERATEPROVIDER].[ID]
  from dbo.[CURRENCYEXCHANGERATEDOWNLOADPROCESS]
  inner join dbo.[CURRENCYEXCHANGERATEPROVIDER] on [CURRENCYEXCHANGERATEPROVIDER].[ID] = [CURRENCYEXCHANGERATEDOWNLOADPROCESS].[CURRENCYEXCHANGERATEPROVIDERID]
  where [CURRENCYEXCHANGERATEDOWNLOADPROCESS].[ID] = @ID;

  if exists (select top 1 1 from dbo.[BUSINESSPROCESSSTATUS] where [BUSINESSPROCESSPARAMETERSETID] = @ID)
    select top 1 @BUSINESSPROCESSSTATUSID = [ID] from dbo.[BUSINESSPROCESSSTATUS] where [BUSINESSPROCESSPARAMETERSETID] = @ID order by [DATEADDED] desc;
  else
    set @BUSINESSPROCESSSTATUSID = '00000000-0000-0000-0000-000000000000';

  return 0;