14 septiembre 2007

ORACLE: Convertir vocales acentuadas

Problemática

Cuando realizamos consultas sql a la base de datos, (para, por ejemplo buscar por nombre de persona) podemos usar la función UPPER a fin de que la comparación no distinga entre mayúsculas y minúsculas, pero no ocurre lo mismo en el caso de las vocales acentuadas, a fin de solventar este problema podríamos implementar la siguiente función:

CREATE OR REPLACE function acentos(wcadena in varchar2) RETURN varchar2 is cadena varchar2(200);

BEGIN

cadena := replace(wcadena,'Á','A');
cadena := replace(cadena,'É','E');
cadena := replace(cadena,'Í','I');
cadena := replace(cadena,'Ó','O');
cadena := replace(cadena,'Ú','U');

return(cadena);

END;

20 agosto 2007

Limpiar una variable List o Row eliminado los valores NULL

Limpiar una variable de tipo "list" o "Row", realemente es una tarea sencilla con Omnis Studio bastará con el siguiente comando:

iSqlRow.$clear()

El único problema que esto plantea es que deja las columnas con valores NULL, con todos los problemas que esto conlleva, como (por ejemplo) al realizar operaciones matemáticas .

La solución es la siguiente:

iSqlRow.$cols.$sendall($ref.$clear())

Esto causará que cada columna quede correctamente iniciada llenando con valores "0" las variables numéricas.

En el caso de variables de tipo "list" utilizadas en un objeto de tipo "complex grid", permitirá que el usuario coloque el cursor sobre ella para entrar datos, sin necesidad de añadir una primera línea vacía a la lista.

Existe algo publicado sobre esto en la nota técnica de Omnis: TNNO0016 (http://www.omnis.net/support/index.html?detail=technotes) pero esta solución me parece más simple y elegante.

Saludos a todos los lectores de este "blog".

28 junio 2007

Apple Evolution Timeline

Apple Evolution Timeline
Apple Evolution Timeline,
orginalmente cargado por dave~.
Para nostálgicos