Abap 当VBELN查询时,SELECT不返回行
我试图从一个内部表中显示alv中的表,其中的行是从存储在数据库中的表中添加的。如果没有where条件,我会看到alv中显示的行,但如果select语句中有where条件,则不会返回任何行 代码如下:Abap 当VBELN查询时,SELECT不返回行,abap,opensql,Abap,Opensql,我试图从一个内部表中显示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 Ta
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.
报告ZSAM。
数据:它是VBAK的1型标准表。
选择vbeln audat netwr waerk vkorg vtweg
来自VBAK
进入表IT_1的相应字段
其中vbeln>4500
vbeln<6000。
知道为什么使用where条件使其不返回任何行以及如何修复吗?vbeln是一个具有十个位置的字段,并使用
ALPHA
转换例程(请参见数据元素后面的域)。这意味着该值用前导零填充(只要它只包含数字)。由于这是一个字符类型字段,您还必须使用撇号进行比较。因此,其中
条件必须如下:
WHERE vbeln GT '0000004500'
AND vbeln LT '0000006000'
你可以尝试使用范围 首次使用强> 数据:r_vbeln类型vbeln的范围 数据:r_vbeln的s_vbeln样线 s_vbeln-option='BT' svbeln-sign='I' s_vbeln-low='000000 4501' s_vbeln-high='0000005999' 将s_vbeln附加到r_vbeln 选择条件;其中vbeln在ru vbeln中 第二次使用强> 数据:r_vbeln类型vbeln的范围 数据:r_vbeln的s_vbeln样线 s_vbeln-option='GT' svbeln-sign='I' s_vbeln-low='0000004500' 将s_vbeln附加到r_vbeln s_vbeln-option='LT' svbeln-sign='I' s_vbeln-low='0000006000' 将s_vbeln附加到r_vbeln
选择条件;在r_vbeln.中,请将您的问题减少到最小问题。如果您在第一次
选择后立即进行调试,您将看到IT_1
是空的,因此问题不在于ALV,您不需要显示关于ALV的代码(根本不需要谈论ALV)。耶,我认为现在更好了,无法理解为什么不返回或追加行,谢谢。我再次减少了代码,因为SELECT结果的输出与问题无关。虽然这可能是OP问题的答案,但只有代码的答案在StackOverflow上。请考虑对所提供的代码添加一些解释,因为它对OP和未来访问者都有好处。