SUGERENCIA para GeneXus (2) : Poder especificar NULL en Data Providers


La sugerencia, seria poder especificar de una forma sencilla el insert de un registro con un atributo nulo en la base de datos. 

Ejemplo:

Ejemplo: Persona
* PersonaId
   CiudadID  - Nullable = True

que tiene las propiedades

Data Provider = True
Use To = Populate Data. 


En la carga inicial, necesito agregar registros con CiudadID NULL. 


Cual seria la mejor forma de hacer esto?. 
Siento que me estoy complicando con un tema que debe tener una solución sencilla, pero no le encuentro la vuelta. 


Probe varias opciones en el Personas_DataProvider asociado a la transaccion. 

PersonasCollection {
  
//Opcion 1 - No poner Ciudad en el DP (no funciona)
 Persona 
   {
       PersonaID = 111
       // CiudadID
   }

// Opcion 2 - Intentar hacer un SetNull()
   Persona
   {
      PersonaID = 222
      CiudadID.SetNull()   //Da error y no deja salvarlo. 
   }


      //Opcion 3 - Poner un valor especial (en este caso el Empty)  y cambiarlo en una regla (funciona pero es horrible)
   Persona
   {
       PersonaID = 333
       CiudadID.SetEmpty()
   }
}

y para que funcione la opcion 3, poner la regla en la trn, 

[BC] {     CiudadID.SetNull()   if CiudadID.isEmpty(); }

Seria bueno contar con alguna sintaxis mas sencilla. 
La única opción que funciona (Opcion 3) cuando se mira el código, parece que va a insertar un valor vacío, para luego terminar grabando un valor NULL.

Para mi seria mucho mejor tener algo así:

Persona
{   
     PersonaID = 444
     CiudadID: null



Comentarios

Entradas más populares de este blog

La nefasta influencia del golero de Cacho Bochinche en el fútbol uruguayo

Aplicación monolítica o distribuida?

Funcionalidades de GeneXus que vale la pena conocer: DATE Constants.