muchas gracias por el apunte 
 
Y alguien no tendrá un ejemplito por hay. 
 
Necesito poder hacer selección y ordenación variable para cargar un subfile
 
Un Saludo,
 
José Bermúdez
Departamento Informática.
 
Alcoholes Montplet, S.A.
http://www.montplet.es <http://www.montplet.es/> 
 
Email:  <mailto:[EMAIL PROTECTED]> [EMAIL PROTECTED]
Tel : 93 313 63 62
Fax 93 305 40 45 
Horario de 7 a 15 Horas. 
 <http://www.montplet.es/>  

 

 

  _____  

De: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] En nombre de Zitro 5
Enviado el: viernes, 14 de septiembre de 2007 12:05
Para: 'forum.help400'
Asunto: RE: SQL en RPG



Tienes que usar SQL dinámico. Ahora mismo no me acuerdo de mucho, tendría
que mirarlo.

Échate un vistazo en un manual a la instrucción SQL PREPARE. Te tendría que
guiar a como se hace lo que quieres.

Si no te aclaras puedo intentar buscar algo de lo que tengo hecho para ver
si te ayuda un poco más.

 

Gustavo Adolfo Márquez Álvarez.

Departamento de Informática.

[EMAIL PROTECTED]

 

InforZitro, S. L.

Carretera de Níjar 404.

04007 Almería (España).

Teléfono:    950 226 658.

Extensión:              148.

Fax:          950 223 620.

-----Mensaje original-----
De: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] En nombre de Jose Bermúdez
Enviado el: viernes, 14 de septiembre de 2007 11:50
Para: 'forum.help400'
Asunto: SQL en RPG

 

Es posible montar la cláusula WHERE o ORDER BY de un sql de Manera variable.


Ir construyéndola en función de una pantalla que el usuario va seleccionando
y ordenando. 

 

Quiero cambiar 

 C/Exec Sql                                     
 C+ Declare Lector1 Cursor for                  
 C+   SELECT *                                  
 C+   FROM "FICHERO"                           
 C+   WHERE(

 C+                 Campo1<=:DESDEP1 and Campo1<= :HASTAP1 

 C+                 Campo2<=:DESDEP2 and Campo2<= :HASTAP2 

 C+  ) ORDER BY Campo1,Campo2     
 C+         For Read Only                       
 C/End-Exec     

 

Por algo asi 

 C                     if condicion1 then 

 C                     Eval   Sqlstm='Where(campo1<="' + DESDEP1 + '" and
Campo1<="' +HASTAP1)

 C                     Eval   OrdStm="ORDER BY(Campo1,Campo2)"

 C                     Else 

 C                     Eval   Sqlstm='Where(campo2<="' + DESDEP2 + '" and
Campo2<="' +HASTAP2)

 C                     Eval   OrdStm="ORDER BY(Campo2,Campo1)"

 C                     End 

 C/Exec Sql                                     
 C+ Declare Lector1 Cursor for                  
 C+   SELECT *                                  
 C+   FROM "FICHERO"                           
 C+   :Sqlstm                                   
 C+   :OrdStm    
 C+         For Read Only                       
 C/End-Exec     

 

 

                                

 

Un Saludo,

 

José Bermúdez

Departamento Informática.

 

Alcoholes Montplet, S.A.

 

 

__________________________________________________
Forum.HELP400 es un servicio m&amp;#225;s de NEWS/400.
&amp;#169; Publicaciones Help400, S.L. - Todos los derechos reservados
http://www.help400.es
_____________________________________________________

Para darte de baja visita la siguente URL:
http://listas.combios.es/mailman/listinfo/forum.help400

Responder a