PDA

Ver la Versión Completa : DUMP en un Select a una vista


nievesmp
28/08/12, 11:26:23
Hola,

Hay un programa ya creado con este select que da un DUMP:

SELECT SINGLE tplnr
FROM v_equi_iflos
INTO gv_tplnr
WHERE equnr EQ p_equnr.
* AND datbi EQ '99991231'. (He probado quitarle este filtro pero sigue el dump)


En el que v_equi_iflos es una vista.


Por lo visto este programa nunca había dado problemas, y el select funcionaba, nunca me había encontrado con un select a una vista. Da el dump a partir de un cambio de versión de SAP.


El DUMP:
Error in module RSQL of the database interface

En el análisis del Dump dice:
The SAP-internal database was called without a list of field
descriptions or the list was invalid (parameter "bfldlist_p").
With the exception of the SELECT field list, this list describes all
database fields in an SAP Open SQL statement.

Tiene alguien idea de porque puede estar ocurriendo? Muchas gracias de antemano!!!

nievesmp
28/08/12, 13:39:44
Al final he desistido de utilizar la vista,

Estoy intentando extraer el campo mediante select join:

SELECT SINGLE d~tplnr
INTO gv_tplnr
FROM ILOA
INNER JOIN EQUI
inner join EQUZ
inner join EQKT
inner join IFLOS
ON EQUI~MANDT EQ EQUZ~MANDT
AND EQUI~EQUNR EQ EQUZ~EQUNR
AND EQUI~MANDT EQ EQKT~MANDT
AND EQUI~EQUNR EQ EQKT~EQUNR
AND ILOA~MANDT EQ EQUZ~MANDT
AND ILOA~ILOAN EQ EQUZ~ILOAN
AND IFLOS~MANDT EQ ILOA~MANDT
AND IFLOS~TPLNR EQ ILOA~TPLNR
WHERE EQUI~equnr EQ p_equnr
AND EQUZ~datbi = '99991231'.

Pero me da error de sintaxis!!!!!

No logro ver como relacionar todas esas tablas en un select.

La vista tiene esta relación de tablas:

EQUI MANDT = EQUZ MANDT
EQUI EQUNR = EQUZ EQUNR
EQUI MANDT = EQKT MANDT
EQUI EQUNR = EQKT EQUNR
ILOA MANDT = EQUZ MANDT
ILOA ILOAN = EQUZ ILOAN
IFLOS MANDT = ILOA MANDT
IFLOS TPLNR = ILOA TPLNR

Pero no he logrado poder extraer el campo tplnr con esta condición.

kibo
28/08/12, 13:39:56
La verdad que no se... yo hice esto y me funciono:

DATA: gv_tplnr TYPE iflos-STRNO.

SELECT SINGLE tplnr
FROM v_equi_iflos
INTO gv_tplnr
WHERE equnr EQ '11'.



No deberia tirar dump la vista, fijate los tipos de datos de la variable y del parametro

nievesmp
28/08/12, 14:02:09
También lo he probado así, quitándole el filtro de la fecha, pero sigue apareciendo el DUMP, al parecer se han cambiado algunas estructuras de las tablas contenidas en la vista, he adaptado la vista a la base de datos a través de la se14, pero sigue dando el dump. Por eso me han dicho que lo haga a través de select join pero nada :-( no lo logro, ahora errores de sintaxis

nievesmp
28/08/12, 14:09:54
He probado de la siguiente forma:

SELECT SINGLE tplnr
FROM v_equi_iflos
INTO gv_tplnr
WHERE equnr EQ '200004384'.

Pero igual sale el dump, he comprobado los parámetros y son correctos :(

DCErick
28/08/12, 14:13:36
He probado de la siguiente forma:

SELECT SINGLE tplnr
FROM v_equi_iflos
INTO gv_tplnr
WHERE equnr EQ '200004384'.

Pero igual sale el dump, he comprobado los parámetros y son correctos :(
¿Que version de SAP tienes?

nievesmp
29/08/12, 09:04:38
SAP ECC 6.0


Saludos,

nievesmp
29/08/12, 10:09:15
Hola,

Me funcionó quitándole el single:

SELECT tplnr
FROM v_equi_iflos
INTO gv_tplnr
WHERE equnr EQ p_equnr
AND datbi EQ '99991231'.
EXIT.
ENDSELECT.

Puede que tuviera algo que ver con que la vista en su primer campo de estructura tiene un *.

Muchas garcias por su ayuda!

DCErick
29/08/12, 14:54:47
Hola,

Me funcionó quitándole el single:

SELECT tplnr
FROM v_equi_iflos
INTO gv_tplnr
WHERE equnr EQ p_equnr
AND datbi EQ '99991231'.
EXIT.
ENDSELECT.

Puede que tuviera algo que ver con que la vista en su primer campo de estructura tiene un *.

Muchas garcias por su ayuda!


Yo tengo la misma version de SAP y no me da dump el select...

El * creo que es para incluir todos los campos de una tabla de las que forman parte de la vista, para no tener que escribirlos todos.

Es probable que la vista tenga inconsistencias, ¿ya verificaste si hay alguna nota al respecto?, del select endselect... pues mientras funcione no le veo problema xD.