Back to Home

BusinessDay Function

Table of Contents

Overview

f_BusinessDay function calculates Business Days and Holidays based on Cigna's calendar year.

Stored Procedures

WeekDay

  1. Sunday
  2. Monday
  3. Tuesday
  4. Wednesday
  5. Thursday
  6. Friday
  7. Saturday

Example Stored Procedure: smart.p11_Read_IntakeForm

if @Option = 'Rebuttal'
begin
select @RebuttalAllowedDay = Option1 from smart.p11_CodeList where LookupTitle ='RebuttalAllowedDay' and LookupCategory ='RebuttalSetup'
    set @FromDate = smart.p11_f_BusinessDay(GetDate(),@RebuttalAllowedDay,'B')

Explanation of code line by line


ALTER function [smart].[p11_f_BusinessDay](@Today smalldatetime, @BusinessDay int, @Option char(1) )
RETURNS smalldatetime
AS
BEGIN
declare @WeekDay int, @Holiday int
set @Today = Convert(Varchar(10), @Today, 101)
if @Option = 'B'
while @BusinessDay > 0
begin
     set @WeekDay =  datepart(WEEKDAY, @Today)
    if @WeekDay not in (1,7) -- 1 and 7 is weekend
        set @BusinessDay = @BusinessDay - 1
        set @Today = DateAdd(day, -1 ,@Today)
     if datepart(weekday, @Today)  in (1)
     set @Today = DateAdd(day, -1 ,@Today)
     --if datepart(weekday, @Today)  in (7)
     set @Today = DateAdd(day, -1 ,@Today)
     select @Holiday = count(1) from smart.p11_Holiday where Holiday = @Today
     if @Holiday = 1
     set @Today = DateAdd(day, -1 ,@Today)
end
else
while @BusinessDay > 0
begin
    set @WeekDay =  datepart(weekday, @Today)
    if @WeekDay not in (1,7)
        set @BusinessDay = @BusinessDay - 1
    set @Today = DateAdd(day, 1 ,@Today)
end
Return @Today
END

Tables

Web Pages

Web Pages

User Controls