Hola Foro.
A ver si me podéis ayudar, que muchos ojos ven más que dos, y yo no 
consigo ver el qué:
Partiendo de este script que funciona perfectamente:

select arcodi, dec((arpmmi/1000), 7, 2) 
from arcfil.fartic 
where 
 arcodi in (209400,209200,213600,215200) and 
 arpmmi=( select min(arpmmi) from arcfil.fartic where 
 arcodi in (209400,209200,213600,215200)); 

 Quiero hacer un embebido dinámico en un programa.

Lo que hago es lo siguiente:

@select='arcodi, dec((arpmmi/1000), 7, 2) from arcfil/fartic ';
@where=  ' Arcodi in ' +%trim(@cadena_in) 
        +' and arpmmi=(select min(arpmmi) from arcfil/fartic' 
        +' where arcodi in '+%trim(@cadena_in); 
@sentencia=' Values(Select '+%trim(@select)+ 
           ' Where ' +%trim(@where)+ ') into ?, ?'; 
Exec Sql prepare Sentencia from :@sentencia; 
Exec SQl Execute Sentencia using :@article, :@pes_min_max; 

El resultante de la variable @sentencia es:

 Values(Select arcodi, dec((arpmmi/1000), 7, 2) from arcfil/
fartic Where Arcodi in(209400, 209200, 213600, 215200) and arpmmi=
(select min(arpmmi) from arcfil/fartic where arcodi in
(209400, 209200, 213600, 215200)) into ?, ? 

El caso es que al ejecutar el prepare, me da un error SQLSTATE:
42601 A character, token, or clause is invalid or missing. 

No consigo encontrar qué me dejo.
Alguna pista?
Gracias!!!

 
____________________________________________________
Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.

Responder a