Desarrollo > Diccionario datos > 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 destruye las vistas basadas en esta 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

SEEREFERTTO Consulta la documentación de Puesta en marcha

Gestión de pantalla

Una vista se define con tres pestañas: una para la definición de la petición, otra para la definición de los campos y otra para la definición de las claves.

Cabecera

Campos

Los campos siguientes están presentes en esta pestaña :

El código de la vista debe estar formado por 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 en el momento de la validación, el supervisor genera los ficheros *.srf et *.fde. Por otra parte, las palabras reservadas de Adonix están prohibidas.

  • Abreviatura (campo ABRVUE)

La abreviatura de la vista debe estar formada por entre 1 y 3 caracteres (letras o cifras que comiencen obligatoriamente por una letra). Se puede que este identificador no sea el único para el conjunto de abreviaturas de las vistas del diccionario de datos. Las palabras reservadas de Adonix están prohibidas.

  • 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)

 

Cerrar

 

Pestaña Petición

Presentación

Esta pestaña permite escribir la petición.

La petición debe escribirse al menos en el idioma de la base de datos en curso del dossier. Para cualquier vista estándar entregada, se entrega un script para cada base. Durante la validación de la vista, el fichero *.viw se crea con el script adaptado a la base de datos del dossier en curso , que a su vez se crea en el directorio FIL del servidor de datos.

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 permitir el funcionamiento en otro dossier tras realizar una copia de la vista.

Ejemplo, código de actividad dimensionado de 1 a 3 para el campo LIEN y 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. 

Cerrar

 

Campos

Los campos siguientes están presentes en esta pestaña :

Características

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 siguientes condiciones de forma simultánea:

el campo del código de actividad está vacío o el código de actividad (definido en la vista correspondiente) está activado.

el módulo al que se asocia la vista se ha declarado como activo para el dossier.

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.

  • No seguro - Todos los dossieres de la solución pueden acceder a la tabla para leer o escribir los datos. Es el caso de:
    • Las tablas de sistema.
    • Las tablas de diccionario.
    • Algunas tablas supervisor.
  • Seguro - El acceso a la tabla depende de los derechos del dossier de llamada. Un dossier puede estar:
    • Inhabilitado.
    • Habilitado para lectura.
    • Habilitado para lectura y escritura. Es el caso de las tablas funcionales y de la mayoría de las tablas supervisor.

Los dossieres habilitados son:

  • El dossier en el que está definida la tabla (las tablas de sistema se encuentran en el dossier de referencia de la solución; en Sage X3, este dossier se llama X3).
  • Los dossieres principales del dossier.
  • Un dossier autorizado (mediante la función Dossieres, pestaña "Vínculos", bloque "Dossieres de la solución").
  • Los dossieres de otras soluciones con acceso por vínculo (mediante la misma función).

SEEINFOLa política de seguridad de la tabla se considera parte de la parametrización, de modo que esta casilla no se actualiza por parche. Si esta casilla está marcada, en la validación de la tabla se crea un fichero de configuración (de extensión .cfg) con el siguiente código:

$SECURITY
{  "LEVEL0" }
End

Si el fichero de configuración tiene otras directivas manuales, también se respetan. Puede añadir directivas actualizando el bloque "Fichero de configuración"en la pestaña correspondiente de la Gestión de tablas.

  • 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 siguientes condiciones de forma simultánea:

el campo del código de actividad está vacío o el código de actividad (definido en la vista correspondiente) está activado.

el módulo al que se asocia la vista se ha declarado como activo para el dossier.

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)

 

Tabla Tablas y vistas utilizadas

  • Código (campo OBCCOD)

 

 

Oracle

  • campo TEX1

 

SQL Server

  • campo TEX2

 

Cerrar

 

Pestaña Campos

Presentación

Esta pestaña permite definir el conjunto de campos de la vista en un cuadro desplegable. La descripción de los campos de esta pestaña debe ser totalmente 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.

Cerrar

 

Campos

Los campos siguientes están presentes en esta pestaña :

Tabla Campos

  • Campos (campo FLDVUE)

En esta columna se define el nombre de campo de la tabla tal como se definirá en la aplicación (a un campo de nombre NOMCHAMP definido en una vista con la abreviatura ABV, se podrá acceder mediante la sintaxis [F:ABV]NOMCHAMP).

Para los campos específicos, el nombre de campo debe empezar por X_, Y_ o Z_.

Para un campo dimensionado (NOMCHAMP_0, NOMCHAMP_1, NOMCHAMP_2…), sólo se define un campo NOMCHAMP.

Se debe definir aquí el tipo del campo. Los principales tipos son:

A: Alfanumérico
C: Entero corto
L: Entero largo
DCB: Decimal
D: Fecha
M: Menú local
MM: Menú local con filtro
ACB: clob
ABB: blob

Sin embargo existen otros tipos predefinidos. A menudo hacen referencia a una tabla anexa (divisa, sección, etc.). La tecla F12 permite obtener la lista.

Aquí no es posible 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 bajo un valor numérico (del 1 al 255) que corresponde al rango de un título en una tabla llamada menú local, almacenada en la tabla de mensajes APLSTD.

En captura o en visualización, se presentan, según las elecciones hechas en la interfaz del usuario:

  • bien un título que puede ser elegido de una lista desplegable llamada combo box STOP
  • bien una lista de botones de opción.

