FUNCTION RP_LAST_DAY_OF_MONTHS. * 4.0C * VNIAHRK001140 09.01.98 Months 999912 korrigiert *"---------------------------------------------------------------------- *"*"Lokale Schnittstelle: *" IMPORTING *" VALUE(DAY_IN) LIKE SY-DATUM *" EXPORTING *" VALUE(LAST_DAY_OF_MONTH) LIKE SY-DATUM *" EXCEPTIONS *" DAY_IN_NO_DATE *"---------------------------------------------------------------------- DATA: BEGIN OF DATE, J(4), M(2), T(2), END OF DATE. DATA: ZAHL TYPE I. DATE = DAY_IN. IF DATE-M LT JANUAR OR DATE-M GT DECEMBER. "#EC PORTABLE MESSAGE E401(5D) WITH DAY_IN RAISING DAY_IN_NO_DATE. ENDIF. IF DATE-J LT LOWDATE. "#EC PORTABLE MESSAGE E401(5D) WITH DAY_IN RAISING DAY_IN_NO_DATE. ENDIF. IF DATE-J EQ HIGHDATE-J AND "VNIK001140 DATE-M EQ HIGHDATE-M. "VNIK001140 LAST_DAY_OF_MONTH = HIGHDATE. "VNIK001140 ELSE. "VNIK001140 IF DATE-M EQ DECEMBER. ZAHL = DATE-J + 1. UNPACK ZAHL TO DATE-J. DATE-M = FRIST. ELSE. ZAHL = DATE-M + 1. UNPACK ZAHL TO DATE-M. ENDIF. * Erster des Folgemonats DATE-T = FRIST. LAST_DAY_OF_MONTH = DATE. SUBTRACT 1 FROM LAST_DAY_OF_MONTH. ENDIF. "VNIK001140 ENDFUNCTION.