PDA

Ver la Versión Completa : Campo unknown


sapbcvl
28/03/17, 11:27:59
Hola a todos,

Tengo un problema y es que esta parte del codigo no me compila.
Lo que quiero hacer es meter en la tabla gt_ots_pts todo lo qu eme venga de la tabla it_pts pero que su columna tplnr (de it_pts) tenga uno de estos dos requisitos: que se llame "%D%-PDL%" o "%D%-ROB%".

Me da fallo de compilación en la linea
[ AND ( ( it_pts-tplnr like '%D%-PDL%' ) OR ]. Me dice it_pts-tplnr unknown.
Muchas gracias.

Aquí el código:

IF NOT it_pts[] is initial.

SELECT aufnr equnr auart autyp erdat ktext
objnr tplnr plnnr plnal ilart
FROM viaufks
INTO TABLE gt_ots_pts
FOR ALL ENTRIES IN it_pts
WHERE ( aufnr IN so_ots )
AND ( ( it_pts-tplnr like '%D%-PDL%' ) OR
( it_pts-tplnr LIKE '%D%-ROB%' ) ).
ENDIF.

goyleo
28/03/17, 19:08:44
Hola!

La condición del WHERE no está correcta. Tenes que igual los campos de la tabla a lo que queres obtener.

SELECT *
FROM viaufks
INTO TABLE gt_ots_pts
FOR ALL ENTRIES IN it_pts
WHERE aufnr IN so_ots
AND ( tplnr EQ condicion
OR tplnr EQ condicion ).

omegaotaku
28/03/17, 19:45:24
Hola a todos,

Tengo un problema y es que esta parte del codigo no me compila.
Lo que quiero hacer es meter en la tabla gt_ots_pts todo lo qu eme venga de la tabla it_pts pero que su columna tplnr (de it_pts) tenga uno de estos dos requisitos: que se llame "%D%-PDL%" o "%D%-ROB%".

Me da fallo de compilación en la linea
[ AND ( ( it_pts-tplnr like '%D%-PDL%' ) OR ]. Me dice it_pts-tplnr unknown.
Muchas gracias.

Aquí el código:

IF NOT it_pts[] is initial.

SELECT aufnr equnr auart autyp erdat ktext
objnr tplnr plnnr plnal ilart
FROM viaufks
INTO TABLE gt_ots_pts
FOR ALL ENTRIES IN it_pts
WHERE ( aufnr IN so_ots )
AND ( ( it_pts-tplnr like '%D%-PDL%' ) OR
( it_pts-tplnr LIKE '%D%-ROB%' ) ).
ENDIF.

Lo que dice goyleo es correcto pero estaría de mas el FAE y habría que re diseñar la consulta si queres utilizar el FAE

sapbcvl
30/03/17, 14:38:30
Hola!

La condición del WHERE no está correcta. Tenes que igual los campos de la tabla a lo que queres obtener.

SELECT *
FROM viaufks
INTO TABLE gt_ots_pts
FOR ALL ENTRIES IN it_pts
WHERE aufnr IN so_ots
AND ( tplnr EQ condicion
OR tplnr EQ condicion ).


Muchas gracias! ha funcionado :)