1
votes

I have the following abap program that looks as following:

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.

Searching for vendors that name starts with:

enter image description here

I've got no results, but it exists vendors with this pattern.

2
Why you dont use IN?I.B.N.
Yeah it works. Thanks a lotsoftshipper
Just put the asterisks into seltab and use IN. That's it.Suncatcher

2 Answers

3
votes

It's not necessary to use LIKE. You can use IN instead.

I ran your code with IN in the SQL and I have results in the table.

enter image description here

-1
votes

You need to replace * with %, if you are using LIKE operand. 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.