带有 select 选项的 ABAP LIKE
ABAP LIKE with select option
我有如下所示的 abap 程序:
TABLES lfa1.
DATA gt_lfa1 TYPE SORTED TABLE OF lfa1 WITH UNIQUE DEFAULT KEY.
SELECT-OPTIONS sl_lifnr FOR lfa1-lifnr.
SELECT-OPTIONS sl_name FOR lfa1-name1.
START-OF-SELECTION.
SELECT * FROM lfa1
INTO CORRESPONDING FIELDS OF TABLE gt_lfa1
WHERE lifnr IN sl_lifnr
AND name1 LIKE sl_name.
正在搜索名称以以下开头的供应商:
我没有得到任何结果,但存在具有这种模式的供应商。
如果您使用 LIKE 操作数,则需要将 * 替换为 %。 https://help.sap.com/doc/abapdocu_750_index_htm/7.50/de-DE/abenwhere_logexp_like.htm
REPLACE ALL OCCURENCES OF '*' in sl_lifnr WITH '%'
REPLACE ALL OCCURENCES OF '*' in sl_name WITH '%'
SELECT * FROM lfa1
INTO CORRESPONDING FIELDS OF TABLE gt_lfa1
WHERE lifnr LIKE sl_lifnr
AND name1 LIKE sl_name.
没有必要使用LIKE
。您可以改用 IN
。
我 运行 你的代码 IN
在 SQL 中,结果在 table.
如果您使用 select 选项,您必须使用语句 IN not like:
s_matnr = *3578 *
select options s_matnr type mara-matnr.
select bismt
from mara
into lv_bismt
where matnr in s_matnr
如果你使用s/4hana你甚至可以使用模糊
我有如下所示的 abap 程序:
TABLES lfa1.
DATA gt_lfa1 TYPE SORTED TABLE OF lfa1 WITH UNIQUE DEFAULT KEY.
SELECT-OPTIONS sl_lifnr FOR lfa1-lifnr.
SELECT-OPTIONS sl_name FOR lfa1-name1.
START-OF-SELECTION.
SELECT * FROM lfa1
INTO CORRESPONDING FIELDS OF TABLE gt_lfa1
WHERE lifnr IN sl_lifnr
AND name1 LIKE sl_name.
正在搜索名称以以下开头的供应商:
我没有得到任何结果,但存在具有这种模式的供应商。
如果您使用 LIKE 操作数,则需要将 * 替换为 %。 https://help.sap.com/doc/abapdocu_750_index_htm/7.50/de-DE/abenwhere_logexp_like.htm
REPLACE ALL OCCURENCES OF '*' in sl_lifnr WITH '%'
REPLACE ALL OCCURENCES OF '*' in sl_name WITH '%'
SELECT * FROM lfa1
INTO CORRESPONDING FIELDS OF TABLE gt_lfa1
WHERE lifnr LIKE sl_lifnr
AND name1 LIKE sl_name.
没有必要使用LIKE
。您可以改用 IN
。
我 运行 你的代码 IN
在 SQL 中,结果在 table.
如果您使用 select 选项,您必须使用语句 IN not like:
s_matnr = *3578 *
select options s_matnr type mara-matnr.
select bismt
from mara
into lv_bismt
where matnr in s_matnr
如果你使用s/4hana你甚至可以使用模糊