带有 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你甚至可以使用模糊