Obtener el primer día del mes es fácil, el problema es cuando debemos obtener el ultimo día del mes y especialmente del mes de febrero que puede terminar en 28 o 29 en caso de que sea un año bisiesto.
Obtener el primer día del mes.
El truco consiste en reemplazar el día del mes por un 01 (primero del mes), podemos reemplazar sy-datum (variable que contiene la fecha del sistema) por otra fecha
Obtener el ultimo día del mes.
DATA: ultimo TYPE sy-datum.
CALL FUNCTION 'RP_LAST_DAY_OF_MONTHS'
EXPORTING
day_in = sy-datum "Fecha para la cual deseamos conocer el ultimo dia del mes
IMPORTING
last_day_of_month = ultimo "Regresa el ultimo dia del mes
EXCEPTIONS
day_in_no_date = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
Obtener el primer y ultimo dia del mes en ABAP