Existen muchas funciones para sumar horas a fechas en ABAP, pero siempre requieren que las horas a sumar esten en formato HHMMSS, pero ¿que pasa si lo que quieres es sumar 1.354 horas? y no tienes el dato en formato HHMMSS, recientemente necesitaba hacer esto y encontré una solución muy practica.
"Declarar una variable de tipo t data: hora_t type t, horas_sumar type p length 4 decimals 3 . "Cantidad de horas a sumar horas_sumar = '1.25'. "Esto hara el truco, y tendremos algo asi: 011500 "en formato HHMMSS, una hora con 15 minutos hora_t = horas_sumar * 3600.
Ahora si lo que queremos es sumar esas horas a una fecha, podemos usar el siguiente código
"Declarar una variable de tipo t DATA: hora_t TYPE t, horas_sumar TYPE p LENGTH 4 DECIMALS 3, hora TYPE t, fecha TYPE d . "Cantidad de horas a sumar horas_sumar = '1.25'. "Esto hara el truco, y tendremos algo asi: 011500 "en formato HHMMSS hora_t = horas_sumar * 3600. "ahora podemos utilizar las demas f CALL FUNCTION 'C14B_ADD_TIME' EXPORTING i_starttime = sy-timlo "o la hora que deseemos i_startdate = sy-datum "o la fecha que deseemos i_addtime = hora_t IMPORTING e_endtime = hora "Nueva hora, despues de sumar 1.25 e_enddate = fecha. "Nueva fecha, puede se que corra al siguiente dia
Sumar fracciones de hora en un campo fecha
Tío veo tu post y me doy cuenta de lo menso que soy, no se por que no se me habia ocurrido algo asi. Saludos desde Lima, Perú
Me alegra que te haya gustado