USP_DATAFORMTEMPLATE_EDITLOAD_REMINDEROPTION

Retrieve the reminder options.

Parameters

Parameter Parameter Type Mode Description
@ID uniqueidentifier IN The input ID parameter used to load the fields defined on the form.
@CURRENTAPPUSERID uniqueidentifier IN

Definition

Copy


CREATE procedure dbo.USP_DATAFORMTEMPLATE_EDITLOAD_REMINDEROPTION(
    @ID uniqueidentifier,
    @CURRENTAPPUSERID uniqueidentifier
)
as
begin
    set nocount on;

    declare @MKTSEGMENTATIONACTIVATEPROCESSID nvarchar(36);    

    select 
        @MKTSEGMENTATIONACTIVATEPROCESSID = cast(ID as nvarchar(36)) 
    from 
        dbo.MKTSEGMENTATIONACTIVATEPROCESS 
    where 
        MKTSEGMENTATIONACTIVATEPROCESS.SEGMENTATIONID = @ID;

    select
        MKTSEGMENTATION.NAMEFORMATPARAMETERID,
        MKTSEGMENTATION.ADDRESSPROCESSINGOPTIONID,
        dbo.UFN_REMINDEROPTION_GETSOLICITCODES_TOITEMLISTXML(MKTSEGMENTATION.ID) as EXCLUDEDSOLICITCODESXML,
        dbo.UFN_COMMUNICATIONLETTER_GETSCHEDULEINFO_TOITEMLISTXML(MKTSEGMENTATION.ID) as LETTERS,
        REMINDEROPTION.TSLONG,
        (
        select top 1 
          sysschedules.freq_type --weekly = 8 monthly = 16

                from 
          msdb.dbo.sysschedules
                  inner join msdb.dbo.sysjobschedules on sysschedules.schedule_id = sysjobschedules.schedule_id
                  inner join msdb.dbo.sysjobsteps on sysjobschedules.job_id = sysjobsteps.job_id
                  inner join msdb.dbo.sysjobs on sysjobschedules.job_id = sysjobs.job_id
                  inner join msdb.dbo.sysproxies on sysjobsteps.proxy_id = sysproxies.proxy_id
                where 
          sysproxies.name like 'Blackbaud % Proxy - ' + db_name() and 
          sysjobsteps.step_name = 'Business process invoke' and 
          (null is null or sysjobsteps.command like '%DatabaseName=' + null + '&%') and 
          sysjobsteps.command like '%' + @MKTSEGMENTATIONACTIVATEPROCESSID + '%'
      ) as FREQUENCY,
      MKTSEGMENTATIONACTIVATEPROCESS.ID as ACTIVATIONPROCESSID
    from
        dbo.REMINDEROPTION
    inner join dbo.MKTSEGMENTATION on MKTSEGMENTATION.ID = REMINDEROPTION.ID
    left join dbo.MKTSEGMENTATIONACTIVATEPROCESS on MKTSEGMENTATIONACTIVATEPROCESS.SEGMENTATIONID = MKTSEGMENTATION.ID
    where
        REMINDEROPTION.ID = @ID;

    return 0;
end