Foro de programación ABAP
SAP / ABAP => Programación ABAP => Mensaje iniciado por: ale12 en 07 de Julio de 2008, 11:12:04 am
-
Hola,
existe alguna función que me convierta horas en decimales?
Ejemplo:
- una hora es igual a 1,00.
- treinta minutos es igual a 0,50 horas.
-
No conozco ninguna función, pero lo puedes hacer mas o menos como este ejemplo:
Multiplicas las horas por 60 y le sumas los minutos, con esto obtienes los minutos totales.
Un ejemplo:
Una hora y 30 minutos son 1,50 en decimales.
1 * 60 + 30 = 90 minutos.
90 minutos dividido entre 60 = 1,50.
var_horas_dec = sy-uzeit(2) * 60 + sy-uzeit+2(2).
var_tiempo_decimal = var_horas_dec / 60.
Un saludo.
-
Me ha pasado el caso contrario... he tenido que pasar de formato decimal a horas.
Me he creado la siguiente función... aquí lo dejo por si le viene bien a alguien.
DATA: decimal TYPE abstd. " p_dec
DATA: horas TYPE uzeit. " p_time
FORM dec_to_time USING p_dec
p_time.
DATA: str1 TYPE string,
str2 TYPE string,
lf_text TYPE string.
MOVE p_dec TO lf_text.
SPLIT lf_text AT '.' INTO: str1 str2.
MOVE: str1 TO p_time(2).
p_time+2(2) = str2 * 6 / 10.
ENDFORM. " DEC_TO_TIME
;)