2008년 06월 09일
초과근무 시간이 Work schedule과 겹치는지 체크하는 로직
REPORT zhr2005test.
DATA: it0001 TYPE TABLE OF p0001 WITH HEADER LINE,
it0002 TYPE TABLE OF p0002 WITH HEADER LINE,
it0007 TYPE TABLE OF p0007 WITH HEADER LINE,
it2001 TYPE TABLE OF p2001 WITH HEADER LINE,
it2003 TYPE TABLE OF p2003 WITH HEADER LINE,
it2002 TYPE TABLE OF p2002 WITH HEADER LINE,
it2005 TYPE TABLE OF p2005 WITH HEADER LINE.
CALL FUNCTION 'HR_READ_INFOTYPE'
EXPORTING
tclas = 'A'
pernr = '90000025'
infty = '0001'
begda = '18000101'
endda = '99991231'
TABLES
infty_tab = it0001.
CALL FUNCTION 'HR_READ_INFOTYPE'
EXPORTING
tclas = 'A'
pernr = '90000025'
infty = '0007'
begda = '18000101'
endda = '99991231'
TABLES
infty_tab = it0007.
CALL FUNCTION 'HR_READ_INFOTYPE'
EXPORTING
tclas = 'A'
pernr = '90000025'
infty = '2005'
begda = '18000101'
endda = '99991231'
TABLES
infty_tab = it2005.
** 테스트 하기 위한것
READ TABLE it2005 INDEX 1.
it2005-enduz = '130000'.
it2005-beguz = '110000'.
MODIFY it2005 INDEX 1.
** 테스트 하기 위한것
CALL FUNCTION 'HR_REFRESH_ERROR_LIST'.
CALL FUNCTION 'HR_PROPOSE_OVERTIME_2005'
EXPORTING
add_breaks = 1
TABLES
m0001 = it0001
m0002 = it0002
m0007 = it0007
m2001 = it2001
m2002 = it2002
m2003 = it2003
CHANGING
m2005 = it2005
EXCEPTIONS
error_workschedule = 1
error_overtime = 2
OTHERS = 3.
DATA: errors LIKE hrerror OCCURS 0 WITH HEADER LINE,
errortexts LIKE t100-text OCCURS 0.
CALL FUNCTION 'HR_GET_ERROR_LIST'
TABLES
error = errors
errortexts = errortexts
EXCEPTIONS
no_errors = 1
OTHERS = 2.
IF errortexts IS NOT INITIAL.
ENDIF.
# by | 2008/06/09 13:03 | Tip | 트랙백 | 덧글(0)





☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]