Definition
class-methods EDM_DATETIME_ETAG_TO_TSTMP
importing
!IV_ETAG type STRING
returning
value(RV_TIMESTAMP) type TIMESTAMP .
Implementation
METHOD edm_datetime_etag_to_tstmp.
DATA: lv_edm_datetime TYPE string,
lv_date TYPE dats,
lv_time TYPE tims,
lv_year TYPE n LENGTH 4,
lv_month TYPE n LENGTH 2,
lv_day TYPE n LENGTH 2,
lv_hour TYPE n LENGTH 2,
lv_minute TYPE n LENGTH 2,
lv_second TYPE n LENGTH 2.
lv_edm_datetime = cl_http_utility=>unescape_url( iv_etag ).
lv_edm_datetime = substring_after( val = lv_edm_datetime sub = |W/"datetime'| ).
lv_edm_datetime = substring_before( val = lv_edm_datetime sub = |'"| ).
" Extract year, month, and day components
lv_year = lv_edm_datetime+0(4).
lv_month = lv_edm_datetime+5(2).
lv_day = lv_edm_datetime+8(2).
" Combine into an ABAP date
lv_date = lv_year && lv_month && lv_day.
" Extract hour, minute, and second components (if needed for timestamp)
lv_hour = lv_edm_datetime+11(2).
lv_minute = lv_edm_datetime+14(2).
lv_second = lv_edm_datetime+17(2).
" Combine into an ABAP time
lv_time = lv_hour && lv_minute && lv_second.
rv_timestamp = lv_date && lv_time.
ENDMETHOD.