SELECT 在由 VBELN 查询时不返回行



我正在尝试从内部表的 alv 中显示表,其中行是从存储在数据库中的表中添加的。如果没有 where 条件,我看到行显示在 alv 中,但在 select 语句中带有 where 条件,不会返回任何行。

这是代码:

REPORT  ZSAM.
DATA: IT_1 TYPE STANDARD TABLE OF VBAK.
select vbeln audat netwr waerk vkorg vtweg 
    from VBAK 
    into corresponding fields of Table IT_1 
    where vbeln > 4500 
      and vbeln < 6000.

知道为什么使用 where 条件使其不返回任何行以及如何修复吗?

> vbeln 是一个具有十个位置的字段,并使用ALPHA转换例程(请参阅数据元素后面的域(。这意味着该值由前导零填充(只要它只包含数字(。由于这是一个字符类型字段,因此您还必须使用撇号进行比较。因此,WHERE条件必须如下所示:

WHERE vbeln GT '0000004500'
  AND vbeln LT '0000006000'

您可以尝试使用范围;

首次使用;

数据:r_vbeln VBELN 的类型范围。

数据:s_vbeln像r_vbeln线。

s_vbeln选项="BT"。

s_vbeln符号="I"。

s_vbeln低 = '0000004501'。

s_vbeln高='0000005999'。

将s_vbeln追加到r_vbeln。

选择条件;其中 VBELN 在r_vbeln。

第二次使用;

数据:r_vbeln VBELN 的类型范围。

数据:s_vbeln像r_vbeln线。

s_vbeln选项="GT"。

s_vbeln符号="I"。

s_vbeln低 = '0000004500'。

将s_vbeln追加到r_vbeln。

s_vbeln选项="LT"。

s_vbeln符号="I"。

s_vbeln低='0000006000'。

将s_vbeln追加到r_vbeln。

选择条件;其中 VBELN 在r_vbeln。

相关内容

  • 没有找到相关文章

最新更新