MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Error DBIF_RSQL_INVALID_RSQL. (foro/showthread.php?t=5186)

DCErick 02/05/07 23:06:15

Error DBIF_RSQL_INVALID_RSQL.
 
Hola..

estoy tratando de ejecutar la siguiente linea de codigo y no me anda...


Me marca el siguiente error :

Err.tmpo.ejec. DBIF_RSQL_INVALID_RSQL
Excep. CX_SY_OPEN_SQL_DB
Fecha y hora 02.05.2007 16:47:47



Txt.brv.
Error in RSQL module of database interface.

Anál.errores :

An exception occurred. This exception is dealt with in more detail below. The exception, which is assigned to the class 'CX_SY_OPEN_SQL_DB', was neither caught nor passed along using a RAISING clause, in the procedure "GET_DATOS" "(FORM)".


The reason for the exception is:
The SQL statement generated from the SAP Open SQL Statement violates a restriction imposed by the database system used in R/3.

Possible errors:
o The maximum size of an SQL statement has been exceeded.
o The statement contains too many input variables.
o The space needed for the input data exceeds the available memory.
o ...

En el parametro s_matnr que es un rango estoy metiendo 4,372 materiales los cuales quiero consultar.

Estos los meto mediante la opcion de Seleccion Multiple y subiendo un archivo TXT con las entradas...

A lo que veo es por algo de memoria de SAP permitada en las consultas SQL, pero no estoy muy seguro...

Que opinan?....

tracer 03/05/07 09:16:20

Hola DCErick,

Efectivamente, ya te has contestado tu a la pregunta :D , la sentencia SQL esta consumiendo demasiada memoria por la gran cantidad de datos que tiene que procesar, prueba a partir el select en varias consultas, una para cada tabla guardando el resultado en tablas internas en lugar de hacer un inner join.

Un saludo, ya nos contaras que tal te fué ;) .

ballan 03/05/07 09:59:25

Has pensado en quitar la linea AND t~spras = sy-langu en la clausula ON del INNER JOIN y ponerla en la clausula WHERE?

gabideas 06/08/10 00:47:00

Inner join
 
Tengo este codigo y en tiempo de ejecucion me tira error de rsql Nro 23 y que no puede acceder a la sflight;
ahi va el codigo:
TYPES: BEGIN OF gs_vuelos,
carrid TYPE sflight-carrid,
fldate TYPE sflight-fldate,
price TYPE sflight-price,
money TYPE sflight-currency,
planetype TYPE sflight-planetype,
cityfrom TYPE spfli-cityfrom,
cityto TYPE spfli-cityto,

END OF gs_vuelos.

TYPES: BEGIN OF gs_vuelos1,
cityfrom TYPE spfli-cityfrom,
cityto TYPE spfli-cityto,
END OF gs_vuelos1.


TYPES: gt_tvuelos TYPE STANDARD TABLE OF gs_vuelos,
gt_vuelos1 TYPE STANDARD TABLE OF gs_vuelos1.

DATA: gt_vuelos TYPE gt_tvuelos,
gw_vuelos TYPE gs_vuelos,
gt_vuelos1 TYPE gt_vuelos1,
gw_vuelos1 TYPE gs_vuelos1,
l_total TYPE sflight-price.

SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME.
PARAMETERS: p_carrid TYPE sflight-carrid.
SELECT-OPTIONS: s_date FOR sflight-fldate,
s_price FOR sflight-price.
SELECTION-SCREEN END OF BLOCK blk1.

SELECTION-SCREEN BEGIN OF BLOCK blk2 WITH FRAME.
PARAMETERS: p_write RADIOBUTTON GROUP a,
p_alv RADIOBUTTON GROUP a.
SELECTION-SCREEN END OF BLOCK blk2.


START-OF-SELECTION.

SELECT sflight~fldate sflight~price sflight~currency
sflight~planetype spfli~cityfrom spfli~cityto
FROM sflight INNER JOIN spfli ON sflight~carrid = spfli~carrid
AND sflight~connid = spfli~connid
INTO TABLE gt_vuelos
WHERE fldate IN s_date AND price IN s_price.

Bueno esto es parte del programa en lo referente al select ¿QUE ESTÁ MALLL?? POR FAVOR NECESITO RESPUESTAS! gRACIAAASSS....!

calanis 06/08/10 05:05:09

Hola

DCErick, si efectivamente el problema radica en el Select Option de material(s_matnr), ya que SAP al traducir la sentecia SQL empieza a desglosarlo como una concatenación de OR's.

Podes restringirlo por un tamaño aceptado (chunks) de información.


Gaideas, fijate si esto te anda no tengo acceso a SAP como para probarlo ;).



Husos Horarios son GMT. La hora en este momento es 16:25:07.

www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web