USP_MKTEXPORTDEFINITION_DELETE

Removes an export definition.

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN
@CHANGEAGENTID uniqueidentifier IN

Definition

Copy


CREATE procedure dbo.[USP_MKTEXPORTDEFINITION_DELETE]
(
  @ID uniqueidentifier,
  @CHANGEAGENTID uniqueidentifier
)
as
  set nocount on;

  declare @PREVIEWDATALISTCATALOGID uniqueidentifier;
  declare @LOADSPECLOGID uniqueidentifier;

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

  select @PREVIEWDATALISTCATALOGID = [PREVIEWDATALISTCATALOGID]
  from dbo.[MKTEXPORTDEFINITION]
  where [ID] = @ID;

  /* Delete the export definition, this will cascade delete the output fields */
  exec dbo.[USP_MKTEXPORTDEFINITION_DELETEBYID_WITHCHANGEAGENTID] @ID, @CHANGEAGENTID;

  /* Delete the preview datalist */
  if @PREVIEWDATALISTCATALOGID is not null
    begin
      exec dbo.[USP_DATALISTCATALOG_DELETEBYID_WITHCHANGEAGENTID] @PREVIEWDATALISTCATALOGID, @CHANGEAGENTID;

      declare LOADSPECLOGCURSOR cursor local fast_forward for
        select [ID]
        from dbo.[LOADSPECLOG]
        where [SPECID] = @PREVIEWDATALISTCATALOGID;

      open LOADSPECLOGCURSOR;
      fetch next from LOADSPECLOGCURSOR into @LOADSPECLOGID;

      while (@@FETCH_STATUS = 0)
        begin
          exec dbo.[USP_LOADSPECLOG_DELETEBYID_WITHCHANGEAGENTID] @LOADSPECLOGID, @CHANGEAGENTID;
          fetch next from LOADSPECLOGCURSOR into @LOADSPECLOGID;
        end

      close LOADSPECLOGCURSOR;
      deallocate LOADSPECLOGCURSOR;
    end

  return 0;