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
).
OriginalL'auteur seso | 2012-04-03
Vous devez vous connecter pour publier un commentaire.
Le meilleur moyen semble être:
OriginalL'auteur seso