USP_DATAFORMTEMPLATE_VIEW_EMAILPROCESS_SCHEDULE

The load procedure used by the view dataform template "Email Process Schedule View"

Parameters

Parameter Parameter Type Mode Description
@DATALOADED bit INOUT Output parameter indicating whether or not data was actually loaded.
@ENABLED bit INOUT Email processing schedule status

Definition

Copy


        CREATE procedure dbo.USP_DATAFORMTEMPLATE_VIEW_EMAILPROCESS_SCHEDULE
        (
            @DATALOADED bit = 0 output,
            @ENABLED bit = null output
        )
        as
            set nocount on;

            -- be sure to set this, in case the select returns no rows

            set @DATALOADED = 1;

          -- consider email scheduling to be disabled if any schedules are turned off (all or nothing deal).  This should

          -- never happen, but could if the db is manually updated or another mechanism is ever used to turn off schedules.

          declare @TOTALEMAILSCHEDULES integer;
          declare @ENABLEDEMAILSCHEDULES integer;
          declare @TOTALEMAILPROCESSES integer;
          declare @TOTALUNIQUEPROCESSTYPES integer;

          select @TOTALEMAILSCHEDULES = count(*) from dbo.SCHEDULE S
                                inner join dbo.BUSINESSPROCESSSCHEDULE BPS on BPS.SCHEDULEID = S.ID
                            inner join dbo.GLOBALCHANGE GC on BPS.BUSINESSPROCESSPARAMETERSETID = GC.ID
                            where GC.GLOBALCHANGECATALOGID in ('F79575E5-FE4F-47BD-954C-AB056EF109D9','5066A489-6282-400C-96AF-1ECC1B7F281F','8C3ECDB1-BE50-4898-AD1B-98ECB6D07812');

          select @ENABLEDEMAILSCHEDULES = count(*) from dbo.SCHEDULE S
                                inner join dbo.BUSINESSPROCESSSCHEDULE BPS on BPS.SCHEDULEID = S.ID
                            inner join dbo.GLOBALCHANGE GC on BPS.BUSINESSPROCESSPARAMETERSETID = GC.ID
                            where GC.GLOBALCHANGECATALOGID in ('F79575E5-FE4F-47BD-954C-AB056EF109D9','5066A489-6282-400C-96AF-1ECC1B7F281F','8C3ECDB1-BE50-4898-AD1B-98ECB6D07812')
                            and S.ENABLED = 1;

          select @TOTALEMAILPROCESSES = count(*) from dbo.GLOBALCHANGE where GLOBALCHANGECATALOGID in ('F79575E5-FE4F-47BD-954C-AB056EF109D9','5066A489-6282-400C-96AF-1ECC1B7F281F','8C3ECDB1-BE50-4898-AD1B-98ECB6D07812');

          select @TOTALUNIQUEPROCESSTYPES = count(distinct GLOBALCHANGECATALOGID) from dbo.GLOBALCHANGE where GLOBALCHANGECATALOGID in ('F79575E5-FE4F-47BD-954C-AB056EF109D9','5066A489-6282-400C-96AF-1ECC1B7F281F','8C3ECDB1-BE50-4898-AD1B-98ECB6D07812');

          if @TOTALEMAILSCHEDULES = @ENABLEDEMAILSCHEDULES and @TOTALEMAILSCHEDULES = @TOTALEMAILPROCESSES and @TOTALUNIQUEPROCESSTYPES >= 3
              set @ENABLED = 1
          else
              set @ENABLED = 0

            return 0;