PDA

Ver la Versión Completa : [Sintaxis] Falta paréntesis en PERFORM ¿?¿?


Josber
8 de junio de 2015, 17:08
Tengo el siguiente trozo de código:



PERFORM VARYING I FROM 1 BY 1 UNTIL I > 8
OR I > A

PERFORM VARYING II FROM 1 BY 1
UNTIL II > 81
OR FUNCTION UPPER-CASE (WENTCOD(I:1) = LE(II))
CONTINUE
END-PERFORM
.
.
.
.
END-PERFORM.



Y al compilar, me dá el siguiente error:

JMN2700I-S The right parenthesis of the function is not specified. A right parenthesis is assumed

¿Dónde leshes me falta un paréntesis derecho?, ¿alguien lo ve?, y por cierto lo de "assumed" va a ser que no.

Un saludo

Hrmcobol
8 de junio de 2015, 18:00
Hola Amigo

FUNCTION UPPER-CASE ->(WENTCOD(I:1) = LE(II))<- me parece que sobran los paréntesis externos.

Saludos

Josber
8 de junio de 2015, 18:36
No Hrm, pero sí que me ha ayudado a encontrar el error, y es que me había ofuscado en ese trozo y no hay como una opinión externa para ver el fallo.

El problema estaba en que FUNCTION UPPER-CASE, lleva entre paréntesis la variable, (o constante), que quieres convertir así que lo que no puede ir dentro es el operador de relación ...



PERFORM VARYING I FROM 1 BY 1 UNTIL I > 8
OR I > A

PERFORM VARYING II FROM 1 BY 1
UNTIL II > 81
OR FUNCTION UPPER-CASE (WENTCOD (I:1)) = LE (II)
CONTINUE
END-PERFORM

.
.
.
END-PERFORM.


ëste es el correcto.

Me da hasta verguenza el tener estos fallos ... a mis años ... :o :o

Un saludo

Hrmcobol
8 de junio de 2015, 21:55
Tranqui Amigooo !!! Somos todos Iguales !!!


Saludos !!

Kuk
9 de junio de 2015, 10:15
Josber, no pasa nada compi, pese la imagen de entendido que tengo, a mi me han pasado cosas peores... Cuando las neuronas se te reúnen en la nuca, despues de 74 horas de trabajo, pasan cosas así, que no ves algo muy simple... ;)