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 dia del mes por un 01 (primero del mes), podemos reemplazar sy-datum (variable que contiene la fecha del sistema) por otra fecha

data: primero type datum.
primero = sy-datum.
primero+6(2) = '01'.

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.