cancel
Showing results for 
Search instead for 
Did you mean: 

ABAP 语法中用中文作为模糊查询的问题请教

Former Member
0 Kudos

在对供应商名称LFA1~NAME1字段用中文进行模糊查询,比如输入:,但是供应商名称中不含u201C欣u201D字的也会出来,这是为什么呢?

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

我测了下,没有问题啊,把你的源代码贴出来吧

Former Member
0 Kudos

我是想中文是不是转换成ASCII码之类的进行模糊查询,不知道这个机制是怎么样的

程序没有问题,我把不含u201C欣u201D这个供应商名称重新输入一遍,再查询就不会出来。

Former Member
0 Kudos

还是把你的源代码贴出来吧,要不然说不清楚

Former Member
0 Kudos

我真觉得跟程序没有关系,但贴就贴吧:

1、选择屏幕:SELECT-OPTIONS:S_NAME1 FOR LFA1-NAME1 .

2、SQL语句:

SELECT ANAME1 ASORTL AORT01 APSTLZ ASTRAS ATELF1 ATELFX ATELF2 A~KTOKK

ALAND1 AADRNR ALOEVM ASPERR ASPERM ASPERQ ANODEL BZUAWA AERNAM AERDAT

BSPERR AS SPERR_B BLOEVM AS LOEVM_B BNODEL AS NODEL_B BAKONT B~ZTERM AS ZTERM_B

CEKORG CEKGRP CLIFNR CWAERS CZTERM AS ZTERM_M CINCO1 CSPERM AS SPERM_M CLOEVM

CINCO2 CWEBRE C~BSTAE

INTO CORRESPONDING FIELDS OF TABLE IT_PRINT_001

FROM LFA1 AS A JOIN LFM1 AS C

ON ALIFNR = CLIFNR

JOIN LFB1 AS B ON CLIFNR = BLIFNR AND CEKORG = BBUKRS

WHERE A~NAME1 IN S_NAME1

......

我没有在程序里面去写模糊查询 LIKE '%欣%',就是很平常的多值的情况下的模糊查询,由用户自己输入的查询而已

Edited by: MingZhi Xie on Jul 15, 2009 4:27 AM

Former Member
0 Kudos

REPORT ZTESTLFA1 .

TABLES: LFA1.

SELECT-OPTIONS:S_NAME1 FOR LFA1-NAME1.

SELECT *

FROM LFA1 AS A

WHERE A~NAME1 IN S_NAME1.

WRITE: / LFA1-NAME1.

ENDSELECT.

我做了个这样的测试,没有问题啊

Answers (1)

Answers (1)

Former Member
0 Kudos

在OPEN SQL中, 模糊查询采用%欣%的形式查询,

如果使用range table的话,可以用 来作查询条件