viernes, 23 de octubre de 2015

Importar Clientes Prospecto (Relaciones Empresariales) en AX 2012 R3 [JOB]

Buenos tardes a todos, durante la migración de Dynamics AX4 a AX2012 R3 nos encontramos con que no existe ninguna entidad en el DMF (Data Migration FrameWork) para importar clientes prospecto (antiguas relaciones empresariales en AX4).

En este caso he realizado un JOB para simular este proceso. Utilizando las clases System.Data.SqlClient podemos leer datos directamente de la base de datos SQL Server de AX4.
El job puede ser ejecutado para actualizar los nuevos clientes prospecto creados durante la fase de migración.

En nuestro caso el job lo ejecutamos después de importar clientes con la entidad "Cliente" el DMF.


En JOB tiene en cuenta los siguientes casos:


  • Que el cliente prospecto tenga un cliente asociado. En este caso la información relacionada la toma del cliente y asocia cliente prospecto con cliente.
  • Que el cliente prospecto ya exista. En este caso actualiza su información.
  • Que el cliente prospecto no exista. En este caso lo crea.

Debemos modificar la cadena de conexión, así como la instrucción sql según nuestras necesidades:

str connectionString = 'Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=BBDD_AX4;Data Source=SERVIDOR_AX4;';
str query = "SELECT IIF(MEMO IS NOT NULL, MEMO, '') AS 'MEMO1', * FROM SMMBUSRELTABLE WHERE DATAAREAID = 'ID' AND BUSRELTYPEID != 'Proveedor' AND BLOCKED = 0 ORDER BY BUSRELACCOUNT";

La dirección postal del cliente, así como sus datos de contacto (telefono, email ... etc) también se importan.

Por último, el job nos crea un fichero txt de log en la unidad C:\ llamado "DIP_ImportRelacionesEmp_Log_%1.txt". %1 es igual a la fecha y hora.

Ejemplo de ejecución:

Aquí el JOB: JOB_ImportarClientesProspecto.txt
Espero que os sirva de ayuda.

No hay comentarios:

Publicar un comentario