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.