jueves, 8 de marzo de 2012

MICROSOFT DYNAMICS AXAPTA 2009 DESDE EL PUNTO DE VISTA DE UN ANALISTA DE SQL SERVER

Hace mucho tiempo que no subía ningún artículo al Blog, y pensando uno que pudiera ser interesante he optado por acercarme a Dynamics Axapta 2009. Pero va a ser un acercamiento desde el punto de vista de un Desarrollador en SQL Server.
Quizás algunas empresas afinen mas sus implementaciones, pero por lo general se dedican a implementar este producto desde el punto de vista puro y duro de Axapta. Adolecen de un punto de vista y afinamiento muy importante en SQL Server. Sí, ya se que puede implementarse usando ORACLE, pero yo me centraré en el primero.

De primeras el acercamiento es más bien duro y arduo, tras instalarse, nos encontramos con una Base de Datos que dispone de 2066 tablas, 25 vistas y varios procedimientos almacenados (también dependerá de la licencia de Axapta que se disponga).


Vamos a intentar desgranar un poco el sistema.

Esta es una lista de las tablas y a que modulo del sistema pertenecen, (mantengo la descripción en inglés, pues no quiero realizar traducciones que pudieran llevar a error en caso de buscar más información).


ADDRESS* Central address register
AIF* Application Integration Framework
ASSET* Fixed assets module
BANK* Banking module
BACH* Bach processing functionality
BOM* Bills of material functionality (manufacturing)
COS* Cost accounting module
CUST* Accounts receivables functionality
DEL_* Tables what are not used in the current version, but are still maintained for version upgrade purposes
DIMENSION* Cross application (financial) dimension tables
EVENT* Alert system tables
FORECAST* Item forecast functionality
HRM* Human recourse management tables
INTERCOMPANY* Tables for intercompany functionality
INTRASTAT* Tables related with intrastate reporting
INVENT* Inventory related functionality tables
KM* Knowledge management module tables
LEDGER* Tables related with general ledger functionality
NUMBERSEQUENCE* Number Sequence setup tables
OLAP* Tables related with Online Analytical Processing functionality in AX


Como podemos observar existen una serie de tablas que no deben usarse fácilmente, pues forman parte del propio sistema de la aplicación.

Desde luego, no es recomendable modificar datos o realizar borrados o, incluso, modificar la estructura, si no tenemos un conocimiento muy profundo, ya que existen relaciones dentro del modelo de datos. Es más, el propio Axapta, se encarga de recorrer tablas y recolectar distintos datos, que luego integra en sus propias tablas.

Para poder usar algo sencillo, vamos a realizar una simple consulta en una tabla muy interesante; CUSTTABLE. Como su propio nombre indica, almacena los datos principales de los Clientes de nuestra Empresa (customer register).

Realizamos un simple Select con los datos de prueba de la empresa Contoso de Dynamics.



No se muestran todas las columnas disponibles (125). Para una descripción detallada de las mismas ver: http://msdn.microsoft.com/en-US/library/aa891009%28v=ax.50%29.aspx

Estos mismos datos podríamos usarlos para generar fuera del entorno de desarrollo de Axapta, de un simple informe que nos muestre todos los Clientes que tenemos. Para realizarlo, utilizaremos Reporting Services de SQL Server.

1. Abrimos Visual Studio.
2. Seleccionamos Crear Proyecto.
3. En Tipos de Proyecto, seleccionamos Proyectos de Business Intelligence.
4. En Plantillas, seleccionamos Proyecto de Servidor de informes.
5. Pulsamos Aceptar.




Una vez creado nuestro Proyecto, Agregamos un Nuevo Informe.



Creamos nuestro Origen de Datos:



Pulsamos siguiente y en la consulta, introducimos el siguiente Select:

SELECT ACCOUNTNUM, DATAAREAID, NAME, ADDRESS, PHONE, TELEFAX, INVOICEACCOUNT, CUSTGROUP, CURRENCY, COUNTRYREGIONID, ZIPCODE, STATE,
COUNTY, URL, EMAIL, CELLULARPHONE, PHONELOCAL, NAMEALIAS, CONTACTPERSONID, INVOICEADDRESS, OURACCOUNTNUM, SALESPOOLID, INCLTAX,
CUSTITEMGROUPID, NUMBERSEQUENCEGROUP, LANGUAGEID, PAYMDAYID, LINEOFBUSINESSID, DESTINATIONCODEID, GIROTYPE, SUPPITEMGROUPID,
TAXLICENSENUM, CITY, STREET, PAGER, SMS
FROM CUSTTABLE

Pulsamos Siguiente.

Seleccionamos Tabular en el Tipo de Informe.

En Diseñar tabla, incluimos todos los datos en el Detalle.



Pulsamos Siguiente.
Seleccionamos el estilo de tabla que más nos guste.
Ponemos el nombre del Informe: Clientes, marcamos Vista previa y si hemos realizado correctamente todos los pasos, debería mostrarnos una pantalla como ésta:



Ya tenemos nuestro primer informe de Clientes, usando los datos de Axapta. Sencillo, ¿no?

Ahora solo es cuestión de ajustar las columnas, dejar los campos que más puedan interesarnos, y modificar el diseño con los colores que nos puedan interesar.





Como podéis ver, es muy sencillo obtener datos del Complejo Sistema, estudiando el modelo de datos y usando herramientas a las que estamos totalmente acostumbrados.


En el siguiente artículo, veremos otra tabla muy importante para nuestra Empresa; INVENTTRANS, así como ciertas relaciones que nos pueden ayudar mucho a entender la complejidad de esta grandiosa Aplicación.

viernes, 2 de marzo de 2012

WINDOWS PHONE Y EL “SOSPECHOSO” SKYDRIVE

Tras una semana con el Nokia Lumia 800 puedo decir que estoy algo decepcionado con Windows Phone, aunque no estoy seguro de su total “culpabilidad” en las cosas que encuentro mejorables.

En primer lugar decir que la sincronización, a través de Windows Live, entre Outlook y el teléfono es extraordinaria, me da todos los servicios que necesito. La facilidad de uso y la intuición es lo mejor.

Mejorable es la integración de las redes sociales, demasiado lio con los contactos del Outlook y los del Facebook, lo mismo que las agendas, aunque éstas son fácilmente deshabilitables. También se ha simplificado, en mi opinión, las opciones de configuración de parámetros como la batería, que haya que hacer hasta cuatro pulsaciones para saber cuánta te queda me parece excesivo.


Pero lo peor sin duda son las aplicaciones, amén del copiar y pegar, casi todas de consumo puro y duro, hay muy pocas profesionales. No tienen cliente Citrix, falta el Teamviewer por citar un par, no sé qué parte de culpa tendrá Microsoft en ello, pero hay que espabilar.

Pero lo peor de todo es sin duda el SkyDrive, un servicio que se prevé gratuito me despierta todo tipo de sospechas. ¿Cómo es posible que no se pueda abrir en el teléfono un fichero, por ejemplo de Word, subido al SkyDrive y protegido por contraseña? Es increíble que para poder usar el servicio en la nube de Microsoft los ficheros deban estar depositados allí libres de protección por contraseña si se quieren visualizar. Sigo creyendo que la nube privada es lo mejor, ¡¡¡¡pero la aplicación de acceso sólo está para Android y iPhone!!!!