LAYOUTS DE TRANSFERENCIA DE INFORMACION

 

El Sistema  SAV es un sistema altamente configurable para adecuarse a las necesidades del usuario, sin embargo tiene la premisa respecto a esto de “ser fuerte por dentro suave por fuera”, esto quiere decir que el funcionamiento del sistema en general es el mismo para todos sin embargo la salidas y las entradas todas son modificables a través del uso de scripting basado en el leguaje de visual Basic scripting o  VBS permitiendo adecuarse a las necesidades del usuario y sin embargo dando la misma experiencia de usuario a cada uno de sus clientes.

 

La estructura general del SAV para intercambiar información es conocida como Layout. Este mecanismo de transferencia permite leer un origen y actualiza múltiples destinos

 

Tipo EDI

- Dentro del SAV, Menú  Catalogo / Tipo EDI

 

El tipo EDI es la estructura mas alta dentro de este mecanismo, permite indicar una clasificación a los diversos layouts homogenizando su comportamiento para diversos proveedores de información. Esto es el Tipo ARTICULOS indica que serán los layouts de esta clasificación los que tengan que intervenir en la actualización de los artículos del sistema así habrá un layout de tipo ARTICULO en SABA, otro en FANASA, otro en DROGUEROS y en general en cada proveedor de información que actualice artículos.

 

 

Indicadores

 

Campo

Descripción

Mod. Precio

Indica si este tipo de layout va incidir en el precio del artículo, es necesario indicarlo para que el precio del artículo pase a la venta.

Procesar

Indica si el layout va aparecer en la ventana de actualización de información EDI, los layouts de pedido no deben de tener marcada esta opción ya que son procesados en un momento determinado y requieren de información proporcionada por las pantallas que lo ejecute,

Orden

Orden de presentación en la pantalla de actualización de información EDI.

Algunos Layouts requieren que sean procesados en un orden especifico debido a que requieren que ciertos datos ya estén presentes antes de su ejecución como el caso de ofertas que usa la información de artículos para colocar los precios.

 

Origen

 

- Dentro del SAV, Menú  Sistema / EDI / Orígenes

 

El origen es la fuente de la información de donde se extraerán los datos, actualmente el SAV soporta como origen de datos las siguientes fuentes

 

Archivos de Texto

(Formato Windows y Formato Unix)

Delimitados y de ancho fijo

Soporte a Cualificador de Texto  (comillas dobles para agrupar la cadena por ejemplo)

Renglón inicial variable y soporte a nombres de columnas en el primer renglón

 

Bases de Datos en Archivo

Access MDB 97

Dbase III ,IV

FoxPro

Paradox

Excel

 

Base de datos relacionales por ODBC

MySQL

SQL Server

Oracle

Db2 etc.

 

FTP

Por WinInet

Modo Activo, pasivo

Soporte a comodines en el nombre del archivo

Transferencia en ASCII con soporte igual Archivos de Texto

 

HTTP

Por WinInet

Transferencia en Binario con soporte igual Archivos de Texto

 

 

 

 

 

 

 

 


 

 

 

Para poder acceder al origen es necesario configurar cada uno de los requisitos que indica el tipo de origen.

 

Por ejemplo para archivos de texto es necesario indicar la ruta del archivo, su formato, si es delimitado su delimitador de campo, si tiene cualificador de texto, el renglón inicial, cuantas columnas tiene y si el primer renglón trae el nombre de las columnas. A continuación es necesario describir cada una de las columnas, si vienen en el primer renglón puede darle clic al botón leer columnas. La pestaña de definición indica las columnas y su tipo, la pestaña de Ejemplo de datos extrae un ejemplo, si falta algún valor o esta mal configurado aparecerá el error correspondiente.

 

Cada configuración depende de la ubicación y acceso a datos.

 

Destino

- Dentro del SAV, Menú  Sistema / EDI / Destino

 

El destino funciona como receptor de la información, su configuración es similar al origen con algunas excepciones

 

