MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   cantidad de horas entre dos fechas (foro/showthread.php?t=12172)

jossnet 31/03/08 19:25:59

cantidad de horas entre dos fechas
 
saludos: tengo un programa donde ingreso una fecha y hora de inicio asi como una fecha y hora de fin,pero debo de calcular la cantidad de horas comprendidas entre esos valores considerando que no necesariamente la fecha de fin es la misma fecha de inicio,alguno conoce un modulo de funcion que pueda servir :confused: :confused: :confused:

DavidXD_XD 31/03/08 20:09:04

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 :D

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.

Mauricio Hidalgo 31/03/08 20:13:20

Te servirá esta?

ISHMED_CALC_DATE_TIME_DIFF

DavidXD_XD 31/03/08 20:16:51

Parecer ser que esa funcion que coloco Mauricio es ... :p , todavia toy en la version 4.6 :( ... un saludo

jossnet 31/03/08 20:32:17

gracias por la ayuda,probe ambos pero la funcion ISHMED_CALC_DATE_TIME_DIFF me considera los minutos y segundos,y eso es lo que necesito,solo tengo que multiplicar por 24 al campo
E_DIFF_DAY para obtener la cantidad total de horas.

thanks;)


Husos Horarios son GMT. La hora en este momento es 21:57:49.

www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web