在SQL中,通常可以在select语句中使用文字,例如
SELECT 'I', 'EQ', table.alev_uuid
FROM table在ABAP查询中有机会这样做吗?
到目前为止,我尝试的是:
DATA lt_aldf TYPE RANGE OF cam_pw_stat-alev_uuid .
DATA lv_i type string value 'I'.
DATA lv_eq type string value 'EQ'.
SELECT lv_i lv_eq alev~alev_uuid
FROM cam_tool AS tool INNER JOIN
cam_alev AS alev ON tool~tool_uuid = alev~tool_uuid
INTO TABLE lt_aldf
WHERE tool_access = /a1sspc/if_cam_tool=>gc_tool_definition-hdb-class AND
tool~active = abap_true AND
alev~active = abap_true.但它的工作方式与通常的SQL标准不同。有人有什么建议吗?
发布于 2017-12-22 13:20:07
从ABAP7.5*开始,您可以使用主机变量来实现您的需求。
请将lv_i和lv_eq定义为Char类型。
data lv_i type char1 value 'I'.
data lv_eq type char2 value 'EQ'.通过从T001中选择,我尝试了自己的方法。它工作得很完美。
data:
lr_t_bukrs type range of bukrs.
select @lv_i, @lv_eq, bukrs from t001 into table @lr_t_bukrs up to 10 rows.@Jagger更新,
还可以直接在开放SQL中使用常量。
select 'I', 'EQ', bukrs from t001 into table @lr_t_bukrs up to 10 rows.发布于 2017-12-22 12:56:32
在ABAP中,可以通过以下方式在SELECT查询中使用字符串文字。
DATA : li_t001w TYPE STANDARD TABLE OF t001w.
DATA : lv_name TYPE name1 VALUE 'ST%'.
SELECT *
FROM t001w
INTO TABLE li_t001w
WHERE name1 like lv_name.上面的示例将从T001w返回表条目,其中name1字段值以ST开头。
https://stackoverflow.com/questions/47939180
复制相似问题