Comment faire pour convertir un horodatage UTC à la date et l'heure système en ABAP

quelqu'un d'entre vous avez des suggestions sur comment convertir un horodatage UTC dans la date et l'heure du fuseau horaire du système?

De la conversion à partir d'un horodatage UTC pour les utilisateurs de la zone de l'heure locale est facile, vous avez juste à faire:

CONVERT TIME STAMP lv_utc_timestamp TIME ZONE sy-zonlo
          INTO DATE lv_local_date TIME lv_local_time.

Mais comment faire pour que le système temps - système de temps est nécessaire dans de nombreuses situations, par exemple lors de l'appel de la JOB_CLOSE module de fonction. La seule solution que j'ai pour l'instant est comme ça:

SELECT SINGLE * FROM TTZCU INTO ls_ttzcu.
CONVERT TIME STAMP lv_utc_timestamp TIME ZONE ls_ttzcu-tzonesys
          INTO DATE lv_system_date TIME lv_system_time.

Est-ce déjà la meilleure solution ou peut le fuseau horaire du système d'être récupéré d'une autre manière?
Est-il toujours valide le fuseau horaire pour être attendus de l'entrée dans le tableau TTZCU? Des idées?

Mise à JOUR: @rmtiwari suggéré sur twitter, que le FLAGACTIVE drapeau de TTZCU doit également être contrôlé, de sorte que la déclaration modifiée serait

SELECT SINGLE * FROM TTZCU INTO ls_ttzcu WHERE flagactive = abap_true.
CONVERT TIME STAMP lv_utc_timestamp TIME ZONE ls_ttzcu-tzonesys
          INTO DATE lv_system_date TIME lv_system_time.

UPDATE2: j'ai trouvé un autre moyen, qui est probablement le meilleur:

    cl_abap_tstmp=>systemtstmp_utc2syst(
           EXPORTING  utc_tstmp = lv_utc_timestamp  
           IMPORTING  syst_date = lv_system_date    " System Date
                      syst_time = lv_system_time    " System Time
           ).
J'aime votre solution finale. Si il résolu votre problème, vous devez le copier dans une réponse. Après une couple de jours, vous serez en mesure de le signaler comme étant la bonne réponse.

OriginalL'auteur seso | 2012-04-03