como-configurar-representaciones-y-api-sage-x3

Cómo configurar representaciones y API en Sage X3

Felipe MejíaTutoriales Leave a Comment

Una de las funcionalidades de Sage X3 permite la creación de representaciones para obtener datos personalizados a partir de una API implementada en la plataforma. Esto es de gran utilidad ya que permite recibir datos sin necesidad de entrar directamente en la aplicación y recibir estos mismos para su uso en otros procesos.

El proceso es muy sencillo, y en este artículo lo veremos paso a paso para que puedas crear representaciones personalizadas y configurarlas tú mismo. ¡Sigue leyendo que comenzamos!

Desarrollo de las representaciones

Para el desarrollo de este proceso es necesario crear una vista que albergará los datos que se necesiten, una clase a partir de los datos de la vista y una representación que servirá para mostrar los datos a partir de la clase y que añadirá funcionalidades para ocultar ciertos datos.

Primero, para la creación de la vista es necesario una consulta SQL con los campos que sean necesarios. En este caso, usaremos como un ejemplo sencillo la obtención de ciertos datos de facturas de venta con los siguientes campos:

  • NUM – Número de asiento
  • SIVTYP – Tipo de factura
  • INVTYP – Categoría de factura
  • BPR – Cliente
  • CPY – Sociedad
  • FCY – Planta
  • AMTATI – Importe con IVA

Una vez creada la consulta, comprobamos que los datos que se muestran son los correctos ejecutando la consulta desde la base de datos del servidor:

consulta-base-de-datos-del-servidor-1

Vista

Abriremos la pantalla de vistas en [Desarrollo-> Diccionario de datos-> Vistas] y clicaremos en el botón de creación a la derecha “+” (llamaremos a la vista ZVSTFACTVENT).

* Por normalización, los elementos específicos llevan X, Y ó Z en su nombre

diccionario-de-vistas-2

Una vez creado, nombraremos la vista y añadiremos los datos de referencia de esta además de marcar la caja de activo, así mantendremos la vista en funcionamiento.

añadir-referencia-diccionario-vistas-3

Ahora rellenaremos el campo “SQL Server” con la consulta anterior, pero sin especificar el dossier de la tabla que se usa, esto se debe a que, a la hora de ejecutar la consulta desde la vista, esta tomará como base el dossier desde el que se ejecuta. A su vez llenaremos la tabla de “Campos” con los usados en la consulta.

relleno-campo-sql-server-4

Dentro de cada fila es necesario especificar los diferentes campos, en este caso: el nombre del campo, el tipo (A = alfanumérico, MC1 = importe en divisa, …), la longitud y la descripción.

Por último, agregaremos un índice que servirá como identificador para cada fila, esto lo haremos agregando una clave de clasificación en su apartado. Usaremos el campo “NUM_FACTURA” como identificador y marcaremos “No” en homónimos, ya que en este caso, no habrá filas repetidas y no habrá dos copias de una misma factura.

campo-num-factura-5

Una vez terminado procedemos a guardar con el check de la derecha y validamos la vista para respaldar en la aplicación.

Clase

En el apartado [Desarrollo-> Diccionario de datos-> Clases-> Clases] crearemos una nueva clase con el botón derecho “+”, y rellenaremos los datos de la siguiente manera.

clase-desarrollo-diccionario-de-datos-6

Para mayor comprensión, llamaremos de igual manera a la clase. Al elegir el tipo, en este caso seleccionaremos persistente ya que permite realizar diferentes acciones con la clase, entre ellas, la consulta de datos; seleccionaremos la vista creada antes, y automáticamente se seleccionará el índice que se creó con anterioridad.

Antes de continuar iremos a la tabla de “métodos estándar” y en este caso marcaremos las filas de “Impresión” y “lectura”, ya que solo consultaremos información.

metodos-estandar-impresion-lectura-7


Nos desplazaremos hasta la tabla de propiedades e iremos añadiendo los diferentes campos que utilizamos en la consulta. Para mayor comodidad, al escribir el nombre de la propiedad y pulsar “Enter” en el teclado, los datos asociados a esa propiedad rellenaran el resto de la fila.