Un destino puede tener una validación interna en el sistema como es

 

Validación

Aplica a

tArticulo

Catalogo de artículos

tLista

Lista de precios del proveedor

tOferta

Ofertas del proveedor

tFactura

Factura del Proveedor

tFacturaDetalle

Detalle de la factura del proveedor

tListaFaltante

Faltante de pedido del proveedor

 

Estas validaciones permiten homogenizar la información que se introduce al sistema permitiendo que aunque la información sea por ejemplo de SABA, tendrá las mismas características comparables que el de FANASA en detalle por ejemplo a que si el cambio de precio es Publico se aplique la formula a ambos de la misma manera.

 

Si un destino no tiene la validación y afecta a alguna de las entidades antes mencionadas, será obligación de quien realiza el layout homogenizar dicha información para que no cause un comportamiento errático dentro del sistema.

 

Adicional a lo anteriormente expuesto es necesario indicarle los campos llave para evitar errores de duplicidad de la información, si no se indica se guardaran tantos registros como se procesen aunque este duplicados.

 

 

Layout

- Dentro del SAV, Menú  Sistema / EDI / LayOut

 

Una vez determinado el origen y el destino podremos iniciar el desarrollo del layout. Sin embargo aunque es preferible detallar ambos no es forzosa su definición ya que como veremos a continuación un layout no depende de estos conceptos de manera exclusiva.

 

 

Templeate

 

Un Layout no es más que una rutina en VBS ejecutada dentro del entorno del sistema, así mismo puede ser construida toda o usando la plantilla general para los layouts

 

La opción

 

 

Nos permitirá indicar cuando nosotros generaremos toda la rutina ya que por omisión se usa el Wizard de la aplicación.

 

Si nosotros decidimos usar el Wizard este construirá el código de la rutina en base al templeate del sistema. El templeate puede verse dando clic al botón 

 

 

Este aplica a todos los layouts construidos en el sistema por lo que debe prestar cuidado extremo si decide modificarlo.

 

 

Si observa bien vera que las partes donde dejara las partes del código solicitado aparece por ejemplo  

 

###GLOBAL### 

 

Que es la sección donde se realizan las declaraciones globales

 

Un ejemplo donde no se realiza uso del Wizard es en los pedidos, ya que aunque es posible ejecutar una estructura de Wizard, por velocidad es mejor realizar la generación por nosotros mismo. Para realizarlo manualmente indique solo código y codifique en la pestaña de código.

 

El otro caso es el de artículos donde al contrario es mejor usar un layout ya que la validación permite homogenizar los datos, así mismo algunos cálculos son difíciles de realizar y volverlos a hacer en el layout es una perdida de tiempo además de que el código interno es más rápido que el scripting.

 

Por convención preferimos usar layouts de carga basados en Wizard cuando el sentido es hacia el sistema y preferimos definir manualmente cuando el sentido es hacia fuera del sistema ya que por lo general los otros sistemas tienen particularidades distintas al SAV, sin embargo esto solo es una convención ya que por definición el sistema los maneja de forma independiente y podría mover información desde una aplicación a otra sin que los datos queden en el SAV.

 

 


Wizard

 

El Wizard tiene diversas pestañas cada una de ellas sirviendo a un propósito especifico, al final reúne la información de todas ellas para crear el código de salida en base al templeate

 

Datos Principales

 

CAMPO

DESCRIPCION

CLAVE

Clave del layout, deber ser única

NOMBRE

Nombre descriptivo del layout

ORIGEN

Origen de datos del layout, de donde se tomaran los registros

TIPO

Tipo EDI que se le asignara al layout

 

Pestaña de Configuración

 

La configuración permite indicar parámetros al layout que serán solicitados al usuario al momento de la ejecución o los tomara del sistema si ha sido configurado el parámetro de esta manera

 

 

Pueden agregarse hasta 16 elementos sin causar conflicto.

 

La barra

 

 

