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

Responder a