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.

Responder a