Archive for September, 2007

ROCHA patterns integrados, los data providers, y control de versión prometen mucho!

Wednesday, September 26th, 2007


Hoy 25/09/07 participé de algunas charlas más acerca de la Rocha.

Me parece excelente la integración de los patterns dentro de la Rocha, aunque me hubiera gustado un poco más de acciones nuevas.
De todas formas poder editar el código dentro de un webpanel y no perderlo al reaplicar una instancia me conforma bastante.

Los data providers prometen bastante. Quiero dejar claro que no entendí 100%, pero da para ver que es algo que realmente va a ser muy útil.
Voy a meterme un poco más.

Rich Internet Applications, quizás fue un poco más fierrera de lo que esperaba, pero sirvió.

Parece prometer mucho el control de versión dentro de la Rocha que fue retirado a último momento porque estaba muy verde según Gustavo Proto, pero quedé bastante interesado.

Más control en las reorganizaciones GeneXus, me pareció muy pero muy bueno, es algo que todos los DBAs dan mucho palo, creo que hay para mejorar pero ya se ha dado un gran paso!

BI, next, next, next sin procedimientos de carga… voy a tener que verlo, pero ya es un gran aliento para algo tan engorroso como el mantenimiento de datawarehouses.

Todo muy interesante… veremos mañana!

Fabricio De los Santos
Gerencia de Proyectos –
Consultoría GeneXus –
ERP – Sistemas de Misión Crítica – Bases de Datos.

Vea mis blogs en:
www.fabriciodelossantos.com

SOBREDOSIS DE ROCHA !!

Tuesday, September 25th, 2007

Comenzó hoy el evento de GeneXus XVII.
Realmente quedé muy impresionado de las nuevas características de la versión Rocha.
Creo que si “hace” todo lo que “dicen“, realmente ponerse a pensar entre desarrollar una aplicación win o web, me parece que no tiene sentido.Particularmente, este evento fue fácil elegir las charlas que quería presenciar. Nunca se superpone una charla de Rocha con otra, y a eso vine.

Hasta el momento, todo está superando las expectativas, y realmente tengo proyectos en mente, necesidades, que me fueron solicitadas para desarrollar que ya SIN CONOCER EN LA PRACTICA la Rocha, creo que es impensable, o una pérdida de tiempo comenzarla a desarrollar en GeneXus 9.

Faltan 2 días y tengo más charlas Rocha, agendadas, espero poder publicar algún ejemplo pronto con esta versión que promete.

Fabricio De los Santos
Gerencia de Proyectos –
Consultoría GeneXus –
ERP – Sistemas de Misión Crítica – Bases de Datos.

Vea mis blogs en:
www.fabriciodelossantos.com

Obtener 2 últimos registros concatenados con SQL Oracle usando rownum

Saturday, September 8th, 2007

El otro día, un amigo me preguntó como podía hacer para obtener los 2 últimos registros (con mayor fecha) ingresados en una tabla, pero concatenados.
Realmente estaba con la cabeza en otra cosa, pero generalmente me intereso por ese tipo de “rompecabezas” SQL y bueno me pareció interesante publicarlo.

Ejemplo:

Tenemos una tabla llamada “Entradas”

La cual tiene una clave que llamaremos “Codigo”, un campo “Fecha” que es el criterio de ordenación, y un campo “Otros” que simula el resto de los campos de la tabla.

Para filtrar los 2 últimos registros pensé en usar “rownum”, pero el problema era que los últimos registros ingresados, no coincidían con los últimos correspondientes a las fechas digitadas.

Ejemplo:

Haciendo un select ordenado por fecha descendiente mis últimos 2 registros son los de código 31 y 28

Select Codigo,Fecha,Otros from Entradas order by Fecha Desc

31, 07/09/2007, xxx
28, 06/09/2007, yyy
29, 05/09/2007, zzz
30, 04/09/2007, uuu

Pero al utilizar el rownum, como el mismo es parte de la condición, antes del order by simplemente me devuelve los 2 últimos registros ingresados.

Select Codigo,Fecha,Otros where rownum <= 2 order by Fecha Desc

31, 07/09/2007, xxx 30, 04/09/2007, uuu

Solución para obtener los 2 últimos registros ordenados por fecha descendente: Hacer un select ordenado por fecha descendente y a esto aplicar la condición de rownum

select * from

(select Codigo,Fecha,Otros from Entradas order by Fecha Desc)

where rownum <= 2

31, 07/09/2007, xxx 28, 06/09/2007, yyy

Ahora bien, para obtener los 2 últimos registros concatenados, como puedo hacer?

Bien, la solución es aplicar la misma lógica pero para obtener 1 solo registro y luego al resultado de esto, aplicarlo a un producto cartesiando, mostrando aquellos registros en los cuales no se aplique el producto cartesiano entre si mismo।

Ejemplo:

select * from
(select * from
(select Codigo,Fecha,Otros from Entradas order by Fecha Desc)
where rownum = 1) a,
(select * from
(select Codigo,Fecha,Otros from Entradas order by Fecha Desc)
where rownum <= 2) b
where a.Codigob.Codigo

31, 07/09/2007, xxx,28, 06/09/2007, yyy

Espero sea útil para aquellos que algún día se encuentren con este problema.
Personalmente, no se para que mi amigo quería este resultado, pero el desafío fue interesante.

Fabricio De los Santos
Gerencia de Proyectos –
Consultoría GeneXus –
ERP – Sistemas de Misión Crítica – Bases de Datos.

Vea mis blogs en:
www.fabriciodelossantos.com

Unexpected error 0×8ffe2740 ocurred intentando levantar IIS para ejecutar WebPanel GeneXus en .NET

Saturday, September 1st, 2007

El otro día me dispuse a ejecutar una aplicación generada con GeneXus y .NET, algo de día a día, pero como siempre, cuando algo se tiene que complicar, seguramente se va a complicar.

Instalé el IIS, pero el mismo no levantaba.
El error que me daba era Unexpected error 0x8ffe2740 ocurred.

Este problema se debe a un conflictos de puertos.
Cuando se instala el IIS por default usa el puerto 80 para la comunicación http.
Como el IIS no estaba instalado en el pc desde el principio (cuando se instaló el Sistema Operativo) existía ya otra aplicación que usaba el mismo puerto.

La solución fue cambiar el puerto en la configuración del IIS como muestra la siguiente figura:

Fabricio De los Santos
Gerencia de Proyectos –
Consultoría GeneXus –
ERP – Sistemas de Misión Crítica – Bases de Datos.

Vea mis blogs en:
www.fabriciodelossantos.com