¡Aprendé a usarlos como todo un crack!
Hola, ¡qué ondas, mis tech-lovers! 😎 Hoy vengo a hablarles de algo que, si andás metido en el rollo de GeneXus, fijo te vas a topar tarde o temprano: los famosos SDTs. No te preocupés si te suenan como una enfermedad rara porque te juro que son de las cosas más muertas en este mundo de programación. Aquí te voy a explicar qué son, pa’ qué sirven y hasta te tiro unos ejemplos, porque no quiero que te me quedés con cara de “¿y esto con qué se come?”. 😅
¿Qué diablos son los SDTs?
Primero lo primero. Los SDTs (Structured Data Types) son como esas cajitas mágicas donde podés guardar un montón de información organizada. Básicamente, son estructuras de datos que te dejan modelar cosas complejas como si estuvieras jugando con piezas de Lego. 💡
Por ejemplo, imaginate que tenés que manejar los datos de una persona. Con un SDT, podés crear algo como esto:
├── Nombre (Varchar(50))
├── Apellido (Varchar(50))
└── Edad (Numeric(3))
¡Boom! 🎇 Así de fácil. Metés toda la info en un solo lugar y, lo mejor de todo, no tenés que preocupar por guardarla en la base de datos si no querés. Los SDTs son temporales, solo existen mientras se ejecuta tu programa.
¿Pa’ qué sirven los SDTs?
Ahí está la gran pregunta. ¿Por qué debería importarte todo este rollo? Pues te lo pongo claro:
- Organizás tus datos como Dios manda. Si tenés estructuras complejas (como JSON o XML), los SDTs te hacen la vida más fácil.
- Jugás con APIs como un master. Cuando recibís o mandás datos en APIs REST, los SDTs son tu mejor compa.
- Ahorrás tiempo y neuronas. En lugar de estar inventando cómo organizar tus datos, ya tenés una solución clara y flexible.
SDTs Simples vs Colecciones
Aquí hay dos tipos principales de SDTs, y depende de lo que querás hacer:
1. SDTs Simples
Son planos, sin mucha complicación. Por ejemplo:
Producto
├── Id (Numeric(5))
├── Nombre (Varchar(100))
└── Precio (Numeric(10,2))
Perfecto si solo querés manejar un producto a la vez.
2. SDTs con Colección
Ahora, si querés manejar una lista de productos (como todos los que tenés en tu bodega porque sos un crack en los negocios), ahí usás una colección. Algo así:
Productos
└── Producto (Collection)
├── Id (Numeric(5))
├── Nombre (Varchar(100))
└── Precio (Numeric(10,2))
Esto es como tener un montón de productos en una bolsa. Podés recorrerlos, mostrarlos en pantalla o hacerles lo que querrás.
¿Cómo se ven en GeneXus?
¡Tranqui, mi amigo/a! Aquí no hay misterio. Te voy a dar un ejemplo paso a paso pa’ que lo probés en tu KB:
Crear un SDT
- Abrí GeneXus y hacé clic derecho en Data Types > New > Structured Data Type.
- Dale un nombre al SDT (por ejemplo, Persona).
- Agregá los campos que necesitás. Por ejemplo:
- Nombre: Varchar(50)
- Apellido: Varchar(50)
- Edad: Numeric(3)
🎉 ¡Listo, ya tenés tu SDT creado!
Poblar un SDT en un Procedimiento
Aquí está el truco para meterle datos a tu SDT (tenés que crear la variable &Persona, el tipo de datos será el SDT que creaste):
&Persona.Nombre = "Juan"
&Persona.Apellido = "Pérez"
&Persona.Edad = 30
// Mostrar datos en pantalla
Msg("Nombre: " + &Persona.Nombre)
Msg("Apellido: " + &Persona.Apellido)
Msg("Edad: " + &Persona.Edad)
¡Tan fácil como hacer una baleada sencilla! 🌯
SDT con Colección
Si querés manejar una lista de datos, el código sería algo así:
// Crear un nuevo producto
&Producto.Id = 1
&Producto.Nombre = "Laptop"
&Producto.Precio = 1200.50
&Productos.Producto.Add(&Producto)
// Crear otro producto
&Producto.Id = 2
&Producto.Nombre = "Mouse"
&Producto.Precio = 25.75
&Productos.Producto.Add(&Producto)
// Recorrer la colección y mostrar los datos
For &Prod in &Productos.Producto
Msg("Producto: " + &Prod.Nombre + " - Precio: " + &Prod.Precio.ToString())
EndFor
Tips de un catracho pa’ usar SDTs como un pro
- No te compliqués con los nombres. Dale nombres a tus SDTs y campos que tengan sentido. Decile NO a cosas como «SDT1» o «Campo1». 🤦♂️
- Usá colecciones solo si las necesitás. Si solo vas a manejar un registro, no metás una colección «por si acaso».
- Reutilizá tus SDTs. Si creaste un SDT para una API, usalo en otras partes del sistema. No reinventés la rueda. 🚴♂️
¿Por qué los SDTs son la mera versh?
En pocas palabras, porque te ahorran tiempo y dolores de cabeza. Podés manejar datos temporales, consumir APIs como un ninja y estructurar tus datos sin complicaciones. ¡Con los SDTs vas a quedar bien en cualquier proyecto, papá!
Tu turno: Probá los SDTs y contame qué tal
Ahora que sabés qué son los SDTs, pa’ qué sirven y cómo usarlos, es tu turno. Poné manos a la obra y probá estos ejemplos en tu KB. Si tenés dudas o se te ocurre algo loco que quisieras intentar, dejame un comentario aquí o escríbeme en las redes. 👇
PD: Si te gustó este post, no seás tacaño/a y compartilo con tus compas desarrolladores. ¡Nos vemos en el próximo post, geeks! 🚀
Average Rating