Gracias Emilio
el código esta en el archivo adjunto , al compilarlo me envía error de sintaxis
saludos
De: Emilio G. Burgoa - OSSE - San Juan
Enviado el: miércoles, 22 de abril de 2015 01:08 p. m.
Para: forum.help400, [email protected]
Juan…
Puedes adjuntar la sentencia con la que estas creando el stored procedure…??
SALUDOS.
Emilio G. Burgoa
San Juan - Argentina
De: [email protected]
[mailto:[email protected]] En nombre de Juan Gutierrez
Ruiz
Enviado el: miércoles, 22 de abril de 2015 14:14
Para: forum.help400; [email protected]
Asunto: ERROR DE SINTAXIS
Buenas tardes fórum
estoy generando un procedimiento almacenado pero me envía el error de sintaxis
al final , me dice que no va el ;
alguna ayuda de los nidos que me puedan ayudar
si lo corro en interactivo me devuelve 3 datos , matricula, documento y saldo
pero necesito meterlo en un procedimiento para llamarlo desde RPG y recibir los
datos
espero puedan echarme una mano
saludos
SELECT TABLA . MATRICULA , TABLA . DOCUMENTOID , TABLA . SALDODOCUMENTOS
INTO @MATRICULA , @DOCUMENTO ,@SALDODO
FROM ( SELECT TABLA . MATRICULA , TABLA . DOCUMENTOID , TABLA .
SALDODOCUMENTOS
FROM (SELECT MATRICULA , ORIGENDOCUMENTOID AS
DOCUMENTOID ,
SUM ( CASE TIPODOCUMENTOID
WHEN 1 THEN IMPORTEGRANTOTAL
WHEN 2 THEN IMPORTEGRANTOTAL
WHEN 3 THEN - IMPORTEGRANTOTAL
WHEN 4 THEN IMPORTEGRANTOTAL
ELSE 0 END ) AS IMPORTEDOCUMENTOS ,
SUM ( CASE TIPODOCUMENTOID
WHEN 1 THEN ( IMPORTEGRANTOTAL -
IMPORTEPAGADO )
WHEN 2 THEN ( IMPORTEGRANTOTAL -
IMPORTEPAGADO )
WHEN 3 THEN - ABS (
IMPORTEGRANTOTAL )
WHEN 4 THEN ( IMPORTEGRANTOTAL -
IMPORTEPAGADO )
ELSE 0 END ) AS SALDODOCUMENTOS
FROM SCAPAL . TDOCU
WHERE MATRICULA = @MATRICULA
GROUP BY MATRICULA ,
ORIGENDOCUMENTOID ) AS TABLA
WHERE TABLA.SALDODOCUMENTOS <> 0 ;
---------------------------------------------------------------------------------------
Estado de SQL: 42601
Código de proveedor: -104
Mensaje: [SQL0104] Símbolo ; no válido. Símbolos válidos: ) FETCH ORDER UNION
EXCEPT. Causa . . . . . : Se ha detectado un error de sintaxis en el símbolo
;. El símbolo ; no es un símbolo válido. Una lista parcial de símbolos válidos
es ) FETCH ORDER UNION EXCEPT. Esta lista presupone que la sentencia es
correcta hasta el símbolo. El error puede estar anteriormente en la sentencia,
pero la sintaxis de la sentencia aparece como válida hasta este punto.
Recuperación . : Efectúe una o más de las siguientes acciones y vuelva a
intentar la petición: -- Verifique la sentencia SQL en el área del símbolo ;.
Corrija la sentencia. El error podría ser la omisión de una coma o comillas;
podría tratarse de una palabra con errores ortográficos, o podría estar
relacionado con el orden de las cláusulas. -- Si el símbolo de error es <FIN DE
SENTENCIA>, corrija la sentencia SQL porque no finaliza con una cláusula válida.
El proceso ha finalizado porque la sentencia resaltada no se ha completado
satisfactoriamenteCREATE PROCEDURE SCAPAL.TDOCU_SDO_MATRICULA (
IN @MATRICULA VARCHAR(7),
OUT @DOCUMENTO INTEGER,
OUT @SALDO DEC(15,2))
-- DYNAMIC RESULT SETS 1
LANGUAGE SQL
SPECIFIC SCAPAL.TDOCU_SDO_MATRICULA
NOT DETERMINISTIC
MODIFIES SQL DATA
CALLED ON NULL INPUT
SET OPTION ALWBLK = *ALLREAD ,
ALWCPYDTA = *OPTIMIZE ,
COMMIT = *NONE ,
CLOSQLCSR = *ENDMOD ,
DECRESULT = (31, 31, 00) ,
DFTRDBCOL = *NONE ,
DYNDFTCOL = *NO ,
DYNUSRPRF = *USER ,
SRTSEQ = *HEX
BEGIN
SELECT TABLA . MATRICULA , TABLA . DOCUMENTOID , TABLA . SALDODOCUMENTOS
INTO @MATRICULA , @DOCUMENTO ,@SALDODO
FROM ( SELECT TABLA . MATRICULA , TABLA . DOCUMENTOID , TABLA .
SALDODOCUMENTOS
FROM (SELECT MATRICULA , ORIGENDOCUMENTOID
AS DOCUMENTOID ,
SUM ( CASE TIPODOCUMENTOID
WHEN 1 THEN IMPORTEGRANTOTAL
WHEN 2 THEN IMPORTEGRANTOTAL
WHEN 3 THEN - IMPORTEGRANTOTAL
WHEN 4 THEN IMPORTEGRANTOTAL
ELSE 0 END ) AS IMPORTEDOCUMENTOS ,
SUM ( CASE TIPODOCUMENTOID
WHEN 1 THEN ( IMPORTEGRANTOTAL
- IMPORTEPAGADO )
WHEN 2 THEN ( IMPORTEGRANTOTAL
- IMPORTEPAGADO )
WHEN 3 THEN - ABS (
IMPORTEGRANTOTAL )
WHEN 4 THEN ( IMPORTEGRANTOTAL
- IMPORTEPAGADO )
ELSE 0 END ) AS SALDODOCUMENTOS
FROM SCAPAL . TDOCU
WHERE MATRICULA = @MATRICULA
GROUP BY MATRICULA ,
ORIGENDOCUMENTOID ) AS TABLA
WHERE TABLA.SALDODOCUMENTOS <> 0 ;____________________________________________________
Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.