Oracle - Encountered the symbol SELECT when expecting one of the following

   
Vista:

Encountered the symbol SELECT when expecting one of the following

Publicado por joao (20 intervenciones) el 20/10/2015 17:15:31
help

primero q nada soy nuevo en oracle en este caso en forms y nose porque me tira esos 3 errores ya que supongo que todo esta bien :S ayudenme, gracias de antemano; saludos.
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

Encountered the symbol SELECT when expecting one of the following

Publicado por Rafael (178 intervenciones) el 22/10/2015 08:59:14
A primera vista tienes que revisar:

1. Tus parentesis, ya te digo que de entrada no cierras (10) todos los que abres (13)
2. Hay una variable o dato llamado nroext (creo) que no se de donde sale.

Ahora bien es completamente dificil ayudar cuando en lugar de ponernos el codigo en texto para tomarlo y editarlo, nos haces picarlo todo por que pones una imagen solo...

Saludos
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

Encountered the symbol SELECT when expecting one of the following

Publicado por joao (20 intervenciones) el 22/10/2015 21:22:19
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
if(NVL(NVL(SELECT DECODE(CLDDNROSERP,NULL,CLDDNRODOCP,CLDDNROSERP||'-'||CLDDNRODOCP) nroext FROM CLDDDOCU
	        WHERE CTCODCIA = substr(:b01.ciasuc,1,3)
	        AND CTCODSUC = substr(:b01.ciasuc,4,3)
	        AND CTTIPDOC = :CTTIPDOC
	        AND CTNRODOC = :CTNRODOC),
          (SELECT DECODE(CPDDNROSER,NULL,CPDDNRODOCR,CPDDNROSER||'-'||CPDDNRODOCR) nroext FROM CPDDDOCU
          WHERE CTCODCIA = substr(:b01.ciasuc,1,3)
          AND CTCODSUC = substr(:b01.ciasuc,4,3)
          AND CTTIPDOC = :CTTIPDOC
          AND CTNRODOC = :CTNRODOC),
          (SELECT CTSDNRODOCE nroext FROM CTDSDOCA
          WHERE CTCODCIA = substr(:b01.ciasuc,1,3)
          AND CTCODSUC = substr(:b01.ciasuc,4,3)
          AND CTTIPDOC = :CTTIPDOC
          AND CTNRODOC = :CTNRODOC),nroext;
end if;

como veras el NROEXT lo digito ya q en el block BALANCE esta entre los items ese campo entiende?
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

Encountered the symbol SELECT when expecting one of the following

Publicado por Rafael (178 intervenciones) el 23/10/2015 12:42:12
A ver te insisto
1. Te faltan cerrar parentesis
2. La funcion NVL tiene dos parametros si el CAMPO EVALUADO es NULO entonces PONE algo

Luego te falta decir que va a hacer el IF por que el IF evalua si algo es VERDADERO o FALSO, y no pones nada... Solo quieres que cuando una consulta devuelva NULO busque en otra tabla o en otra... vaya que esto no tiene sentido...

Si me cuentas realmente que quieres hacer es posible que te pueda ayudar pero creo no entiendes el concepto y lo que estas haciendo esta mal de principio a fin.

Saludos
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

Encountered the symbol SELECT when expecting one of the following

Publicado por joao (20 intervenciones) el 23/10/2015 16:16:15
(NVL(NVL(SELECT DECODE(CLDDNROSERP,NULL,CLDDNRODOCP,CLDDNROSERP||'-'||CLDDNRODOCP) nroext FROM CLDDDOCU
WHERE CTCODCIA = substr(:b01.ciasuc,1,3)
AND CTCODSUC = substr(:b01.ciasuc,4,3)
AND CTTIPDOC = :CTTIPDOC
AND CTNRODOC = :CTNRODOC),
(SELECT DECODE(CPDDNROSER,NULL,CPDDNRODOCR,CPDDNROSER||'-'||CPDDNRODOCR) nroext FROM CPDDDOCU
WHERE CTCODCIA = substr(:b01.ciasuc,1,3)
AND CTCODSUC = substr(:b01.ciasuc,4,3)
AND CTTIPDOC = :CTTIPDOC
AND CTNRODOC = :CTNRODOC),
(SELECT CTSDNRODOCE nroext FROM CTDSDOCA
WHERE CTCODCIA = substr(:b01.ciasuc,1,3)
AND CTCODSUC = substr(:b01.ciasuc,4,3)
AND CTTIPDOC = :CTTIPDOC
AND CTNRODOC = :CTNRODOC),nroext;

help

ya mira te explico un poco tal vez se que no tenga sentido pero el detalle esta q todo esa trama de codigo impulsa arrojar un dato del pl/sql del campo: NROEXT pero digamos q el codigo original es asi:
( NVL(NVL((SELECT DECODE(CLDDNROSERP,NULL,CLDDNRODOCP,CLDDNROSERP||'-'||CLDDNRODOCP) FROM CLDDDOCU
WHERE CLDDCODCIA = CTDCCODCIA
AND CLDDCODSUC =CTDCCODSUC
AND CLDDCODTIPD =CTDCCODTIPD
AND CLDDNRODOCI = CTDCNRODOCI ), (SELECT DECODE(CPDDNROSER,NULL,CPDDNRODOCR,CPDDNROSER||'-'||CPDDNRODOCR) FROM CPDDDOCU
WHERE CPDDCODCIA = CTDCCODCIA
AND CPDDCODSUC = CTDCCODSUC
AND CPDDCODTIPD = CTDCCODTIPD
AND CPDDNRODOCI = CTDCNRODOCI)) , ( SELECT CTSDNRODOCE FROM CTDSDOCA
WHERE CTSDCODCIA = CTDCCODCIA
AND CTSDCODSUC = CTDCCODSUC
AND CTSDCODTIPD = CTDCCODTIPD
AND CTSDNRODOCI = CTDCNRODOCI))) NROEXT,

y yo lo q e hecho es editar ciertos campos q favorece a mi block y como veras en la primera imagen ahi veras esos items del block balance lo q edito en el codigo original pero cuando supuestamente edito solamente tendria que presionar en COMPILE y tendria q todo estar OK pero como ve tira error :S ya q supuestamente falta algo o modificar en ese SELECT y menciona algo con la COMA y con el END-OF-FILE :S
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