Página de inicio - Tecla de acceso: 1
Notas técnicas

MultiBase. Notas a la versión 1.0 release 4.0

Estas páginas son una extensión a la documentación que acompaña su copia de MultiBase. Incluyen diversos Anexos con las modificaciones habidas en las releases 3 y 4 de la versión 1.0 de MultiBase, los errores detectados en la documentación y las especificaciones propias de la versión cliente-servidor, incluida con el producto a partir de la release 4.0.

Características no documentadas e implementadas a partir de la ver. 1.0, rel. 3.0

Funciones internas CTL

Objetos/instrucciones CTL

CLEAR FROM identifier [AT line, col]
Esta instrucción permite borrar todos los elementos activos en la lista de display con posterioridad al elemento "identifier". Éste puede ser cualquier elemento gráfico (LINE, BOX) como un objeto nominado (MENU, FRAME, FORM). Se borran todos los elementos excepto el que referencia "identifier".

Ejemplo:

display frame box at 5, 5 with 10, 40
for i = 1 to 30
    display down line at 6, i with 8
view
...
clear from frame box at 5, 5

NO LIST
Esta opción afecta a todas las instrucciones DISPLAY, salvo las relacionados con los objetos FORM y FRAME, permitiendo no incluir el elemento afectado (gráfico, expresión) en la lista de display. Esto supone que CTL no mantendrá información sobre él, estando indicada su utilización cuando se va a hacer un uso intensivo de estas instrucciones que sobrecargaría dicha lista (p. ej. varios displays en un bucle).

Ha de tenerse en cuenta que una instrucción CLEAR no puede borrar un elemento mostrado con esta opción, por lo que se emitirá el correspondiente error. La única forma de borrar éste será efectuando otro display de una expresión que devuelva espacios en blanco o ejecutar una instrucción CLEAR sin argumentos. La única forma de mantenerlo en pantalla será repintarlo con la misma opción.

Ejemplo:

for i = 1 to 1000
begin
   display i using "&&&" at 10, 10 no list
   view
end

NO WAIT
Ésta es una opción en la sintaxis de un menú que se incluye en su definición y que fuerza la salida del mismo al elegir una OPTION.

Ejemplo:

menu ej_nw "Ejemplo" no wait
   option "Añadir"
     add
     ...
   option "Borrar"
     remove
     ...
   ...
end menu

NEXT FIELD [ UP | DOWN ] [ expression ]
En esta instrucción del FORM, "expression" es opcional, lo que supone que si no se indica, el siguiente campo a editar será el que corresponda según el orden de definición en la sección VARIABLES. Si "expression" evalúa a la cadena "next", su funcionamiento es equivalente.

Ejemplo:

editing
   before columna
     next field
   ...

Subíndices en Variables de FORM/FRAME
Se pueden incluir subíndices en la definición de variables de tipo CHAR en estos objetos, siendo la longitud que estos expresen la de edición del campo sin consideración de la longitud del "tag" definido en SCREEN si este es mayor. Esto permite definir más "tags" de un solo carácter —char(1)— de los que se podría utilizando el rango "a-z".

Ejemplo:

screen
{
   [a1]
}
...
variables
...
a1 = columna char(1)
...

Comandos

CTLCOMP: Este comando incluye una opción "−s" que evita la creación de un fichero "ctl_name.err", redirigiendo el posible contenido de éste a la salida estándar ("stdout"). Asimismo, la opción "−l" emite avisos si la longitud de los "tags" difiere de las correspondientes columnas de la base de datos.

Variables de entorno

SORTMEM: Esta nueva variable de entorno define en bytes el espacio de memoria destinado a ordenaciones por CTSQL. Su valor por defecto es 32.000 bytes.

Características documentadas y no implementadas

Entorno de desarrollo "trans"

En la sección 4.2. del Manual de Referencia (en adelante M.R.), que trata sobre la documentación generada por Tdocu, así como por el propio entorno, hay que tener en cuenta las siguientes divergencias:

Instrucciones CTL

La instrucción TSQL no admite la cláusula NO LABEL especificada en la Referencia del Lenguaje (M.R., pág. 3/170).

Fichero de configuración Tactions

Se han eliminado las siguientes acciones (M.R., pág. A/123):

fhead
flines
fline-number
fline-next-field
fline-previous-field

Y se han sustituido las siguientes:

fforwards por fleft-page
fbackwards por fright-page

Errores conocidos

»