Gracias Cristhian, solucionado el problema
----- Original Message -----
From: Cristhian Nuñez
To: forum.help400
Sent: Saturday, October 03, 2009 2:55 PM
Subject: RE: Sql embebido- otra
Hola Jaime:
El procedimiento es:
C/EXEC SQL
C+ PREPARE s1 FROM :Sentencia
C/END-EXEC
C
C/EXEC SQL
C+ DECLARE c1 CURSOR FOR s1
C/END-EXEC
C
C/EXEC SQL
C+ OPEN c1
C/END-EXEC
C
C/EXEC SQL
C+ FETCH c1 INTO : variable1, .....
C/END-EXEC
-----Mensaje original-----
De: [email protected]
[mailto:[email protected]]en nombre de Jaime Villa Torres
Enviado el: Viernes, 02 de Octubre de 2009 10:17 p.m.
Para: forum.help400
Asunto: Re: Sql embebido- otra
al ejemplo de cursor recibido, le ingrese una sentencia mas y cambie una.
El ejemplo compila correctamente pero al ejecutarse en sentencia declare C1
cursor for:sentencia, se genera un error.
c/exec sql
c+ prepare S1 cursor for :Sentencia
c/end-exec
c/exec sql
c+ declare C1 cursor for :S1
c/end-exec
Gracias, y solucionado el problema.
Otra pregunta de SQL.
Al realizar un CREATE TABLE QTEMP/ALGO2 (CAMPO01).........
Es posible asignarle el TEXT a CAMPO01 ?????
----- Original Message -----
From: Juan Carlos Paredes
To: forum.help400
Sent: Friday, October 02, 2009 2:14 AM
Subject: RE: Sql embebido
¿Has probado a utilizar cursores? Sería algo así:
Sentencia = 'select sum(' + %trim(fromfld) + ') from ' +
%trim(fromlib) + '/' + %trim(fromfile);
c/exec sql
c+ declare C1 cursor for :Sentencia
c/end-exec
c/exec sql
c+ open C1
c/end-exec
c/exec sql
c+ fetch next from C1 into :Total
c/end-exec
c/exec sql
c+ close C1
c/end-exec
Saludos.
Juan Carlos.
De: Jaime Villa Torres [mailto:[email protected]]
Enviado el: viernes, 02 de octubre de 2009 4:05
Para: forum.help400
Asunto: Re: Sql embebido
Gracias por el tiempo
El problema se origina en lo siguiente, el programa recibe CUATRO
parametros
FROMFILE
FROMLIB
FROMFLD
TOTAL
El programa debe calcular la sumatoria de la columna FROMFLD del archivo
FROMFILE y biblioteca FROMLIB
La siguiente instruccion sql se ha probado en la anterior version, como
en free, con sentencia sql o generando la sentencia sql en una variable, y el
codigo es el siguiente
c/exec sql
c+ select SUM(FROMFLD) into :TOTAL
c+ from FROMLIB/FROMFILE
c/end-exec
Lo que requiere es que la anterior sentencia, acepte las variables antes
mencionadas
Gracias.
----- Original Message -----
From: Cristhian Nuñez
To: forum.help400
Sent: Thursday, October 01, 2009 5:55 PM
Subject: RE: Sql embebido
Hola Jaime:
Te pego un ejemplo de algo que tengo y funciona sin problema:
Ejemplo 1:
/FREE
xxSqlSel = 'SELECT a.nEjer_peri,LEFT(a.cArticulo,'+
%CHAR(pnLargoCod1) + '),CASE WHEN ' + %CHAR(piMonedaNac) + '=
' THEN SUM(a.dValor_tot) ELSE SUM(a.mValor_tot) END,' +
' CASE WHEN ' + %CHAR(piMonedaNac) + '=0 THEN' +
' IFNULL(SUM(d.dValor_vta),0) ELSE' +
' IFNULL(SUM(d.mValor_vta),0) END' +
' FROM (((costo_articulo a INNER JOIN articulo b' +
' ON a.cArticulo = b.cArticulo) INNER JOIN cat_articulo c' +
' ON b.cCat_art = c.cCat_art) LEFT OUTER JOIN vta_articulo d'
' ON a.nEjer_peri = d.nEjer_peri AND a.cArticulo = d.cArticul
' WHERE a.nEjer_peri BETWEEN ' + %CHAR(nnEjerPeriIni) +
' AND ' + %CHAR((pnEjercicio * 100) + pnPeriodo) +
' AND c.cClase_art = ''' + pcClaseArt + '''' ;
/END-FREE
Ejemplo 2:
EVAL xxCampo = 'LEFT(a.cCtaCo,' +
pnDigito + ')'
EVAL xSqlSel1 ='SELECT ' + xxCampo + ' AS
'cCtaCo,a.cUbica_balance,b.xDesc,' +
'c.xDesc,c.nSecuencia,c.cTipo_ctaco,
'd.xDesc,SUM(a.mSaldo)' +
' FROM balance a, plan_contable b,'
'ubica_balance c, tipo_cta_contable
' WHERE ' + xxCampo + '=b.cCtaCo' +
' AND a.cUbica_balance=c.cUbica_bala
' AND c.cTipo_ctaco=d.cTipo_ctaco' +
' AND a.nEjercicio=' + pnEjercicio +
' AND a.nPeriodo=' + pnPeriodo +
' GROUP BY ' + xxCampo + ',' +
'a.cUbica_balance,b.xDesc,c.xDesc,'
'c.nSecuencia,c.cTipo_ctaco,d.xDesc'
' ORDER BY c.nSecuencia,cCtaCo'
Seria importante que envies el codigo donde armas la sentencia
Saludos.
-----Mensaje original-----
De: [email protected]
[mailto:[email protected]]en nombre de Jaime Villa Torres
Enviado el: Jueves, 01 de Octubre de 2009 04:13 p.m.
Para: forum.help400
Asunto: Re: Sql embebido
Ya se realizo, en cadena o sentencia por sentencia, teniendo en
cuenta el PREPARE, pero nada....
----- Original Message -----
From: Cristhian Nuñez
To: forum.help400
Sent: Thursday, October 01, 2009 3:34 PM
Subject: RE: Sql embebido
Hola Jaime:
Haz probado armar la sentencia como cadena, armandola con las
variables que mencionas y luego ejecutarla con la sentencia PREPARE. Puedes
colocar el codigo de lo que intentas hacer.
Saludos.
-----Mensaje original-----
De: [email protected]
[mailto:[email protected]]en nombre de Jaime Villa Torres
Enviado el: Jueves, 01 de Octubre de 2009 11:55 a.m.
Para: forum.help400
Asunto: Sql embebido
Tengo la siguiente necesidad y le doy por todos los dados pero no
logro solucionarlo.
El problema es el siguiente.
Al programa debe ingresar el nombre de una archivo, el nombre del
campo del mismo, una variable numerica.
El programa, con el nombre y el nombre del campo debe realizar un
sql, y calcular el sum(nombre del campo) y ese valor enviarlo en la variable
numérica.
He realizado la sentencia y tengo dos problemas, uno con la
variable numerica que dice que no esta definida, y el segundo no me acepta la
variable nombre del archivo en el FROM.
Cualquier idea, como siempre bien venida.
Gracias por su tiempo
--
Este mensaje ha sido analizado por MailScanner
en busca de virus y otros contenidos peligrosos,
y se considera que está limpio.
MailScanner agradece a transtec Computers por su apoyo.
__________ Información de ESET NOD32 Antivirus, versión de la base
de firmas de virus 4474 (20091001) __________
ESET NOD32 Antivirus ha comprobado este mensaje.
http://www.eset.com
--
Este mensaje ha sido analizado por MailScanner
en busca de virus y otros contenidos peligrosos,
y se considera que está limpio.
MailScanner agradece a transtec Computers por su apoyo.
__________ Información de ESET Smart Security, versión de la base
de firmas de virus %s __________
ESET Smart Security ha comprobado este mensaje.
http://www.eset.com
--------------------------------------------------------------------
____________________________________________________
© 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
__________ Información de ESET Smart Security, versión de la base
de firmas de virus %s __________
ESET Smart Security ha comprobado este mensaje.
http://www.eset.com
--
Este mensaje ha sido analizado por MailScanner
en busca de virus y otros contenidos peligrosos,
y se considera que está limpio.
MailScanner agradece a transtec Computers por su apoyo.
--
Este mensaje ha sido analizado por MailScanner
en busca de virus y otros contenidos peligrosos,
y se considera que está limpio.
MailScanner agradece a transtec Computers por su apoyo.
__________ Información de ESET Smart Security, versión de la base de
firmas de virus %s __________
ESET Smart Security ha comprobado este mensaje.
http://www.eset.com
------------------------------------------------------------------------
____________________________________________________
© 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
__________ Información de ESET Smart Security, versión de la base de
firmas de virus %s __________
ESET Smart Security ha comprobado este mensaje.
http://www.eset.com
Se certificó que el correo entrante no contiene virus.
Comprobada por AVG - www.avg.es
Versión: 8.5.409 / Base de datos de virus: 270.14.2/2408 - Fecha de la
versión: 10/01/09 18:23:00
__________ Información de ESET Smart Security, versión de la base de
firmas de virus %s __________
ESET Smart Security ha comprobado este mensaje.
http://www.eset.com
--------------------------------------------------------------------------
____________________________________________________
© 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
__________ Información de ESET Smart Security, versión de la base de
firmas de virus %s __________
ESET Smart Security ha comprobado este mensaje.
http://www.eset.com
--
Este mensaje ha sido analizado por MailScanner
en busca de virus y otros contenidos peligrosos,
y se considera que está limpio.
MailScanner agradece a transtec Computers por su apoyo.
--
Este mensaje ha sido analizado por MailScanner
en busca de virus y otros contenidos peligrosos,
y se considera que está limpio.
MailScanner agradece a transtec Computers por su apoyo.
__________ Información de ESET Smart Security, versión de la base de firmas
de virus %s __________
ESET Smart Security ha comprobado este mensaje.
http://www.eset.com
------------------------------------------------------------------------------
____________________________________________________
© 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
__________ Información de ESET Smart Security, versión de la base de firmas
de virus %s __________
ESET Smart Security ha comprobado este mensaje.
http://www.eset.com
____________________________________________________
© 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