Para poder pasar de UTC a fecha, hora y huso y viceversa podemos servirnos de guía de este código que he extraido de la clase de SAP cl_appointment. Prueba con este código.
Programa de ejemplo.
DATA: l_tst TYPE xsddatetime_z, "LIKE scappt-tst_from,
l_zone TYPE tznzone, "LIKE scappt-zone_from,
l_date TYPE datum, "LIKE scappt-date_from,
l_time TYPE sytime. "LIKE scappt-time_from.
CLEAR: l_tst, l_zone, l_date, l_time.
*
GET TIME STAMP FIELD l_tst.
l_zone = 'CET'."No es necesario si nos viene ya dentro del l_tst y nos lo resolvería el convert time.
*
WRITE: / 'UTC->fecha, hora, huso'.
*
CONVERT TIME STAMP l_tst
TIME ZONE l_zone
INTO DATE l_date
TIME l_time.
*
WRITE: / 'TIME STAMP ', l_tst.
*
WRITE: / 'ZONE ', l_zone.
WRITE: / 'DATE ', l_date.
WRITE: / 'TIME ', l_time.
*
WRITE: /.
WRITE: / 'fecha, hora, huso->UTC'.
*
CLEAR: l_tst, l_zone, l_date, l_time.
*
l_date = sy-datum.
l_time = sy-uzeit.
l_zone = SY-ZONLO.
*
CONVERT DATE l_date
TIME l_time
INTO TIME STAMP l_tst
TIME ZONE l_zone.
*
WRITE: / 'ZONE ', l_zone.
WRITE: / 'DATE ', l_date.
WRITE: / 'TIME ', l_time.
*
WRITE: / 'TIME STAMP ', l_tst.
*
l_zone TYPE tznzone, "LIKE scappt-zone_from,
l_date TYPE datum, "LIKE scappt-date_from,
l_time TYPE sytime. "LIKE scappt-time_from.
CLEAR: l_tst, l_zone, l_date, l_time.
*
GET TIME STAMP FIELD l_tst.
l_zone = 'CET'."No es necesario si nos viene ya dentro del l_tst y nos lo resolvería el convert time.
*
WRITE: / 'UTC->fecha, hora, huso'.
*
CONVERT TIME STAMP l_tst
TIME ZONE l_zone
INTO DATE l_date
TIME l_time.
*
WRITE: / 'TIME STAMP ', l_tst.
*
WRITE: / 'ZONE ', l_zone.
WRITE: / 'DATE ', l_date.
WRITE: / 'TIME ', l_time.
*
WRITE: /.
WRITE: / 'fecha, hora, huso->UTC'.
*
CLEAR: l_tst, l_zone, l_date, l_time.
*
l_date = sy-datum.
l_time = sy-uzeit.
l_zone = SY-ZONLO.
*
CONVERT DATE l_date
TIME l_time
INTO TIME STAMP l_tst
TIME ZONE l_zone.
*
WRITE: / 'ZONE ', l_zone.
WRITE: / 'DATE ', l_date.
WRITE: / 'TIME ', l_time.
*
WRITE: / 'TIME STAMP ', l_tst.
*
fue de gran ayuda muchas gracias
ResponderEliminarMe ayudo a resolver un problema con una interfaz ... muchas gracias!
ResponderEliminarMe alegra mucho
Eliminar