AS/400 - Usar variable de RPG en FROM de SQL

 
Vista:

Usar variable de RPG en FROM de SQL

Publicado por Erick Henríquez (5 intervenciones) el 02/01/2017 22:12:16
Saludos,

Quisiera saber si es posible utilizar una variable de programa en el FROM de un SQL?

Ejemplo:

C Eval AA2='16'
C Eval MM2='12'
C Eval CA_Arc='CA'+AA2+MM2 /*CA_Arc = CA1612*/

C*
C/EXEC SQL
C+ SELECT Campo1, Campo2 INTO :X, :Y FROM :CA_Arc WHERE Campo1 = :W
C/END-EXEC
C*

Muchas gracias, espero me puedan ayudar.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Juan
Val: 104
Oro
Ha mantenido su posición en AS/400 (en relación al último mes)
Gráfica de AS/400

Usar variable de RPG en FROM de SQL

Publicado por Juan (73 intervenciones) el 05/01/2017 08:53:05
Si, si se puede. ¿ te ha dado problemas tal como lo tienes ..... ?

Juan Pelaez

juanpelaez@mundo-r.com
610 284 683
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Usar variable de RPG en FROM de SQL

Publicado por Erick Henríquez (5 intervenciones) el 05/01/2017 18:57:02
Si, me da error con eso, no detecta la tabla.

Pero ya lo resolví, antes de hacer los SELECT con la tabla que puede cambiar el nombre, pero no estructura, hice un ALIAS siempre con SQL,:

C Eval AA2='16'
C Eval MM2='12'
C Eval CA_Arc='CA'+AA2+MM2 /*CA_Arc = CA1612*/
C*
C Eval Sql='CREATE ALIAS QTEMP.CATMP1 FOR ' +
C 'libreria.'+CA_Arc
C*
C/EXEC SQL
C+ EXECUTE IMMEDIATE :Sql
C/END-EXEC

Posterior a esto, elimino el ALIAS con lo siguiente:

C/EXEC SQL
C+ DROP ALIAS QTEMP/CATMP1
C/END-EXEC

Espero a alguien más le ayude esta opción.

Juan, si pudieras mostrarte como lo haces tú, para tenerlo en mente en futuros programas, te lo agradecería mucho.

Buen día.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Juan
Val: 104
Oro
Ha mantenido su posición en AS/400 (en relación al último mes)
Gráfica de AS/400

Usar variable de RPG en FROM de SQL

Publicado por Juan (73 intervenciones) el 06/01/2017 12:00:38
Si, sin problema, te busco algo de código y te lo paso.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Juan pelaez
Val: 104
Oro
Ha mantenido su posición en AS/400 (en relación al último mes)
Gráfica de AS/400

Usar variable de RPG en FROM de SQL

Publicado por Juan pelaez (73 intervenciones) el 09/01/2017 11:57:02
Buenas,

Un Ejemplo por si te sirve :

C/EXEC SQL
C+ DECLARE CURSOR1 CURSOR FOR
C+ SELECT HCALMA, HCTPV, HCAÑO , HCMES,
C+ HCDIA, HCRECB, HCFPCR, HCTIPF, HCDIAF, HCMESF, HCAÑOF, HCNUMF
C+ FROM SFFIC0001/HISTCAB WHERE HCAÑO = :AÑO AND HCCCLI= :CTE_H
C+ AND HCCTA= :CTA
C+ AND HCCLAV = :CREDIT
C+ ORDER BY HCAÑOF DESC, HCMESF DESC, HCDIAF DESC, HCTIPF,
C+ HCNUMF DESC
C+ FOR FETCH ONLY
C/END-EXEC

AÑO,CTE-H,I,CTA, y CREDIT son campos de selección de una pantalla.

Cualquier duda ya sabes ....
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar