SAP Factory Calendar allows companies to key in their own factory work days. Individual SAP application such as MRP will take into consideration these individual factory customizing.
For alternate Saturday, you set Saturday as a normal working day and key in all the off-days in the Special rules button.
In your abap program, you can calculate whether a particular day is a non-working day, with reference to the Factory Calendar.
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).
FORM HOLIDAY.
CALL FUNCTION 'HOLIDAY_CHECK_AND_GET_INFO'
EXPORTING
DATE = TDATE
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 = TDATE
IMPORTING
DAY = TDAY
EXCEPTIONS
OTHERS = 1.
* For checking.
*if tholiday_found = 'X'.
* write: /1 'Holiday ', tdate.
*else.
* write: /1 'Not Holiday ', tdate.
*endif.
*
*case sy-subrc.
* when 0. write: /1 tdate, tday.
* when others. write: /1 'Unknown day ', tdate.
*endcase.
ENDFORM.
For alternate Saturday, you set Saturday as a normal working day and key in all the off-days in the Special rules button.
In your abap program, you can calculate whether a particular day is a non-working day, with reference to the Factory Calendar.
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).
FORM HOLIDAY.
CALL FUNCTION 'HOLIDAY_CHECK_AND_GET_INFO'
EXPORTING
DATE = TDATE
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 = TDATE
IMPORTING
DAY = TDAY
EXCEPTIONS
OTHERS = 1.
* For checking.
*if tholiday_found = 'X'.
* write: /1 'Holiday ', tdate.
*else.
* write: /1 'Not Holiday ', tdate.
*endif.
*
*case sy-subrc.
* when 0. write: /1 tdate, tday.
* when others. write: /1 'Unknown day ', tdate.
*endcase.
ENDFORM.
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
107 | 색상 정리 파일. [15] | 공백 | 2012.03.08 | 7973 |
106 | Internal Table 알아보기 [15] | 양키 | 2010.12.20 | 8000 |
105 | 요약파일1 [7] | 밤의화신 | 2013.09.11 | 8040 |
104 | Dynamic Internal Table [5] | sapjoy | 2007.02.11 | 8092 |
103 | BAPI_PO_CHANGE [1] | 노름마치 | 2009.09.03 | 8147 |
102 | <img src=b.gif>계속 남아있는 Debugger창 없에기(New Debugger)[추천:e-abap][추천:보나][추천:버미!] [14] | 해처리 | 2011.01.07 | 8169 |
101 | Number Range Object 변경/삭제 [4] | MadMax | 2010.12.07 | 8172 |
100 | Breakpoints 알아보기 [4] | 양키 | 2010.12.14 | 8176 |
99 | 전기기간 및 회계기간 오픈(MMPV, ob52) [4] | sapjoy | 2014.02.20 | 8230 |
98 | <img src=d.gif>테이블 Lock & UnLock function[추천:e-abap] [1] | 양키 | 2011.01.18 | 8269 |
97 | Area 메뉴 일괄 다운로드 하기 [5] | 고담 | 2011.06.15 | 8276 |
96 | ABAP에서 웹브라우져 호출 | 홍성현 | 2007.08.09 | 8330 |
95 | SELECTION-SCREEN [4] | sapjoy | 2007.01.23 | 8344 |
94 | ABAP 교육 [13] | 밤의화신 | 2013.09.11 | 8361 |
93 | 바피사용이유 [18] | 꿀단지 | 2011.10.11 | 8386 |
92 | SCN에서 인기있는 Tutorial강좌들 입니다. [1] | 양키 | 2013.08.12 | 8420 |
» | SAP Factory Calendar | sapjoy | 2006.12.12 | 8493 |
90 | ABAP 교육 [13] | 밤의화신 | 2013.09.11 | 8494 |
89 | ABAP 교육 [32] | 밤의화신 | 2013.09.11 | 8496 |
88 | 시분초를 가져오는 구문 [8] | 양키 | 2011.05.26 | 8559 |