Ir al contenido
Programación ABAP

LAST_DAY_OF_MONTHS

Devuelve el último día del mes de una fecha.

Módulo de funciónFechas
Transacción
SE37
Grupo
Fechas
Actualizado
21 de octubre de 2026

Para qué sirve

LAST_DAY_OF_MONTHS recibe una fecha y devuelve el último día de su mes, teniendo en cuenta los años bisiestos. Es la función estándar más usada para cierres de mes.

También sirve para saber cuántos días tiene un mes: es el día de la fecha devuelta.

Parámetros

Importing

Lo que recibe la función. En CALL FUNCTION se pasan tras EXPORTING.

ParámetroTipoDescripción
DAY_INObligatorioDFecha.

Exporting

Lo que devuelve. En CALL FUNCTION se recogen tras IMPORTING.

ParámetroTipoDescripción
LAST_DAY_OF_MONTHDÚltimo día del mes.

Excepciones

Errores que devuelve en sy-subrc, en el bloque EXCEPTIONS.

ExcepciónCuándo se produce
DAY_IN_NO_DATELa fecha no es válida.

Ejemplo

ABAP
DATA lv_ultimo TYPE d.

CALL FUNCTION 'LAST_DAY_OF_MONTHS'
  EXPORTING
    day_in            = sy-datum
  IMPORTING
    last_day_of_month = lv_ultimo
  EXCEPTIONS
    day_in_no_date    = 1
    OTHERS            = 2.

" Sin función: primer día del mes siguiente menos uno
DATA(lv_primero) = sy-datum.
lv_primero+6(2) = '01'.
DATA(lv_ultimo2) = CONV d( lv_primero + 31 ).
lv_ultimo2+6(2) = '01'.
lv_ultimo2 = lv_ultimo2 - 1.

Errores y excepciones habituales

  • DAY_IN_NO_DATE: la fecha está vacía o no existe.

Relacionadas

Funciones relacionadas

FKK_LAST_DAY_OF_MONTHHR_E_NUM_OF_DAYS_OF_MONTHMONTH_PLUS_DETERMINE

Más en Fechas

CONVERSION_EXIT_LDATE_OUTPUTADD_TIME_TO_DATERP_CALC_DATE_IN_INTERVALEND_TIME_DETERMINEC14B_ADD_TIMECALCULATE_DATECOMPUTE_YEARS_BETWEEN_DATESCONVERSION_EXIT_PDATE_INPUTCONVERSION_EXIT_PDATE_OUTPUTCONVERSION_EXIT_SDATE_OUTPUTCONVERT_DATE_TO_EXTERNALCONVERT_DATE_TO_INTERNAL

Transacciones y tablas

SE37

En abap.es

¿Dudas con esta función?

Pregunta en el foro de abap.es: la comunidad lleva años resolviendo dudas de ABAP en español.

Preguntar en el foro

Actualizado: 21 de octubre de 2026