Hola:
¿plinea no es un campo de entrada (definido en una *entry plist? Si es
así, para que funcione debes realizar un Eval similar a este:
Eval SelectTwo = %TRIMR(SelectOne) + plinea
SAlu2
El 17/10/05, Juan Antonio<[EMAIL PROTECTED]> escribió:
>
> Gracias, Fernando.
> Los dos temas están solucinados, pero desarrollandolo más, me encuentro con
> el siguiente problema.
> El parámetro es para restringir el SQL embebido, de manera que tan solo me
> muestre los de esa línea. Realizando el SQL sin esta restricción funciona,
> pero si la pongo no selecciona registros, dándome el SQLCOD = -00000501.
> Supongo que el problema estará en la sintaxis. ¿Alguna idea?.
>
> 0040.01 D SelectOne S 500A INZ('SELECT -
>
> 0040.02 D mnpolf.epor,
> mnpof.enpor, -
> 0040.03 D mnpolf.eporl,
> mnpolf.estsa -
> 0040.04 D FROM mnpolf
> INNER JOIN mnpof ON -
> 0040.05 D mnpolf.epor =
> mnpof.epor -
> 0040.06 D WHERE
> mnpolf.eline=')
> 0040.08 D Select S 500A INZ('SELECT -
>
> 0040.09 D mnpolf.epor,
> mnpof.enpor, -
> 0040.10 D mnpolf.eporl,
> mnpolf.estsa -
> 0040.11 D FROM mnpolf
> INNER JOIN mnpof ON -
> 0040.12 D mnpolf.epor =
> mnpof.epor -
> 0040.14 D ORDER BY')
>
>
> 0044.01 D OrderBy S 20A INZ('mnpolf.epor')
> 0044.02 D Where S 20A INZ('plinea') --->
> Parámetro entrada de 3 A
> 0042.00 D SelectTwo S 500A INZ(' ')
>
> 0106.02 * Solo con Order by...
>
> 0107.00 C Eval SelectTwo = %TRIMR(Select) + ' '
> 0108.00 C + OrderBy
> ----> SI Selecciona registros
> 0108.01 * Solo con Where...
>
> 0108.02 C* Eval SelectTwo = %TRIMR(SelectOne)
> 0108.03 C* + Where
> -----> No selecciona registros
>
> Realizando el debug, y evaluando el campo SELECTTWO, compone lo siguiente:
>
> 'SELECT mnpolf.epor, mnpof.enpor, mnpolf.eporl, mnpolf.estsa '
> 'FROM mnpolf INNER JOIN mnpof ON mnpolf.epor = mnpof.epor WHE'
> 'RE mnpolf.eline=plinea
> '
>
>
> ----- Original Message -----
> From: Fernando Pérez
> To: [email protected]
> Sent: Thursday, October 13, 2005 5:50 PM
> Subject: Re: SQL dinámico en programa ILE RPG
>
> c1, ..., c4 han de ser variables definidas en el programa ( no valen campos
> de ficheros ni de pantallas).
>
> El error del paso de parámetros no creo que se deba a usar sql, que lo
> permite. En todo caso, ya que es ile, prueba a definirle el prototipo y el
> interfaz, a ver si así.
>
> Juan Antonio escribió:
>
> He estado realizando algún programa a este respecto, y me encuentro con dos
> problemas.
>
> 1.- El SQL está realizado con la unión de dos tablas, de manera que en
> las sentencias:
> 0157.00 C/EXEC SQL
>
> 0159.01 C+ FETCH NEXT FROM mycsr
> 0159.02 C+ INTO :c1, :c2, :c3, :c4
> 0160.00 C/END-EXEC
> me está dando en la compilación que los campos no existen. Claramente,
> lo que me falta es la calificación de a qué tabla corresponden, pero
> desconozco la sintaxis a utilizar. He probado con :tabla.c1, :tabla1.c2 etc
> pero sigue dándome error. ¿Alguien me orienta?.
>
> 2.- El otro tema, es que debo pasarle un parámetro al programa, y este
> no me lo permite. Al quitarle el Entry Plist queda resuelto, pero me es
> necesario pasarle un valor para la selección. ¿Alguna idea?.
>
> Gracias.
>
> --
> Saludos.
>
> Fernando Pérez
>
> Cerámica Saloni. Dpto. Sistemas
>
--
Mi blog sobre as400
http://www.ajut400.com
__________________________________________________
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