Enterprise Resource Planning PortalERPGenie.COMEnterprise Resource Planning Portal

   Advertise | BLOG

Web ERPGenie.COM

Home | Vote for us |

ERPGenie.COM -> SAP Technical -> ABAP -> Example code -> ABAP Program to check for a holiday using factory calendar

REPORT Z_HOLIDAY.

* ABAP Program to check for holidays using the factory calendar
* include zday .
* substitute tdate = 'yyyymmdd'.
* tholiday_found   = 'X'   -> Holiday
TABLES THOCS.

DATA: BEGIN OF INT_THOCS OCCURS 100,
      THOCS LIKE THOCS.
DATA: END OF INT_THOCS.

DATA: TDAY(1),
*      TDATE LIKE SY-DATUM,
      THOLIDAY_ATTRIBUTES,
      THOLIDAY_FOUND(1).

PARAMETERS: P_DATE LIKE SY-DATUM DEFAULT SY-DATUM.

*&------- Selection ------------------------
START-OF-SELECTION.

  PERFORM HOLIDAY.

FORM HOLIDAY.
CALL FUNCTION 'HOLIDAY_CHECK_AND_GET_INFO'
     EXPORTING
          DATE                         = P_DATE
          HOLIDAY_CALENDAR_ID          = 'XX'
*         WITH_HOLIDAY_ATTRIBUTES      = ' '
     IMPORTING
          HOLIDAY_FOUND                = THOLIDAY_FOUND
     TABLES
          HOLIDAY_ATTRIBUTES           = INT_THOCS
     EXCEPTIONS
          CALENDAR_BUFFER_NOT_LOADABLE = 1
          DATE_AFTER_RANGE             = 2
          DATE_BEFORE_RANGE            = 3
          DATE_INVALID                 = 4
          HOLIDAY_CALENDAR_ID_MISSING  = 5
          HOLIDAY_CALENDAR_NOT_FOUND   = 6
          OTHERS                       = 7.

CALL FUNCTION 'DATE_COMPUTE_DAY'
     EXPORTING
          DATE    = P_DATE
     IMPORTING
          DAY     = TDAY
     EXCEPTIONS
          OTHERS  = 1.

* For checking.
if tholiday_found = 'X'.
   write: /1 'Holiday ', P_DATE.
else.
   write: /1 'Not Holiday ', P_DATE.
endif.

case sy-subrc.
   when 0.
     write: /1 P_DATE, 'is', tday, 'day of the week.'.
   when others.
     write: /1 'Unknown day ', P_DATE.
endcase.

ENDFORM.

Contact Us | Polls | Add URL | Contribute | About | Privacy | Terms | Feedback | Help!

Message Board | Discussion Forum | BLOG | Consultants: Post your resume | Companies: Advertise on ERPGenie.COM | Post Job