Contiene los botones de agregar, modificar, eliminar y eliminar todos que permite en control de los parámetros a solicitar

 

 

Detalle de configuración

 

 

Pestaña de Validación

 

 

La validación consiste en que cada registro del origen concuerde con una condición de búsqueda antes de iniciar el proceso de carga. Esta opción actualmente tiene poco uso.

 

 


Pestaña de Destino

 

El destino es donde los datos serán depositados tras el proceso de carga

 

 

Pueden ser seleccionados uno o mas destinos de carga.

 

Pestaña Asignación de Campos

 

Esta opción permite indicar que acción se va tomar con cada uno de los destinos, así mismo, puede indicar la concordancia entre un campo destino con su correspondiente origen o en su caso elegir una formula de calculo en formato VBS.

Debido a la complejidad de las interfaces actualmente solo se selecciona la acción a tomar con el origen y ya en el proceso se detalla la transferencia entre los campos.

 

Pestaña Eventos

 

Esta el corazón del Wizard, el templeate original tiene varias secciones remplazables ubicadas en cada uno de los estadios del layout.

 

El esquema  general de las secciones de todo layout según el templeate es el siguiente

 

Declaraciones, una sola ejecución en todo el layout

###GLOBAL###   

 

Carga de origenes de datos, una sola ejecución en todo el layout

###ONLAYOUTLOAD###

 

Si la carga falla termina el layout, si no continua a

 

###ONLAYOUTSTART###

Que será ejecutada solo si hay acceso al origen,  una sola ejecución en todo el layout

 

###ONLAYOUTPROCESS###

Será ejecutado una vez por cada registro del origen de datos

 

###ONLAYOUTUNLOAD###

Es cuando se cierran el origen y los destinos de datos, será ejecutado una vez en todo el layout

 

###ONLAYOUTEND###

Es al finalizar el layout, ya los orígenes y destino no están disponibles, será ejecutado una vez en todo el layout

 

Por lo que en la pantalla

 

 

Tendremos los mismos elementos en la sección de eventos, los botones

 

 

Nos permite forzar a la generación del código base de la sección cuando hemos hecho cambios a al origen, destinos y asignación de campos

 

 

Nos permite copiar desde otro layout una sección

 

Cada vez que seleccionamos un evento del lado izquierdo, del lado derecho aparecerá el código relacionado a la sección del layout.

 

 

Donde nosotros podemos editar el evento o darle clic a generar para que el sistema lo haga en base a los cambios en origen, destino y asignación de campos.

 

Si le damos doble clic nos maximizara esa sección de código.

 

 


 

DEFINICION DE EVENTOS

EVENTO

USO

Global

Aquí declararemos las variables que vayamos a usar.

onLayOutLoad

Aquí modificaremos los parámetros necesarios ya sea para origen como para los destinos

onLayOutStart

Aquí realizamos acciones que necesitamos que estén antes de iniciar el proceso de carga de información del layout  por ejemplo borrar la información previa

onLayOutProcess

Este es el proceso real del layout donde pondremos como se asigna un campo de destino a partir de los campos de origen

onLayOutunLoad

Si necesitamos hacer algo antes de cerrar el origen o el destino de datos este es el lugar

onLayOutEnd

Aquí pondremos lo deseamos hacer cuando finalice la carga de los datos por ejemplo sumarizar los registros cargados

 

Nota: si se genera el código de nuevo perderemos nuestros cambios

 

Al finalizar de editar cada uno de los eventos,  el Wizard generará el código necesario en

 

Pestaña de Código

 

En ella podremos ver el código generado en el Wizard usando todos los eventos del layout para rellenar las secciones correspondientes.

 

 

 

Esta pestaña solo la podremos editar si tenemos habilitada la opción

 

 

En cuyo caso el Wizard no construirá el código por lo que si se usa el Wizard esta pestañan nunca esta disponible.

 

Nota: Si cuando se ejecuta un Layout aparece un error, la línea de código del error corresponde a esta pestaña.