Falta un “cierre de paréntesis” , hay 8 aperturas y 7 cierres.
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 ;
Atte
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
satisfactoriamente
[cid:[email protected]]
-----------------------------------------------------------------
Notice of Confidentiality: The information transmitted is intended only for the
sender and person or entity to which it is addressed and may contain
confidential and/or privileged material. Any review, e-transmission,
dissemination or other use of, or taking of any action in reliance upon, this
information by persons or entities other than the intended recipient is
prohibited.
If you received this in error, please contact the sender immediately by return
electronic transmission and then immediately delete this transmission,
including all attachments, without copying, distributing or disclosing same.
------------------------------------------------------------------
Aviso de Confidencialidad: Este correo electrónico y/o el material adjunto es
para uso exclusivo del emisor y la persona o entidad a la que expresamente se
le ha enviado, y puede contener información confidencial o material
privilegiado. Si usted no es el destinatario legítimo del mismo, por favor
repórtelo inmediatamente al remitente del correo y bórrelo.
Cualquier revisión, retransmisión, difusión o cualquier otro uso de este
correo, por personas o entidades distintas a las del destinatario legítimo,
queda expresamente prohibido. Este correo electrónico no pretende ni debe ser
considerado como constitutivo de ninguna relación legal, contractual o de otra
índole similar.
____________________________________________________
Únete a Recursos AS400, nuestra Comunidad ( http://bit.ly/db68dd )
Forum.Help400 © Publicaciones Help400, S.L.