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

 
Vista:
sin imagen de perfil

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
sin imagen de perfil
Val: 499
Oro
Ha mantenido su posición en Oracle (en relación al último mes)
Gráfica de Oracle

Encountered the symbol SELECT when expecting one of the following

Publicado por Rafael (328 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
sin imagen de perfil

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
sin imagen de perfil
Val: 499
Oro
Ha mantenido su posición en Oracle (en relación al último mes)
Gráfica de Oracle

Encountered the symbol SELECT when expecting one of the following

Publicado por Rafael (328 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
sin imagen de perfil

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