Christian Amado

Christian Amado

Ingeniero de software, desarrollador
Diseñado adaptado de Todd Motto

AX 2012: Utilizar el objeto RecordInsertList
Mar 16, 2017
lectura de 1 min
Editar entrada

La clase RecordInsertList consiste en una lista de elementos (objetos previamente tratados) el cual permite insertar valores de una lista directamente a la base de datos, realizando esta tarea en una sola llamada sin realizar varios viajes.

Generalmente, vamos realizando algún cambio en un registro y ya lo actualizamos en la base de datos. Si son pocos registros, no hay drama. Pero si hablamos de miles de registros la performance se ve afectada. Donde más útil resulta esta clase es en los reportes.

Forma normal

void probarMetodo(RecId _recId, str _algunParametro) 
{ 
    TableTemp tabla, nuevaTabla;  
 
    while select tabla 
          where tabla.RecId == _recId 
    { 
        nuevaTabla.data(tabla); 
        nuevaTabla.CampoX = _algunParametro; 
        //Llama N veces al metodo insertar. Por cada registro inserta en base de datos.
        nuevaTabla.insert(); 
    } 
}

Utilizando la clase

void probarMetodo(RecId _recId, str _algunParametro) 
{ 
    RecordInsertList tempLista; 
    TableTemp tabla, nuevaTabla; 
 
    tempLista = new RecordInsertList(tableNum(TableTemp)); 
 
    while select tabla 
          where tabla.RecId == _recId 
    { 
        nuevaTabla.data(tabla); 
        nuevaTabla.CampoX = _algunParametro; 
        //Agrega el nuevo registro a la lista.
        tempLista.add(nuevaTabla); 
    } 
    //Inserta toda la lista en la base de datos. Bulk insert.
    tempLista.insertDatabase(); 
}
Mar 14, 2017

AngularJs con Visual Studio Code

Quiero compartir con ustedes este video sobre la preparación del entorno de desarrollo para AngularJs...

Mar 21, 2017

Visual Studio 2017: Instalación sin conexión

Hoy en día el instalador de Visual Studio 2017 sólo está disponible para ser instalado...