2008 Sep 26 11:52 AM
Hi gurus,
Plz help me with a function module to calculate working days for an employee within a given date range.
2008 Sep 26 11:56 AM
use FM hr_hk_diff_bt_2_dates ( date1 must be greater than date2)
2008 Sep 26 12:00 PM
2008 Sep 26 12:14 PM
2016 May 04 2:52 PM
****Calender Days
CALL FUNCTION 'HR_AUPBS_MONTH_DAY'
EXPORTING
BEG_DA = PN-BEGDA
END_DA = PN-ENDDA
IMPORTING
* NO_DAY =
* NO_MONTH =
* NO_YEAR =
NO_CAL_DAY = LV_NO_DAYS.
******Calender Days
LS_OUTPUT-KDAYS = LV_NO_DAYS.
******Payroll Days
LV_COUNT = 0.
DO LV_NO_DAYS TIMES.
LV_DATE = PN-BEGDA + LV_COUNT.
LV_COUNT = LV_COUNT + 1.
CALL FUNCTION 'CATT_PERSONAL_WORKING_TIMES'
EXPORTING
PERNR = PERNR-PERNR
DATE = LV_DATE
IMPORTING
R550A = LS_R550A
EXCEPTIONS
ERROR_OCCURED = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
* Implement suitable error handling here
ENDIF.
IF LS_R550A-TPROG NE 'OFF'.
******Payroll Days
LS_OUTPUT-PDAYS = LS_OUTPUT-PDAYS + 1.
ENDIF.
ENDDO.