TABLES: t001w,adrc . DATA: date LIKE sy-datum, time LIKE sy-uzeit, tstamp LIKE tzonref-tstamps.
SELECT SINGLE * FROM t001w WHERE werks = '0001'. IF sy-subrc = 0. SELECT SINGLE * FROM adrc WHERE addrnumber = t001w-adrnr . "time_zone PERFORM date_to_timestamp USING '20080808' '080808' adrc-time_zone CHANGING tstamp. WRITE tstamp. ENDIF.
IF NOT tstamp IS INITIAL. PERFORM timestamp_to_date USING tstamp adrc-time_zone CHANGING date time. WRITE / : date,time . ENDIF.
*&---------------------------------------------------------------------* *& Form date_to_timestamp *&---------------------------------------------------------------------* * 日期+时间+时区 转变为 时间戳 *----------------------------------------------------------------------* FORM date_to_timestamp USING i_date LIKE sy-datum i_time LIKE sy-uzeit i_tzone LIKE tzonref-tzone CHANGING o_tstamp LIKE tzonref-tstamps . CONVERT DATE i_date TIME i_time INTO TIME STAMP o_tstamp TIME ZONE i_tzone. CASE sy-subrc. WHEN 8. MESSAGE e000(oo) WITH '时区错'. WHEN 12. MESSAGE e000(oo) WITH '时间戳错误'. WHEN OTHERS. ENDCASE. ENDFORM. "date_to_timestamp
*&---------------------------------------------------------------------* *& Form TIMESTAMP_TO_DATE *&---------------------------------------------------------------------* * 时间戳+时区 转变为 日期和时间 *----------------------------------------------------------------------* FORM timestamp_to_date USING i_tstamp LIKE tzonref-tstamps i_tzone LIKE tzonref-tzone CHANGING o_date LIKE sy-datum o_time LIKE sy-uzeit. DATA: w_tzone LIKE tzonref-tzone. w_tzone = i_tzone. CONVERT TIME STAMP i_tstamp TIME ZONE w_tzone INTO DATE o_date TIME o_time. CASE sy-subrc. WHEN 8. MESSAGE e000(oo) WITH '时区错'. WHEN 12. MESSAGE e000(oo) WITH '时间戳错误'. WHEN OTHERS. ENDCASE. ENDFORM. "TIMESTAMP_TO_DATE