DATA: LT_P0041 TYPE TABLE OF P0041, LS_P0041 TYPE P0041, LV_DATAR TYPE DATAR, LV_DATE TYPE DATUM. IF IV_KEYDT IS NOT INITIAL. CALL FUNCTION 'HR_READ_INFOTYPE' EXPORTING PERNR = IV_PERNR INFTY = '0041' BEGDA = IV_KEYDT ENDDA = IV_KEYDT TABLES INFTY_TAB = LT_P0041 EXCEPTIONS INFTY_NOT_FOUND = 1 INVALID_INPUT = 2 OTHERS = 3. ELSE. CALL FUNCTION 'HR_READ_INFOTYPE' EXPORTING PERNR = IV_PERNR INFTY = '0041' TABLES INFTY_TAB = LT_P0041 EXCEPTIONS INFTY_NOT_FOUND = 1 INVALID_INPUT = 2 OTHERS = 3. ENDIF. SORT LT_P0041 BY BEGDA DESCENDING. READ TABLE LT_P0041 INTO LS_P0041 INDEX 1. DO IF_HRPA_CONSTANTS=>GC_NUMBER_OF_DATE_TYPES_IT0041 TIMES VARYING LV_DATAR FROM LS_P0041-DAR01 NEXT LS_P0041-DAR02 VARYING LV_DATE FROM LS_P0041-DAT01 NEXT LS_P0041-DAT02. IF LV_DATAR = IV_DATAR. RV_DATE = LV_DATE. EXIT. ENDIF. ENDDO.