Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7203032
  • 博文数量: 655
  • 博客积分: 10264
  • 博客等级: 上将
  • 技术积分: 8278
  • 用 户 组: 普通用户
  • 注册时间: 2007-06-04 17:47
个人简介

ABAP顾问

文章分类

全部博文(655)

文章存档

2017年(2)

2014年(8)

2013年(3)

2012年(2)

2011年(18)

2010年(102)

2009年(137)

2008年(274)

2007年(134)

分类:

2008-10-09 16:39:24

REPORT  z_barry_test.
 
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
阅读(10578) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~