
Resumen de Nuevas Características en RM/COBOLen las últimas versiones, versión por versión
Software RM/COBOL
RM/COBOL contiene un gran número de archivos y programas individuales. La cantidad de archivos y programas depende de la versión específica del producto y si se trata de un sistema de desarrollo o de ejecución solamente.
Compilador RM/COBOL
El compilador RM/COBOL lee código fuente COBOL y produce archivos objeto que pueden ser ejecutados utilizando un runtime. Estos archivos objetos son portátiles, y pueden ser ejecutados por un runtime de RM/COBOL en muchas configuraciones de computadoras -aún configuraciones de computadoras que son diferentes de la que se usó para compilar los programas objeto.
RM/COBOL Runtime System
El runtime de RM/COBOL se usa para ejecutar programas COBOL compilados. Liant
Software Corporation provee un runtime diferente para cada computadora soportada, y ayuda a separar al programador COBOL de las diferencias entre computadoras y ambientes. El runtime también incluye un depurador para asistir en el desarrollo de programas COBOL.
CodeWatch
CodeWatch es un sistema de desarrollo integrado para Windows que se incluye en el development system de RM/COBOL. CodeWatch soporta el ciclo entero de desarrollo, incluyendo la edición, compilación, y depuración de aplicaciones RM/COBOL.
CodeWatch puede utilizarse para depurar y cambiar programas que son compilador independientemente, sin requerir que se construyan proyectos.
CodeBridge
CodeBridge es un sistema que permite hacer llamadas entre lenguajes de programación que se incluye con el development system de RM/COBOL. Esta herramienta simplifica la comunicación entre programas COBOL y subprogramas no-COBOL (como aquellos escritos en C o C++). CodeBridge permite a los programadores COBOL llamar APIs externas o subprogramas desarrollados a medida sin introducir otro lenguaje y tipos de datos en sus programas.
Bibliotecas Internas y Programas Utilitarios
El runtime de RM/COBOL también incluye gran cantidad de bibliotecas de rutinas para realizar funciones no especificadas en el estándar COBOL. Entre otras cosas, estas rutinas pueden ser usadas para obtener información sobre los parámetros en los programas, controlar la pantalla, y ejecutar otros programas (no-COBOL).
Además, una biblioteca de subprogramas P$ es provista con el runtime de RM/COBOL para Windows que permite acceder a las características de impresión de Windows.
Hay varios programas utilitarios que vienen con RM/COBOL. Estos programas utilitarios se usan para administrar y manipular archivos de datos y archivos objeto RM/COBOL.
Paquetes Adicionales
Hay varios paquetes adicionales disponibles para programas RM/COBOL. Estos incluyen los siguientes:
. Relativity . Un grupo de herramientas integradas que proporciona funcionalidad de base de datos relacional para los datos COBOL sin ninguna modificación en la aplicación ni conversión de datos. También proporciona un motor de base de datos relacional de excelentes características que permite el acceso basado en SQL a los datos de aplicaciones COBOL.
. XML Toolkit para RM/COBOL . Una herramienta que permite a las aplicaciones RM/COBOL interoperar libremente con otras aplicaciones que usen XML (eXtensible Markup Language, el formato estándar universal para documentos estructurados y datos en la Web). La capacidad del Toolkit para importar y exportar fácilmente documentos XML hacia y desde estructuras de datos COBOL tornan a RM/COBOL en un "Motor XML."
. Enterprise CodeBench. Un ambiente de desarrollo gráfico, integrado para desarrollar aplicaciones RM/COBOL en UNIX dentro del ambiente de sistemas operativos Windows 9x.
. RM/InfoExpress. Un sistema para gerencia de archivos diseñado para optimizar el acceso a archivos de datos RM/COBOL en varias redes de área local (LANs) y redes de área extendida (WANs). Disponible para TCP/IP (Transmission Control Protocol/Internet Protocol).
. VanGui Interface Builder. Componentes que permiten usar a Visual Basic y Delphi como front-ends con interface gráfica de usuario (GUI) a programas COBOL corriendo a través de una red.
. RM/Panels. Un paquete portátil de manejo de Entrada y Salida de Pantalla que permite el desarrollo WYSIWYG de displays RM/COBOL.
. Cobol-WOW (Windows Object Workshop). Una herramienta visual para desarrollar aplicaciones completamente Windows completamente en RM/COBOL.
. Cobol-RPC (Remote Procedure Call). Una herramienta para construir aplicaciones RM/COBOL distribuidas para LANs, WANs, e Internet.
. Cobol-CGIX (Common Gateway Interface). Una herramienta parra integrar aplicaciones RM/COBOL con el World Wide Web de Internet.
. InstantSQL. Un paquete para embeber sentencias SQL en los programas fuente COBOL para que los programas puedan acceder bases de datos relacionales ODBC usando sentencias SQL.
---------
RM/COBOL 9 contiene nuevas mejoras y características significativas tanto para programadores Windows como UNIX.
Lo más destacable de RM/COBOL 9 y WOW Extensions
• Modo ANSI/OEM en Windows
El programador puede indicar el código de página ANSI u OEM que se utilizará durante la ejecución del programa. En versiones anteriores, siempre se utilizaba el código de página OEM. Si bien esto proporcionaba una necesaria compatibilidad para los programas existentes con respecto a MS-DOS, resultó que aumentaba la incompatibilidad con otras aplicaciones Windows y con las versiones UNIX/Linux de RM/COBOL cuando se utilizaban caracteres no-ASCII (por ejemplo á, é, í, ñ) en programas RM/COBOL bajo Windows. La versión 9 permite al programador escoger un código de página ANSI compatible con los editores de texto y otras aplicaciones Windows, y que es mucho más compatible con los grupos de caracteres que se suelen utilizar en UNIX.
• C$GetNativeCharset se ha añadido para permitir a un programa obtener detalles con respecto al grupo de caracteres y código de página que se están utilizando.
• Se pueden generar programas WOW anidados
El WOW Designer ahora permite generar de manera opcional programas utilizando un subprograma anidado por cada evento. Esto proporciona una mejor forma de aislar la lógica de manejo de cada evento, además de un programa más manejable. Cada evento puede tener ahora su propia Working-Storage Section.
• Los programas WOW pueden procesar parámetros de eventos de controles ActiveX
Los programas WOW tienen acceso a los parámetros de eventos, permitiendo la utilización de un mayor número de controles ActiveX disponibles comercialmente.
• Se agregaron características de compatibilidad con Micro Focus
Se han añadido varias características compatibles con Micro Focus COBOL para solucionar problemas que usualmente se encuentran en una migración. Se han incluido sentencias de ACCEPT y DISPLAY específicas de MF, y las cláusulas CRT, CRT STATUS y CURSOR. Además, se han aligerado las reglas de modificación de referencias para ajustarse a la forma menos estricta de comprobación que tienen el runtime de Micro Focus y otros sistemas COBOL.
El registro especial WHEN-COMPILED ahora también es soportado.
• Nombres de identificadores largos (>30 caracteres)
La versión 9 ahora permite utilizar completamente nombres de variables y de condiciones largos, además de otros nombres de identificadores definidos por el usuario hasta un máximo de 240 caracteres de longitud. Esto es especialmente útil cuando se utiliza XML Extensions para RM/COBOL para guardar y procesar datos XML externos.
• Muchas mejoras en WOW Designer
El WOW Designer tiene nuevas características que permiten alinear controles dentro de contenedores, una propiedad Tag que permite contener datos especificados por el usuario para la mayoría de los controles intrínsecos, ToolTips definidas por el usuario en muchos controles, obtener la propiedad Name de los controles, y otras muchas funciones. La barra de herramientas ahora puede ser configurada por el programados. Se han agregado al conjunto de controles básicos un control para tomar la fecha y la hora (Date Time Picker) y un control de Mes del Calendario. Se ha agregado un editor del control Tab, además de otras muchas características muy convenientes.
• Mejoras en WOW Runtime plus
El WOW Thin Client tiene ahora su propio archivo de configuración y soporta un nuevo grupo de funciones de capacidades RPC dentro de un programa WOW Thin Client. Se han agregado nuevas funciones del runtime para controlar iconos y manipular controles, además de iterar a través de todos los controles en un formulario WOW.
• Mejoras en la importación de RM/Panels en WOW
La capacidad de importación de RM/Panels del WOW Designer ha sido ampliada para permitir especificar ciertas características de representación gráfica. Esto puede resultar en una mejor apariencia GUI.
• Se agregaron nuevas rutinas P$
Dos nuevas funciones P$ de impresión en Windows han sido agregadas: P$ResetPrinter y P$SetLineSpacing.
• Control de listado de compilación mejorado
La frase SUPPRESS puede usarse con una sentencia COPY para evitar la impresión de las líneas de código de los copys. Los mensajes de diagnóstico del compilador ahora también pueden ser eliminados de manera selectiva.
• Manejo más conveniente de los patrones de condición de "LIKE"
Si se usa un patrón variable con la nueva condición "LIKE", ahora se omiten los espacios en blanco sobrantes.
• Carácter de relleno de memoria configurable
El programador puede ahora designar un carácter de relleno para utilizar para la memoria no inicializada.
• Cientos de otras mejoras y correcciones.
---------
Nuevas Características en RM/COBOL 8.0
Nuevas Características del Runtime (Windows y Unix)
. Datos Binarios Nativos. El runtime ahora soporta items de datos numéricos de formato binario en formato nativo. Estas variables se identifican en el programa fuente como COMPUTATIONAL-5 o COMP-5.
. Nuevo Nivel de Versión de Objeto. Se introduce el nivel de version de objetos 11 para soportar el uso de COMPUTATIONAL-5 y COMP-5.
Nuevas Características del Compilador (Windows y Unix)
. COMPUTATIONAL-5 (COMP-5) para items de datos numéricos de formato binario en formato nativo de máquina.
. El compilador ahora provee variables en la Working-Storage Section para parámetros de archivos y datos que son especificados con un nombre de variable que no está definida en la Data División. Esto elimina errores de compilación causados por el olvido en la definición de una o más de éstos parámetros y por lo tanto acelera el tiempo de desarrollo. Los siguientes parámetros son afectados por esta característica:
- Nombre de acceso al archivo especificado en la cláusula A SSIGN.
- Variable Padding character especificada en la cláusula PADDING CHARACTER.
- Variable para una clave relativa especificada en la frase RELATIVE KEY de la cláusula ACCESS MODE.
- Variable de status de I/O especificada en la cláusula FILE STATUS.
- Variable de largo de registro especificada en la frase DEPENDING de la cláusula RECORD IS VARYING.
- Variables de la Linage especificadas en la cláusula LINAGE (las variables de líneas de linage, de footing, de top y bottom).
- Variable de etiqueta especificada en la cláusula VALUE OF.
- Variable de contador de ocurrencias especificada en la frase DEPENDING de la cláusula OCCURS.
. El compilador ahora soporta expresiones de concatenación usando el operador & para concatenar literales no numéricos.
. La cláusula OCCURS ahora se permite en los niveles 01 y 77 en la Working-Storage Section.
. Un grupo vacío, o sea, un grupo que no contiene ningun item elemental, ahora es permitido. Los elementos vacíos corresponden a elementos vacíos XML y esto se hace para alinear aún más el modelo de datos COBOL con el modelo de datos XML.
. El compilador ahora soporta la cláusula NUMERIC SIGN en el parágrafo Special-Names. Esto permite al programa fuente especificar la convención de signo por defecto para elementos numéricos con signo de display que son descritos sin la cláusula SIGN en su descripción.
. La cláusula ASSIGN ya no requiere un nombre de dispositivo, aún cuando el nombre de acceso a archivo se especifique con una variable. El nombre de dispositivo solo se requiere ahora si no se especifica ningún nombre de acceso al archivo en la cláusula ASSIGN (variable1 o literal1).
---------
Nuevas Características en RM/COBOL 7.5
Introducción del Ambiente del Desarrollo de Aplicaciónes CodeWatch
RM/COBOL 7.5 incluye la última versión de CodeWatch, un ambiente de desarrollo para Windows completamente integrado. Iniciado para esta versión 7.5, CodeWatch ahora soporta el ciclo completo de desarrollo, incluyendo edición, compilación y depuración de aplicaciones RM/COBOL. CodeWatch puede ser utilizado para depurar y cambiar programas que son compilados en forma independiente, sin el requerimiento de la construcción de proyectos. En lugar de ello, el conocimiento requerido acerca de la estructura de su aplicación es creada durante las sesiones de depuración.
Mejoras a CodeBridge
CodeBridge , el sistema de Liant para llamadas de sistema de lenguaje-cruzado, ha sido mejorado para manipular enteros de 64-bits sobre plataformas UNIX que posean un compilador C que soporte enteros de 64-bits. Un nuevo callback en tiempo de ejecución, GetCallerInfo, ha sido agregado para permitir a los subprogramas no-COBOL mejorar los mensajes de error con información adicional acerca del llamador. Este nuevo callback provee el nombre del programa llamador y el número de línea, el nombre del archivo objeto, y la fecha y hora en que el programa llamador fue compilado. La definición y comentario de esta nueva llamada en tiempo de ejecución y su estructura de datos asociado, CALLER_INFO, están disponibles en rtcallbk.h , un cabezal provisto con el sistema RM/COBOL. Los ejemplos de su uso están incluidos en el subprograma de ejemplo msgbox.c para Windows y en el subprograma de ejemplo usrsub.c para UNIX. Dos nuevos parámetros de atributos, llamados atributos de error de base, han sido agregados a CodeBridge para la recuperación del set de información de error de la biblioteca C y de las funciones API de Windows. Los nuevos atributos de error de base, errno y get_last_error , permiten el retorno de la información del error mediante la edición de la plantilla CodeBridge en lugar del código generado.
Compilador en Modo-Consola en Windows
El compilador RM/COBOL puede ahora ser ejecutado como una aplicación modo-consola en Windows con el comando rmcobolc . El comando rmcobolg puede ser aún utilizado para disparar la versión de interfase gráfica de usuario Windows (modo-GUI) del compilador. La aplicación en modo-consola es más pequeña y veloz que la versión modo-GUI y satisface las compilaciones en lote de un gran número de programas. Más allá de la interfase, los dos compiladores son idénticos ya que ambos utilizan la misma DLL para la implementación del compilador. Una opción de instalación permite que usted seleccione una u otra versión del compilador a ser invocada con el comando rmcobol .
Compilaciones Múltiples y en Lotes Son Más Fáciles y Más Rápidas
La caja de diálogo al compilar en RM/COBOL para Windows permite que más de un archivo sea seleccionado. Puede seleccionar archivos adicionales mediante la pulsación de la tecla Ctrl mientras se clickea sobre ellos, o por el uso de Ctrl+A para seleccionarlos a todos. Los subdirectorios son automáticamente ignorados. Las compilaciones se detienen cuando todos los archivos han sido compilados o una compilación retorna un código de salida no-cero. Esta forma de compilación es más rápida que mediante una secuencia de órdenes porque el compilador no necesita ser recargado entre los fuentes. Tanto para el compilador de modo-consola como para el de modo-GUI, los caracteres comodines sobre la línea de comando también pueden ser aplicados para la selección de múltiples archivos a compilar. Los caracteres comodines soportados son "?" (coincide con cualquier carácter único) y "*" (coincide con ninguno o varios caracteres).
Archivos Indexados Más Confiables
El soporte a los archivos indexados ha sido hecho más confiable por el agregado de nuevas características integrales como parte de la versión de archivo de nivel 4. Adicionalmente, la versión 4 de archivos indexados opcionalmente soporta la nueva capacidad "atomic I/O" la cual provee un recurso al usuario para evitar casi todos los errores 98 causados por fallas que ocurren cuando un archivo es abierto. Los archivos creados con atomic I/O casi nunca necesitan recuperación. De ocurrir una caída durante una operación I/O COBOL, el archivo será automática y rápidamente recuperado la próxima vez que sea abierto o cuando una operación de escritura sea realizada. La palabra clave ENABLE-ATOMIC-IO ha sido agregada al registro de configuración RUN-INDEX-FILES para determinar si los archivos indexados creados por el runtime system utilizarán atomic I/O.
La versión por defecto de archivo indexado para los nuevos archivos ha sido cambiada de 2 a 4 automáticamente para proveer el más alto nivel de confiabilidad a los nuevos archivos. La palabra clave DEFAULT-FILE-VERSION-NUMBER del registro de configuración RUN-INDEX-FILES puede ser utilizada para especificar un valor diferente.
La versión 4 de archivos indexados puede, tal como la versión 3, crecer a un tamaño mayor que los de versiones 0 o 2. Sin embargo, a diferencia de los de versión 3, los archivos de versión 4 pueden ser tan largos o de tamaño regular, dependiendo de la nueva palabra clave USE-LARGE-FILE-LOCK-LIMIT en el registro de configuración RUN-INDEX-FILE. Esta nueva palabra clave determina si las palabras claves LARGE-FILE-LOCK-LIMIT o FILE-LOCK-LIMIT del registro de configuración RUN-FILES-ATTR son utilizadas para determinar la dirección más larga que puede ser bloqueada en el archivo. Esto, de cumplirse, determina cuán grande puede ser el archivo.
Mejor Performance de los Archivos Indexados
Varios cambios han sido introducidos para incrementar la performance de los archivos indexados en la creación de nuevos archivos indexados mediante tamaños de bloques más razonables y mediante el incremento del tamaño máximo del buffer pool de archivo en al menos de un millón a diez millones de bytes.
Ahora, el runtime system de la versión 7.5 de RM/COBOL crea nuevos archivos indexados con un tamaño mínimo de bloque de 1024 bytes y asegura que el tamaño del bloque para los nuevos archivos indexados es un múltiplo del tamaño de sector del disco. El procesamiento del archivo indexado es generalmente más eficiente con tamaños de bloques largos y con tamaños de bloques que son también múltiplos del tamaño del sector del disco (512 bytes para Windows y, normalmente, 1024 para UNIX).
Dos nuevas palabras claves, MINIMUM-BLOCK-SIZE y ROUND-TO-NICE-BLOCK-SIZE, se han agregado al registro de configuración RUN-INDEX-FILES para permitir que el tamaño del bloque sea computado de la misma manera que las versiones previas del runtime system de RM/COBOL.
La palabra clave BUFFER-POOL-SIZE del registro de configuración RUN-FILES-ATTR permite ahora que el tamaño del buffer sea de 10.000.000 bytes. Generalmente, un tamaño tal de buffer produce mejor performance que un buffer de tamaño más pequeño. Algunos chequeos pueden ser requeridos para encontrar el tamaño óptimo para su aplicación.
Archivo de Configuración Automática Disponible para Windows
Los archivos de configuración pueden ahora ser automáticamente cargados en Windows por el runtime, el compilador, y por el utilitario de recuperación en una forma similar a la capacidad de UNIX. Aún así, la facultad de vincular un archivo de configuración al ejecutable en Windows mediante el utilitario rmattach es aún posible.
Comentarios de Cola para los Registros de Configuración
Los registros de configuración pueden ahora contener un comentario de cola, es decir, un comentario que no comienza en la columna uno del registro de configuración.
Mejoras para Subprogramas No-COBOL en Windows
El runtime system de RM/COBOL 7.5 para Windows ha sido mejorado para cargar las DLLs automáticamente desde el subdirectorio especial RmAutoLd , del directorio de ejecución del runcobol sin necesidad de especificar el nombre del archivo con la opción L (Library) del comando runcobol . Todas las DLLs en este subdirectorio especial serán cargadas automáticamente. Aunque esto ya no hace necesario el especificar bibliotecas no-COBOL en el comando runcobol , la opción L (Library) del Runtime Command está igualmente soportada para hacerlo.
El runtime system de Windows fue también mejorado para soportar los símbolos especiales predefinidos (puntos de entrada y nombres de variables), tales como RM_EntryPoints, RM_AddOnInit, y RM_AddOnTerminate, los cuales, previamente, estaban disponibles solo bajo UNIX. Dado que ninguno de estos puntos de entrada especiales son requeridos, si están presentes, la DLL pueden proveer una lista de puntos de entrada de llamada-COBOL sin necesidad de especificar la sección .EDATA en tiempo de enlace, y puede proveer un código especial de inicialización y terminación que puede ser llamado automáticamente cuando el runtime system inicializa y finaliza.
Agregados a la Biblioteca de Subprogramas de RM/COBOL
La biblioteca de subprogramas de RM/COBOL ha sido ampliada con los siguientes subprogramas C$:
· C$CompilePattern compila una expresión de variable patrón para usar en la nueva condición LIKE la cual ha sido agregada al lenguaje RM/COBOL.
· C$ConvertAnsiToOem puede ser usado para convertir un buffer conteniendo caracteres ANSI a un buffer conteniendo los correspondientes caracteres OEM. La configuración del carácter euro ANSI/OEM del runtime es preservado en la conversión.
· C$ConvertOemToAnsi puede ser usado para convertir un buffer conteniendo caracteres OEM a un buffer conteniendo los correspondientes caracteres ANSI. La configuración del carácter euro ANSI/OEM del runtime es preservado en la conversión.
· C$DARG puede ser usado para obtener la descripción de un argumento actual mediante el uso de un número de argumento para referirse al argumento deseado.
· Se han agregado varios de los subprogramas de la biblioteca para hacer operaciones lógicas. Estos incluyen C$LogicalAnd , C$LogicalComplement , C$LogicalOr , C$LogicalShiftLeft , C$LogicalShiftRight , y C$LogicalXor . Cada uno de estos subprogramas pueden operar tanto cadenas no numéricas como valores numéricos.
· C$SecureHash produce un compendio de mensaje de 20 bytes desde una cadena de texto de mensaje de entrada de 229 bytes (2 * * 29) o menos de largo usando el seguro algoritmo de hash (SHA-1).
Eliminación de los Archivos de Mensajes
Los archivos de mensajes para los programas ejecutables RM/COBOL ( runcobol , rmcobol y recover1 ) han sido eliminados. RUN.MSG , RMC.MSG, y REC.MSG , presentes en las versiones previas de RM/COBOL, no existen en la versión 7.5. Los mensajes contenidos en estos archivos residen ahora dentro de cada ejecutable. De esta manera, no hay ninguna búsqueda del archivo de mensajes y entonces ninguna posibilidad de que ocurra un desencuentro en la ejecución con las versiones de los archivos de mensajes.
Eliminación del Archivo Overlay del Compilador
El archivo de overlay para el compilador RM/COBOL de los programas ejecutables al compilar ( rmcobol y rmcobolc ) ha sido eliminado. El archivo RMCOBOL.OVY , presente en las versiones de los sistemas de desarrollo de RM/COBOL ya no existe en la versión 7.5. De esta manera, no hay ninguna búsqueda del archivo de overlay y entonces ninguna posibilidad de que ocurra un desencuentro en la ejecución con las versiones de los archivos de overlay.
Nuevas Características del Runtime System
Además de los nuevos subprogramas C$ a la biblioteca de subprogramas para tiempo de ejecución, el runtime system de la versión 7.5 de RM/COBOL para Windows y UNIX ha sido mejorado con las siguientes características:
· Pipe de sendas . En UNIX, donde direccionar una salida de impresión a un spooler de impresión es común, un nombre de acceso de archivo que comienza con un carácter pipe ("|") puede ahora ser usado para crear el pipe sin tener que usar un registro de configuración DEFINE-DEVICE. Esto permite que las opciones de spooler sean construidas dinámicamente en una variable por el programa COBOL. El chequeo del carácter pipe es realizado después de que el nombre de acceso del archivo es mapeado mediante cualquier variable de ambiente aplicable, así un programa también puede ser conducido a un pipe mediante la carga de una variable de ambiente que mapee el nombre de acceso del archivo especificado en el programa a un valor que tenga al carácter pipe como el primer carácter.
· Pipes de Entrada. Ahora los pipes de entrada son soportados bajo UNIX. Un pipe es usado para entrada cuando un archivo es abierto en modo de entrada y uno de dos, o el path que comience con el carácter pipe ("|") o el nombre de acceso al archivo se refiera al registro de configuración DEFINE-DEVICE que especifique un pipe con la palabra clave PIPE=YES. Por ejemplo, un archivo abierto en modo de entrada con un nombre de acceso de archivo teniendo el valor "| ls -1 *.txt" leerá una lista de archivos de texto (asumiendo archivos de texto a aquellos identificados por la extensión ".txt") en el directorio corriente.
· Configuración por Defecto del Procedimiento Use. La acción a tomar cuando no hay procedimiento USE para un error de I/O sobre un archivo puede ahora ser configurada. Previamente, RM/COBOL finalizaba la unidad de ejecución con un mensaje de error apropiado cuando no había un procedimiento USE. Ahora, el comportamiento del runtime puede ser configurado para ocasionar que el programa continúe como si un procedimiento USE vacío fuera aplicado mediante la especificación de DEFAULT-USE-PROCEDURE=CONTINUE en el registro de configuración RUN-FILES-ATTR.
· Biblioteca de Configuración. Las bibliotecas de objetos de RM/COBOL y las bibliotecas de subprogramas no-COBOL pueden ahora ser configuradas con la palabra clave L, la cual ha sido agregada al registro de configuración RUN-OPTION (paralelamente a la opción L (Library) del comando de Runtime). Adicionalmente, la palabra clave LIBRARY-PATH ha sido agregada al registro de configuración RUN-OPTION para ocasionar la carga de todas las bibliotecas de objetos en un directorio especificado. Tanto la palabra clave L como LIBRARY-PATH RM/COBOL pueden ser especificadas múltiples veces en la configuración.
· Configuración del Programa Principal. La palabra clave MAIN-PROGRAM ha sido agregada al registro de configuración RUN-OPTION. Ella permite especificar un nombre de programa principal para sustituir el nombre de programa especificado en la línea de comando.
· Mejora al Nombre del Registro de Configuración. Los nombres del registro de configuración han sido mejorados para permitir el intercambio entre singular y plural. Por ejemplo, los nombres de registro RUN-OPTION y RUN-OPTIONS son ambos permitidos, y cualquiera de ellos soporta el mismo set de palabras claves.
· COPY-TO-CLIPBOARD Como Valor Agregado para la Palabra Clave ACTION. En el registro de configuración TERM-INPUT, el valor COPY-TO-CLIPBOARD permite que el texto actual seleccionado sea copiado al portapapeles y en consecuencia proveer la capacidad de configurar una tecla en Windows que lleve a cabo esta acción (por ejemplo, Ctrl+"C").
· Más Caracteres Equivalentes de TERM-INPUT para Windows. El poder de configurar teclados para Windows ha sido mejorado para un mejor soporte de teclados internacionales y proveer acceso a teclas que pueden estar en algunos teclados especializados (por ejemplo, el Microsoft Natural Keyboard).
· Nuevo Agregado Especial de Texto a los Íconos de la Barra de Herramientas. Esta nueva característica provee la habilidad de especificar texto a los botones de la barra de herramientas que generen pulsaciones configurables.
· Soporte Euro para Windows. Un nuevo tipo de registro de configuración, con el identificador INTERNATIONALIZATION, ha sido agregado para permitir la configuración del soporte para el símbolo euro (€) en el ACCEPT, DISPLAY, y las operaciones de impresión en Windows. Además, la palabra clave DATA-CHARACTERS del registro de configuración TERM-ATTR ha sido mejorada para permitir la especificación de múltiples rangos separados bajo Windows para de esta manera emparejar la capacidad ya soportada bajo UNIX. Dado que el símbolo euro no está típicamente en el rango por defecto de los caracteres que son interpretados como de texto, el permitir que el símbolo euro sea ingresado en una declaración ACCEPT implica la modificación del rango de los caracteres de datos. Esto puede hacerse usando múltiples palabras clave DATA-CHARACTERS con separación de rangos o por la modificación del límite superior del rango de caracteres para incluir el símbolo euro.
· SYSTEM Window Types. Bajo Windows, los valores que pueden ser especificados para la propiedad SYSTEM Window Type han sido expandidos para incluir MINIMIZEDNOACTIVE y SHOWNOACTIVATE. Estos valores pueden ser almacenados en el registro de Windows mediante rmconfig o pueden ser cargados en tiempo de ejecución mediante C$GUICFG .
· Tooltips en la Barra de Herramientas. Bajo Windows, la indicación del botón de la barra de herramientas que era desplegada en la barra de estado es ahora también desplegada como un tooltip, el cual es una pequeña ventana pop-up conteniendo un texto cerca del botón cuando el puntero del mouse flota sobre él. Se ha agregado la propiedad Toolbar Prompt para controlar este nuevo comportamiento. Esta nueva propiedad permite escoger el antiguo comportamiento de mostrar el texto sobre la barra de estado. También permite escoger el no desplegar la sugerencia en absoluto, desplegarla solo como un tooltip, y desplegar diferentes valores en la barra de estado y como tooltip (esto último requiere cambiar el set de la sugerencia en el registro de Windows mediante el uso de rmconfig o en el programa RM/COBOL mediante una llamada a C$TBar ). La propiedad Toolbar Prompt puede ser cargada en el registro con rmconfig o temporariamente cambiada en tiempo de ejecución llamando a C$GUICFG .
· C$SCRD Soporte para Caracteres de Dibujo de Líneas. El subprograma C$SCRD ha sido modificado para soportar caracteres de dibujo de líneas por el retorno de guiones, signos de más, y barras verticales. Bajo Windows, se ha agregado la propiedad Screen Read Line Draw para permitir que C$SCRD retorne caracteres de dibujo de líneas DOS (por ejemplo, $D9, " Ù " para el rincón inferior derecho de una caja)
· P$GetHandle. El subprograma P$GetHandle ha sido modificado para proveer el retorno opcional del manipulador de Windows de la impresora P$ actual. Esto posibilita que un programa no-COBOL adicione información (gráficos especiales o códigos de barras) a la página impresa sobre una impresora P$.
· P$DisableDialog. El subprograma P$DisableDialog es usado para controlar la invocación automática de la ventana estándar de diálogo de Windows cuando un dispositivo "PRINTER?" es abierto.
· P$EnumPrinterInfo. Es usado para recuperar información detallada acerca de todo de las impresoras del sistema. No es necesario abrir una impresora para obtener esta información.
· Log de Terminación para UNIX. El runtime RM/COBOL de UNIX permite ahora registrar los mensajes de error de terminación, incluyendo información de "traceback", usando la clave ENABLE-LOGGING=TERMINATION del registro de configuración RUN-OPTION. El log de terminación permite que los mensajes de error sean coleccionados para posteriores análisis. Los usuarios de UNIX pueden aún redireccionar el "standard error" para coleccionar información de terminación, pero haciéndolo así indicará que la información no será desplegada para el usuario.
· Creando Archivos sobre un RM/InfoExpress Server. La nueva palabra clave DISABLE-LOCAL-ACCESS-METHOD del registro de configuración RUN-FILES-ATTR puede ser usada para prevenir archivos con incapacidad, nombres simples creados en el directorio de trabajo actual. Especificar UNQUALIFIED-NAMES para el valor de la nueva palabra clave permitirá nuevos archivos a ser creados sobre un RM/InfoExpress Server. En las versiones previas del runtime system, esto era necesario para la aplicación para especificar la máquina servidora sobre la cual el archivo podía ser creado, ya fuera por la inclusión de una senda completa en el programa COBOL o por el uso de una variable de ambiente que la especificara. Proveer la especificación de la nueva palabra clave hace ahora posible crear tales archivos en el primer directorio de la variable de ambiente RUNPATH. El especificarla no tiene efecto sobre el hallazgo de los archivos existentes
Nuevas Características del Compilador
El compilador RM/COBOL versión 7.5 para Windows y UNIX ha sido mejorado con las siguientes nuevas características:
· Palabras Reservadas. Para soportar las nuevas características del lenguaje mencionadas abajo, la lista de palabras reservadas ha sido ampliada con las nuevas palabras DATA-POINTER, DEFAULT, y LIKE. Asimismo, varias palabras han sido eliminadas de la lista de palabras reservadas y trasladadas a la nueva categoría de palabras de contexto sensitivo.
· Palabras de Contexto Sensitivo. Algunas palabras previamente consideradas a ser siempre reservadas han sido cambiadas a ser reservadas solo en ciertos contextos y en consecuencia ahora en la nueva categoría de palabras de contexto sensitivo. Por ejemplo, la palabra UNDERLINE fue previamente una palabra reservada, pero ahora es reservada solo en el contexto de una entrada de descripción de pantalla. Asimismo, varias nuevas palabras han sido agregadas a esta categoría de palabras para soportar las nuevas características más abajo mencionadas.
· Ítems FILLER Ingresados en la Tabla de Símbolos. Los ítems de dato FILLER son ahora ingresados en la tabla de símbolos y así ser desplegados en el mapa de asignación del listado. El mantener los ítems de dato FILLER en la tabla de símbolos requiere memoria adicional en la compilación pero permite soporte para la nueva frase WITH FILLER de la declaración INITIALIZE. La nueva opción de compilación, SUPPRESS-FILLER-IN-SYMBOL-TABLE, ha sido agregada para reducir la memoria requerida al compilar un programa con muchos ítems de dato FILLER.
· Cláusula SELECT Frase NOT OPTIONAL. Por compatibilidad con los otros dialectos COBOL, la frase NOT OPTIONAL puede ser especificada en la cláusula SELECT para los archivos que deban estar presentes en tiempo de ejecución. En virtud de que RM/COBOL asume que los archivos son requeridos en tiempo de ejecución a menos que la frase OPTIONAL fuera especificada, la frase NOT OPTIONAL no tiene efecto, pero es aceptada en orden de facilitar la conversión de programas originalmente escritos en otros dialectos COBOL.
· Cláusula PICTURE. La cláusula PICTURE puede ahora ser omitida para un ítem de dato elemental descripto con una cláusula VALUE que especifique un literal no numérico. En este caso, el ítem definido es como si una cláusula PIC X( n ) hubiera sido especificada, donde n es el largo del literal no numérico especificado en la cláusula VALUE. El compilador RM/COBOL ahora también soporta una cadena de caracteres PICTURE implícita cuando un literal numérico es especificado en la cláusula VALUE.
· Formato 1 Cláusula VALUE. El formato 1 de la cláusula VALUE, la cual define la inicialización de valores para los ítems de la Working-Storage, ahora también define valores a ser usados por la nueva frase VALUE de la declaración INITIALIZE. Por consiguiente, la cláusula es ahora permitida en las secciones File, Linkage y Communication y también en las descripciones de registro descriptos con la cláusula EXTERNAL sin la restricciones previas del RM/COBOL en que la cláusula VALUE podía ser usada solo en las situaciones en que ésta era incluida en el programa fuente como parte de un archivo de copia.
· Formato 2 Cláusula VALUE. El formato 2 de la cláusula VALUE, la cual define valores de número de nivel 88 para nombres de condición, ha sido ampliado para permitir operadores relacionales. Esto permite, en particular, el uso de la nueva condición LIKE para especificar valores válidos para ítems de datos mediante el uso de una expresión patrón regular.
· Condición LIKE. Los operadores relacionales han sido ampliados para incluir el operador LIKE y entonces proveer el caso especial de condiciones de relación llamada condición LIKE. La condición LIKE especifica un valor basado en verdad sobre un ítem de dato que coincide con un valor patrón. Los valores patrones son como expresiones regulares en la misma forma usada por XML Schema.
· Mejoras a la Declaración ACCEPT. La declaración ACCEPT soporta ahora una propuesta de método COBOL estándar de obtener cuatro dígitos para el año mediante el uso de las frases opcionales YYYYMMDD y YYYYDDD en las frases FROM DATE o FROM DAY, respectivamente.
· Mejoras a la Declaración EXIT. La declaración EXIT ahora incluye formatos para salir de un párrafo, una sección, o de un PERFORM en-línea.
· Mejoras a la Declaración INITIALIZE. La declaración INITIALIZE ahora incluye las frases opcionales FILLER, VALUE y DEFAULT. La frase FILLER causa que los ítems de datos FILLER sean inicializados, en vez de ignorados. La frase VALUE causa la inicialización del valor literal especificado en la cláusula VALUE asociada con un ítem de dato elemental. La frase DEFAULT ocasiona que los ítems sean inicializados a sus valores por defecto (espacios, cero, o nulo) cuando las frases VALUE o REPLACING son especificadas pero ninguno de estos valores es aplicable al ítem de dato elemental a ser inicializado. La declaración INITIALIZE ahora también incluye el nuevo nombre de categoría DATA-POINTER para inicializar ítems punteros de datos y permite la inicialización de ítems de datos con ocurrencias variables.
· Mejora a la Declaración USE. La declaración USE ahora permite una serie de modos de OPEN con o sin una serie de nombres de archivos, y de esta manera un simple procedimiento USE puede ser declarado para múltiples modos de apertura o para los archivos especificados.
· Literales Pasados "BY CONTENT". El compilador RM/COBOL versión 7.5 ha sido modificado para pasar literales especificados en la frase USING de la declaración CALL como si la frase BY CONTENT fuera aplicada. Este cambio fue realizado para proteger el valor del literal en el programa llamador de inadvertidos cambios realizados al ítem de dato correspondiente de la Linkage Section en el programa llamado. La nueva palabra clave SUPPRESS-LITERAL-BY-CONTENT del registro de configuración COMPILER-OPTIONS ha sido adicionada para sustituir este nuevo comportamiento hasta que el programa fuente COBOL sea corregido.
· Registración del Compilador. El compilador RM/COBOL versión 7.5 para Windows consiste ahora de un cliente (ya sea cliente modo-consola, rmcobolc.exe , o cliente modo-GUI, rmcobolg.exe , uno de los dos llamado rmcobol.exe ) y un servidor ( rmcbl75c.dll ). Los componentes del cliente son completamente compatibles con las versiones previas del programa rmcobol.exe ; esto quiere decir que no se requieren cambios en la línea de comandos. Sin embargo, el servidor DLL debe ser registrado en Windows antes de que los programas RM/COBOL puedan ser compilados. Esto es automáticamente ejecutado durante la instalación y es liberado solo si el compilador es mudado a un directorio diferente sin que sea instalado nuevamente. En este caso, ningún cliente puede ser usado para re-registrar el servidor.
· Cambio en la Opción Z del Compilador. La opción Z del compilador puede no ser utilizada para restringir el nivel de versión objeto del código generado a objetos de nivel 6 o por debajo. Objetos nivel 7 corresponden a las versiones 6. nn de RM/COBOL. La eliminación de la necesidad del compilador de generar código para estas antiguas versiones perfecciona su eficiencia y confiabilidad y asegura que el mismo no tendrá necesidad de suprimir optimizaciones que el antiguo runtime system no soporta.
· Los Listados Incluyen Ahora las Declaraciones Remplazadas. Las líneas fuentes que han sido remplazadas por la declaración REPLACE o la frase REPLACING de la declaración COPY son ahora incluidas como comentarios en el listado de compilación. Estas líneas pueden ser suprimidas del listado mediante la especificación tanto de la opción de compilación C=2 como de C=3, o por el valor de configuración SUPPRESS-REPLACED-LINES para la palabra clave LISTING-ATTRIBUTES del registro de configuración COMPILER-OPTIONS.
· Salidas de Compilación Más Informativas. El indicador de nivel de copia en el listado de compilación también ha sido mejorado para proveer información acerca de líneas fuente que han sido modificadas, remplazadas o insertadas como resultado de la declaración REPLACE o de la frase REPLACING de la declaración COPY. Además, la presentación del remplazamiento de texto en el listado de compilación ha sido perfeccionada.
· Listando Solo Errores con Información de Depuración. La opción E del comando de compilación no es ignorada cuando las opciones Y=2 y Y=3 son especificadas. De esta manera, ahora es posible requerir solo un listado de errores mientras al mismo tiempo se genera una completa información de depuración en el archivo objeto.
Nuevas Características de los Utilitarios
Las nuevas características de los programas utilitarios en RM/COBOL versión 7.5 para Windows y UNIX incluyen:
· Rápida Conversión al Nuevo Formato de Archivo Indexado. El utilitario Indexed File Recovery ( recover1 ) ha sido mejorado para convertir archivos indexados al nuevo y más confiable formato versión 4. Esta conversión es muy eficiente, tomando solo un poco más de tiempo que una recuperación de archivo realizada para corregir un error. Para convertir un archivo existente al nuevo formato, utilice el utilitario Define Indexed File ( rmdefinx ) para cambiar a la nueva versión de archivo en el cabezal del archivo y luego el recover1 para ejecutar la conversión. Algunos archivos indexados con muy pequeños tamaños de bloque no pueden ser convertidos al formato de la versión 4. En este caso, cuando usted ejecute rmdefinx para cambiar la versión de archivo en el cabezal, recibirá una notificación de que el tamaño del bloque es muy pequeño para que ocurra una conversión exitosa.
· Modo Batch para Cambiar Archivos Indexados a Versión de Archivo Nivel 4. Los nuevos parámetros CONVERT4 y ATOMICIO han sido agregados al utilitario Define Indexed File ( rmdefinx ) para permitir que un gran número de archivos sea sencillamente convertido a la versión 4 de archivo ya sea con o sin la capacidad atomic I/O. El uso de uno de estos nuevos parámetros ocasionarán que rmdefinx se ejecute en "modo batch" sin la normal e interactiva sugerencia (prompt) al usuario.
Licenciamiento Más Flexible
Ahora, el compilador RM/COBOL, el runtime system de RM/COBOL, y el utilitario Indexed File Recovery de RM/COBOL, requieren la misma clase de certificados de licencia que Cobol-WOW y Relativity han estado usando desde algún tiempo. Estos certificados de licencia son personalizados para cada producto y permiten estandartes (banners) especializados, fechas de expiración de productos, y sencillas actualizaciones
Chequeo Automático de Actualización
El compilador RM/COBOL, el runtime system, y CodeWatch ahora proveen información acerca de actualizaciones disponibles de productos automáticamente. CodeWatch provee la información de actualización cuando comienza, mientras que el compilador y el runtime lo hacen cuando están terminando. La nueva palabra clave DISPLAY-UPDATE-MESSAGES ha sido agregada a los registros de configuración COMPILER-OPTIONS y RUN-OPTION para controlar cuales de los mensajes de actualización deben ser desplegados. Es posible ver todos los mensajes de actualización (por defecto para el sistema de desarrollo RM/COBOL) o los mensajes "urgentes" (por defecto para el runtime system RM/COBOL). Los mensajes urgentes son usados para indicar solo problemas importantes que los usuarios necesitan enterarse de inmediato.
---------
Nuevas Características en RM/COBOL 7.1 para UNIX Linkeo en Runtime Eliminado
Versiones de RM/COBOL anteriores a 7.1 requerían que el runtime estuviese relinkeado para agregar nuevas funcionalidades como el VanGui Interface Builder. También había diferentes versiones del runtime, incluyendo la versión terminfo, termcap, el runtime con el RM/InfoExpress client, y el runtime Flexgen.
La versión de RM/COBOL 7.1 para UNIX elimina la necesidad de relinquear el runtime ya que usa módulos de soporte opcionales para agregarle funcionalidad. Con la versión 7.1, habrá sólo una versión simple del runtime con módulos de soporte para proveer las características adicionales. Estos módulos están implementados como objetos UNIX compartidos. Liant provee módulos de soporte para terminfo y termcap interfases terminales (seleccionables en la instalación), el RM/InfoExpress client interface, y la rutina de interfase de Flexgen con el runtime RM/COBOL. Otros módulos de soporte, como el del VanGui Interface Builder Server y el Enterprise CodeBench están disponibles por Liant. El CodeBridge también poseerá estas facilidades.
Archivo de configuración automática
Versiones UNIX de RM/COBOL anteriores a la 7.1 permitieron que un archivo de configuración fuese linqueado al runtime, compilador o utilidad de recupero. La versión 7.1 of RM/COBOL para UNIX permite que el archivo de configuración sea automáticamente ubicado por el runtime del sistema, el compilador y la utilidad de recuperación. Este nuevo método es llamado" archvo de configuración automática".
Soporte de UNIX para CodeBridge
CodeBridge está ahora disponible para aquellas plataformas UNIX que soportan la versión del runtime 7.1 de RM/COBOL. El CodeBridge Builder genera mòdulos fuente C que son independientes de la plataforma. Por ejemplo, usted puede usar el CodeBridge Builder sobre una plataforma Windows para generar archivos con código C que pueden ser usados tanto en Windows como en sistemas UNIX.
Archivo de configuración
La palabra ENABLE-LOGGING del RUN-OPTION en el archivo de configuración ha sido ampliada con nuevos valores para controlar la generación de varios errores y archivos log de información.
Todas las modificaciones pertinentes a v7.0
En adición a los cambios listados arriba, RM/COBOL v7.1 para UNIX incluye todos los v7.0 avances que no eran únicos al sistema operativo Windows. Entre estos encontramos:
Características nuevas del runtime: RM/COBOL versión 7.1 para UNIX incluye dos nuevas keywords de configuración, PRINT-ATTR para asistir en la configuración de LINAGE para impresoras de páginas, como laser printers y ink jet printers. Las nuevas keywords son LINAGE-INITIAL-FORM-POSITION and LINAGE-PAGES-PER-PHYSICAL-PAGE.
Agregados a las bibliotecas de funciones de RM/COBOL
C$Delay: libera la CPU por un tiempo determinado.
C$GetEnv y C$SetEnv recupera y setea respectivamente variables de ambiente.
C$GetLastFileName recupera el último nombre de archivo y el camino usado en un llamado I/O.
C$GetLastFileOp devuelve información sobre la última operación de I/O realizada por Cobol.
C$GetRMInfo devuelve información sobre el runtime.
C$MemoryAllocate reserva memoria dinámica.
C$GetSysInfo devuelve información sobre el sistema operativo sobre el cual el runtime de RM/COBOL está corriendo.
C$MemoryDeallocate libera memoria dinámica.
C$ShowArgs muestra una lista de argumentos usados para llamar a un subprograma.
Nuevas características del compilador
Aumento de la capacidad. RM/COBOL versión 7.1 para UNIX permite 65535 identificadores en un programa simple (hasta 8192 en la versión 6.61). El máximo espacio para palabras definidas por el usuario ha aumentado, tal que todos los 65535 identificadores pueden tener nombres únicos de 30 caracteres de longitud (hasta 21 en la versión 6.61). Los cambios que soportan el aumento de la capacidad también eliminan el problema que limitó las consecutivas líneas de comentarios a 800. El límite es ahora de 18000 consecutivas.
Nuevas palabras reservadas Para soportar algunas características descritas en los siguiente párrafos, las palabras reservadas han sido extendidas con las siguientes nuevas palabras: ADDRESS, CENTURY-DATE. CENTURY-DAY, COUNT-MAX, COUNT-MIN, DATE-AND-TIME, DAY-AND-TIME, NULL, NULLS, y RETURNING. Nótese que si usamos estas palabras como si fuesen definidas por el usuario, debemos cambiar alguna letra o usar el DERESERVE keyword en el COMPILER-OPTIONS registro de configuración.
ACCEPT Un nùmero de cambios han sido hechos al ACCEPT para mejorar la manera en que las fechas y horas son manejadas. Estos cambios proveen maneras adicionales de escribir Y2K. Nuevas frases incluyen CENTURY-DATE, CENTURY-DAY, DATE-AND-TIME, DATE-COMPILED, y DAY-AND-TIME.
Nombres Constantes Constantes pueden ahora ser definidas con nombres constantes declarados en el nivel 78. Una vez definida, el nombre de la constante puede ser usado en casi todos los contextos donde un literal o un entero es requerido. Cuando se usa correctamente, las constantes simplifican enormemente el mantenimiento de los programas COBOL.
Tipos de punteros
El tipo de puntero ha sido agregado. Punteros pueden ser usados para apuntar a otros datos en un programa o en memoria. Soporte para punteros incluye las NULL y NULLS constantes, las cuales son punteros literales con un valor de puntero null. Hay dos formatos nuevos del SET para manipular los punteros y un ADDRESS OF registro especial para obtener la dirección de un puntero. Un puntero no null se refiere al área de memoria que puede ser accedida en COBOL estableciendo la base de direccionamiento en el nivel 01 o 77 descrito en la sección de linqueos del programa. La reserva de memoria dinámica es soportada por dos nuevos subprogramas en la biblioteca, C$MemoryAllocate y C$MemoryDeallocate.
Configuración del tamaño de datos binarios
Nuevas características de configuración permiten que tipos numéricos binarios sean localizados con el mínimo requerimiento de espacio para soportar caracteres o cadenas específicos PICTURE con el tamaño configurado. RM/COBOL ha tradicionalmente localizado tipos numéricos binarios como dos, cuatro, ocho o dieciseis bytes. Las nuevas opciones de configuración permiten que los tipos numéricos binarios descritos con uno o dos dígitos sean localizados como un byte simple.
Override de alocación binaria
Además de la configuración de alocación binaria, el compilador ahora soporta una alocación override en USAGE. Dicha alocación es un entero, encerrado entre paréntesis, que sigue un tipo binario (COMPUTATIONL-4, COMP-4, o BINARIO). El entero especifica el número de bytes a localizar contrarrestando el número de bytes que deberían ser localizados basados en la configuración del compilador actual. La especificación puede contener menos bytes que los requeridos para soportar la precisión decimal indicada en el PICTURE carácter-string.
COUNT, COUNT-MAX, y COUNT-MIN registros especiales El compilador ahora soporta tres nuevos registros especiales, COUNT OF nombre, COUNT-MIN-OF nombre, y COUNT-MIN-OF nombre, y COUNT-MAX-OF nombre, que pueden ser usados para obtener el n{umero de ocurrencias de una tabla. Para una tabla fija, COUNT, COUNT-MAX, y COUNT-MIN todas retornan el n{umero de ocurrencias especificadas en OCCURS. Para una tabla variable, COUNT-MIN retorna el mínimo especificado en OCURRS; COUNT retorna el número corriente de ocurrencias (o sea, el valor de DEPENDING especificado en OCCURS) y COUNT-MAX retorna el máximo número de ocurrencias especificadas en OCCURS.
Registro especial LENGTH
El compilador ahora soporta un registro especial LENGTH OF identificador-1, que puede ser usado para obtener la longitud en bytes de cualquier data. La longitud para la mayoría de los datos es constante.
Registro especial PROGRAM-ID El compilador ahora soporta un nuevo registro especial, PROGRAM-ID, el cual puede ser usado para obtener el nombre del programa de cualquiera que especifique este registro.
Comentarios en líneas
El compilador ahora soporta el símbolo *> como introductor de comentario. Este carácter debe ser precedido por un espacio.
Argumentos OMITTED
El compilador ahora soporta la palabra OMITTED en USING de un CALL. Desde que los argumentos son posicionales, esta característica permite que un argumento sea omitido desde otro del final de la lista USING.
GIVING/RETURNING El compilador ahora soporta GIVING/RETURNING en el procedure Division header y en un CALL. Especifica un argumento adicional tratado como el resultado del programa llamado.
Argumentos formales (USING/GIVING). El compilador ahora maneja la especificación de un argumento formal como un argumento en un CALL o en una reference a un identificador. En estos dos caos, la referencia es evaluada de acuerdo a la descripción del argumento actual correspondiente al argumento formal más que usar la descripción de la sección Linkage. Esto significa que un programa que es un intermediario entre dos programas no necesita tener una sección descriptora Linkage que describa el tamaño del argumento actual que se está pasando. Por ejemplo, llamamos C$CARG con un argumento formal, el cual es descripto como más largo que el actual argumento. Esto no arrojará error. En lugar, C$CARG retornará la longitud correcta del argumento actual, por los cambios introducidos. Esto también significa que un programa puede llamar al subprograma C$CARG con un argumento que el programa principal ha omitido sin obtener un error. En este caso, la llamada a C$CARG dará un resultado correcto y retornará el argumento descriptor que incluye el tipo de OMITTED y una longitud de cero. En este caso de modificar la referencia, un argumento omitido causará un error, pero para un argumento que no es omitido, la modificación de referencia puede usar cualquier desplazamiento y combinación de longitud que sea consistente con el argumento actual. Previo a este avance, modificaciones de referencia que usaban variable implicaban una referencia al item descrito en la sección Linkage para el argumento formal e implicaba referencia, si era más largo que el argumento correspondiente actual, lo cual causaría un error ante de que la modificación de referencia fuese aplicada.
Nueva lista de formato de fechas
Ahora puede ser configuradas las fechas para incluir años de cuatro dígitos con el nuevo formato DDMMAAAA, MMDDAAAA, AAAAMMDD, y AAAADDD. La configuraión por default ha sido cambiada a MMDDAAAA. Este cambio también incluye que el párrafo DATE-COMPILED use el mismo formato de fecha que el header de lista de compilación.
Recuperación de archivos mejorada
Para largos archivos, el utilitario Indexed File Recovery corre al doble de velocidad que la versión anterior. La opción -m ha sido agregada para permitir al usuario especificar una cantidad más grande de memoria a ser usada por el recovery, lo cual resulta en una recuperación mucho más rápida.
Nueva opción de utilidad Rmpgmcom
Una nueva opción en el rmpgmcom, el STRIP, puede remover tablas COBOL y la información de debug producida por la opción Y de compilación de los archivos objetos.
---------
Nuevas Características en RM/COBOL 7.0 para Windows
RM/COBOL 7 ofrece mejoras sustanciales a los programadores COBOL que quieren desarrollar en ambiente Microsoft Windows. Algunas de ellas son:
-
CodeWatch: Debuger integrado .
CodeWatch se incluye sin costo adicional y soporta la depuración de cualquier aplicación, sin necesidad de usar los entornos de desarrollo RM/CodeBench o Enterprise CodeBench . Tiene el aspecto de las aplicaciones de 32 bits de Windows y emplea en su interfaz los controles habituales de Windows, como barras de herramientas, listas en árbol, barras de progreso y spin buttons.
-
CodeBridge: Sistema de llamadas a otros lenguajes.
Esta nueva utilidad simplifica la comunicación de programas COBOL con subprogramas escritos en otros lenguajes (p.ej. C, C++). Con CodeBridge se pueden efectuar llamadas a subrutinas de usuario y API's externas sin introducir en la aplicación código y datos que no son propios de COBOL. Esto significa que el programador puede escribir rutinas en C con los tipos de datos habituales de este lenguaje sin preocuparse de la compleja estructura ArgEntry de los tipos de datos de COBOL. Después de que se haya transformado una declaración de función para usarla como plantilla, CodeBridge genera automáticamente un programa fuente en C para emplear la DLL. Dicho programa generado por CodeBridge contiene toda la lógica de comunicación necesaria entre COBOL y C, las subrutinas de usuario y todas las conversiones de tipos de datos pertinentes. El programador lo único que tiene que hacer es compilar este programa C y enlazar todo (incluyendo la biblioteca de conversión) para generar una DLL. De forma similar podemos manejar bibliotecas DLL existentes.
-
Impresión mejorada bajo Windows.
El runtime de RM/COBOL 7 contiene una serie de mejoras orientadas a la obtención de mayores posibilidades y flexibilidad cuando se trabaja con los drivers de impresión de Windows. Se ha incorporado un nuevo nombre de impresora denominado PRINTER?. Cuando se produce el OPEN de este dispositivo, se nos presenta automáticamente el cuadro de diálogo de Windows para la selección de impresoras, permitiendo así al usuario de la aplicación una selección dinámica de impresora. Se ha incluído un conjunto de subprogramas que llamados desde COBOL mediante CALLs a rutinas P$ dan un amplio abanico de posibilidades: posicionamiento, selección de fuente, dibujo de cajas, líneas y bitmaps, además de muchas otras.
Se ha incluído en el runtime el soporte de impresión RAW para impresoras de red de Windows NT. También se ha incluido un soporte limitado para secuencias de escape en impresoras Windows.
-
Habilidad ee usar la Interface de Btrieve (Pervasive.SQL)
Un subprograma adicional, C$BTRV, hace que las llamadas directas a funciones de Btrieve, incluyendo transacciones, estén disponibles desde RM/COBOL usando la interface normal de Btrieve.
-
Soporte de ficheros grandes
El runtime permite a los ficheros de RM/COBOL 7 crecer por encima de los límites impuestos en versiones anteriores. En Windows98 se soportan ficheros de hasta 4GigaBytes. En Windows NT se soportan ficheros del orden de Terabytes. Dependiendo de la versión de Windows 95, el tamaño soportado será de 4 GigaBytes, para OSR2 y 2 GigaBytes para la versión normal. Bajo Windows, sólo en sistemas de ficheros FAT32 (Windows 95/98) y NTFS (Windows NT) el tamaño de archivo puede ser superior a 2 GigaBytes.
-
Mejoras adicionales del compilador
La versión 6.61 de RM/COBOL introdujo numerosos cambios en el compilador, y laversión 7 aún más, incluyendo los siguientes: Mayor capacidad. RM/COBOL permite definir hasta 65.535 identificadores en un programa (hasta 8.192 en versión 6.6l). El máximo espacio para palabras definidas por el usuario ha crecido de forma que los citados 65.535 identificadores podrían tener 30 caracteres de longitud (21 en la versión 6.61). El número máximo de líneas consecutivas de comentarios ha pasado de 800 a 18.000.
Mejora de la sentencia ACCEPT. Se han añadido nuevas opciones en los ACCEPT para manejar fechas y tiempos (algunas de ellas de cara al año 2000). Nuevas frases: CENTURY-DATE, CENTURY-DAY, DATE-AND-TIME, y DAY-AND-TIME.
Nombres de constantes. Se pueden definir ahora constantes por programa mediante declaraciones de nivel 78, para utilizar en cualquier contexto en el que la sintaxis del lenguaje requiera un literal o un entero. Un uso adecuado de constantes simplifica el mantenimiento de programas COBOL
Tipo de datos POINTER. Se ha añadido este tipo de dato para soportar la gestión dinámica de memoria.
Nuevo tipo de datos BYTE. Una opción de configuración permite definir data ítems con uno o dos dígitos para ser almacenados en un solo byte. RM/COBOL tradicionalmentealmacena los data ítems binarios en dos, cuatro, ocho o dieciséis bytes dependiendo del número de dígitos decimales indicados en PICTURE. La nueva opción permite almacenar en un solo byte los data ítems binarios cuya PICTURE indique como máximo dos dígitos decimales.
-
Log de Terminación
En Windows se puede usar para crear un log de mensajes de error de terminación, incluyendo información de traceback, y juntar información sobre errores que no son atrapados por las declarativas. Las claves ENABLE-LOGGING=TERMINATION y LOGPATH se han agregado a los registros de configuración RUN-OPTION para permitir que se graben los mensajes de error para su posterior análisis.
|