Hola Juan Antonio:
En un principio te faltarían los dos puntos previos a la variable de
sustitución (plinea) pero pienso que en SQL dinámico las variables de
sustitución no funcionan.
He tenido el mismo problema (SQLCOD = -00000501) en varias ocasiones y llegué a
la conclusión de que al crear la sentencia SQL de forma dinámica, no funciona
las sustituciones de variables como:
where mnpolf.eline= :plinea
Cosa que funciona correctamente cuando se declara la SQL estática como
C/EXEC SQL
C+ DECLARE cur CURSOR FOR
C+ SELECT .....
C+ FROM .....
C+ WHERE mnpolf.eline= :plinea
C/END-EXEC
Al final opte por crear la Sentencia SQL sin variables de sustitución.
La solución que deberías probar en tu caso es algo similar a
C Eval SelectTwo = %TRIMR(SelectOne)
C + %Char(plinea)
Con lo que la SQL se crea con el valor real y no es necesario variables de
sustitución.
No olvides la sentencia prepare y cerrar y abrir el cursor
C/EXEC SQL
C+ PREPARE P1 FROM :SelectTwo
C/END-EXEC
Saludos:
Enrique Cuetos Rivera
Celulosas de Asturias,S.A.
ENCE-NAVIA
__________________________________________________
Forum.HELP400 es un servicio más de NEWS/400.
© Publicaciones Help400, S.L. - Todos los derechos reservados
http://www.help400.es
_____________________________________________________
Para darte de baja visita la siguente URL:
http://coyote.combios.es/mailman/listinfo/forum.help400