Ayuda SAP

Función que valide si un dato es tipo hora en ABAP

Hola, nuevamente solicitando su ayuda; en esta oportunidad, quisiera saber si existe una función en ABAP que me ayude a validar si un dato es de tipo hora.

Agradezco su amable colaboración.

Hola @GUILLE1, puedes hacerlo usando este Modulo de Funciones: /OSP/VALIDATE_DATE_TIME

Sintaxis:

IMPORTING
*  VALUE(IV_START_DATE) TYPE
*    RSOSP_S_REPORT_SCHEDULING_INFO-START_DATE
  VALUE(IV_START_TIME) TYPE
    RSOSP_S_REPORT_SCHEDULING_INFO-START_TIME
EXPORTING
  VALUE(ET_RETURN) TYPE  BAPIRETTAB

Saludos!!

3 Me gusta

Gracias, voy a probar y le informo

Por cuestiones de tiempo no he logrado hacer una prueba y tampoco ser más especifico. Solicito excusas.

La situación concreta es:, tengo un parámetro que llena el usuario con una hora pero si el usuario llega a digitar mal ese dato como por ejemplo un texto en vez de un numero me genera un error en el programa por eso necesito validar que antes de enviarle la hora al programa yo este seguro que desde SAP consulte si ese dato que coloco el usuario si es un dato de hora.

Gracias,

busca un elemento de datos que sea tipo hora y declaralo como tal

3 Me gusta

Utilize.

2 Me gusta

Hola, probando la función en la transacción SE37, introduciendo la fecha tal como esta en la imagen

Retorna este error

No existe una función que solo valide hora?

Hola,

No conozco una funcion que haga especificamente eso, pero, por ejemplo, tenemos esta funcion que es para sumar tiempo a una fecha y hora determinada:

Sumamos una hora por ejemplo:

Entonces, si ejecutamos esta funcion con un formato no válido, devuelve error:

Espero que te sirva,
Sebastián

esa funcion comprueba que la fecha no esta en el pasado por eso te da error, si visualizas el codigo llama a una funcion convert_time_input prueba por ahi a ver

cuando una funcion nos devuelve algo que no esperamos conviene echar un ojo a lo que hace ya sea revisando código o debugenado, es solo un consejo :wink:

Hola,

Use la función CONVERT_TIME_INPUT que está dentro del Modulo de Funciones: /OSP/VALIDATE_DATE_TIME y hasta ahora me ha funcionado perfecto.

Saludos,

2 Me gusta

Genial, marca tu respuesta como solución asi se cierra el tema entonces.

Saludos!

Me alegro que te haya funcionado! :thumbsup:

Este tema se cerró automáticamente 91 días después del último post. No se permiten nuevas respuestas.