当 VBELN 查询时,SELECT 没有 return 行
SELECT does not return rows when queried by VBELN
我正在尝试从内部 table 在 alv 中显示 table,其中行是从存储在数据库中的 table 添加的。如果没有 where 条件,我会在 alv 中看到行,但在 select 语句中有 where 条件时,没有行被 returned.
代码如下:
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 条件使得它没有 return 任何行吗?如何解决?
vbeln 是一个有十个位置的字段,并使用 ALPHA
转换例程(请参阅数据元素后面的域)。这意味着该值用前导零填充(只要它只包含数字)。由于这是一个字符类型字段,您还必须使用撇号进行比较。所以,WHERE
条件必须是这样的:
WHERE vbeln GT '0000004500'
AND vbeln LT '0000006000'
你可以尝试使用范围;
首次使用;
数据:r_vbeln vbeln 的类型范围。
数据:s_vbeln LIKE 行 r_vbeln.
s_vbeln-选项='BT'.
s_vbeln-符号='I'.
s_vbeln-low = '0000004501'.
s_vbeln-high = '0000005999'.
将 s_vbeln 附加到 r_vbeln。
SELECT条件; vbeln 在 r_vbeln.
第二次使用;
数据:r_vbeln vbeln 的类型范围。
数据:s_vbeln LIKE 行 r_vbeln.
s_vbeln-选项='GT'.
s_vbeln-符号='I'.
s_vbeln-low = '0000004500'.
将 s_vbeln 附加到 r_vbeln。
s_vbeln-选项='LT'.
s_vbeln-符号='I'.
s_vbeln-low = '0000006000'.
将 s_vbeln 附加到 r_vbeln。
SELECT条件; vbeln 在 r_vbeln.
我正在尝试从内部 table 在 alv 中显示 table,其中行是从存储在数据库中的 table 添加的。如果没有 where 条件,我会在 alv 中看到行,但在 select 语句中有 where 条件时,没有行被 returned.
代码如下:
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 条件使得它没有 return 任何行吗?如何解决?
vbeln 是一个有十个位置的字段,并使用 ALPHA
转换例程(请参阅数据元素后面的域)。这意味着该值用前导零填充(只要它只包含数字)。由于这是一个字符类型字段,您还必须使用撇号进行比较。所以,WHERE
条件必须是这样的:
WHERE vbeln GT '0000004500'
AND vbeln LT '0000006000'
你可以尝试使用范围;
首次使用;
数据:r_vbeln vbeln 的类型范围。
数据:s_vbeln LIKE 行 r_vbeln.
s_vbeln-选项='BT'.
s_vbeln-符号='I'.
s_vbeln-low = '0000004501'.
s_vbeln-high = '0000005999'.
将 s_vbeln 附加到 r_vbeln。
SELECT条件; vbeln 在 r_vbeln.
第二次使用;
数据:r_vbeln vbeln 的类型范围。
数据:s_vbeln LIKE 行 r_vbeln.
s_vbeln-选项='GT'.
s_vbeln-符号='I'.
s_vbeln-low = '0000004500'.
将 s_vbeln 附加到 r_vbeln。
s_vbeln-选项='LT'.
s_vbeln-符号='I'.
s_vbeln-low = '0000006000'.
将 s_vbeln 附加到 r_vbeln。
SELECT条件; vbeln 在 r_vbeln.