2: *Resumen de Nuevas Características en RM/COBOL* *en las últimas versiones, versión por versión*
3:
4: *{style:type=span|font-size=10pt}Software RM/COBOL\\{style}*{style:type=span|font-size=10pt}Ambiente de Aplicaciones y Lógica de
5: Negocios de Misión Crítica. Le da a los programadores un fenomenal valor
6: agregado, permitiéndoles con un mínimo de programación y mantenimiento,
7: distribuir aplicaciones en un amplio abanico de plataformas y sistemas
8: operativos.{style}\\
9: RM/COBOL
10: contiene un gran número de archivos y programas individuales. La
11: cantidad de archivos y programas depende de la versión específica del
12: producto y si se trata de un sistema de desarrollo o de ejecución
13: solamente.
14:
15: *Compilador RM/COBOL*\\
16: El
17: compilador RM/COBOL lee código fuente COBOL y produce archivos objeto
18: que pueden ser ejecutados utilizando un runtime. Estos archivos objetos
19: son portátiles, y pueden ser ejecutados por un runtime de RM/COBOL en
20: muchas configuraciones de computadoras -aún configuraciones de
21: computadoras que son diferentes de la que se usó para compilar los
22: programas objeto.
23:
24: *RM/COBOL Runtime System*\\
25: El runtime de RM/COBOL se usa para ejecutar programas COBOL compilados. Liant Software
26: Corporation provee un runtime diferente para cada computadora
27: soportada, y ayuda a separar al programador COBOL de las diferencias
28: entre computadoras y ambientes. El runtime también incluye un depurador
29: para asistir en el desarrollo de programas COBOL.
30:
31: *CodeWatch*\\
32: CodeWatch
33: es un sistema de desarrollo integrado para Windows que se incluye en el
34: development system de RM/COBOL. CodeWatch soporta el ciclo entero de
35: desarrollo, incluyendo la edición, compilación, y depuración de
36: aplicaciones RM/COBOL.
37:
38: CodeWatch
39: puede utilizarse para depurar y cambiar programas que son compilador
40: independientemente, sin requerir que se construyan proyectos.
41:
42: *CodeBridge*\\
43: CodeBridge
44: es un sistema que permite hacer llamadas entre lenguajes de
45: programación que se incluye con el development system de RM/COBOL. Esta
46: herramienta simplifica la comunicación entre programas COBOL y
47: subprogramas no-COBOL (como aquellos escritos en C o C++). CodeBridge
48: permite a los programadores COBOL llamar APIs externas o subprogramas
49: desarrollados a medida sin introducir otro lenguaje y tipos de datos en
50: sus programas.
51:
52: *InstantSQL.* Un
53: paquete para embeber sentencias SQL en los programas fuente COBOL para
54: que los programas puedan acceder bases de datos relacionales ODBC usando sentencias SQL.
55:
56: *Bibliotecas Internas y Programas Utilitarios*\\
57: El
58: runtime de RM/COBOL también incluye gran cantidad de bibliotecas de
59: rutinas para realizar funciones no especificadas en el estándar COBOL.
60: Entre otras cosas, estas rutinas pueden ser usadas para obtener
61: información sobre los parámetros en los programas, controlar la
62: pantalla, y ejecutar otros programas (no-COBOL).
63:
64: Además,
65: una biblioteca de subprogramas P$ es provista con el runtime de
66: RM/COBOL para Windows que permite acceder a las características de
67: impresión de Windows.
68:
69: Hay varios
70: programas utilitarios que vienen con RM/COBOL. Estos programas
71: utilitarios se usan para administrar y manipular archivos de datos y
72: archivos objeto RM/COBOL.
73:
74: *Paquetes Adicionales que no se incluyen en las herramientas de desarrollo ni de producción*\\
75: Hay varios paquetes adicionales disponibles para programas RM/COBOL. Estos incluyen los siguientes:
76:
77: *{style:type=span|font-size=10pt}Xcentrisity Business Information Server (BIS)\\{style}*{style:type=span|font-size=10pt}Es un Servidor de Aplicaciones Web
78: basado en estándares específico para COBOL. Construido sobre el poder de XML
79: como la base de conectividad trabaja en conjunto con los servidores web
80: standard de la industria como Microsoft IIS y Apache. BIS ofrece a los
81: desarrolladores de aplicaciones una oportunidad única para construir
82: Aplicaciones Web avanzadas basadas en el browser o Web Services basados en SOAP
83: abarcando programas RM/COBOL y archivos de datos COBOL y bases de datos.{style}
84:
85: *{style:type=span|font-size=10pt}Xcentrisity Frameware\\{style}*{style:type=span|font-size=10pt}Una solución completa diseñada específicamente para acelerar la migración de sus aplicaciones de gestión a la Web, y para incrementar su funcionalidad actual con los últimos avances disponibles en tecnologías Web. Basado en una arquitectura Java (J2EE), proporciona una solución completa y una rápida metodología para construir y obtener una verdadera funcionalidad Web dentro de una Arquitectura Orientada a Servicios (SOA).\\{style}
86:
87: *{style:type=span|font-size=10pt}BIS-Express\\{style}*{style:type=span|font-size=10pt}BIS-Express es un generador de
88: aplicaciones para la web diseñado específicamente para el Business Information
89: Server (BIS) de Liant Software Corporation. BIS-Express le permite diseñar su
90: aplicación web de una forma intuitiva, sencilla y ágil, completando parámetros
91: en un formulario web, luego genera todas las páginas, programas, y archivos de
92: soporte que son requeridos por una aplicación completa. La aplicación creada
93: por BIS-Express está lista para correr. Esto significa que usted puede agregar
94: su lógica de negocios a una aplicación web completa y libre de errores, en vez
95: de comenzar desde cero.{style}
96:
97: *{style:type=span|font-size=10pt}XML Extensions\\{style}*{style:type=span|font-size=10pt}Permite a las aplicaciones RM/COBOL
98: interoperar libre y fácilmente con otras aplicaciones que usan el standard XML.
99: XML Extensions proporciona la habilidad de importar y exportar documentos XML
100: hacia y desde variables de la working storage de COBOL en una forma natural e
101: intuitiva para el programador COBOL. XML Extensions también es la base de BIS,
102: nuestro servidor de aplicaciones y servicios COBOL para la web.{style}
103:
104: *{style:type=span|font-size=10pt}WOW Extensions{style}*{style:type=span|font-size=10pt} (COBOL-WOW)\\{style}{style:type=span|font-size=10pt}Una
105: herramienta de desarrollo visual para crear aplicaciones con todas las
106: características de Windows en forma rápida, fácil y completamente en Cobol. Aplicaciones{style} COBOL 100% GUI.
107:
108: *{style:type=span|font-size=10pt}Relativity\\{style}*{style:type=span|font-size=10pt}Utilice
109: sus datos COBOL como una Base de Datos Relacional.{style}{style:type=span|font-size=10pt} La información debe estar al alcance
110: de los usuarios de forma fácil y rápida para su actualización y manipulación.
111: Los usuarios quieren acceder a estos datos con sus herramientas favoritas, como
112: Microsoft Excel, Microsoft Word, Crystal Reports, Microsoft Access, PHP y
113: otras. Relativity brinda a{style}{style:type=span|font-size=10pt}cceso SQL a Archivos COBOL (RM y MF)
114: (ODBC/JDBC){style}
115:
116: *{style:type=span|font-size=10pt}RM/InfoExpress\\{style}*{style:type=span|font-size=10pt}Un administrador de archivos diseñado para optimizar el acceso a archivos de datos RM/COBOL en varias redes de area local y de area extendida. Disponible para TCP/IP. {style}
117:
118: *{style:type=span|font-size=10pt}Cobol RPC\\{style}*{style:type=span|font-size=10pt}Una herramienta para construir aplicaciones RM/COBOL distribuidas para LANs, WANs e Internet. Permite llamar e iniciar programas en otro servidor.{style}
119:
120: *{style:type=span|font-size=10pt}Todas las versiones\\{style}*
121: {style:type=span|font-size=10pt|color=#cc0000}
- RM/COBOL 12{style}\\
122: {style:type=span|font-size=10pt|color=#cc0000}
- RM/COBOL 11{style}\\
123: {style:type=span|font-size=10pt|color=#cc0000}
- RM/COBOL 10{style}\\
124: {style:type=span|font-size=10pt|color=#cc0000}
- RM/COBOL 9{style}\\
125: {style:type=span|font-size=10pt|color=#cc0000}
- RM/COBOL 8.0{style}\\
126: {style:type=span|font-size=10pt|color=#cc0000}
- RM/COBOL 7.5{style}\\
127: {style:type=span|font-size=10pt|color=#cc0000}
- RM/COBOL 7.1 para UNIX{style}\\
128: {style:type=span|font-size=10pt|color=#cc0000}
- RM/COBOL 7.0 para Windows{style}\\
129:
130:
131: ---------{style:type=span|color=#cc0000|font-size=10pt}*
Nuevas Características en RM/COBOL 12
*{style}\\
132: \\
133: •{style:type=span} Compatibilidad mejorada con Microsoft Windows Server 2008 y Windows Vista. \\
134: \\
135: •{style:type=span} Depuración de aplicaciones Xcentrisity BIS dentro de Codewatch. \\
136: \\
137: •{style:type=span} El largo máximo de las opciones de línea de comando del runtime ha sido incrementado a 4095 caracteres. \\
138: \\
139: •{style:type=span} El número máximo de identificadores que pueden ser definidos en un programa fuente ha sido aumentado desde 65.534 a 840.000. \\
140: \\
141: •{style:type=span} El largo de las variables en la Working-Storage y la Linkage Section ahora puede ser mayor de 65.280 caracteres. Los registros de archivo aún están limitados a 65.280 caracteres. \\
142: \\
143: •{style:type=span} Ahora puede usarse reference modification sobre ítems mayores a 65.280 caracteres en largo. \\
144: \\
145: •{style:type=span} La cláusula OCCURS ahora permite más de 64k ocurrencias. \\
146: \\
147: •{style:type=span} Se ha agregado la cláusula SAME AS como una nueva cláusula de descripción de un dato. Esta cláusula permite declarar una variable que tenga la misma descripción que una variable definida previamente.
148: 01 registro-historia-usuarios.
149: 10 clave-historia-usuarios.
150: 20 id-usuario same as id-usuario in archivo-usuarios. \\
151: \\
152:
153: •{style:type=span} La declaración INSPECT ha sido mejorada con el adjetivo TRAILING para contar o reemplazar los caracteres finales en el valor de una variable. Esta nueva capacidad es particularmente útil para contar el número de espacios al final de una variable no numérica. \\
154: \\
155: •{style:type=span} Reference modification ha sido mejorada con la frase JUSTIFIED que permite la fácil remoción de los espacios finales en un dato que se envía o justificación a la derecha en una variable que se recibe. \\
156: \\
157: •{style:type=span} Los nombres de índice ya no tienen que ser únicos. \\
158: \\
159: •{style:type=span} Se ha agregado la opción de compilación condicional a través del uso de secuencias en el área de Identification en el programa fuente. Los patrones de las secuencias para incluir o excluir se especifican en el archivo de configuración. \\
160: \\
161: •{style:type=span} Las reglas de la cláusula OCCURS con la frase DEPENDING ON se han flexibilizado para permitir múltiples especificaciones de ocurrencia variable de datos dentro de un registro. \\
162: \\
163: •{style:type=span} El compilador ahora soporta los siguientes nuevos registros especiales: HIGHEST-VALUE, LOWEST-VALUE, INITIAL-VALUE, MAX-VALUE, MIN-VALUE, PROCEDURE-NAME. \\
164: \\
165: •{style:type=span} Se ha agregado un nuevo valor para la palabra clave ACTION del registro de configuración TERM-INPUT. El valor ENTER-DEBUGGER causa que el Debuger Interactivo de RM/COBOL se inicie en la siguiente sentencia ejecutada luego de una sentencia ACCEP \\
166: \\
167:
168: *Características agregadas para soportar XML Extensions*
169:
170: Incluye un compilador de RM/COBOL capaz de generar y embeber una tabla de símbolos en formato XML dentro del archivo objeto COBOL. Esta característica elimina la necesidad de correr un utilitario separado luego de la compilación para crear los archivos de modelo de XML Extensions.
171:
172: *RM/InfoExpress Versión 12*
173:
174: •{style:type=span} Compatible con el Manejador de Archivos RM actual. \\
175: \\
176: •{style:type=span} Logging del lado del cliente es una nueva capacidad para diagnosticar y resolver problemas de conexión inicial del cliente de RM/InfoExpress al Servidor de RM/InfoExpress. \\
177: \\
178: •{style:type=span} El nuevo archivo de log contiene la siguiente información sobre cada conexión:
179: - el nombre de host del cliente
180: - la dirección IP del cliente (mediante gethostbyname)
181: - el nombre de host del servidor
182: - la dirección IP del servidor
183: - el resultado del pedido de conexión
184: Además del status de conexión, el archivo de log también contiene el resultado del pedido de establecimiento de sesión, y el resultado del primer pedido de Open y la respuesta. \\
185: \\
186: *Xcentrisity v12*
187:
188: •{style:type=span} Debugging de programas de servicio BIS usando CodeWatch. \\
189: \\
190: •{style:type=span} Total soporte de Microsoft Windows Server 2008. \\
191: \\
192: •{style:type=span} Internet Protocol Version 6 (IPv6) ahora es soportado en Windows Vista y Windows Server 2008. \\
193: \\
194: *Relativity v12*
195:
196: •{style:type=span} El utilitario del Designer para marcar columnas Nulas ahora muestra los nombres de las tablas seleccionadas para procesar. \\
197: \\
198: •{style:type=span} UNIX data client calcula y muestra el número de filas en las tablas; muestra los índices de las tablas. \\
199: \\
200: •{style:type=span} El Designer permite invocar el applet de Configuración de Relativity del panel de control y su archivo de ayuda. {style}\\
201: \\
202: ---------{style:type=span|color=#cc0000|font-size=10pt}*
Nuevas Características en RM/COBOL 11
*{style}\\
203: \\
204: Soporta *Windows Vista*, así como Windows XP,
205: 2000 y 2003 Server.\\
206: Ya no se soportan versiones
207: anteriores de Windows como 98, 98SE, ME y NT 4.0.
208:
209: La sentencia CALL soporta hasta 2047 elementos en la lista de USING.
210:
211: El formato de linea del código fuente permite una longitud total de hasta 65000 caracteres. Se han hecho varios cambios
212: en las opciones de configuración
213: para permitir la definición y uso de lineas de mas de 80 caracteres en los programas fuente.
214: Se ha mejorado la sentencia
215: START permitiendose utilizar
216:
217: sentencias de tipo START WHILE KEY LIKE para seleccionar registros que
218: concuerden con una determinada
219: expresión.
220:
221: La comprobación en
222: tiempo de ejecución
223: de índices ahora puede
224: activarse mediante una entrada
225: en el archivo de configuración.
226:
227: Las propiedades configuración mediante RMConfig e INI2REGpueden ser establecidas parael usuario actual o para todos los usuarios de esa PC.
228:
229: Soporte para PDFlib versiones 6.0.3 y 7.0.0 (www.pdflib.com).
230:
231: CodeWatch incluye
232: preferencias para establecerla longitud máxima de linea y la posición del margen derecho.
233:
234: CodeWatch ahora soporta el uso de varios monitores.
235: \\
236: ---------{style:type=span|color=#cc0000|font-size=10pt}*
Nuevas Características en RM/COBOL 10
*{style}\\
237: \\
238: Los servidores COM del compilador y el runtime se registran de
239:
240: forma automática y silenciosa cuando sea necesario si el usuario tiene
241: los permisos suficientes para realizar el registro. Ésto elimina
242: errores tipo "clase no registrada" que pueden ocurrir cuando el
243: registro de Windows está dañado. El registro automático es también útil
244: cuando las máquinas cliente acceden al compilador o al runtime desde
245: la red y no han registrado los servidores COM en la máquina cliente como
246: parte de la instalación del cliente.\\
247: Se incluye el adaptador de RM/COBOL a Pervasive.SQL para Linux (Ya se incluía la versión para Windows).
248:
249: Se ha incrementado el número máximo de caracteres permitidos para el argumento principal de programa de 100 caracteres a 2048.
250:
251: La función SYSTEM ahora permite una cadena de caracteres de línea
252: de comando de hasta 4096 caracteres en sistemas operativos Windows tipo
253: NT.\\
254: \\
255: Las funciones C$CARG y C$DARG ahora pueden devolver un puntero al
256: elemento referenciado, y un puntero a la cadena codificada para un
257: elemento argumento que es un elemento editado. Adicionalmente, se ha
258: añadido una función C$PARG para obtener el puntero al elemento enésimo
259: de los argumentos cuando otros atributos no son requeridos. Éstos
260: cambios permiten tratar una lista de argumentos como un array, además
261: de acceder a argumentos no especificados en la cabecera de Procedure
262: Division.
263:
264: Los mensajes de error del runtime ahora pueden manejar mejor rutas
265: de fichero largas, que ahora son más comunes que en el pasado.
266:
267: El runtime ahora soporta ficheros objeto de versión 13, lo que permite elementos mayores que 64K, como en las sentencias OCCURS.
268:
269: Se han rebajado algunos límites del lenguaje RM/COBOL con respecto a las anteriores versiones:\\
270: Un elemento incluído en una sentencia OCCURS ya no está limitado a una longitud de 65280 caracteres.\\
271: La cabecera fija de un grupo variable en tamaño, es decir, un grupo
272: que contenga un elemento descrito con la sintaxis DEPENDING ON de la
273: sentencia OCCURS, ya no está limitado a una longitud de 65280
274: caracteres.\\
275: El tamaño total de los literales especificados en un segmento de programa no está limitado a 65535 caracteres.\\
276: Nueva extensión de posicionamiento de columna AT para los ACCEPT y
277: DISPLAYS para compatibilidad con la sintaxis de otros dialectos COBOL.\\
278: El compilador avisa cuando se compila un programa con
279: identificadores tipo EXTERNAL con más de 30 caracteres de longitud y
280: los trunca. Generalmente se considera un límite de 240 caracteres para
281: los nombre de identificadores.\\
282: Se ha corregido un problema del compilador que ignora la primera
283: sentencia COPY de un fichero copiado utilizando la sentencia COPY que
284: especifica un REPLACING.
285:
286: Varias mejoras en CodeBridge
287:
288: Mejoras en Codewatch
289:
290: * El editor de código fuente de Codewatch versión 10 permite mostrar y ocultar los ficheros COPY.
291: * La ventana de Codewatch permite realizar doble-clic en la columna derecha para activar o desactivar puntos de ruptura.
292: * El menu File incluye opciones para imprimir todo el código fuente actual o la parte seleccionada.
293: * Las ventanas mostradas como pestañas muestran el nombre de cada fichero o ventana abierta en la parte baja del entorno.
294: * Ahora es posible cargar grandes proyectos y guardar ficheros fuentes grandes mucho mas rápido que en versiones anteriores.
295: * Se han solucionado varios fallos menores.
296:
297: Mejoras en XML Extensions\\
298: * La versión 10 incluye numerosos arreglos, principalmente relacionados con Xcentrisity Business Information Server (BIS)
299:
300: ----
301:
302: {style:type=span|color=#cc0000|font-size=10pt}*
Nuevas Características en RM/COBOL 9
*{style}\\
303: \\
304: {style:type=span}RM/COBOL 9 contiene nuevas mejoras y características significativas tanto para programadores Windows como UNIX.{style}\\
305: {style:type=span}Lo más destacable de RM/COBOL 9 y WOW Extensions{style}\\
306: \\
307: •{style:type=span} Modo ANSI/OEM en Windows{style}\\
308: El programador puede indicar el código de página ANSI u OEM que se
309:
310: \\
311: utilizará durante la ejecución del programa. En versiones anteriores,
312: siempre se utilizaba el código de página OEM. Si bien esto
313: proporcionaba una necesaria compatibilidad para los programas
314: existentes con respecto a MS-DOS, resultó que aumentaba la
315: incompatibilidad con otras aplicaciones Windows y con las versiones
316: UNIX/Linux de RM/COBOL cuando se utilizaban caracteres no-ASCII (por
317: ejemplo á, é, í, ñ) en programas RM/COBOL bajo Windows. La versión 9
318: permite al programador escoger un código de página ANSI compatible con
319: los editores de texto y otras aplicaciones Windows, y que es mucho más
320: compatible con los grupos de caracteres que se suelen utilizar en UNIX.
321: \\
322: \\
323: • {style:type=span}C$GetNativeCharset{style} se
324: ha añadido para permitir a un programa obtener detalles con respecto al
325: grupo de caracteres y código de página que se están utilizando.\\
326: \\
327: • {style:type=span}Se pueden generar programas WOW anidados{style}\\
328: El WOW Designer ahora permite generar de manera opcional programas
329: utilizando un subprograma anidado por cada evento. Esto proporciona una
330: mejor forma de aislar la lógica de manejo de cada evento, además de un
331: programa más manejable. Cada evento puede tener ahora su propia
332: Working-Storage Section.\\
333: \\
334: •{style:type=span} Los programas WOW pueden procesar parámetros de eventos de controles ActiveX{style}\\
335: Los programas WOW tienen acceso a los parámetros de eventos,
336: permitiendo la utilización de un mayor número de controles ActiveX
337: disponibles comercialmente. \\
338: \\
339: • {style:type=span}Se agregaron características de compatibilidad con Micro Focus{style}\\
340: Se han añadido varias características compatibles con Micro Focus COBOL
341: para solucionar problemas que usualmente se encuentran en una
342: migración. Se han incluido sentencias de ACCEPT y DISPLAY específicas
343: de MF, y las cláusulas CRT, CRT STATUS y CURSOR. Además, se han
344: aligerado las reglas de modificación de referencias para ajustarse a la
345: forma menos estricta de comprobación que tienen el runtime de Micro
346: Focus y otros sistemas COBOL.\\
347: El registro especial WHEN-COMPILED ahora también es soportado. \\
348: \\
349: • {style:type=span}Nombres de identificadores largos (>30 caracteres){style}\\
350: La versión 9 ahora permite utilizar completamente nombres de variables
351: y de condiciones largos, además de otros nombres de identificadores
352: definidos por el usuario hasta un máximo de 240 caracteres de longitud.
353: Esto es especialmente útil cuando se utiliza XML Extensions para
354: RM/COBOL para guardar y procesar datos XML externos. \\
355: \\
356: • {style:type=span}Muchas mejoras en WOW Designer{style}\\
357: El WOW Designer tiene nuevas características que permiten alinear
358: controles dentro de contenedores, una propiedad Tag que permite
359: contener datos especificados por el usuario para la mayoría de los
360: controles intrínsecos, ToolTips definidas por el usuario en muchos
361: controles, obtener la propiedad Name de los controles, y otras muchas
362: funciones. La barra de herramientas ahora puede ser configurada por el
363: programados. Se han agregado al conjunto de controles básicos un
364: control para tomar la fecha y la hora (Date Time Picker) y un control
365: de Mes del Calendario. Se ha agregado un editor del control Tab, además
366: de otras muchas características muy convenientes. \\
367: \\
368: • {style:type=span}Mejoras en WOW Runtime plus{style}\\
369: El WOW Thin Client tiene ahora su propio archivo de configuración y
370:
371: soporta un nuevo grupo de funciones de capacidades RPC dentro de un
372: programa WOW Thin Client. Se han agregado nuevas funciones del runtime
373: para controlar iconos y manipular controles, además de iterar a través
374: de todos los controles en un formulario WOW. \\
375: \\
376: • {style:type=span}Mejoras en la importación de RM/Panels en WOW{style}\\
377: La capacidad de importación de RM/Panels del WOW Designer ha sido
378: ampliada para permitir especificar ciertas características de
379: representación gráfica. Esto puede resultar en una mejor apariencia
380: GUI. \\
381: \\
382: •{style:type=span} Se agregaron nuevas rutinas P${style}\\
383: Dos nuevas funciones P$ de impresión en Windows han sido agregadas: P$ResetPrinter y P$SetLineSpacing. \\
384: \\
385: •{style:type=span} Control de listado de compilación mejorado{style}\\
386: La frase SUPPRESS puede usarse con una sentencia COPY para evitar la
387: impresión de las líneas de código de los copys. Los mensajes de
388: diagnóstico del compilador ahora también pueden ser eliminados de
389:
390: manera selectiva. \\
391: \\
392: • {style:type=span}Manejo más conveniente de los patrones de condición de "LIKE"{style}\\
393: Si se usa un patrón variable con la nueva condición "LIKE", ahora se omiten los espacios en blanco sobrantes. \\
394: \\
395: • {style:type=span}Carácter de relleno de memoria configurable{style}\\
396: El programador puede ahora designar un carácter de relleno para utilizar para la memoria no inicializada. \\
397: \\
398: • {style:type=span}Cientos de otras mejoras y correcciones. {style}\\
399: \\
400: \\
401: ---------
402:
403: {style:type=span|color=#cc0000|font-size=10pt}*
Nuevas Características en RM/COBOL 8.0
*{style}
404:
405: *Nuevas Características del Runtime (Windows y Unix)*
406:
407: . *Datos Binarios Nativos.* El
408: runtime ahora soporta items de datos numéricos de formato binario en
409: formato nativo. Estas variables se identifican en el programa fuente
410: como COMPUTATIONAL-5 o COMP-5.
411:
412: . *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.
413:
414: *Nuevas Características del Compilador (Windows y Unix)*
415:
416: . COMPUTATIONAL-5 (COMP-5) para items de datos numéricos de formato binario en formato nativo de máquina.
417:
418: .
419: El compilador ahora provee variables en la Working-Storage Section para
420: parámetros de archivos y datos que son especificados con un nombre de
421: variable que no está definida en la Data División. Esto elimina errores
422: de compilación causados por el olvido en la definición de una o más de
423: éstos parámetros y por lo tanto acelera el tiempo de desarrollo. Los
424: siguientes parámetros son afectados por esta característica:
425:
426: - Nombre de acceso al archivo especificado en la cláusula A SSIGN.
427: - Variable Padding character especificada en la cláusula PADDING CHARACTER.
428: - Variable para una clave relativa especificada en la frase RELATIVE KEY de la cláusula ACCESS MODE.
429: - Variable de status de I/O especificada en la cláusula FILE STATUS.
430: - Variable de largo de registro especificada en la frase DEPENDING de la cláusula RECORD IS VARYING.
431: - Variables de la Linage especificadas en la cláusula LINAGE (las variables de líneas de linage, de footing, de top y bottom).
432: - Variable de etiqueta especificada en la cláusula VALUE OF.
433: - Variable de contador de ocurrencias especificada en la frase DEPENDING de la cláusula OCCURS.
434:
435: . El compilador ahora soporta expresiones de concatenación usando el operador & para concatenar literales no numéricos.
436:
437: . La cláusula OCCURS ahora se permite en los niveles 01 y 77 en la Working-Storage Section.
438:
439: .
440: Un grupo vacío, o sea, un grupo que no contiene ningun item elemental,
441: ahora es permitido. Los elementos vacíos corresponden a elementos
442: vacíos XML y esto se hace para alinear aún más el modelo de datos COBOL
443: con el modelo de datos XML.
444:
445: . El
446: compilador ahora soporta la cláusula NUMERIC SIGN en el parágrafo
447: Special-Names. Esto permite al programa fuente especificar la
448: convención de signo por defecto para elementos numéricos con signo de
449: display que son descritos sin la cláusula SIGN en su descripción.
450:
451: .
452: La cláusula ASSIGN ya no requiere un nombre de dispositivo, aún cuando
453: el nombre de acceso a archivo se especifique con una variable. El
454: nombre de dispositivo solo se requiere ahora si no se especifica ningún
455: nombre de acceso al archivo en la cláusula ASSIGN (variable1 o
456:
457: literal1).\\
458: \\
459: \\
460: ---------
461:
462: {style:type=span|color=#cc0000|font-size=10pt}*
Nuevas Características en RM/COBOL 7.5
*{style}
463:
464: *Introducción del Ambiente del Desarrollo de Aplicaciónes CodeWatch*
465:
466: RM/COBOL
467: 7.5 incluye la última versión de CodeWatch, un ambiente de desarrollo
468: para Windows completamente integrado. Iniciado para esta versión 7.5,
469: CodeWatch ahora soporta el ciclo completo de desarrollo, incluyendo
470: edición, compilación y depuración de aplicaciones RM/COBOL. CodeWatch
471: puede ser utilizado para depurar y cambiar programas que son compilados
472: en forma independiente, sin el requerimiento de la construcción de
473: proyectos. En lugar de ello, el conocimiento requerido acerca de la
474: estructura de su aplicación es creada durante las sesiones de
475: depuración.
476:
477: *Mejoras a CodeBridge*
478:
479: CodeBridge
480: , el sistema de Liant para llamadas de sistema de lenguaje-cruzado, ha
481: sido mejorado para manipular enteros de 64-bits sobre plataformas UNIX
482: que posean un compilador C que soporte enteros de 64-bits. Un nuevo
483: callback en tiempo de ejecución, GetCallerInfo, ha sido agregado para
484: permitir a los subprogramas no-COBOL mejorar los mensajes de error con
485: información adicional acerca del llamador. Este nuevo callback provee
486: el nombre del programa llamador y el número de línea, el nombre del
487: archivo objeto, y la fecha y hora en que el programa llamador fue
488: compilado. La definición y comentario de esta nueva llamada en tiempo
489: de ejecución y su estructura de datos asociado, CALLER_INFO, están
490: 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*
491: para UNIX. Dos nuevos parámetros de atributos, llamados atributos de
492: error de base, han sido agregados a CodeBridge para la recuperación del
493: set de información de error de la biblioteca C y de las funciones API
494: 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.
495:
496: *Compilador en Modo-Consola en Windows*
497:
498: El
499: compilador RM/COBOL puede ahora ser ejecutado como una aplicación
500: modo-consola en Windows con el comando rmcobolc . El comando rmcobolg
501: puede ser aún utilizado para disparar la versión de interfase gráfica
502: de usuario Windows (modo-GUI) del compilador. La aplicación en
503: modo-consola es más pequeña y veloz que la versión modo-GUI y satisface
504: las compilaciones en lote de un gran número de programas. Más allá de
505: la interfase, los dos compiladores son idénticos ya que ambos utilizan
506: la misma DLL para la implementación del compilador. Una opción de
507: instalación permite que usted seleccione una u otra versión del
508: compilador a ser invocada con el comando rmcobol .
509:
510: *Compilaciones Múltiples y en Lotes Son Más Fáciles y Más Rápidas*
511:
512: La
513: caja de diálogo al compilar en RM/COBOL para Windows permite que más de
514: un archivo sea seleccionado. Puede seleccionar archivos adicionales
515: mediante la pulsación de la tecla Ctrl mientras se clickea sobre ellos,
516: o por el uso de Ctrl+A para seleccionarlos a todos. Los subdirectorios
517: son automáticamente ignorados. Las compilaciones se detienen cuando
518: todos los archivos han sido compilados o una compilación retorna un
519: código de salida no-cero. Esta forma de compilación es más rápida que
520: mediante una secuencia de órdenes porque el compilador no necesita ser
521: recargado entre los fuentes. Tanto para el compilador de modo-consola
522: como para el de modo-GUI, los caracteres comodines sobre la línea de
523: comando también pueden ser aplicados para la selección de múltiples
524: archivos a compilar. Los caracteres comodines soportados son "?"
525: (coincide con cualquier carácter único) y "*" (coincide con ninguno o
526: varios caracteres).
527:
528: *Archivos Indexados Más Confiables*
529:
530: El
531: soporte a los archivos indexados ha sido hecho más confiable por el
532: agregado de nuevas características integrales como parte de la versión
533: de archivo de nivel 4. Adicionalmente, la versión 4 de archivos
534: indexados opcionalmente soporta la nueva capacidad "atomic I/O" la cual
535: provee un recurso al usuario para evitar casi todos los errores 98
536: causados por fallas que ocurren cuando un archivo es abierto. Los
537: archivos creados con atomic I/O casi nunca necesitan recuperación. De
538: ocurrir una caída durante una operación I/O COBOL, el archivo será
539: automática y rápidamente recuperado la próxima vez que sea abierto o
540: cuando una operación de escritura sea realizada. La palabra clave
541: ENABLE-ATOMIC-IO ha sido agregada al registro de configuración
542: RUN-INDEX-FILES para determinar si los archivos indexados creados por
543: el runtime system utilizarán atomic I/O.
544:
545: La
546: versión por defecto de archivo indexado para los nuevos archivos ha
547: sido cambiada de 2 a 4 automáticamente para proveer el más alto nivel
548: de confiabilidad a los nuevos archivos. La palabra clave
549: DEFAULT-FILE-VERSION-NUMBER del registro de configuración
550: RUN-INDEX-FILES puede ser utilizada para especificar un valor
551: diferente.
552:
553: La versión 4 de
554: archivos indexados puede, tal como la versión 3, crecer a un tamaño
555: mayor que los de versiones 0 o 2. Sin embargo, a diferencia de los de
556: versión 3, los archivos de versión 4 pueden ser tan largos o de tamaño
557: regular, dependiendo de la nueva palabra clave
558: USE-LARGE-FILE-LOCK-LIMIT en el registro de configuración
559: RUN-INDEX-FILE. Esta nueva palabra clave determina si las palabras
560: claves LARGE-FILE-LOCK-LIMIT o FILE-LOCK-LIMIT del registro de
561: configuración RUN-FILES-ATTR son utilizadas para determinar la
562: dirección más larga que puede ser bloqueada en el archivo. Esto, de
563: cumplirse, determina cuán grande puede ser el archivo.
564:
565: *Mejor Performance de los Archivos Indexados*
566:
567: Varios
568: cambios han sido introducidos para incrementar la performance de los
569: archivos indexados en la creación de nuevos archivos indexados mediante
570: tamaños de bloques más razonables y mediante el incremento del tamaño
571: máximo del buffer pool de archivo en al menos de un millón a diez
572: millones de bytes.
573:
574: Ahora, el
575: runtime system de la versión 7.5 de RM/COBOL crea nuevos archivos
576: indexados con un tamaño mínimo de bloque de 1024 bytes y asegura que el
577: tamaño del bloque para los nuevos archivos indexados es un múltiplo del
578: tamaño de sector del disco. El procesamiento del archivo indexado es
579: generalmente más eficiente con tamaños de bloques largos y con tamaños
580: de bloques que son también múltiplos del tamaño del sector del disco
581: (512 bytes para Windows y, normalmente, 1024 para UNIX).
582:
583: Dos
584: nuevas palabras claves, MINIMUM-BLOCK-SIZE y ROUND-TO-NICE-BLOCK-SIZE,
585: se han agregado al registro de configuración RUN-INDEX-FILES para
586: permitir que el tamaño del bloque sea computado de la misma manera que
587: las versiones previas del runtime system de RM/COBOL.
588:
589: La
590: palabra clave BUFFER-POOL-SIZE del registro de configuración
591: RUN-FILES-ATTR permite ahora que el tamaño del buffer sea de 10.000.000
592: bytes. Generalmente, un tamaño tal de buffer produce mejor performance
593: que un buffer de tamaño más pequeño. Algunos chequeos pueden ser
594: requeridos para encontrar el tamaño óptimo para su aplicación.
595:
596: Archivo de Configuración Automática Disponible para Windows
597:
598: Los
599: archivos de configuración pueden ahora ser automáticamente cargados en
600: Windows por el runtime, el compilador, y por el utilitario de
601: recuperación en una forma similar a la capacidad de UNIX. Aún así, la
602: facultad de vincular un archivo de configuración al ejecutable en
603: Windows mediante el utilitario *rmattach* es aún posible.
604:
605: *Comentarios de Cola para los Registros de Configuración*
606:
607: Los
608: registros de configuración pueden ahora contener un comentario de cola,
609: es decir, un comentario que no comienza en la columna uno del registro
610: de configuración.
611:
612: *Mejoras para Subprogramas No-COBOL en Windows*
613:
614: El
615: runtime system de RM/COBOL 7.5 para Windows ha sido mejorado para
616: 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* .
617: Todas las DLLs en este subdirectorio especial serán cargadas
618: automáticamente. Aunque esto ya no hace necesario el especificar
619: bibliotecas no-COBOL en el comando *runcobol* , la opción L (Library) del Runtime Command está igualmente soportada para hacerlo.
620:
621: El
622: runtime system de Windows fue también mejorado para soportar los
623: símbolos especiales predefinidos (puntos de entrada y nombres de
624: variables), tales como RM_EntryPoints, RM_AddOnInit, y
625: RM_AddOnTerminate, los cuales, previamente, estaban disponibles solo
626: bajo UNIX. Dado que ninguno de estos puntos de entrada especiales son
627: requeridos, si están presentes, la DLL pueden proveer una lista de
628: puntos de entrada de llamada-COBOL sin necesidad de especificar la
629: sección .EDATA en tiempo de enlace, y puede proveer un código especial
630: de inicialización y terminación que puede ser llamado automáticamente
631: cuando el runtime system inicializa y finaliza.
632:
633: *Agregados a la Biblioteca de Subprogramas de RM/COBOL*
634:
635: La biblioteca de subprogramas de RM/COBOL ha sido ampliada con los siguientes subprogramas C$:
636:
637: · *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.
638:
639: · *C$ConvertAnsiToOem*
640: puede ser usado para convertir un buffer conteniendo caracteres ANSI a
641: un buffer conteniendo los correspondientes caracteres OEM. La
642: configuración del carácter euro ANSI/OEM del runtime es preservado en
643: la conversión.
644:
645: · *C$ConvertOemToAnsi*
646: puede ser usado para convertir un buffer conteniendo caracteres OEM a
647: un buffer conteniendo los correspondientes caracteres ANSI. La
648: configuración del carácter euro ANSI/OEM del runtime es preservado en
649: la conversión.
650:
651: · *C$DARG*
652: puede ser usado para obtener la descripción de un argumento actual
653: mediante el uso de un número de argumento para referirse al argumento
654: deseado.
655:
656: · 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.
657:
658: · *C$SecureHash* produce
659: un compendio de mensaje de 20 bytes desde una cadena de texto de
660: mensaje de entrada de 229 bytes (2 * * 29) o menos de largo usando el
661: seguro algoritmo de hash (SHA-1).
662:
663: *Eliminación de los Archivos de Mensajes*
664:
665: Los archivos de mensajes para los programas ejecutables RM/COBOL ( *runcobol* , *rmcobol* y *recover1* ) han sido eliminados. *RUN.MSG* , *RMC.MSG,* y *REC.MSG* ,
666: presentes en las versiones previas de RM/COBOL, no existen en la
667: versión 7.5. Los mensajes contenidos en estos archivos residen ahora
668: dentro de cada ejecutable. De esta manera, no hay ninguna búsqueda del
669: archivo de mensajes y entonces ninguna posibilidad de que ocurra un
670: desencuentro en la ejecución con las versiones de los archivos de
671:
672: mensajes.
673:
674: *Eliminación del Archivo Overlay del Compilador*
675:
676: 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* ,
677: presente en las versiones de los sistemas de desarrollo de RM/COBOL ya
678: no existe en la versión 7.5. De esta manera, no hay ninguna búsqueda
679: del archivo de overlay y entonces ninguna posibilidad de que ocurra un
680: desencuentro en la ejecución con las versiones de los archivos de
681: overlay.
682:
683: *Nuevas Características del Runtime System*
684:
685: Además
686: de los nuevos subprogramas C$ a la biblioteca de subprogramas para
687: tiempo de ejecución, el runtime system de la versión 7.5 de RM/COBOL
688: para Windows y UNIX ha sido mejorado con las siguientes
689: características:
690:
691: · *Pipe de sendas* .
692: En UNIX, donde direccionar una salida de impresión a un spooler de
693: impresión es común, un nombre de acceso de archivo que comienza con un
694: carácter pipe ("|") puede ahora ser usado para crear el pipe sin tener
695: que usar un registro de configuración DEFINE-DEVICE. Esto permite que
696: las opciones de spooler sean construidas dinámicamente en una variable
697: por el programa COBOL. El chequeo del carácter pipe es realizado
698: después de que el nombre de acceso del archivo es mapeado mediante
699: cualquier variable de ambiente aplicable, así un programa también puede
700: ser conducido a un pipe mediante la carga de una variable de ambiente
701: que mapee el nombre de acceso del archivo especificado en el programa a
702: un valor que tenga al carácter pipe como el primer carácter.
703:
704: · *Pipes de Entrada.*
705: Ahora los pipes de entrada son soportados bajo UNIX. Un pipe es usado
706: para entrada cuando un archivo es abierto en modo de entrada y uno de
707: dos, o el path que comience con el carácter pipe ("|") o el nombre de
708: acceso al archivo se refiera al registro de configuración DEFINE-DEVICE
709: que especifique un pipe con la palabra clave PIPE=YES. Por ejemplo, un
710: archivo abierto en modo de entrada con un nombre de acceso de archivo
711: teniendo el valor "| ls -1 *.txt" leerá una lista de archivos de texto
712: (asumiendo archivos de texto a aquellos identificados por la extensión
713: ".txt") en el directorio corriente.
714:
715: · *Configuración por Defecto del Procedimiento Use.* La
716: acción a tomar cuando no hay procedimiento USE para un error de I/O
717: sobre un archivo puede ahora ser configurada. Previamente, RM/COBOL
718: finalizaba la unidad de ejecución con un mensaje de error apropiado
719: cuando no había un procedimiento USE. Ahora, el comportamiento del
720: runtime puede ser configurado para ocasionar que el programa continúe
721: como si un procedimiento USE vacío fuera aplicado mediante la
722: especificación de DEFAULT-USE-PROCEDURE=CONTINUE en el registro de
723: configuración RUN-FILES-ATTR.
724:
725: · *Biblioteca de Configuración.* Las
726: bibliotecas de objetos de RM/COBOL y las bibliotecas de subprogramas
727: no-COBOL pueden ahora ser configuradas con la palabra clave L, la cual
728: ha sido agregada al registro de configuración RUN-OPTION (paralelamente
729: a la opción L (Library) del comando de Runtime). Adicionalmente, la
730: palabra clave LIBRARY-PATH ha sido agregada al registro de
731: configuración RUN-OPTION para ocasionar la carga de todas las
732: bibliotecas de objetos en un directorio especificado. Tanto la palabra
733: clave L como LIBRARY-PATH RM/COBOL pueden ser especificadas múltiples
734: veces en la configuración.
735:
736: · *Configuración del Programa Principal.* La
737: palabra clave MAIN-PROGRAM ha sido agregada al registro de
738: configuración RUN-OPTION. Ella permite especificar un nombre de
739: programa principal para sustituir el nombre de programa especificado en
740: la línea de comando.
741:
742: · *Mejora al Nombre del Registro de Configuración.* Los
743: nombres del registro de configuración han sido mejorados para permitir
744: el intercambio entre singular y plural. Por ejemplo, los nombres de
745: registro RUN-OPTION y RUN-OPTIONS son ambos permitidos, y cualquiera de
746: ellos soporta el mismo set de palabras claves.
747:
748: · *COPY-TO-CLIPBOARD Como Valor Agregado para la Palabra Clave ACTION.* En
749: el registro de configuración TERM-INPUT, el valor COPY-TO-CLIPBOARD
750: permite que el texto actual seleccionado sea copiado al portapapeles y
751: en consecuencia proveer la capacidad de configurar una tecla en Windows
752: que lleve a cabo esta acción (por ejemplo, Ctrl+"C").
753:
754: · *Más Caracteres Equivalentes de TERM-INPUT para Windows.* El
755: poder de configurar teclados para Windows ha sido mejorado para un
756: mejor soporte de teclados internacionales y proveer acceso a teclas que
757: pueden estar en algunos teclados especializados (por ejemplo, el
758: Microsoft Natural Keyboard).
759:
760: · *Nuevo Agregado Especial de Texto a los Íconos de la Barra de Herramientas.* Esta
761: nueva característica provee la habilidad de especificar texto a los
762: botones de la barra de herramientas que generen pulsaciones
763: configurables.
764:
765: · *Soporte Euro para Windows.*
766: Un nuevo tipo de registro de configuración, con el identificador
767: INTERNATIONALIZATION, ha sido agregado para permitir la configuración
768: del soporte para el símbolo euro (€) en el ACCEPT, DISPLAY, y las
769: operaciones de impresión en Windows. Además, la palabra clave
770: DATA-CHARACTERS del registro de configuración TERM-ATTR ha sido
771: mejorada para permitir la especificación de múltiples rangos separados
772: bajo Windows para de esta manera emparejar la capacidad ya soportada
773: bajo UNIX. Dado que el símbolo euro no está típicamente en el rango por
774: defecto de los caracteres que son interpretados como de texto, el
775: permitir que el símbolo euro sea ingresado en una declaración ACCEPT
776: implica la modificación del rango de los caracteres de datos. Esto
777: puede hacerse usando múltiples palabras clave DATA-CHARACTERS con
778: separación de rangos o por la modificación del límite superior del
779: rango de caracteres para incluir el símbolo euro.
780:
781: · *SYSTEM Window Types.* Bajo
782: Windows, los valores que pueden ser especificados para la propiedad
783: SYSTEM Window Type han sido expandidos para incluir MINIMIZEDNOACTIVE y
784: SHOWNOACTIVATE. Estos valores pueden ser almacenados en el registro de
785: Windows mediante *rmconfig* o pueden ser cargados en tiempo de ejecución mediante *C$GUICFG* .
786:
787: · *Tooltips en la Barra de Herramientas.* Bajo
788: Windows, la indicación del botón de la barra de herramientas que era
789: desplegada en la barra de estado es ahora también desplegada como un
790: tooltip, el cual es una pequeña ventana pop-up conteniendo un texto
791: cerca del botón cuando el puntero del mouse flota sobre él. Se ha
792: agregado la propiedad Toolbar Prompt para controlar este nuevo
793: comportamiento. Esta nueva propiedad permite escoger el antiguo
794: comportamiento de mostrar el texto sobre la barra de estado. También
795: permite escoger el no desplegar la sugerencia en absoluto, desplegarla
796: solo como un tooltip, y desplegar diferentes valores en la barra de
797: estado y como tooltip (esto último requiere cambiar el set de la
798: 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* .
799:
800: · *C$SCRD Soporte para Caracteres de Dibujo de Líneas.* El subprograma *C$SCRD*
801: ha sido modificado para soportar caracteres de dibujo de líneas por el
802: retorno de guiones, signos de más, y barras verticales. Bajo Windows,
803: se ha agregado la propiedad Screen Read Line Draw para permitir que
804: C$SCRD retorne caracteres de dibujo de líneas DOS (por ejemplo, $D9, "
805: Ù " para el rincón inferior derecho de una caja)
806:
807: · *P$GetHandle.* El subprograma *P$GetHandle*
808: ha sido modificado para proveer el retorno opcional del manipulador de
809: Windows de la impresora P$ actual. Esto posibilita que un programa
810: no-COBOL adicione información (gráficos especiales o códigos de barras)
811: a la página impresa sobre una impresora P$.
812:
813: · *P$DisableDialog.* El
814: subprograma P$DisableDialog es usado para controlar la invocación
815: automática de la ventana estándar de diálogo de Windows cuando un
816: dispositivo "PRINTER?" es abierto.
817:
818: · *P$EnumPrinterInfo.* Es
819: usado para recuperar información detallada acerca de todo de las
820: impresoras del sistema. No es necesario abrir una impresora para
821: obtener esta información.
822:
823: · *Log de Terminación para UNIX.* El
824: runtime RM/COBOL de UNIX permite ahora registrar los mensajes de error
825: de terminación, incluyendo información de "traceback", usando la clave
826: ENABLE-LOGGING=TERMINATION del registro de configuración RUN-OPTION. El
827: log de terminación permite que los mensajes de error sean coleccionados
828: para posteriores análisis. Los usuarios de UNIX pueden aún
829: redireccionar el "standard error" para coleccionar información de
830: terminación, pero haciéndolo así indicará que la información no será
831: desplegada para el usuario.
832:
833: · *Creando Archivos sobre un RM/InfoExpress Server.* La
834: nueva palabra clave DISABLE-LOCAL-ACCESS-METHOD del registro de
835: configuración RUN-FILES-ATTR puede ser usada para prevenir archivos con
836: incapacidad, nombres simples creados en el directorio de trabajo
837: actual. Especificar UNQUALIFIED-NAMES para el valor de la nueva palabra
838: clave permitirá nuevos archivos a ser creados sobre un RM/InfoExpress
839: Server. En las versiones previas del runtime system, esto era necesario
840: para la aplicación para especificar la máquina servidora sobre la cual
841: el archivo podía ser creado, ya fuera por la inclusión de una senda
842: completa en el programa COBOL o por el uso de una variable de ambiente
843: que la especificara. Proveer la especificación de la nueva palabra
844: clave hace ahora posible crear tales archivos en el primer directorio
845: de la variable de ambiente RUNPATH. El especificarla no tiene efecto
846: sobre el hallazgo de los archivos existentes
847:
848: {style:type=span}Nuevas Características del Compilador {style}
849:
850: El compilador RM/COBOL versión 7.5 para Windows y UNIX ha sido mejorado con las siguientes nuevas características:
851:
852: · *Palabras Reservadas.* Para
853: soportar las nuevas características del lenguaje mencionadas abajo, la
854: lista de palabras reservadas ha sido ampliada con las nuevas palabras
855: DATA-POINTER, DEFAULT, y LIKE. Asimismo, varias palabras han sido
856: eliminadas de la lista de palabras reservadas y trasladadas a la nueva
857: categoría de palabras de contexto sensitivo.
858:
859: · *Palabras de Contexto Sensitivo.* Algunas
860: palabras previamente consideradas a ser siempre reservadas han sido
861: cambiadas a ser reservadas solo en ciertos contextos y en consecuencia
862: ahora en la nueva categoría de palabras de contexto sensitivo. Por
863: ejemplo, la palabra UNDERLINE fue previamente una palabra reservada,
864: pero ahora es reservada solo en el contexto de una entrada de
865: descripción de pantalla. Asimismo, varias nuevas palabras han sido
866: agregadas a esta categoría de palabras para soportar las nuevas
867: características más abajo mencionadas.
868:
869: · *Ítems FILLER Ingresados en la Tabla de Símbolos.*
870: Los ítems de dato FILLER son ahora ingresados en la tabla de símbolos y
871: así ser desplegados en el mapa de asignación del listado. El mantener
872: los ítems de dato FILLER en la tabla de símbolos requiere memoria
873: adicional en la compilación pero permite soporte para la nueva frase
874: WITH FILLER de la declaración INITIALIZE. La nueva opción de
875: compilación, SUPPRESS-FILLER-IN-SYMBOL-TABLE, ha sido agregada para
876: reducir la memoria requerida al compilar un programa con muchos ítems
877: de dato FILLER.
878:
879: · *Cláusula SELECT Frase NOT OPTIONAL.* Por
880: compatibilidad con los otros dialectos COBOL, la frase NOT OPTIONAL
881: puede ser especificada en la cláusula SELECT para los archivos que
882: deban estar presentes en tiempo de ejecución. En virtud de que RM/COBOL
883: asume que los archivos son requeridos en tiempo de ejecución a menos
884: que la frase OPTIONAL fuera especificada, la frase NOT OPTIONAL no
885: tiene efecto, pero es aceptada en orden de facilitar la conversión de
886: programas originalmente escritos en otros dialectos COBOL.
887:
888: · *Cláusula PICTURE.* La
889: cláusula PICTURE puede ahora ser omitida para un ítem de dato elemental
890: descripto con una cláusula VALUE que especifique un literal no
891: numérico. En este caso, el ítem definido es como si una cláusula PIC X(
892: ~~n~~ ) hubiera sido especificada, donde ~~n~~ es el largo
893: del literal no numérico especificado en la cláusula VALUE. El
894: compilador RM/COBOL ahora también soporta una cadena de caracteres
895: PICTURE implícita cuando un literal numérico es especificado en la
896: cláusula VALUE.
897:
898: · *Formato 1 Cláusula VALUE.* El
899: formato 1 de la cláusula VALUE, la cual define la inicialización de
900: valores para los ítems de la Working-Storage, ahora también define
901: valores a ser usados por la nueva frase VALUE de la declaración
902: INITIALIZE. Por consiguiente, la cláusula es ahora permitida en las
903: secciones File, Linkage y Communication y también en las descripciones
904: de registro descriptos con la cláusula EXTERNAL sin la restricciones
905: previas del RM/COBOL en que la cláusula VALUE podía ser usada solo en
906: las situaciones en que ésta era incluida en el programa fuente como
907: parte de un archivo de copia.
908:
909: · *Formato 2 Cláusula VALUE.* El
910: formato 2 de la cláusula VALUE, la cual define valores de número de
911: nivel 88 para nombres de condición, ha sido ampliado para permitir
912: operadores relacionales. Esto permite, en particular, el uso de la
913: nueva condición LIKE para especificar valores válidos para ítems de
914: datos mediante el uso de una expresión patrón regular.
915:
916: · *Condición LIKE.* Los
917: operadores relacionales han sido ampliados para incluir el operador
918:
919: LIKE y entonces proveer el caso especial de condiciones de relación
920: llamada condición LIKE. La condición LIKE especifica un valor basado en
921: verdad sobre un ítem de dato que coincide con un valor patrón. Los
922: valores patrones son como expresiones regulares en la misma forma usada
923: por XML Schema.
924:
925: · *Mejoras a la Declaración ACCEPT.* La
926: declaración ACCEPT soporta ahora una propuesta de método COBOL estándar
927: de obtener cuatro dígitos para el año mediante el uso de las frases
928: opcionales YYYYMMDD y YYYYDDD en las frases FROM DATE o FROM DAY,
929: respectivamente.
930:
931: · *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.
932:
933: · *Mejoras a la Declaración INITIALIZE.* La
934: declaración INITIALIZE ahora incluye las frases opcionales FILLER,
935: VALUE y DEFAULT. La frase FILLER causa que los ítems de datos FILLER
936: sean inicializados, en vez de ignorados. La frase VALUE causa la
937: inicialización del valor literal especificado en la cláusula VALUE
938: asociada con un ítem de dato elemental. La frase DEFAULT ocasiona que
939: los ítems sean inicializados a sus valores por defecto (espacios, cero,
940: o nulo) cuando las frases VALUE o REPLACING son especificadas pero
941: ninguno de estos valores es aplicable al ítem de dato elemental a ser
942: inicializado. La declaración INITIALIZE ahora también incluye el nuevo
943: nombre de categoría DATA-POINTER para inicializar ítems punteros de
944: datos y permite la inicialización de ítems de datos con ocurrencias
945: variables.
946:
947: · *Mejora a la Declaración USE.* La
948: declaración USE ahora permite una serie de modos de OPEN con o sin una
949: serie de nombres de archivos, y de esta manera un simple procedimiento
950: USE puede ser declarado para múltiples modos de apertura o para los
951: archivos especificados.
952:
953: · *Literales Pasados "BY CONTENT".* El
954: compilador RM/COBOL versión 7.5 ha sido modificado para pasar literales
955: especificados en la frase USING de la declaración CALL como si la frase
956: BY CONTENT fuera aplicada. Este cambio fue realizado para proteger el
957: valor del literal en el programa llamador de inadvertidos cambios
958: realizados al ítem de dato correspondiente de la Linkage Section en el
959: programa llamado. La nueva palabra clave SUPPRESS-LITERAL-BY-CONTENT
960: del registro de configuración COMPILER-OPTIONS ha sido adicionada para
961: sustituir este nuevo comportamiento hasta que el programa fuente COBOL
962: sea corregido.
963:
964: · *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* ;
965: esto quiere decir que no se requieren cambios en la línea de comandos.
966: Sin embargo, el servidor DLL debe ser registrado en Windows antes de
967: que los programas RM/COBOL puedan ser compilados. Esto es
968: automáticamente ejecutado durante la instalación y es liberado solo si
969: el compilador es mudado a un directorio diferente sin que sea instalado
970: nuevamente. En este caso, ningún cliente puede ser usado para
971: re-registrar el servidor.
972:
973: · *Cambio en la Opción Z del Compilador.* La
974: opción Z del compilador puede no ser utilizada para restringir el nivel
975: de versión objeto del código generado a objetos de nivel 6 o por
976: debajo. Objetos nivel 7 corresponden a las versiones 6. ~~nn~~
977: de RM/COBOL. La eliminación de la necesidad del compilador de generar
978: código para estas antiguas versiones perfecciona su eficiencia y
979: confiabilidad y asegura que el mismo no tendrá necesidad de suprimir
980: optimizaciones que el antiguo runtime system no soporta.
981:
982: · *Los Listados Incluyen Ahora las Declaraciones Remplazadas.* Las
983: líneas fuentes que han sido remplazadas por la declaración REPLACE o la
984: frase REPLACING de la declaración COPY son ahora incluidas como
985: comentarios en el listado de compilación. Estas líneas pueden ser
986: suprimidas del listado mediante la especificación tanto de la opción de
987: compilación C=2 como de C=3, o por el valor de configuración
988: SUPPRESS-REPLACED-LINES para la palabra clave LISTING-ATTRIBUTES del
989: registro de configuración COMPILER-OPTIONS.
990:
991: · *Salidas de Compilación Más Informativas.* El
992: indicador de nivel de copia en el listado de compilación también ha
993: sido mejorado para proveer información acerca de líneas fuente que han
994: sido modificadas, remplazadas o insertadas como resultado de la
995: declaración REPLACE o de la frase REPLACING de la declaración COPY.
996: Además, la presentación del remplazamiento de texto en el listado de
997: compilación ha sido perfeccionada.
998:
999: · *Listando Solo Errores con Información de Depuración.* La
1000: opción E del comando de compilación no es ignorada cuando las opciones
1001: Y=2 y Y=3 son especificadas. De esta manera, ahora es posible requerir
1002: solo un listado de errores mientras al mismo tiempo se genera una
1003: completa información de depuración en el archivo objeto.
1004:
1005: {style:type=span}Nuevas Características de los Utilitarios {style}
1006:
1007: Las nuevas características de los programas utilitarios en RM/COBOL versión 7.5 para Windows y UNIX incluyen:
1008:
1009: · *Rápida Conversión al Nuevo Formato de Archivo Indexado.* El utilitario Indexed File Recovery ( *recover1* )
1010: ha sido mejorado para convertir archivos indexados al nuevo y más
1011: confiable formato versión 4. Esta conversión es muy eficiente, tomando
1012: solo un poco más de tiempo que una recuperación de archivo realizada
1013: para corregir un error. Para convertir un archivo existente al nuevo
1014: 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*
1015: para ejecutar la conversión. Algunos archivos indexados con muy
1016: pequeños tamaños de bloque no pueden ser convertidos al formato de la
1017: versión 4. En este caso, cuando usted ejecute *rmdefinx*
1018: para cambiar la versión de archivo en el cabezal, recibirá una
1019: notificación de que el tamaño del bloque es muy pequeño para que ocurra
1020: una conversión exitosa.
1021:
1022: · *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* )
1023: para permitir que un gran número de archivos sea sencillamente
1024: convertido a la versión 4 de archivo ya sea con o sin la capacidad
1025: 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.
1026:
1027: Licenciamiento Más Flexible
1028:
1029: Ahora,
1030: el compilador RM/COBOL, el runtime system de RM/COBOL, y el utilitario
1031: Indexed File Recovery de RM/COBOL, requieren la misma clase de
1032: certificados de licencia que Cobol-WOW y Relativity han estado usando
1033: desde algún tiempo. Estos certificados de licencia son personalizados
1034: para cada producto y permiten estandartes (banners) especializados,
1035: fechas de expiración de productos, y sencillas actualizaciones
1036:
1037: Chequeo Automático de Actualización
1038:
1039:
1040: El
1041: compilador RM/COBOL, el runtime system, y CodeWatch ahora proveen
1042: información acerca de actualizaciones disponibles de productos
1043: automáticamente. CodeWatch provee la información de actualización
1044: cuando comienza, mientras que el compilador y el runtime lo hacen
1045: cuando están terminando. La nueva palabra clave DISPLAY-UPDATE-MESSAGES
1046: ha sido agregada a los registros de configuración COMPILER-OPTIONS y
1047: RUN-OPTION para controlar cuales de los mensajes de actualización deben
1048: ser desplegados. Es posible ver todos los mensajes de actualización
1049: (por defecto para el sistema de desarrollo RM/COBOL) o los mensajes
1050: "urgentes" (por defecto para el runtime system RM/COBOL). Los mensajes
1051: urgentes son usados para indicar solo problemas importantes que los
1052:
1053: usuarios necesitan enterarse de inmediato.\\
1054: \\
1055: \\
1056: ---------
1057:
1058: {style:type=span|color=#cc0000|font-size=10pt}*
Nuevas Características en RM/COBOL 7.1 para UNIX
*{style}
1059:
1060: Linkeo en Runtime Eliminado.
1061:
1062: Versiones
1063: de RM/COBOL anteriores a 7.1 requerían que el runtime estuviese
1064: relinkeado para agregar nuevas funcionalidades como el VanGui Interface
1065: Builder. También había diferentes versiones del runtime, incluyendo la
1066: versión terminfo, termcap, el runtime con el RM/InfoExpress client, y
1067: el runtime Flexgen.
1068:
1069: La versión de
1070: RM/COBOL 7.1 para UNIX elimina la necesidad de relinquear el runtime ya
1071: que usa módulos de soporte opcionales para agregarle funcionalidad. Con
1072: la versión 7.1, habrá sólo una versión simple del runtime con módulos
1073: de soporte para proveer las características adicionales. Estos módulos
1074: están implementados como objetos UNIX compartidos. Liant provee módulos
1075: de soporte para terminfo y termcap interfases terminales
1076: (seleccionables en la instalación), el RM/InfoExpress client interface,
1077: y la rutina de interfase de Flexgen con el runtime RM/COBOL. Otros
1078: módulos de soporte, como el del VanGui Interface Builder Server y el
1079: Enterprise CodeBench están disponibles por Liant. El CodeBridge también
1080: poseerá estas facilidades.
1081:
1082: {style:type=span}Archivo de configuración automática {style}
1083:
1084: Versiones
1085: UNIX de RM/COBOL anteriores a la 7.1 permitieron que un archivo de
1086: configuración fuese linqueado al runtime, compilador o utilidad de
1087: recupero. La versión 7.1 of RM/COBOL para UNIX permite que el archivo
1088: de configuración sea automáticamente ubicado por el runtime del
1089: sistema, el compilador y la utilidad de recuperación. Este nuevo método
1090: es llamado" archvo de configuración automática".
1091:
1092: Soporte de UNIX para CodeBridge
1093:
1094: CodeBridge
1095: está ahora disponible para aquellas plataformas UNIX que soportan la
1096: versión del runtime 7.1 de RM/COBOL. El CodeBridge Builder genera
1097: mòdulos fuente C que son independientes de la plataforma. Por ejemplo,
1098: usted puede usar el CodeBridge Builder sobre una plataforma Windows
1099: para generar archivos con código C que pueden ser usados tanto en
1100: Windows como en sistemas UNIX.
1101:
1102: Archivo de configuración
1103:
1104: La palabra ENABLE-LOGGING del RUN-OPTION en el archivo de
1105: configuración ha sido ampliada con nuevos valores para controlar la
1106: generación de varios errores y archivos log de información.
1107:
1108: Todas las modificaciones pertinentes a v7.0
1109:
1110: En
1111: adición a los cambios listados arriba, RM/COBOL v7.1 para UNIX incluye
1112: todos los v7.0 avances que no eran únicos al sistema operativo Windows.
1113: Entre estos encontramos:
1114:
1115: Características
1116: nuevas del runtime: RM/COBOL versión 7.1 para UNIX incluye dos nuevas
1117: keywords de configuración, PRINT-ATTR para asistir en la configuración
1118: de LINAGE para impresoras de páginas, como laser printers y ink jet
1119: printers. Las nuevas keywords son LINAGE-INITIAL-FORM-POSITION and
1120: LINAGE-PAGES-PER-PHYSICAL-PAGE.
1121:
1122: Agregados a las bibliotecas de funciones de RM/COBOL
1123:
1124: C$Delay: libera la CPU por un tiempo determinado.
1125:
1126: C$GetEnv y C$SetEnv recupera y setea respectivamente variables de ambiente.
1127:
1128: C$GetLastFileName recupera el último nombre de archivo y el camino usado en un llamado I/O.
1129:
1130: C$GetLastFileOp devuelve información sobre la última operación de I/O realizada por Cobol.
1131:
1132: C$GetRMInfo devuelve información sobre el runtime.
1133:
1134: C$MemoryAllocate reserva memoria dinámica.
1135:
1136: C$GetSysInfo devuelve información sobre el sistema operativo sobre el cual el runtime de RM/COBOL está corriendo.
1137:
1138: C$MemoryDeallocate libera memoria dinámica.
1139:
1140: C$ShowArgs muestra una lista de argumentos usados para llamar a un subprograma.
1141:
1142: {style:type=span}Nuevas características del compilador {style}
1143:
1144: Aumento
1145: de la capacidad. RM/COBOL versión 7.1 para UNIX permite 65535
1146: identificadores en un programa simple (hasta 8192 en la versión 6.61).
1147: El máximo espacio para palabras definidas por el usuario ha aumentado,
1148: tal que todos los 65535 identificadores pueden tener nombres únicos de
1149: 30 caracteres de longitud (hasta 21 en la versión 6.61). Los cambios
1150: que soportan el aumento de la capacidad también eliminan el problema
1151: que limitó las consecutivas líneas de comentarios a 800. El límite es
1152: ahora de 18000 consecutivas.
1153:
1154: {style:type=span}Nuevas palabras reservadas {style}
1155: Para
1156: soportar algunas características descritas en los siguiente párrafos,
1157: las palabras reservadas han sido extendidas con las siguientes nuevas
1158: palabras: ADDRESS, CENTURY-DATE. CENTURY-DAY, COUNT-MAX, COUNT-MIN,
1159: DATE-AND-TIME, DAY-AND-TIME, NULL, NULLS, y RETURNING. Nótese que si
1160: usamos estas palabras como si fuesen definidas por el usuario, debemos
1161: cambiar alguna letra o usar el DERESERVE keyword en el COMPILER-OPTIONS
1162: registro de configuración.
1163:
1164: {style:type=span}ACCEPT {style}
1165: Un
1166: nùmero de cambios han sido hechos al ACCEPT para mejorar la manera en
1167: que las fechas y horas son manejadas. Estos cambios proveen maneras
1168: adicionales de escribir Y2K. Nuevas frases incluyen CENTURY-DATE,
1169: CENTURY-DAY, DATE-AND-TIME, DATE-COMPILED, y DAY-AND-TIME.
1170:
1171: {style:type=span}Nombres Constantes{style}
1172: Constantes
1173: pueden ahora ser definidas con nombres constantes declarados en el
1174: nivel 78. Una vez definida, el nombre de la constante puede ser usado
1175: en casi todos los contextos donde un literal o un entero es requerido.
1176: Cuando se usa correctamente, las constantes simplifican enormemente el
1177: mantenimiento de los programas COBOL.
1178:
1179: {style:type=span}Tipos de punteros
1180: {style}
1181:
1182: El
1183: tipo de puntero ha sido agregado. Punteros pueden ser usados para
1184: apuntar a otros datos en un programa o en memoria. Soporte para
1185: punteros incluye las NULL y NULLS constantes, las cuales son punteros
1186: literales con un valor de puntero null. Hay dos formatos nuevos del SET
1187: para manipular los punteros y un ADDRESS OF registro especial para
1188: obtener la dirección de un puntero. Un puntero no null se refiere al
1189: área de memoria que puede ser accedida en COBOL estableciendo la base
1190: de direccionamiento en el nivel 01 o 77 descrito en la sección de
1191: linqueos del programa. La reserva de memoria dinámica es soportada por
1192: dos nuevos subprogramas en la biblioteca, C$MemoryAllocate y
1193: C$MemoryDeallocate.
1194:
1195: {style:type=span}Configuración del tamaño de datos binarios{style}
1196:
1197: Nuevas
1198: características de configuración permiten que tipos numéricos binarios
1199: sean localizados con el mínimo requerimiento de espacio para soportar
1200: caracteres o cadenas específicos PICTURE con el tamaño configurado.
1201: RM/COBOL ha tradicionalmente localizado tipos numéricos binarios como
1202: dos, cuatro, ocho o dieciseis bytes. Las nuevas opciones de
1203: configuración permiten que los tipos numéricos binarios descritos con
1204: uno o dos dígitos sean localizados como un byte simple.
1205:
1206: {style:type=span}Override de alocación binaria{style}
1207:
1208: Además
1209: de la configuración de alocación binaria, el compilador ahora soporta
1210: una alocación override en USAGE. Dicha alocación es un entero,
1211: encerrado entre paréntesis, que sigue un tipo binario (COMPUTATIONL-4,
1212: COMP-4, o BINARIO). El entero especifica el número de bytes a localizar
1213: contrarrestando el número de bytes que deberían ser localizados basados
1214: en la configuración del compilador actual. La especificación puede
1215: contener menos bytes que los requeridos para soportar la precisión
1216: decimal indicada en el PICTURE carácter-string.
1217:
1218: {style:type=span}COUNT, COUNT-MAX, y COUNT-MIN registros especiales{style}
1219: El
1220: compilador ahora soporta tres nuevos registros especiales, COUNT OF
1221: nombre, COUNT-MIN-OF nombre, y COUNT-MIN-OF nombre, y COUNT-MAX-OF
1222: nombre, que pueden ser usados para obtener el n{umero de ocurrencias de
1223: una tabla. Para una tabla fija, COUNT, COUNT-MAX, y COUNT-MIN todas
1224: retornan el n{umero de ocurrencias especificadas en OCCURS. Para una
1225: tabla variable, COUNT-MIN retorna el mínimo especificado en OCURRS;
1226: COUNT retorna el número corriente de ocurrencias (o sea, el valor de
1227: DEPENDING especificado en OCCURS) y COUNT-MAX retorna el máximo número
1228: de ocurrencias especificadas en OCCURS.
1229:
1230: {style:type=span}Registro especial LENGTH
1231: {style}
1232:
1233: El
1234: compilador ahora soporta un registro especial LENGTH OF
1235: identificador-1, que puede ser usado para obtener la longitud en bytes
1236: de cualquier data. La longitud para la mayoría de los datos es
1237: constante.
1238:
1239: {style:type=span}Registro especial PROGRAM-ID {style}
1240: El
1241: compilador ahora soporta un nuevo registro especial, PROGRAM-ID, el
1242: cual puede ser usado para obtener el nombre del programa de cualquiera
1243: que especifique este registro.
1244:
1245: {style:type=span}Comentarios en líneas {style}
1246:
1247: El compilador ahora soporta el símbolo *> como introductor de comentario. Este carácter debe ser precedido por un espacio.
1248:
1249: {style:type=span}Argumentos OMITTED
1250: {style}
1251:
1252: El
1253: compilador ahora soporta la palabra OMITTED en USING de un CALL. Desde
1254: que los argumentos son posicionales, esta característica permite que un
1255: argumento sea omitido desde otro del final de la lista USING.
1256:
1257: {style:type=span}GIVING/RETURNING {style}
1258: El
1259: compilador ahora soporta GIVING/RETURNING en el procedure Division
1260: header y en un CALL. Especifica un argumento adicional tratado como el
1261: resultado del programa llamado.
1262:
1263: Argumentos
1264: formales (USING/GIVING). El compilador ahora maneja la especificación
1265: de un argumento formal como un argumento en un CALL o en una reference
1266: a un identificador. En estos dos caos, la referencia es evaluada de
1267: acuerdo a la descripción del argumento actual correspondiente al
1268: argumento formal más que usar la descripción de la sección Linkage.
1269: Esto significa que un programa que es un intermediario entre dos
1270: programas no necesita tener una sección descriptora Linkage que
1271: describa el tamaño del argumento actual que se está pasando. Por
1272: ejemplo, llamamos C$CARG con un argumento formal, el cual es descripto
1273: como más largo que el actual argumento. Esto no arrojará error. En
1274: lugar, C$CARG retornará la longitud correcta del argumento actual, por
1275: los cambios introducidos. Esto también significa que un programa puede
1276: llamar al subprograma C$CARG con un argumento que el programa principal
1277: ha omitido sin obtener un error. En este caso, la llamada a C$CARG dará
1278: un resultado correcto y retornará el argumento descriptor que incluye
1279: el tipo de OMITTED y una longitud de cero. En este caso de modificar la
1280: referencia, un argumento omitido causará un error, pero para un
1281: argumento que no es omitido, la modificación de referencia puede usar
1282: cualquier desplazamiento y combinación de longitud que sea consistente
1283: con el argumento actual. Previo a este avance, modificaciones de
1284: referencia que usaban variable implicaban una referencia al item
1285: descrito en la sección Linkage para el argumento formal e implicaba
1286: referencia, si era más largo que el argumento correspondiente actual,
1287: lo cual causaría un error ante de que la modificación de referencia
1288: fuese aplicada.
1289:
1290: *Nueva lista de formato de fechas*
1291:
1292: Ahora
1293: puede ser configuradas las fechas para incluir años de cuatro dígitos
1294: con el nuevo formato DDMMAAAA, MMDDAAAA, AAAAMMDD, y AAAADDD. La
1295: configuraión por default ha sido cambiada a MMDDAAAA. Este cambio
1296: también incluye que el párrafo DATE-COMPILED use el mismo formato de
1297: fecha que el header de lista de compilación.
1298:
1299: {style:type=span}Recuperación de archivos mejorada {style}
1300:
1301: Para
1302: largos archivos, el utilitario Indexed File Recovery corre al doble de
1303: velocidad que la versión anterior. La opción -m ha sido agregada para
1304: permitir al usuario especificar una cantidad más grande de memoria a
1305: ser usada por el recovery, lo cual resulta en una recuperación mucho
1306: más rápida.
1307:
1308: {style:type=span}Nueva opción de utilidad Rmpgmcom{style}
1309:
1310: Una
1311: nueva opción en el rmpgmcom, el STRIP, puede remover tablas COBOL y la
1312: información de debug producida por la opción Y de compilación de los
1313:
1314: archivos objetos. \\
1315: \\
1316: \\
1317: ---------
1318: {style:type=span|color=#cc0000|font-size=10pt}*
Nuevas Características en RM/COBOL 7.0 para Windows
*{style}
1319:
1320: RM/COBOL
1321: 7 ofrece mejoras sustanciales a los programadores COBOL que quieren
1322: desarrollar en ambiente Microsoft Windows. Algunas de ellas son:
1323:
1324: * *RM/COBOL 7 incorpora todas las mejoras que se realizaron para los compiladores UNIX en las versiones 6.60 y 6.61.*
1325:
1326:
1327:
1328:
-
1329:
1330: *Mejoras adicionales del compilador* \\
1331: La versión 6.61 de RM/COBOL introdujo numerosos cambios en el
1332: compilador, y laversión 7 aún más, incluyendo los siguientes: Mayor
1333: capacidad. RM/COBOL permite definir hasta 65.535 identificadores en un
1334: programa (hasta 8.192 en versión 6.6l). El máximo espacio para palabras
1335: definidas por el usuario ha crecido de forma que los citados 65.535
1336: identificadores podrían tener 30 caracteres de longitud (21 en la
1337: versión 6.61). El número máximo de líneas consecutivas de comentarios
1338: ha pasado de 800 a 18.000. \\
1339: Mejora de la sentencia ACCEPT. Se han añadido nuevas opciones en los
1340: ACCEPT para manejar fechas y tiempos (algunas de ellas de cara al año
1341: 2000). Nuevas frases: CENTURY-DATE, CENTURY-DAY, DATE-AND-TIME, y
1342: DAY-AND-TIME. \\
1343: ~~Nombres de constantes.~~ Se
1344: pueden definir ahora constantes por programa mediante declaraciones de
1345: nivel 78, para utilizar en cualquier contexto en el que la sintaxis del
1346: lenguaje requiera un literal o un entero. Un uso adecuado de constantes
1347: simplifica el mantenimiento de programas COBOL \\
1348: \\
1349: ~~Tipo de datos POINTER.~~ Se ha añadido este tipo de dato para soportar la gestión dinámica de memoria. \\
1350: \\
1351: ~~Nuevo tipo de datos BYTE.~~
1352: Una opción de configuración permite definir data ítems con uno o dos
1353: dígitos para ser almacenados en un solo byte. RM/COBOL
1354: tradicionalmentealmacena los data ítems binarios en dos, cuatro, ocho o
1355: dieciséis bytes dependiendo del número de dígitos decimales indicados
1356: en PICTURE. La nueva opción permite almacenar en un solo byte los data
1357: ítems binarios cuya PICTURE indique como máximo dos dígitos decimales.
1358:
1359:
1360:
-
1361:
1362: *Log de Terminación* \\
1363: En Windows se puede usar para crear un log de mensajes de error de
1364: terminación, incluyendo información de traceback, y juntar información
1365: sobre errores que no son atrapados por las declarativas. Las claves
1366: ENABLE-LOGGING=TERMINATION y LOGPATH se han agregado a los registros de
1367: configuración RUN-OPTION para permitir que se graben los mensajes de
1368: error para su posterior análisis.
1369:
1370:
1371:
-
1372:
1373: *Recover1 más rápido \\*
1374: En ficheros grandes, Recoverl se ejecuta casi al doble de velocidad que en las versiones anteriores.
1375:
1376:
1377:
-
1378:
1379: *Novedades en subprogramas \\*
1380: C$CLEARDEVELOPMENTMODE
1381: deshabilita la información de errores expandida (conocida como
1382: "development mode") en muchos subprogramas C$ y P$. *\\*
1383: C$DELAY detiene la CPU durante el periodo de tiempo especificado (en segundos). *\\*
1384: C$GETLASTFILENAME recupera el nombre y path del último fichero empleado en una operación de entrada/salida. *\\*
1385: C$GETLASTFILEOP devuelve qué operación de entrada/salida es la última que se ha ejecutado.*\\*
1386: C$SETENV / C$GETENV para manejo de variables de entorno. *\\*
1387: C$SETSYN / C$GETSYN para manejos de sinónimos almacenados en el registry. *\\*
1388: C$GETSYSINFO recupera información sobre el sistema operativo en el que se está ejecutando RM/COBOL. *\\*
1389: C$MEMORYALLOCATE asigna memoria dinámica *\\*
1390: C$MEMORYDELLOCATE libera memora asignada dinámicamente *\\*
1391: C$PLAYSOUND ejecuta los sonidos predefinidos de Windows para eventos o archivos de sonido. *\\*
1392: C$SETDEVELOPMENTMODE habilita información expandida de errores en muchossubprogramas C$ y P$. *\\*
1393: C$SHOW setea el estado show de la window principal de RM/COBOL (rmguife.exe) *\\*
1394: C$SHOWARGS muestra la lista de argumentos empleados para llamar a un subprograma.
1395:
1396:
1397: