逻辑表达式不正确:Comparison / SELECT-OPTION只能跟在“ AND”,“ OR”或“)”之后

时间:2019-08-16 13:46:21

标签: if-statement sap abap

我正在编写一个想法所在的程序,如果用户给定的日期在2个固定日期之间,则它应执行以下代码。

但是我收到此语法错误消息:

  

不正确的逻辑表达式:在“ Comparison / SELECT-OPTION”之后只能加上“ AND”,“ OR”或“)”

代码:

SELECT-OPTIONS sdate FOR sy-datum DEFAULT '20190816'.

CONSTANTS: date1 TYPE d VALUE '20190101',
           date2 TYPE d VALUE '20191231'.
IF sdate BETWEEN date1 AND date2. " <=== syntax error here
  " do something
ENDIF.

1 个答案:

答案 0 :(得分:3)

您正在使用SELECT-OPTIONS,它不表示一个日期。这是包含多个日期甚至日期间隔的范围/表。因此,无法整体比较。您可以在调试器中查看它的外观,也许这样会使它更加清晰。

由于只希望用户输入一个输入日期,因此应使用PARAMETERS

因此,您不必像这样使用SELECT-OPTIONS,而要使用PARAMETERS

DATA: date1 TYPE d VALUE '20190101',
      date2 TYPE d VALUE '20191231'.

PARAMETERS input_d TYPE d.

IF input_d BETWEEN date1 AND date2.
  "do something
ENDIF.