El interés de este tipo de captura es que la lista de elecciones se presenta en la lengua de conexión del usuario.

Cada número de menú local caracteriza la lista de los títulos posibles. Por ejemplo, el menú local 1 corresponde a la opción No / en este orden. En este caso, la interfaz del usuario puede ser también la casilla a marcar.

  • Long. (campo LNG)

Permite definir la longitud de un campo cuando este campo utiliza un tipo de datos genérico sin longitud fija. Es el caso de los tipos A y DCB.

Para los blob, al igual que para los clob, hay que introducir la longitud que será una longitud máxima de almacenamiento. La codificación es la siguiente:

Longitud

Tamaño memoria

Caracteres máximo

 0

 1020

 510

 1

 2044

 1022

 2

 4092

 2046

 3

 8188

 4094

n

1024*(2^n) - 4

512*(2^n) - 2

Un código de actividad permite:

  • definir como opcional un elemento del diccionario si el valor asociado al código de actividad es nulo;
  • identificar elementos específicos si se marcan con un código que comienza por X, Y o Z;
  • asignar un número máximo de líneas cuando el código de actividad marca elementos desde una tabla.

Si el código de actividad está desactivado:

  • el elemento marcado no se puede utilizar;
  • el código asociado no se puede gestionar ni activar.
  • Dim. (campo DIME)

Dimensión del campo en la vista. La dimensión también puede estar afectada en función del 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 pueden concatenarse cuando se requieren varias opciones. Estas opciones se pueden elegir mediante una ventana de selección. Hay disponible una descripción detallada de todas las opciones posibles.

Cerrar

 

Icono Acciones

Añadir

 

Cerrar

 

Pestaña Clave de clasificación

Presentación

Esta pestaña permite definir el conjunto de claves disponibles para una "order by" en la vista. Aviso: La vista no dispone de creación de índices.

Cerrar

 

Campos

Los campos siguientes están presentes en esta pestaña :

Tabla Claves

  • N.º (campo NUMLIG)

 

  • Código clave (campo CODCLE)

Este campo 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: consiste en 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, hay que empezar este código por una de estas tres letras: X,Y o Z.

  • Descriptor de clave (campo DESCLE)

Aquí se introduce la lista de los campos que componen el índice, separados por un '+' si hay varios campos.
Un campo seleccionado en sentido descendente está precedido del símbolo "-".
El primer campo que compone un índice no tiene símbolo y es obligatoriamente ascendente.

  • Homónimos (campo KEYDUP)

Este campo se inicializa por defecto con el valor "Sí". Se puede modificar a "No". En este caso, aparece un mensaje de advertencia informando de que no puede haber claves duplicadas en el índice de la vista. Si fuera el caso, 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.

Un código de actividad permite:

  • definir como opcional un elemento del diccionario si el valor asociado al código de actividad es nulo;
  • identificar elementos específicos si se marcan con un código que comienza por X, Y o Z;
  • asignar un número máximo de líneas cuando el código de actividad marca elementos desde una tabla.

Si el código de actividad está desactivado:

  • el elemento marcado no se puede utilizar;
  • el código asociado no se puede gestionar ni activar.

Fichero de configuración

  • campo FICCFG

En este bloque se puede introducir un texto que describa la configuración técnica de vista en la base de datos. Este texto queda registrado en un fichero con el nombre "nombre de vista.cfg" en el directorio FIL de la aplicación. Este fichero se utilizará para la instrucción "valfil". Para más detalles, consultar el anexo técnico dedicado.

Cerrar

 

Botones específicos

Crea o actualiza 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 :  contiene la lista de campos. En la línea 3 se define un indicador "#V" para distinguir las vistas de las tablas.
  • *.fde: generado mediante valfil -n.
  • *.viw : contiene 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 club asociado o se protege el acceso.

Los campos siguientes están en la ventana abierta por el botón :

Bloque Número 1

  • campo OBJET

 

  • campo CLES

 

Bloque Número 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.

Cerrar

Permite volver a copiar la estructura de la vista en otro dossier. Aviso: Hay que tener en cuenta que solo se vuelve a copiar 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).

Barra de menú

Opción/Fuente .srf

Permite visualizar el fichero *.srf correspondiente a la tabla en curso de la aplicación actual.
Esta opción es útil cuando trabajas en un servidor en el que no tienes los derechos requeridos para el directorio FIL.

Opción/Fuente .viw

Permite visualizar el fichero *.viw que contiene el origen de la vista en la aplicación actual.
Esta opción es útil cuando trabajas en un servidor en el que no tienes los derechos requeridos para el directorio FIL.

Mensajes de error

Además de los mensajes genéricos, los mensajes siguientes de error pueden aparecer durante la captura :

Ya hay una tabla con el mismo nombre.

No se puede crear una vista con el nombre de una tabla. Todas las tablas y vistas deben tener un nombre único, ya que el sistema crea un fichero *.srf y *.fde.

Tamaño del fichero demasiado grande

Tamaño limitado en el fichero de configuración.

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

Se ha intentado introducir una opción que 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 en una vista se intenta 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 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).

SEEWARNING 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

SEEREFERTTO Consulta la documentación de Puesta en marcha