Enterprise Resource Planning Blogs by SAP
Get insights and updates about cloud ERP and RISE with SAP, SAP S/4HANA and SAP S/4HANA Cloud, and more enterprise management capabilities with SAP blog posts.
cancel
Showing results for 
Search instead for 
Did you mean: 
ANKIT_CHAUHAN
Product and Topic Expert
Product and Topic Expert
925
In SAP Business One, you can setup the Holidays for an specific year and make sure that it is aligned with your business policy. It allows you to define whether or not count weekend days as business days when calculating due dates. Also, while running the MRP wizard you can define whether to consider the holiday dates for production items and/or purchase items.

The Holiday Dates window can be accessed from the “Holidays” field in the Administration → System Initialization → Company Details → Accounting Data tab.

Holidays in SAP Business One DI API:

Starting from Feature Package 2011 for SAP Business One, the object for Holidays is exposed as a Service Type object i.e. HolidayService.

Here is how to use the HolidayService object in SAP Business One DI API:

  • Add a Holiday using DI API:


SAPbobsCOM.CompanyService oCompanyService = oCompany.GetCompanyService();
SAPbobsCOM.HolidayService oHolidayService = oCompanyService.GetBusinessService(SAPbobsCOM.ServiceTypes.HolidayService);
SAPbobsCOM.Holiday oHoliday = oHolidayService.GetDataInterface(SAPbobsCOM.HolidayServiceDataInterfaces.hsHoliday);
oHoliday.HolidayCode = "HLD2021";
oHoliday.WeekNoRule = SAPbobsCOM.BoWeekNoRuleEnum.fromJanFirst;
oHoliday.WeekendFrom = SAPbobsCOM.BoWeekEnum.Saturday;
oHoliday.WeekendTO = SAPbobsCOM.BoWeekEnum.Sunday;
oHoliday.ValidForOneYearOnly = SAPbobsCOM.BoYesNoEnum.tYES;
oHoliday.SetWeekendsAsWorkDays = "N";
SAPbobsCOM.HolidayDate oHolidayDate = oHoliday.HolidayDates.Add();
oHolidayDate.StartDate = new DateTime(2021,08,15);
oHolidayDate.EndDate = new DateTime(2021,08,15);
oHolidayDate.Remarks = "Independence Day";
oHolidayService.AddHoliday(oHoliday);


  • Update a Holiday using DI API:


SAPbobsCOM.CompanyService oCompanyService = oCompany.GetCompanyService();
SAPbobsCOM.HolidayService oHolidayService = oCompanyService.GetBusinessService(SAPbobsCOM.ServiceTypes.HolidayService);
SAPbobsCOM.HolidayParams oHolidayParams = oHolidayService.GetDataInterface(SAPbobsCOM.HolidayServiceDataInterfaces.hsHolidayParams);
oHolidayParams.HolidayCode = "HLD2021";
SAPbobsCOM.Holiday oHoliday = oHolidayService.GetHoliday(oHolidayParams);
SAPbobsCOM.HolidayDate oHolidayDate = oHoliday.HolidayDates.Add();
oHolidayDate.StartDate = new DateTime(2021,01,26);
oHolidayDate.EndDate = new DateTime(2021,01,26);
oHolidayDate.Remarks = "Republic Day";
oHolidayService.UpdateHoliday(oHoliday);


  • Delete a Holiday using DI API:


SAPbobsCOM.CompanyService oCompanyService = oCompany.GetCompanyService();
SAPbobsCOM.HolidayService oHolidayService = oCompanyService.GetBusinessService(SAPbobsCOM.ServiceTypes.HolidayService);
SAPbobsCOM.HolidayParams oHolidayParams = oHolidayService.GetDataInterface(SAPbobsCOM.HolidayServiceDataInterfaces.hsHolidayParams);
oHolidayParams.HolidayCode = "HLD2021";
oHolidayService.DeleteHoliday(oHolidayParams);