INSTITUCIONAL
COMUNIDAD
BLOG
AYUDA
MI CUENTA
EN PT ES

Imagen6392S

De GeneXus 8.0 RC: Propiedad autonumber

Con esta propiedad de atributo es posible numerar automáticamente la clave primaria de una transacción de un nivel.

Con esta funcionalidad se ofrece mayor legibilidad en el código, integridad en la base de datos y se potencia la programación. En concreto, en lugar de definir una numeración que depende de la aplicación que lo llama, el desarrollador se garantiza que no se generen "huecos" en la numeración, configurando ésta en la base de datos.

Descripción
Cuando una tabla tiene una clave simple (es decir está compuesta por un solo atributo) y el tipo de datos es numérico, puede numerarse automáticamente utilizando la funcionalidad que brindan los manejadores de base de datos con este fin.

La forma de hacerlo en GeneXus es configurando la propiedad Autonumber del atributo clave de la tabla. Para esto, es necesario estar en el modelo de diseño y configurar las propiedades avanzadas del atributo clave del grupo Autonumber.

Con la propiedad "Enabled" se define la generación automática de la numeración en la tabla asociada. Esto sólo afecta las creaciones/reorganizaciones de la base de datos.

Con la propiedad "Star", se configura a partir de qué número comienza la numeración automática y con la propiedad "Step"se configura el incremento del campo (entre dos registros).

¿Aplica en claves compuestas?
No, aplica únicamente cuando el atributo es, en sí mismo, llave de una tabla. No aplica para claves compuestas ni atributos secundarios. Por ejemplo, para el caso de la autonumeración de un segundo nivel se debe utilizar la rule serial o un procedimiento de numeración.

¿La propiedad es válida en procedimientos?
Sí, es válida en todos los objetos que permiten ingreso de datos (transacciones y procedimientos) tanto con interfase Win como Web. Lo soportan los lenguajes .NET, C/SQL, Visual Basic, Visual Fox Pro, Java y todos los manejadores de base de datos excepto dbf.

¿Cómo verificar si la propiedad es tomada en cuenta?
Como comentábamos la propiedad es válida en creación, reorganización, por lo tanto en el análisis de impacto de creación/reorganización se desplegan advertencias (warnings) cuando la propiedad autonumber es ignorada.
En los casos que se asigna la propiedad a un campo que no es primary key, el mensaje es AutoNumbe=True ignored. Attribute %1 is not table %2's primary key.
También advierte si no está implementado en el manejador de base de datos, en este caso el mensaje es: AutoNumber=True ignored for attribut %1. Autonumbering is not supported in this DBMS.

¿Cómo obtener el valor de la nueva clave al dar de alta registros en un procedimiento?
En el caso de tener una transacción con la siguiente estructura:

AttId*
AttDsc
donde AttId es N(6) y tiene la propiedad autonumber en True.

y un procedimiento con el código:

new
Attdsc = &Attdsc
endnew

Para obtener el número clave se debe referenciar el atributo AttId inmediatamente después del EndNew. Se debe tener en cuenta que esto puede afectar la navegación del procedimiento.

¿Cómo se implementa?
No todos los DBMS brindan el mismo soporte para poder implementar esta funcionalidad. La información detallada de la implementación en cada manejador puede ser útil para el administrador de la Base de Datos, referirse a las Release Notes

Ejemplo
Puede obtener un ejemplo en
http://www.gxopen.com.uy/hproject.asp?122

 

Relacionado
De GeneXus 8.0 RC: Grillas colapsables
Selección en grillas web
De GeneXus 8.0 RC: Cláusula option distinct
GeneXus Training Uruguay publicó su calendario de capacitación para el primer semestre del año
Certificaciones #GeneXus en el #GX24
En GeneXus Uruguay buscamos nuevos talentos
Trabajar en GeneXus: Todo lo que tienes que saber si quieres trabajar con nosotros #Training #Becas #BolsaDeTrabajo #GXjobs
En GeneXus México buscamos nuevos talentos
Sistema educativo, mercado laboral, empresas B, Forge y GeneXus: la importancia de la capacitación, los valores y la inserción laboral en los jóvenes
Alta demanda de profesionales TI en el mundo
Próximos cursos y certificaciones #GeneXus en América: Argentina, Colombia, Chile, Brasil, México y Uruguay
Nuevos Analistas GeneXus en el Instituto Superior de Informática #Uruguay
Toolnology continúa presentando GeneXus X Evolution 3 con cursos gratuitos #Argentina
#Mayo Próximos cursos y certificaciones #GeneXus en América: Argentina, Brasil, Colombia, México y Uruguay
#Uruguay Curso de Seguridad en Aplicaciones GeneXus