ABAP OpenSQL 中的文字?
Literals in ABAP OpenSQL?
in SQL 通常可以在 select 语句中使用文字,例如像这样
SELECT 'I', 'EQ', table.alev_uuid
FROM table
是否有机会在 ABAP SQL 查询中执行此操作?
到目前为止我试过的是:
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 标准那样工作。有人有什么建议吗?
在 ABAP SQL 中,可以通过以下方式在 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.
以上示例 return 来自 T001w 的 table 条目,其中 name1 字段值以 ST。
从 ABAP 7.5* 开始,您可以使用 Host Variables 来实现您的要求。
请将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 的更新,
您也可以直接在 OPEN SQL 中使用常量。
select 'I', 'EQ', bukrs from t001 into table @lr_t_bukrs up to 10 rows.
in SQL 通常可以在 select 语句中使用文字,例如像这样
SELECT 'I', 'EQ', table.alev_uuid
FROM table
是否有机会在 ABAP SQL 查询中执行此操作?
到目前为止我试过的是:
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 标准那样工作。有人有什么建议吗?
在 ABAP SQL 中,可以通过以下方式在 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.
以上示例 return 来自 T001w 的 table 条目,其中 name1 字段值以 ST。
从 ABAP 7.5* 开始,您可以使用 Host Variables 来实现您的要求。
请将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 的更新,
您也可以直接在 OPEN SQL 中使用常量。
select 'I', 'EQ', bukrs from t001 into table @lr_t_bukrs up to 10 rows.