与DEC和sy-datum的日期比较

时间:2014-09-19 12:02:40

标签: abap

我正在尝试与sy-datum进行日期比较,但是,它不起作用。我总是得到一个空洞的结果:

SELECT *
FROM CRMM_TERRITORY_V AS terr
INTO CORRESPONDING FIELDS OF TABLE ln_terr
WHERE sy-datum BETWEEN terr~VALID_FROM AND terr~VALID_TO.

数据类型为DEC,因此,似乎无法直接比较。 有任何想法吗?提前谢谢!

2 个答案:

答案 0 :(得分:1)

CRM_TERRITORY_V没有名为sy-datum的列,请尝试:

SELECT *
FROM CRMM_TERRITORY_V AS terr
INTO CORRESPONDING FIELDS OF TABLE ln_terr
WHERE terr~VALID_FROM LE sy-datum
  AND terr~VALID_TO   GE sy-datum.

答案 1 :(得分:0)

由于有效日期在内部存储为DEC,因此似乎无法直接比较。我的解决方案是执行日期时间转换,然后以外部格式进行比较,例如:

CONVERT TIME STAMP terr-VALID_FROM TIME ZONE 'UTC' INTO DATE l_date_from.