Vistas
Esta función permite crear y modificar vistas describiendo sus características en el diccionario de datos del dossier. Las vistas se pueden crear en tablas de distintos dossieres.
La validación de esta descripción permite crear la vista en la base de datos o modificar sus características.
A continuación, la vista solo se puede utilizar en lectura. La programación de una vista es similar a la de una tabla. Tendrá su propia clase [F]. Las vistas disponen de las siguientes instrucciones:
- (Local) File
- Close (local) File
- Filter
- For ... Next
- Read
- Columns
- Link
Las vistas están disponibles desde Crystal Report y el editor de fórmulas.
La restauración o validación de una tabla borra las vistas basadas en esa tabla. En la restauración, el supervisor regenera automáticamente las vistas y los desencadenantes. No obstante, tras la validación forzada de una tabla, hay que lanzar la validación de las vistas del dossier en curso y de los demás dossieres correspondientes a esta tabla.
Una vista permite, por ejemplo:
- evitar abrir explícitamente una tabla de otro dossier (por ejemplo, para los dossieres con histórico). Se crea una vista para cada tabla sin histórico, de modo que las funciones de consulta y los informes funcionan tanto en el dossier principal como en el dossier con histórico;
- desarrollar informes que proporcionan acceso a los datos de varios dossieres;
- acceder a funcionalidades SQL que no estaban disponibles: unión, agrupar por, funciones SQL.
Requisitos previos
Consulta la documentación de Puesta en marcha.
Gestión de pantalla
Una vista se define con tres pestañas:
- Petición
- Campos
- Claves de clasificación
Cabecera
Código vista (campo CODVUE) |
El código de la vista debe contener entre 1 y 10 caracteres (letras o cifras que comiencen obligatoriamente por una letra). Es un identificador único para el conjunto de vistas del diccionario de datos. Una vista no puede llevar el mismo nombre que una tabla del diccionario, ya que el supervisor genera los ficheros *.srf y *.fde en el momento de la validación. No se pueden utilizar las palabras reservadas de Adonix. |
Abreviatura (campo ABRVUE) |
La abreviatura de la vista debe contener entre 1 y 3 caracteres (letras o cifras que comiencen obligatoriamente por una letra). Este identificador no es necesariamente único para el conjunto de abreviaturas de las vistas del diccionario de datos. No se pueden utilizar las palabras reservadas de Adonix. |
Descripción (campo INTITSAI) |
Introduce la descripción de la ficha correspondiente. Esta descripción larga se utiliza como título en las pantallas y los informes. |
Activo (campo ENAFLG) |
Esta casilla indica si la vista está validada. Solo se generan las vistas activas. |
Pestaña de petición
Esta pestaña permite escribir la petición.
La petición se debe escribir al menos en el idioma de la base de datos actual del dossier. Con cualquier vista estándar entregada, se entrega un script por base. Al validar la vista, en el directorio FIL del servidor de datos se crea el fichero *.viw con el script adaptado a la base de datos del dossier actual.
Si quieres indicar campos sujetos a un código de actividad y un nombre de dossier en la petición, se recomienda utilizar una fórmula. Es preferible no codificar el dossier en la petición para que funcione en otro dossier en caso de haber realizado una copia de la vista.
Por ejemplo, un código de actividad dimensionado de 1 a 3 para el campo LIEN y una fórmula en el dossier:
Select CLENUM1_0, CLENUM2_0, LIEN_0
%string$(find(func AFNC.ACTIV("ZZM"),2,3)<>0,", LIEN_1")%
%string$(find(func AFNC.ACTIV("ZZM"),3)<>0,", LIEN_2")%
From %nomap+"."%ZZMB
Para más información sobre las reglas de escritura de la petición, consulta la ayuda del campo.
Características
Código actividad (campo CODACT) |
El código de actividad y el módulo permiten saber si la vista descrita en el diccionario se debe crear en la base de datos del dossier. Se creará si se dan las dos condiciones siguientes de forma simultánea:
Una tabla afectada por un código de actividad que empiece por X, Y o Z estará considerada como un específico y en ningún caso se verá afectada por un cambio de versión (estos códigos de actividad pueden situarse en las líneas). |
Acceso no seguro (campo SECURE) |
Esta casilla permite restringir el acceso a la tabla de datos al dossier propietario de la tabla y a ciertos dossieres autorizados. Esta noción es idéntica en la vista. Para que las modificaciones de este campo se tengan en cuenta en la base de datos, hay que revalidar la tabla.
Los dossieres habilitados son:
$SECURITY |
Módulo (campo MODULE) |
El código de actividad y el módulo permiten saber si la vista descrita en el diccionario se debe crear en la base de datos del dossier. Se creará si se dan las dos condiciones siguientes de forma simultánea:
Una tabla afectada por un código de actividad que empiece por X, Y o Z estará considerada como un específico y en ningún caso se verá afectada por un cambio de versión (estos códigos de actividad pueden situarse en las líneas). |
Grupo validación (campo GRUCFM) |
El grupo de validación se utiliza para ordenar la validación de las vistas. Permite:
Por ejemplo:
Las vistas se ordenarán de la siguiente manera:
|
Tabla de tablas y vistas utilizadas
Código (campo OBCCOD) |
Esta tabla contiene la lista de tablas o vistas que se pueden utilizar en la vista. No es obligatorio alimentar ni completar todas las tablas y vistas asociadas. Una tabla o vista solo se muestra una vez aunque aparezca varias veces en la vista con abreviaturas diferentes. De esta forma, se establece un vínculo a la vista y a las tablas y vistas que la forman. Este campo muestra la referencia de la tabla o vista correspondiente. |
Tipo (campo OBCTYP) |
Esta tabla contiene la lista de tablas o vistas que se pueden utilizar en la vista. No es obligatorio alimentar ni completar todas las tablas y vistas asociadas. Una tabla o vista solo se muestra una vez aunque aparezca varias veces en la vista con abreviaturas diferentes. De esta forma, se establece un vínculo a la vista y a las tablas y vistas que la forman. Este campo indica si se trata de una tabla (ATB) o de una vista (AVW). |
Oracle
Campo TEX1 |
Este campo contiene el código SQL de la creación de la vista para Oracle. |
SQL Server
Campo TEX2 |
Este campo contiene el código SQL de la creación de la vista para SQL Server. |
Pestaña de campos
Esta pestaña permite definir los campos de la vista en una tabla desplegable. La descripción de los campos de esta pestaña debe ser compatible con la de la petición (número, orden y tipo de campos). Este control se realiza en la validación de la vista. Estos campos pueden aparecer en el diccionario de tablas, pero no es obligatorio.
Tabla de campos
Campos (campo FLDVUE) |
||||||||||||||||||
En esta columna se define el nombre del campo de la vista, tal y como se definirá en la aplicación (al campo NOMBRECAMPO definido en una vista con la abreviatura ABV se podrá acceder con la sintaxis [F:ABV]NOMBRECAMPO). El nombre de los campos específicos debe empezar por X_, Y_ o Z_. En el caso de un campo dimensionado (NOMBRECAMPO_0, NOMBRECAMPO_1, NOMBRECAMPO_2, etc.), solo se define un campo NOMBRECAMPO. |
||||||||||||||||||
Tipo (campo CODTYP) |
||||||||||||||||||
En esta columna se define el tipo de campo. Los principales son: A: alfanumérico No se pueden utilizar los tipos de datos relativos a los textos traducidos: AX1, AX2, AX3. |
||||||||||||||||||
Menú (campo NOLIB) |
||||||||||||||||||
Define el número de menú local asociado al campo definido en la línea. Cuando un campo es de tipo menú local, se almacena con un valor numérico (del 1 al 255) que corresponde a la posición de una descripción en una tabla llamada menú local, almacenada en la tabla de mensajes APLSTD. Cuando se introducen o muestran los datos, aparecen los siguientes elementos según las elecciones realizadas en la interfaz de usuario:
El interés de este tipo de entrada es que la lista de elecciones se muestra en el idioma de conexión del usuario. Cada número de menú local caracteriza la lista de las posibles descripciones. Por ejemplo, el menú local 1 corresponde a la opción No/Sí. En este caso, la interfaz de usuario también puede ser una casilla. |
||||||||||||||||||
Long. (campo LNG) |
||||||||||||||||||
Esta columna permite definir la longitud de un campo cuando este utiliza un tipo de datos genérico sin longitud fija. Es el caso de los tipos A y DCB. En los blobs y clobs, hay que introducir la longitud máxima de almacenamiento. La codificación es la siguiente:
|
||||||||||||||||||
Act (campo FLDACT) |
||||||||||||||||||
Un código de actividad permite:
Si el código de actividad está desactivado:
|
||||||||||||||||||
Dim. (campo DIME) |
||||||||||||||||||
Es la dimensión del campo en la vista. La dimensión también se puede asignar según el código de actividad. |
||||||||||||||||||
Descripción (campo FLDINTSAI) |
||||||||||||||||||
Introduce la descripción de la ficha correspondiente. Esta descripción larga se utiliza como título en las pantallas y los informes. |
||||||||||||||||||
Opciones (campo OPTION) |
||||||||||||||||||
Estas opciones se materializan en caracteres que se pueden concatenar cuando se requieren varias opciones. Las opciones se pueden elegir en una ventana de selección. Cada opción posible contiene una descripción detallada. |
Insertar |
Pestaña de claves de clasificación
Esta pestaña permite definir el conjunto de claves disponibles para un código Order By en la vista.
Aviso: La vista no dispone de creación de índices.
Tabla de claves
N.º (campo NUMLIG) |
Es la línea actual de la tabla. |
Código clave (campo CODCLE) |
Esta columna corresponde al nombre con el que se conoce la clave en la orden Order By. En todas las vistas de la aplicación se utiliza una norma: nombrar las claves utilizando la abreviatura de la vista, seguida por 0 para la primera clave, de 1 para la segunda clave, etc. Para el específico, empieza el código por una de estas tres letras: X,Y o Z. |
Descriptor de clave (campo DESCLE) |
En esta columna se introduce la lista de los campos que componen el índice, separados por un "+" si hay varios campos. Un campo seleccionado en sentido descendente va precedido del símbolo "-". El primer campo que compone un índice no tiene símbolo y siempre es ascendente. |
Homónimos (campo KEYDUP) |
Este campo se inicializa por defecto con el valor Sí, pero se puede modificar. En ese caso, aparece un mensaje de advertencia informando de que no puede haber claves duplicadas en el índice de la vista. No se produciría ningún error, pero un simple bucle FOR no detectaría los homónimos. Por lo tanto, es recomendable dejar el valor Sí salvo en casos muy particulares en los que la opción No permita las instrucciones Read Next/Prev en las vistas. |
Código actividad (campo CLEACT) |
Un código de actividad permite:
Si el código de actividad está desactivado:
|
Fichero de configuración
Campo FICCFG |
En este bloque se puede introducir un texto que describa la configuración técnica de la vista en la base de datos. Este texto queda registrado en un fichero con el nombre nombrevista.cfg en el directorio FIL de la aplicación. Este fichero se utiliza para la instrucción valfil. Para más detalles, consulta el anexo técnico dedicado. |
Botones específicos
-
Validación
Este botón permite crear o actualizar la vista en la base de datos a partir del diccionario mediante la instrucción create view. Se realiza un control sintáctico de la petición con respecto a la base de datos del dossier.
Los ficheros creados en el directorio FIL son:
- *.srf. Contienen la lista de campos. En la línea 3 se define un indicador #V para distinguir las vistas de las tablas.
- *.fde. Se generan mediante valfil -n.
- *.viw. Contienen la descripción de la petición con el script correspondiente a la base de datos del dossier.
- *.cfg. Fichero de configuración que se genera si se introduce el clob asociado o se protege el acceso.
-
Copia
Este botón permite copiar la estructura de la vista en otro dossier.
Aviso: Solo se copia la descripción de la vista del diccionario. La vista no se crea en el dossier de destino. Hay que validar esta descripción para que la vista se cree.
Bloque 1
Campo OBJET
Campo CLES
Bloque 2
Desde el dossier (campo DOSORG)
Indica el dossier desde el que se va a copiar la ficha. Las posibles sintaxis se describen en el anexo dedicado.
Todos los dossieres (campo TOUDOS)
Esta opción permite copiar la ficha en todos los dossieres definidos en el diccionario (tabla ADOSSIER de la solución en curso).
Hacia el dossier (campo DOSDES)
Indica el dossier en el que se va a copiar la ficha. Las posibles sintaxis se describen en el anexo dedicado.
Barra de menú
Opción > Fuente .srf
Esta opción permite visualizar el fichero *.srf correspondiente a la tabla en curso de la aplicación actual.
Es útil cuando trabajas en un servidor en el que no tienes los derechos necesarios para el directorio FIL.
Opción > Fuente .viw
Esta opción permite visualizar el fichero *.viw que contiene el origen de la vista en la aplicación actual.
Es útil cuando trabajas en un servidor en el que no tienes los derechos necesarios para el directorio FIL.
Mensajes de error
Además de los mensajes genéricos, se pueden mostrar los siguientes mensajes durante la entrada:
Ya hay una tabla con el mismo nombre.
No se puede crear una vista con el nombre de una tabla. El sistema crea un fichero *.srf y *.fde.
Tamaño del fichero demasiado grande
El tamaño del fichero de configuración está limitado.
Tipo de dato no gestionado
No se puede crear una vista con un campo de tipo AXX (texto traducible).
Longitud incorrecta
La longitud es incorrecta según el tipo interno del campo.
- Descripción: longitud ≤ 30
- Entero corto: longitud ≤ 4
- Entero largo: longitud ≤ 8
- Decimal: parte entera + parte decimal ≤ 32
- Alfanumérico: longitud ≤ 250
- Blob/Clob: longitud ≤ 20
Opción incorrecta
La opción que has intentado introducir no existe.
Opción incompatible con el formato x (Tipo de dato y)
Cuando se indica un formato en un tipo de dato alfa, no se deben utilizar las opciones A y #.
Abreviatura ya existente...
Este mensaje de advertencia aparece cuando intentas introducir una abreviatura que ya existe en otra vista o tabla. Es recomendable utilizar abreviaturas únicas.
Notas
Las vistas se crean en la base de datos del dossier en las que están instaladas en el momento de la validación. Todas las funciones de Sage X3 que se utilizan en las vistas (con la sintaxis %fórmula%) se evalúan en la validación de la vista y se transmiten a la base como constantes.
Cuando se crea o valida un dossier, la operación que valida las vistas se desencadena desde el dossier X3, que es distinto al dossier en el que está instalada la vista. Hay que tener en cuenta las siguientes consideraciones:
- En las fórmulas, evita las funciones (sintaxis func) para calcular las constantes que se van a insertar en la creación de la vista, a menos que estés completamente seguro de que dicha función está disponible en todos los dossieres (incluido el dossier X3) y de que devuelve el mismo valor.
- En la declaración de una tabla/vista, evita indicar en qué dossier se encuentra (especialmente en el caso de nomap o adxmother, cuya definición depende del dossier).
Si no se pueden tener en cuenta estas consideraciones, hay que revalidar manualmente las vistas correspondientes en el propio dossier tras las operaciones de validación del dossier.
Tablas utilizadas
Consulta la documentación de Puesta en marcha.