Task Scheduler exclude public holidays

I have a script that has to be run every workday. At the moment I have set it to run from Monday to Friday once a day but I need it to run once a day from Monday to Friday excluding public holidays like Xmas, Easter, etc.
I could accomplish this by creating multiple schedules between public holidays and by doing this  I would exclude the public holidays. 
What would be the best practice for accomplishing this?

I am not aware about a way to achieve that. You might want to think about using Microsoft System Center Orchestrator which allows implementing more advanced scheduled tasks.
This posting is provided AS IS with no warranties or guarantees , and confers no rights.
Ahmed MALEK
My Website Link
My Linkedin Profile
My MVP Profile

Similar Messages

  • Recursive CTE to get first business day excluding public holidays

    I wanted to write a recursive CTE to calculate the first business day excluding the public holidays for a given year. I have a table with the public holiday for that same year

    I like the functions I built to get this done:
    create function NthDayOfMonth (@year int, @month smallint, @weekday varchar(15), @nth smallint)
    returns datetime
    as
    begin
    declare @the_date datetime, @c_date datetime, @cth smallint
    set @cth = 0
    set @c_date = convert(varchar,@year)+'-'+convert(varchar,@month)+'-01'
    while month(@c_date) = @month
    begin
    if datename(weekday,@c_date) = @weekday set @cth = @cth + 1
    if @cth = @nth and datename(weekday,@c_date) = @weekday set @the_date = @c_date
    set @c_date = dateadd(day,1,@c_date)
    end
    return @the_date
    end
    GO
    create function Holidays(@year int)
    returns @table table
    date date,
    type varchar(10),
    name varchar(25)
    as
    begin
    insert into @table
    select convert(datetime,convert(varchar,@year)+'-01-01') as date,'Holiday' as type ,'New Years Day' as name UNION ALL
    select dbo.NthDayOfMonth(@year,2, 'Monday',3),'Holiday','Family Day' UNION ALL
    select dateadd(d,0-case when datepart(weekday,convert(varchar,@year)+'-05-25') in (1,2) then 5+datepart(weekday,convert(varchar,@year)+'-05-25') else datepart(weekday,convert(varchar,@year)+'-05-25')-1 end, convert(varchar,@year)+'-05-25') ,'Holiday','Victoria Day' UNION ALL
    select convert(varchar,@year)+'-07-01' ,'Holiday','Canada Day' UNION ALL
    select dbo.NthDayOfMonth(@year,8, 'Monday',1),'Holiday','Civic Holiday' UNION ALL
    select dbo.NthDayOfMonth(@year,9, 'Monday',1),'Holiday','Labour Day' UNION ALL
    select dbo.NthDayofMonth(@year,10,'Monday',2),'Holiday','Thanksgiving' UNION ALL
    select convert(varchar,@year)+'-11-11' ,'Holiday','Rememberance Day'UNION ALL
    select convert(varchar,@year)+'-12-25' ,'Holiday','Christmas Day' UNION ALL
    select convert(varchar,@year)+'-12-26' ,'Holiday','Boxing Day' UNION ALL
    SELECT CONVERT(DATE,CONVERT(VARCHAR,@year) + '-0'+CONVERT(VARCHAR, FLOOR((((( (19 * (@year % 19.0)) + FLOOR(@year / 100.0)) - FLOOR((@year / 100.0) / 4) - FLOOR((8 * (@year / 100.0) + 13) / 25.0) + 15) % 30) - (FLOOR((@year % 19.0 + (11 * ((( (19 * (@year % 19.0)) + FLOOR(@year / 100.0)) - FLOOR((@year / 100.0) / 4) - FLOOR((8 * (@year / 100.0) + 13) / 25.0) + 15) % 30))) / 319)) + ((((2 * FLOOR((@year / 100.0)) % 4) + (2*((@year % 100) / 4))) - ((@year % 100) % 4) - ((( (19 * (@year % 19.0)) + FLOOR(@year / 100.0)) - FLOOR((@year / 100.0) / 4) - FLOOR((8 * (@year / 100.0) + 13) / 25.0) + 15) % 30) + (FLOOR((@year % 19.0 + (11 * ((( (19 * (@year % 19.0)) + FLOOR(@year / 100.0)) - FLOOR((@year / 100.0) / 4) - FLOOR((8 * (@year / 100.0) + 13) / 25.0) + 15) % 30))) / 319)) +32) % 7) + 90) / 25))+'-'+CONVERT(VARCHAR,CONVERT(INT,(((( (19 * (@year % 19.0)) + FLOOR(@year / 100.0)) - FLOOR((@year / 100.0) / 4) - FLOOR((8 * (@year / 100.0) + 13) / 25.0) + 15) % 30) - (FLOOR((@year % 19.0 + (11 * ((( (19 * (@year % 19.0)) + FLOOR(@year / 100.0)) - FLOOR((@year / 100.0) / 4) - FLOOR((8 * (@year / 100.0) + 13) / 25.0) + 15) % 30))) / 319)) + ((((2 * FLOOR((@year / 100.0)) % 4) + (2*((@year % 100) / 4))) - ((@year % 100) % 4) - ((( (19 * (@year % 19.0)) + FLOOR(@year / 100.0)) - FLOOR((@year / 100.0) / 4) - FLOOR((8 * (@year / 100.0) + 13) / 25.0) + 15) % 30) + (FLOOR((@year % 19.0 + (11 * ((( (19 * (@year % 19.0)) + FLOOR(@year / 100.0)) - FLOOR((@year / 100.0) / 4) - FLOOR((8 * (@year / 100.0) + 13) / 25.0) + 15) % 30))) / 319)) +32) % 7) + (FLOOR((((( (19 * (@year % 19.0)) + FLOOR(@year / 100.0)) - FLOOR((@year / 100.0) / 4) - FLOOR((8 * (@year / 100.0) + 13) / 25.0) + 15) % 30) - (FLOOR((@year % 19.0 + (11 * ((( (19 * (@year % 19.0)) + FLOOR(@year / 100.0)) - FLOOR((@year / 100.0) / 4) - FLOOR((8 * (@year / 100.0) + 13) / 25.0) + 15) % 30))) / 319)) + ((((2 * FLOOR((@year / 100.0)) % 4) + (2*((@year % 100) / 4))) - ((@year % 100) % 4) - ((( (19 * (@year % 19.0)) + FLOOR(@year / 100.0)) - FLOOR((@year / 100.0) / 4) - FLOOR((8 * (@year / 100.0) + 13) / 25.0) + 15) % 30) + (FLOOR((@year % 19.0 + (11 * ((( (19 * (@year % 19.0)) + FLOOR(@year / 100.0)) - FLOOR((@year / 100.0) / 4) - FLOOR((8 * (@year / 100.0) + 13) / 25.0) + 15) % 30))) / 319)) +32) % 7) + 90) / 25)) + 19) % 32,0))),'Holiday','Easter Sunday' UNION ALL
    SELECT DATEADD(DAY,-2,CONVERT(DATE,CONVERT(VARCHAR,@year) + '-0'+CONVERT(VARCHAR, FLOOR((((( (19 * (@year % 19.0)) + FLOOR(@year / 100.0)) - FLOOR((@year / 100.0) / 4) - FLOOR((8 * (@year / 100.0) + 13) / 25.0) + 15) % 30) - (FLOOR((@year % 19.0 + (11 * ((( (19 * (@year % 19.0)) + FLOOR(@year / 100.0)) - FLOOR((@year / 100.0) / 4) - FLOOR((8 * (@year / 100.0) + 13) / 25.0) + 15) % 30))) / 319)) + ((((2 * FLOOR((@year / 100.0)) % 4) + (2*((@year % 100) / 4))) - ((@year % 100) % 4) - ((( (19 * (@year % 19.0)) + FLOOR(@year / 100.0)) - FLOOR((@year / 100.0) / 4) - FLOOR((8 * (@year / 100.0) + 13) / 25.0) + 15) % 30) + (FLOOR((@year % 19.0 + (11 * ((( (19 * (@year % 19.0)) + FLOOR(@year / 100.0)) - FLOOR((@year / 100.0) / 4) - FLOOR((8 * (@year / 100.0) + 13) / 25.0) + 15) % 30))) / 319)) +32) % 7) + 90) / 25))+'-'+CONVERT(VARCHAR,CONVERT(INT,(((( (19 * (@year % 19.0)) + FLOOR(@year / 100.0)) - FLOOR((@year / 100.0) / 4) - FLOOR((8 * (@year / 100.0) + 13) / 25.0) + 15) % 30) - (FLOOR((@year % 19.0 + (11 * ((( (19 * (@year % 19.0)) + FLOOR(@year / 100.0)) - FLOOR((@year / 100.0) / 4) - FLOOR((8 * (@year / 100.0) + 13) / 25.0) + 15) % 30))) / 319)) + ((((2 * FLOOR((@year / 100.0)) % 4) + (2*((@year % 100) / 4))) - ((@year % 100) % 4) - ((( (19 * (@year % 19.0)) + FLOOR(@year / 100.0)) - FLOOR((@year / 100.0) / 4) - FLOOR((8 * (@year / 100.0) + 13) / 25.0) + 15) % 30) + (FLOOR((@year % 19.0 + (11 * ((( (19 * (@year % 19.0)) + FLOOR(@year / 100.0)) - FLOOR((@year / 100.0) / 4) - FLOOR((8 * (@year / 100.0) + 13) / 25.0) + 15) % 30))) / 319)) +32) % 7) + (FLOOR((((( (19 * (@year % 19.0)) + FLOOR(@year / 100.0)) - FLOOR((@year / 100.0) / 4) - FLOOR((8 * (@year / 100.0) + 13) / 25.0) + 15) % 30) - (FLOOR((@year % 19.0 + (11 * ((( (19 * (@year % 19.0)) + FLOOR(@year / 100.0)) - FLOOR((@year / 100.0) / 4) - FLOOR((8 * (@year / 100.0) + 13) / 25.0) + 15) % 30))) / 319)) + ((((2 * FLOOR((@year / 100.0)) % 4) + (2*((@year % 100) / 4))) - ((@year % 100) % 4) - ((( (19 * (@year % 19.0)) + FLOOR(@year / 100.0)) - FLOOR((@year / 100.0) / 4) - FLOOR((8 * (@year / 100.0) + 13) / 25.0) + 15) % 30) + (FLOOR((@year % 19.0 + (11 * ((( (19 * (@year % 19.0)) + FLOOR(@year / 100.0)) - FLOOR((@year / 100.0) / 4) - FLOOR((8 * (@year / 100.0) + 13) / 25.0) + 15) % 30))) / 319)) +32) % 7) + 90) / 25)) + 19) % 32,0)))),'Holiday','Good Friday' UNION ALL
    SELECT DATEADD(DAY,1,CONVERT(DATE,CONVERT(VARCHAR,@year) + '-0'+CONVERT(VARCHAR, FLOOR((((( (19 * (@year % 19.0)) + FLOOR(@year / 100.0)) - FLOOR((@year / 100.0) / 4) - FLOOR((8 * (@year / 100.0) + 13) / 25.0) + 15) % 30) - (FLOOR((@year % 19.0 + (11 * ((( (19 * (@year % 19.0)) + FLOOR(@year / 100.0)) - FLOOR((@year / 100.0) / 4) - FLOOR((8 * (@year / 100.0) + 13) / 25.0) + 15) % 30))) / 319)) + ((((2 * FLOOR((@year / 100.0)) % 4) + (2*((@year % 100) / 4))) - ((@year % 100) % 4) - ((( (19 * (@year % 19.0)) + FLOOR(@year / 100.0)) - FLOOR((@year / 100.0) / 4) - FLOOR((8 * (@year / 100.0) + 13) / 25.0) + 15) % 30) + (FLOOR((@year % 19.0 + (11 * ((( (19 * (@year % 19.0)) + FLOOR(@year / 100.0)) - FLOOR((@year / 100.0) / 4) - FLOOR((8 * (@year / 100.0) + 13) / 25.0) + 15) % 30))) / 319)) +32) % 7) + 90) / 25))+'-'+CONVERT(VARCHAR,CONVERT(INT,(((( (19 * (@year % 19.0)) + FLOOR(@year / 100.0)) - FLOOR((@year / 100.0) / 4) - FLOOR((8 * (@year / 100.0) + 13) / 25.0) + 15) % 30) - (FLOOR((@year % 19.0 + (11 * ((( (19 * (@year % 19.0)) + FLOOR(@year / 100.0)) - FLOOR((@year / 100.0) / 4) - FLOOR((8 * (@year / 100.0) + 13) / 25.0) + 15) % 30))) / 319)) + ((((2 * FLOOR((@year / 100.0)) % 4) + (2*((@year % 100) / 4))) - ((@year % 100) % 4) - ((( (19 * (@year % 19.0)) + FLOOR(@year / 100.0)) - FLOOR((@year / 100.0) / 4) - FLOOR((8 * (@year / 100.0) + 13) / 25.0) + 15) % 30) + (FLOOR((@year % 19.0 + (11 * ((( (19 * (@year % 19.0)) + FLOOR(@year / 100.0)) - FLOOR((@year / 100.0) / 4) - FLOOR((8 * (@year / 100.0) + 13) / 25.0) + 15) % 30))) / 319)) +32) % 7) + (FLOOR((((( (19 * (@year % 19.0)) + FLOOR(@year / 100.0)) - FLOOR((@year / 100.0) / 4) - FLOOR((8 * (@year / 100.0) + 13) / 25.0) + 15) % 30) - (FLOOR((@year % 19.0 + (11 * ((( (19 * (@year % 19.0)) + FLOOR(@year / 100.0)) - FLOOR((@year / 100.0) / 4) - FLOOR((8 * (@year / 100.0) + 13) / 25.0) + 15) % 30))) / 319)) + ((((2 * FLOOR((@year / 100.0)) % 4) + (2*((@year % 100) / 4))) - ((@year % 100) % 4) - ((( (19 * (@year % 19.0)) + FLOOR(@year / 100.0)) - FLOOR((@year / 100.0) / 4) - FLOOR((8 * (@year / 100.0) + 13) / 25.0) + 15) % 30) + (FLOOR((@year % 19.0 + (11 * ((( (19 * (@year % 19.0)) + FLOOR(@year / 100.0)) - FLOOR((@year / 100.0) / 4) - FLOOR((8 * (@year / 100.0) + 13) / 25.0) + 15) % 30))) / 319)) +32) % 7) + 90) / 25)) + 19) % 32,0)))),'Holiday','Easter Monday'
    update @table
    set date =
    case when MONTH(date) = 12 AND name != 'Boxing Day' and datepart(weekday,date) = 7 then dateadd(day,2,date)
    when MONTH(date) = 12 AND name != 'Boxing Day' and datepart(weekday,date) = 1 then dateadd(day,1,date)
    when MONTH(date) = 12 AND name = 'Boxing Day' and datepart(weekday,date) = 7 then dateadd(day,2,date)
    when MONTH(date) = 12 AND name = 'Boxing Day' and datepart(weekday,date) = 1 then dateadd(day,2,date)
    when MONTH(date) = 12 AND name = 'Boxing Day' and datepart(weekday,date) = 2 then dateadd(day,1,date)
    else date
    end
    return
    end
    GO
    create function Dates(@date datetime)
    returns @table table
    now datetime,
    today datetime,
    Month_start datetime,
    Month_end datetime,
    Prev_Month_Start datetime,
    Prev_Month_End datetime,
    Week_Start datetime,
    Week_End datetime,
    Prev_Week_Start datetime,
    Prev_Week_End datetime,
    Quarter_Start datetime,
    Quarter_End datetime,
    Prev_Quarter_Start datetime,
    Prev_Quarter_End datetime,
    Year_Start datetime,
    Year_End datetime,
    Prev_Year_Start datetime,
    Prev_Year_End datetime,
    Month_End_TS datetime,
    Prev_Month_End_TS datetime,
    Week_End_TS datetime,
    Prev_Week_End_TS datetime,
    Quarter_End_TS datetime,
    Prev_Quarter_End_TS datetime,
    Year_End_TS datetime,
    Prev_Year_End_TS datetime,
    Year smallint,
    Month smallint,
    Day smallint,
    Month_Name varchar(15),
    Day_Name varchar(15),
    WD SMALLINT,
    Week INT,
    isHoliday bit
    as
    begin
    if @date IS NULL set @date = getdate()
    insert into @table
    select
    @date as now,
    convert(datetime,convert(varchar,@date,101)) as today,
    dateadd(day,0-day(@date)+1,convert(datetime,convert(varchar,@date,101))) as Month_Start,
    dateadd(day,-1,dateadd(month,1,dateadd(day,0-day(@date)+1,convert(datetime,convert(varchar,@date,101))))) as Month_end,
    dateadd(month,-1,dateadd(day,0-day(@date)+1,convert(datetime,convert(varchar,@date,101)))) as Prev_Month_start,
    dateadd(day,-1-day(@date)+1,convert(datetime,convert(varchar,@date,101))) as Prev_Month_End,
    dateadd(day,1-datepart(dw,@date),convert(datetime,convert(varchar,@date,101))) as Week_Start,
    dateadd(day,7-datepart(dw,@date),convert(datetime,convert(varchar,@date,101))) as Week_End,
    dateadd(day,-6-datepart(dw,@date),convert(datetime,convert(varchar,@date,101))) as Prev_Week_Start,
    dateadd(day,0-datepart(dw,@date),convert(datetime,convert(varchar,@date,101))) as Prev_Week_End,
    convert(datetime,convert(varchar,year(@date)) +'-'+ right('0'+convert(varchar,((datepart(QUARTER,@date)-1)*3)+1),2)+'-01') as quarter_start,
    dateadd(day,-1,dateadd(quarter,1,convert(datetime,convert(varchar,year(@date)) +'-'+ right('0'+convert(varchar,((datepart(QUARTER,@date)-1)*3)+1),2)+'-01'))) as quarter_end,
    convert(datetime,convert(varchar,year(dateadd(quarter,-1,@date))) +'-'+ right('0'+convert(varchar,((datepart(QUARTER,dateadd(quarter,-1,@date))-1)*3)+1),2)+'-01') as prev_quarter_start,
    dateadd(day,-1,dateadd(quarter,1,convert(datetime,convert(varchar,year(dateadd(quarter,-1,@date))) +'-'+ right('0'+convert(varchar,((datepart(QUARTER,dateadd(quarter,-1,@date))-1)*3)+1),2)+'-01'))) as prev_quarter_end,
    dateadd(day,1-day(@date),dateadd(month,1-month(@date),convert(varchar,@date,101))) as Year_Start,
    dateadd(year,1,dateadd(day,0-day(@date),dateadd(month,1-month(@date),convert(varchar,@date,101)))) as Year_End,
    dateadd(year,-1,dateadd(day,1-day(@date),dateadd(month,1-month(@date),convert(varchar,@date,101)))) as Prev_Year_Start,
    dateadd(year,-1,dateadd(year,1,dateadd(day,0-day(@date),dateadd(month,1-month(@date),convert(varchar,@date,101))))) as Prev_Year_End,
    dateadd(ms,-3,dateadd(day,0,dateadd(month,1,dateadd(day,0-day(@date)+1,convert(datetime,convert(varchar,@date,101)))))) as Month_End_Ts,
    dateadd(ms,-3,dateadd(day,-1-day(@date)+2,convert(datetime,convert(varchar,@date,101)))) as Prev_Month_End_TS,
    dateadd(ms,-3,dateadd(day,8-datepart(dw,@date),convert(datetime,convert(varchar,@date,101)))) as Week_End_TS,
    dateadd(ms,-3,dateadd(day,1-datepart(dw,@date),convert(datetime,convert(varchar,@date,101)))) as Prev_Week_End_TS,
    dateadd(ms,-3,dateadd(day,0,dateadd(quarter,1,convert(datetime,convert(varchar,year(@date)) +'-'+ right('0'+convert(varchar,((datepart(QUARTER,@date)-1)*3)+1),2)+'-01')))) as quarter_end_TS,
    dateadd(ms,-3,dateadd(day,0,dateadd(quarter,1,convert(datetime,convert(varchar,year(dateadd(quarter,-1,@date))) +'-'+ right('0'+convert(varchar,((datepart(QUARTER,dateadd(quarter,-1,@date))-1)*3)+1),2)+'-01')))) as prev_quarter_end_TS,
    dateadd(ms,-3,dateadd(year,1,dateadd(day,1-day(@date),dateadd(month,1-month(@date),convert(varchar,@date,101))))) as Year_End_TS,
    dateadd(ms,-3,dateadd(day,1-day(@date),dateadd(month,1-month(@date),convert(varchar,@date,101)))) as Prev_Year_End_TS,
    Year(@date) as Year,
    Month(@date) as Month,
    Day(@Date) as Day,
    datename(month,@Date) as Month_Name,
    datename(WEEKDAY,@date) as Day_Name,
    datepart(weekday,@date) as WD,
    DATEPART(WEEK,@date) AS Week,
    COALESCE((SELECT 1
    FROM dbo.Holidays(YEAR(@date)) h
    WHERE h.date = @date),0) AS isHoliday
    return
    end
    go
    The holidays function is set up for Saskatchewan right now, but its a small matter to adjust it to your region.
    You can then do this:
    DECLARE @calendar TABLE (date DATE)
    WHILE (SELECT COUNT(*) FROM @calendar) < 365
    BEGIN
    INSERT INTO @calendar (date)
    VALUES (DATEADD(day,1,(SELECT COALESCE(MAX(date),CURRENT_TIMESTAMP) FROM @calendar)))
    END
    SELECT MONTH(date) AS month, MIN(date) AS fbd
    FROM @calendar c
    CROSS APPLY dbo.Dates(c.date)
    WHERE DATEPART(DAY,c.date) NOT IN (1,7) AND isHoliday = 0
    GROUP BY MONTH(date)

  • How to calculate days between 2 dates excluding public holidays over SAP ?

    Hi
    Have a universe over SAP data. Trying to calculate days between 2 dates. SAP holds Public Holiday data in various tables e.g  Thol and data is updated via scal. Using my univeres as a source I want to run  reports for different countries so need to have various bank holidays not just UK. In SAP function modules handle this. Has anyone designed a solution to cater for this situation in a universe ?
    Thanks in advance
    M

    Hi,
    I assume you mean SAP R/3 (ECC) when you write SAP and SAP BW.
    Are you using BW? If so, I would load the data into SAP BW, create a query using customer exit variables and build your universe on top of that...
    -J

  • Problem in getting public holiday class using function module

    Hi to all
    I am using function module
    HR_PERSON_READ_WORK_SCHEDULE.
    for getting the employee's actual work schedule and public holiday class FTKLA.
    But I am unable to get the correct public holiday class.
    Please guide me.
    How to do that.
    Regards
    Anubhav

    Hi,
    form build_work_schedule tables b_psp structure pdpsp
                                    b_day_psp structure pdsppsp
                                    b_employees structure pdpnr
                             using value(b_begda) like sy-datum
                                   value(b_endda) like sy-datum
                                   value(b_read_db) type c.
      data: counter type i. "Note 495298
      call function 'HR_PERSON_READ_WORK_SCHEDULE'
           exporting
                begin_date          = b_begda
                end_date            = b_endda
               grouping_dws        = motpr    "VEX Modif
               grouping_attendence = moabw
               grouping_substitute = mover
                read_from_database  = b_read_db
                im_read_no_locked_records = 'X'                 "803380
           tables
                pernr_tab           = b_employees
                psp                 = b_psp
                day_psp             = b_day_psp
           exceptions
                error_in_build_psp  = 1
                others              = 2.
      read table b_employees with key error = 'X'
                             transporting pernr.
      if sy-subrc eq 0.
        read table d3000_pers with key pernr = b_employees-pernr
                                               transporting name.
        if sy-subrc eq 0.
          message s582 with d3000_pers-name.
        else.
          message s582 with b_employees-pernr.
        endif.
      endif.
    Hope it helps you.

  • KM Task Scheduler , retrieve IPortalComponentRequest request

    Hello,
    I would like to use KM Task Scheduler :
    public void run( String id, Properties properties ) {
         IPortalComponentRequest request;
         String location = request.getPublicResourcePath();
    It's normal, it doesn't work ! How can I use IPortalComponentRequest for my schedule task ?
    Thanks a lot
    Best regards,
    Aurélien

    Aurelien,
    ok then, place your xml file into any package of your project. For example:
    In package called "my.package.files" place file "myfile.xml"
    then wherever within your code (let's assume you have an class called MySchedullerTask) call next structure:
    URL url = MySchedullerTask.getClass().getClassLoader().getResource("my/package/files/myfile.xml");
    and then work with the file.
    Just one more note: non Java files are not build always into application PAR acrhive.
    To do so, you have to check in option:
    "Yes, I want the non java sources includet into the portal components jars"
    You will find this option in NWDS:
    Window -> Preferences -> SAP Enterprise Portal -> Application Development Studio.
    regards
    mz

  • Public Holiday calendar not to be taken into account for Sick Leave

    Dear All,
    I need help.
    Public Holiday calendar not to be taken into account for Sick Leave.
    Eg -When I employee applies for sick leave, the public holiday in between the dates shouldnt be considered. How can I configure this requirement.
    Please help.
    Regards,
    Poornima

    For that group, you need 2 counting rules:
    - one for Holiday Class 0 (not a public holiday) and Day Work Schedule Class 0 (not a working day)
    - one for Holiday Class 0 (not a public holiday) and Day Work Schedule Class 1 to 9 (a working day)
    If you want, you can add an other one or two for Holiday Class 1 to 9 (public holiday)
    extract from our T556C
    2       1   10 Q      10 Sick leave deduct from quotas (incl personal/spec) XXXXX   X  X    XXXXXXXXXX  XXXXXXXXX X X        XX XX    100.00  100.00              1     1       10              
    2       1   10 Q      11 Sick leave deduct from quotas (incl personal/spec) XXXXX   X  X    XXXXXXXXXX X          X X        XX XX      0.00    0.00              1     1       10              
    2       1   30 Q      10 Special leave with pay (with quotas deduction)     XXXXX   X  X    XXXXXXXXXX  XXXXXXXXX X X        XX XX    100.00  100.00              1     1       30              
    2       1   30 Q      11 Special leave with pay (with quotas deduction)     XXXXX   X  X    XXXXXXXXXX X          X X        XX XX      0.00    0.00              1     1       30

  • Error while accessing public holiday calendar

    Friends,
    Well when creating a work schedule for the year 2008 (practice mode - at home) i am getting the below message..
    I checked all the configurations and no where i mention about 2009. Any tips and suggestions.
    Error while accessing public holiday calendar
    The function module HOLIDAY_CHECK_AND_GET)INFO has generated an error

    friends the problem still exists..
    i created a new calender, new dws, pws, bws.. but again the same error comes in play.
    Friends,
    Well when creating a work schedule for the year 2008 (practice mode - at home) i am getting the below message..
    I checked all the configurations and no where i mention about 2009. Any tips and suggestions.
    Error while accessing public holiday calendar on 20090101
    The function module HOLIDAY_CHECK_AND_GET)INFO has generated an error

  • Error while accessing public holiday calendar on 20100101

    Dear Gurus.
    When i was created Work Schedule TC-PT01
    Error Showing
    "Error while accessing public holiday calendar on 20100101"
    Message no. P2518
    Diagnosis
    The function module HOLIDAY_CHECK_AND_GET_INFO has generated an error.
    Please Advised
    Regards
    MHPO

    Hi
    As Surisetti told that, that public holiday might not created in that year. So check the same in SCAL and again re-generate the work schedule.
    Thanks & Regards
    Bharathi

  • Public Holiday text not displaying in PT03 (Special Days)

    Hi Experts,
    For my client, I have to configure a public holiday and restrict it to only few WSRs. This public holiday is not part of any public holiday calendar. I have configured this holiday as a special day by defining the day type selection rule & special day.
    When I checked the work schedule in PT03, it is not displaying the holiday class and the text of the public holiday. It is only displaying the day type for this day.
    Please help.
    Many Thanks for your help in advance.
    Warm Rgds,
    Arun.M

                qPane = new JScrollPane(qTextArea);
                qPane.add(qTextArea);
                performedOpsPane = new JScrollPane(performedOpsTextArea);
                performedOpsPane.add(performedOpsTextArea);
                logPane = new JScrollPane();
                logPane.add(logTextArea); When you create a scrolled component, you either pass the component to the JScrollPane constructor or add it afterward, not both. If you're going to add it afterward, you use the setViewportView() method, not add().

  • Public Holiday Class field in IDOC WORKSCHED_WITH_COST

    Hi Experts,
    Good day..!
    Well we are working on a integration project between external rostering system & CATS.
    As part of the integration we are supposed to send Work Schedules (Planned hours) from external system to Cats.
    On investigation we found IDOC WORKSCHED_WITH_COST which suffice the purpose.
    But this IDOC doesn't have any field for Public holiday class. its having only Day type.
    Where as in Infotype 2003 we could see both the fields.
    Can somebody let me if I am missing something here, do we need to do any enhancements how...?
    We are on
    SAP ECC 6.0
    SAP_HR     604     0037     Human Resources
    Your help is well appriciated,
    Thanks in advance,
    Sai

    Hi All,
    We somehow tried to convience business.
    What we would like to do to eliminate the fuzz of Holiday Class field is , We will process data directly to IT2003 skipping CATS as they dont use Substitutions other than for HR.
    We are thing of doing as below
    Insert: HR_INFOTYPE_OPERATION will use this.
    Delete / Reversal: HR_INFOTYPE_OPERATION with del option this is where I doubt about. do we have any option of reversal ...? or do we need to delete the record.
    Will create a BAPI & IDOC respectively.
    Please suggest if this apporoach is fine as I have no clue with HR dependencies.
    Cheers,
    Sai

  • Work schedule shows a holiday but it is not defined

    Hi All,
    I have run PT03 to check on my work schedule and it shows a date that is a holiday. I have checked the public holiday calendar and no holiday defined on that day. Checking again on the generated work schedule and clicking on the date where it says as holiday (though not defined in holiday calendar) it pops a message "Calendar not loaded on 21.05.2010". Normally when you double clicked on the date when there is holiday it is displayed beside holiday class field the description of the holiday but this one it does not show any description beside that field.
    Hope you can help me on this.
    Thank you in advance.

    Hi alvin zamora,
    One more thing,  if you have removed a holiday from the holiday calendar after generation of work schedules, you need to generate the calendar again after removing that holiday, and also generate the work schedule using that calender and save the work schedule,  then only you will see the removed holiday effect in the work schedule.
    Regards
    Venu

  • Pre-populate the Public Holiday hours in CATS with A/A Type

    Hi Experts
    Please let me know if there is anyway for us to pre-populate the Public Holiday hours in CATS with A/A Type for all employees. 
    Our Client would like automatically populate Holiday hours with A/A type 2000 in CATS for all eligible employees, based on whatever amount of hours they are scheduled to work on the specified days. 
    Basicall client dont want employee to enter A/A with Public Holiday Hours, they want it to be automatically exist in CATS timesheet
    If you have any other ideas about how to accomplish this please let me know.
    Regards,
    Koutilya A.K

    Hello Koutilya,
    I got the same requirement as yours. Can you please suggest me how to achieve this one.
    Thanks,
    R V Narayana.

  • Problem in maintaining Public Holiday Calendar

    Dear All,
    I have to maintain Public Holiday Calendar for 2009. For that I have maintained the holiday dates in Change Public Holidays. Please guide me as to how do I assign these holidays which I have maintained to Public Holiday Calendars being used in different PSA's?
    Thanks and Regards,
    Kanupriya

    hi,
    for appearing in the holiday calendar of 2009, the Validity year of ur holiday calendar should contain the year  2009. say,                
    Valid  Fr.year  2008
           To year  2010
    For the day to be a OFF day u have to re-generate the existing work schedule as i mentioned earlier. Only then the new holidays assigned to ur holiday calendar will be taken by the Work Schedule.
    U must give the same Holiday class to ur new holidays (Same that u used to create ur earlier holidays to avoid confusions......)
    Regards
    kiran

  • System is not stopping with warning on Public Holidays IT2001.

    Dear Experts,
    In 2015 we have generated work schedule with new holiday calendar.  After that in Testing client we tested like trying to maintain a Absence record on the date of Public holiday.  in v_t554s  WWE is the configuration in Define Absence type.  Counting rules also i've checked.  its as same as production system.  user is commenting that it should show error when we maintain iit2001 on public holidays.  where should i change.  please give me inputs,  i'll also keep trying checking the config path.
    Thanks,
    Aruna

    Dear Aruna,
    First DWS is not link with day type, day type always link with Public holiday.
    DWS class:
    0 - Week off
    1 to 9 - Working day
    Day type:
    blank --> Work/Paid (Working days)
    1--> Not work/ Paid (Week offs)
    2--> half day holiday (Any band or company holiday)
    3 to 9-->  Customer specific holiday
    Public holiday class:
    blank --> Ordinary holiday
    1--> Not a public holiday
    2--> half day holiday
    3 to 9-->  Customer specific holiday
    Ur's Mohan

  • Public holiday calendar

    When we create public holidays, and create thanks giving or any holiday with fixed day from date ,what we have to enter in the field " at the earlist, day and month field"
    please help
    thanks

    Hi Sagarika,
    The answer to this and you other questions about work schedules would be answered if you took the SAP HR306 course.  Work schedules, holiday calendars and quotas are all covered in that course.  It is necessary if you are to properly set up work schedules for your organization.
    Here the "earliest day and month" refer to the earliest the holiday can occur.  For Thanksgiving, for example, the earliest it can be celebrated is the first Thursday in November after November 22nd.  Another example is Martin Luther King Day which is the first Monday in January after January 15th. 
    This differs from holidays which are a fixed date each year - July 4th, December 25th, January 1st, etc.  These can be "guaranteed" so they can be celebrated on the work day before if they fall on a Saturday or on the work day after if they fall on a Sunday. 
    Again, all this guidance is available to you in HR306.
    Paul

Maybe you are looking for