Hola, creo q no existe la funcion, estuve buscando con este nombre *BETWEEN*DATE*, pero ninguna funciona como la que quieres, hice un pequeño reporte, pero solo funciona con horas fijas ... espero te ayude al menos es una idea
REPORT ZPRUEBA_3 MESSAGE-ID ZFI.
* Día y hora de inicio
SELECTION-SCREEN BEGIN OF BLOCK blq1 WITH FRAME TITLE text-t01.
PARAMETERS: p_datum1 TYPE laeda,
p_uzeit1 TYPE udftime.
SELECTION-SCREEN END OF BLOCK blq1.
DATA: g_flag,
g_dias TYPE i,
g_dif_horas TYPE i,
g_horas TYPE i.
* Día y hora de fin
SELECTION-SCREEN BEGIN OF BLOCK blq2 WITH FRAME TITLE text-t02.
PARAMETERS: p_datum2 TYPE laeda,
p_uzeit2 TYPE udftime.
SELECTION-SCREEN END OF BLOCK blq2.
START-OF-SELECTION.
CLEAR: g_flag, g_dias, g_dif_horas, g_horas.
IF p_datum1 > p_datum2.
g_flag = 'X'.
MESSAGE S000 WITH 'Colocar bien las fechas'.
ELSEIF p_datum1 = p_datum2.
IF p_uzeit1 > p_uzeit2.
g_flag = 'X'.
MESSAGE S000 WITH 'Colocar bien las horas'.
ENDIF.
ENDIF.
CHECK g_flag IS INITIAL.
* Calculando diferencia de dias
g_dias = p_datum2 - p_datum1.
IF NOT g_dias IS INITIAL.
g_horas = g_dias * 24.
ENDIF.
* Calculando diferencia de horas
g_dif_horas = p_uzeit2(2) - p_uzeit1(2).
g_horas = g_horas + g_dif_horas.
WRITE: 'Las horas comprendidas entre ambas fechas es ->', g_horas.