2006 Nov 13 7:16 PM
The program cancels with the following mistake in the select of the table EBAN:
Mistakes time execution: DBIF_RSQL_INVALID_RSQL
Exception: CX_SY_OPEN_SQL_DB
The SELECT is this:
SELECT *
FROM eban
INTO TABLE t_eban
WHERE ekgrp IN s_ekgrp AND
werks IN s_werks AND
ekorg IN s_ekorg AND
bsart IN s_bsart AND
banfn IN r_banfn AND
matnr IN s_matnr AND
matnr IN r_matnr AND
dispo IN s_dispo AND
ebeln IN s_ebeln AND
frgzu IN s_frgzu AND
statu IN s_statu AND
preis IN s_preis.
The Aim(Lens) is to modify the select extracting of the conditions the tables r_banfn and r_matnr, after the select to add the necessary thing to eliminate of the table t_eban the records that do not exist in the tables before mentioned.
Since I can do to eliminate these records?.
Thank you very much.
2006 Nov 13 7:45 PM
Hi Alejando,
Looks like the internal table T_EBAN declaration is causing this exception.
If you use SELECT *, the you have to declare all tables in the internal table like below.
DATA: BEGIN OF T_EBAN OCCURS 0.
INCLUDE STRUCTURE EBAN.
DATA: END OF T_EBAN.
Thanks
Ramakrishna
2006 Nov 13 7:45 PM
Hi Alejando,
Looks like the internal table T_EBAN declaration is causing this exception.
If you use SELECT *, the you have to declare all tables in the internal table like below.
DATA: BEGIN OF T_EBAN OCCURS 0.
INCLUDE STRUCTURE EBAN.
DATA: END OF T_EBAN.
Thanks
Ramakrishna
2006 Nov 13 7:53 PM
The problem may be that the SQL statement that you are executing is too large. This can happen if your are filling r_banfn and r_matnr programmatically. You put in too many entries and you get this error. You might check to see if you can use "FOR ALL ENTRIES" instead.
Rob
2006 Nov 13 7:58 PM