Tips: Error ORA-00920 invalid relational operator GeneXus Oracle

El problema se detecta en ejecución, resultado de una cláusula “where” mal armada.

Que fue lo que pasó?

En las últimas versiones de GeneXus, son sentencias válidas poner:

if atributo

cuando antes se tenía que poner

if atributo = true por ejemplo

Lo mismo pasa si en vez de un “if” lo tenemos en un “where”

Código de ejemplo:

For Each

Where …

Where PersonaCodigo

Defined by AtributoX

//Codigo …

EndFor

 

Puede ser que por error nos olvidamos de poner el “= a alguna cosa” en el for each para un atributo que no es boolean.

Esto por ahora GeneXus no lo está detectando ni al salvar, ni al especificar y si no prestamos atención a la navegación solo lo vamos a encontrar cuando el sistema intenta resolver la query generada.

Que en este ejemplo generó el siguiente código

 WHERE (T1.PersonaCodigo) AND ….

 

Aporte de Antonio de la Fuente. Muchas gracias!

Gracias por seguir mi blog.
Hasta la póxima,

Fabricio De los Santos

__________________________________________________________
Coaching and Mentoring GeneXus, ScrumMaster, Project Manager
K2B Tools Agent – The best Patterns Tool to integrate with GeneXus
www.fabriciodelossantos.com
www.delfasoft.com.br

Tags: , , , ,

Leave a Reply

You must be logged in to post a comment.