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;