MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Programación ABAP IV
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 15/06/12, 13:06:01
damlaplata damlaplata is offline
Member
 
Fecha de Ingreso: sep 2011
Mensajes: 41
Unhappy Error DBIF_RSQL_INVALID_RSQL CX_SY_OPEN_SQL_DB in program

Buen Dia Gente Sabia,
Les consulto a Uds por este error que me aparece.
Por la ST22 encontre que las causas podrian ser:
o The maximum size of an SQL statement was exceeded.
o The statement contains too many input variables.
o The input data requires more space than is available.
o ...

Y ademas me marca esta sentencia:
SELECT pep,acao,conta_debito,ccusto_debito,conta_credito,ccusto_cretito

FROM zistps_mtcd_acao

INTO TABLE tl_mtcd_acao

FOR ALL ENTRIES IN tl_perc_fae

WHERE pep IN rl_pep_ran

AND acao EQ tl_perc_fae-acao.

Yo pienso que podria ser la primera causa, ademas me fije los datos y tengo:

-La tabla Z 'zistps_mtcd_acao' tiene 258 records

-La tabla interna 'tl_perc_fae' tiene 57.

-Pero, el 'Range' rl_pep_ran' tiene 5747 records. Con lo cual la comparacion con este se hace tremenda.
Mi primera forma de encararlo es separar la sentencia where. Primero tomo por rl_pep_ran y luego filtro la tabla resultado 'tl_mtcd_acao' por tl_perc_fae-acao.

Que les parece? no se si funcionaria....eso lo mas choto porque no tengo caso con las misma cantidad de datos.
A alguien le paso esto? como lo soluciono?

Desde antemano muchas gracias por la ayuda.

Un saludo Genial.
Responder Con Cita
  #2  
Viejo 15/06/12, 15:18:52
calin calin is offline
Member
 
Fecha de Ingreso: jul 2011
Mensajes: 52
Hola damlaplata,

Revisa que el rango rl_pep_ran no tenga registros repetidos y la tabla interna tl_perc_fae no tenga registros con el mismo valor en el campo acao.

Saludos.
Responder Con Cita
  #3  
Viejo 15/06/12, 20:15:41
damlaplata damlaplata is offline
Member
 
Fecha de Ingreso: sep 2011
Mensajes: 41

eso lo hago. Igual me queda con una gran cantidad rl_pep_ran. Gracias por responder.

Ahora estoy viendo si funciona la idea que propuse..
Responder Con Cita
  #4  
Viejo 16/06/12, 04:08:35
calin calin is offline
Member
 
Fecha de Ingreso: jul 2011
Mensajes: 52
Podrias probar la siguientes opciones:

1) Construir el rango r_acao para el campo acao.

SELECT pep,acao,conta_debito,ccusto_debito,conta_credito, ccusto_cretito

FROM zistps_mtcd_acao

INTO TABLE tl_mtcd_acao.

SORT tl_mtcd_acao BY pep acao.

DELETE tl_mtcd_acao
where NOT pep IN rl_pep_ran or NOT acao IN r_acao.

2) Construir el rango r_acao para el campo acao.

Construir la tabla interna t_pep sólo con los valores de pep.

SELECT pep,acao,conta_debito,ccusto_debito,conta_credito, ccusto_cretito

FROM zistps_mtcd_acao

INTO TABLE tl_mtcd_acao.

SORT tl_mtcd_acao by acao

DELETE tl_mtcd_acao
NOT acao IN r_acao.

SORT t_pep by pep.

SORT tl_mtcd_acao BY pep.

LOOP at tl_mtcd_acao.

READ TABLE t_pep
WITH KEY pep = tl_mtcd_acao-pep
BINARY SEARCH
TRANSPORTING NO FIELDS.

IF sy-sybrc NE 0.
DELETE tl_mtcd_acao
WHERE pep EQ tl_mtcd_acao-pep.
CONTINUE.
ENDIF.

ENDLOOP.

Nota: El uso de SELECT sin clausula WHERE no es recomendable si aumenta significativamente el número de registros de la tabla zistps_mtcd_acao.

Saludos.
Responder Con Cita
  #5  
Viejo 19/06/12, 13:24:27
Avatar de DCErick
DCErick DCErick is offline
Moderator
 
Fecha de Ingreso: mar 2006
Localización: Monterrey
Mensajes: 1,090
Verifica que la tabla interna tl_mtcd_acao tenga los campos
pep,acao,conta_debito,ccusto_debito,conta_credito, ccusto_cretito en ese mismo orden, que no le falte ninguno. Si le sobran no hay problema siempre y cuando estén al final.
__________________
-------------------
¿Dudas para descargar manuales? Ver este tema ->
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 19:32:46.


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