Advertisement
Guest User

Untitled

a guest
Jul 7th, 2015
169
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.95 KB | None | 0 0
  1. CREATE FUNCTION [dbo].[IsLoadDay](@Dt DATE)
  2. RETURNS BIT
  3. AS
  4. BEGIN
  5. DECLARE @IsLoadDay BIT = 1
  6. IF DATENAME(DW, @Dt) IN ('SUNDAY', 'MONDAY')
  7. BEGIN
  8. SET @IsLoadDay = 0
  9. END
  10. ELSE
  11. IF EXISTS(SELECT 1 FROM [DBMGMT].[dbo].[afrs_daily_load_no_load_date] WHERE [load_date] = @Dt AND [load_ind] = 'N')
  12. BEGIN
  13. SET @IsLoadDay = 0
  14. END
  15. ELSE
  16. IF EXISTS(SELECT 1 FROM [master].[dbo].[HOLDY_WA_STATE] WHERE [HOLDY_DATE] = @Dt)
  17. BEGIN
  18. SET @IsLoadDay = 0
  19. END
  20. RETURN @IsLoadDay
  21. END
  22. GO
  23.  
  24. CREATE FUNCTION [dbo].[GetNextLoadDay](@Dt DATE)
  25. RETURNS DATE
  26. AS
  27. BEGIN
  28. DECLARE @NxtDt DATE
  29. SET @NxtDt = @Dt
  30. WHILE [dbo].[IsLoadDay](@NxtDt) != 1 BEGIN
  31. SET @NxtDt = DATEADD(D, 1, @NxtDt)
  32. END
  33. RETURN @NxtDt
  34. END
  35. GO
  36.  
  37. CREATE FUNCTION [dbo].[GetPreviousLoadDay](@Dt DATETIME)
  38. RETURNS DATETIME
  39. AS
  40. BEGIN
  41. DECLARE @PrvDt DATE
  42. SET @PrvDt = DATEADD(D, -1, @Dt)
  43. WHILE [dbo].[IsLoadDay](@PrvDt) != 1 BEGIN
  44. SET @PrvDt = DATEADD(D, -1, @PrvDt)
  45. END
  46. RETURN @PrvDt
  47. END
  48. GO
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement