USP_CURRENCYEXCHANGERATEDOWNLOADPROCESS_DELETEHISTORY

Deletes the history for a given currency exchange rate download process.

Parameters

Parameter Parameter Type Mode Description
@CURRENCYEXCHANGERATEDOWNLOADPROCESSID uniqueidentifier IN
@DELETEHISTORYTHRESHOLD datetime IN
@CHANGEAGENTID uniqueidentifier IN

Definition

Copy


create procedure dbo.[USP_CURRENCYEXCHANGERATEDOWNLOADPROCESS_DELETEHISTORY]
(
  @CURRENCYEXCHANGERATEDOWNLOADPROCESSID uniqueidentifier,
  @DELETEHISTORYTHRESHOLD datetime,
  @CHANGEAGENTID uniqueidentifier
)
as
begin
    set nocount on;

  declare @BUSINESSPROCESSSTATUSID uniqueidentifier;

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

    declare HISTORYTODELETE cursor local fast_forward for
    select [ID]
    from dbo.[BUSINESSPROCESSSTATUS]
    where [BUSINESSPROCESSPARAMETERSETID] = @CURRENCYEXCHANGERATEDOWNLOADPROCESSID
    and [ENDEDON] < @DELETEHISTORYTHRESHOLD;

  open HISTORYTODELETE;
  fetch next from HISTORYTODELETE into @BUSINESSPROCESSSTATUSID;

  while (@@FETCH_STATUS = 0)
    begin
      begin try
        exec dbo.[USP_BUSINESSPROCESSSTATUS_DELETE] @BUSINESSPROCESSSTATUSID, @CHANGEAGENTID;
      end try

      begin catch
        -- yum!

      end catch

      fetch next from HISTORYTODELETE into @BUSINESSPROCESSSTATUSID;
    end

  close HISTORYTODELETE;
  deallocate HISTORYTODELETE;

    return 0;
end