Ver Mensaje Individual
  #2  
Viejo 31/03/08, 20:09:04
Avatar de DavidXD_XD
DavidXD_XD DavidXD_XD is offline
Moderator
 
Fecha de Ingreso: ago 2006
Localización: Lima - Perú
Mensajes: 1,251
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.
__________________
David Carballido Córdova
Responder Con Cita