propiedades-filas-completar-tabla-8

Con esto terminaríamos de rellenar los datos de la clase. Guardamos y validamos para terminarlo.

Representación

En el apartado [Desarrollo-> Diccionario de datos-> Clases-> Representaciones] crearemos una nueva clase con el botón derecho “+”.

codigo-representacion-descripcion-vista-simple-factura-ventas-9

Nos preocuparemos de rellenar los campos señalados y nos fijaremos de que el “código clase” se el mismo de la clase creada anteriormente, esto rellenara automáticamente la próxima casilla de “Instancia”.

A continuación, nos desplazaremos hasta la tabla de “Secciones” y “Bloques”, y añadiremos una sección y un bloque de la siguiente manera, estos elementos son útiles si lo que se busca en filtrar la información de distintas maneras creando diversos grupos, en este caso solo es necesario una sección para un bloque.

desplazar-tabla-secciones-bloques-10

Continuaremos con el último paso de la creación y rellenaremos las filas de las “Propiedades expuestas” con los datos de cada campo (Como en el caso anterior al pulsar “Enter” al elegir el primer campo de la fila se rellenarán los demás datos de forma automática).

propiedades-expuestas-fila-11

Nos desplazaremos hacia la derecha en la tabla hasta la columna de “Query” y “Detalle”. Aquí marcaremos que campos de la vista son visibles en que tipo de consulta desde la API. En el caso de marcar no en la columna de “Query”, los datos obtenidos a partir de una consulta sencilla serán solo los que se marcaron en positivo en esta columna.

En nuestro ejemplo marcaremos tres campos para las consultas sencillas, las cuales mostraran información básica y en el detalle marcaremos todas para mostrar todos los datos cuando se busquen los detalles.

propiedades-expuestas-cliente-fila-12

Guardamos la representación con los botones de la derecha y terminamos la creación.

Puesta a prueba

Para la puesta en escena de la API utilizaremos el programa de prueba de APIs, Postman, que nos ofrece un sistema que permite guardar los distintos ejemplos que pongamos a prueba.

Antes de empezar es necesario configurar la aplicación para que utilice una autorización básica de un usuario de Sage X3. En este caso utilizaremos un usuario creado para genere estos ejemplos.

prueba-api-autorizacion-usuario-13

Consulta sencilla

prueba-api-autorizacion-consulta-sencilla-14

*http://ait-x3.aitanaoncloud.com:8124/api1/x3/erp/PROTO/ZVSTFACTVENT?representation=ZVSTFACTVENT.$query

Con esta consulta obtenemos todas las facturas, pero solo con su número, su cliente y su importe, que eran los campos que habíamos seleccionado.

Consulta específica

prueba-api-autorizacion-consulta-especifica-15

*http://ait-x3.aitanaoncloud.com:8124/api1/x3/erp/PROTO/ZVSTFACTVENT?representation=ZVSTFACTVENT.$query&where=(NUM_FACTURA eq ‘ATC-ES01221-000001’)

Con esta consulta podemos obtener datos de una sola factura accediendo a su NUM_FACTURA que funciona como índice e identificador único.

Consulta detallada

prueba-api-autorizacion-consulta-detallada-16

*http://ait-x3.aitanaoncloud.com:8124/api1/x3/erp/PROTO/ZVSTFACTVENT(‘SIN1902AE01100007’)?representation=ZVSTFACTVENT.$details

De esta manera obtenemos todos los datos referidos a esta representación.

Creando y configurando representaciones a partir de API en Sage X3 podemos obtener información rápida a partir de consultas. ¿Te ha quedado alguna duda sin resolver? ¿Te gustaría agilizar tus tareas diarias como procesos como el que hemos visto hoy? ¡Rellena el formulario y pídenos más información?

felipe-mejia-sage-x3-aitana

Luis Felipe Mejia
Sage X3

Deja un comentario