240
 Estado Esta es una versión candidata 1.1 del FAQ OpenCOBOL. Citas en ocfaq.rst  . Courtesty dereStructuredText  , Sphinx y Pygments  . ocfaq.pdf  también está disponible, u tilizando rst2latex y luego pdflatex . Este FAQ es más que un FAQ y menos de un FAQ.Algún día eso va a cambiar y este documento se dividirá en un manual OpenCOBOL y un archivo simplifi cada Preguntas más frecuentes. Favicon web por Mark James, Help.png del FAMFAMFAM seda conjunto de iconos.http://creativec ommons.org/li censes/by/2. 5/ "COBOL Warriors" image © 2008 Robert Saczkowski. Banner cortesía del  GIMP , Copyright © 2008-2013 Brian Tiffin y ambos están registrados bajo la Attribution- Share Alike 2.0 Creative Commons License Genéricohttp://creativecommons.org/licenses/by-sa/2.0/ Autores: Brian Tiffin [btiffin]  Respuestas, cotizaciones y contribuciones:  John Ellis [jrls_swla]  , Vincent Coen, Jim Currey, Bill Klein [wmklein]  , Ganímedes, Simon Sobisch [humana]  , Rildo Pragana, Sergey Kashyrin, Federico Priolo, Frank Swarbrick, Angus, DamonH, Parhs, Gerald Chudyk Compilador de: Mientras Roger  [Roger]  ,

Open Cobol Preg

Embed Size (px)

Citation preview

Page 1: Open Cobol Preg

 

 

Estado

Esta es una versión candidata 1.1 del FAQ OpenCOBOL. Citas en ocfaq.rst . Courtesty

 

dereStructuredText , Sphinx y Pygments .

 

ocfaq.pdf  también está disponible, utilizandorst2latex y luego pdflatex .

 

Este FAQ es más que un FAQ y menos de un FAQ.Algún día eso va a cambiar y este

documento se dividirá en un manual OpenCOBOL y un archivo simplificada Preguntas

más frecuentes.

Favicon web por Mark James, Help.png del FAMFAMFAM seda conjunto de

iconos.http://creativecommons.org/licenses/by/2.5/ 

 

"COBOL Warriors" image © 2008 Robert Saczkowski. Banner cortesía del GIMP ,

Copyright © 2008-2013 Brian Tiffin y ambos están registrados bajo la Attribution-

Share Alike 2.0 Creative Commons License

Genéricohttp://creativecommons.org/licenses/by-sa/2.0/ 

Autores:

 

Brian Tiffin [btiffin] 

Respuestas, cotizaciones y contribuciones:

 John Ellis [jrls_swla] , Vincent Coen, Jim Currey, Bill

 

Klein [wmklein] ,

Ganímedes, Simon Sobisch [humana] , Rildo Pragana, Sergey

Kashyrin,

Federico Priolo, Frank Swarbrick, Angus, DamonH, Parhs, Gerald

Chudyk

Compilador de:

Mientras Roger [Roger] ,

Page 2: Open Cobol Preg

 

Keisuke Nishida [Keisuke] ,

(Con la inestimable colaboración de muchos otros)

Créditos especiales a

Gary Cutler autor de la Guía OpenCOBOL Programadores 

 

 James Joseph Frantz para alojamiento y defensa [aoirthoir] 

Versión: 1.1rc17, 15 de mayo de 2013 (actualmente en Sphinx)

Estado: cerca de completar

Derechos de autor: Copyright © 2008-2013 Brian Tiffin

Registro de

cambios:

ChangeLog

Nota

 

En cuanto a las normas de COBOL, Oficial de Normas COBOL: Hay muchas

referencias a las normas contenidas en este documento.Muy pocos de ellos

son técnicamente referencias correctas. Disculpas a todos los hombres y

mujeres trabajadores de los comités técnicos de este leve intencional. Para

detalles específicos sobre lo menciones deben utilizarse please see ¿Cuáles

 

son las normas oficiales COBOL? 

Contenido

Page 3: Open Cobol Preg

 

 1 OpenCOBOL FAQ 

 

o  1.1 ¿Qué es OpenCOBOL?

 

o  1.2 ¿Qué es COBOL?

 

o  1.3 ¿Cómo se licencia OpenCOBOL?

 

o  1.4 ¿Qué plataformas son compatibles con OpenCOBOL?

 

o  1.5 ¿Existen paquetes OpenCOBOL preconstruidos

 

o  1.6 ¿Cuál es la versión más reciente de OpenCOBOL?

 

o  1.7 ¿Qué tan completa es OpenCOBOL?

 

o  1.8 ¿Voy a ser sorprendido por OpenCOBOL?

 

o  1.9 ¿A quién agradezco OpenCOBOL?

 

o  1.10 ¿Tiene OpenCOBOL incluye un conjunto de pruebas?

 

o  1.11 ¿Tiene OpenCOBOL pasar el conjunto de pruebas NIST?

 

o  1.12 ¿Qué pasa con OpenCOBOL y puntos de referencia?

 

o  1.13 ¿Puede OpenCOBOL utilizar para CGI?

o  1.14 ¿Apoya OpenCOBOL una GUI?

 

o  1.15 ¿Tiene OpenCOBOL tiene un IDE?

 

o  1.16 ¿Puede OpenCOBOL utilizarse para aplicaciones de producción?

 

o  1.17 ¿Dónde puedo obtener más información acerca de COBOL?

 

o  1.18 ¿Dónde puedo obtener más información acerca de OpenCOBOL?

o  1.19 ¿Puedo ayudar con el proyecto OpenCOBOL?

 

o  1.20 ¿Hay una lista de correo OpenCOBOL?

 

o  1.21 ¿Dónde puedo encontrar más información sobre los estándares

 

de COBOL?

o  1.22 ¿Puedo ver los códigos fuente OpenCOBOL?

 

o  1.23 ¿Qué pasó con opencobol.org?

 

o  1.24 ¿Cuál es COBOL en América?

 

o  1.25 ¿Conoces algún chiste bueno?

 

 2 Historia

o  2.1 ¿Cuál es la historia de COBOL?

 

o  2.2 ¿Cuáles son las normas oficiales COBOL?

 

o  2.3 ¿Cuál es la historia del desarrollo de OpenCOBOL?

 

o  2.4 ¿Cuál es la versión actual de OpenCOBOL?

 

 3 Uso OpenCOBOL

 

o  3.1 ¿Cómo instalo OpenCOBOL?

 

o  3.2 ¿Cuáles son las opciones de configuración disponibles para la

 

construcción de OpenCOBOL?

 

o  3.3 ¿OpenCOBOL tienen otras dependencias?

 

o  3.4 ¿Cómo funciona el compilador OpenCOBOL?

 

o  3.5 ¿Qué es COBC?

 

o  3.6 ¿Qué es cobcrun?

Page 4: Open Cobol Preg

 

o  3.7 ¿Qué es la cob-config?

 

o  Son compatibles 3.8 Opciones Lo que compilador?

 

o  3.9 ¿Qué dialectos son apoyados por OpenCOBOL?

 

o  3.10 ¿Qué extensiones se utilizan si COBC se llama con / sin "-ext"

 

para copiar

 

o  3.11 ¿Cuáles son los archivos de configuración en tiempo de

 

compilación OpenCOBOL?

 

o  3.12 ¿Funciona OpenCOBOL con maquillaje?

 

o  3.13 ¿Tiene una razonable esqueleto del código fuente para

 

OpenCOBOL?

 

o  3.14 ¿Puede OpenCOBOL puede utilizar para escribir la línea de

 

comandos stdin, stdout filtros?

o  3.15 ¿Cómo se puede imprimir en impresoras con OpenCOBOL?

 

o  3.16 ¿Puedo ejecutar procesos en segundo plano que utilizan

OpenCOBOL?

 

o  3.17 ¿Existe documentación de la API OpenCOBOL?

 

o  3.18 ¿Cómo se utiliza LD_RUN_PATH con OpenCOBOL?

 

o  3.19 ¿Qué opciones de las herramientas de compilación de GNU están

 

disponibles cuando se construye OpenCOBOL?

 4 Palabras reservadas

o  4.1 ¿Cuáles son las palabras reservadas OpenCOBOL?

 

o  4.2 ¿Tiene OpenCOBOL implementar cualquier función intrínseca?

 

o  4.3 ¿Puede aclarar el uso de la función en OpenCOBOL?

o  4.4 ¿Cuál es la diferencia entre el verbo y la LONGITUD LONGITUD DE

 

FUNCIÓN?

o  4.5 ¿Qué LLAMADA biblioteca Stock sí ofrece OpenCOBOL?

 

o  4.6 ¿Cuáles son los X4, XF5 y X91 rutinas?

 

o  4.7 ¿Qué es CBL_OC_NANOSLEEP rutina de biblioteca OpenCOBOL?

o  4.8 ¿Cómo se utiliza C $ JUSTIFICAR?

 

o  4.9 ¿Qué compilador directivas son compatibles con OpenCOBOL?

 

 5 Características y extensiones

 

o  5.1 ¿Cómo utilizo OpenCOBOL de CGI?

 

o  5.2 ¿Qué es ocdoc?

 

o  5.3 ¿Qué es CBL_OC_DUMP?

 

o  5.4 ¿Apoya OpenCOBOL cualquier base de datos SQL?

 

o  5.5 ¿OpenCOBOL apoyo ISAM?

 

o  5.6 ¿Tiene módulos de soporte OpenCOBOL?

 

o  5.7 ¿Qué es COB_PRE_LOAD?

 

o  5.8 ¿Qué es la sección VINCULACIÓN OpenCOBOL buscas?

 

o  5.9 ¿Qué hace el Finicial-vinculación opción OpenCOBOL compilador?

Page 5: Open Cobol Preg

 

o  5.10 ¿Tiene OpenCOBOL apoyo colas de mensajes?

 

o  5.11 Puede OpenCOBOL interfaz con Lua?

 

o  5.12 ¿Puede OpenCOBOL utilizar ECMAScript?

 

o  5.13 ¿Puede OpenCOBOL usar JavaScript?

 

o  5.14 ¿Puede OpenCOBOL interfaz con el esquema?

 

o  5.15 ¿Puede interfaz OpenCOBOL con Tcl / Tk?

 

o  5.16 ¿Puede OpenCOBOL interfaz con Falcon PL?

 

o  5.17 ¿Puede interfaz OpenCOBOL con Ada?

 

o  5.18 ¿Puede OpenCOBOL interfaz con Vala?

 

o  5.19 ¿Puede interfaz OpenCOBOL con S-Lang?

 

o  5.20 ¿Puede la programación GNAT Studio puede utilizar con

 

OpenCOBOL?

 

o  5.21 ¿Se OpenCOBOL apoyo SECCIÓN PANTALLA?

 

o  5.22 ¿Cuáles son los valores de color sección Screen OpenCOBOL?

o  5.23 ¿Se OpenCOBOL apoyo ESTADO CRT?

 

o  5.24 ¿Cuál es CobCurses?

 

o  5.25 ¿Cuál es CobXRef?

 

o  5.26 ¿Tiene OpenCOBOL implementar Report Writer?

 

o  5.27 ¿Se OpenCOBOL implementar linaje?

o  5.28 ¿Puedo usar ctags con OpenCOBOL?

 

o  5.29 ¿Qué pasa con la depuración de programas OpenCOBOL?

 

o  5.30 ¿Existe una interfaz de C para OpenCOBOL?

 

o  5.31 ¿Cuáles son algunas expresiones para hacer frente a C char *

datos de OpenCOBOL?

 

o  5.32 ¿El texto de apoyo OpenCOBOL incluye?

 

o  5.33 ¿Apoya OpenCOBOL AL-RECOPILADA?

 

o  5.34 ¿Qué es PI en OpenCOBOL?

 

o  5.35 ¿Apoya OpenCOBOL las características del objeto de la norma de

2002?

o  5.36 ¿Tiene OpenCOBOL implementar IMAGEN 78?

 

o  5.37 ¿La práctica CONSTANTE OpenCOBOL?

 

o  5.38 ¿Qué formatos de origen son aceptados por OpenCOBOL?

 

o  5.39 ¿Tiene líneas de continuación de apoyo OpenCOBOL?

 

o  5.40 ¿Se OpenCOBOL apoyo concatenación de cadenas?

 

o  5.41 ¿Tiene líneas de depuración indicador OpenCOBOL apoyo D?

 

o  5.42 ¿Apoya código fuente mayúsculas y minúsculas OpenCOBOL?

 

o  5.43 ¿Qué es el programa OpenCOBOL más corto?

 

o  5.44 ¿Cuál es el programa Hola corto en OpenCOBOL?

 

o  5.45 ¿Cómo puedo obtener los números de secuencia consecutivos

 

ingeniosas en un archivo de origen?

Page 6: Open Cobol Preg

 

o  5.46 ¿Hay una manera de contar los espacios finales en los campos

 

de datos que utilizan OpenCOBOL?

 

o  5.47 ¿Hay una manera de justificar la izquierda un campo numérico

 

editado?

o  5.48 ¿Hay una manera de detemermine cuando OpenCOBOL está

 

ejecutando ASCII o EBCDIC?

 

o  5.49 ¿Hay una manera de determinar cuándo OpenCOBOL se está

 

ejecutando en 32 o 64 bits?

 

o  5.50 ¿Tiene recursividad apoyo OpenCOBOL?

 

o  5.51 ¿Refleja OpenCOBOL desbordamiento aritmético?

 

o  5.52 ¿Puede OpenCOBOL utilizar para el trazado?

 

o  5.53 ¿Apoya OpenCOBOL el GIMP ToolKit, GTK +?

 

o  5.54 ¿Cuál es ocsort?

 

o  5.55 Cuando es Pascua?

o  5.56 ¿El Vim apoyo OpenCOBOL?

 

o  5.57 ¿Cuál es w3m?

 

o  5.58 ¿Cuál es COB_LIBRARY_PATH?

 

o  5.59 ¿Puede interfaz OpenCOBOL con Rexx?

 

o  5.60 ¿Tiene OpenCOBOL apoyo BUSCAR mesa y ORDENAR?

o  5.61 ¿Puede manejar OpenCOBOL canalizaciones con nombre?

 

o  5.62 ¿Puede OpenCOBOL interfaz con la raíz / CINT?

 

o  5.63 ¿Puede OpenCOBOL usarse para servir HTTP?

 

o  5.64 ¿Hay una buena herramienta SCM para OpenCOBOL?

o  5.65 ¿El interfaz OpenCOBOL con FORTRAN?

 

o  5.66 ¿El interfaz OpenCOBOL con APL?

 

o  5.67 ¿El interfaz OpenCOBOL con J?

 

o  5.68 ¿Cuál es COBOLUnit?

 

o  5.69 ¿Puede OpenCOBOL interfaz con Gambas?

o  5.70 ¿Funciona OpenCOBOL con LLVM?

 

o  5.71 ¿El interfaz OpenCOBOL con Python?

 

o  5.72 ¿Puede interfaz OpenCOBOL con Forth?

 

o  5.73 ¿Puede OpenCOBOL interfaz con Shakespeare?

 

o  5.74 ¿Puede OpenCOBOL interfaz con Ruby?

 

 6 Notas

o  6.1 big-endian

 

o  6.2 little-endian

o  6.3 ASCII

o  6,4 símbolo de moneda

o  6.5 DSO

o  6.6 errno

Page 7: Open Cobol Preg

 

o  6.7 gdb

 

o  6.8 GMP

o  6.9 ISAM

o  6.10 línea secuencial

o  6.11 APT

o  6.12 Apoyo RoboDoc

 

o  6.13 cobol.vim

o  6.14 make check anuncio

o  6.15 ABI

o  6.16 Tectónica

o  6.17 Ajuste Local

 

o  6,18 GNU

o  6.19 Realizar SIEMPRE?

o  6.20 POSIX

 7 Autores

 8 Mantenedores y colaboradores

 

 9 ChangeLog

1.1 ¿Qué es OpenCOBOL? 

Page 8: Open Cobol Preg

 

OpenCOBOL es un código abierto de COBOL compilador. OpenCOBOL implementa una

 

parte sustancial de la COBOL 85 y COBOL 2002 estándares, así como muchas

extensiones de los compiladores COBOL existentes.

OpenCOBOL traduce en C y COBOL compila el código traducido usando el compilador

C nativo. Usted puede construir sus programas COBOL en varias plataformas,

incluyendo Unix / Linux, Mac OS X y Microsoft Windows.

La más excelente Guía de OpenCOBOL Programmer se puede encontrar en

OpenCOBOL Guía de Programadores .

1.2 ¿Qué es COBOL? 

 

COBOL es un acrónimo de comunes Business Oriented Language. Este autor siempre

ha pensado en ella como "Business común" orientada más común "Business Oriented",

pero que el énfasis es tal vez hasta el punto de vista del lector.

1.3 ¿Cómo se licencia OpenCOBOL? 

El compilador es bajo licencia GNU General Public License .

La biblioteca de tiempo de ejecución es bajo licencia  GNU Licencia Pública General

Reducida .

Todos los códigos fuente son propiedad de sus respectivos autores.

Lo que significa que, a grandes rasgos, es la siguiente:

Se le permite escribir programas OpenCOBOL que utilizan el tiempo deejecución libcob biblioteca como quieras. Cerrado, propiedad, uso comercialestá permitiday alentó. Usted puede enviar programas en forma binaria como desee.

Las modificaciones del propio compilador, debe proporcionar acceso al códigofuente y ser licenciado bajo la GNU GPL. Esto asegura que nadie estáautorizado para llamar fuentes modificado su cuenta, ni negar a nadie laposibilidad de copiar yredistribuir el código fuente del compilador,incluyendo sus cambios locales.

A tener en cuenta: cualquier versión alemana del compilador que estáconfigurado para utilizar Berkeley DB más allá de la versión 1.85 debecumplir con la licencia y fuentes del Oracle Programas COBOL que utilizanlibdb deben enviarse con todos los binarios.

OpenCOBOL se distribuye con la esperanza de que sea útil, pero SIN NINGUNA

GARANTÍA, incluso sin la garantía implícita de COMERCIALIZACIÓN o IDONEIDAD

Page 9: Open Cobol Preg

 

PARA UN PROPÓSITO PARTICULAR. Vea la Licencia Pública General de GNU para más

detalles.

1.4 ¿Qué plataformas son compatibles con OpenCOBOL? 

OpenCOBOL 1.0 la versión actual del lanzamiento oficial, alojado en SourceForge.net,

 

compila en:

  Los 32 bits de MS Windows (95/98/NT/2000/XP)

  Todos POSIX (Linux / BSD / sistemas operativos tipo UNIX)

  OS / X

OpenCOBOL 1.1 , se ha construido sobre

 

  MS Windows nativo

  MS Windows con Cygwin

  GNU / Linux

  Sistemas POSIX, incluyendo OpenSolaris

  OS / X

  AS/400

  HP Integrity HPUX 11.23

  RS600 AIX 5

  390 mainframe z / OS OMVS / USS

  otros

1.5 ¿Existen paquetes OpenCOBOL pre-construidos 

Sí. Debian APT y los paquetes RPM existen. Paquetes de

NetBSD. Muchos. Googlepaquetes opencobol para cualquier Noticias de última hora.

Existe un paquete avanzado de paquete binario de Debian Herramienta para

OpenCOBOL 1.0 como abierto cobol y dependencias de las listas de

  libc6 (> = 2.7-1),

  libcob1,

  libcob1-dev (= 1.0-1),

  libdb4.5 (> = 4.5.20-3),

  libdb4.5-dev,

  libgmp3-dev,

  libgmp3c2,

  libltdl3-dev,

Page 10: Open Cobol Preg

 

  libncurses5 (> = 5.6 +20071006-3)

Gracias a los esfuerzos de gracia de Bart Martens, en bartm. Org de Debian.

1.5.1 repositorio kiska.net

También puedes ver kiska.net para las versiones binarias en distintas

plataformas.Gracias a Sergey Kashyrin.

1.5.2 SourceForge

Hay enlaces OpenCOBOL en http://cobol.sourceforge.net 

 

En particular, http://sourceforge.net/projects/cobol/files/open-cobol/ puede venir

 

muy bien, con las fuentes y binarios MinGW en un mininum. Tal vez más a medida

que pasa el tiempo.

1.6 ¿Cuál es la versión más reciente de OpenCOBOL?  

Ver ¿Cuál es la versión actual de OpenCOBOL? 

1.7 ¿Qué tan completa es OpenCOBOL? 

OpenCOBOL 1.0 implementa una parte sustancial de COBOL 85 , compatible con

 

muchos de los avances y aclaraciones de COBOL 2002 e incluye muchas extensiones

de uso común de Micro Focus COBOL, ACUCOBOL y otros compiladores existentes.

OpenCOBOL 1.1 implementa una parte más sustancial del COBOL 85 Dialecto, COBOL

 

2002 y un creciente número de extensiones de proveedor. Algunas propuestas COBOL

características 20xx también se han implementado. Compatibilidad apoyo incluye:

  MF para Micro Focus

  IBM para IBM compatibilidad

  MVS

  BS2000

OpenCOBOL también incluye algunas características avanzadas que permiten el

código fuente como

LLAME "cfunction" USO DE REFERENCIA DIRECCIÓN DEL VAR EN ENLACE-SECCIÓN.

Page 11: Open Cobol Preg

 

Al pasar el equivalente a char **, puntero a puntero a char. Así como un pequeño

ejemplo del nivel de cobertura y la flexibilidad proporcionada por OpenCOBOL.

DISPLAYFUNCION mayúsculas (

FUNCIÓN DE SUSTITUCIÓN ("Esta es la cadena original." ,"original" , "nuevo" , "cadena" , "text"

))

END-DISPLAY 

Para permitir la sustitución de cadenas de longitud mixtos, algo que normalmente no

tan fácil en COBOL. La seria:

ESTE ES EL NUEVO TEXTO.

Nota

Mientras OpenCOBOL se hace con un alto estándar de calidad y robustez, los

autores NO afirman que es un "Conforme estándar" la aplicación de COBOL.

1.8 ¿Se me asombra OpenCOBOL? 

Este autor cree que sí. Para una implementación de código abierto de COBOL,

OpenCOBOL le puede sorprender en la profundidad y amplitud de su COBOL soporte

de funciones, facilidad de uso y robustez.

COBOL ha sido históricamente muy reservado y discreto. Su ámbito de uso es muy

reservado y discreto. Programadores COBOL rara vez funcionan en sistemas que

permitan chat de Internet abierta sobre los detalles, por no hablar de la existencia . Es

un homenaje a la profesionalidad de estos programadores que la mayoría de la gente

rara vez, o nunca, escuchan el nombre COBOL, un lenguaje de programación con

miles de millones de líneas de código fuente compilada y en la producción de todo el

mundo más de medio siglo.

OpenCOBOL está a punto de cambiar esa tendencia histórica, y permitir la puesta en

común desde hace mucho tiempo de la sabiduría que las legiones de programadores

COBOL han acumulado más de 50 años de éxito y fracaso. La conversación

OpenCOBOL puede ser más POSIX de mainframe, pero ahora hay espacio para

compartir, criticar y transmitir las duras lecciones aprendidas de la informática de

sistemas críticos. Dado que millones de programadores COBOL mantienen miles de

millones de líneas de código COBOL fuera de la prensa, seguramente algo de la

sabiduría se puede transmitir de una manera que mantiene todos los secretos en

Page 12: Open Cobol Preg

 

secreto mientras que los desarrolladores curiosos están expuestos a COBOL fuera de

las bóvedas.

1.9 ¿A quién agradezco OpenCOBOL? 

Mucha gente. En particular Keisuke Nishida y Roger Mientras .

Consulte el archivo de gracias en el archivo de código fuente para más nombres de

personas que han trabajado en el proyecto OpenCOBOL. Roger señala que la lista es

deplorablemente incompleta. Para citar a:

El proyecto OC no hubiera sido lo que es hoy sin laayuda significativa / enorme de muchos-muchos personas. Las GRACIASarchivo ni siquiera hacer justicia a este.

1.10 ¿Tiene OpenCOBOL incluye un conjunto de pruebas? 

¿Por qué sí lo hace. 74 pruebas de sintaxis, 170 pruebas de cobertura, y los datos de

16 ensayos de representación en el 2009 antes de la liberación de Febrero. 88 de

sintaxis, 253 de cobertura, y 22 pruebas de datos en una corte de 2010.

Desde el tarball de desarrollo:

$ Make check

evaluará e informará sobre la serie de pruebas. Ver make check lista para obtener una

lista corriente de salida de una prueba.

1.11 ¿Tiene OpenCOBOL pasar el conjunto de pruebas NIST?  

El Instituto Nacional de Normas y Tecnología, NIST, mantiene un 85 suite de

verificación aplicación COBOL de pruebas. Un archivo de las pruebas se puede

encontrar en

http://www.itl.nist.gov/div897/ctg/cobol_form.htm 

 

OpenCOBOL pasa muchas de las pruebas incluidas en el patrocinado COBOL 85 banco

de pruebas NIST. A pesar de que pasa más de 9000 de las pruebas, OpenCOBOL no

reclama la conformidad con cualquier nivel de COBOL estándar .

Instrucciones para el uso de la suite de NIST se incluye en el archivo build en:

pruebas / cobol85 / README

Page 13: Open Cobol Preg

 

Básicamente, se trata de un simple descomprimir y hacer a continuación, sentarse y

relajarse. Los scripts se ejecutan OpenCOBOL sobre unas 374 programas / módulos e

incluye miles de pases de prueba.

Módulos de prueba------------

Pruebas básicas:

NC - pruebas núcleo COBOLSM - pruebas frase COPIAIC - pruebas frase LLAMADA

Presentar pruebas IO:

² - secuenciales pruebas IO archivosRL - Relativa pruebas IO archivosIX - indexadas pruebas IO archivosPruebas frase ORDENAR - ST

Instalaciones avanzadas:

IF - pruebas de función intrínseca

Con la adición de soporte global, la OpenCOBOL 1.1 pre-release no ninguno de los

intentos de las pruebas.

El summary.log de una ejecución en febrero de 2009:

------ Información del Directorio ---------- Pruebas total de información ---Programas Módulo Ejecutado Error Crash Pass Fallo Suprimido Inspeccione total-------------------------------------------------- ----------NC 92 92 0 0 4363 0 6 11 4380SM 15 15 0 0 290 0 3 1 294IC 24 24 0 0 246 0 4 0 250² 81 81 0 0 512 0 6 81 599RL 32 32 0 0 1827 0 5 0 1832IX 39 39 0 0 507 0 1 0 508ST 39 39 0 0 278 0 0 0 278SG 5 5 0 0 193 0 0 0 193OB 5 5 0 0 16 0 0 0 16SI 42 42 0 0 732 0 0 0 732-------------------------------------------------- ----------Total 374 374 0 0 0 8964 25 93 9082

1.12 ¿Qué pasa con OpenCOBOL y puntos de referencia?  

COBOL tiene un legado que se remonta a 1959. Muchas de las características de la

norma COBOL proporcionan valores por defecto más adecuados a la arquitectura de

Page 14: Open Cobol Preg

 

mainframe a la computadora personal de un tercero desarrollador OpenCOBOL

milenio probablemente esté utilizando.

OpenCOBOL, por defecto, genera código optimizado para  big-

 

endian hardware. Mejoras en la velocidad bastante dramáticos en la arquitectura Intel

pueden provenir de simples uso es COMPUTACIONAL-5 cláusulas de la DIVISION DE

DATOS.

1.12.1 telco facturación

Hay un punto de referencia publicado en http://speleotrove.com/decimal/telco.html y

 

gracias a Bill Klein [wmklein] , hay una entrada de COBOL. A partir del código fuente

de http://home.comcast.net/ ~ wmklein / DOX / TELCO.txt  sólo debería tener que

 

modificar

Input-Output Section.File-Control.

Select InFile Assign to"C:\expon180.1e6".

Select OutFile Assign to"C:\TELCO.TXT"

LineSequential.

para señalar el nombre de archivo correcto para su copia local del archivo de entrada

de referencia millones de euros y un nombre OutFile adecuado para una compilación

limpia y correr.

En resumen, el punto de referencia lee un archivo de entrada grande que contiene una

lista adecuadamente distribuido de duraciones de las llamadas telefónicas (cada uno

en segundos). Para cada llamada, se elige una velocidad de carga y el precio calculado

y redondeado a centésimas. Uno o dos impuestos se aplican (en función del tipo de

llamada) y el costo total se convierte en una cadena de caracteres y se escriben en un

archivo de salida. Totales acumulados de los costes totales y los impuestos se

mantienen, los cuales se muestran al final de la referencia para la verificación.

Una corrida en un viejo pentium 4 y el archivo de millones el número dado:

$ Echo 'N' |. Time / telcoEnter 'N' para saltar cálculos:0.46user 1.08system 0:01.61 transcurrido CPU 96% (0avgtext 0 avgdata0maxresident) k0inputs 134.776 salidas (0major 345 menores) pagefaults 0swaps$ Echo'' |. Time / telcoEnter 'N' para saltar cálculos:11.37user 1.41system 0:12.95 transcurrido CPU 98% (0avgtext 0 avgdata0maxresident) k

Page 15: Open Cobol Preg

 

24inputs 134.776 salidas (0major 360 menores) pagefaults 0swaps

$ TELCO.TXT cola35 D | 0,31 0,02 0,01 | 0,34

193 D | 1,73 0,11 0,05 | 1,89792 L | 1,03 0,06 | 1,09661 D | 5,91 0,39 0,20 | 6,5044 L | 0,06 0,00 | 0,06

262 L | 0,34 0,02 | 0,36------------- + ------------------------------------ ---- + -------------

Totales: | 922,067.11 57,628.30 25,042.17 | 1,004,737.58Start-Time: 09:37:23.93

End-Time: 09:37:36.83

Un pre-lanzamiento más reciente de 1,1, en una caja Xeon quad-core dual con Linux

SLES 10 de 64 bits:

35 D | 0,31 0,02 0,01 | 0,34193 D | 1,73 0,11 0,05 | 1,89792 L | 1,03 0,06 | 1,09661 D | 5,91 0,39 0,20 | 6,5044 L | 0,06 0,00 | 0,06

262 L | 0,34 0,02 | 0,36------------- + ------------------------------------ ---- + -------------

Totales: | 922,067.11 57,628.30 25,042.17 | 1,004,737.58Start-Time: 21:40:48.52

End-Time: 21:40:51.92

3,4 segundos caché calientes. No está mal.

1.13 ¿Puede OpenCOBOL utilizar para CGI? 

Sí. A través de IO redirección estándar y la ampliada ACEPTAR ... DE MEDIO AMBIENTE

... característica, OpenCOBOL es más que capaz de soportar programación Common

Gateway Interface avanzada. Véase ¿Cómo utilizo OpenCOBOL de CGI? para una

 

muestra Web Hola programa.

Para los desarrolladores que buscan servir a aplicaciones OpenCOBOL en los sistemas

y no privilegios de superusuario organizada, veo ¿Cómo utilizo LD_RUN_PATH con

 

OpenCOBOL? para algunos consejos.

1.14 ¿Apoya OpenCOBOL una GUI? 

 

Sí, pero no fuera de la caja. No hay actualmente (febrero de 2013) todo lo que se

incluye con el producto.

Page 16: Open Cobol Preg

 

Extensiones de terceros para Tcl / Tk y enlaces para GTK + sí permiten las interfaces

gráficas de usuario. Ver ¿Admite OpenCOBOL el GIMP ToolKit, GTK +? y¿Puede interfaz

 

OpenCOBOL con Tcl / Tk? .

 

1.14.1 GTK

La expectativa es que GTK + estará completamente obligado como una interfaz

invocable. Es actualmente (febrero de 2013) no es el caso, tal vez con el 2% del GTK +

funcionalidad envuelta (pero con ese 2%, interfaces gráficas completamente

funcionales son posibles).

1.14.2 Tcl / Tk

El motor de Tcl / Tk ya es bastante completa, pero no lugar la mayor parte de la carga

del desarrollo GUI de lleno en el lado Tk.

1.14.3 Vala, WebKit

Vala también abrirá una vía rápida de desarrollo GUI con OpenCOBOL. Ya hay un

navegador web incorporado utilizando los enlaces de Vala para WebKit. VerPUEDE

interfaz OpenCOBOL con Vala? para muchos más detalles.

1.15 ¿Tiene OpenCOBOL tiene un IDE? 

Sí y no. No existe una IDE que se incluye con el producto. El equipo add1tocobol es

actualmente (febrero de 2013) en su trabajo la creación de extensiones para la

programación GNAT Studio. Esto está funcionando bastante bien y probablemente

será el IDE de elección para los desarrolladores add1tocobol OpenCOBOL.

Ver ¿Puede la programación GNAT Studio puede utilizar con OpenCOBOL? para más

 

información.

También está el Eclipse IDE y un gran proyecto para la integración de COBOL, pero

esto no va a ser específico OpenCOBOL.

Muchos editores de texto cuentan con sistemas para invocar los compiladores. SciTE,

Carmesí Editor, vi y emacs, por nombrar sólo algunos de los cientos que apoyan

editar / compilar / ciclos de desarrollo de las pruebas.

Ver ¿Funciona OpenCOBOL con maquillaje? algo de información sobre la asistencia de

 

compilación de línea de comandos.

Page 17: Open Cobol Preg

 

 

1.16 ¿Puede OpenCOBOL utilizarse para aplicaciones de

producción? 

Depende. OpenCOBOL todavía está en desarrollo activo. La cobertura de funciones

está creciendo, y mientras que la implementación actual ofrece una gran cobertura,

aplicabilidad a una situación determinada tendría que analizar y evaluar los riesgos

antes de compromiso con el uso de producción.

La licencia permite el uso comercial, pero OpenCOBOL también viene con aviso de

indemnización, lo que significa que no hay garantías al utilizar OpenCOBOL, directa o

indirectamente.

Puede haber un momento en que se ofrece soporte comercial de OpenCOBOL, pero en

el momento de escribir ninguna ofrenda conocida existe.

Buscar en google por si acaso!  

Y sí, OpenCOBOL se utiliza en entornos de producción.

Desde [Roger] :

 

Dicho sea de paso, OC ha sido (y sigue siendo) usado en la producciónambientes desde 2005. (Esto incluye proyectos que personalmente he trabajadoen más otros proyectos me informaron, los cuales todo el mundo)

El proyecto OC no hubiera sido lo que es hoy sin la ayuda significativa /enorme de muchos-muchos personas. Las GRACIAS archivo ni siquiera hacerjusticia a este.

1.16.1 Nagasaki Prefecture

Enviado el opencobol.org , La Prefectura de Nagasaki, la población de 1,44 millones y

 

30.000 empleados civiles está utilizando OpenCOBOL en apoyo de su sistema de

gestión de nóminas. Un equipo de 3 portado y mantener un conjunto de 200

programas COBOL, mezclados con Perl y los módulos de información especializados,

que se ejecutan en Nec PX9000 hierro grande y servidores Xeon.

1.16.2 Historias de Currey Adkins

Otro post de opencobol.org en abril de 2009, reimpreso con el permiso .

 

OpenCOBOL viabilidad

Page 18: Open Cobol Preg

 

Para aquellos preocupados por la viabilidad de OpenCOBOL en una producciónmedio ambiente, que ofrece nuestra situación como un ejemplo.

Empezamos cargando OpenCOBOL a un Debian (Etch) Caja parisc a mediados demarzo. Con ayuda valiosa de este foro nos quedamos en funcionamiento en pocosdías.

A continuación, exploramos las capacidades de CGI y trasladamos nuestromanejador CGI hecho en casa (Escrito en HP3000 Cobol) sobre. Terminamoscambiando unas pocas líneas.

En el post de Marcr indica, encontramos un envoltorio MySql e hicimos algunospequeños cambios en él.

A partir de la segunda semana de abril, estábamos en pleno desarrollo denuevos sistemas para uso comercial.

Por favor, acepte nuestras felicitaciones a la comunidad y nuestra gratitudpor la ayuda del foro.

jimc

Otra referencia de Jim, unos 6 meses después, en febrero de 2010, que parece ser el

tiempo suficiente para un efecto de cristal de color rosa haber desaparecido si iba a

hacerlo.

Por nuestra parte, la respuesta es sí.

Es posible que desee leer un hilo antes de esto. Buscar en OpenCOBOLviabilidad.

Después de haber trabajado con Cobol desde 1960, mi forma de pensar es que noconversión es automática.

En nuestro caso no nos estamos convirtiendo en un dialecto específico comoMF,sino que están ya sea escribiendo sistemas completamente nuevos o estáncambiandocaracterísticas (por lo que basado en la web, por ejemplo) en los sistemasmás antiguos.

Hay algunos fallos detectados en la ejecución OpenCOBOL que tienen hadiscutido en este foro. Hemos encontrado que son inconsecuentes y simplementetrabajar alrededor de ellos. Por otra parte no me acuerdo de trabajo con uncompilador libre de errores.

Nuestro medio ambiente es Debian Linux, OpenCOBOL 1.1, MySQL, ISAM (elproporcionado con la versión preliminar 1.1), HTML (a través de CGI) y unnuevo preprocesador para aliviar el tedio de escribir sentencias SQL.

Si usted tiene algunos "nay Sayers" en su organización y desea alguna apoyoestaré encantado de hablar con ellos.

Page 19: Open Cobol Preg

 

jimc

Espero que la gente no les importa un poco de publicidad en este FAQ, pero Jim ha

hecho mucho por OpenCOBOL y su compañía es una empresa de mentalidad de la

comunidad. http://www.curreyadkins.com 

 

1.16.3 Contador Público

Otra de opencobol.org

Como parte de un estudio inicial de los compiladores de COBOL para encontraruna alternativa a la la de MicroFocus, OpenCobol fue seleccionado paradesarrollar un modelo para la compilación de un paquete de contabilidadpública (1,5 millones de líneas).

El modelo tenía para validar esta elección, incluso con el uso de secuencialarchivos indexados, con la versión 0.33 OpenCobol y pequeños ajustes en elCOBOLcódigo (principalmente utilizando palabras clave reservadas y palabras claveno implementado).

Después de la clasificación funcional de este modelo, el software es en laproducción desde julio de 2011 en Linux RedHat Enterprise Linux 4 avanzado de32 bits del servidor entorno virtualizado VMware ESX - 4 GB de RAM -Procesador dual AMD Opteron 6176 (tm).

El paquete de software se implementa para 650 usuarios cuyos 150 conectadosal mismo tiempo, en los picos de actividad y en comparación con la anteriorplataforma AIX 4.3 y MicroFocus, ganancia de rendimiento es en un informe, enel mejor, 1-10 (lote de explotación de misión), en el peor, del 1 al 4 (lotede recálculo).

Con el auge de la versión del paquete, una validación funcional está en cursodesde septiembre de 2011 con OpenCobol versión 1.1 en Linux RedHat Enterprise5 Linux Advanced Server de 64 bits y doble Quad-Core AMD Opteron 8356 (tm)procesador. No hay pérdida de rendimiento relacionado con la nueva versión deOpenCobol (pero relacionada con el paquete de 10% a 20% de pérdida) despuésde la campaña en los dosambientes.

1.17 ¿Dónde puedo obtener más información acerca de COBOL?  

El COBOL FAQ  por William M Klein es un gran lugar para comenzar.

A google de las palabras de búsqueda "COBOL" o "OpenCOBOL" están obligados a

llevar a bastantes días el valor de la lectura de los artículos de fondo, opiniones e

información técnica para satisfacer la mayor de las curiosidades.

Los COBUG sitio COBOL Grupos de usuarios es también un recurso maravilloso para

los desarrolladores OpenCOBOL.

Page 20: Open Cobol Preg

 

Esto es muy sujeta a cambios , pero en la actualidad (febrero de 2013) un proyecto de

20xx está disponible en http://www.cobolstandard.info/j4/index.htmy en

 

particular http://www.cobolstandard.info/j4/ archivos / std.zip 

Nota

 

Mientras OpenCOBOL se hace con un alto estándar de calidad y robustez, los

autores NO afirman que es un "Conforme estándar" la aplicación de COBOL.

1.18 ¿Dónde puedo obtener más información acerca de

OpenCOBOL? 

Actividades de los proyectos actuales se encuentran

en SourceForge . El opencobol.org sitio web es probablemente un buen lugar busca

 

también.add1tocobol.com es un lugar para conocer algunas de las iniciativas del

ventilador. (Un archivo más viejo se ha escondido en http://oldsite.add1tocobol.com) 

 

1.18.1 La Guía del Programador OpenCOBOL

Un muy bien escrito y magistral OpenCOBOL referencia y guía de desarrollo

COBOL. Por Gary Cutler, OpenCOBOL Guía de Programadores .

1.19 ¿Puedo ayudar con el proyecto OpenCOBOL?  

 

Por supuesto. Visite el opencobol.org sitio web y cualquiera de publicar un mensaje

 

que le pregunta qué hay que hacer, o tal vez unirse a la lista de correo de desarrollo

para conocer el estado actual de desarrollo. Ver ¿Hay una lista de correo

 

OpenCOBOL? para algunos detalles. OpenCOBOL es un proyecto de código abierto con

 

licencia GPL y mientras [Roger] es el desarrollador principal que es bastante abierto a

 

las comunicaciones de código. Tener un punto central del desarrollo permite la

consistencia y el alto nivel de control de calidad de que gozan los usuarios

OpenCOBOL.

1.19.1 Los esfuerzos Traducción

Un nuevo proyecto ha empezado a ver idioma nativo en los COBC sistemas de

compilación y en tiempo de

ejecución. Consultehttp://www.opencobol.org/modules/newbb/viewtopic.php?topic_i

 

d=1127&forum=1 para los detalles si usted cree que puede ayudar.

Page 21: Open Cobol Preg

 

Hola gente!

Estamos empezando a traducirse en las próximas versiones diferentes idiomas.Los cambios de código necesarios para OC 2.0 ya se realizaron.

Ahora necesitamos traductores.

Antes de publicar cualquier cosa aquí me quiero reunir a los traductoresaquí. ¿Quién es capaz y está dispuesto a traducir las cadenas (actualmente667) en qué idioma (s) [O tiene a alguien que hace esto]?

A partir de los últimos debates Recuerdo personas que quieren hacer esto paraFrancés, italiano, español, alemán, pero no recuerdo que dijo exactamente queél / ella le ayudará. Ya contamos con una traducción al japonés, pero quenecesita una actualización pesada.

...

1.20 ¿Hay una lista de correo OpenCOBOL?  

Sí. Visita opencobol.org para más detalles. La lista de correo de desarrollo

OpenCOBOL se gentilmente auspiciada por SourceForge. El archivo ML está disponible

en http://sourceforge.net/mailarchive/forum.php?forum_name=open-cobol-list y

 

una vez que se ha suscrito, la lista se aceptan mensajes de correo electrónico en el

destino-cobol de listas abiertas en las listas. sourceforge.net.

1.21 ¿Dónde puedo encontrar más información sobre los

estándares de COBOL? 

El COBOL 85 , están documentadas en

  ANSI X3.23-1985

  ISO 1989-1985

  ANSI X3.23a-1989

  ANSI X3.23b-1993

Esto es muy sujeta a cambios , pero en la actualidad (febrero de 2013) un proyecto de

20xx está disponible en http://www.cobolstandard.info/j4/index.htmy en

 

particular http://www.cobolstandard.info/j4/ archivos / std.zip 

Nota

 

Mientras OpenCOBOL se hace con un alto estándar de calidad y robustez, los

autores NO afirman que es un "Conforme estándar" la aplicación de COBOL.

Page 22: Open Cobol Preg

 

1.22 ¿Puedo ver los códigos fuente OpenCOBOL? 

Por supuesto. Al ser un sistema de código abierto, todas las fuentes que se utilizan

para construir el compilador está disponible y gratis.

El opencobol.org sitio tiene enlaces a liberar y archivos de pre-lanzamiento. La

mayoría de las distribuciones de GNU / Linux también tienen paquetes de código

fuente. Por ejemplo

$ apt-get fuente abierta cobol

en Debian GNU / Linux recuperará las más recientes fuentes de paquetes depurados.

A RoboDoc proyecto experimental para documentar el código fuente está alojado

en ocrobo . Consulte Soporte RoboDoc para un archivo de configuración de ejemplo.

 

1.22.1 Lo que se utiliza para dar color a los listados de código fuente?

Escribí un analizador léxico Pygments, mushed en una copia local de  Pygments y

 

luego llamar a un programa de rst2html-pygments.py. Se requiere una buena

cantidad de curioseaba. Ver reStructuredText y Pygments por algunos detalles.

A partir de enero de 2013, el COBOL léxico está en Pygments principales. No más

curioseaba necesario. 

1.23 ¿Qué pasó con opencobol.org? 

 

Debido al robot de spam, las matriculaciones en opencobol.org fueron desactivados

en 2012.

El sitio activo está organizada por SourceForge, en

https://sourceforge.net/projects/open-cobol/ 

1.24 ¿Cuál es COBOL en América? 

 

Se me ocurrió Publicus NEGOCIACIÓN Cursus Lingua, y luego gente más inteligente

sugerí:

  negotium Orientatur lingua plebeius

  generalis negotium pertineo lingua

  de comunicación codice pro calculorum negotii

  codex communis pro calculorum negotii

Page 23: Open Cobol Preg

 

Me gusta la última. ccpcn, que se pronuncia como kick-Pickin '.

Gracias a Ray, Pablo y Daniel de LinkedIn.

1.25 ¿Conoces algún chiste bueno? 

Puede ser.

  Un equipo sin COBOL y Fortran es como un pedazo de pastel de chocolate sin

ketchup o mostaza.

 John Krueger  

  Un codificador determinado puede escribir programas COBOL en cualquier

idioma.

Autor: desconocido  

  Corre el rumor de que la especificación orientada a objetos para COBOL era el

nombre código

Añadir 1 al COBOL DANDO COBOL. 

Autor: desconocido  

A menos detallado, la versión más concisa, muy unCOBOL que  

Añadir 1 al COBOL. 

Gracias a aoirthoir  

Y, precisamente porque;

Añadir 1 al COBOL dando OpenCOBOL  

  A disrepect común de broma COBOL es que el acrónimo de:

Comercial totalmente obsoleto lenguaje orientado.

Autor desconocido  

Sabemos mejor. La realidad es la siguiente:

No se puede obsolescencia Debido A Legacy. ¿Y por qué quieres?  

Brian Tiffin  

Page 24: Open Cobol Preg

 

  COBOL

Ciertamente Old Pero menudo Limber.

Brian Tiffin  

  Ruby on Rails? No te olvides de COBOL DE DIENTES.

http://www.coboloncogs.org/INDEX.HTM 

 

  Coma COBOL, 200 mil millones de líneas no pueden estar equivocados.

Brian Tiffin  

  ¿Qué COBOL gritar al ladrón escapar?

Parada Marcha Volviendo ahora. 

Brian Tiffin  

  El marido de una COBOL programador le pregunta: " Cariño ¿puedes ir a la 

tienda y conseguir un poco de leche. Y si tienen huevos, conseguir una 

docena . "Después de veinte minutos regresa y fracasos de 12 bolsas de leche

en la mesa. Él la mira con curiosidad, " Cariño, ¿por qué has hecho eso ? "Ella

responde tajantemente:" Tenían huevos . "

Autor desconocido  

  ¿Qué COBOL responder al ejecutivo? Sí, sí puedo  

Realizar saltos THRU AROS. 

Brian Tiffin  

  ¿Qué OpenCOBOL responder al ejecutivo? Sir, puedo  

Realizar saltos THRU LLAMAS-aros hasta que el Infierno-HELADA-OVER. 

Y siendo COBOL, tengo que mostrarle cómo poco código que se necesita:  

identificación división .programa-Identificación . congele .

datos de la división .WORKING-STORAGE sección .01 infierno pic 9 .

88 Infierno-HELADA-over valor 1 .

Page 25: Open Cobol Preg

 

 procedimiento de división .realizar saltos a través de aros de fuego- hasta el Infierno-HELADA-over.dejar de carrera .

saltos .llameantes-hoops .dividir 1 por 0 da el infierno .

  Escribió COBOL toda la mañana, toda la tarde y la noche. Otra carpe , diem'ed .

Brian Tiffin, arrancado de un meme, entonces farberized  

  Ok, lo siento por los cojos. Aquí hay un enlace a un poco de humor actual, Bob

el dinosaurio, gracias a Scott Adams.

http://dilbert.com/strips/comic/1997-11-04/ 

 

1.25.1 Una 5-7-5 haiku?

¿Qué tal un haiku 5-7-5?

programa-id . único .procedimiento de división . añadir1 al código de retorno .

* Btiffin * 

Compila un programa que falla cuando se ejecuta. Error de la poesía, como el código

de falla. Su bienvenida.

Y uno de cada CBRAIN, que añade una U para stdin, desde el canal de IRC # esotérica

en Freenod, por nooodl.

, [,.]> + [> + <++ +]>.

añade nooodl una U para stdin

2 Historia 

Historia

  2.1 ¿Cuál es la historia de COBOL?

 

  2.2 ¿Cuáles son las normas oficiales COBOL?

Page 26: Open Cobol Preg

 

  2.3 ¿Cuál es la historia del desarrollo de OpenCOBOL?

 

  2.4 ¿Cuál es la versión actual de OpenCOBOL?

 

Historia

2.1 ¿Cuál es la historia de COBOL? 

A partir de 1959, se formó un comité con el patrocinio del Departamento de Defensa

de Estados Unidos para recomendar una opción de corto alcance en relación con la

informática empresarial. La Conferencia de datos Idiomas del sistema (CODASYL)

liderados por Joe Wegstein de la Oficina Nacional de Normalización (ahora Instituto

Nacional de Estándares y Tecnología) desarrolló un nuevo lenguaje, y creó el primer

lenguaje de programación de negocio estandarizado.

El negocio comunes Oriented Language Acrónimo fue anunciado el 18 de septiembre

de 1959.

A finales de 1960, esencialmente el mismo programa COBOL corrió en dos

plataformas diferentes de hardware, y los interesados divisó la posibilidad de cumplir

el objetivo de todo el sistema de negocio de la industria, compatibles.

Almirante Grace Hopper se le conoce cariñosamente como la madre del lenguaje 

 

COBOL mientras ella y su trabajo previo con flow-MATIC influenciado las

especificaciones de la primera COBOL.

Los estándares han sido publicados para:

  COBOL-68

  COBOL-74

  COBOL-85

  COBOL-2002

  Proyecto de trabajo para COBOL-20xx es actualmente (febrero de 2013) en

curso

y éstas corresponden, aproximadamente, el año en que se produjeron. Tenga en

cuenta el sabor y2k de numeración de cuatro dígitos se produjo después de que el

cambio de milenio.

Las estimaciones varían, pero es totalmente razonable para creer que de los cerca de

300 mil millones (trescientos mil millones) de líneas de código fuente de ordenador

en la producción a partir de 1995, 200 000 000 000 (doscientos mil millones) líneas

eran COBOL. A 2/3rds completos de código fuente en el mundo en ese momento.

Page 27: Open Cobol Preg

 

Ver la entrada de Wikipedia para COBOL para muchos más detalles.

2.2 ¿Qué son las Normas Oficiales COBOL? 

Muchas gracias a William Klein, [wmklein] para más detalles sobre qué formulaciones

se van a utilizar al hacer referencia a las Normas COBOL:

Hay varias referencias a "COBOL 85" y estas son a menudo se distingue de"funciones intrínsecas".

El término oficial (pero muy oscura) que se debe utilizar es "modificadaTercer Estándar COBOL. "El" más clara "(y en mi humilde opinión mejor)término que debeutilizar es algo así como

- "'85 COBOL estándar con sus modificaciones"

En 1991 (en realidad 1993 de ISO en lugar de ANSI) no había tal cosa como"simplemente '85 estándar COBOL". La única norma reconocida fue la Documento"base" (X3.23-1985), junto con sus dos enmiendas- Funciones intrínseca Enmienda Módulo- Correcciones Enmienda

Un dato relacionado interesante es que el "Módulo de funciones intrínsecas"eraOPCIONAL en el ANSI e ISO COBOL pero fue necesario (en el Nivel ALTO) para laFIPS COBOL. Como las "pruebas de certificación" se orientaron a conseguircontratos con el gobierno de Estados Unidos, la mayoría de los vendedores(que se siguen haciendo certificación) funciones intrínsecas realidadtratadas no requieren opcional para la certificación de "alto nivel". (No seincluyeron en el Certificación FIPS intermedia del proceso).

Bottom-Line:

Aunque se añadieron algunas funciones intrínsecas en la Norma '02 (y másestán incluidos en el proyecto de revisión), no es correcto (en mi opinión)para distinguir entre el apoyo a la Norma '85 yapoyar las funciones intrínsecas.

PS La enmienda correcciones hizo algunas modificaciones técnicas, pero todasde ellos fueron incluidos en la Norma '02. Por lo tanto, es de esperar, loqueque no tendrá un impacto OpenCOBOL mucho.

Nota

Mientras OpenCOBOL se hace con un alto estándar de calidad y robustez, los

autores NO afirman que es un "Conforme estándar" la aplicación de COBOL.

Page 28: Open Cobol Preg

 

2.3 ¿Cuál es la historia del desarrollo de OpenCOBOL?  

OpenCOBOL fue desarrollado inicialmente por Keisuke Nishida  [Keisuke] de la

experiencia de trabajo en TinyCOBOL desarrollado originalmente por Rildo Pragana.

 

La primera versión pública fue la versión 0.9.0, el 25 de enero de 2002.

El desarrollo continuó a buen ritmo, con la versión 0.30 lanzada por Keisuke el 8 de

agosto de 2004.

Mientras Roger [Roger] entonces tomó el papel como desarrollador principal el 30 de

 

octubre de 2004.

Version 0.31 fue lanzado 01 de febrero 2005.

Version 0.32 fue lanzado 12 de mayo 2005.

Version 0.33 comenzó el 13 de mayo de 2005.

Version 1.0 fue lanzado el 27 de diciembre de 2007.

Versión 1.1 fue lanzado en SourceForge el 4 de mayo de 2012.

Versión 1.1CE entró en desarrollo activo el 4 de mayo de 2012.

2.4 ¿Cuál es la versión actual de OpenCOBOL?  

OpenCOBOL 1.0 fue lanzado 27 de diciembre 2007 por Roger Mientras [Roger] .

 

La decisión de ir a la versión 1.0 desde 0,33 seguido muchas mejoras incrementales a

partir de 2005 a través hasta finales de 2007.

OpenCOBOL 1.1 pre-release se activó el 27 de diciembre de 2007 y es

actualmente (febrero de 2013) en el desarrollo activo. El alquitrán de origen pre-

lanzamiento se puede encontrar en OpenCOBOL 1.1 con las instrucciones de

 

instalación en OpenCOBOL instalación y en el archivo de texto INSTALACIÓN de las

 

fuentes.

1.1 El pre-lanzamiento en febrero de 2009 fue etiquetado como la liberación de

SourceForge en Mayo de 2012. La edición 1.1 comunidad está en desarrollo activo

en http://sourceforge.net/projects/open-cobol 

 

Después de una descarga y el extracto de http://sourceforge.net/projects/open-

 

cobol/files/latest/download?source=files 

$ . / configure$ hacen$ make check$ sudo make install

Page 29: Open Cobol Preg

 

colocará un nuevo conjunto de archivos binarios arraigada de / usr / local 

Asegúrese de ver ¿Cuáles son las opciones de configuración disponibles para la

 

construcción de OpenCOBOL? para todas las opciones disponibles para la creación de

 

fuentes.

2.4.1 occurlrefresh

Si usted construye un pre-lanzamiento OC1.1, usted será capaz de compilar

el occurlrefresh.cbl (con occurlsym.cpy ) aplicación y una tempranaoccurl.c envoltorio

libcurl que permite la transferencia de archivos de Internet. occurlrefresh incluye

nombres de archivo por defecto para la recuperación el más reciente archivo de

origen pre-liberación y sólo actualiza la copia local si se ha producido una nueva

versión de las fuentes.

Gracias a [aoirthoir] para la celebración de estos, en la actualidad (febrero de 2013) en

  occurlrefresh.cbl 

  occurlsym.cpy 

 

  occurl.c 

y luego simplemente

$ . / occurlrefresh

para descargar los nuevos archivos de desarrollo. libCurl prueba las marcas de tiempo

de modificación, por lo que este proceso es muy eficiente de los recursos, sólo

tirando del servidor si hay algo nuevo. A -b opción se acepta que se generan fuera

de alquitrán , configurar y hacer pasar a compilar una nueva copia. -b no hace una

instalación, usted todavía tiene que hacerlo manualmente después de comprobar que

todo está bien.

3 Uso OpenCOBOL 

Usando OpenCOBOL

  3.1 ¿Cómo instalo OpenCOBOL?

 

  3.2 ¿Cuáles son las opciones de configuración disponibles para la construcción

 

de OpenCOBOL?

 

  3.3 ¿OpenCOBOL tienen otras dependencias?

 

  3.4 ¿Cómo funciona el compilador OpenCOBOL?

 

  3.5 ¿Qué es COBC?

Page 30: Open Cobol Preg

 

  3.6 ¿Qué es cobcrun?

 

  3.7 ¿Qué es la cob-config?

 

  Son compatibles 3.8 Opciones Lo que compilador?

 

  3.9 ¿Qué dialectos son apoyados por OpenCOBOL?

 

  3.10 ¿Qué extensiones se utilizan si COBC se llama con / sin "-ext" para copiar

 

  3.11 ¿Cuáles son los archivos de configuración en tiempo de compilación

 

OpenCOBOL?

 

  3.12 ¿Funciona OpenCOBOL con maquillaje?

 

  3.13 ¿Tiene una razonable esqueleto del código fuente para OpenCOBOL?

 

  3.14 ¿Puede OpenCOBOL puede utilizar para escribir la línea de comandos

 

stdin, stdout filtros?

  3.15 ¿Cómo se puede imprimir en impresoras con OpenCOBOL?

 

  3.16 ¿Puedo ejecutar procesos en segundo plano que utilizan OpenCOBOL?

 

  3.17 ¿Existe documentación de la API OpenCOBOL?

  3.18 ¿Cómo se utiliza LD_RUN_PATH con OpenCOBOL?

 

  3.19 ¿Qué opciones de las herramientas de compilación de GNU están

 

disponibles cuando se construye OpenCOBOL?

 

Usando OpenCOBOL

3.1 ¿Cómo instalo OpenCOBOL? 

Las instrucciones de instalación se encuentran en  OpenCOBOL Install .

 

3.1.1 De origen con GNU / Linux

$ http://sourceforge.net/projects/open-cobol/files/open-cobol/1.1/open-cobol-1.1.tar.gz wget$ tar xvf abierto cobol-1.1.tar.gz$ cd abierta cobol -1.1$ . / configure$ hacen$ make check$ sudo make install$ sudo ldconfig

3.1.2 Debian

El paquete Debian hace que la instalación OpenCOBOL 1.0 en un instante. Desde la

raíz o el uso de sudo

$ apt-get install abierto cobol

Page 31: Open Cobol Preg

 

3.1.3 Fedora

De los principales repositorios de Fedora

$ yum install abierto cobol

3.1.4 Ventanas

Construir a partir de fuentes bajo Cygwin o MinGW. Siga las instrucciones del sitio en

la lista anterior, o leer el documento OC_GettingStarted_Windows

por [wmklein] disponible en línea en

  http://opencobol.add1tocobol.com/oc_gettingstarted_windows.html 

 

  http://opencobol.add1tocobol.com/OC_GettingStarted_Windows.pdf  

 

Véase también ¿Cuál es la versión actual de OpenCOBOL? .

 

3.1.5 Macintosh

De Ganímedes en opencobol.org 

HOWTO: Installling OpenCOBOL 1.0.0 (con BerkeleyDB) en Mac OS 10.5.x, 10.6.x  

 

En Mac OS X 10.5.x/10.6.x, he arreglado para compilar e instalar OpenCOBOL1.0.0 (incluyendo libdb linking), y ahora estoy feliz compilar sistemas deproducción con el mismo. No es enteramente * * sencillo, ya que implicainstalación GMP a través de MacPorts - la * única manera * que GMP seinstalarácorrectamente debido a algunas excentricidades en las herramientasde desarrollo Xcode de Apple (en particular con relación a c99 en gcc), amenos que esté dispuesto a arreglar las cosas a mano.

Además, las versiones anteriores (BerkeleyDB los 4.xx los disponibles atravésMacPorts) causan algunos errores ioctl extraños en tiempo de ejecución en MacOS X Leopard y Snow Leopard cuando se trata ciertos tipos de organización seindexaoperaciones; precisamente lo que hace que las condiciones de este sinembargo, estoy totalmente a determinar.El resultado de esto es que con el fin de compilar y ejecutar un OpenCOBOLcompleta 1.0.0 instalación de Leopard y Snow Leopard, uno tiene que 1)instalación GMP a través de MacPorts, pero 2) compilar e instalar una versiónreciente de BerkeleyDB nativa.

Probablemente en algún momento, voy a empacar esto en una bonita-bonitaprecompilados. app. dmg junto con una interfaz de compilador Cacaorudimentaria.Hasta entonces, sin embargo - mi COBOL sobre compañeros de Mac! - Por favorhaga lo siguiente:

Page 32: Open Cobol Preg

 

- Pasos de instalación (Probado en tanto 10.5.xy 10.6.x) -1) Descargar una distribución MacPorts apropiado para su sistema operativo:<http://distfiles.macports.org/MacPorts/>

Si desea utilizar el programa de instalación:

* Para 10.5.x: MacPorts-1.8.0-10.5-Leopard.dmg* Para 10.6.x: MacPorts-1.8.0-10.6-SnowLeopard.dmg

De origen, MacPorts-1.8.0.tar.gz se confirma que trabajar en ambas versiones.Nota: Asegúrese de que PATH está correctamente configurado por instalar en ~/ perfil del usuario activo..

2) Actualizar MacPorts: sudo port-d selfupdate3) Instale GMP con MacPorts: sudo port install gmp4) Descargar el Oracle Berkeley DB 5.0.21 (o posterior) fuente tar.gz.:<http://www.oracle.com/technology/products/berkeley-db/db/index.html>5) Untar, cd a la carpeta de origen de Berkeley DB, entonces:cd / build_unix6) Haga lo siguiente para configurar, realizar e instalar Berkeley DB:.. / Dist / configureHacer sudo make install7) Descargar y descomprimir OpenCOBOL 1.0.0, cd al directorio8) Ejecutar. / Configure, estableciendo CPPFLAGS y LDFLAGS como abajo(CAMBIAR CUALQUIER CAMINOS específica de la versión a lo que usted acaba deinstalar) como sigue:

. / ConfigureCPPFLAGS = "-I/opt/local/var/macports/software/gmp/5.0.1_0/opt/local/include/-I/usr/local/BerkeleyDB.5.0/include / "LDFLAGS = "-L/opt/local/var/macports/software/gmp/5.0.1_0/opt/local/lib-L/usr/local/BerkeleyDB.5.0/lib / "9) Haga e instale:Hacer sudo make install10) Et voila! Trate de salir del directorio y la invocación COBC.- A continuación, debería ser capaz de hacer algo como esto: -phrygia.ganymede-labs.com: Botellas ganymede $ sw_versProductName: Mac OS XProductVersion: 10.5.6BuildVersion: 9G55phrygia.ganymede-labs.com: Botellas ganymede $ COBC-VCOBC (OpenCOBOL) 1.0.0Copyright (C) 2001-2007 Keisuke NishidaCopyright (C) 2007 Roger Mientrasphrygia.ganymede-labs.com: Botellas ganymede $ COBC-v-x bottles.cblbottles.cbl pretratamiento en/ Var/folders/KI/KI15WC0KGMmvvO980RztgU + + + TI/-Tmp- / / cob75450_0.cobtraducir/ Var/folders/KI/KI15WC0KGMmvvO980RztgU + + + TI/-Tmp- / / cob75450_0.cob en/ Var/folders/KI/KI15WC0KGMmvvO980RztgU + + + TI/-Tmp- / / cob75450_0.c

gcc-pipe-c -I/usr/local/include-I/opt/local/var/macports/software/gmp/5.0.1_0/opt/local/include /-I/usr/local/BerkeleyDB.5.0/include / -I/usr/local/include-O2-Wno-unused

Page 33: Open Cobol Preg

 

-Fsigned-char-Wno-puntos-signo-o/ Var/folders/KI/KI15WC0KGMmvvO980RztgU + + + TI/-Tmp- / / cob75450_0.o/ Var/folders/KI/KI15WC0KGMmvvO980RztgU + + + TI/-Tmp- / / cob75450_0.c gcc-pipe-L/opt/local/var/macports/software/gmp/5.0.1_0/opt/local/lib-L/usr/local/BerkeleyDB.5.0/lib /-O botellas/ Var/folders/KI/KI15WC0KGMmvvO980RztgU + + + TI/-Tmp- / / cob75450_0.o-L/opt/local/var/macports/software/gmp/5.0.1_0/opt/local/lib-L/usr/local/BerkeleyDB.5.0/lib / -L/usr/local/lib-LCOB-lm-lgmp-L/usr/local/lib-Lintl-liconv-lc--R/usr/local/lib lncurses-ldbCon un montón de besos descuidados sección Vinculación,- Ganímedes

3.2 ¿Cuáles son las opciones de configuración disponibles para

la construcción de OpenCOBOL? 

configuración es una herramienta de desarrollo estándar de facto para POSIX sistemas

operativos compatibles, en especial GNU / Linux. Examina el entorno actual y crea un

Makefile adecuado para el equipo de destino y el paquete que se está construyendo.

Para OpenCOBOL, la configuración script acepta -ayuda como una opción de línea de

comandos para mostrar todas las opciones de configuración disponibles.

`Configure 'configura OpenCOBOL 1.1 para adaptarse a muchos tipos desistemas.Uso:. / Configure [OPTION] ... [VAR = VALUE] ...

Para asignar variables de entorno (por ejemplo, CC, CFLAGS ...), especifiquecomoVAR = VALOR. Véase más abajo para descripciones de algunas de las variablesútiles.

Los valores predeterminados para las opciones se especifican entreparéntesis.Configuración:-H, - help muestra esta ayuda y finaliza- Help = Opciones de visualización cortos específicos para este paquete- Help = display recursiva el corto ayuda de todos los paquetes incluidos-V, - version versión y finaliza--- Tranquila, - en silencio no se imprimen `control ... ' mensajes- Cache-file = ARCHIVO resultados de las pruebas de caché en el archivo[Disabled]-C, - alias config-cache para `- cache-file = config.cache-N, - no-create no crean archivos de salida- Srcdir = DIR encontrar las fuentes de DIR [configurar dir o '..']

Directorios de instalación:Archivos prefix = PREFIJO instalación independientes de la arquitectura enPREFIJO -[/ Usr / local]

Page 34: Open Cobol Preg

 

- Exec-prefix = eprefix instalar los archivos dependientes de la arquitecturaen eprefix[PREFIJO]

Por defecto, `make install instalará todos los archivos`/ Usr / local / bin ',` / usr / local / lib', etc Usted puede especificar unprefijo de instalación que no sea `/ usr / local 'con` - prefix',por ejemplo `- prefix = $ HOME '.

Para un mejor control, utilice las opciones a continuación.

Puesta a punto de los directorios de instalación:- Bindir = DIR ejecutables usuario [eprefix / bin]- Sbindir = DIR ejecutables de administración del sistema [eprefix / sbin]- Libexecdir = ejecutables del programa DIR [eprefix / libexec]- Datadir = DIR de sólo lectura independiente de la arquitectura de datos[PREFIX / share]- Sysconfdir = DIR de sólo lectura de un solo dato de máquina [PREFIX / etc]- Sharedstatedir = DIR modificables independientes de la arquitectura dedatos [PREFIX / com]- Localstatedir = DIR modificable solo equipo de datos [PREFIX / var]- Libdir = DIR bibliotecas de código objeto [eprefix / lib]- Includedir = DIR C los archivos de cabecera [prefix / include]- Oldincludedir = DIR C los archivos de cabecera para no gcc [/ usr /include]- Infodir = Documentación info DIR [PREFIX / info]- Mandir = Documentación hombre DIR [PREFIX / hombre]

Nombres del programa:

- Programa-prefix = PREFIJO prepend prefijo a nombres de programas instalados- Programa-suffix = SUFIJO Añade SUFIJO a nombres de programas instalados- Programa-transform-name = PROGRAMA PROGRAMA sed se ejecutan en nombre delos programas instalados

Tipos de sistemas:

- Construir = CONSTRUIR configurar para la construcción de BUILD [supuso]- Host = HOST cross-compilar para crear programas que se ejecutan en el host[CREAR]

Características opcionales:

- Disable-REPORTAJE no incluyen FEATURE (igual que - enable-feature = no)- Enable-FEATURE [= ARG] include FEATURE [ARG = sí]- Enable-maintainer-mode permite establecer reglas y dependencias no es útil

(Ya veces confuso) al instalar casualmente- Velocidades desactivar la dependencia de seguimiento hasta un tiempo deconstrucción- Enable-dependency-tracking no rechaces extractores de dependencia lentos- Enable-experimental (OpenCOBOL) permiten al código experimental (sóloDesarrolladores!)- Enable-param-check (OpenCOBOL) permiten parámetro de llamada de cheques- Enable-shared [= PKGS]

construir librerías compartidas [por defecto = Sí]

Page 35: Open Cobol Preg

 

- Enable-static [= PKGS]construir bibliotecas estáticas [defecto = Sí]

- Enable-fast-install [= PKGS]optimizar para una rápida instalación [default = sí]

- Disable-libtool-lock Evita bloqueos (debe romper compilaciones paralelas)- Disable-rpath no codificar rutas de la biblioteca de tiempo de ejecución- Disable-nls no utilizan Native Language Support

Paquetes opcionales:

- With-PAQUETE [= ARG] uso PAQUETE [ARG = sí]- Without-PAQUETE no utilice PAQUETE (igual que - with-PAQUETE = no)- With-cc = <cc> (OpenCOBOL) especifica el compilador de C utilizado por COBC- With-SEQRA-extfh (OpenCOBOL) Utilice SEQ externa / RAN Filehandler- With-Cisam (OpenCOBOL) Utilice CISAM de ISAM I / O- With-DISAM (OpenCOBOL) Utilice DISAM de ISAM I / O- With-vbisam (OpenCOBOL) Utilice VBISAM de ISAM I / O- With-index-extfh (OpenCOBOL) Use el administrador de archivos ISAM externa- With-DB1 (OpenCOBOL) utiliza Berkeley DB 1.85 (libdb-1.85)- With-db (OpenCOBOL) utiliza Berkeley DB 3.0 o posterior (libdb)(predeterminado)- With-lfs64 (OpenCOBOL) usar el sistema de archivos de gran tamaño para elarchivo de E / S (por defecto)- With-dl (OpenCOBOL) Sistema dinámico uso de cámara (por defecto)- With-patch-nivel (OpenCOBOL) definir un nivel del programa (por defecto 0)- With-VARSE (OpenCOBOL) definen formato secuencial variables (por defecto 0)- With-gnu-ld asumir el compilador de C de GNU usa ld [default = no]- With-pic tratar de usar sólo PIC / no-PIC objetos [default = uso ambos ]- Con las etiquetas [= TAGS] incluir configuraciones adicionales [automática]- With-gnu-ld asumir el compilador de C de GNU usa ld default = no- With-libiconv-prefix [= DIR] buscar libiconv en DIR / include y DIR / lib- Without-libiconv-prefix no buscar libiconv en includedir y libdir- With-libintl-prefix [= DIR] buscar libintl en DIR / include y DIR / lib- Without-libintl-prefix no buscar libintl en includedir y libdir

Algunas variables de entorno influyentes:

CC comando compilador de C

CFLAGS C opciones del compilador

LDFLAGS enlazador, dir> <lib por ejemplo-L si tiene bibliotecas en un noestándar directorio <lib dir>

CPPFLAGS C / C + + banderas preprocesador, por ejemplo-I <include dir> sitiene encabezados en un directorio no estándar <include dir>

CPP C preprocesadorCXXCPP C + preprocesador +

Utilice estas variables para anular las decisiones tomadas por 'configure' opara ayudar a para encontrar las bibliotecas y los programas con nombres /localizaciones no estándar.

Page 36: Open Cobol Preg

 

Informe de los problemas a <[email protected]>.

3.3 ¿OpenCOBOL tienen otras dependencias?  

OpenCOBOL depende de un compilador nativo de C con  POSIX compatibilidad. GCC es

una colección de compiladores disponibles gratuitamente con el apoyo de la mayoría

de los sistemas operativos actualmente (febrero de 2013) en uso.

OpenCOBOL requiere las siguientes bibliotecas externas que se instalarán:

GNU MP (libgmp) 4.1.2 o posterior

libgmp se utiliza para implementar la aritmética decimal. GNU MP es bajo licencia

GNU Licencia Pública General.

GNU Libtool (libltdl)

libltdl se utiliza para implementar las sentencias CALL dinámicas. GNU Libtool está

licenciado bajo GNU Licencia Pública General.

NOTA - Libtool no se requiere para Linux y Windows (incluyendo MinGW y Cygwin)

Las siguientes bibliotecas son opcionales:

Berkeley DB (libdb) 1.85 o posterior

libdb se puede utilizar para implementar archivo indexado I / O y ORDENAR /

fusión. Berkeley DB está disponible bajo la licencia BSD original, (1.85) o su propia

licencia de código abierto (2.x o posterior). Tenga en cuenta que, a partir de 2.x, si ha

vinculado su software con Berkeley DB, deberá distribuir el código fuente de su

software junto con el software, o si tiene que pagar regalías a Oracle

Corporation. Para obtener más información acerca de Oracle Berkeley DB

licenciamiento dual visite: Oracle / Embedded / Oracle Berkeley DB Ncurses

(libncurses) 5.2 o posterior

ibncurses se pueden utilizar para poner en práctica sección de la pantalla. Ncurses

está licenciado bajo una licencia estilo BSD.

3.4 ¿Cómo funciona el compilador OpenCOBOL? 

OpenCOBOL es un compilador de línea de comandos basada en varias

etapas. Opciones de línea de comando de control de qué etapas se llevan a cabo

durante el proceso.

1.  Preproceso

Page 37: Open Cobol Preg

 

2.  Traducir

3.  Compilar

4.  Montar

5.  Enlace

6.  Construir

OpenCOBOL produce código fuente intermedia C que se hace pasar a continuación a

un compilador de C configurado y otras herramientas. el compilador C de GNU, gcc es

un estandard.

La herramienta principal, COBC , por defecto, produce módulos, archivos de objetos

compartidos vinculables.

3.4.1 Ejemplo de etapas OpenCOBOL

Documentar los resultados de las diferentes etapas de compilación OpenCOBOL.

3.4.2 código fuente original,

$ Cat hola . cob

000100 * HELLO.COB OpenCOBOL FAQ

Mundial " .

000600 PARADA RUN .

3.4.3 preproceso

$ COBC-E hello.cob

Preproceso sólo pasar. Una operación del preprocesador es convertir formato fijo de

formato libre. COPIA incluye también se leen junto con  REPLACEsustitución. El

comando anterior muestra:

# 1 "hello.cob"

DIVISIÓN DE IDENTIFICACIÓN.PROGRAMA-ID. hola.PROCEDURE DIVISION.DISPLAY "Hello World!".PARADA ejecución.

Page 38: Open Cobol Preg

 

a la salida estándar.

3.4.4 Traducir

$ COBC-C hello.cob

Traducir solamente; preprocesa y luego traduce las fuentes en COBOL C. Puede

examinar estos archivos para conseguir un buen sentido de cómo el ambiente

OpenCOBOL interactúa con las instalaciones nativas de C. OpenCOBOL 1.1

produce hello.ch y hello.c .

3.4.5 hello.ch

 /* Generated by cobc 1.1.0 */   /* Generated from hello.cob */  /* Generated at Oct 04 2008 00:19:36 EDT */   /* OpenCOBOL build date Oct 01 2008 22:15:19 */   /* OpenCOBOL package date Oct 01 2008 16:31:26 CEST */   /* Compile command cobc -C hello.cob */  

 /* PROGRAM-ID : hello */  

static unsigned char b_5[4] __attribute__((aligned));  /* COB-CRT-STATUS */  static unsigned char b_1[4] __attribute__((aligned));  /*RETURN-CODE */  static unsigned char b_2[4] __attribute__((aligned));  /* SORT-RETURN */  static unsigned char b_3[4] __attribute__((aligned));  /*NUMBER-OF-CALL-PARAMETERS */  

 /* attributes */  static cob_field_attr a_1 = {16, 4, 0, 0, NULL};static cob_field_attr a_2 = {33, 0, 0, 0, NULL};

 /* fields */  static cob_field f_5 = {4, b_5, &a_1};  /* COB-CRT-STATUS*/  

 /* constants */  static cob_field c_1 = {12, (unsigned char *)"Hello World!",&a_2};

 /* ---------------------------------------------- */   /* Generated by cobc 1.1.0 */  

Page 39: Open Cobol Preg

 

 /* Generated from hello.cob */   /* Generated at Oct 04 2008 00:19:36 EDT */   /* OpenCOBOL build date Oct 01 2008 22:15:19 */   /* OpenCOBOL package date Oct 01 2008 16:31:26 CEST */   /* Compile command cobc -C hello.cob */  

 /* PROGRAM-ID : hello */  

static unsigned char b_5[4] __attribute__((aligned));  /* COB-CRT-STATUS */  static unsigned char b_1[4] __attribute__((aligned));  /*RETURN-CODE */  static unsigned char b_2[4] __attribute__((aligned));  /* SORT-RETURN */  static unsigned char b_3[4] __attribute__((aligned));  /*NUMBER-OF-CALL-PARAMETERS */  

 /* attributes */  static cob_field_attr a_1 = {16, 4, 0, 0, NULL};static cob_field_attr a_2 = {33, 0, 0, 0, NULL};

 /* fields */  static cob_field f_5 = {4, b_5, &a_1};  /* COB-CRT-STATUS*/  

 /* constants */  static cob_field c_1 = {12, (unsigned char *)"Hello World!",&a_2};

 /* ---------------------------------------------- */  

3.4.6 hello.c

 /* Generated by cobc 1.1.0 */   /* Generated from hello.cob */   /* Generated at Oct 04 2008 00:19:36 EDT */   /* OpenCOBOL build date Oct 01 2008 22:15:19 */   /* OpenCOBOL package date Oct 01 2008 16:31:26 CEST */   /* Compile command cobc -C hello.cob */  

#define __USE_STRING_INLINES 1#include <stdio.h>#include <stdlib.h>#include <string.h>

Page 40: Open Cobol Preg

 

#include <math.h>#include <libcob.h>

#define COB_SOURCE_FILE "hello.cob"#define COB_PACKAGE_VERSION "1.1"#define COB_PATCH_LEVEL 0

 /* function prototypes */  static int hello_ (const int);

int hello (void);

 /* functions */  

inthello (){return hello_ (0);

}

 /* end functions */  

static inthello_ (const int entry){

#include "hello.c.h"  /* local variables */  

static int initialized = 0;static cob_field *cob_user_parameters[COB_MAX_FIELD_PARAMS];static cob_module module = { NULL, NULL, &f_5, NULL,

cob_user_parameters, 0, '.', '$', ',', 1, 1, 1, 0};

 /* perform frame stack */  int frame_index;struct frame {int perform_through;void *return_address;

} frame_stack[255];

 /* Start of function code */  

if (unlikely(entry < 0)) {if (!initialized) {

return 0;

Page 41: Open Cobol Preg

 

}initialized = 0;return 0;

}

module.next = cob_current_module;cob_current_module = &module;

if (unlikely(initialized == 0)){

if (!cob_initialized) {cob_fatal_error (COB_FERROR_INITIALIZED);

}cob_check_version (COB_SOURCE_FILE, COB_PACKAGE_VERSION,

COB_PATCH_LEVEL);if (module.next)cob_set_cancel ((const char *)"hello", (void *)hello, (void

*)hello_);(*(int *) (b_1)) = 0;(*(int *) (b_2)) = 0;(*(int *) (b_3)) = 0;memset (b_5, 48, 4);

initialized = 1;}

 /* initialize frame stack */  frame_index = 0;frame_stack[0].perform_through = -1;

 /* initialize number of call params */  (*(int *) (b_3)) = cob_call_params;cob_save_call_params = cob_call_params;

goto l_2;

 /* PROCEDURE DIVISION */  

 /* hello: */  

l_2:;

 /* MAIN SECTION: */  

 /* MAIN PARAGRAPH: */  

Page 42: Open Cobol Preg

 

  /* hello.cob:5: DISPLAY */  {cob_new_display (0, 1, 1, &c_1);

} /* hello.cob:6: STOP */  {cob_stop_run ((*(int *) (b_1)));

}

cob_current_module = cob_current_module->next;return (*(int *) (b_1));

}

 /* end function stuff */  

3.4.7 Generar ensamblador

Utilizando el parámetro-S pide COBC pedir la cadena de herramientas del compilador

C de no procesar más allá de la fase de generación de código ensamblador.

$ COBC-S hello.cob

3.4.8 hello.s.file "cob9141_0.c".text

.globl hello.type hello, @function

hello: pushl %ebpmovl %esp, %ebpsubl $8, %espmovl $0, (%esp)call hello_leaveret.size hello, .-hello.data.align 4.type module.5786, @object.size module.5786, 28

module.5786: .long 0.long 0.long f_5.5782.long 0

Page 43: Open Cobol Preg

 

.long cob_user_parameters.5785

.byte 0

.byte 46

.byte 36

.byte 44

.byte 1

.byte 1

.byte 1

.byte 0

.local cob_user_parameters.5785

.comm cob_user_parameters.5785,256,32

.local initialized.5784

.comm initialized.5784,4,4

.section .rodata.LC0: 

.string "Hello World!"

.data

.align 4

.type c_1.5783, @object

.size c_1.5783, 12c_1.5783: 

.long 12

.long .LC0

.long a_2.5781

.align 4

.type f_5.5782, @object

.size f_5.5782, 12f_5.5782: 

.long 4

.long b_5.5776

.long a_1.5780

.align 4

.type a_2.5781, @object

.size a_2.5781, 8a_2.5781: 

.byte 33

.byte 0

.byte 0

.byte 0

.long 0

.align 4

.type a_1.5780, @object

.size a_1.5780, 8a_1.5780: 

.byte 16

.byte 4

.byte 0

.byte 0

.long 0

.local b_3.5779

.comm b_3.5779,4,16

.local b_2.5778

.comm b_2.5778,4,16

.local b_1.5777

Page 44: Open Cobol Preg

 

.comm b_1.5777,4,16

.local b_5.5776

.comm b_5.5776,4,16

.section .rodata.LC1: 

.string "1.1".LC2: 

.string "hello.cob".LC3: 

.string "hello"

.text

.type hello_, @functionhello_: 

pushl %ebpmovl %esp, %ebpsubl $2072, %espmovl 8(%ebp), %eaxshrl $31, %eaxtestl %eax, %eaxje .L4movl initialized.5784, %eaxtestl %eax, %eaxjne .L5movl $0, -2052(%ebp)jmp .L6

.L5: movl $0, initialized.5784movl $0, -2052(%ebp)jmp .L6

.L4: movl cob_current_module, %eaxmovl %eax, module.5786movl $module.5786, cob_current_modulemovl initialized.5784, %eaxtestl %eax, %eaxsete %almovzbl %al, %eaxtestl %eax, %eaxje .L7movl cob_initialized, %eaxtestl %eax, %eaxjne .L8movl $0, (%esp)call cob_fatal_error

.L8: movl $0, 8(%esp)movl $.LC1, 4(%esp)movl $.LC2, (%esp)call cob_check_versionmovl module.5786, %eaxtestl %eax, %eaxje .L9movl $hello_, 8(%esp)movl $hello, 4(%esp)

Page 45: Open Cobol Preg

 

movl $.LC3, (%esp)call cob_set_cancel

.L9: movl $b_1.5777, %eaxmovl $0, (%eax)movl $b_2.5778, %eaxmovl $0, (%eax)movl $b_3.5779, %eaxmovl $0, (%eax)movl $4, 8(%esp)movl $48, 4(%esp)movl $b_5.5776, (%esp)call memsetmovl $1, initialized.5784

.L7: movl $0, -4(%ebp)movl $-1, -2044(%ebp)movl $b_3.5779, %edxmovl cob_call_params, %eaxmovl %eax, (%edx)movl cob_call_params, %eaxmovl %eax, cob_save_call_params

.L10: movl $c_1.5783, 12(%esp)movl $1, 8(%esp)movl $1, 4(%esp)movl $0, (%esp)call cob_new_displaymovl $b_1.5777, %eaxmovl (%eax), %eaxmovl %eax, (%esp)call cob_stop_run

.L6: movl -2052(%ebp), %eaxleaveret.size hello_, .-hello_.ident "GCC: (Debian 4.3.1-9) 4.3.1".section .note.GNU-stack,"",@progbits

Produce hello.s .

3.4.9 Produce código objeto

$ COBC-c hello.cob

Compilar y ensamblar, no enlace. Produce hello.o .

Page 46: Open Cobol Preg

 

3.4.10 Build módulos

$ COBC-m hello.cob

Generar dinámicamente módulos cargables. El es el comportamiento 

predeterminado . Este ejemplo produce hello.so o hello.dll .

$ COBC-b hello.cob

hará lo mismo, pero en este caso, el Build extendida es el mismo que el single Módulo

construir con m- . -b construirá un módulo de carga dinámica que incluye todos los

puntos de entrada creados a partir de varias entradas de línea de comandos. Es

divertido, se puede mezclar la mazorca, c, y d libs y OpenCOBOL hace lo correcto

pegado todo junto... -b Build es adecuado para la programación en el Grande y el

uso cobcrun .

3.4.11 plazo Módulo

$ cobcrun holaHello World!

Escaneará el DSO hello.so, y luego enlace, carga y ejecución hola.

3.4.12 Crear ejecutable

$ COBC-x hello.cob

Crear un programa ejecutable. Este ejemplo produce hola o hello.exe .

Esto es importante . COBC produce un Dynamic Shared Object por defecto. Para crear 

ejecutables , debe utilizar -x .

$ . / holaHello World!

OpenCOBOL también admite funciones de múltiples fuentes, la programación en

varios idiomas, que se detalla en el FAQ en  módulos de soporte OpenCOBOL hace? .

 

3.4.13 tamaños para saludar en Fedora 16

El directorio después de usar las diferentes opciones COBC:

-Rwxrwxr-x. 1 btiffin btiffin 22 de abril 9730 doce y veinticinco hola-Rw-rw-r -. 1 btiffin btiffin 22 de abril 2253 doce y veintiséis hello.c-Rw-rw-r -. 1 btiffin btiffin 835 22 de abril doce y veintiséis hello.ch-Rw-rw-r -. 1 btiffin btiffin 391 22 de abril doce y veintiséis hello.clh

Page 47: Open Cobol Preg

 

-Rw-rw-r -. 1 btiffin btiffin 181 22 de abril doce y veinticuatro hello.cob-Rw-rw-r -. 1 btiffin btiffin 22 de abril 3288 doce y veinticuatro hello.o-Rw-rw-r -. 1 btiffin btiffin 22 de abril 2577 doce y veintiséis hello.s-Rwxrwxr-x. 1 btiffin btiffin 22 de abril 9334 doce y veintisiete hello.so

3.5 ¿Qué es COBC?

COBC es el compilador OpenCOBOL. Que los procesos de código fuente en objeto,

biblioteca o código ejecutable.

Ver ¿Qué opciones de compilación son compatibles? para más información.

3.6 ¿Qué es cobcrun?

cobcrun 

 

es el programa del controlador OpenCOBOL que permite la ejecución de

programas almacenados en módulos OpenCOBOL.

El COBC compilador, por defecto, produce módulos (el -m opción). Estos módulos son

objetos compartidos dinámicos vinculables (DSO). Con GNU / Linux, por ejemplo,

$ COBC-x hello.cob$ . / hola

Hello World!$ COBC hello.cob$ cobcrun hola

Hello World!

El COBC-x hello.cob construyó un binario ejecutable llamado hola. El COBC

hello.cob produjo un DSO hello.so y cobcrun resuelve el punto de entrada y ejecuta el

código, desde el DSO .

cobcrun es la forma preferida el compilador del autor para gestionar el desarrollo 

OpenCOBOL. Alivia saber que fuente de archivo de las necesidades -x fomentando al

mismo tiempo la programación modular adecuada, un pilar de OpenCOBOL.

3.7 ¿Qué es cob-config?

cob-config es un programa que se puede utilizar para encontrar los parámetros del

compilador C y las bibliotecas necesarias para compilar. Con GNU / Linux, por

ejemplo,

$ cob-configUso: cob-config [ OPCIONES ]Opciones:

[ - prefix [= DIR ]]

Page 48: Open Cobol Preg

 

[ - exec-prefix [= DIR ]][ - version ][ - libs ][ - cflags ]

$ cob-config - libs-L/usr/local/lib-LCOB-lm-lgmp-lncurses-ldb$ cob-config - cflags-I/usr/local/include

Puede que tenga que utilizar estas funciones durante el desarrollo del idioma de

origen mixto, por lo general mediante back-marcando la línea de salida de comando

con otros gcc comandos.

3.8 Son compatibles Opciones Lo que compilador?

El sistema OpenCOBOL se esfuerza por seguir las normas, pero también sigue siendo

una opción viable para el compilador de los muchos miles de millones de líneas

existentes de fuentes de COBOL, apoyando muchas extensiones existentes para el

lenguaje COBOL. Muchos detalles de la compilación se pueden controlar con las

opciones de línea de comandos. Por favor vea también  ¿Cuáles son los archivos de

 

configuración en tiempo de compilación OpenCOBOL?para obtener más detalles sobre

 

este control afinado.

$ COBC-VCOBC (OpenCOBOL) 1.1.0Copyright (C) 2001-2008 Keisuke Nishida / Roger MientrasConstruido 29 de octubre 2008 16:32:02Empaquetado 28 de octubre 2008 19:05:45 CET

$ COBC - helpUso: COBC [opciones] fichero ...

Opciones:- Help Muestra este mensaje- Version,-V Muestra la versión del compilador-V Muestra los programas invocados por el compilador-X Construir un programa ejecutable-M Construir un módulo de carga dinámica (por defecto)-Std = <dialect> Compilar un dialecto específico:

cobol2002 Cobol 2002cobol85 Cobol 85ibm IBM CompatibleMVS MVS CompatibleBS2000 BS2000 Compatiblemf Micro Focus Compatiblepor defecto cuando no se especifica

Page 49: Open Cobol Preg

 

Ver config / default.conf y config / *. ConfLibre uso formato de código libreFijo Formato de fuente fija uso (por defecto)-O,-O2,-Os Habilitar optimización-G Producir información de depuración en la salida-Debug Habilitar todas comprobación de errores en tiempo de ejecución-O <archivo> Coloca el resultado en <archivo>-B Combine todos los archivos de entrada en una sola

módulo de carga dinámica-E preproceso solamente; no compilar, ensamblar o unirSólo-C Traducción; convertir COBOL a C-S sólo Compile; archivo de ensamblado de salida-C Compilar y ensamblar, pero no vincular-T <archivo> Generar y coloque un listado de programas en <archivo>-Yo <directorio> Añadir <directorio> copiar / include ruta de búsqueda-L <directorio> Añadir <directorio> a la ruta de búsqueda de bibliotecas-L <lib> Enlace <lib> la biblioteca-D <define> Pass <define> para el compilador de C-Conf = <archivo> usuario de configuración dialecto definido - Ver-std =- List-reservada Mostrar palabras reservadas- List-intrínsecos Mostrar funciones intrínsecas- List-mnemotécnicos Mostrar nombres mnemotécnicos-Save-temps (= <dir>) Guardar archivos intermedios (directorio actual pordefecto)

-MT archivo de destino Set <destino> utilizado en lista de dependencia-MF <archivo> Coloca lista de dependencias en <archivo>Extensión de archivo por defecto-ext <extensión> Añadir

-W Habilitar todas las advertencias-Wall Habilitar todas las advertencias con las siguientes excepciones-Wobsolete Warn si se utilizan características obsoletos-Warchaic Advertir si se utilizan rasgos arcaicos-Wredefinition Warn redefinición incompatible de elementos de datos-Wconstant Advertir constante inconsistentes-Wparentheses Advierten falta de paréntesis y dentro de O-Wstrict tipificación Avisar de coincidencia de tipos estricta-Wimplicit a definir Advertir elementos de datos definidos implícitamente-Wcall-params Warn no 01/77, artículos para params LLAMADAS (no establecido

con-Wall)

-Wcolumn-overflow Warn texto después de la columna 72, formato fijo (noajustado

con-Wall)-Wterminator Warn falta de alcance terminador END-XXX (no ajustado con-

Wall)-Advierta Wtruncate posible truncamiento campo (no ajustado con-Wall)-Wlinkage Warn colgando artículos ENLACE (NO engastado con-Wall)-Wunreachable Warn inalcanzables (no ajustado con-Wall)

-Ftrace Generar código trace (SECCIÓN / PÁRRAFO Ejecutado)-Ftraceall Generar código trace (CUENTAS SECCIÓN / PUNTO / Ejecutados)-Fsyntax de sólo error de sintaxis chequeando solo; no emiten ninguna

salida

Page 50: Open Cobol Preg

 

-Fdebugging línea líneas Activar depuración ('D' en la columna deindicador)

-Fsource-location Generar código de ubicación de origen (activado por-debugo-

g)-Fimplicit-init hacer la inicialización automática del sistema de ejecuciónCobol

-FIniciar-ascii display numérico signo ASCII (ASCII por defecto en lasmáquinas)

-FIniciar-ebcdic numérico despliegue de señal EBCDIC (por defecto en lasmáquinas EBCDIC)

-Fstack a verificar realizar la comprobación de la pila (activado por-debugo-

g)-Ffold-copia-copia inferior Fold sujetos a minúsculas (predeterminado sintransformación)

COPIA plegable ffold-copy-superior sujeto a mayúsculas (por defecto sintransformación)

-Fnotrunc No trunca campos binarios según IMAGEN-Ffunctions-todos permiten el uso de las funciones intrínsecas y sin

palabraclave function

-Fmfcomment '*' o '/' en la columna 1 tratada como comentario (sólo fijo)-FNull-param Pass NULL adicional terminar punteros en sentencias CALL

3.9 ¿Qué dialectos son compatibles con OpenCOBOL?

Usando el std = <dialect> opción de compilador, OpenCOBOL se puede configurar

para compilar usando características del compilador COBOL históricas específicas y

peculiaridades.

Dialectos soportados incluyen:

  defecto

  cobol85

  cobol2002

  ibm

  mvs

  mf 

  BS2000

Para obtener detalles sobre qué opciones e interruptores se utilizan para apoyar estas

dialecto compila, vea el config / de la instalación de OpenCOBOL. En Debian GNU /

Linux, que será si utiliza APT para instalar un

paquete OpenCOBOL o / usr / local / share / open-cobol / config / después de una

acumulación del archivo fuente .

Page 51: Open Cobol Preg

 

Por ejemplo: el bs2000.conf archivo restringe representaciones de datos de 2, 4 u 8

bytes binario mientras mf.conf permite representaciones de datos 1-8

bytes. cobol85.conf permite a las líneas de depuración, cobol2002.conf configura el

compilador para advertir que esta función es obsoleta.

3.10 ¿Qué extensiones se utilizan si COBC se llama con / sin "-

ext" para copiar

De Roger en opencobol.org 

 

En el orden siguiente -CPY, CBL, COB, CPY, CBL, mazorca y, finalmente, sin extensión.

Extensiones especificadas por el usuario (en el orden en la línea de comandospor) son inspeccionadosAntes de las indicaciones anteriores.

es decir. Ellos tienen prioridad.

3.11 ¿Cuáles son los archivos de configuración en tiempo de

compilación OpenCOBOL?

Para ayudar en el apoyo de los diferentes compiladores COBOL existentes,

OpenCOBOL lee los archivos de configuración que controlan varios aspectos de un

paso de compilación.

Cada dialecto respaldado también tendrá una . conf en el archivo config

/ subdirectorio de su instalación. En Debian GNU / Linux, éstos estarán en / usr /

share / open-cobol / config / o / usr / local / share / open-cobol / config en el

paquete por defecto y por defecto hacer condiciones.

Por ejemplo, la configuración por defecto, default.conf es:

# COBOL configuración del compilador - * - SH - * -

# Valor: cualquier cadenaNombre: "OpenCOBOL"

# Valor: inttab-width: 8columna de texto: 72

# Valor: `cobol2002 ',' mf ',' IBM '#asignar cláusula: mf

Page 52: Open Cobol Preg

 

# Si es así, los nombres de archivo se resuelven en tiempo de ejecuciónmediante variables de entorno.# Por ejemplo, dada ASSIGN TO "DATAFILE", el nombre del archivo será# 1. el valor de la variable de entorno `DD_DATAFILE" o# 2. el valor de la variable de entorno `dd_DATAFILE" o# 3. el valor de la variable de entorno `DATAFILE" o# 4. el "DATAFILE" literal# Si no, el valor de la cláusula de asignación es el nombre del archivo.## Valor: `sí ',' no 'nombre del archivo de mapas: sí

# Valor: `sí ',' no 'pretty-display: sí

# Valor: `sí ',' no 'auto-inicialización: sí

# Valor: `sí ',' no 'compleja-odo: no

# Valor: `sí ',' no 'indirecta-redefine: no

# Valor: bytes sin signo firmados# -------------------# `2-4-8 'febrero 1 a 4# 5 a 9 abril# 10 hasta 18 agosto## `1-2-4-8" en 1 a 2# 3 a 4 febrero# 5 a 9 abril# 10 hasta 18 agosto## `1-8 '1 - 2 en hasta 2 en# 3 - 4 marzo hasta 4 febrero# 5 - 5 jun-3 jul# 7 - 9 agosto-9 abril# 10 - noviembre 10 a diciembre 5# 12 - 14 junio 13 a 14# 15 - 16 julio 15 a 16# 17 - 18 17 hasta 18 agostobinary-size: 1-2-4-8

# Valor: `sí ',' no 'binario truncado: sí

# Valor: `nativo ',' big-endian 'binary-byteorder: big-endian

# Valor: `sí ',' no 'de mayor redefine-ok: no

Page 53: Open Cobol Preg

 

# Valor: `sí ',' no 'relajado-sintaxis-check: no

# Realice OSVS tipo - En caso afirmativo, el punto de cualquier salida que seejecuta actualmente realizan# Se reconocerá si llega.# Valor: `sí ',' no 'realizar-OSVs: no

# En caso afirmativo, de sección vinculación artículos no se mantienen losparámetros asignados# Entre invocaciones.# Valor: `sí ',' no 'sticky-vinculación: no

# Si sí, permitir números de niveles no coincidentes# Valor: `sí ',' no 'relajarse nivel jerarquía: no

# No-reservado:# Valor: Palabra para ser sacado de la lista de palabras reservadas# (Caso independiente)

# Características dialectales# Valor: `ok ',' arcaico ',' obsoleto ',' salto ',' ignorar ',` discordante'autor-párrafo: obsoletomemoria de tamaño cláusula: obsoletomúltiples archivos en cinta cláusula: obsoletoetiqueta-records-Cláusula: obsoletovalor de la cláusula: obsoletode datos los registros de la cláusula: obsoletonivel superior se produce la cláusula: skipsincronizado cláusula: okgoto-comunicado-sin-nombre: obsoletostop-literal-declaración: obsoletodepuración-line: obsoletopadding-personaje-Cláusula: obsoletoúltima frase Frase: arcaicaexpulsar-declaración: skipentrada declaración: obsoletomovimiento no entero a alfanumérico: errorodo-sin-to: ok

3.12 ¿Funciona OpenCOBOL con maquillaje?

Por supuesto. Muy bien.

A muestra de makefile 

# Reglas OpenCOBOL 

COBCWARN = -W

Page 54: Open Cobol Preg

 

 # Crea un ejecutable% : .% cob

COBC $ ( COBCWARN ) -x $ ^ -o $ @

# Crea un módulo dinámico% menos. : .% cob

COBC $ ( COBCWARN ) -m $ ^ -o $ @

# Crea un objeto enlazable% o. : .% cob

COBC $ ( COBCWARN ) -c $ ^ -o $ @

Generar código C # % c. : .% cob

COBC $ ( COBCWARN ) -C $ ^

# Genera montaje% s. : .% cob

COBC $ ( COBCWARN ) -S $ ^

# Genero intermedio adecuado para cobxref % i. : % mazorca.

[ -d tmps ] | | mkdir tmpsCOBC $ ( COBCWARN ) - save-temps = tmps-c $ ^

# Hackear extensión, crear un ejecutable, y si los errores, llame vim enquickfix % q. : .% cob

COBC $ ( COBCWARN ) -x $ ^ 2> errors.err | | vi-q

# Hackear extensión, hacer binaria; advertencias de captura, llame vimquickfix % qw. : % mazorca.

COBC $ ( COBCWARN ) -x $ ^ 2> errors.err, vi-q

# Más ocdoc obtener la documentaciónHTML%. : .% cob

. / ocdoc $ ^ $ * . rst $ * HTML. $ * css.

# Más cobxref y obtener una lista de referencias cruzadas (deja tmps diralrededor)% lst. : .% cob

[ -d tmps ] | | mkdir tmpsCOBC $ ( COBCWARN ) - save-temps = PMT-c $ ^ -o PMT / $ * o. && ~ /

writing/add1/tools/cobxref/cobxref tmps / $ * i.

# Tectónica de occurlrefreshoccurlrefresh : occurl.c occurlsym.cpy occurlrefresh.cbl

COBC-c-Wall occurl.cCOBC-x-lcurl occurlrefresh.cbl occurl.o

Page 55: Open Cobol Preg

 

Y ahora, para compilar un pequeño programa llamado program.cob , sólo tiene que

utilizar

$ hacer programa # para ejecutables$ hacer program.o # de los ficheros objeto$ hacer program.so # para la biblioteca compartida$ hacer program.q # crear un archivo ejecutable y llame vi en modoquickfix  

La última regla, occurlrefresh es un ejemplo de cómo se puede apoyar un proyecto de

varias partes. Simplemente escriba

$ hacen occurlrefresh

y hacer que se compruebe las marcas de tiempo para occurl.c, occurlsym.cpy y

occurlrefresh.cbl y luego construir el ejecutable si alguno de esos archivos han

cambiado en comparación con marca de tiempo del binario.

Ver Tectónica de otra palabra para describir el código de construcción.

3.13 ¿Tiene una razonable esqueleto del código fuente para

OpenCOBOL?

Puede ser. El estilo es una elección muy personal desarrollador. OpenCOBOL rinde

homenaje a esta libertad de elección.

Este es el encabezado de formato fijo que este autor utiliza. Incluye ocdoc líneas.

OCOBOL >> FUENTE FORMATO SE FIJA*> ***************************************** ***********************> <* ===========*> <**> <* ===== ======*> <* Autor:*> <* Fecha:*> <* Propósito:*> <*: Tectónica: COBC *> ************* **************************************************Identificación de la división .programa-id . .

entorno de la división .configuración sección .

input-output sección .archivo de control .

*> select*> Asignar a

Page 56: Open Cobol Preg

 

*> Organización es*>. 

datos de la división .file sección .

*> fd.*> 01. 

trabajo-storage sección .locales de almacenamiento de la sección .vinculación sección .pantalla de la sección .

*> ************************************************ ***************procedimiento de división .

GoBack .finales del programa .

*> <**> <* Última actualización: dd-mmm-aaaa 

Rellene el programa-id y final del programa para compilar. Rellene el título ocdoc

para generar la documentación. Ver ¿Qué es ocdoc? para obtener más información

 

sobre (una forma de) la documentación en línea.

Aquí hay algunas plantillas que pueden cortar y pegar.

De formato fijo en minúsculas

OCOBOL >> FUENTE FORMATO SE FIJA*> ***************************************** ***********************> Autor:*> Date:*> Propósito:*> Tectónica: COBC *> ********* ************************************************** ****identificación división .programa-id . .

entorno de la división .configuración sección .

input-output sección .*> file-control.*> select*> Asignar a*> Organización es*>. 

datos de la división .*> sección de archivo.*> fd.

Page 57: Open Cobol Preg

 

*> 01. 

trabajo-storage sección .

locales de almacenamiento de la sección .

vinculación sección .

pantalla de la sección .

*> ************************************************ ***************procedimiento de división .

GoBack .finales del programa .

De formato fijo en MAYÚSCULAS

OCOBOL >> FUENTE FORMATO SE FIJA******************************************* ************************ Autor:* Fecha:* Objeto:* Tectónica: 

ENVIRONMENT DIVISION .CONFIGURACIÓN DE SECCIÓN .

ENTRADA-SALIDA SECCIÓN .ARCHIVO-CONTROL .

SELECTASSIGN AORGANIZACIÓN ES.

DATOS DE DIVISION .ARCHIVO SECCIÓN .FD .

01 .

WORKING-STORAGE SECCIÓN .

LOCAL-STORAGE SECCIÓN .

VINCULACIÓN SECCIÓN .

PANTALLA DE SECCIÓN .

************************************************** ****************PROCEDIMIENTO DE DIVISION .

Page 58: Open Cobol Preg

 

  GOBACK .FIN DEL PROGRAMA .

El "número de secuencia" OCOBOL de forma segura se puede eliminar. Está ahí para

asegurar una alineación correcta en el navegador.

Formulario libre se puede compilar con COBC libre o usar la directiva del compilador

compatible:

>> FUENTE FORMATO ES GRATIS

la línea anterior debe comenzar en la columna de 7 a menos COBC libre se utiliza.

*> ** >> FUENTE FORMATO ES GRATUITO*> ************************************** ********************************> Autor:*> Date:*> Propósito:*> Tectónica: COBC libre*> 

entorno de la división .configuración sección .

input-output sección .archivo de control .

seleccioneasignar a laorganización es

.

datos de la división .file sección .fd .

01 .

trabajo-storage sección .

locales de almacenamiento de la sección .

vinculación sección .

pantalla de la sección .

procedimiento de división .

GoBack .finales del programa .

Page 59: Open Cobol Preg

 

Estos archivos se pueden descargar desde

  headfix.cob

  headfixuppper.cob

  headfree.cob

Nota

Hay trucos para asegurarse de que el código fuente de formato fijo puede ser compilado

en un modo de formato libre. Esto incluye el uso de forma gratuita de los comentarios

finales de línea, no hay números de secuencia, forma directivas línea de depuración libres

con el >> D a partir de la columna 5 (por lo que el D termina en la columna 7).

3.14 ¿Puede OpenCOBOL puede utilizar para escribir la línea de

comandos stdin, stdout filtros?

Por supuesto. Todo se reduce a SELECT nombre ASSIGN al teclado para la entrada

estándar, y SELECT ASSIGN nombre que se muestra para la salida estándar.

A continuación se muestra un esqueleto que se puede utilizar para escribir varios

filtros. Estos programas pueden ser usados como tubos de la línea de comandos, o

con cambios de dirección.

$ cat fichero de datos | Filtro$ filtro <inputfile> outputfile

filter.cob. Usted querrá cambiar el párrafo 01 de transformada para hacer todo el

procesamiento de cada registro. Este esqueleto simplemente copia la entrada

estándar a la salida estándar, con un límite de registros 32K , así que puede ser

necesario cambiar también o pruebas realizadas para garantizar el default modo

secuencial LINE del teclado y la pantalla son apropiadas para la tarea en cuestión.

OCOBOL >> FUENTE FORMATO SE FIJA*> ***************************************** ***********************> <* ===========*> <* Filtro*> <* ==== =======*> <*: Autor: Brian Tiffin*> <*: Fecha: 20090207 *> <*: Propósito: Filtros IO estándar*> <*: Tectónica: COBC-x filter.cob*> 

entorno de la división .

Page 60: Open Cobol Preg

 

  configuración sección .

input-output section.file-control.

select standard-input assign to keyboard.select standard-output assign to display.

datos de la división .file sección .fd standard-input .

01 stdin-record pic x (32768) .fd standard-output .

01 stdout-record pic x (32768) .

trabajo-storage sección .01 en archivos de estado pic x valor de espacio .

88 al final de su archivo de valor de gran valorcuando se establece a falso es de poco valor .

*> 

realizar 01 - abierto

realizar 01 - leer

realizarhasta que al final de su archivo de

realizar 01 - transformarrealizar 01 - escribircabo 01 - leer

final realice.

00 - permiso .realizar 01 - cerca.

GoBack .*> fin principal 

apoyo sección .01 - abierto .abierto de entrada estándar de entradaabierta de salida estándar y salida.

01 - leer .leer standard-input

al final conjunto al final de su archivo al verdaderofin de leer.

Page 61: Open Cobol Preg

 

 *> Todos los cambios aquí01 - transformación .mueven stdin a grabar a stdout a grabar.

*> 

01 - escribir .escribir stdout-record de fin de escritura.

01 - cerca .cerca standard-inputcerca standard-output

.

final del programa de filtro .*> <**> <* Última actualización: dd-mmm-aaaa 

3.15 ¿Cómo se puede imprimir en impresoras con OpenCOBOL?

OpenCOBOL y COBOL, en general, no soporta directamente las impresoras. Esa

función se delega en el sistema operativo. Dicho esto, hay algunas maneras de

obtener datos a una impresora.

3.15.1 imprimir con la salida estándar

Escribiendo directamente a la salida estándar, como se explica en  OpenCOBOL puede

 

ser utilizado para escribir la línea de comandos stdin, stdout filtros?  y luego

 

simplemente tuberías para lpd debe usualmente suficiente para obtener el texto a la

impresora.

$ / cobprog |. lp$ / fin de año |. lp-d $ PRESIDENTSPRINTER 

No trate de lo anterior con el verbo DISPLAY, el uso ESCRIBIR A stdout, con la salida

estándar seleccionado y asignado a la PANTALLA nombre.

3.15.2 llamar al sistema de impresión

Los archivos pueden ser enviados a la impresora desde un programa que se ejecuta

con secuencias como

LLAME "SYSTEM"USO "lp os-específica-path-to-file"DEVOLVER estado

Page 62: Open Cobol Preg

 

FIN-CALL 

3.15.3 biblioteca de controles de impresión llama

Y luego abrimos el campo de las bibliotecas se puede llamar para soporte de

impresión. A continuación se muestra un código de plantilla para el envío de archivos

a nivel local de CUPS instalación.

OCOBOL >>SOURCE FORMAT IS FIXED*> *************************************************************** *> Author: Brian *> Date: 10-Aug-2009 *> Purpose: CUPS quick print *> Tectonics: cobc -lcups -x cupscob.cob *> *************************************************************** identification division.program-id. cupscob.

x (1024) en base .01 msgDisplay pic x (132) .

*>

TAZAS interface " y x "00"por el valor 0por referencia NULL

regresar resultadofinal llamada 

si resultado es igual a cero,llamada "cupsLastError" volver cupsError de colgarla pantalla "Err:" cupsError final display 

" resultado final-pantallade extremo si 

Page 63: Open Cobol Preg

 

 GoBack .finales programa cupscob .

3.15.4 impresión a PDF con CUPS

Como resultado, el fragmento de código anterior se puede utilizar para imprimir

directamente en una impresora definida cups-pdf PDF. Por

$ apt-get install cups cups-pdf

en Debian, puede

call "cupsPrintFile"using

"PDFer" & x"00""cupscob.cob" & x"00""cupscob.pdf" & x"00"by value 0by reference NULL

returning resultend-call 

asumiendo PDFer es una clase o una impresora con un miembro del PDF. Una versión

PDF del texto en cupscob.cob será colocado en ~ / PDF / comocupscob.pdf .

Mientras Roger añadió esta sabiduría:

Comprueba si tu distro en particular tiene cups-pdf ensu repositorio. (Por ejemplo, mediante YaST con Suse).En caso afirmativo, la instalación desde allí.Si no, utilice uno de los RPM buscadores en la web para encontraruna versión para su distribución.por ejemplo. www.rpmfind.com

La instalación de cups-pdf debe establecer automáticamenteuna impresora ficticia con el nombre "cups-pdf".Así que en realidad no necesita definir una clase.Puede imprimir directamente en "cups-pdf".(Marque impresoras definidas con, por ejemplo. "Lpstat-t")

La ubicación del archivo de salida depende de la tazas-pdfarchivo de configuración normalmente ubicado en / etc / cups / cups-pdf.conf.Así, por ejemplo. en mi caja se define la ubicación tanto -Salida $ {HOME} / Documents / PDFs

El código con un poco más de documentación, en caso de que resulta ser útil.

llamada "cupsPrintFile" *> requiere-lcups

Page 64: Open Cobol Preg

 

utilizando"cups-pdf" y x "00" *> clase de impresoras"cupscob.cob" y x "00" *> nombre del archivo de entrada"cupscob.pdf" y x "00" *> títulopor el valor 0 *> num_optionsde referencia NULL *> Opciones struct <*

regresar resultadode excepción

pantalla "pista:-lcups uso para cupsPrintFile" final visualizaciónde colgar 

Prtcbl de 3.15.5 Jim Currey

 Jim amablemente donó este fragmento. Uno de sus primeros esfuerzos por establecer

una base de recursos OpenCOBOL. prtcbl produce listado de código fuente con

resultados entubados a una impresora.

Algunas personalizaciones . Esta versión requiere un cambio en el nombre del archivo

de control de la impresora, la ubicación de cuadernos, y los posibles cambios en la

línea de comandos lp sistema.

Stash una cadena de configuración de impresión en el archivo llamado así. El

programa solicita la entrada, la salida y la impresora.

 Jim señaló que se trataba de los primeros intentos con OpenCOBOL como una

herramienta para apoyar mejor en el desarrollo de la casa, y tuvo la gentileza de 

dejarme volver a imprimirla.

OCOBOL IDENTIFICACIÓN DE DIVISION .PROGRAMA-ID . PRTCBL .

* AUTOR. JC CURREY.*********************************************** ************** Imprime una COBOL ARCHIVO FUENTE DE TI CON LOS LIBROS DE COPIADO **** VERSION VERSION 001--ORIGINAL ** 3/26/2009--JC CURREY **** 002 - -Añade CPY (CAPS) SI NO SE ENCUENTRA cpy *..* FILE Y AMPLÍA LOS MEDIOS A 132 CARACTERES ** 4/09/2009--JC CURREY **** 003 - Agrega NOLIST Y LISTA DE APOYO (NOTA * NO* APOYADO POR OPENCOBOL COMPILADOR) **** NOLIST EN COL 7-14 APAGA LISTADO **** LISTA EN COL 7-12 VUELTAS EN LA LISTA ** 4/22/2009--JC CURREY ***

Page 65: Open Cobol Preg

 

004 * - ADDS APOYO A / testing-set-1/copybooks ** cuadernos están buscado primero en el ** directorio local y si no se encuentra, entonces, en ** / * testing-set-1/copybooks* 5/7/2009--JC CURREY **** 005--CORRECTS FALTA EDICIÓN ON LINE saltos de página ** EN LA COPIA DEL ARCHIVO DE IMPRESIÓN SECCIÓN. *1285451 * - * SANDY DOSS* 06/19/2009--JEREMY MONTOYA ***006 * - USOS EXTERNOS PCL CÓDIGO archivo para insertar * PCL* CÓDIGO EN ARCHIVO PARA IMPRIMIR FORMATO. *1330505 * - * JIM CURREY * 12/14/2009--PETE MCTHOMPSON 

X (140) .01 PRINT-LINE .

05 O-LINE-NUMERO PIC Z (6) .05 O-FILLER-1 PIC XX .05 O-TEXT PIC X (132) .

121 409 *121 409 FD del archivo de formato .121409 01 FORMATO-RECORD PIC X (140) .

*FD archivo de entrada .01 ENTRADA-REGISTRO .

05 IR-INTERMEDIARIO PIC X (132) .

FD COPIA DE ARCHIVOS .01 COPIA-RECORD .

05 CR-INTERMEDIARIO PIC X (132) .** NOLIST * ESTA ES OTRA LÍNEA** LISTA*TRABAJO-STORAGE SECCIÓN .

Page 66: Open Cobol Preg

 

************* **************************************** constantes, CONTADORES Y ÁREAS DE TRABAJO **** *************************************************01 WS-NOMBRE-PROGRAMA PIC X (12) VALOR

121409 "prtcbl 006" .01 WS-NO-PÁRRAFO PIC S9 (4) COMP .01 WS-I CFP S9 (4) COMP .01 WS-J PIC S9 (4) COMP .01 WS-K PIC S9 (4) COMP .01 WS-NOMBRE-PRINT-ARCHIVO PIC X (64) VALOR DE

LOS ESPACIOS .01 WS-NOMBRE-DE ENTRADA DE ARCHIVOS PIC X (64)

VALOR DE ESPACIOS .01 WS-ENTRADA- ARCHIVO-ESTADO PIC XX VALOR "00" .

050 709 01 WS-NOMBRE-COPIA DE ARCHIVOS PIC X (128)VALOR DE LOS ESPACIOS .050 709 01 WS-HOLD-NOMBRE-COPIA DE ARCHIVOS PIC X (128)VALOR DE LOS ESPACIOS .121 409 01 WS- NOMBRE DEL FORMATO DE ARCHIVOS PIC X (128)VALOR ESPACIOS .

01 WS-COPIA DE ARCHIVOS-STATUS PIC XX VALOR "00" .01 WS-LINE-printer-name PIC X (16) VALOR ESPACIOS

.01 WS-LINE-NUMERO PIC S9 (6) COMP

VALOR CERO .01 WS-PAGE-LINE-CONTADOR PIC S9 (4) COMP

VALOR 999 .01 WS-page-number PIC S9 (4) COMP

VALOR CERO .01 WS-PRINT-COMANDO PIC X ( 128) .

*01 WS-ESCAPE-CARÁCTER PIC X VALOR X "1B" .

*01 WS-RUMBO-LINE PIC X (132) .01 WS-CURRENT-FECHA PIC X (21) .01 WS-ED4S PIC ZZZZ- .

042 209 01 WS-SWITCH-PRINT PIC X VALOR DEL ESPACIO.

************************************* **************************** PROCEDURE DIVISION 

INITIALIZATION 

" , WS-NOMBRE-DEL PROGRAMA , "COMENZAR AT -"FUNCION ACTUAL-DATE .

Page 67: Open Cobol Preg

 

  1002 - GET-archivo de entrada .DISPLAY "A) ENTRAR NOMBRE DE ENTRADA DE ARCHIVOS

ENTRADA Archivo no encontrado "IR AL 1002 - GET-archivo de entrada .

DISPLAY "A) ENTER IMPRESIÓN DE ARCHIVOS (TRABAJO FILE) NOMBRE"CON NO AVANZAR .

ACEPTAR WS-NOMBRE-PRINT-Archivo .DISPLAY "A) Entrar Nombre de la impresora

DETALLE DE LA SECCIÓN 

COPIAR

Page 68: Open Cobol Preg

 

 

DECLARACIÓN WITH.COPY

DISPLAY "D) AT.COPY NOMBRE DE ARCHIVO ABIERTO = \", WS-NOMBRE-COPIA DE ARCHIVOS,

DISPLAY "D) AT.COPY NOMBRE DE ARCHIVO ABIERTO = \", WS-NOMBRE-COPIA DE ARCHIVOS ", \"050 709 OPEN DE ENTRADA COPIA DE ARCHIVOS050,709 SI WS-COPIA-ARCHIVO-ESTADO ES NO IGUAL QUE "00"050 709 MOVIMIENTO " *** COPIAR ARCHIVO ANTERIOR NO

 MOVER WS-LINE-NÚMERO DE O-LINE-número.061909 * ESPACIOS traslade a, o-FILLER-1.061909 * MOVIMIENTO COPIA-RECORD DE

Page 69: Open Cobol Preg

 

 

PÁGINA

FINAL DEL TRABAJO*2990 - EXIT .

EXIT .**************************************** ************************

Page 70: Open Cobol Preg

 

* TERMINACIÓN 

Cadena delimitada "lp-d" por su tamaño,121409 * WS-LINE-printer-name delimitada por tamaño,121409 * "-o = lados de dos caras-el borde largo" delimitado por SIZE,121409 * "-o lpi = 11 -o cpi = 18-o page-left = 34 "delimitado por SIZE,121409 * WS-NOMBRE-PRINT-archivo delimitado POR TAMAÑO121.409 * EN WS-PRINT-COMANDO.

STRING "lp-d" DELIMITADO POR TAMAÑO ,WS- LINEA-printer-name DELIMITADO POR TAMAÑO ,"-o prima

" WS-NOMBRE-PROGRAMA "completado normalmente AT -"FUNCION ACTUAL-DATE .

9990 - EXIT .EXIT .

3.16 ¿Puedo ejecutar procesos en segundo plano que utilizan

OpenCOBOL?

Por supuesto. Utilizando el servicio de "SYSTEM" CALL. Algunos cuidados se debe

demostrar para separar adecuadamente la entrada y salida de las manijas, y para

instruir a los procesos de hacer caso omiso de las señales de colgar de, junto con el

"run en un subnivel fondo" control.

LLAME "SYSTEM"USO

"nohup cualquier 0 </ dev / null 1> mystdout 2> mystderr &"VOLVER resultado

END-CALL 

corre todo lo que en el fondo, stdin desprende, envía a la salida estándar al

archivo mystdout y el error estándar de mystderr .

El ejemplo anterior es para sistemas operativos POSIX_ shell. Como siempre, los 

comandos enviados a través del sistema están funcionando muy dependiente del 

sistema. 

3.17 ¿Existe documentación de la API OpenCOBOL?

Por supuesto. Más o menos. Y es hermosa, completa y sobrecogedoras.

Page 71: Open Cobol Preg

 

1.7.4 liberación de Dimitri van Heesch de Doxygen,  http://www.doxygen.org se

 

utilizó para producir http://opencobol.add1tocobol.com/doxy/ y junto con Gary

 

OCic.cbl http://opencobol.add1tocobol. com / doxyapp / para resaltar el

 

absolutamente hermoso compilador y documentación de la aplicación disponible para

OpenCOBOL ahora. Estas páginas se produjeron con muy poco esfuerzo, con sólo

unos pequeños ajustes a la Doxygen generado Doxyfile (para encender todos los

archivos, y generar gráficos de llamadas). El paso de la muestra produce una página

de belleza 1400 de un manual de referencia en PDF generado a partir de la salida de

Doxygen LaTex. 2.950 páginas para la muestra de ejecución de la aplicación .

Barcos OpenCOBOL como tarball desarrollador y Doxygen se soltaron en el árbol de

origen después a. / Configure y make pase. Cuando el C-salida de OCic.clb de Gary

Cutler se colocó en el árbol, la salida incluye los gráficos de llamadas que ejercen

algunos de la biblioteca de tiempo de ejecución OpenCOBOL. Esta documentación

nivel de aplicación es de clase mundial.

En cuanto a la "clase de" arriba. Este fue un uso casi sin esfuerzo de

Doxygen. OpenCOBOL no fue tocado, y las fuentes no tienen etiquetas Doxygen

explícitas. También excluye muchos de los automake, libtool, bisontes y los archivos

de origen flexibles. Aún así, hermoso. El API compilador es ahora un asimilar fácil y

documentación a nivel de aplicación (doxyapp usando OCic.cbl como muestra) debe

satisfacer auditor código más despiadado del mundo y meticuloso principal equipo de

desarrollo.

Ver http://opencobol.add1tocobol.com/doxy/d2/dd4/structcb__field.html para una

 

muestra de tormento de diagrama de colaboración cb_field e integridad de la obertura

de código

fuente. Ver http://opencobol.add1tocobol.com/doxyapp/d4/da8/OCic_8c.html para

una visión de cómo Doxygen se encarga de la documentación de nivel de

aplicación. Todo de forma gratuita.

3.18 ¿Cómo se utiliza LD_RUN_PATH con OpenCOBOL?

LD_RUN_PATH puede ser una salvación para los desarrolladores que desean crear

OpenCOBOL en entornos hospedados. LD_RUN_PATH es similar a LD_LIBRARY_PATH

sino que construye la ruta de biblioteca compartida en COBC y luego todos los

binarios compilados con COBC. Eso significa que usted puede recoger las cerezas

caminos loader enlace al generar OpenCOBOL de una manera que puede añadir

soporte para las características de acogida no compatibles.

Si quieres una versión reciente de ncurses en su servicio de alojamiento, pero no tiene

permisos de root, usted puede construir en uno de sus propios directorios luego

Page 72: Open Cobol Preg

 

exportar LD_RUN_PATH = mylibdir ANTES. / Configure; hacer, hacer instalar su

OpenCOBOL. Todos compila con COBC ahora incluirá mylibdir durante compilaciones,

y mejor aún, los binarios producido también incluirá mylibdir en la ruta de búsqueda

en tiempo de ejecución.

Si usted no tiene RECORD_PATH en tu COBC entonces usted puede simplemente

compilar con

LD_RUN_PATH = mylibdir COBC-x nextbigthing.cob

para lograr resultados similares.

Con la interfaz CGI, consulte ¿Cómo se utiliza OpenCOBOL de CGI? , ahora se puede

 

construir una solución completa lados web utilizando OpenCOBOL con poca

preocupación de ser atrapados en depencencies biblioteca de vínculos o secuencias

de comandos se ejecutan para configurar las variables de ruta antes de utilizar con

seguridad su cgi -bin binarios.

LD_RUN_PATH es mágico. También evita muchos problemas de seguridad que pueden

ocurrir si se basan en la configuración del entorno de usuario

LD_LIBRARY_PATH. Su COBC tendrá su ruta de búsqueda y no un / home / badusers

ajustes trucos como LD_RUN_PATH búsquedas vienen ANTES

LD_LIBRARY_PATH. Basándose en LD_LIBRARY_PATH se considera un ¡No lo hagas por

algunos expertos. LD_RUN_PATH es una apuesta mucho más segura.

3.19 ¿Qué opciones de las herramientas de compilación de GNU

están disponibles cuando se construye OpenCOBOL?

Las fuentes de la OpenCOBOL compilador sigue GNU normas siempre que sea

posible. Esto incluye que se construye en torno al sistema de compilación GNU.

3.19.1 Fundamentos

Desde el punto de vista del usuario final, lo que esto significa es que las

distribuciones de código fuente siga estos pasos básicos:

tar xvf abierto cobol-1.1.tar.gzcd abierta cobol-1.1. / Configurehacerhaga el chequesudo make installsudo ldconfig

Page 73: Open Cobol Preg

 

Pero eso es sólo arañando la superficie de las posibilidades. Ver  ¿Cuáles son las

 

opciones de configuración disponibles para la construcción de OpenCOBOL?para los

 

primeros pasos con . / configure .

3.19.2 Salida de generaciones de árboles

El siguiente, OpenCOBOL apoya totalmente fuera de la fuente de árboles de

construcciones.

De Roger:

He mencionado en el pasado la mejor forma de hacera configurar / build decir. Construir fuera de la fuente-tree.

por ejemplo.Tenemos OC 2.0 in / home/open-cobol-2.0

Queremos probar -OC con BDBOC con vbisamOC sin db (ISAM)

mkdir / home/oc20110710bdbcd / home/oc20110710bdb/ Home/open-cobol-2.0/configure - enable-debughacerhaga el chequepruebas cdcd cobol85# <Get Newcob.val-per README>make test

mkdir / home/oc20110710vbisamcd / home/oc20110710vbisam/ Home/open-cobol-2.0/configure - enable-debug - with-vbisamhacerhaga el chequepruebas cdcd cobol85# <Get Newcob.val-per README>make test

mkdir / home/oc20110710nodbcd / home/oc20110710nodb/ Home/open-cobol-2.0/configure - enable-debug - without-dbhacerhaga el chequepruebas cdcd cobol85# <Get Newcob.val-per README>make test

Page 74: Open Cobol Preg

 

En el último ejemplo, tanto el OC y ANSI85 pruebas se han ajustadopara hacer frente a la falta de funcionalidad ISAM.

Para configurar el entorno actual para compilar / ejecutar desde cualquierade los anteriores(Es decir, sin hacer un "make install" desde cualquier directorio), luegoya sea "fuente" o ejecutar como parte del entorno actual(Con.) Los siguientes archivos desde el directorio de construcción -pruebas / atconfigpruebas / atlocal

(Tenga en ese orden)

Así, por ejemplo.. / Home/oc20110710vbisam/tests/atconfig. / Home/oc20110710vbisam/tests/atlocal

fijará compilador / runtime a este entorno en el shell actual.

Tenga en cuenta que tanto las pruebas de OC y las pruebas ANSI85 hacer estointernamente(Bastante obvio lo contrario no estaríamos probando lo correcto).

Por supuesto, desde cualquiera de los directorios del ejemplo anterior sepuede hacerun final "make install".

3.19.3 Opciones Autotest

Al desarrollar el sistema OpenCOBOL en torno a las herramientas GNU build, los

desarrolladores reciben un gran número de opciones de forma gratuita .

make check can include TESTSUITEFLAGS.

Los TESTSUITEFLAGS permite opciones que incluyen:

  make check TESTSUITEFLAGS = "lista" a la lista de las pruebas y las

descripciones disponibles

  "-Verbose" para mostrar un poco más de información durante las pruebas

  "-Jobs = n" para ejecutar las pruebas n en paralelo. En los sistemas de núcleo

múltiple, la velocidad de seguimiento es bastante dramática. En 425 pruebas,

normalmente 1 minuto 22 segundos,-jobs = 4 corrió en 36 segundos (en un

pequeño poco AMD Athlon (tm) II X2 215 Processor). Los más núcleos, el más

dramático de la mejora.

Page 75: Open Cobol Preg

 

 

4 Palabras reservadas 

.. Palabras sidebar :: COBOL reservados

  4.1 ¿Cuáles son las palabras reservadas OpenCOBOL?

 

  4.2 ¿Tiene OpenCOBOL implementar cualquier función intrínseca?

 

  4.3 ¿Puede aclarar el uso de la función en OpenCOBOL?

 

  4.4 ¿Cuál es la diferencia entre el verbo y la LONGITUD LONGITUD DE

 

FUNCIÓN?

  4.5 ¿Qué LLAMADA biblioteca Stock sí ofrece OpenCOBOL?

 

  4.6 ¿Cuáles son los X4, XF5 y X91 rutinas?

 

  4.7 ¿Qué es CBL_OC_NANOSLEEP rutina de biblioteca OpenCOBOL?

  4.8 ¿Cómo se utiliza C $ JUSTIFICAR?

 

  4.9 ¿Qué compilador directivas son compatibles con OpenCOBOL?

 

Palabras COBOL reservados

4.1 ¿Cuáles son las palabras reservadas OpenCOBOL?  

COBOL es una palabra reservada rico lenguaje. El compilador OpenCOBOL reconoce:

Palabras reservadas

  4.1.1 ACCEPT

  4.1.2 ACCESO

  4.1.3 ACTIVE-CLASS

  4.1.4 Añadir

  4.1.5 DIRECCIÓN

  4.1.6 AVANCE

  4.1.7 DESPUÉS

  4.1.8 Alineados

  4.1.9 TODO

  4.1.10 ALLOCATE

  4.1.11 ALFABETO

  4.1.12 ALPHABETIC

Page 76: Open Cobol Preg

 

  4.1.13 ALFABÉTICO-BAJA

  4.1.14 ALFABÉTICO-SUPERIOR

  4.1.15 ALFANUMÉRICO

  4.1.16 ALFANUMÉRICO-EDITADO

  4.1.17 TAMBIÉN

  4.1.18 ALTER

  4.1.19 SUPLENTE

  4.1.20 Y

  4.1.21 CUALQUIER

  4.1.22 ANYCASE

  4.1.23 SON

  4.1.24 ZONA

  4.1.25 ÁREAS

  4.1.26-ARGUMENTO NUMERO

  4.1.27 ARGUMENTO-VALOR

  4.1.28 ARITMÉTICA

  4.1.29 COMO

  4.1.30 ASCENDENTE

  4.1.31 ASIGNAR

  4.1.32 AT

  4.1.33 Atributos

  01/04/34 AUTO

  4.1.35 AUTO-PASE

  01/04/36 AUTOMÁTICO

  04/01/37 AutoTerminate

  04/01/38 B-Y

  01/04/39 B-NO

  4.1.40 B-O

  04/01/41 B-XOR

  4.1.42 background-color

  01/04/43 BASE

  01/04/44 BIP

  4.1.45 ANTES

  01/04/46 CAMPANA

  04/01/47 BINARIO

  04/01/48 BINARIO-C-LONG

  04/01/49 BINARIO-CHAR

  04/01/50 BINARIO-DOBLE

  04/01/51 BINARIO-LONG

  01/04/52 BINARIO-SHORT

Page 77: Open Cobol Preg

 

  01/04/53 BIT

  04/01/54 BLANCO

  4.1.55 BLINK

  01/04/56 BLOQUE

  01/04/57 BOOLEAN

  01/04/58 INFERIOR

  04/01/59 POR

  04/01/60 BYTE-LONGITUD

  04/01/61 CONVOCATORIA

  01/04/62 CANCELAR

  04/01/63 CD

  01/04/64 CENTER

  01/04/65 CF

  01/04/66 CH

  01/04/67 CADENA

  04/01/68 ENCADENAM

  04/01/69 CARÁCTER

  04/01/70 PERSONAJES

  01/04/71 CLASE

  04/01/72 CLASE-ID

  01/04/73 CLASIFICACIÓN

  04/01/74 CLOSE

  1.4.75 CÓDIGO

  04/01/76 CODE-SET

  01/04/77 COL

  01/04/78 cotejo

  04/01/79 COLS

  4.1.80 COLUMNA

  04/01/81 COLUMNAS

  04/01/82 COMA

  04.01.83 línea de comandos

  04/01/84 COMMIT

  4.1.85 COMÚN

  04/01/86 COMUNICACIÓN

  04/01/87 COMP

  4.1.88 COMP-1

  04/01/89 COMP-2

  04/01/90 COMP-3

  04/01/91 COMP-4

  04/01/92 COMP-5

Page 78: Open Cobol Preg

 

  01/04/93 COMP-X

  01/04/94 COMPUTACIONAL

  01/04/95 COMPUTACIONAL-1

  04/01/96 COMPUTACIONAL-2

  04/01/97 COMPUTACIONAL-3

  01/04/98 COMPUTACIONAL-4

  4.1.99 COMPUTACIONAL-5

  4.1.100 COMPUTACIONAL-6

  4.1.101 COMPUTACIONAL-X

  4.1.102 COMPUTE

  4.1.103 ESTADO

  4.1.104 CONFIGURACIÓN

  4.1.105 CONSTANTE

  4.1.106 CONTIENE

  4.1.107 CONTENIDO

  4.1.108 CONTINUAR

  4.1.109 DE CONTROL

  4.1.110 CONTROLES

  4.1.111 CONVERSIÓN

  4.1.112 COPIA

  4.1.113 CORR

  4.1.114 CORRESPONDIENTE

  CUENTA 4.1.115

  4.1.116 CRT

  4.1.117 MONEDA

  4.1.118 CURSOR

  4.1.119 CICLO

  4.1.120 DATOS

  4.1.121 DATOS PUNTERO

  4.1.122 FECHA

  4.1.123 DIA

  4.1.124 DÍA DE LA SEMANA

  4.1.125 DE

  4.1.126 DEBUGGING

  4.1.127 punto decimal

  4.1.128 declarativos

  4.1.129 DEFAULT

  4.1.130 BORRAR

  4.1.131 DELIMITADO

  4.1.132 DELIMITER

Page 79: Open Cobol Preg

 

  4.1.133 DEPENDIENDO

  4.1.134 DESCENDING

  4.1.135 DESTINO

  4.1.136 DETALLE

  4.1.137 DISABLE

  4.1.138 DISCO

  4.1.139 DISPLAY

  4.1.140 DIVIDE

  4.1.141 DIVISION

  4.1.142 ABAJO

  4.1.143 DUPLICADOS

  4.1.144 DYNAMIC

  4.1.145 EBCDIC

  4.1.146 CE

  4.1.147 EGI

  4.1.148 MÁS

  4.1.149 EMI

  4.1.150 HABILITAR

  4.1.151 FINAL

  4.1.152 FINAL ACEPTAR

  4.1.153 FINAL ADD

  4.1.154 FINAL CONVOCATORIA

  4.1.155 FINAL COMPUTE

  4.1.156 FINAL BORRAR

  4.1.157 FINAL DISPLAY

  4.1.158 FINAL DIVIDE

  4.1.159 FINAL DE EVALUACIÓN

  4.1.160 END-IF

  4.1.161 FINAL DE MULTIPLICAR

  4.1.162 END-OF-PAGE

  4.1.163 FINAL DE REALIZAR

  4.1.164 FINAL LEA

  4.1.165 FINAL DE RECIBIR

  4.1.166 FINAL VUELTA

  4.1.167 FINAL REWRITE

  4.1.168 FINAL DE BÚSQUEDA

  4.1.169 FINAL INICIO

  4.1.170 FINAL CADENA

  4.1.171 FINAL RESTAR

  4.1.172 FINAL unstring

Page 80: Open Cobol Preg

 

  4.1.173 FINAL DE ESCRIBIR

  4.1.174 ENTRADA

  4.1.175 ENTRADA-CONVENCIÓN

  4.1.176 AMBIENTE

  4.1.177 AMBIENTE Y NOMBRE

  4.1.178 AMBIENTE-VALOR

  4.1.179 EO

  4.1.180 EOL

  4.1.181 EOP

  4.1.182 EOS

  4.1.183 EQUAL

  4.1.184 IGUAL

  4.1.185 ERASE

  4.1.186 ERROR

  4.1.187 ESCAPE

  4.1.188 ESI

  4.1.189 EVALUAR

  4.1.190 EXCEPCIÓN

  4.1.191 EXCEPCIÓN-OBJETO

  4.1.192 EXCLUSIVO

  4.1.193 EXIT

  4.1.194 EXPANDE

  4.1.195 AMPLIAR

  4.1.196 EXTERNO

  4.1.197 FACTORY

  4.1.198 FALSO

  4.1.199 FD

  4.1.200 ARCHIVO

  4.1.201 ARCHIVO-CONTROL

  4.1.202 ARCHIVO-ID

  4.1.203 RELLENO

  4.1.204 FINAL

  4.1.205 PRIMERA

  4.1.206 FLOAT-EXTENDIDO

  4.1.207 FLOAT-LONG

  4.1.208 FLOAT-SHORT

  4.1.209 FOOTING

  4.1.210 PARA

  4.1.211 PLANO-COLOR

  4.1.212 SIEMPRE

Page 81: Open Cobol Preg

 

  4.1.213 FORMATO

  4.1.214 GRATIS

  4.1.215 DE

  4.1.216 COMPLETO

  4.1.217 FUNCIÓN

  4.1.218 FUNCIÓN-ID

  4.1.219 GENERAR

  4.1.220 GET

  4.1.221 DAR

  4.1.222 GLOBAL

  4.1.223 GO

  4.1.224 GOBACK

  4.1.225 MAYOR

  4.1.226 GRUPO

  4.1.227 GRUPO-USO

  4.1.228 DENOMINACIÓN

  4.1.229 DE ALTO VALOR

  4.1.230 alta VALORES

  4.1.231 DESTACADO

  4.1.232 IO

  4.1.233 IO-CONTROL

  4.1.234 ID

  4.1.235 IDENTIFICACIÓN

  4.1.236 SI

  4.1.237 IGNORAR

  4.1.238 IMPLEMENTOS

  4.1.239 EN

  4.1.240 ÍNDICE

  4.1.241 indexado

  4.1.242 INDIQUE

  4.1.243 INHERITS

  4.1.244 INICIAL

  4.1.245 INITIALIZE

  4.1.246 inicializado

  4.1.247 INITIATE

  4.1.248 ENTRADA

  4.1.249 ENTRADA-SALIDA

  4.1.250 CONTROLAR

  4.1.251 INTERFAZ

  4.1.252 INTERFACE-ID

Page 82: Open Cobol Preg

 

  4.1.253 EN

  4.1.254 INTRÍNSECO

  4.1.255 VÁLIDA

  4.1.256 INVOKE

  4.1.257 ES

  4.1.258 JUSTO

  4.1.259 JUSTIFICADA

  4.1.260 CLAVE

  4.1.261 TECLADO

  4.1.262 ETIQUETA

  4.1.263 LAST

  4.1.264 LC_ALL

  4.1.265 LC_COLLATE

  4.1.266 LC_CTYPE

  4.1.267 LC_MESSAGES

  4.1.268 LC_MONETARY

  4.1.269 LC_NUMERIC

  4.1.270 LC_TIME

  4.1.271 LÍDER

  4.1.272 IZQUIERDA

  4.1.273 LONGITUD

  4.1.274 MENOS

  4.1.275 LÍMITE

  4.1.276 LÍMITES

  4.1.277 linaje

  4.1.278 linaje-CONTADOR

  4.1.279 LÍNEA

  4.1.280 LINEA SIN RECETA

  4.1.281 LÍNEAS

  4.1.282 VINCULACIÓN

  4.1.283 LOCAL-STORAGE

  4.1.284 LOCALE

  4.1.285 LOCK

  4.1.286 bajo valor

  4.1.287 BAJA-VALORES

  4.1.288 LOWLIGHT

  4.1.289 MANUAL

  4.1.290 MEMORIA

  4.1.291 MERGE

  4.1.292 MENSAJE

Page 83: Open Cobol Preg

 

  4.1.293 MÉTODO

  4.1.294 MÉTODO-ID

  4.1.295 MENOS

  4.1.296 MODO

  4.1.297 MOVIMIENTO

  4.1.298 MULTIPLE

  4.1.299 MULTIPLICAR

  4.1.300 NACIONAL

  4.1.301 NACIONAL EDITADO

  4.1.302 NATIVO

  4.1.303 NEGATIVO

  4.1.304 NESTED

  4.1.305 SIGUIENTE

  4.1.306 NO

  4.1.307 NINGUNO

  4.1.308 NORMAL

  4.1.309 NO

  4.1.310 NULL

  4.1.311 NULLS

  4.1.312 NUMERO

  4.1.313 NÚMEROS

  4.1.314 NUMÉRICA

  4.1.315 NUMÉRICO-EDITADO

  4.1.316 OBJETO

  4.1.317 OBJETO DE ORDENADOR

  4.1.318 OBJETO DE REFERENCIA

  4.1.319 OCURRE

  4.1.320 DE

  4.1.321 APAGADO

  4.1.322 omitido

  4.1.323 EN

  4.1.324 SOLAMENTE

  4.1.325 OPEN

  4.1.326 OPCIONAL

  4.1.327 OPCIONES

  4.1.328 O

  4.1.329 ORDEN

  4.1.330 ORGANIZACIÓN

  4.1.331 OTROS

  4.1.332 SALIDA

Page 84: Open Cobol Preg

 

  4.1.333 OVERFLOW

  4.1.334 OVERLINE

  4.1.335 ANULACIÓN

  4.1.336 decimal empaquetado

  4.1.337 RELLENO

  4.1.338 PÁGINA

  4.1.339 PAGE-CONTADOR

  4.1.340 PÁRRAFO

  4.1.341 PERFORM

  4.1.342 PF

  4.1.343 PH

  4.1.344 PIC

  4.1.345 IMAGEN

  4.1.346 PLUS

  4.1.347 PUNTERO

  4.1.348 POSICIÓN

  4.1.349 POSITIVO

  4.1.350 ACTUAL

  4.1.351 ANTERIOR

  4.1.352 IMPRESORA

  4.1.353 IMPRESIÓN

  4.1.354 PROCEDIMIENTO

  4.1.355 PROCEDIMIENTO triple

  4.1.356 PROCEDIMIENTOS

  4.1.357 PROCEDER

  4.1.358 PROGRAMA

  4.1.359 PROGRAMA-ID

  4.1.360 PROGRAMA-PUNTERO

  4.1.361 PROMPT

  4.1.362 PROPIEDAD

  4.1.363 PROTOTYPE

  4.1.364 PURGA

  4.1.365 COLA

  4.1.366 CITA

  4.1.367 CITAS

  4.1.368 LEVANTE

  4.1.369 FONDOS

  4.1.370 RANDOM

  4.1.371 RD

  4.1.372 LEA

Page 85: Open Cobol Preg

 

  4.1.373 RECIBIR

  4.1.374 REGISTRO

  4.1.375 GRABACIÓN

  4.1.376 REGISTROS

  4.1.377 RECURSIVO

  4.1.378 REDEFINES

  4.1.379 REEL

  4.1.380 REFERENCIA

  4.1.381 RELACIÓN

  4.1.382 RELATIVA

  4.1.383 PRENSA

  4.1.384 RESTO

  4.1.385 RETIRO

  4.1.386 renombra

  4.1.387 REPLACE

  4.1.388 SUSTITUCIÓN

  4.1.389 INFORME

  4.1.390 INFORMES

  4.1.391 INFORMES

  4.1.392 GUARDAMUEBLES

  4.1.393 REQUERIDA

  4.1.394 RESERVA

  4.1.395 REAJUSTE

  4.1.396 RESUME

  4.1.397 RETRY

  4.1.398 RETURN

  4.1.399 regresan

  4.1.400 REVERSE-VIDEO

  4.1.401 REWIND

  4.1.402 REWRITE

  4.1.403 RF

  4.1.404 RH

  4.1.405 DERECHO

  4.1.406 ROLLBACK

  4.1.407 redondeadas

  4.1.408 RUN

  4.1.409 MISMO

  4.1.410 PANTALLA

  4.1.411 SD

  4.1.412 BUSCAR

Page 86: Open Cobol Preg

 

  4.1.413 SEGUNDOS

  4.1.414 SECCIÓN

  4.1.415 SEGURO

  4.1.416 SEGMENTO

  4.1.417 SELECT

  4.1.418 AUTO

  4.1.419 SEND

  4.1.420 FRASE

  4.1.421 SEPARADO

  4.1.422 SECUENCIA

  4.1.423 SECUENCIAL

  4.1.424 SET

  4.1.425 COMPARTIR

  4.1.426 SIGN

  4.1.427 FIRMADO

  4.1.428 SIGNED INT-

  4.1.429 SIGNED-LONG

  4.1.430 SIGNED-SHORT

  4.1.431 TAMAÑO

  4.1.432 ORDENAR

  4.1.433 clasificación-fusión

  4.1.434 TIPO DE RETORNO

  4.1.435 FUENTE

  4.1.436 FUENTE-COMPUTER

  4.1.437 FUENTES

  4.1.438 ESPACIO

  4.1.439 ESPACIOS

  4.1.440 ESPECIAL-NOMBRES

  4.1.441 STANDARD

  4.1.442 STANDARD-1

  4.1.443 STANDARD-2

  4.1.444 START

  4.1.445 DECLARACIÓN

  4.1.446 ESTADO

  4.1.447 PASO

  4.1.448 PARADA

  4.1.449 STRING

  4.1.450 FUERTE

  4.1.451 SUB-COLA-1

  4.1.452 SUB-COLA-2

Page 87: Open Cobol Preg

 

  4.1.453 SUB-COLA-3

  4.1.454 SUBTRACT

  4.1.455 SUM

  4.1.456 SÚPER

  4.1.457 SUPRIMIR

  4.1.458 SÍMBOLO

  4.1.459 SIMBÓLICO

  4.1.460 SYNC

  4.1.461 sincronizado

  4.1.462 predeterminado del sistema

  4.1.463 MESA

  4.1.464 recuento

  4.1.465 CINTA

  4.1.466 TERMINAL

  4.1.467 TERMINATE

  4.1.468 TEST

  4.1.469 TEXTO

  4.1.470 DE

  4.1.471 ENTONCES

  4.1.472 A TRAVÉS

  4.1.473 A TRAVÉS

  4.1.474 TIEMPO

  4.1.475 TIMES

  4.1.476 A

  4.1.477 TOP

  4.1.478 TRAILING

  4.1.479 VERDADERO

  4.1.480 TIPO

  4.1.481 typedef

  4.1.482 UCS-4

  4.1.483 SUBRAYA

  4.1.484 UNIDAD

  4.1.485 UNIVERSAL

  4.1.486 UNLOCK

  4.1.487 UNSIGNED

  4.1.488 UNSIGNED INT-

  4.1.489 UNSIGNED-LONG

  4.1.490 UNSIGNED SHORT-

  4.1.491 unstring

  4.1.492 HASTA

Page 88: Open Cobol Preg

 

  4.1.493 ARRIBA

  4.1.494 ACTUALIZACIÓN

  4.1.495 EN

  4.1.496 USO

  4.1.497 USO

  4.1.498 USUARIO POR DEFECTO

  4.1.499 USO

  4.1.500 UTF-16

  4.1.501 UTF-8

  4.1.502 VAL-ESTADO

  4.1.503 VÁLIDO

  4.1.504 VALIDAR

  4.1.505 VALIDAR-ESTADO

  4.1.506 VALOR

  4.1.507 VALORES

  4.1.508 VARYING

  4.1.509 CUANDO

  4.1.510 CON

  4.1.511 WORKING-STORAGE

  4.1.512 ESCRIBIR

  4.1.513 AAAADDD

  4.1.514 AAAAMMDD

  4.1.515 ZERO

  4.1.516 CEROS

  4.1.517 CEROS

Palabras reservadas

514 palabras en OC 1.1, 136 de las cuales se marcan aún no implementadas. 378

palabras reservadas funcionales, a partir de agosto de 2008.

4.1.1 ACCEPT 

Hace que los datos disponibles del sistema operativo o del teclado para los elementos

de datos con nombre.

ACEPTAR variables DE CONSOLA .

ACEPTAR variables DEL MEDIO AMBIENTE "camino" .ACEPTAR variables DE COMANDO DE LÍNEA .

ACEPTAR variables AT 0101 .ACEPTAR pantalla variable .

Page 89: Open Cobol Preg

 

 ACEPTAR hoy DE FECHA .ACEPTAR hoy DE FECHA AAAAMMDD .

4.1.2 ACCESO 

Define el modo de acceso de un archivo. Uno de DYNAMIC , RANDOM o SECUENCIAL .

SELECT nombreASIGNAR A "filename.dat"ACCESS MODO SE AZAREN RELACIÓN CLAVE ES KeyField .

4.1.3 ACTIVE-CLASS 

Todavía no se ha implementado. Objeto función COBOL.

4.1.4 ADD 

Sumas dos o más valores numéricos, con un ojo puesto en la precisión financiera y

detección de errores.

ADD 1 A cobol DANDO OpenCOBOL END-ADD .

ADD a b c d f g h i j k l m n o p q r s t u v w x y zGIVING total-ofON SIZE ERROR

PERFORM log-problemNOT ON SIZE ERROR

PERFORM graph-resultEND-ADD 

4.1.5 DIRECCIÓN 

Permite el acceso a programas de referencia de dirección de memoria y, bajo

condiciones controladas, misiones.

SET puntero variable PARA TRATAR DE vinculación de la tienda .

SET DIRECCIÓN DEL basado var PARA TRATAR DE laboral var

4.1.6 avanzar 

El control del programador de la producción de nueva línea y la paginación.

DISPLAY "La leyenda:" CON NO AVANZAR END-DISPLAY .

Page 90: Open Cobol Preg

 

ESCRIBIR printrecord DESPUÉS AVANZAR PÁGINA DE FIN WRITE .

4.1.7 DESPUÉS 

Anidado PERFORM cláusula y puede influir cuando se produce la prueba condicional

bucle.

" interior END-DISPLAYEND-PERFORM .

Mostrará 55 líneas de salida. 1 a 11 y 1 a 5. Extracción del CON PRUEBA

DESPUÉS cláusula causaría 40 líneas de salida. 1 a 10 y 1 a 4.

4.1.8 Alineado 

Todavía no se ha implementado característica que influirá en la alineación interna aún

no implementadas USO campos de bits.

4.1.9 TODO 

A reserva de usos múltiples en la palabra de contexto.

CONTROLAR variables CAMBIO TODO "123" CON "456" .

MOVER TODO FRASES PARA var .

4.1.10 ALLOCATE 

Asigna almacenamiento de trabajo real para un  BASADA elemento.

ASIGNAR basado-var INICIALIZADA DEVOLVER puntero-var .

4.1.11 ALFABETO 

* La configuración de un caso mixto ORDENAR orden de clasificación ESCONFIGURACIÓN DE SECCIÓN .ESPECIAL nombres .

ALFABETO nombre ES "AaBbCcDdEe .." .

Page 91: Open Cobol Preg

 

4.1.12 ALPHABETIC 

Una de las clases de datos OpenCOBOL ( categoría de pruebas).

SI variables ES ALPHABETICDISPLAY "alfabética" END-DISPLAY

END-IF 

4.1.13 ALFABÉTICO-BAJA 

 

Una de las clases de datos OpenCOBOL ( categoría de pruebas).

SI variables ES ALFABÉTICO-BAJADISPLAY "alfabética-inferior" END-DISPLAY

END-IF 

4.1.14 ALFABÉTICO-SUPERIOR 

Una de las clases de datos OpenCOBOL ( categoría de pruebas).

DISPLAY variables "alfabética-superior

4.1.15 ALFANUMÉRICO 

INICIALIZAR registro de datos- SUSTITUCIÓN ALFANUMÉRICO POR literal-valor

4.1.16 ALFANUMÉRICO editado 

INICIALIZAR datos a grabarSUSTITUCIÓN ALFANUMÉRICO-EDITADO POR identificador-1

4.1.17 TAMBIÉN 

Una característica de gran alcance, condicional múltiple expresión de  EVALUAR .

EVALUATE variable ALSO second-testWHEN "A" ALSO 1 THRU 5 PERFORM first-caseWHEN "A" ALSO 6 PERFORM second-caseWHEN "A" ALSO 7 THRU 9 PERFORM third-caseWHEN OTHER PERFORM invalid-case

END-EVALUATE 

Page 92: Open Cobol Preg

 

 

4.1.18 ALTER 

Verbo obsoleto y sin apoyo que alteró el destino de salto de GO TO declaraciones.

Sí, simplemente no lo hacen.

El rumor es, 1.1 puede apoyar este verbo  , para aumentar el apoyo para código

heredado, y NO como homenaje a una buena idea . Pero para ser honesto, yo espero

ver la primera OpenCOBOL Flying Spaghetti Monster para las risitas de justa

indignación.

4.1.19 ALTERNATIVA 

Define una clave alternativa para ISAM estructuras de datos.

SELECT archivoASSIGN A filenameACCESO MODO ES AZARREGISTRO CLAVE ES llave campoALTERNATIVA CLAVE ES -tecla alt CON DUPLICADOS .

4.1.20 Y 

Normas COBOL de precedencia son: NOT, AND, OR.

IF campo = "A" Y num = 3DISPLAY "tiene 3" END-DISPLAY

END-IF 

COBOL también permite condiciones relacionales combinados abreviados.

SI NO ( un NO > b Y c Y NO d )Código

END-IF 

es equivalente a

SI NO ((( un NO > b ) Y ( un NO > c )) Y ( NO ( un NO > d )))código

END-IF 

Page 93: Open Cobol Preg

 

 

4.1.21 CUALQUIER 

Permite cualquier valor es TRUE en un EVALUATE comunicado.

EVALUAR VERDADERO TAMBIEN VERDADCUANDO a > 3 TAMBIÉN CUALQUIER *> b puede ser cualquier valor

**PERFORM a-4-b-cualquier

CUANDO una = 3 TAMBIÉN b = 1PERFORM a-3-b-1

FIN-EVALUAR 

4.1.22 ANYCASE 

Todavía no se ha implementado. Permitirá caso insensibles partido de símbolos de

moneda con la FUNCIÓN NUMVAL-C.

4.1.23 SON 

Permite múltiples condicionales VALORES .

01 cond-1 PIC X .88 primera verdad VALORES ESTÁN "A" "B" "C" .88 segundos-la verdad VALORES ESTÁN "X", "Y", "Z" .

4.1.24 ZONA 

Controles ORDENAR , MERGE y GRABAR definiciones de datos.

IO-CONTROL .MISMO REGISTRO ÁREA DE archivo1 , archivo2 .

4.1.25 ÁREAS 

Opción legibilidad Plural por AREA 

MISMO REGISTRO AREAS

4.1.26-ARGUMENTO NUMERO 

Contiene el número de argumentos de línea de comandos analizados OS, y puede

actuar como el índice explícita al recuperar  ARGUMENTO-VALOR datos. Argumento

número puede ser utilizado en ACEPTAR DE LA PANTALLA EN y expresiones.

Page 94: Open Cobol Preg

 

ACEPTAR comando-line-argumento-count DEL ARGUMENTO-NUMERO FINAL ACEPTAR 

DISPLAY 2 UPON ARGUMENT-NUMBER END-DISPLAY ACCEPT indexed-command-line-argument FROM ARGUMENT-VALUE END-ACCEPT 

Ver la línea de comandos para obtener más información sobre la cadena de

invocación de comando no analizada.

4.1.27 ARGUMENTO-VALOR 

Devuelve el siguiente argumento de la línea de comandos. Este mensaje de Juan

elopencobol.org es un excelente lenguaje para analizar los argumentos de la línea de

 

comandos sin demasiada preocupación en cuanto al orden.

>> fuente de formato es libre*> ****************************************** ************************> Autor: jrls (John Ellis)*> Date: Nov-2008línea de comandos: *> Aplicaciones

x valor espacios .88 lastcmd valor "l" .

01 reptinfo .05 rept-recv PIC X (30) Valor espacios .05 rept-howsent pic

Page 95: Open Cobol Preg

 

 

Cambiar: " argvfinales a evaluar .

Ejemplo funcionar:

. / Cmdline - recv "John Ellis"-e-finterruptor no válido:-fJohn Ellis email

4.1.28 ARITMÉTICA 

Todavía no se ha implementado la función de no ejecutadas  OPCIONES párrafo

delIDENTIFICACIÓN DE DIVISION .

4.1.29 COMO 

PROGRAMA-ID . nombre-programa COMO literal .

4.1.30 ascendente 

COBOL mesa suport.

01 CLUBTABLE .05 MIEMBRO-DATA OCURRE 1 A 6000000000 VECES

EN FUNCIÓN DE LOSASCENDENTES CLAVE ES HORAS-donado .

4.1.31 ASIGNAR 

Asignar un nombre a un archivo u otro recurso externo.

SELECT entrada-fileASIGNAR A "filename.ext"

Page 96: Open Cobol Preg

 

El nombre de archivo real utilizado depende de un ajuste de configuración. En la

configuración por defecto, nombre de archivo de mapeo se establece en sí .

Ver ¿Qué son los archivos de configuración en tiempo de compilación

 

OpenCOBOL? para obtener más información.

 

# Si es así, los nombres de archivo se resuelven en tiempo de ejecuciónutilizando# Variables de entorno.# Por ejemplo, dada ASSIGN TO "DATAFILE", el actual# Nombre del archivo será# 1. el valor de la variable de entorno 'DD_DATAFILE "o# 2. el valor de la variable de entorno 'dd_DATAFILE "o# 3. el valor de la variable de entorno 'DATAFILE "o# 4. el "DATAFILE" literal# Si no, el valor de la cláusula de asignación es el nombre del archivo.## Valor: 'sí', 'no'nombre del archivo de mapas: sí

Así, bajo GNU / Linux, shell bash

$ exportación DD_DATAFILE = '/ tmp / opencobol.dat'$ . / myprog

El programa encontrará los datos en / tmp / opencobol.dat 

$ exportación DD_DATAFILE = '/ tmp / other.dat'$ . / myprog

esta ejecución del mismo programa encontrará los datos en / tmp / other.dat 

Como se muestra en la muestra. Comentarios conf, el orden de las variables de

entorno procede de búsqueda a través de tres variables de entorno antes de usar un

literal como nombre de archivo.

  DD_DATAFILE

  dd_DATAFILE

  DATAFILE

  y finalmente "DATAFILE"

donde DATAFILE es el nombre utilizado en

ASIGNAR AL nombrar

y puede ser cualquier identificador válido COBOL, o una cadena que conduce a un

nombre de archivo sistema operativo válido, y no se limita a archivo de datos .

Page 97: Open Cobol Preg

 

4.1.32 AT 

Controla la posición de aceptar y mostrar verbos orientados a la pantalla.

*> Pantalla en la línea 1, columna 4 <*DISPLAY "Nombre:" AT 0104 FIN-DISPLAY

*> Aceptar a partir de la línea 1, columna 10 para la longitud de campo <*ACCEPT nombre-var AT 0110 FINAL ACEPTA 

04/01/33 ATRIBUTO 

 

Todavía no se ha implementado, pero cuando lo es, se permite

SET pantalla nombre de atributo BLINK APAGADO

01/04/34 AUTO 

 

Flujo automático del cursor al campo siguiente en la sección de pantalla.

4.1.35 AUTO-PASE 

Alias para AUTO 

01/04/36 AUTOMÁTICO 

 

BLOQUEO MODO ES AUTOMÁTICA. Ver MANUAL y EXCLUSIVA para más opciones de

BLOQUEO.

04/01/37 AutoTerminate 

 

Alias para AUTO 

04/01/38 B-Y 

 

Todavía no se ha implementado BIT operación sobre el terreno. Ver ¿Qué STOCK Call

 

Library sí ofrece OpenCOBOL? CBL_AND de alternativas que permitan operaciones bit

 

a bit.

01/04/39 B-NO 

 

Todavía no se ha implementado BIT operación sobre el terreno. Ver ¿Qué STOCK Call

 

Library sí ofrece OpenCOBOL? CBL_NOT de alternativas que permitan operaciones bit

 

a bit.

Page 98: Open Cobol Preg

 

4.1.40 B-O 

Todavía no se ha implementado BIT operación sobre el terreno. Ver ¿Qué STOCK Call

 

Library sí ofrece OpenCOBOL? CBL_OR de alternativas que permitan operaciones bit a

 

bit.

Por ejemplo:

OCOBOL >> FUENTE FORMATO SE FIJA*> ***************************************** ***********************> Autor: Brian Tiffin*> Fecha: 20110626*> Objetivo: Demostrar alternativa para B-OR*> Tectónica: COBC-x pedacitos*> 

datos de la división .WORKING-STORAGE sección .01 s1 pic 999 Uso comp-5 .01 t2 pic 999 Uso comp-5 .01 len pic 9 .01 resultado uso binaria de longitud .

*> 

*> CBL_OR toma el valor de origen, destino y duración de 2 ó 4 6. 

GoBack .finales del programa los bits .

dar:

$ COBC-x bits.cob$. / Bits002 006 1 0000000000

Para una solución de código fuente COBOL para operaciones de bits, Paul Chandler

tuvo la gentileza de publicar BITWISE.cbl y una lista completa se incluye  a nivel de

bits .

Page 99: Open Cobol Preg

 

04/01/41 B-XOR 

Todavía no se ha implementado BIT operación sobre el terreno. Ver ¿Qué STOCK Call

 

Library sí ofrece OpenCOBOL? CBL_XOR de alternativas que permitan operaciones bit a

 

bit.

4.1.42 background-color 

 

05 BLANCO PANTALLA background-color 7 PLANO-COLOR 0 .

01/04/43 BASA 

 

01 base-var PIC X (80) BASA .

Una muestra posted by [humana] 

x .01 REC-TEST BASE .

03 REC-TEST-PART1 PIC X (5500000) .03 REC-TEST-PART2 PIC X (0100000) .03 REC-TEST-PART3 PIC X (1200000) .03 REC-TEST-Parte4 PIC X (1200000) .03 REC-TEST-PART5 PIC

cargado y REC-TEST liberar antes ALLOCATE 'aceptar mychar

*SI DIRECCIÓN DE REC-TEST = NULL

pantalla "REC-TEST no se asignó antes"MÁS

Page 100: Open Cobol Preg

 

mostrar 'REC-TEST se asignaron antes de "END-IFaccept mychar

*ALLOCATE REC-TESTmover todo '9 ' a REC-TESTdisplay 'REC-TEST asignado y lleno de'

REC-TEST ( 1 : 9 )de extremo displayaceptar mychar

*SI DIRECCIÓN DE REC-TEST = NULL

pantalla "REC-TEST no se asignó antes 'ALLOCATE REC-TESTpantalla "REC-TEST asignaron de nuevo, lleno de '

REC-TEST ( 1 : 9 )de extremo pantalla

MÁSdisplay 'REC-TEST se asignó antes "

END-IFaceptar mychar

**

GRATIS DIRECCIÓN DE REC-TESTdisplay 'REC-TEST

Fin de MEMALL programa --------------------------------------- 

01/04/44 BIP 

 

Toca el timbre del terminal durante DISPLAY salida. Alias para CAMPANA 

DISPLAY "beeeeep" LINEA 3 COLUMNA 1 CON TONO FIN-DISPLAY .

4.1.45 ANTES 

Establece un REALIZAR bucle para probar la condición antes de ejecutar el cuerpo del

bucle. Ver DESPUÉS de la alternativa. ANTES es el valor predeterminado.

MOVE 1 TO counterPERFORM WITH TEST BEFORE

UNTIL counter IS GREATER THAN OR EQUAL TO limiterCALL "subprogram" USING counter RETURNING result END-CALL MOVE result TO answers(counter)ADD 1 TO counter END-ADD 

Page 101: Open Cobol Preg

 

END-PERFORM 

También se utiliza con el verbo ESCRIBIR.

ESCRIBIR registro de nombreANTES DE AVANCE algunos de número LINES

Y para controlar la forma del verbo CONTROLAR lleva a cabo su trabajo.

CONTROLAR caracteres var recuentodel recuento PARA TODOS "pruebas" ANTES "prefijo"

Y no está en (febrero de 2013) con el apoyo, en las declarativas para el control de

sección del informe.

USO ANTES DE INFORMES...

01/04/46 CAMPANA 

 

Toca el timbre del terminal durante DISPLAY salida. Alias para BIP 

DISPLAY "beeeeep" LINEA 3 COLUMNA 1 CON CAMPANA DE FIN-DISPLAY .

04/01/47 BINARIO 

 

01 resultado PIC S9 (8) USO BINARIO

04/01/48 BINARIO-C-LONG 

 

Con la estrecha integración de OpenCOBOL con la interfaz binaria de aplicación C los

autores del compilador han construido en la ayuda que garantice un sistema de C

nativolargo valor que es el mismo tamaño de bits entre los módulos C y COBOL. Esto

aumenta la cobertura de la gran cantidad de funciones de la biblioteca C abiertos que

se pueden utilizar directamente con la LLAMADA verbo. Incluyendo los casos en que

las funciones de devolución de llamada que requieren largos parámetros de chimenea

(que no puede ser tan fácilmente envuelto en capas delgadas de código C) ahora

pueden ser utilizados más eficazmente y de forma segura.

04/01/49 BINARIO-CHAR 

 

Define un elemento de uso de 8 bits.

Page 102: Open Cobol Preg

 

04/01/50 BINARIO-DOBLE 

Define un elemento de uso de 64 bits.

04/01/51 BINARIO-LONG 

32 bits nativo USO modificador. Equivalente a S9 (8).

01/04/52 BINARIO-SHORT 

 

16 bits nativo USO . Equivalente a S9 (5).

01/04/53 BIT 

 

Todavía no se ha implementado. Ver ¿Qué STOCK Call Library sí ofrece

 

OpenCOBOL? de alternativas que permitan operaciones bit a bit.

 

04/01/54 BLANCO 

 

05 BLANCO PANTALLA background-color 7 PLANO-COLOR 0 .

4.1.55 BLINK 

Aaaaaah, mis ojos!

01/04/56 BLOQUE 

 

FD de nombre de archivoBLOQUE DE CONTENIDO 1 A n REGISTROS

01/04/57 BOOLEAN 

Hasta ahora modificador compatible.

01/04/58 INFERIOR 

Un linaje ajuste.

 

FD mini-informelinaje es 16 líneas

con base en 15líneas en el top 2líneas en la parte inferior 2 .

Page 103: Open Cobol Preg

 

04/01/59 POR 

PERFORM el procedimientoVARYING paso sin receta DE 1 POR paso de tamañoHASTA contador de pasos > contra-límite

04/01/60 BYTE-LONGITUD 

 

Inscisors humano promedio alrededor de 16 mm.

Más al punto, el BYTE-Length devuelve la longitud, en bytes, de un elemento de

datos. Ver FUNCIÓN BYTE-LONGITUD 

04/01/61 CONVOCATORIA 

 

La llamada verbo OpenCOBOL acepta nombres almacenados literales o identificador

en la resolución de la dirección de la transferencia. La frase USO permite paso de

argumentos y OpenCOBOL incluye las normas internas para la representación de

datos de las entidades de la pila de llamadas que dependen del

COBOL IMAGEN y USO cláusulas. Los valores de retorno son capturados con la

devolución de identificador. Ver ¿Qué STOCK Call Library sí ofrece OpenCOBOL?  .

 

Para obtener más información,

consulte http://www.opencobol.org/modules/bwiki/index.php?cmd=read&page=Use

 

rManual% 2F2_3 # content_1_0 

CALL es el verbo que abre el acceso a la gran cantidad de base de

C ABI bibliotecas. Una gran cantidad , y la biblioteca estándar de C es accesible sin 

vinculación explícita como un bono.

Uno de los puntos de la nota es C punteros. Especialmente los que pasa alrededor

como asas. Cuando se llama a una rutina C que devuelve un identificador, el

identificador DEVOLVER recibirá un puntero C. Para utilizar ese identificador en

convocatorias posteriores, el argumento de COBOL debe por lo general pasan por

valor. Esto pasa el puntero del C, no la dirección del identificador COBOL como

predeterminado por el manejo argumento REFERENCIA haría.

A continuación se muestra un ejemplo que permite un uso bastante despreocupada

de CBL_OC_DUMP durante el desarrollo. EXCEPCIÓN EN CONTINUAR.

OCOBOL * >> FUENTE FORMATO SE FIJA*> **************************************** ************************> Autor: Brian Tiffin

Page 104: Open Cobol Preg

 

*> Fecha: 20110701*> Propósito: Probar la biblioteca C de impresión con formato, y

llamadas de excepción*> Tectónica : COBC-x callon.cob*> o COBC-x callon.cob CBL_OC_DUMP.cob*> 

datos de la división .WORKING-STORAGE sección .01 resultado uso binaria de longitud .

01 pastel de utilización de flotación corto .01 cosas pic x (12) Valor 'abcdefghijkl' .

*> 

*> Obtener un volcado de la memoria en el pie, pero no se detendrá sino vinculada

llamada "CBL_OC_DUMP" con pie 4 de excepción siguen finalllamada 

*> Es llamada C printf, abortar si no se disponellamada estática "printf" utilizando

"float-resumen:% 10.8f" y x "0A00"por valor de pastel deregresar resultado

final llamadapantalla circular espacio longitud de pie el espacio resultado

final display 

*> Obtener un volcado de la memoria utilizada por la materia, no sedetenga si hay un vínculo

llamado "CBL_OC_DUMP" utilizando material 12 en la excepcióncontinúe final llamada 

*> Obtener un volcado de la memoria utilizada por la materia, abortarsi no ligados <*

llamar "CBL_OC_DUMP" utilizando material 12 de colgar 

GoBack .finales programa Callon .

Ver ¿Qué es CBL_OC_DUMP? detalles sobre el subprograma.

Una sesión de tiempo de ejecución de muestra:

$ COBC-x callon.cob$. / Callonfloat-resumen: 3.14159274

Page 105: Open Cobol Preg

 

3.1415927 4 0000000024libcob: No se puede encontrar el módulo 'CBL_OC_DUMP'$ COBC-x callon.cob CBL_OC_DUMP.cob$. / Callon

Offset HEX - ----- 5 -------- 10 -------- 15 - CHARS ---- 1 ---- 5-000000 db 0f 49 40 .. I @ ............

float-resumen: 3.141592743.1415927 4 0000000024

Offset HEX - ----- 5 -------- 10 -------- 15 - CHARS ---- 1 ---- 5-000 000 61 62 63 64 65 66 67 68 69 6a 6b 6c abcdefghijkl ....

Offset HEX - ----- 5 -------- 10 -------- 15 - CHARS ---- 1 ---- 5-000 000 61 62 63 64 65 66 67 68 69 6a 6b 6c abcdefghijkl ....

Así, la primera llamada a CBL_OC_DUMP no "falla" como EXCEPCIÓN DE CONTINUAR

trampas de la enfermedad y permite al programa continuar sin un vertedero

mostrado. La última llamada no abend el programa con 'No se puede encontrar el

módulo' cuando CBL_OC_DUMP no está compilado pulg

01/04/62 CANCELAR 

 

Cancelar virtual de un módulo es compatible. Soporte físico cancel está en el

programa de desarrollo.

04/01/63 CD 

Una cláusula de control de la que aún no soportado COMUNICACIÓN DIVISION.

01/04/64 CENTER 

Una palabra clave que aún no admitida.

01/04/65 CF 

Shortform para PIE DE CONTROL, una cláusula que se utiliza en la Memoria.

01/04/66 CH 

 

Shortform de control del rumbo, una cláusula que se utiliza en los descriptores de

página del informe SECCIÓN.

Page 106: Open Cobol Preg

 

01/04/67 CADENA 

Invoca un subprograma, sin devolución del control implícita. La unidad de programa

encadenados prácticamente se convierte en el programa principal dentro de la unidad

de ejecución.

04/01/68 ENCADENAM 

 

Pasa los datos a través de la división del procedimiento WORKING-STORAGE y se

puede utilizar para los argumentos de línea de comandos de shell, así como en CALL

"myprog" USO cadena FINAL CALL.

de opencobol.org por humanos 

 

WORKING-STORAGE SECCIÓN .01 cmd-argumento .

02 algunos de texto pic x (256) .

procedure division Chaining cmd-argument.

mostrar "Usted escribió:"'> "' función de ajuste ( algunos de texto ) '"''de la línea de comandos shell'

final-display 

04/01/69 CARÁCTER 

 

RELLENO DE CARÁCTER ES

A pronto a ser característica obsoleta.

04/01/70 PERSONAJES 

 

Una palabra clave de uso múltiple.

Se utiliza en especial NOMBRES 

 

OCOBOL >> FUENTE FORMATO SE FIJA*> ***************************************** ***********************> Autor: Brian Tiffin*> Fecha: 20101031*> Finalidad: Pruebe personajes simbólicos*> Tectónica: COBC-x figurativas. cob*> Rave: OpenCOBOL es de piedra frío fresco*> 

entorno de la división .

Page 107: Open Cobol Preg

 

  configuración sección .nombres especiales .

simbólica caracteres TAB es 10LF es 11CMA es 45 .

datos de la división .WORKING-STORAGE sección .01 a-coma pic x (1) valor "," .01 lotes-de-comas PIC X (20) .

*>

cosa " LF"y" TAB otra cosa pestañas "" LFotro "" CMA "cosas"

extremo-display 

mover una coma a un montón-de-comaspantalla "MOVER una coma:" un montón-de-comas finales pantalla 

mover CMA para muchos-de-comaspantalla "MOVER simbólica:" un montón-de-comas finales pantalla 

GoBack .finales programa figurativa .

Salida:

$ COBC-x figuratives.cob$. / FigurativosLo pestañas cosay otra cosa con pestañasotras cosas,MOVER una coma:,MOVER simbólica:,,,,,,,,,,,,,,,,,,,,

Se utiliza en CONTROLAR 

CONTROLAR str recuento tal DE PERSONAJES

Se utiliza en un archivo de descripción FD 

FD file-nameBLOCK CONTAINS integer-1 TO integer-2 CHARACTERSRECORD IS VARYING IN SIZE FROM integer-5 TO integer-6 CHARACTERS

DEPENDING ON identifier-1.

Page 108: Open Cobol Preg

 

01/04/71 CLASE 

Se utiliza para crear alfabetos en especial NOMBRES.

ENVIRONMENT DIVISION .CONFIGURACIÓN DE SECCIÓN .ESPECIALES nombres .CLASE octales ES '0 ' TRAVÉS '7 ' .

...

PROCEDIMIENTO DE DIVISION .SI el usuario valor ES NO octales

DISPLAY "Lo siento, no es un número octal válido" FINAL DE PANTALLAMÁS

DISPLAY usuario valor END-DISPLAYEND-IF 

04/01/72 CLASE-ID 

Un objeto COBOL cláusula de identificador de clase que todavía no admitido.

01/04/73 CLASIFICACIÓN 

Un código de cláusula de internacionalización como fuente todavía no compatible.

04/01/74 CLOSE 

Cerrar un archivo abierto. OpenCOBOL cerrará implícitamente todos los recursos

abiertos a la terminación de una unidad de ejecución y mostrará un mensaje de

advertencia indicando así, y el peligro de extinción potencialmente inseguro.

CIERRE archivo de entrada

1.4.75 CÓDIGO 

Una cláusula sintácticamente reconocido, pero hasta ahora sin apoyo de un descriptor

informe, RD .

04/01/76 CODE-SET 

Una cláusula de internacionalización de datos aún no admitida.

01/04/77 COL 

Alias para COLUMNAS .

Page 109: Open Cobol Preg

 

01/04/78 cotejo 

Permite la definición de un programa de unidad de un conjunto de caracteres.

OBJETO DE ORDENADOR . nombre .PROGRAMA INTERCALAC SECUENCIA ES alfabeto-1 .

04/01/79 COLS 

 

Alias para COLUMNAS .

4.1.80 COLUMNA 

1.  UN INFORME DE LA SECCIÓN reconocido pero sin apoyo RD cláusula descriptor.

2.  También sirve para la indicación de posición y aceptar, que utiliza

implícitamente PANTALLA SECCIÓN estilo ncurses pantalla IO.

DISPLAY var-1 LINEA 1 COLUMNA 23 FIN-DISPLAY 

04/01/81 COLUMNAS 

Un reconocido pero aún no soportado RD cláusula.

04/01/82 COMA 

 

Un especial NOMBRES cláusula apoyo comas en los valores numéricos frente del punto

 

decimal periodo predeterminado. COBOL fue muy por delante de la curva

internationization, y esta característica ha hecho que los autores de compiladores no 

poco dolor en su tiempo, un desafío que se elevan hacia y tratan para el beneficio del 

mundo .

DECIMAL PUNTO SE COMA

04.01.83 línea de comandos 

Proporciona acceso a los argumentos de la línea de comandos.

ACEPTAR los-args DE COMANDO DE LINEA FINAL ACEPTAR 

04/01/84 COMMIT 

 

Descarta todas las esclusas actuales, archivo de sincronización de buffers de E /

S. OpenCOBOL soporta el procesamiento de transacciones seguras

Page 110: Open Cobol Preg

 

conROLLBACK capacidades. Suponiendo que el controlador ISAM configurado la hora 

de construir el compilador puede soportar LOCK_ 

4.1.85 COMÚN 

PROGRAMA-ID . CBL_OC_PROGRAM ES COMÚN PROGRAMAS .

Asegura un subprograma anidado también está disponible para otros subprogramas

anidados con una unidad de jerarquía programa.

04/01/86 COMUNICACIÓN 

Actualmente (febrero de 2013) DIVISION compatible, pero vea ¿Tiene OpenCOBOL

 

apoyo colas de mensajes? una alternativa.

 

04/01/87 COMP 

 

Ver COMPUTACIONAL 

4.1.88 COMP-1

Ver COMPUTACIONAL-1 

04/01/89 COMP-2 

 

Ver COMPUTACIONAL-2 

04/01/90 COMP-3 

 

Ver COMPUTACIONAL-3 

04/01/91 COMP-4 

 

Ver COMPUTACIONAL-4 

04/01/92 COMP-5 

 

Ver COMPUTACIONAL-5 

01/04/93 COMP-X 

 

Ver COMPUTACIONAL-X 

Page 111: Open Cobol Preg

 

01/04/94 COMPUTACIONAL 

Elección implementadores; OpenCOBOL es un defecto grande-endian. Con la mayoría

de las computadoras personales de Intel y los sistemas operativos como GNU /

Linux, COMPUTACIONAL-5 se ejecutará más rápido.

01/04/95 COMPUTACIONAL-1 

 

Flotante de precisión simple. Equivalente a FLOAT-SHORT .

04/01/96 COMPUTACIONAL-2 

 

Flotador doble precisión. Equivalente a FLOAT-LONG .

04/01/97 COMPUTACIONAL-3 

 

Equivalente decimal empaquetado. Decimal empaquetado es de dos dígitos por byte,

firmar siempre extendido y la influencia de un entorno. Conf binaria de 

tamaño  COMPUTACIONAL-6 es UNSIGNED lleno.

01/04/98 COMPUTACIONAL-4 

 

Equivalente a binario.

4.1.99 COMPUTACIONAL-5 

Forma nativa.

4.1.100 COMPUTACIONAL-6 

Formato decimal empaquetado sin firmar, ver COMPUTACIONAL-3 .

4.1.101 COMPUTACIONAL-X 

Forma nativa.

4.1.102 COMPUTE 

Aritmética computacional.

CALCULAR circular de área = radio ** 2 * FUNCIÓN PI FINAL COMPUTE 

OpenCOBOL soporta la gama normal de expresiones aritméticas.

Page 112: Open Cobol Preg

 

  Añadir +

  Restar -

  Multiplicar *

  Divida /

  Elevar al poder **

Orden de las reglas de prioridad se aplican.

1.  menos unario, más unario

2.  exponenciación

3.  multiplicación, división

4.  suma, resta

Espacios y expresiones 

Debido a COBOL permite rociada en los nombres de usuario, se debe tener cuidado al

espacio propiamente expresiones aritméticas.

Algunos ejemplos de código aparentemente ambigua y potencialmente peligroso

OCOBOL *> 

datos de la división .WORKING-STORAGE sección .01 respuesta pic s9 (8) .01 var pic s9 (8) .

*> 

GoBack .final del programa informático .

Eso NO es tres veces var menos uno , OpenCOBOL se quejará.

$ COBC-x computing.cobcomputing.cob: 18: error: 'var-1' no está definido

¡menos mal, grabada!

OCOBOL *> 

datos de la división .

Page 113: Open Cobol Preg

 

  WORKING-STORAGE sección .01 respuesta pic s9 (8) .01 var pic s9 (8) .01 var-1 pic s9 (8) .

*> 

GoBack .final del programa informático .

Con la fuente de arriba, la compilación tendrá éxito.

$ COBC-x computing.cob

OpenCOBOL será (correctamente, según la norma) compilar esto como tres veces var-

1 . No guardado, si nos referimos 3 veces var menos 1.

Programadores OpenCOBOL Se recomienda encarecidamente utilizar espacio 

completo dentro de sentencias de cálculo. 

OCOBOL *> 

datos de la división .WORKING-STORAGE sección .01 respuesta pic s9 (8) .01 var pic s9 (8) .01 var-1 pic s9 (8) .

*>

llamar al cazafantasmas " extremo-displayno el tamaño de error

de visualización "Todo bien, la respuesta es digno deconfianza" de extremo pantalla

final de cómputo 

GoBack .final del programa informático .

CÁLCULO apoya ON ERROR TAMAÑO, NO EN TAMAÑO DE ERROR imperativos de

seguridad, y el modificador redondeadas para los banqueros.

Page 114: Open Cobol Preg

 

4.1.103 CONDICIÓN 

Hasta el momento no soportado USO DESPUÉS cláusula de condición de excepción.

4.1.104 CONFIGURACIÓN 

A SECCION del MEDIO AMBIENTE DIVISION. Contiene párrafos de

  FUENTE-COMPUTER

  OBJETO DE ORDENADOR

  GUARDAMUEBLES

  ESPECIALES-NOMBRES

4.1.105 CONSTANTE 

Una extensión que permite definiciones de constantes

01 -valor enumerado CONSTANTE COMO 500 .

4.1.106 CONTIENE 

Un FD cláusula:

FD un archivo REGISTRO CONTIENE 80 PERSONAJES .

4.1.107 CONTENIDO 

A LLAMAR cláusula que controla cómo se transmiten y se espera argumentos.

LLAME "Subprog" USO DE CONTENIDO alfa-var .

alfa-var no será modifieable por Subprog como se pasa una copia.

Ver REFERENCIA y VALOR para el otro control argumento de llamada de apoyo.

4.1.108 CONTINUAR 

Un marcador de posición, hay verbo operación.

si la acción de bandera = "C" o "R" o "U" o "D"continúan

demásmostrará "-código de acción válida" de extremo pantalla

final si 

Page 115: Open Cobol Preg

 

4.1.109 CONTROL DE 

Hasta el momento no soportado cláusula de sección de informe para el

establecimiento de campos de datos de corte de control.

4.1.110 CONTROLES 

Hasta el momento no soportado cláusula de sección de informe para el

establecimiento de campos de datos de corte de control.

4.1.111 CONVERTING 

Una cláusula del CONTROLAR verbo.

CONTROLAR X CONVERSIÓN "012345678" A "999999999" .

4.1.112 COPIAR

El COBOL incluye verbo pre-procesador. Ver también REEMPLAZAR y ¿El texto de

 

apoyo OpenCOBOL incluye? .

 

4.1.113 CORR 

Alias para CORRESPONDIENTE .

4.1.114 CORRESPONDIENTE 

Mueva todos y cada subcampos con nombres coincidentes en los registros.

999 .05 segundos voluntad PIC S9 (9) .05 tercer voluntad pic 999 .05 esta-doesnt-match PIC S9 (9) .

move corresponding bin-record to num-recorddisplay 

first-will in num-recordsecond-will in num-recordthird-will in num-record

end-display 

Page 116: Open Cobol Preg

 

CUENTA 4.1.115 

Establece el número de caracteres que figuran en una unstring subcadena.

 

De entrada unstring de la Guía del Programador OpenCOBOL.

UNSTRING Input-AddressDELIMITED BY "," OR "/"INTO

Street-Address DELIMITER D1 COUNT C1Apt-Number DELIMITER D2 COUNT C2City DELIMITER D3 COUNT C3State DELIMITER D4 COUNT C4Zip-Code DELIMITER D5 COUNT C5

END-UNSTRING 

4.1.116 CRT 

ESPECIALES-NOMBRES .CONSOLA ES CRTCRT ESTADO es identificador-1 .

CONSOLA ES CRT permite "CRT" y "CONSOLE" se utilizan indistintamente en la

pantalla, pero esto es un defecto para implementaciones OpenCOBOL más nuevos.

ESTADO SE CRT establece un campo PIC 9 (4) para la pantalla ACEPTAR códigos de

estado. También hay una implícita COB-CRT-STATUS registrarse definido para todos

los programas, que se utilizará si no se establece un campo explícito.

4.1.117 MONEDA

ESPECIALES-NOMBRES .MONEDA SIGN ES literal-1 .

Signo de la moneda por defecto es el signo del dólar "$".

4.1.118 CURSOR 

Seguimiento de la ubicación de línea / columna de la pantalla ACEPTAR.

ESPECIALES-NOMBRES .CURSOR ES identificador-2 .

identificador-2 debe ser declarada como PIC 9 (4) o 9 (6). Si 4, el campo es LLCC. Con

9 (6) es LLLCCC donde L es la línea y la columna C es, cero relativo.

Page 117: Open Cobol Preg

 

4.1.119 CICLO 

Una cláusula que causa EXIT realizar para volver a la parte superior de un

bucle. Consulte SIEMPRE para un ejemplo.

4.1.120 DATOS 

Una mágica DIVISION . Una de las principales fuerzas de COBOL es las reglas que

rodean la DIVISION DE DATOS y definiciones de registros pictóricos.

4.1.121 DATOS PUNTERO 

Una característica COBOL objeto aún no admitida.

4.1.122 FECHA 

Un ACEPTAR fuente. 6 y 8 dígitos fechas gregorianas dígitos.

1.  ACEPTAR ident-1 DE FECHA

2.  ACEPTAR ident-2 DE FECHA AAAAMMDD 

Identificación de la división .programa-id . fechas .

datos de la división .WORKING-STORAGE sección .01 de fecha 2 de

03 Fecha-yy pic 9 (2) .03 de fecha mm pic 9 (2) .03 de fecha dd pic 9 (2) .

01 de fecha 3 de03 Fecha-aaaa pic 9 (4) .03 de fecha mm pic 9 (2) .03 de fecha dd pic 9 (2) .

procedimiento de división .aceptar fecha-segunda de la fecha final de aceptar 

*> Justo antes del 3er milenio, los programadores admitidos <**> que 2 años de almacenamiento de dígitos era una mala idea y ambigua <*aceptar fecha-tercera de fecha AAAAMMDD final aceptan 

mostrar fecha y segundo espacio fecha-tercera final display 

GoBack .gama de programas fechas .

Fechas /.110701 20110701

Page 118: Open Cobol Preg

 

4.1.123 DÍA 

Un ACEPTAR fuente. Acceda a la fecha actual en formato juliano. Devoluciones

formatos yyddd y AAAADDD.

1.  ACEPTAR ident-1 DEL DÍA

2.  ACEPTAR ident-2 DEL DÍA AAAADDD 

OCOBOL >> FUENTE FORMATO SE FIJA*> ***************************************** ***********************> Autor: Brian Tiffin*> Date: 2011182 (01 de julio)*> Finalidad: Aceptar a partir del día en forma Julian*> Tectónica : COBC-x days.cob*> 

datos de la división .WORKING-STORAGE sección .01 julian-segundo .

03 julian-yy pic 9 (2) .03 Julian-día PIC 9 (3) .

01 julian-tercero .03 julian-aaaa pic 9 (4) .03 julian -día PIC 9 (3) .

procedimiento de división .aceptar julian-segundo del día final acepta 

*> Justo antes del 3er milenio, los programadores admitidos <**> que 2 años de almacenamiento de dígitos era una mala idea y ambigua

<*aceptar julian-tercero del día AAAADDD final aceptar 

pantalla julian-segundo espacio julian-tercera final display 

GoBack .finales del programa día .

$ Make díasCOBC-W-X days.cob-o día$. / Día11182 2011182

4.1.124 DÍA DE LA SEMANA 

Un ACEPTAR fuente. Día sólo dígito de semana. 1 para lunes, 7 para el domingo.

Page 119: Open Cobol Preg

 

aceptar el-día desde el día de la semana

4.1.125 DE 

Informe atajo escritor para el detalle. Reconocido, pero aún no implementadas. Este

autor encontró que este tipo de atajo muy unCOBOL, hasta tratando de diseño de un

informe, cuando se hizo mucho más sentido práctico en forma FIJA COBOL .

4.1.126 DEBUGGING 

Una cláusula SOURCE-COMPUTER y la frase declarativa.

ENVIRONMENT DIVISION .CONFIGURACIÓN DE SECCIÓN .FUENTE-COMPUTER mina

DE DEPURACIÓN MODO .

Modo de depuración también se puede activar con el -fdebugging-line opción COBC y

compilará en las líneas "D".

está pasando esto a mí? " END-DISPLAYFIN declarativos .

USO DE DEPURACIÓN establece una sección en la que se ejecuta cuando se introduce

la sección de nombre. Potente. También puede nombrar a un archivo, y la sección de

depuración se evaluó después de abrir, cerrar, leer, inicio, etc Los identificadores

también pueden ser nombrados y la sección de depuración se disparará cuando se

hace referencia (por lo general después).

4.1.127 punto decimal 

 

Permite internationization de formato de número. En particular

IDENTIFICATION DIVISION.PROGRAM-ID. 'MEMALL'.ENVIRONMENT DIVISION.CONFIGURATION SECTION.SPECIAL-NAMES. DECIMAL-POINT IS COMMA.

causará OpenCOBOL interpretar literales numéricos en la línea de 123,45 como ciento

veintitrés cuarenta y cinco centésimas de uno.

Page 120: Open Cobol Preg

 

De punto decimal es una coma, mientras mundo amable, puede ser la causa de

análisis y atención ambigua debe ser tomada por los desarrolladores que utilizan una

coma para separar los parámetros de funciones.

4.1.128 declarativos 

Una entrada imperativo que se puede controlar el manejo de excepciones de

operaciones de archivo y active los puntos de entrada de depuración.

malo sucedió con " nombre-1 final-display ..útil-debug sección .

utilizar para depurar el principal-file .ayudar-me .

pantalla "" Just tocado main-file extremo pantalla ..finales declarativos .

4.1.129 DEFAULT 

Una cláusula de usos múltiples utilizado en

  LLAME ... TAMAÑO ES DEFAULT

  ENTRADA ... TAMAÑO ES DEFAULT

  INICIALIZAR ... CON ... LUEGO DE FÁBRICA

4.1.130 DELETE 

Permite la eliminación de los registros de los archivos relativos e indexados.

BORRAR nombre-1 EXPEDIENTENO VÁLIDO TECLA

DISPLAY "no borrar" END-DISPLAYNO VÁLIDA TECLA

DISPLAY "Registro eliminado" END-DISPLAYEND-BORRAR 

4.1.130.1 OC 2.0

Permite borra archivos.

ELIMINAR ARCHIVOSnombre-1 -2 nombre del archivo nombre del archivo-3

Page 121: Open Cobol Preg

 

-END DELETE 

4.1.131 DELIMITADO 

Una palabra clave bastante potente usado con el STRING y unstring verbos. Acepta

 

literales y el POR TAMAÑO modificadoras.

STRING terminada en nuloDELIMITADO POR BAJO VALOREN no-cero

FINAL CADENA 

4.1.132 DELIMITER 

Las pistas que delimitador se utiliza para una subcadena en

una unstring funcionamiento.

 

Desde OCic.cbl de Gary

Unstring Expand-Code-RecDELIMITADO POR "." O ""EN SPI-actual-TokenDELIMITER EN DelimCON PUNTERO Src-Ptr

FINAL unstring 

4.1.133 DEPENDIENDO 

Establece un identificador de control para la variable OCURRE definiciones de tabla.

01 TABLA-DATA .05 TABLA-ELEMENTOS

QUE OCURRA 1 DE 100 VECES EN FUNCIÓN DE multitud de tamañoINDEXADO POR cursor-var .

10 campo 1 PIC X .

4.1.134 DESCENDING 

Controla un orden descendente y / o una orden de recuperación, con

  ORDENAR nombre al descender la tecla alt CLAVE

  OCURRE 1 A VECES max-size DESCENDING CLAVE clave para la mesa

Page 122: Open Cobol Preg

 

4.1.135 DESTINO 

Descriptor de datos Actualmente no admitida. Parte de validar.

4.1.136 DETALLE 

Un detalle descriptor cláusula de control de línea informe reconoce, pero actualmente

no soportado.

4.1.137 DISABLE 

Una comunicación verbal de control SECCIÓN compatible.

4.1.138 DISCO 

Una frase nombre_de_dispositivo SELECT.

ASIGNAR AL DISCO DE USAR DataName

Ortografía alternativa del DISCO está permitido.

4.1.139 DISPLAY 

Un verbo salida de propósito general.

  grabados valores a la consola por defecto u otro dispositivo

  establece la corriente ARGUMENTO-NUMERO influyen en el acceso posterior

ACEPTAR DE ARGUMENTO-VALOR declaraciones

  especificar explícitamente la línea de comandos influyen en el acceso

posterior a aceptar de la línea de comandos, pero no ARGUMENTO-VALOR

acceso

  conjuntos de variables de entorno, como parte de un proceso de dos

pasos. (Utilice la SET más conciso AMBIENTE lugar)

1.  DISPLAY "mi_entorno" EN MEDIO AMBIENTE Y NOMBRE 

2.  DISPLAY "mi_entorno valor" EN MEDIO AMBIENTE-VALOR 

DISPLAY "Primer valor:" una variable "y otra cadena" END-DISPLAY 

DISPLAY "1" 23 "4" FIN-DISPLAY 

El ajuste de las variables de entorno no influye en el proceso de ser dueño de cáscara.

DISPLAY "ENVNAME" EN MEDIO AMBIENTE Y NOMBRE FIN-DISPLAYDISPLAY "valor COBOL" EN MEDIO AMBIENTE-VALOR

Page 123: Open Cobol Preg

 

DE EXCEPCIÓN dejan de funcionarNO DE EXCEPCIÓN continuar

FIN-DISPLAYLLAMADA "SYSTEM" USO "echo $ ENVNAME"

da:

$ ENVNAME = "valor shell padre"$. / DispsCOBOL valor$ Echo $ ENVNAMEvalor shell padre

4.1.140 DIVIDE 

Arthimetic alta precisión. Soporta varias formas:

  Dividir en

  DIVIDIR EN DAR

  DIVIDE POR DAR

  DIVIDIR EN RESTO

  DIVIDE POR EL RESTO

Por ejemplo:

DIVIDE dividend BY divisor GIVING answer ROUNDED REMAINDER rON SIZE ERROR

PERFORM log-division-errorSET division-error TO TRUE

NOT ON SIZE ERRORSET division-error TO FALSE

END-DIVIDE

El proyecto de norma 20xx requiere implementaciones conformes a utilizar 1.000

dígitos de precisión de los resultados intermedios. No habrá errores de redondeo al

calcular adecuadamente las finanzas en un programa COBOL.

4.1.141 DIVISION 

Ahh, subdivisiones. Creo que mi favorita es la DIVISION DE DATOS. Da COBOL un

sabor distintivo y delicioso en un pintoresco codescape.

Las divisiones deben especificarse en el orden siguiente dentro de cada unidad de

programa fuente.

Page 124: Open Cobol Preg

 

1.  IDENTIFICACIÓN DE DIVISION.

2.  ENVIRONMENT DIVISION.

3.  DATOS DE DIVISION.

4.  PROCEDIMIENTO DE DIVISION.

Una mnemónica útil puede ser "que introducir los datos correctamente" .

OpenCOBOL es lo suficientemente flexible para compilar archivos con sólo un

PROCEDURE DIVISION, e incluso entonces realmente sólo necesita unPROGRAMA-

ID . Ver ¿Qué es el programa más corto OpenCOBOL? para un ejemplo.

4.1.142 ABAJO 

 

Permite la disminución del índice de un control o variable puntero.

SET ind-1 ABAJO POR 2

También se utiliza para el control de desplazamiento sección de la pantalla.

DESPLAZARSE HACIA ABAJO 5 LÍNEAS

4.1.143 DUPLICADOS 

Permite claves duplicadas en archivos indexados.

SELECT nombreALTERNATIVA REGISTRO CLAVE ES altKey CON DUPLICADOS

También para el control de ordenación.

ORDENAR nombre EN DESCENSO CLAVE KeyFieldCON DUPLICADOS EN ORDEN DEUSO especie en DAR tipo de salida .

4.1.144 DYNAMIC 

A modo de acceso a los archivos de tiempo de ejecución que permite el control sobre

el acceso secuencial y aleatorio para ORGANIZACION INDEXED y relativos.

SELECT nombreORGANIZACIÓN ES PARIENTEDE ACCESO MODO ES DINÁMICO

Page 125: Open Cobol Preg

 

4.1.145 EBCDIC 

Extended Binary Coded Decimal Código intercambio.

Una codificación de caracteres comunes a los sistemas mainframe, por lo tanto,

COBOL, por lo tanto OpenCOBOL. Diferente a ASCII y OpenCOBOL apoya tanto a través

de asignaciones eficientes. Ver http://en.wikipedia.org/wiki/EBCDIC para más

 

información.

ASCII a la conversión EBCDIC la forma OpenCOBOL

ESPECIALES-NOMBRES .ALFABETO ALPHA ES NATIVA .ALFABETO BETA ES EBCDIC .

PROCEDIMIENTO DE DIVISION .CONTROLAR variables CONVERSIÓN ALPHA PARA BETA

4.1.146 CE 

Un Shortform sin apoyo para su uso después de condición de excepción

4.1.147 EGI 

Una palabra SECCIÓN COMUNICACIÓN compatible.

4.1.148 MÁS 

Punto de ramificación condicional alternativo.

SI EDAD ES CERODISPLAY "Cigar tiempo" END-DISPLAY

MÁSDISPLAY "¿Qué pasa con los niños de todos modos?" END-DISPLAY

END-IF 

Por ramas condicionales múltiples, ver EVALUAR .

4.1.149 EMI 

Una palabra SECCIÓN COMUNICACIÓN compatible.

4.1.150 ACTIVAR 

Una comunicación verbal de control SECCIÓN compatible.

Page 126: Open Cobol Preg

 

4.1.151 FINAL 

Acaba cosas. Programas, declarativos, funciones.

4.1.152 FINAL ACEPTAR 

Terminator explícita de ACCEPT .

4.1.153 FINAL AÑADIR 

Terminator explícita de ADD .

4.1.154 FINAL CONVOCATORIA 

Terminator explícita de LLAMADA .

4.1.155 FINAL COMPUTE 

Terminator explícita para COMPUTE .

4.1.156 FINAL DELETE 

Terminator explícita para DELETE .

4.1.157 FINAL DISPLAY 

Terminator explícita de DISPLAY .

4.1.158 FINAL DIVIDE 

Terminator explícita para DIVIDE .

4.1.159 FINAL DE EVALUAR 

Terminator explícita para EVALUAR .

4.1.160 FINAL SI 

Terminator explícita de IF .

4.1.161 FINAL DE MULTIPLICAR 

Terminator explícita para MULTIPLICAR .

Page 127: Open Cobol Preg

 

4.1.162 FINAL DE LA PÁGINA 

Un linaje frase utilizada por WRITE control final de la página cláusula imperativa.

 

4.1.163 FINAL DE REALIZAR 

Terminator explícita para PERFORM .

4.1.164 FINAL LEA 

Terminator explícita de LEER .

4.1.165 FINAL DE RECIBIR 

Terminator explícita para RECIBIR .

4.1.166 FINAL VUELTA 

Terminator explícita de RETURN .

4.1.167 FINAL REWRITE 

Terminator explícita para REWRITE .

4.1.168 FINAL DE BÚSQUEDA 

Terminator explícita de BUSCAR .

4.1.169 FINAL START 

Terminator explícita de START .

4.1.170 FINAL CADENA 

Terminator explícita de STRING .

4.1.171 FINAL SUBTRACT 

Terminator explícita para SUBTRACT .

4.1.172 FINAL unstring 

 

Terminator explícita para unstring .

Page 128: Open Cobol Preg

 

4.1.173 FINAL DE ESCRIBIR 

Terminator explícita de WRITE .

4.1.174 ENTRADA 

Siempre para los puntos de entrada de llamada sin ser subprogramas especificados

plenamente. Ideal para definir callbacks requeridos por muchos marcos GUI.

Ver ¿Admite OpenCOBOL el GIMP ToolKit, GTK +?  para un ejemplo.

 

4.1.175 ENTRADA-CONVENCIÓN 

Una cláusula que aún no admitida.

4.1.176 AMBIENTE 

Nombre Divisional. Y permite el acceso a las variables de entorno del sistema

operativo. OpenCOBOL apoya

  CONFIGURACIÓN DE LA SECCIÓN

  ENTRADA-SALIDA  SECCIÓN

Dentro de la División AMBIENTE.

También una palabra clave sensible al contexto para el acceso a las variables de

entorno de proceso.

  SET ENVIRONMENT "env-var" A valor

  ACEPTAR var DE MEDIO AMBIENTE "env-var" END-ACCEPT

4.1.177 AMBIENTE-NOMBRE 

Proporciona acceso a las variables de entorno de proceso en ejecución.

4.1.178 AMBIENTE-VALOR 

Proporciona acceso a las variables de entorno de proceso en ejecución.

4.1.179 EO 

Un Shortform compatible para su uso después objeto de excepción

Page 129: Open Cobol Preg

 

4.1.180 EOL 

BORRAR al final de la línea.

4.1.181 EOP 

Linaje Shortform cláusula END-OF-PAGE .

 

4.1.182 EOS 

ERASE para el final de la pantalla.

4.1.183 EQUAL 

Expresión condicional para comparar dos elementos de datos para la igualdad.

4.1.184 IGUAL 

Expresión condicional para comparar dos elementos de datos para la igualdad.

4.1.185 ERASE 

Una sección cláusula de atributo de datos de pantalla que puede controlar qué partes

de la pantalla se borran durante DISPLAY y ACCEPT .

01 formularios de registro .02 primer campo xxx PIC

USO identificador-1ERASE EOL .

4.1.186 ERROR 

A declarativos cláusula que permite controlar el manejo de errores.

USO DESPUÉS STANDARD ERROR PROCEDIMIENTO EN nombrearchivo-1

Programa de control de retorno.

PARADA MARCHA CON ERROR ESTADO stat-var .

4.1.187 ESCAPE 

Acceso programador para escapar valor clave en  ACEPTAR .

ACEPTAR identificador DE ESCAPE CLAVE FINAL ACEPTAR 

Page 130: Open Cobol Preg

 

El tipo de datos es 9 (4).

4.1.188 ESI 

Control de sección de comunicación no compatible.

4.1.189 EVALUAR 

Construir una selección muy potente y conciso.

EVALUATE a ALSO b ALSO TRUEWHEN 1 ALSO 1 THRU 9 ALSO c EQUAL 1 PERFORM all-lifeWHEN 2 ALSO 1 THRU 9 ALSO c EQUAL 2 PERFORM lifeWHEN 3 THRU 9 ALSO 1 ALSO c EQUAL 9 PERFORM disabilityWHEN OTHER PERFORM invalid

END-EVALUATE 

4.1.190 EXCEPCIÓN 

Permitir la detección del problema CALL.

LLAME "CBL_OC_DUMP" EN EXCEPCIÓN CONTINUE END-CALL 

4.1.191 EXCEPCIÓN-OBJETO 

 

UNSUPPORT objeto COBOL referencia del elemento de datos.

4.1.192 EXCLUSIVO 

Control de modo de bloqueo de archivos.

4.1.193 EXIT 

OpenCOBOL apoya

  SALIR

  SALIR DEL PROGRAMA 

  SALIR EJECUTAR [ CICLO ]

  SALIR SECCIÓN 

  SALIR DEL PÁRRAFO 

Controles de flujo del programa. SALIR REALIZAR EL CICLO provoca un inline realizar

para devolver el control a la VARYING , HASTA o TIMES cláusula, probando el

Page 131: Open Cobol Preg

 

condicional para ver si se requiere otro ciclo. SALIR PERFORM sin la opción CICLO hace

que el flujo de continuar pasado el final del bucle PERFORM actual.

4.1.194 EXPANDE 

Control de sección de comunicación no compatible.

4.1.195 AMPLIAR 

Abrir un recurso en un modo de adición.

4.1.196 EXTERNO 

Cláusula especificar dato externo, conexión de archivo y la unidad de programa.

77 shared-var PIC S9 (4) ES EXTERNO COMO 'shared_var' .

4.1.197 FACTORY 

Un objetivo clave COBOL compatible.

4.1.198 FALSO 

Condición establecida falsas y lógica condicional.

01 registros 1 pic 9 .88 condicional-1 los valores 1 , 2 , 3 cuando se establece a false

es 0 .

establecer condicional 1 de verdaderaexhibición de registros 1 final-display 

establecer condicional 1 de falsaexhibición de registros 1 final-display 

si condicional 1visualización "BAD" final visualización

final si 

Se ejecuta como:

$. / Condicionales10

Page 132: Open Cobol Preg

 

4.1.199 FD 

El lado de registro del sistema de archivos COBOL. El descriptor de archivo.

FD nombre-muestraREGISTRO SE VARYING EN TAMAÑO DE 1 A 32768 PERSONAJES

EN FUNCIÓN DE record de talla de la muestra .

4.1.200 ARCHIVO 

Archivos.

USO DESPUÉS DE EXCEPCIÓN ARCHIVO nombre, tal vez

4.1.201 de control de archivos 

Archivos. El párrafo de la ENTRADA-SALIDA sección, en el MEDIO

AMBIENTE división. Es prolijo, un poco voodooey, y vale la pena.

ENVIRONMENT DIVISION.INPUT-OUTPUT SECTION.FILE-CONTROL.

select optional data-file assign to file-nameorganization is line sequentialfile status is data-file-status.

seleccione mini-informe de asignar a "mini-informe" .

4.1.202 ARCHIVO-ID 

Archivos.

VALOR DE ARCHIVO-ID ES file-ids en resumen-array

4.1.203 RELLENO

Filler. Esta página llena intencionalmente con relleno.

4.1.204 FINAL 

Final. Una característica Report Writer reconocido pero en la actualidad no es

compatible.

Page 133: Open Cobol Preg

 

4.1.205 PRIMER 

En primer lugar. Una característica Report Writer reconocido pero en la actualidad no

es compatible.

4.1.206 FLOAT-EXTENDIDO 

OpenCOBOL reconoce pero todavía no soporta FLOAT extendida y se termine

anormalmente una compilación.

4.1.207 FLOAT-LONG 

OpenCOBOL apoya de punto flotante de largo.

Identificación de la división .programa-id . treses .

datos de la división .WORKING-STORAGE sección .01 fshort utilización de flotación corto .01 Flong utilización de flotación larga .01 fpic pic 9V9 (35) .

procedimiento de división .compute fshort = 1 / 3 final calcularpantalla "tan corto" fshort final displaycompute Flong = 1 / 3 final calcularpantalla "siempre" Flong final displaycompute fpic = 1 / 6 de extremo calcularpantalla " como pic " fpic final displaycompute fpic redondeado = 1 / 6 de extremo calcularmostrará "" redondeada fpic final displayGoBack .

fin del programa triples .

muestra:

$. / Tripleslo más corto ,333333343267440796siempre ,333333333333333315como pic 0,16666666666666666666666666666666666redondeada 0,16666666666666666666666666666666667

4.1.208 FLOAT-SHORT 

OpenCOBOL soporta punto flotante corto.

Page 134: Open Cobol Preg

 

4.1.209 FOOTING 

Un buen soporte linaje cláusula.

 

4.1.210 PARA 

Reconocido pero no soportado cláusula Report Writer.

4.1.211 PLANO-COLOR 

Sección de control de color de primer plano de la pantalla. Ver  ¿Cuáles son los valores

 

de color sección Screen OpenCOBOL? 

 

4.1.212 SIEMPRE 

Prevé bucles infinitos. Utilice SALIR EJECUTAR o EXIT REALIZAR EL CICLO para

controlar el flujo del programa.

Identificación de la división .programa-id . foreverloop .

datos de la división .WORKING-STORAGE sección .01 cobol pic 9 valor 0 .01 c pic 9 valor 1 .01 fortran pic 9 valor 2 .

procedimiento de división .

realizar siempreañadir 1 a cobolpantalla "cobol en" cobol final display 

si cobol mayor de fortransalida realice

final si 

si cobol mayor que csalida realice el ciclo

final si 

mostrar "cobol todavía trepando sobre c" final visualizaciónfinal realice 

mostrar "cobol superó c y fortran" extremo-display 

GoBack .finales programa foreverloop .

Que produce:

Page 135: Open Cobol Preg

 

$ COBC libre-x foreverloop.cob$. / Foreverloopcobol al 1cobol sigue trepando sobre ccobol al 2cobol a 3cobol superó c y fortran

Le pregunté sobre opencobol.org por alguna entrada, y una interesante conversación

siguió. He incluido el foro Archivo hilo, casi en su totalidad, para dar una idea de los

diversos estilos de programador y el grupo pensaba

procesamiento. Consulte Realización SIEMPRE? .

4.1.213 FORMATO 

Directiva Formato Fuente.

123456 >> FUENTE FORMATO SE FIJA

4.1.214 GRATIS 

Correctamente se limpia ASIGNAR memoria alloted y directiva formato de origen.

>>SOURCE FORMAT IS FREE 

01 var PIC X (1024) BASE .

ASIGNAR varLLAMADA "buffer-cosa" USO DE REFERENCIA var FIN LLAMADAMUDANZA var A trabajar storeGRATIS var

4.1.215 DE 

ACEPTAR var DE MEDIO AMBIENTE "camino"DE EXCEPCIÓN

DISPLAY "Ningún camino" FINAL DE PANTALLANO DE EXCEPCIÓN

DISPLAY var END-DISPLAYEND-ACCEPT 

4.1.216 COMPLETO 

Una sección de operador de control de elemento de la pantalla de la pantalla, que

solicita la terminación normal de ser ignorada hasta que el campo está

completamente lleno o completamente vacío.

Page 136: Open Cobol Preg

 

4.1.217 FUNCIÓN 

Permite el uso de los muchos OpenCOBOL apoyado funciones intrínsecas.

DISPLAY FUNCIÓN TRIM ( "recortar espacios iniciales" LÍDERES ) END-DISPLAY .

Ver ¿Tiene OpenCOBOL implementar cualquier función intrínseca? para obtener más

 

información.

4.1.218 FUNCIÓN-ID 

Todavía no se ha implementado, pero permitirá que el usuario función definida.

4.1.219 GENERAR 

Todavía no se ha ejecutado más allá del simple cronista INFORME análisis.

4.1.220 GET 

No compatible.

4.1.221 DANDO 

Control de destino para los cálculos, y la cláusula de valor de retorno.

ADD 1 A cobol DANDO OpenCOBOL .

4.1.222 GLOBAL 

Un nombre global es accesible a todos los programas contenidos.

4.1.223 GO 

IR A es su amigo. Edsger estaba equivocado. Transferir el control a un párrafo o una

sección llamada. Ver ALTER para los detalles de Monster Power Goto.

4.1.224 GOBACK 

Un retorno. Esto funcionará correctamente para todos los casos. Un retorno al sistema

operativo o el retorno a un programa que se llama.

GOBACK .

Page 137: Open Cobol Preg

 

4.1.225 MAYOR 

Expresión condicional COBOL, SI A mayor que B, Ver  MENOS 

4.1.226 GRUPO 

Reconocido pero cláusulas Report Writer no compatibles.

4.1.227 GRUPO-USO 

Un soportado BIT cláusula.

4.1.228 DENOMINACIÓN 

Reconocido pero cláusulas Report Writer no compatibles.

4.1.229 ALTO VALOR 

A figurativa ALPHABETIC constante, siendo el valor del carácter más alto del  cotejo

 

de secuencia. Es válido para MOVER DE ALTO VALOR a un NUMÉRICOcampo.

4.1.230 alta VALORES 

Plural de alto valor .

4.1.231 DESTACADO 

Control de la pantalla de la intensidad de campo.

4.1.232 IO 

Un OPEN modo que permite leer y escribir.

4.1.233 IO-CONTROL 

Un párrafo de la ENTRADA-SALIDA sección, permitiendo áreas de memoria

compartidos por diferentes archivos.

ENVIRONMENT DIVISION .ENTRADA-SALIDA SECCIÓN .IO-CONTROL .

MISMO REGISTRO ÁREA DE -1 nombre del archivo nombre del archivo-2 .

Page 138: Open Cobol Preg

 

4.1.234 ID

Shortform de IDENTIFICACIÓN .

4.1.235 IDENTIFICACIÓN 

La división inicial de los programas OpenCOBOL.

IDENTIFICACIÓN DE DIVISION .PROGRAMA-ID . muestra .

Muchos puntos históricos de la División de identificación han sido consideradas

obsoletas. OpenCOBOL tratará esto como comentario párrafos. Incluso

  AUTOR

  FECHA-ESCRITO

  FECHA-MODIFICADO

  FECHA-RECOPILADA

  INSTALACIÓN

  OBSERVACIONES

  SEGURIDAD

4.1.236 SI 

De ramificación condicional. En COBOL, los condicionales son muy poderosos y hay

muchas expresiones condicionales permiten accesos directos concisas.

IF A = 1 O 2MOVIMIENTO 1 A B

END-IF 

4.1.237 ignorando 

 

LEA nombre-1 EN identificador-1 IGNORAR LOCK END-READ 

4.1.238 IMPLEMENTOS 

Objeto no compatible expresión COBOL.

4.1.239 EN 

Una referencia de estructura de datos y el nombre de conflicto calificador resolución.

MOVER "abc" A campo EN the-record EN la estructura

Page 139: Open Cobol Preg

 

Sinónimo de DE 

4.1.240 ÍNDICE 

01 -var cursor USO ÍNDICE .

SET -var cursor ARRIBA POR 1 .

4.1.241 indexado 

Una organización de archivos ISAM.

environment division.input-output section.file-control.

select optional indexingassign to "indexing.dat"organization is indexedaccess mode is dynamicrecord key is keyfield of indexing-recordalternate record key is splitkey of indexing-record

with duplicates.

Establece un identificador de control de indexación para OCCURS matrices de datos.

01 TABLA-DATA .05 TABLA-ELEMENTOS

QUE OCURRA 1 DE 100 VECES EN FUNCIÓN DE multitud de tamañoINDEXADO POR cursor-var .

10 campo 1 PIC X .

4.1.242 INDIQUE 

GRUPO indican es un INFORME SECCIÓN aún no soportado RD cláusula que especifica

que el tema de impresión es ouput sólo en la primera aparición de su grupo de

informes para que iniciar, controlar descanso o página antelación.

4.1.243 INHERITS 

Una cláusula de COBOL objeto no admitido.

4.1.244 INICIAL 

Un modificador para el PROGRAMA-ID cláusula, que hace que toda la división de

datos para ser ajustado a un estado inicial cada vez que el subprograma es ejecutado

por CALL.

Page 140: Open Cobol Preg

 

ocobol >> FUENTE FORMATO SE FIJA*> ***************************************** ***********************> Autor: Brian Tiffin*> Fecha: 20111226*> Finalidad: Pequeña muestra de la cláusula PRIMERA división

 procedimiento*> Tectónica: COBC - x-w-g-debug initialclause.cob*> 

*> 

*> - ********* - ********* - ********* - ********* - ******* ** -********* - **

*> 

datos de la división .WORKING-STORAGE sección .01 el valor de pic 99 valor 42 .

*> - ********* - ********* - ********* - ********* - ******* ** -********* - **

procedimiento de división .pantalla "Interior con-inicial:" el valor final de la pantallamultiplicar el valor por 2 da el valor

de tamaño del errorde visualización "tamaño de desbordamiento " extremo pantalla

final multiplicanGoBack .finales del programa con-inicial .

*> - ********* - ********* - ********* - ********* - ******* ** -********* - **

*> 

datos de la división .WORKING-STORAGE sección .01 el valor de pic 99 valor 42 .

Page 141: Open Cobol Preg

 

*> - ********* - ********* - ********* - ********* - ******* ** -********* - **

procedimiento de división .pantalla "Inside sin-inicial con:" el valor final de la pantallamultiplicar el valor por 2 da el valor

de tamaño del errorde visualización "tamaño de desbordamiento " extremo pantalla

final multiplicanGoBack .finales programa sin-inicial .

Da:

[Btiffin @ home cobol] $. / InitialclauseInterior con-inicial: 42En el interior, sin inicial: 42Interior con-inicial: 42En el interior, sin inicial: 84tamaño de desbordamientoEn el interior, sin inicial: 84tamaño de desbordamiento

Conjuntos INICIALES el valor a 42 para todos y cada entrada, sin-inicial se multiplica

por 42, 84, 168 (o tendría).

4.1.245 INITIALIZE 

Una muestra del verbo INITIALIZE envió a opencobol.org por humanos 

 

x .77 mynumeric pic 9 .01 REC-TEST BASA .

03 REC-TEST-PART1 PIC X (10) valor de todas '9 ' .03 REC-TEST-PART2 PIC X (10) valor de todas las "A" .

01 fillertest .03 fillertest-1 PIC 9 (10) valor 2222222222 .03 relleno PIC X valor '|' .03 -2 fillertest PIC X (10) valor de todas las "A" .03 relleno PIC 9 (03) valor 111 .03 relleno PIC

Page 142: Open Cobol Preg

 

 

''en el arranque:'

final displaydisplay fillertestfinal displayaceptar mychar

*initialize fillertestdisplay 'fillertest'

"después de

''después de inicializar la sustitución numérica por

''después de inicializar la sustitución alfanuméricos

''después de inicializar la sustitución alfanumérica por

todos

''después de inicializar con

Page 143: Open Cobol Preg

 

 

''después de inicializar todos a valorar:'

final displaydisplay fillertestfinal displayaceptar mychar

*ALLOCATE REC-TESTpantalla "REC-TEST después

después initalize todos

Fin del programa INITTEST ------------------------------------- 

Salidas:

fillertest de inicio:2222222222 | AAAAAAAAAA111.fillertest después de inicializar:0000000000 | 111.fillertest después de inicializar la sustitución numérica de 9:0000000009 | 111.fillertest después initialize alfanuméricos sustituir por "X":0000000009 | X 111.fillertest después de inicializar la sustitución alfanumérica por todos "X":0000000009 | XXXXXXXXXX111.fillertest después de inicializar con el relleno:0000000000 000fillertest después de inicializar todos a valorar:2222222222 | AAAAAAAAAA111.REC-TEST después de la asignación:

REC-TEST después initalize todo valor:9999999999AAAAAAAAAA

Page 144: Open Cobol Preg

 

4.1.246 inicializado 

Un modificador de la ALLOCATE verbo, llenando el objetivo con un valor por defecto.

77 base-var PIC X (9) BASADA EN VALOR "asignados" .77 Puntero-var USO PUNTERO .

ALLOCATE based-varDISPLAY ":" based-var ":" END-DISPLAY FREE based-varALLOCATE based-var INITIALIZED RETURNING pointer-varDISPLAY ":" based-var ":" END-DISPLAY 

muestra:

::: Numerado:

4.1.247 INITIATE 

Inicializar memoria interna para las entradas de sección de informe con nombre.

No actualmente (febrero de 2013) con el apoyo.

4.1.248 ENTRADA 

A modo de OPEN verbo para acceso a archivos.

OPEN DE ENTRADA archivo 

A ORDENAR cláusula que permite leer la entrada controlada programador pasa

cuando se pasan los registros se pueden ordenar con el algoritmo de ordenación

mediante RELEASE .

procedure division.sort sort-work

on descending key work-reccollating sequence is mixedinput procedure is sort-transformoutput procedure is output-uppercase.

mostrar una especie de retorno al final de visualización .GoBack .

Page 145: Open Cobol Preg

 

4.1.249 ENTRADA-SALIDA 

Una sección de la División de Medio Ambiente de un archivo de código fuente COBOL

que contiene el archivo y los párrafos de control IO.

environment division.input-output section.file-control.

select htmlfileassign to filenameorganization is record sequential.

OpenCOBOL apoya

  ARCHIVO-CONTROL 

  IO-CONTROL 

párrafos de la sección de entrada-salida.

4.1.250 CONTROLAR 

Proporciona muy poderosa de análisis y el reemplazo de COBOL y OpenCOBOL apoya

la gamet llena de opciones.

ocobol identificación división .programa-id . inspección .

datos de la división .WORKING-STORAGE sección .01 ORIGINAL pic XXXX / XX / XXBXX / XX / XXXXXXX / XX .01 DATEREC pic XXXX / XX / XXBXX / XX / XXXXXXX / XX .

procedimiento de división .

mover la función cuando compilado a DATEREC ORIGINAL

CONTROLAR DATEREC CAMBIO TODO "/" POR ":" DESPUÉS DE INICIALDEL ESPACIO

mostrar"la función intrínseca AL-RECOPILADA" ORIGINAL

final displaydisplay

"después CONTROLAR SUSTITUCIÓN" DATERECfinal display 

GoBack .finales del programa de inspección .

Page 146: Open Cobol Preg

 

Ejemplo de salida:

Función propia si-RECOPILADA 2010/03/25 23/05/0900-04/00después CONTROLAR SUSTITUCIÓN 2010/03/25 23:05:0900-04:00

4.1.251 INTERFAZ 

No compatible.

4.1.252 INTERFACE-ID 

Una cláusula de COBOL objeto no admitido en el  IDENTIFICACIÓN  división.

4.1.253 EN 

División.

DIVIDIR A EN B DAR C .

4.1.254 INTRÍNSECO 

Se utiliza en el repositorio para permitir el uso opcional de palabra clave "FUNCION".

entorno de la división .configuración sección .guardamuebles .

funcionan todas intrínseca .

La unidad de fuente de ahora permitirá a las líneas del programa, como

mover recortar ( "abc" ) a destmovimiento función de ajuste ( "abc" ) a dest

para compilar el mismo código.

4.1.255 VÁLIDA 

Frase clave imprescindible excepción.

LEA nombre-1NO VÁLIDO TECLA

DISPLAY "llave Bad"NO VÁLIDA TECLA

DISPLAY "buena lectura"END-READ 

Page 147: Open Cobol Preg

 

4.1.256 INVOKE 

Compatible Método COBOL objeto llamar.

4.1.257 ES 

Palabra legibilidad. A es menor que B es equivalente a B. A MENOS

4.1.258 JUSTO 

 

Alias para  JUSTIFICADA .

4.1.259 JUSTIFICADOS 

 

Tweaks reglas de almacenamiento en wierd  SOLO maneras, disminuyendo el vudú

detrás de MOVE instrucciones, dijo con sarcasmo .

77 str1 pic x (40) justifica la derecha .

4.1.260 CLAVE 

Uso múltiple, significa siempre clave:

- KEY relativa es- CLAVE DE REGISTRO ALTERNATIVA ES- NO CLAVE NO VÁLIDA- ORDENAR al descender nombre CLAVE KeyField- START indexación CLAVE ES MENOS QUE KeyField

4.1.261 TECLADO 

Un valor especial para la entrada estándar

archivo de control .seleccione cgi-inasignar al teclado .

4.1.262 ETIQUETA 

Un sello discográfico. Al igual que con la mayoría de los sellos discográficos, cayendo

en desuso.

Page 148: Open Cobol Preg

 

4.1.263 LAST 

Se utiliza en START para preparar una lectura del último registro. Una cláusula Report

Writer reconocido pero sin apoyo.

START -1 nombre del archivo ÚLTIMONO VÁLIDO CLAVE

MOVIMIENTO CERO PARA registros contar>> D DISPLAY "No último disco de" nombre-1 FIN-DISPLAY

END-START 

4.1.264 LC_ALL 

Un grupo de la categoría reservada, pero sin apoyo. Ver configuración

 

local . OpenCOBOL es consciente 'locale', pero en la actualidad es más externa que en

la fuente de COBOL. Por ahora, lo más seguro es asumir LC_ALL = C , pero esto se

puede configurar de forma diferente cuando OpenCOBOL se construye.

4.1.265 LC_COLLATE 

A nombre de la categoría reservada, pero sin apoyo. Se utilizará con SET.

4.1.266 LC_CTYPE 

A nombre de la categoría Configuración regional reservada pero sin apoyo. Se

utilizará con SET.

4.1.267 LC_MESSAGES 

A nombre de la categoría reservada, pero sin apoyo. Ver configuración

local . OpenCOBOL es consciente 'locale', pero en la actualidad es más externa que en

la fuente de COBOL.

OpenCOBOL 2.0 amplía el soporte local a los mensajes del compilador.

$ exportar LC_MESSAGES = es_ES$ COBC-x fdfgffd.cob

COBC: fdfgffd.cob: No EXISTE el Fichero o el Directorio

4.1.268 LC_MONETARY 

A nombre de la categoría Configuración regional reservada pero sin apoyo. Se

utilizará con SET.

Page 149: Open Cobol Preg

 

4.1.269 LC_NUMERIC 

A nombre de la categoría Configuración regional reservada pero sin apoyo. Se

utilizará con SET.

4.1.270 LC_TIME 

A nombre de la categoría Configuración regional reservada pero sin apoyo. Se

utilizará con SET.

4.1.271 LÍDER 

Polivalente.

DISPLAY FUNCIÓN TRIM ( var-1 LÍDER ) END-DISPLAY 

CONTROLAR LA FUNCIÓN INVERSA ( TEST-CASE )Recuento B-CUENTAPARA LLEVAR '' .

DISPLAY B-COUNT .

CONTROLAR X SUSTITUCIÓN PRINCIPALES CEROS POR ESPACIOS .

así como el uso en el preprocesador COBOL:

COPIAR "copy.inc"REEMPLAZO DE LÍDER == TEST == POR == PRIMERA ==

LÍDER == NORMA == POR == SEGUNDO == .

4.1.272 IZQUIERDA 

SINCRONIZADA control.

4.1.273 LONGITUD 

Longitud A 'recuento celular. No es siempre el mismo que  BYTE-LONGITUD .

4.1.274 MENOS 

Una operación de comparación.

SI solicitado LESS THAN O IGUAL AL equilibrarREALIZAR transferencia

MÁSREALIZAR rechazan

END-IF 

Page 150: Open Cobol Preg

 

4.1.275 LÍMITE 

Reconocido pero no soportado cláusula Report Writer.

4.1.276 LÍMITES 

Reconocido pero no soportado cláusula Report Writer.

4.1.277 linaje 

 

Linaje es especial-usuario con el apoyo de OpenCOBOL. Un contador se mantiene

durante archivo WRITE y se puede utilizar para pageing y otro de control.

COBOL ************************************************* ***************** Ejemplo de linaje descriptor de archivo* Autor: Brian Tiffin* Fecha: 10-Julio-2008* Tectónica: $ cocb-x linage.cob* $ / linaje. <filename ["linage.cob"]>* $ cat-n 

ENVIRONMENT DIVISION.INPUT-OUTPUT SECTION.FILE-CONTROL.

select optional data-file assign to file-nameorganization is line sequentialfile status is data-file-status.

select mini-report assign to "mini-report".

DATOS DE DIVISION .ARCHIVO SECCIÓN .FD archivo de datos .01 datos de registro .

88 EndOfData valor alto-valores .02 datos-line PIC X (80) .

FD mini-informelinaje es 16 líneas

con base en 15líneas en el top 2líneas en la parte inferior 2 .

01 informe-line pic x (80) .

WORKING-STORAGE SECCIÓN .01 de comando argumentos PIC X (1024) .01 de nombre de archivo pic x (160) .01 de archivo de datos de estado de pic 99 .01 lc pic 99 .01 informe-line a quemarropa .

02 relleno pic x (18) Valor todo "*" .

Page 151: Open Cobol Preg

 

  02 relleno pic x (05) Valor espacios .02 relleno PIC X (34)

VALOR "ESTE Página en blanco" .02 relleno pic x (05) Valor espacios .02 relleno pic x ( 18) Valor todo "*" .

01 informe-data-line .02 cuerpo-tag pic 9 (6) .02 línea 3 pic x (74) .

01 informe-line-header .02 relleno pic x (6) VALOR "PAGE:" .02 páginas no pic 9999 .02 de relleno PIC X (24) .02 relleno pic x (5) VALOR "LC:" .02 header-tag pic 9 (6) .02 relleno PIC X (23) .02 relleno pic x (6) VALOR "FECHA" .02 páginas Fecha de pic x (6) .

01 página de recuento de pic 9999 .

PROCEDIMIENTO DE DIVISION .

accept command-arguments from command-line end-accept.string 

command-arguments delimited by spaceinto file-name

end-string.if file-name equal spaces

move "linage.cob" to file-nameend-if.

abiertos de entrada de archivo de datos .leer datos de archivos

a finpantalla

"Archivo:" función de ajuste ( nombre de archivo )"Error al abrir el"

extremo-displayir a temprana salida de

fin de leer .

abrir la salida mini-informe .

escribir informe-linedel informe-line a quemarropa

final de escritura .

move 1 to page-count.accept page-date from date end-accept.move page-count to page-no.write report-line

from report-line-headerafter advancing page

end-write.

Page 152: Open Cobol Preg

 

 realizar ReadWrite-loop hasta EndOfData .

mostrar"Terminación normal, nombre de archivo:"la función del ajuste ( nombre de archivo )"estado de fin:"archivo de datos de estado

de extremo pantalla .estrecha mini-informe .

* Goto considera perjudicial? Bah! :)temprana salida .cerca del archivo de datos .salida del programa .dejar de correr .

**************************************************************** readwrite-loop.move data-record to report-line-datamove linage-counter to body-tagwrite report-line from report-line-data

end-of-page add 1 to page-count end-add move page-count to page-nomove linage-counter to header-tagwrite report-line from report-line-header

after advancing pageend-write 

end-write read data-file

at end set endofdata to trueend-read .

************************************************** **************** Comentario* linaje se ha fijado en una página lógica line 20* 16 líneas de la carrocería* 2 líneas superiores* A pie de página en el 15 (dentro del número de muertos)* 2 abajo líneas* Construir con:* $ COBC-x-Wall-Wtruncate linage.cob* Evaluar con:. * $ / linage* Esta será leído en linage.cob y producir un mini-informe inútil* $ cat-n mini-informe* ************************************************** **************FIN PROGRAMA linaje-demo .

Uso

Page 153: Open Cobol Preg

 

$ except.cob. / linage

Produce un mini-informe de:

****************** ESTA PÁGINA EN BLANCO INTENCIONALMENTE ******************

PÁGINA: 0.001 LC: 000000 FECHA: 090206000001 DIVISIÓN DE IDENTIFICACIÓN.000002 PROGRAMA-ID. MiniProg.000003 DIVISIÓN MEDIO AMBIENTE.000004 sección de configuración.000005 FUENTE-COMPUTER. LINUX.000006 OBJETO DE ORDENADOR. LINUX.000007 ESPECIAL nombres.000008 SECCIÓN DE ENTRADA-SALIDA.000009 ARCHIVO-CONTROL.000010 PrintFile SELECT ASSIGN TO "XXRXWXX"000.011 archivo de estado RXWSTAT.000.012 datos de la División.000013 SECCIÓN FILE.000014 FD PrintFile.

PÁGINA: 0.002 LC: 000015 FECHA: 090206000001 01 PRINTREC PIC X (132).000002 WORKING-STORAGE SECTION.000003 01 RXWSTAT PIC XX.000004 01 str pic x (4).000005 PROCEDIMIENTO DE DIVISION.

Page 154: Open Cobol Preg

 

000006 SECCIÓN A00-MAIN.000007 001-MAIN-PROCEDIMIENTO.000008 PrintFile entrada abierta.000009 DISPLAY "Estado del archivo:" RXWSTAT.000010 DISPLAY "EXCEPCIÓN DE ARCHIVOS:" FUNCIÓN EXCEPCIÓN DE ARCHIVOS.000011 DISPLAY "Longitud de vuelta:"000012 LONGITUD FUNCIÓN (FUNCTION EXCEPCIÓN-FILE).000013 DISPLAY "EXCEPCIÓN DE ESTADO:" FUNCIÓN EXCEPCIÓN-STATUS.000014 DISPLAY "EXCEPCIÓN-EXPOSICIÓN:" FUNCIÓN DE EXCEPCION-declaración.

PÁGINA: 0.003 LC: 000015 FECHA: 090206000001 STRING "toolong" TAMAÑO DELIMITADO EN RXWSTAT.000002 DISPLAY "EXCEPCIÓN DE ESTADO:" FUNCIÓN EXCEPCIÓN-STATUS.000003 DISPLAY "EXCEPCIÓN-EXPOSICIÓN:" FUNCIÓN DE EXCEPCION-declaración.000004 DISPLAY "EXCEPCIÓN-UBICACIÓN:" FUNCIÓN EXCEPCIÓN-UBICACIÓN.000005 Parada Marcha.

Ver except.cob bajo la EXCEPCIÓN-estado de la función de entrada.

4.1.278 linaje-CONTADOR 

 

Un sustantivo OpenCOBOL interna o Registro Especial . El valor es de sólo lectura y se

mantiene durante la escritura a los archivos que tienen un  linajecláusula. Útil para

 

informes rápidos y diseños de página lógicos.

4.1.279 LÍNEA 

Toma LINE SECUENCIAL archivos. Control de la línea de sección de la pantalla.

4.1.280 LINEA SIN RECETA 

Registro especial para el soportado Report Writer.

4.1.281 LÍNEAS 

Sección de control de la línea de la pantalla, la pantalla se produce el control y

desplazamiento área.

4.1.282 VINCULACIÓN 

A SECCION del DATOS DIVISION. Se utiliza para los datos del marco de control de

llamadas cuando la unidad de ejecución actual no puede estar a cargo de la ubicación

de almacenamiento de trabajo. El valor predeterminado es referencia sin inicializar

Page 155: Open Cobol Preg

 

que se pueden ajustar con USO en una llamada o explícitamente con dirección

establecida. Referencias sin inicialización causarán una violación de segmento

direccionamiento.

4.1.283 LOCAL-STORAGE 

A SECCION del DATOS DIVISION. Los datos definidos en el almacenamiento local será

local en el módulo en ejecución y re-entrante dentro de los árboles llamada de

subprograma.

4.1.284 LOCALE 

No compatible en OpenCOBOL 1.1pre-rel. Soporte agregado en 2.0

Un especial NOMBRES entrada OpenCOBOL dar un toque internacional.

 

ENVIRONMENT DIVISION .CONFIGURACIÓN DE SECCIÓN .ESPECIALES nombres .

LOCALE español ES 'es_ES' .

4.1.285 LOCK 

Gestión de registros.

SELECT nombre-1 ASIGNAR A 'master.dat' BLOQUEO MODO ES MANUAL .

4.1.286 BAJO VALOR 

 

A figurativa ALPHABETIC constante, siendo el valor de carácter menor en el  cotejo

 

de secuencia.

MUEVA DE BAJO VALOR DE alfanumérica-1 .

SI alfabético-1 ES IGUAL DE BAJO VALORDISPLAY "Error de validación" END-DISPLAY

END-IF .

Es válido para MOVER bajo valor a un campo numérico.

4.1.287 BAJA-VALORES 

 

Una forma plural de bajo valor . Equivalente.

 

MUEVA DE BAJO VALOR DE alfanumérica-1 .

Page 156: Open Cobol Preg

 

4.1.288 LOWLIGHT 

Un atributo de pantalla para campos sección de pantalla y la pantalla.

PANTALLA DE SECCIÓN .01 ejemplo .

05 LLENADODE LÍNEA 1 COLUMNA 10VALOR ES "Ejemplo:"LOWLIGHT .

Mostrará el ejemplo: la leyenda en un video atenuado si es compatible con los ajustes

del terminal actual.

4.1.289 MANUAL 

BLOQUEO MODO ES MANUAL CON BLOQUEO DE REGISTROS

MÚLTIPLES. Ver AUTOMÁTICO y EXCLUSIVA para más opciones de BLOQUEO.

4.1.290 MEMORIA 

Una cláusula OBJETO DE ORDENADOR.

ENVIRONMENT DIVISION .CONFIGURACIÓN DE SECCIÓN .OBJETO DE ORDENADOR .MEMORIA TAMAÑO ES 8 PERSONAJES .

4.1.291 MERGE 

Combina dos o más archivos de forma idéntica en secuencia en un conjunto de claves

especificadas.

MERGE sort-fileON DESCENDING KEY key-field-1WITH DUPLICATES IN ORDERCOLLATING SEQUENCE IS user-alphabetUSING filename-1 filename-2GIVING filename-3

4.1.292 MENSAJE 

 

Compatible cláusula de la Sección de Comunicación.

4.1.293 MÉTODO 

Compatible característica COBOL objeto.

Page 157: Open Cobol Preg

 

4.1.294 MÉTODO-ID 

Compatible característica COBOL objeto.

4.1.295 MENOS 

La línea relativa sección Screen y control de columna.

05 algún campo pic x (16)línea número es más 1columna número es menos 8

4.1.296 MODO 

El modo de bloqueo. Ver MANUAL , AUTOMÁTICO , EXCLUSIVO .

4.1.297 MOVER 

Un caballo de batalla del paradigma COBOL. Move es muy flexible, inteligente, segura

y, a veces desconcertante datos verbo movimiento.

01 ALPHANUM-3 de CFP XXX .01 num2 PIC 99 .

MOVER "ABCDEFG" A xvar3DISPLAY xvar3 END-DISPLAY 

MOVER 12345 A num2DISPLAY num2 END-DISPLAY 

muestra:

ABC45

Nota del 45, se mueven utiliza una regla de derecha a izquierda cuando se mueve

numéricos.

Los grupos se pueden mover con

MOVER CORRESPONDIENTE ident-1 A -2 ident

en cuyo caso sólo los elementos del grupo del mismo nombre se transferirán del

grupo ident-1 a los campos ident-2.

Page 158: Open Cobol Preg

 

4.1.298 MULTIPLE 

BLOQUEO MODO ES MANUAL CON BLOQUEO EN MÚLTIPLES DISCOS .

4.1.299 MULTIPLICAR 

Una operación matemática.

MULTIPLICAR var-1 POR var-2 DANDO var-3EN TAMAÑO ERROR

SET inválida-resultado AL VERDADEROFIN-MULTIPLICAR 

4.1.300 NACIONAL 

Uso de carácter nacional. Todavía no ha sido admitida. OpenCOBOL soporta IMAGEN

N.

4.1.301 NACIONAL EDITADO 

Categoría.

4.1.302 NATIVO 

Alphabet.

4.1.303 NEGATIVO 

Expresión condicional.

SI un ES NEGATIVOSET in-the-red PARA CIERTO

FIN-SI 

4.1.304 anidadas 

Una cláusula llamada de programa-prototipo compatible.

4.1.305 SIGUIENTE 

Con READ , para leer el siguiente registro, posiblemente CLAVE . También un obsoleto

verbo flujo de control.

READ index-secuencial-file SIGUIENTE REGISTRO EN ident-1

IF condición 1

Page 159: Open Cobol Preg

 

SIGUIENTE FRASEMÁS

REALIZAR hacer-algo .

4.1.306 NO 

Especifique ninguna cerradura, sin compartir, sin rebobinado.

CLOSE nombre-1 CON NO REWIND

LEA archivo-1 CON NO LOCK

4.1.307 NINGUNO 

Compatible DEFECTO ES NINGUNO.

4.1.308 NORMAL 

Programa de control de retorno

PARADA RUN CON ESTADO NORMAL status-val

Ver ERROR 

4.1.309 NO 

Negación condicional. Véase Y , O . También se utiliza en declarativos operacionales

tales como NO ON ERROR TAMAÑO, en cuyo caso la operación tuvo éxito sin 

desbordar el campo de datos que recibe .

SI NO probarLLAMADA "cosa"

NO DE EXCEPCIÓNDISPLAY "Vinculación con algo, OK" END-DISPLAY

END-CALLEND-IF 

4.1.310 NULL 

Vacío. Un puntero de dirección cero. Un literal simbólico.

LLAME "cosa" DEVOLVER NULL END-CALL 

SET DIRECCIÓN DE ptr A NULL

SI ptr EQUAL NULLDISPLAY "ptr no es válida" END-DISPLAY

Page 160: Open Cobol Preg

 

END-IF 

MOVER CONCATENATE ( TRIM ( CBL-string TRAILING ) NULL ) A c-string

4.1.311 NULLS 

Plural de NULL .

MOVER TODOS NULOS DE var

4.1.312 NUMERO 

Sección Screen LÍNEA COLUMNA control.

05 algún campo pic x (16) LÍNEA NÚMERO 5 .

4.1.313 NÚMEROS 

Plural de NÚMERO .

4.1.314 NUMÉRICO 

Categoría.

4.1.315 NUMÉRICO-EDITADO 

Categoría.

4.1.316 OBJETO 

Compatible característica COBOL objeto.

4.1.317 OBJETO DE ORDENADOR 

División de Medio Ambiente, sección de configuración en tiempo de ejecución párrafo

máquina.

OpenCOBOL apoya

OCOBOL identificación división .programa-id . runtime-ordenador .

environment division.configuration section.object-computer.

memory size is 8 characters

Page 161: Open Cobol Preg

 

program collating sequence is bigiron-alphabetsegment-limit is 64character classificiation is spanish-locale.

repository.function all intrinsic.

special-names.alphabet bigiron-alphabet is ebcdicsymbolic characters BS is 9

TAB is 10LF is 11

NEWLINE is 11CMA is 45

locale spanish-locale is "es_ES".

4.1.318 OBJETO DE REFERENCIA 

Compatible característica COBOL objeto.

4.1.319 OCURRE 

Controla múltiples ocurrencias de estructuras de datos.

01 principal de la mesa .03 principal-record ocurre 366 veces en función de los días .

05 principal campo de pic x ocurre 132 veces , dependiendo de lalen .

4.1.320 DE 

Una referencia de estructura de datos y el nombre de conflicto calificador resolución.

MOVER "abc" A el campo DE the-record DE la estructura

Sinónimo de EN 

4.1.321 APAGADO 

Apague el interruptor. Ver EN .

ESPECIALES-NOMBRES .INTERRUPTOR-1 ES mainframes

EN ESTADO SE BigIronAPAGADO ESTADO ES pc

...

SET mainframes A APAGADO

Page 162: Open Cobol Preg

 

4.1.322 omitido 

Permite marcadores de posición en los marcos de llamadas y pruebas para dichos

marcadores de posición. También permite registros etiqueta omitidas y vacía

devoluciones. OMITIR sólo está permitido con POR REFERENCIA datos.

LLAME "cosa" USODE REFERENCIA string-varPOR VALOR número-varPOR REFERENCIA omitidoDAR NULL

END-CALL 

...

PROGRAMA-ID . cosa .DATOS DE DIVISION .WORKING-STORAGE SECCIÓN .77 default-float utilización de flotación larga .

VINCULACIÓN-SECCIÓN .77 cuerdas-var pic x (80) .77 número-var pic 9 (8) .77 float-var utilización de flotación larga .

PROCEDURE DIVISION USING

BY REFERENCE OPTIONAL string-varBY VALUE number-varBY REFERENCE OPTIONAL float-var

RETURNING OMITTED.

SI float-var SE OMITIRAJUSTE DIRECCIÓN DE float-var PARA default-float

END-IF 

4.1.323 EN 

Encienda el interruptor. Ver APAGADO .

ESPECIALES-NOMBRES .INTERRUPTOR-1 ES mainframes

EN ESTADO SE BigIronAPAGADO ESTADO ES pc

...

SET mainframes A EN

Inicia declarativos.

Page 163: Open Cobol Preg

 

ADD 1 A -menta finísimaEN TAMAÑO ERROR

SET para hacer una cubeta PARA CIERTOFIN-ADD 

Ver TAMAÑO , EXCEPTO .

4.1.324 SOLAMENTE 

Compartiendo control. COMPARTIENDO CON SÓLO LECTURA

4.1.325 OPEN 

Abre un selector de archivos. Los modos

incluyen ENTRADA , SALIDA , IO , EXTENDER . Puede ser OPCIONAL en el FD .

OPEN DE ENTRADA COMPARTIR CON TODA OTRA infileOPEN se extienden COMPARTIENDO CON NO OTRAS miarchivo

4.1.326 OPCIONAL 

Permite referenciar los archivos que no existen. Permite

opcionalmente OMITIDAS argumentos de llamadas.

Código muestra argumentos convocatoria abierta y opcionales de archivos opcionales.

ENVIRONMENT DIVISION.INPUT-OUTPUT SECTION.FILE-CONTROL.

SELECT OPTIONAL nofile ASSIGN TO "file.not"ORGANIZATION IS LINE SEQUENTIAL.

...

DATOS DE DIVISION .VINCULACIÓN SECCIÓN .77 arg PIC 99 .

PROCEDIMIENTO DE DIVISION USO OPCIONAL arg

OPEN DE ENTRADA nofileCLOSE nofile

SI arg SE OMITIR O NO NUMÉRICAMOVER 0 A RETURN-CODE

MÁSMOVER arg PARA DEVOLVER-CODE

END-IFGOBACK .

Page 164: Open Cobol Preg

 

4.1.327 OPCIONES 

Un párrafo Actualmente no soportada de la IDENTIFICACIÓN  división.

4.1.328 O 

Operación lógica. Véase Y , NO . OpenCOBOL soporta atajos expresión lógica de

COBOL. Orden de precedencia se puede controlar con paréntesis, y el incumplimiento

de NOT, AND, OR, de derecha a izquierda.

SI A NO IGUALES 1 O 2 O 3 O 5DISPLAY "FORE!" END-DISPLAY

END-IF 

4.1.329 ORDEN 

Ordenar cláusula de influir en cómo se gestionan los duplicados.

tipo tipo-trabajoascendente llave trabajo-rec con duplicados en ordenusando una especie endar clase de salida .

En 1.1pre-rel, con duplicados en orden es un defecto.

4.1.330 ORGANIZACIÓN 

Define la organización de almacenamiento de un archivo. Uno

de INDEXED , PARIENTE , SECUENCIAL . OpenCOBOL también soporta una SECUENCIAL

LÍNEAestructura.

4.1.331 OTRAS 

Opción de intercambio de archivos, todos los demás, no hay otro.

EVALUAR 's cláusula else.

OCOBOL * Be Dragons> Aquí 

Page 165: Open Cobol Preg

 

4.1.332 SALIDA 

Archivo OPEN modo. Procedimiento mencionado en ORDENAR 

sort sort-workon descending key work-reccollating sequence is mixedinput procedure is sort-transformoutput procedure is output-uppercase.

4.1.333 OVERFLOW 

Cláusula declarativa de STRING y unstring que activará en situaciones de

 

desbordamiento del espacio.

4.1.334 OVERLINE 

Un control de la pantalla de PANTALLA Campos de la sección.

4.1.335 ANULACIÓN 

Unsupportd objeto COBOL cláusula METHOD-ID.

4.1.336 decimal empaquetado 

 

Numeric USO cláusula, equivalente a COMPUTACIONAL-3 . Sujeta cada dígito en un

campo de 4 bits.

Desde el opencobol-2.0 tarball banco de pruebas

OCOBOLIDENTIFICACIÓN DE DIVISION .PROGRAMA-ID . prog .DATOS DE DIVISION .WORKING-STORAGE SECCIÓN .01 G-1 .

02 X-1 PIC 9 (1) VALOR 1decimal empaquetado .

02 RELLENO PIC X (18) VALOR ESPACIO .01 T -2 .

02 X-2 PIC 9 (2) VALOR 12decimal empaquetado .

02 RELLENO PIC X (18) VALOR ESPACIO .01 G-3 .

02 X-3 PIC 9 (3) VALOR 123decimal empaquetado .

02 RELLENO PIC X (18) VALOR ESPACIO .01 G-4 .

02 X-4 PIC 9 (4) VALOR 1234

Page 166: Open Cobol Preg

 

decimal empaquetado .02 RELLENO PIC X (18) VALOR ESPACIO .

01 G-5 .02 X-5 PIC 9 ( 5) VALOR 12.345

decimal empaquetado .02 RELLENO PIC X (18) VALOR ESPACIO .

01 G-6 .02 X-6 PIC 9 (6) VALOR 123.456

decimal empaquetado .02 RELLENO PIC X (18) VALOR ESPACIO .

01 T -7 .02 X 7 PIC 9 (7) VALOR 1.234.567

decimal empaquetado .02 RELLENO PIC X (18) VALOR ESPACIO .

01 G-8 .02 X-8 PIC 9 (8) VALOR 12.345.678

decimal empaquetado .02 RELLENO PIC X (18) VALOR ESPACIO .

01 G-9 .02 X-9 PIC 9 (9) VALOR 123456789

decimal empaquetado .02 RELLENO PIC X (18) VALOR ESPACIO .

01 G-10 .02 X-10 PIC 9 ( 10) VALOR 1234567890

decimal empaquetado .02 RELLENO PIC X (18) VALOR ESPACIO .

01 G-11 .02 X-11 PIC 9 (11) VALOR 12345678901

decimal empaquetado .02 RELLENO PIC X (18) VALOR ESPACIO .

01 T -12 .02 X-12 PIC 9 (12) VALOR 123456789012

decimal empaquetado .02 RELLENO PIC X (18) VALOR ESPACIO .

01 G-13 .02 X-13 PIC 9 (13) VALOR 1234567890123

decimal empaquetado .02 RELLENO PIC X (18) VALOR ESPACIO .

01 G-14 .02 X-14 PIC 9 (14) VALOR 12345678901234

decimal empaquetado .02 RELLENO PIC X (18) VALOR ESPACIO .

01 G-15 .02 X-15 PIC 9 ( 15) VALOR 123456789012345

decimal empaquetado .02 RELLENO PIC X (18) VALOR ESPACIO .

01 G-16 .02 X-16 PIC 9 (16) VALOR 1234567890123456

decimal empaquetado .02 RELLENO PIC X (18) VALOR ESPACIO .

01 T -17 .02 X-17 PIC 9 (17) VALOR 12345678901234567

decimal empaquetado .02 RELLENO PIC X (18) VALOR ESPACIO .

Page 167: Open Cobol Preg

 

  01 G-18 .02 X-18 PIC 9 (18) VALOR 123456789012345678

decimal empaquetado .02 RELLENO PIC X (18) VALOR ESPACIO .

01 G-S1 .02 X-S1 PIC S9 (1) VALOR - 1

decimal empaquetado .02 RELLENO PIC X (18) VALOR ESPACIO .

01 G-S2 .02 X-S2 PIC S9 (2) VALOR - 12

decimal empaquetado .02 RELLENO PIC X (18) VALOR ESPACIO .

01 G-S3 .02 X-S3 PIC S9 (3) VALOR - 123

decimal empaquetado .02 RELLENO PIC X (18) VALOR ESPACIO .

01 G-S4 .02 X-S4 PIC S9 (4) VALOR - 1234

decimal empaquetado .02 RELLENO PIC X (18) VALOR ESPACIO .

01 G-S5 .02 X-S5 PIC S9 (5) VALOR - 12345

ENVASADO -DECIMAL .02 RELLENO PIC X (18) VALOR ESPACIO .

01 G-S6 .02 X-S6 PIC S9 (6) VALOR - 123.456

decimal empaquetado .02 RELLENO PIC X (18) VALOR ESPACIO .

01 G-S7 .02 X-S7 PIC S9 (7) VALOR - 1234567

decimal empaquetado .02 RELLENO PIC X (18) VALOR ESPACIO .

01 G-S8 .02 X-S8 PIC S9 (8) VALOR - 12345678

decimal empaquetado .02 RELLENO PIC X (18) VALOR ESPACIO .

01 G-S9 .02 X-S9 PIC S9 (9) VALOR - 123456789

decimal empaquetado .02 RELLENO PIC X (18) VALOR ESPACIO .

01 G-S10 .02 X-S10 PIC S9 (10 ) VALOR - 1234567890

decimal empaquetado .02 RELLENO PIC X (18) VALOR ESPACIO .

01 G-S11 .02 X-S11 PIC S9 (11) VALOR - 12345678901

decimal empaquetado .02 RELLENO PIC X (18) VALOR ESPACIO .

01 G-S12 .02 X-S12 PIC S9 (12) VALOR - 123456789012

decimal empaquetado .02 RELLENO PIC X (18) VALOR ESPACIO .

01 G-S13 .02 X-S13 PIC S9 (13) VALOR - 1234567890123

Page 168: Open Cobol Preg

 

decimal empaquetado .02 RELLENO PIC X (18) VALOR ESPACIO .

01 G-S14 .02 X-S14 PIC S9 (14) VALOR - 12345678901234

decimal empaquetado .02 RELLENO PIC X (18) VALOR ESPACIO .

01 G-S15 .02 X- S15 PIC S9 (15) VALOR - 123456789012345

decimal empaquetado .02 RELLENO PIC X (18) VALOR ESPACIO .

01 G-S16 .02 X-S16 PIC S9 (16) VALOR - 1234567890123456

decimal empaquetado .02 RELLENO PIC X (18 ) VALOR ESPACIO .

01 G-S17 .02 X-S17 PIC S9 (17) VALOR - 12345678901234567

decimal empaquetado .02 RELLENO PIC X (18) VALOR ESPACIO .

01 G-S18 .02 X-S18 PIC S9 (18) VALOR - 123456789012345678

decimal empaquetado .02 RELLENO PIC X (18) VALOR ESPACIO .

PROCEDIMIENTO DE DIVISION .*> descargar todos los valores 

Con un archivo de ayuda para volcar los primeros 10 bytes de cada registro

#include <stdio.h>#ifdef __INTEL_COMPILER#pragma warning ( disable : 1419 )#endifint dump (unsigned char *data);int dump (unsigned char *data){

int i;for (i = 0; i < 10; i++)

printf ("%02x", data[i]);puts ("");return 0;

} /**/  

Que captura:

1f202020202020202020012f2020202020202020123f202020202020202001234f20202020202020

Page 169: Open Cobol Preg

 

12345f202020202020200123456f2020202020201234567f202020202020012345678f2020202020123456789f202020202001234567890f2020202012345678901f202020200123456789012f2020201234567890123f202020012345678901234f2020123456789012345f202001234567890123456f2012345678901234567f200123456789012345678f1d202020202020202020012d2020202020202020123d202020202020202001234d2020202020202012345d202020202020200123456d2020202020201234567d202020202020012345678d2020202020123456789d202020202001234567890d2020202012345678901d202020200123456789012d2020201234567890123d202020012345678901234d2020123456789012345d202001234567890123456d2012345678901234567d200123456789012345678d0f202020202020202020000f2020202020202020000f202020202020202000000f2020202020202000000f202020202020200000000f2020202020200000000f202020202020000000000f2020202020000000000f202020202000000000000f2020202000000000000f202020200000000000000f2020200000000000000f202020000000000000000f2020000000000000000f202000000000000000000f2000000000000000000f200000000000000000000f0c202020202020202020000c2020202020202020000c202020202020202000000c20202020202020

Page 170: Open Cobol Preg

 

00000c202020202020200000000c2020202020200000000c202020202020000000000c2020202020000000000c202020202000000000000c2020202000000000000c202020200000000000000c2020200000000000000c202020000000000000000c2020000000000000000c202000000000000000000c2000000000000000000c200000000000000000000c0f202020202020202020000f2020202020202020000f202020202020202000000f2020202020202000000f202020202020200000000f2020202020200000000f202020202020000000000f2020202020000000000f202020202000000000000f2020202000000000000f202020200000000000000f2020200000000000000f202020000000000000000f2020000000000000000f202000000000000000000f2000000000000000000f200000000000000000000f0c202020202020202020000c2020202020202020000c202020202020202000000c2020202020202000000c202020202020200000000c2020202020200000000c202020202020000000000c2020202020000000000c202020202000000000000c2020202000000000000c202020200000000000000c2020200000000000000c202020000000000000000c2020000000000000000c202000000000000000000c2000000000000000000c200000000000000000000c

Page 171: Open Cobol Preg

 

4.1.337 RELLENO

Define el carácter que se utilizará para el relleno de registro corto.

ORGANIZACIÓN SE LINEA SECUENCIAL RELLENO CARÁCTER ES '*' 

4.1.338 PÁGINA

Escribe and Report cláusula escritor.

ESCRIBIR theline DESPUÉS AVANZAR PÁGINA 

PAGE LIMITS ARE 66 LINES 132 COLUMNS HEADING iS 4 FIRST DETAIL IS 6 LAST CONTROL HEADING IS 58 LAST DETAIL IS 60 FOOTING IS 62 

4.1.339 PAGE-CONTADOR

Un registro especial, calificado por el nombre de informe. Report Writer es reconocida,

pero aún no es compatible.

4.1.340 PÁRRAFO

Un permitida EXIT punto.

NOMBRADO apartado .REALIZAR SIEMPRE

SI soluciónEXIT PÁRRAFO

FINAL CUANDOREALICE resolver el rompecabezas- .

FINAL DE REALIZAR .

4.1.341 PERFORM

Un procedimiento COBOL y en línea verbo flujo de control.

comenzando .Realizar SIEMPRE

REALIZAR milagrosEND-PERFORMGOBACK .

milagros .DISPLAY pregunta END-DISPLAY .

Page 172: Open Cobol Preg

 

4.1.342 PF

Informe alias escritor para PÁGINA DE PIE .

4.1.343 PH

Informe alias escritor para PÁGINA LÍNEA .

4.1.344 PIC

A Shortform de uso general de IMAGEN .

4.1.345 IMAGEN

La cláusula PICTURE es fácilmente una de las mayores fortalezas de

COBOL. Totalmente detallado definiciones de datos pictóricos. La complejidad interna

se deja a los autores del compilador, mientras que los desarrolladores y de gestión

son libres para describir los datos en un muy alto nivel conceptual.

Los dos personajes de imagen más comunes son el 9 y X, para datos numéricos y

alfanuméricos, respectivamente. Para los datos alphbetic, A puede ser utilizado.

Además de imágenes de almacenamiento de datos, una amplia gama de editar las

imágenes se permitió el control de la entrada y el formato de salida.

+, -, A, B, N, X, Z, "*", 'CR', 'DB', E, S, V, P,,.  símbolo de moneda 

OpenCOBOL ofrece soporte completo de las normas de todos los alfa, especificadores

de almacenamiento alfanuméricos y numéricos, así como soporte completo para

edición y cláusulas numérico de edición.

Un ejemplo de algunas de las opciones de IMAGEN

* >> Formato de fuente es libre*> ***************************************** ****************************> Autor: jrls (John Ellis)*> Fecha: Oct-2008Ejemplos de resultados con formato: *> Aplicaciones el uso de cadenas pic.*> ******************************************** ************************ 

Identificación de la división .programa-id . picstring .datos división .WORKING-STORAGE sección .*> <* 

01 de cabeza .05 relleno pic xxx valor "ln" .

Page 173: Open Cobol Preg

 

  05 relleno pic x (11) valor "DISP1" .05 relleno pic x (11) valor "Pant2" .05 relleno pic x (11) valor "Pant3" .05 de relleno PIC X (11) valor "disp4" .05 relleno pic x (12) valor "disp5" .05 relleno pic x (9) Valor "an1" .05 relleno pic x (14) valor "teléfono" .05 relleno pic x (10) Valor "date" .

*> <*01 headerLines pic x (90) valor de todos "-" .*> <*01 displayformats .

05 linenum pic 99 valor de 1 .05 DISP1 pic zzz, zz9.99 valor cero .05 de relleno pic x valor espacios .05 Pant2 pic $ zz, zz9.99 valor cero .05 relleno pic x valor espacios .05 Pant3 pic ---, - 9,99 valor cero .05 relleno pic x valor espacios .05 disp4 pic $ -z, zz9.99 valor cero .05 relleno pic x valor espacios .05 disp5 pic-zz, zz9.zz- blanco cero valor cero .05 relleno pic x valor espacios .

*> <* an1 es en realidad un campo de cadena debido los espacios en blancoincrustados, lo que le ponen los espacios de valor.

05 AN1 pic 99b99b99 valor espacios .05 relleno pic x valor espacios .05 teléfono pic bxxxbxxxbxxxx valor espacios .05 relleno pic x valor espacios .05 dispdate pic 99/99/9999 valor cero .

* > <* 

procedure division.0000-start.*><* 

display headerLines.display header.display headerLines.

*><**************************************************** move 220.22 to disp1,

disp2.move -220.22 to disp3,

disp4,disp5.

inspeccionar disp5 reemplazar primero "-" por "(" ,primero "-" por ")" .

mover 10122008 a dispdate .*> <****************************************** ***********> <* Por favor, tenga en cuenta los resultados del movimiento 'abcd' a an1.*> <* an1 se mostrará como 00 00 00 ya que los datos alfa fue*> <* trasladado a su lugar de datos numéricos.*> <*

Page 174: Open Cobol Preg

 

*> <* El campo teléfono mostrará "abc def ghij" porque*> <* 'b' en la foto 

mostrar displayformats .

añadir 1 al linenum .mover cero a disp4 ,

disp5 .*> <*********************************** ******************> <* Aquí después de mover los datos a an1 y el teléfono, yo uso el*> <* inspeccionar declaración para sustituir el 

inspeccionar an1 reemplazar todo "" por "-" .

inspeccionar teléfono sustituyendo primero "," por "(" ,primero "" por ")" ,primero "" por "-" .

mostrar displayformats .

inspeccionar teléfono conversión "23456789" a "adgjmptw" .pantalla del teléfono .

realizar 0010 - endProgram .*> <*0010 - endProgram .

detendrá plazo .*> <* 

Salidas:

-------------------------------------------------- ----------------------------------------En DISP1 Pant2 Pant3 disp4 disp5 an1 cita telefónica-------------------------------------------------- ----------------------------------------01 220,22 $ 220,22 -220,22 -220,22 dólares (220.22) 00 00 00 abc def ghij10/12/200802 220,22 $ 220,22 -220,22 $ 0,00 12-34-56 (555) 555-1234 10/12/2008(Jjj) jjj-1adg

4.1.346 PLUS

Sección de control de línea / columna relativa Pantalla durante la presentación.

01 form-1 AUTO .

Page 175: Open Cobol Preg

 

  05 LÍNEA 01 COLUMNAS 01 VALOR "Form" .05 LÍNEA PLUS 3 COLUMNA 01 VALOR valor 4 .

4.1.347 PUNTERO

Asigna una variable de uso restringido para la celebración de direcciones.

01 c-asa USO ES PUNTERO .

LLAME "open-lib" VOLVER c-manejarEN EXCEPCIÓN

DISPLAY "No se puede vincular abierto-lib" END-DISPLAYPARADA EJECUTAR VOLVER 1

FIN-CALLSI c-manejar EQUAL NULL

DISPLAY "No se puede abrir-lib" END-DISPLAYPARADA MARCHA DE DEVOLVER 1

END-IF 

LLAME "use-lib" USO POR VALOR mango C POR CONTENIDO "Hello" y x "00"LLAMADA "close-lib" USO POR VALOR c-manejar 

*> Interfaz con el C ABI es un poco Teenie-Weenie del vudú*> pasar la referencia o el uso Vuelta Si C establece el valor. Use*> valor cuando desee C tenga su puntero, no el*> dirección de referencia del puntero COBOL. Así que la mayoría son ensu*> por referencia (o regresar) y más uso, incluyendo*> resumen de C ABI herramientas, está utilizando por valor.*> <* 

4.1.348 POSICIÓN

Alias de Columna en los diseños de la sección de pantalla. También una obsoleta,

reconoció, pero no se admite:

CINTA DE ARCHIVO múltiple incluya archivos 1 POSICIÓN 1 archivo-2 POSICION 80

4.1.349 POSITIVO

Condiciones de clase.

SI cantidad ES POSITIVODISPLAY "Aún no se rompió" END-DISPLAY

END-IF 

4.1.350 PRESENTE

Informe cláusula escritor utilizado para el campo opcional y salida de grupo.

Page 176: Open Cobol Preg

 

05 field PIC X(16) PRESENT WHEN sum > 0.

4.1.351 ANTERIOR

Tecla Anterior LEA control para REAJUSTABLES archivos.

LEA archivos 1 ANTERIOR REGISTRO 

4.1.352 IMPRESORA

Nombre especial.

ESPECIALES-NOMBRES .IMPRESORA ES myprint 

DISPLAY "test" EN LA IMPRESORA END-DISPLAY 

4.1.353 IMPRESIÓN

Report Writer declarativa para REPRIMIR impresión de informes.

4.1.354 PROCEDIMIENTO

La DIVISION COBOL que contiene las instrucciones ejecutables. También se utiliza

con ENTRADA y SALIDA procedimientos de ordenación.

4.1.355 PROCEDIMIENTO triple

 

Alias para PROGRAMA-PUNTERO , capaces de mantener una dirección exigible.

4.1.356 PROCEDIMIENTOS

Depurar módulo cláusula declarativa.

USO DE DEPURACIÓN EN TODOS LOS PROCEDIMIENTOS 

4.1.357 PROCEDER

Se utiliza en ALTER .

ALTER párrafos 1 PARA PROCEDER A punto-x 

Page 177: Open Cobol Preg

 

4.1.358 PROGRAMA

Un EXIT punto.

SALIR DEL PROGRAMA .

4.1.359 PROGRAMA-ID

El identificador de programa. Sensibles caso, a diferencia de todos los demás

identificadores OpenCOBOL. OpenCOBOL produce Application Binary Interface

entidades vinculables C y este identificador debe ser conforme a las normas. Los

guiones en nombres se sustituyen por una cadena hexadecimal equivalente.

4.1.360 PROGRAMA-PUNTERO

Un dato USO cláusula que define un campo que puede contener la dirección de un

ejecutable LLAMADA rutina.

77 callback USO PROGRAMA-PUNTERO ....SET callback DE ENTRADA a-programa-idLLAMADA callback 

4.1.361 PROMPT

Control de entrada de la sección de la pantalla.

PROMPT ES ':'

4.1.362 PROPIEDAD

Objeto no compatible frase COBOL.

4.1.363 PROTOTYPE

Objeto no compatible frase COBOL.

4.1.364 PURGA

Compatible cláusula de la Sección de Comunicación.

4.1.365 COLA

Compatible cláusula de la Sección de Comunicación.

Page 178: Open Cobol Preg

 

4.1.366 CITA

Una constante figurativa que representa '"'.

DISPLAY CITA 123 CITA FIN-DISPLAY 

Salidas:

"123" 

4.1.367 Cotizaciones

Una constante figurativa que representa '"'.

01 var IMAGEN X (4) .

MOVER TODO FRASES PARA varDISPLAY var END-DISPLAY 

Salidas:

"" ""

4.1.368 RAISE

El manejo de excepciones. Hay soporte para excepciones en OpenCOBOL pero está

bastante limitado. Ver FUNCIÓN EXCEPCIÓN-UBICACIÓN una muestra.LEVANTAR aún

no se reconoce.

4.1.369 FONDOS

El manejo de excepciones. Hay soporte para excepciones en OpenCOBOL pero

actualmente es limitada. AUMENTO aún no se reconoce.

4.1.370 RANDOM

A modo de acceso a archivos. Acceso aleatorio permite que busca a cualquier punto

en un archivo, por lo general CLAVE .

4.1.371 RD

Informe escritor DATOS división INFORME descriptor sección. Actualmente no

admitida.

DATOS DE DIVISION .

Page 179: Open Cobol Preg

 

INFORME SECCIÓN .RD informe-1

PAGINA LIMITE ES 66 LINEAS .

4.1.372 LEA

Un elemento básico de COBOL. Leer un registro.

LEA infile ANTERIOR REGISTRO EN volver a grabarAT END

SET ATTOP DE VERDADNO EN FIN

REALIZAR cursor calculadoraEND-READ 

4.1.373 RECIBIR

Una cláusula de la sección Comunicación compatible.

4.1.374 REGISTRO

Frase uso múltiple.

FD archivoREGISTRO SE VARYING EN TAMAÑO DE 1 A 80 PERSONAJES

EN FUNCIÓN DE tamaño de campo 

SELECT archivoASSIGN A filenameACCESO MODO ES AZARREGISTRO CLAVE ES llave campoALTERNATIVA CLAVE ES -tecla alt CON DUPLICADOS .

LEA infile SIGUIENTE REGISTRO EN display-rec END-READ 

4.1.375 GRABACIÓN

Una obsoletos, reconocido, pero ignorado cláusula descriptor de fichero.

FD archivoREGISTRO SE VARYING EN TAMAÑO DE 1 A 80 PERSONAJES

EN FUNCIÓN DE tamaño de campoGRABACIÓN MODO ES F .

4.1.376 REGISTROS

Frase uso múltiple.

Page 180: Open Cobol Preg

 

DESBLOQUEAR archivo-1s REGISTROS 

4.1.377 RECURSIVO

Especifica un programa de identificación que tiene el atributo

recursiva. Subprogramas recursivos pueden llamarse a sí mismos.

Esta clasificación tiene implicaciones sobre cómo OpenCOBOL asigna

almacenamiento. Normalmente almacenamiento se apila, la recursividad puede

masticar a través de espacio de pila muy rápidamente. Programas Sub marcados

RECURSIVO suelen asignarse utilizando el montón de memoria.

PROGRAMA-ID nextbigthing ES RECURSIVO .

4.1.378 REDEFINES

Un muy potente DATOS control de la división alllowing de redefinición de memoria de

almacenamiento, incluyendo datos incompatibles por tipo.

IDENTIFICACIÓN DE DIVISION .PROGRAMA-ID . prog .DATOS DE DIVISION .WORKING-STORAGE SECCIÓN .01 X X PIC .01 T REDEFINES X .

02 A PIC X .02 B REDEFINE A PIC 9 .

PROCEDIMIENTO DE DIVISION .PARADA RUN .

4.1.379 REEL

Un dispositivo calificador cinta

CIERRE archivo REEL DE EXTRACCIÓN 

4.1.380 REFERENCIA

El COBOL default LLAMADA manejador argumento. Argumentos de llamada se puede

POR REFERENCIAPOR CONTENIDOPOR VALOR

Page 181: Open Cobol Preg

 

donde por referencia pasa un puntero de referencia, lo que permite la modificación de

datos en el interior de subprogramas.

4.1.381 RELACIÓN

No compatible.

4.1.382 RELATIVA

Organización en la que la posición de un registro lógico está determinado por el

número relativo de registro de archivos.

OCOBOL >> FUENTE FORMATO SE FIJA*> ***************************************** ***********************> Autor: Brian Tiffin*> Fecha: 20110806*> Finalidad: organización de archivos RELATIVA*> Tectónica: COBC-g-debug - W-x relatives.cob*> 

entorno de la división .configuración sección .guardamuebles .

funcionan todas intrínseca .

input-output section.file-control.

select optional relatives assign to "relatives.dat" file status is filestatus organization is relative access mode is dynamic relative key is nicknum.

datos de la división .file sección .fd familiares .

01 personas .05 Nombre PIC X (48) .05 apellidos pic x (64) .05 relación pic x (32) .

trabajo-storage sección .77 filestatus pic 9 (2) .

88 ineof valor 1 cuando establece que falsa es 0 .

77 Satisfacción pic 9 .88 satisfechos valor 1 cuando se establece a falso es 0 .

77 nicknum PIC 9 (2) .

Page 182: Open Cobol Preg

 

 77 del título-line pic x (34) .

88 escrito los nombres valoran "Adición, sobrescribir. 00 a fin" .88 de lectura-names valor "¿Qué disco? 00 para dejar de fumar" .

77 problema PIC X (80) .

pantalla de la sección .01 -pantalla de detalle .

05 línea 1 columna 1 del título-line erase eos .05 línea 2 columna 1 valor "Record:" .05 pic 9 (2) línea 2 columna 16 mediante nicknum .05 línea 3 columna 1 valor "Nombre:" .05 PIC X (48) línea 3 la columna 16 con primer nombre .05 línea 4 columna 1 el valor "Nombre:" .05 PIC X (64) línea de 4 columnas 16 con apellido .05 de la línea 5 la columna 1 valor "las

relaciones:" .05 x pic (32) línea 5 la columna 16 con la relación .05 PIC X (80) línea 6 la columna 1 del problema .

01 de pantalla muestran .05 línea 1 columna 1 del título-line erase eos .05 línea 2 columna 1 valor "Record:" .05 pic 9 (2) línea 2 columna 16 mediante nicknum .05 de la línea 3 la columna 1 el valor "Nombre : " .05 x pic (48) línea 3 la columna 16 del primer nombre .05 línea 4 columna 1 valor Last name ":" .05 PIC X (64) línea 4 la columna 16 del apellido .05 de la línea 5 la columna 1 valor de Relación ": "

.05 x pic (32) línea 5 la columna 16 de la relación .05 pic x (80) línea 6 la columna 1 del problema .

*> - ********* - ********* - ********* - ********* - ******* ** -********* - **

procedimiento de división .comienzo .

*> Abra el archivo y encontrar el número de registro más alto*> que es una operación de lectura secuencial después de la puesta

abiertas entrada parientes 

mover 99 a nicknuminicio parientes clave es menor que o igual a nicknum

inválida llavemovimiento concatenar ( 'NO START' espacio filestatus )

al problema demovimiento 00 de nicknum

no válidos clavesde lectura parientes próximo fin de leer

extremo de inicio 

*> Cierre y abra de iocercanos parientes

Page 183: Open Cobol Preg

 

  abiertas io familiares 

*> Solicitar números y nombres para añadir hasta 00set de escritura-en nombres a ciertoconjunto satisfecho con falsarealizar relleno archivo a través de relleno-file-end

hasta satisfechos 

cercanos parientes 

*> Solicitar los números para ver los nombres de hasta 00abiertos de entrada parientes 

set reading-names to true set satisfied to false perform record-request through record-request-end 

until satisfied 

realizar cerca-shop.terminando .

GoBack .

*> Obtener algunos datos de los usuarios a 

.fill-file-end ..

*> Obtener claves 

Page 184: Open Cobol Preg

 

 

*> La magia del número relativo de registro 

record-request-end ..

*> <* Salirdel primer taller .

cercanos parientes .GoBack .

.gama de programas familiares .

con pantallas de muestra:

Añadir, sobrescribir. 00 para terminarRegistro: 04Nombre: Brad____________________________________________Apellido: Tiffin__________________________________________________________Relación: brother_________________________

teniendo en cuenta las nuevas incorporaciones de registro o sobrescribe los números

claves existentes, y:

¿Qué disco? 00 para dejar de fumarRegistro: 03Nombre: BrianApellido: TiffinRelación:

donde escribiendo un nicknum número récord recupera el registro relativo.

Page 185: Open Cobol Preg

 

4.1.383 RELEASE

Suelte un registro a una ORDENAR . Utilizado con INPUT PROCEDIMIENTO de verbo

SORT.

LIBERAR registros 1 DE identificador-1 

Que captura:

1f202020202020202020012f2020202020202020123f202020202020202001234f2020202020202012345f202020202020200123456f2020202020201234567f202020202020012345678f2020202020123456789f202020202001234567890f2020202012345678901f202020200123456789012f2020201234567890123f202020012345678901234f2020123456789012345f202001234567890123456f2012345678901234567f200123456789012345678f1d202020202020202020012d2020202020202020123d202020202020202001234d2020202020202012345d202020202020200123456d2020202020201234567d202020202020012345678d2020202020123456789d202020202001234567890d2020202012345678901d202020200123456789012d2020201234567890123d202020012345678901234d2020123456789012345d202001234567890123456d2012345678901234567d200123456789012345678d0f202020202020202020000f2020202020202020000f202020202020202000000f2020202020202000000f202020202020200000000f2020202020200000000f202020202020000000000f2020202020

Page 186: Open Cobol Preg

 

000000000f202020202000000000000f2020202000000000000f202020200000000000000f2020200000000000000f202020000000000000000f2020000000000000000f202000000000000000000f2000000000000000000f200000000000000000000f0c202020202020202020000c2020202020202020000c202020202020202000000c2020202020202000000c202020202020200000000c2020202020200000000c202020202020000000000c2020202020000000000c202020202000000000000c2020202000000000000c202020200000000000000c2020200000000000000c202020000000000000000c2020000000000000000c202000000000000000000c2000000000000000000c200000000000000000000c0f202020202020202020000f2020202020202020000f202020202020202000000f2020202020202000000f202020202020200000000f2020202020200000000f202020202020000000000f2020202020000000000f202020202000000000000f2020202000000000000f202020200000000000000f2020200000000000000f202020000000000000000f2020000000000000000f202000000000000000000f2000000000000000000f200000000000000000000f0c202020202020202020000c2020202020202020000c202020202020202000000c2020202020202000000c202020202020200000000c2020202020200000000c202020202020000000000c2020202020

Page 187: Open Cobol Preg

 

000000000c202020202000000000000c2020202000000000000c202020200000000000000c2020200000000000000c202020000000000000000c2020000000000000000c202000000000000000000c2000000000000000000c200000000000000000000c

4.1.337 RELLENO

Define el carácter que se utilizará para el relleno de registro corto.

ORGANIZACIÓN SE LINEA SECUENCIAL RELLENO CARÁCTER ES '*'

4.1.338 PÁGINA

Escribe and Report cláusula escritor.

ESCRIBIR theline DESPUÉS AVANZAR PÁGINA

PAGE LIMITS ARE 66 LINES 132 COLUMNSHEADING iS 4 FIRST DETAIL IS 6LAST CONTROL HEADING IS 58LAST DETAIL IS 60FOOTING IS 62

4.1.339 PAGE-CONTADOR

Un registro especial, calificado por el nombre de informe. Report Writer es reconocida,

pero aún no es compatible.

4.1.340 PÁRRAFO

Un permitida EXIT punto.

NOMBRADO apartado .REALIZAR SIEMPRE

SI soluciónEXIT PÁRRAFO

FINAL CUANDOREALICE resolver el rompecabezas- .

FINAL DE REALIZAR .

Page 188: Open Cobol Preg

 

4.1.341 PERFORM

Un procedimiento COBOL y en línea verbo flujo de control.

comenzando .Realizar SIEMPRE

REALIZAR milagrosEND-PERFORMGOBACK .

milagros .DISPLAY pregunta END-DISPLAY .

4.1.342 PF

Informe alias escritor para PÁGINA DE PIE .

4.1.343 PH

Informe alias escritor para PÁGINA LÍNEA .

4.1.344 PIC

A Shortform de uso general de IMAGEN .

4.1.345 IMAGEN

La cláusula PICTURE es fácilmente una de las mayores fortalezas de

COBOL. Totalmente detallado definiciones de datos pictóricos. La complejidad interna

se deja a los autores del compilador, mientras que los desarrolladores y de gestión

son libres para describir los datos en un muy alto nivel conceptual.

Los dos personajes de imagen más comunes son el 9 y X, para datos numéricos y

alfanuméricos, respectivamente. Para los datos alphbetic, A puede ser utilizado.

Además de imágenes de almacenamiento de datos, una amplia gama de editar las

imágenes se permitió el control de la entrada y el formato de salida.

+, -, A, B, N, X, Z, "*", 'CR', 'DB', E, S, V, P,,.  símbolo de moneda 

OpenCOBOL ofrece soporte completo de las normas de todos los alfa, especificadores

de almacenamiento alfanuméricos y numéricos, así como soporte completo para

edición y cláusulas numérico de edición.

Un ejemplo de algunas de las opciones de IMAGEN

Page 189: Open Cobol Preg

 

* >> Formato de fuente es libre*> ***************************************** ****************************> Autor: jrls (John Ellis)*> Fecha: Oct-2008Ejemplos de resultados con formato: *> Aplicaciones el uso de cadenas pic.*> ******************************************** ************************ 

Identificación de la división .programa-id . picstring .datos división .WORKING-STORAGE sección .*> <* 

01 de cabeza .05 relleno pic xxx valor "ln" .05 relleno pic x (11) valor "DISP1" .05 relleno pic x (11) valor "Pant2" .05 relleno pic x (11) valor "Pant3" .05 de relleno PIC X (11) valor "disp4" .05 relleno pic x (12) valor "disp5" .05 relleno pic x (9) Valor "an1" .05 relleno pic x (14) valor "teléfono" .05 relleno pic x (10) Valor "date" .

*> <*01 headerLines pic x (90) valor de todos "-" .*> <*01 displayformats .

05 linenum pic 99 valor de 1 .05 DISP1 pic zzz, zz9.99 valor cero .05 de relleno pic x valor espacios .05 Pant2 pic $ zz, zz9.99 valor cero .05 relleno pic x valor espacios .05 Pant3 pic ---, - 9,99 valor cero .05 relleno pic x valor espacios .05 disp4 pic $ -z, zz9.99 valor cero .05 relleno pic x valor espacios .05 disp5 pic-zz, zz9.zz- blanco cero valor cero .05 relleno pic x valor espacios .

*> <* an1 es en realidad un campo de cadena debido los espacios en blancoincrustados, lo que le ponen los espacios de valor.

05 AN1 pic 99b99b99 valor espacios .05 relleno pic x valor espacios .05 teléfono pic bxxxbxxxbxxxx valor espacios .05 relleno pic x valor espacios .05 dispdate pic 99/99/9999 valor cero .

* > <* 

procedure division.0000-start.*><* 

display headerLines.display header.display headerLines.

*><**************************************************** 

Page 190: Open Cobol Preg

 

  move 220.22 to disp1,disp2.

move -220.22 to disp3,disp4,disp5.

inspeccionar disp5 reemplazar primero "-" por "(" ,primero "-" por ")" .

mover 10122008 a dispdate .*> <****************************************** ***********> <* Por favor, tenga en cuenta los resultados del movimiento 'abcd' a an1.*> <* an1 se mostrará como 00 00 00 ya que los datos alfa fue*> <* trasladado a su lugar de datos numéricos.*> <**> <* El campo teléfono mostrará "abc def ghij" porque*> <* 'b' en la foto 

mostrar displayformats .

añadir 1 al linenum .mover cero a disp4 ,

disp5 .*> <*********************************** ******************> <* Aquí después de mover los datos a an1 y el teléfono, yo uso el*> <* inspeccionar declaración para sustituir el 

inspeccionar an1 reemplazar todo "" por "-" .

inspeccionar teléfono sustituyendo primero "," por "(" ,primero "" por ")" ,primero "" por "-" .

mostrar displayformats .

inspeccionar teléfono conversión "23456789" a "adgjmptw" .pantalla del teléfono .

realizar 0010 - endProgram .*> <*0010 - endProgram .

detendrá plazo .*> <* 

Salidas:

-------------------------------------------------- ----------------------------------------

Page 191: Open Cobol Preg

 

En DISP1 Pant2 Pant3 disp4 disp5 an1 cita telefónica-------------------------------------------------- ----------------------------------------01 220,22 $ 220,22 -220,22 -220,22 dólares (220.22) 00 00 00 abc def ghij10/12/200802 220,22 $ 220,22 -220,22 $ 0,00 12-34-56 (555) 555-1234 10/12/2008(Jjj) jjj-1adg

4.1.346 PLUS

Sección de control de línea / columna relativa Pantalla durante la presentación.

01 form-1 AUTO .05 LÍNEA 01 COLUMNAS 01 VALOR "Form" .05 LÍNEA PLUS 3 COLUMNA 01 VALOR valor 4 .

4.1.347 PUNTERO

Asigna una variable de uso restringido para la celebración de direcciones.

01 c-asa USO ES PUNTERO .

LLAME "open-lib" VOLVER c-manejarEN EXCEPCIÓN

DISPLAY "No se puede vincular abierto-lib" END-DISPLAYPARADA EJECUTAR VOLVER 1

FIN-CALLSI c-manejar EQUAL NULL

DISPLAY "No se puede abrir-lib" END-DISPLAYPARADA MARCHA DE DEVOLVER 1

END-IF 

LLAME "use-lib" USO POR VALOR mango C POR CONTENIDO "Hello" y x "00"LLAMADA "close-lib" USO POR VALOR c-manejar

*> Interfaz con el C ABI es un poco Teenie-Weenie del vudú*> pasar la referencia o el uso Vuelta Si C establece el valor. Use*> valor cuando desee C tenga su puntero, no el*> dirección de referencia del puntero COBOL. Así que la mayoría son ensu*> por referencia (o regresar) y más uso, incluyendo*> resumen de C ABI herramientas, está utilizando por valor.*> <* 

4.1.348 POSICIÓN

Alias de Columna en los diseños de la sección de pantalla. También una obsoleta,

reconoció, pero no se admite:

CINTA DE ARCHIVO múltiple incluya archivos 1 POSICIÓN 1 archivo-2 POSICION 80

Page 192: Open Cobol Preg

 

4.1.349 POSITIVO

Condiciones de clase.

SI cantidad ES POSITIVODISPLAY "Aún no se rompió" END-DISPLAY

END-IF 

4.1.350 PRESENTE

Informe cláusula escritor utilizado para el campo opcional y salida de grupo.

05 field PIC X(16) PRESENT WHEN sum > 0.

4.1.351 ANTERIOR

Tecla Anterior LEA control para REAJUSTABLES archivos.

LEA archivos 1 ANTERIOR REGISTRO

4.1.352 IMPRESORA

Nombre especial.

ESPECIALES-NOMBRES .IMPRESORA ES myprint

DISPLAY "test" EN LA IMPRESORA END-DISPLAY 

4.1.353 IMPRESIÓN

Report Writer declarativa para REPRIMIR impresión de informes.

4.1.354 PROCEDIMIENTO

La DIVISION COBOL que contiene las instrucciones ejecutables. También se utiliza

con ENTRADA y SALIDA procedimientos de ordenación.

4.1.355 PROCEDIMIENTO triple

 

Alias para PROGRAMA-PUNTERO , capaces de mantener una dirección exigible.

4.1.356 PROCEDIMIENTOS

Depurar módulo cláusula declarativa.

Page 193: Open Cobol Preg

 

USO DE DEPURACIÓN EN TODOS LOS PROCEDIMIENTOS

4.1.357 PROCEDER

Se utiliza en ALTER .

ALTER párrafos 1 PARA PROCEDER A punto-x

4.1.358 PROGRAMA

Un EXIT punto.

SALIR DEL PROGRAMA .

4.1.359 PROGRAMA-ID

El identificador de programa. Sensibles caso, a diferencia de todos los demás

identificadores OpenCOBOL. OpenCOBOL produce Application Binary Interface

entidades vinculables C y este identificador debe ser conforme a las normas. Los

guiones en nombres se sustituyen por una cadena hexadecimal equivalente.

4.1.360 PROGRAMA-PUNTERO

Un dato USO cláusula que define un campo que puede contener la dirección de un

ejecutable LLAMADA rutina.

77 callback USO PROGRAMA-PUNTERO ....SET callback DE ENTRADA a-programa-idLLAMADA callback

4.1.361 PROMPT

Control de entrada de la sección de la pantalla.

PROMPT ES ':'

4.1.362 PROPIEDAD

Objeto no compatible frase COBOL.

4.1.363 PROTOTYPE

Objeto no compatible frase COBOL.

Page 194: Open Cobol Preg

 

4.1.364 PURGA

Compatible cláusula de la Sección de Comunicación.

4.1.365 COLA

Compatible cláusula de la Sección de Comunicación.

4.1.366 CITA

Una constante figurativa que representa '"'.

DISPLAY CITA 123 CITA FIN-DISPLAY 

Salidas:

"123" 

4.1.367 Cotizaciones

Una constante figurativa que representa '"'.

01 var IMAGEN X (4) .

MOVER TODO FRASES PARA varDISPLAY var END-DISPLAY 

Salidas:

"" ""

4.1.368 RAISE

El manejo de excepciones. Hay soporte para excepciones en OpenCOBOL pero está

bastante limitado. Ver FUNCIÓN EXCEPCIÓN-UBICACIÓN una muestra.LEVANTAR aún

no se reconoce.

4.1.369 FONDOS

El manejo de excepciones. Hay soporte para excepciones en OpenCOBOL pero

actualmente es limitada. AUMENTO aún no se reconoce.

Page 195: Open Cobol Preg

 

4.1.370 RANDOM

A modo de acceso a archivos. Acceso aleatorio permite que busca a cualquier punto

en un archivo, por lo general CLAVE .

4.1.371 RD

Informe escritor DATOS división INFORME descriptor sección. Actualmente no

admitida.

DATOS DE DIVISION .INFORME SECCIÓN .RD informe-1

PAGINA LIMITE ES 66 LINEAS .

4.1.372 LEA

Un elemento básico de COBOL. Leer un registro.

LEA infile ANTERIOR REGISTRO EN volver a grabarAT END

SET ATTOP DE VERDADNO EN FIN

REALIZAR cursor calculadoraEND-READ 

4.1.373 RECIBIR

Una cláusula de la sección Comunicación compatible.

4.1.374 REGISTRO

Frase uso múltiple.

FD archivoREGISTRO SE VARYING EN TAMAÑO DE 1 A 80 PERSONAJES

EN FUNCIÓN DE tamaño de campo

SELECT archivoASSIGN A filenameACCESO MODO ES AZARREGISTRO CLAVE ES llave campoALTERNATIVA CLAVE ES -tecla alt CON DUPLICADOS .

Page 196: Open Cobol Preg

 

LEA infile SIGUIENTE REGISTRO EN display-rec END-READ 

4.1.375 GRABACIÓN

Una obsoletos, reconocido, pero ignorado cláusula descriptor de fichero.

FD archivoREGISTRO SE VARYING EN TAMAÑO DE 1 A 80 PERSONAJES

EN FUNCIÓN DE tamaño de campoGRABACIÓN MODO ES F .

4.1.376 REGISTROS

Frase uso múltiple.

DESBLOQUEAR archivo-1s REGISTROS

4.1.377 RECURSIVO

Especifica un programa de identificación que tiene el atributo

recursiva. Subprogramas recursivos pueden llamarse a sí mismos.

Esta clasificación tiene implicaciones sobre cómo OpenCOBOL asigna

almacenamiento. Normalmente almacenamiento se apila, la recursividad puede

masticar a través de espacio de pila muy rápidamente. Programas Sub marcados

RECURSIVO suelen asignarse utilizando el montón de memoria.

PROGRAMA-ID nextbigthing ES RECURSIVO .

4.1.378 REDEFINES

Un muy potente DATOS control de la división alllowing de redefinición de memoria de

almacenamiento, incluyendo datos incompatibles por tipo.

IDENTIFICACIÓN DE DIVISION .PROGRAMA-ID . prog .DATOS DE DIVISION .WORKING-STORAGE SECCIÓN .01 X X PIC .01 T REDEFINES X .

02 A PIC X .02 B REDEFINE A PIC 9 .

PROCEDIMIENTO DE DIVISION .PARADA RUN .

Page 197: Open Cobol Preg

 

4.1.379 REEL

Un dispositivo calificador cinta

CIERRE archivo REEL DE EXTRACCIÓN

4.1.380 REFERENCIA

El COBOL default LLAMADA manejador argumento. Argumentos de llamada se puede

POR REFERENCIAPOR CONTENIDOPOR VALOR

donde por referencia pasa un puntero de referencia, lo que permite la modificación de

datos en el interior de subprogramas.

4.1.381 RELACIÓN

No compatible.

4.1.382 RELATIVA

Organización en la que la posición de un registro lógico está determinado por el

número relativo de registro de archivos.

OCOBOL >> FUENTE FORMATO SE FIJA*> ***************************************** ***********************> Autor: Brian Tiffin*> Fecha: 20110806*> Finalidad: organización de archivos RELATIVA*> Tectónica: COBC-g-debug - W-x relatives.cob*> 

entorno de la división .configuración sección .guardamuebles .

funcionan todas intrínseca .

input-output section.file-control.

select optional relativesassign to "relatives.dat"file status is filestatusorganization is relativeaccess mode is dynamicrelative key is nicknum.

Page 198: Open Cobol Preg

 

 datos de la división .file sección .fd familiares .

01 personas .05 Nombre PIC X (48) .05 apellidos pic x (64) .05 relación pic x (32) .

trabajo-storage sección .77 filestatus pic 9 (2) .

88 ineof valor 1 cuando establece que falsa es 0 .

77 Satisfacción pic 9 .88 satisfechos valor 1 cuando se establece a falso es 0 .

77 nicknum PIC 9 (2) .

77 del título-line pic x (34) .88 escrito los nombres valoran "Adición, sobrescribir. 00 a fin" .88 de lectura-names valor "¿Qué disco? 00 para dejar de fumar" .

77 problema PIC X (80) .

pantalla de la sección .01 -pantalla de detalle .

05 línea 1 columna 1 del título-line erase eos .05 línea 2 columna 1 valor "Record:" .05 pic 9 (2) línea 2 columna 16 mediante nicknum .05 línea 3 columna 1 valor "Nombre:" .05 PIC X (48) línea 3 la columna 16 con primer nombre .05 línea 4 columna 1 el valor "Nombre:" .05 PIC X (64) línea de 4 columnas 16 con apellido .05 de la línea 5 la columna 1 valor "las

relaciones:" .05 x pic (32) línea 5 la columna 16 con la relación .05 PIC X (80) línea 6 la columna 1 del problema .

01 de pantalla muestran .05 línea 1 columna 1 del título-line erase eos .05 línea 2 columna 1 valor "Record:" .05 pic 9 (2) línea 2 columna 16 mediante nicknum .05 de la línea 3 la columna 1 el valor "Nombre : " .05 x pic (48) línea 3 la columna 16 del primer nombre .05 línea 4 columna 1 valor Last name ":" .05 PIC X (64) línea 4 la columna 16 del apellido .05 de la línea 5 la columna 1 valor de Relación ": "

.05 x pic (32) línea 5 la columna 16 de la relación .05 pic x (80) línea 6 la columna 1 del problema .

*> - ********* - ********* - ********* - ********* - ******* ** -********* - **

procedimiento de división .comienzo .

Page 199: Open Cobol Preg

 

 *> Abra el archivo y encontrar el número de registro más alto*> que es una operación de lectura secuencial después de la puesta

abiertas entrada parientes

mover 99 a nicknuminicio parientes clave es menor que o igual a nicknum

inválida llavemovimiento concatenar ( 'NO START' espacio filestatus )

al problema demovimiento 00 de nicknum

no válidos clavesde lectura parientes próximo fin de leer

extremo de inicio 

*> Cierre y abra de iocercanos parientesabiertas io familiares

*> Solicitar números y nombres para añadir hasta 00set de escritura-en nombres a ciertoconjunto satisfecho con falsarealizar relleno archivo a través de relleno-file-end

hasta satisfechos

cercanos parientes

*> Solicitar los números para ver los nombres de hasta 00abiertos de entrada parientes

set reading-names to trueset satisfied to falseperform record-request through record-request-end

until satisfied

realizar cerca-shop.terminando .

GoBack .

*> Obtener algunos datos de los usuarios a 

Page 200: Open Cobol Preg

 

 

.fill-file-end ..

*> Obtener claves 

*> La magia del número relativo de registro 

record-request-end ..

*> <* Salirdel primer taller .

cercanos parientes .GoBack .

.gama de programas familiares .

con pantallas de muestra:

Añadir, sobrescribir. 00 para terminarRegistro: 04Nombre: Brad____________________________________________Apellido: Tiffin__________________________________________________________Relación: brother_________________________

Page 201: Open Cobol Preg

 

teniendo en cuenta las nuevas incorporaciones de registro o sobrescribe los números

claves existentes, y:

¿Qué disco? 00 para dejar de fumarRegistro: 03Nombre: BrianApellido: TiffinRelación:

donde escribiendo un nicknum número récord recupera el registro relativo.

4.1.383 RELEASE 

Suelte un registro a una ORDENAR . Utilizado con INPUT PROCEDIMIENTO de verbo

SORT.

LIBERAR registros 1 DE identificador-1

4.1.384 RESTO 

El acceso a restos enteros durante la división.

DIVIDIRhex-val POR 16 DANDO izquierda nibble RESTO derecha nibble

END-DIVIDE 

4.1.385 EXTRACCIÓN 

Una cláusula de cierre.

CLOSE nombre-1 REEL DE EXTRACCIÓN

Especifica que el archivo se almacenó en varias cintas / discos extraíbles. No todos

los sistemas son compatibles con dichos dispositivos.

4.1.386 renombra 

OpenCOBOL apoya reagrupación de nivel 02 a 49 elementos de datos con nivel 66 y

cambia el nombre.

OCOBOL >> FUENTE FORMATO SE FIJA*> ***************************************** ***********************> Autor: Brian Tiffin*> Fecha: 20110606*> Objetivo: Demostración de datanames 66 de nivel*> Tectónica: COBC *> 

Page 202: Open Cobol Preg

 

 

datos de división .de trabajo de almacenamiento de la sección .01 maestro .

05 campo-1 PIC S9 (9) .05 campo-2 PIC X (16) .05 campo-3 PIC X (4) .05 campo-4 PIC S9 (9) .

66 Sixtysix cambia el nombre de campo 2 .66 grupo 66 cambia el nombre de campo-2 a través de campo 4 .

*>

: " master final displaydisplay "campo-1:" campo-1 final-displaydisplay "Sixtysix:" Sixtysix final displaydisplay "grupo-66:" grupo 66 final-display 

GoBack .finales programa Sixtysix .

dar:

$. / Sixtysixmaster: 00000006vsixtysix ABCD000000066campo-1: -000 000 066Sixtysix: Sixtysixgrupo 66: Sixtysix ABCD000000066

4.1.387 REPLACE

Un texto del operador preprocesamiento COBOL.

SUSTITUIR == == MARCADOR POR == DISPLAY "CAMBIO EJEMPLO" END-DISPLAY. ==identificación división.programa-id. prog.

división procedimiento.MARCADORGoBack.terminar prog programa.

Page 203: Open Cobol Preg

 

Y luego a ver cómo REPLACE trabaja, utilice COBC con el argumento-E

# 1 "replacing.cob"

identificación división.programa-id. prog.

división procedimiento.DISPLAY "CAMBIO DE EJEMPLO" END-DISPLAYGoBack.terminar prog programa.

4.1.388 SUSTITUCIÓN 

Un CONTROLAR subcláusula. A COPIAR cláusula preprocesador.

4.1.389 INFORME 

Compatible sección Escritor Informe y cláusula de descriptor de archivos.

4.1.390 INFORMES 

Compatible declarativa para Report Writer.

4.1.391 INFORMES 

No compatibles Report Writer archivo descriptor cláusula asociar los archivos con los

informes mencionados.

4.1.392 GUARDAMUEBLES 

Un párrafo de la CONFIGURACIÓN DE SECCIÓN. OpenCOBOL apoya la función All

INTRÍNSECO cláusula del repositorio. Permite el código fuente para utilizar las

funciones intrínsecas sin FUNCIÓN palabra clave.

OCOBOL >> FUENTE FORMATO SE FIJA*> ***************************************** ***********************> Autor: Brian Tiffin*> Fecha: 20110213*> Objetivo: Demostrar la función de acceso directo intrinstric*> Tectónica: COBC-x functionall . cob*> 

entorno de la división .configuración sección .guardamuebles .

Page 204: Open Cobol Preg

 

  funcionan todas intrínseca .

*> 

GoBack .finales programa functionall .

Salida de ejemplo:

$ COBC-x functionall.cob$. / Functionall3,1415926535897932384626433832795029 2,71828182845904523536028747135266253,1415926535897932384626433832795029 2,7182818284590452353602874713526625

Sin el repositorio párrafo:

$ COBC-x functionall.cobfunctionall.cob: 19: error: 'pi' indefinidofunctionall.cob: 19: error: 'e' indefinido

4.1.393 REQUIERE 

Reconocido ignorado atributo de campo de la sección de la pantalla.

4.1.394 RESERVA 

Un soportado SELECT cláusula.

4.1.395 REINICIAR 

Compatible Report Writer de datos de control cláusula de campo.

4.1.396 RESUME 

Unsupported estado de flujos de control declarativa.

4.1.397 RETRY 

Bloqueo de registros no compatible esperar y cláusula vuelva a intentarlo.

  Retry n TIMES

  RETRY durante n segundos

  RETRY SIEMPRE

Page 205: Open Cobol Preg

 

4.1.398 RETURN 

Volver registros en una ORDENAR PROCEDIMIENTO DE SALIDA.

4.1.399 Volviendo 

Especifique el destino de los resultados de llamada.

01 resultado PIC S9 (8) .

LLAME "libfunc" DEVOLVER resultado END-CALL 

Especifique el campo a cambio de un sub-programa.

PROCEDIMIENTO DE DIVISION DE USAR cosa DEVOLVER otherthing

4.1.400 REVERSE-VIDEO 

PANTALLA sección atributo de visualización de campo. La funcionalidad depende de la

conexión y la compatibilidad del sistema operativo y la configuración.

4.1.401 REWIND 

Una letra muy fresco en el Negro Eyed Peas canción, "Hey Mama".

4.1.402 REWRITE 

Permitir sobrescribir los registros en los que existe clave primaria.

escribir personainválida llave

movimiento concatenar ( "sobreescritura:

4.1.403 RF 

Forma corta para no soportado INFORME DE PIE.

Page 206: Open Cobol Preg

 

4.1.404 RH 

Forma abreviada para el informe no soportado partida.

4.1.405 DERECHO 

Ignorado SINCRONIZADA cláusula.

4.1.406 ROLLBACK 

Reconocido pero no apoyó plenamente revertir transaccional de volver de archivo

escribe. Ver COMMIT .

4.1.407 redondeadas 

Cláusula de redondeo bien definido aplica a la aritmética. Definido lo suficientemente

bien como para los gerentes bancarios para sentirse cómodo entregando sus cálculos

a un grupo de nerds.

CALCULAR total del valor redondeadas = 1 . 0 / 6 . 0 END-COMPUTE 

4.1.408 RUN 

Un punto de parada.

PARADA MARCHA DE DEVOLVER 1

Termina la carrera, independientemente de la profundidad de anidación, devolver el

control (y el resultado) del sistema operativo. Ver GOBACK y EXITPROGRAMA para

otras terminaciones de unidades de ejecución.

4.1.409 MISMO 

Cláusula IO-CONTROL para AREA DE REGISTRO MISMO.

4.1.410 PANTALLA 

Sección Screen.

OCOBOL >> FUENTE FORMATO SE FIJA*> ***************************************** ******************* <**> Autor: Brian Tiffin*> Fecha: 20110701*> Aplicaciones: Juega con sección de la pantalla 2.0*> Tectónica: COBC *> ** ************************************************** ******** <*

Page 207: Open Cobol Preg

 

  Identificación de la división .programa-id . tamizaje .

datos de la división .WORKING-STORAGE sección .01 algunos datos- pic s9 (9) .

pantalla de la sección .01 -pantalla de detalle .

03 línea 1 columna 1 valor "línea de título" .03 línea 2 columna 1 valor "área" .03 de la línea 2 la columna 16 con algunos-datos .

*> ************************************************ ************ <*procedimiento de división .display de pantalla detalle final displayacepta -pantalla de detalles finales aceptarGoBack .

terminar el programa de cribado .

ser una pobre representación de la gran cantidad de control de atributo de campo

permitido en la sección de pantalla OpenCOBOL.

Atributos de campo de la pantalla incluyen:

   Justificado a la derecha

  Blanco cuando ZERO

  OCURRE entero multiplicado val

  BELL, BIP

  AUTO, AUTO-PASE, AutoTerminate

  SUBRAYA

  OVERLINE

  ASEGURE

  REQUERIDO

  COMPLETO

  PROMPT

  REVERSE-VIDEO

  LINEA EN BLANCO

  PANTALLA EN BLANCO

  BORRAR EOL

  BORRAR EOS

  SIGN es el principal CARÁCTER INDEPENDIENTE

  SIGN está detrás CARÁCTER INDEPENDIENTE

  NÚMERO DE LÍNEA ES [MÁS] entero-val

Page 208: Open Cobol Preg

 

  Número de columna es [MÁS] entero-val

  PLANO-COLOR ES entero-val DESTACADO, LOWLIGHT

  Background-color es un entero-val BLINK

  IMAGEN ES foto-cláusula USING identificador

  IMAGEN ES foto-cláusula FROM identificador, literal

  IMAGEN ES foto-cláusula TO identificador

  VALUE es literal

Durante ACCEPT, USANDO campos son de lectura / escritura, DESDE campos son

leídos y AL campos son escribir.

Ver ¿Cuáles son los valores de color sección Screen OpenCOBOL?  de valores de color.

 

4.1.411 SD 

ORDENAR descriptor de datos de archivo.

SD especie-file-1ACTA CONTIENE 80 PERSONAJES .

4.1.412 BUSCAR 

Un cuadro de gran alcance y el verbo de búsqueda de archivos. Ver búsqueda

 

lineal para un ejemplo.

4.1.413 SEGUNDOS 

Cláusula de no admitido de lectura / escritura REINTENTAR el bloqueo.

4.1.414 SECCIÓN 

Código fuente COBOL se organiza en  DIVISION , SECCIÓN , párrafos y

oraciones. OpenCOBOL apoya secciones con nombre de usuario y reconoce la

siguiente lista de secciones predefinidas.

  CONFIGURACIÓN 

  ENTRADA-SALIDA 

  ARCHIVO

  WORKING-STORAGE 

  LOCAL-STORAGE 

  VINCULACIÓN 

  INFORME (reconocido pero sin soporte)

  PANTALLA 

Page 209: Open Cobol Preg

 

Secciones definidas por el usuario proporcionan a la organización del código fuente y

el uso de REALICE con TRAVÉS de probada y verdadera programación de

procedimiento COBOL.

4.1.415 SECURE 

PANTALLA atributo de campo de la sección. Se muestra como asteriscos.

4.1.416 SEGMENTO 

Cláusula de la sección de Comunicación no compatible.

4.1.417 SELECT 

ARCHIVO-CONTROL frase. Archivos Asociados con nombres, descriptores y opciones.

ENVIRONMENT DIVISION.INPUT-OUTPUT SECTION.FILE-CONTROL.

SELECT fileresourceASSIGN TO external-nameFILE STATUS IS identifierCOLLATING SEQUENCE IS alphabet-nameLOCK MODE IS MANUAL WITH LOCK ON MULTIPLE RECORDSRECORD DELIMITER IS STANDARDRESERVE num AREASHARING WITH NO OTHERORGANIZATION IS INDEX

ACCESS MODE IS DYNAMICRECORD KEY IS key-fieldALTERNATE RECORD KEY IS key-field-2 WITH DUPLICATESALTERNATE RECORD KEY IS key-field-3.

sin embargo, el nombramiento de un archivo rápido puede ser tan simple como

SELECT mifichero ASIGNAR A "name.txt" .

que habrá un incumplimiento LINEA SECUENCIAL archivo.

4.1.418 AUTO 

Compatible cláusula COBOL objeto.

4.1.419 SEND 

Sección verbal Comunicación no compatible.

Page 210: Open Cobol Preg

 

4.1.420 FRASE 

Una cláusula de flujo de control obsoleto. CONTINUAR se prefiere FRASE SIGUIENTE.

4.1.421 SEPARADO 

Control de sintonía fina más de ataque y de salida indicador de señal.

77 campo 1 IMAGEN S9 (8) MUESTRA SE TRAILING SEPARADO .

4.1.422 SECUENCIA 

Controles cotejo secuencia de caracteres compara, mediante la definición de un

 

conjunto de caracteres.

4.1.423 SECUENCIAL 

OpenCOBOL apoya tanto en longitud secuencial y salto de línea terminada

fija LÍNEA acceso a archivos secuenciales.

4.1.424 SET 

   JUEGO DE DIRECCIÓN ptr-var a VAR.

  SET ENVIRONMENT "name" A "valor".

  SET cond-1 VERDADERO

Esto último es muy bueno. Un nivel de 88 set condicional TRUE, el valor asociado al

cambio en un valor que satifies la condición como verdadera.

01 campo 1 99 pic .88 cond-1 valor 42 .

MOVER 0 A campo 1DISPLAY campo 1 FIN-DISPLAYSET cond-1 AL VERDADERODISPLAY campo 1 FIN-DISPLAY 

Se muestran 00 y 42.

4.1.425 COMPARTIR 

Opción de uso compartido de archivos.

  COMPARTIENDO CON NINGUNA OTRA

  COMPARTIR CON TODOS LOS DEMÁS

Page 211: Open Cobol Preg

 

  COMPARTIENDO CON SÓLO LECTURA

Funcionalidad dependiente de opciones de generación y el sistema operativo que se

ejecuta OpenCOBOL.

4.1.426 SIGN 

Control de sintonía fina más de ataque y de salida indicador de señal.

77 campo 1 IMAGEN S9 (8) MUESTRA SE TRAILING SEPARADO .

4.1.427 FIRMADO 

OpenCOBOL soporta la gama completa de COBOL de almacenamiento de datos

numéricos. Firmado y UNSIGNED ser parte integrante.

4.1.428 SIGNED INT- 

Un formato de almacenamiento nativo NUMÉRICO datos USO cláusula. Equivalente

a BINARIO-LONG , BINARY-LONG FIRMADO y SIGNED-LONG .

4.1.429 SIGNED-LONG 

Un formato de almacenamiento nativo NUMÉRICO datos USO cláusula. Equivalente

a BINARIO-LONG , BINARY-LONG FIRMADO y Signed-INT .

 

4.1.430 SIGNED-SHORT 

Un formato de almacenamiento nativo NUMÉRICO datos USO cláusula. Equivalente

a BINARIO-SHORT FIRMADO.

4.1.431 TAMAÑO 

Multiuso.

OpenCOBOL permite TAMAÑO ES el control sobre los argumentos de llamada.

Operaciones Arthimetic permiten declaritives sobre errores de tamaño.

ADD 1 A ocobolEN TAMAÑO ERROR

SET errónea DE VERDADNO EN TAMAÑO ERROR

DISPLAY "Whee, suma 1 a COBOL" END-DISPLAYEND-ADD 

Page 212: Open Cobol Preg

 

STRING tiene una delimitada por opción de tamaño para incluir campos enteros.

4.1.432 ORDENAR 

OpenCOBOL soporta usar, dar, así como entrada y cláusulas PROCEDIMIENTO

PROCEDIMIENTO DE SALIDA para el verbo SORT.

OCOBOL * OpenCOBOL ejemplo, ORDENAR verbo usando el estándar y la salidaestándar

de identificación división .programa-id . clasificación .

environment division.input-output section.file-control.

select sort-inassign keyboardorganization line sequential.

select sort-outassign display organization line sequential.

select sort-workassign "sortwork".

datos de la división .file sección .fd tipo-in .

01 in-rec pic x (255) .fd tipo de salida .

01 fuera rec pic x (255) .sd clase-trabajo .

01 obra-rec pic x (255) .

procedimiento de división .tipo tipo-trabajo

ascendente llave trabajo-reccon clase endar clase de salida .

GoBack .salida del programa .finales del programa de clasificación .

En la siguiente muestra, demostrando ENTRADA DE PROCEDIMIENTO Y

PROCEDIMIENTO DE SALIDA tome nota de la VUELTA y VERTIDO verbos, ya que son la

clave para registrar de control del registro de las operaciones de ordenación.

Además, sólo para complicar las cosas, este tipo de muestras con un alfabeto en

mayúsculas y minúsculas (pero también la capital de los lugares A fin de demostrar

los casos especiales que se codificadas en una ALFABETO ).

Page 213: Open Cobol Preg

 

OCOBOL >> FUENTE FORMATO SE FIJA******************************************* ************************ Autor: Brian Tiffin* Fecha: 02-Sep-2008* Objetivo: Un ejemplo verbo ORDENAR OpenCOBOL* Tectónica: COBC-x sorting.cob*. / clasificación <input> Salida* o simplemente*. / selección* para el teclado y la pantalla 

entorno de la división .configuración sección .

* Esto establece un orden de clasificación más baja que superiores aexcepción de A y un

especial-names .alfabeto mezclado es "AabBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTu

- "UvVwWxXyYzZ0123456789" .

input-output section.file-control.

select sort-inassign keyboardorganization is line sequential.

select sort-outassign display organization is line sequential.

select sort-workassign "sortwork".

datos de la división .file sección .fd tipo-in .

01 in-rec pic x (255) .fd tipo de salida .

01 fuera rec pic x (255) .sd clase-trabajo .

01 obra-rec pic x (255) .

trabajo-storage sección .01 en bucle bandera pic x valor de poco valor .

procedure division.sort sort-work

on descending key work-reccollating sequence is mixedinput procedure is sort-transformoutput procedure is output-uppercase.

mostrar una especie de retorno al final de visualización .GoBack .

Page 214: Open Cobol Preg

 

 ****************************************************************** sort-transform.move low-value to loop-flagopen input sort-inread sort-in

at end move high-value to loop-flagend-read perform 

until loop-flag = high-valuemove FUNCTION LOWER-CASE(in-rec) to work-recrelease work-recread sort-in

at end move high-value to loop-flagend-read 

end-perform close sort-in.

****************************************************************** output-uppercase.move low-value to loop-flagopen output sort-outreturn sort-work

at end move high-value to loop-flagend-return perform 

until loop-flag = high-valuemove FUNCTION UPPER-CASE(work-rec) to out-recwrite out-rec end-write return sort-work

at end move high-value to loop-flagend-return 

end-perform close sort-out.

salir del programa .finales del programa de clasificación .

Aquí hay un fragmento que describe variedades de mesa por [jrls_swla] 

 

mesa de definir

01 NBR-de-columnas PIC 9 (4) El valor cero.01 Uso tcindex2 es índice.01 dbtables.

03 mesas-columnas se produce 1 a 1000 vecessegún NBR-de-columnasascendente tcTable clave tcColumn

indexados por tcindex.05 pic x tcTable (64) espacios de valor.05 tcColumn pic x (64) espacios de valor.

05 tcAlias PIC X (10) espacios de valor.

Page 215: Open Cobol Preg

 

05 tcOrder pic 9 (4) El valor cero.05 TCTYPE pic x (10) espacios de valor.05 tcMaxLen pic 9 (4) El valor cero.

*> <*01 aliasName.

05 pic x valor "t".05 Anval pic 9 (3) valor cero.

01 showdata.05 sdTable pic x (17) espacios de valor.05 sdColumn pic x (17) espacios de valor.05 sdType pic x (10) espacios de valor.05 sdOrder pic-zzzzz.05 sdMaxLen pic zzzzz.

carga de la mesa

realizar diferentes filas de 1 por 1hasta las filas> dbNumRowsllamar "dbnextrow" utilizando por valor dbResult,

por ColumnBuff referencia,por referencia CbuffDesc

volver dbResultañadir 1 al NBR-de-columnasestablecer tcindex por 1mover cbTable a tcTable (tcindex)mover cbColumn a tcColumn (tcindex)mover cbType a TCTYPE (tcindex)mover cbOrder a tcOrder (tcindex)mover cbMaxLen a tcMaxLen (tcindex)si NBR-de-columns = 1

añadir 1 al Anvalmás

establecer tcindex2 a tcindexestablecer tcindex2 por 1si cbTable <> tcTable (tcindex2)

añadir 1 al Anvalfinal-si

final-simover aliasName a tcAlias (tcindex)

FINAL realizar.

tabla de ordenación

Ordenar tablas-columnas ascendentes tcTable clave tcColumn.

visualizar la tabla

realizar diferentes tcindex de 1 por 1hasta tcindex> NBR-de-columnasmover tcTable (tcindex) para sdTablemover tcColumn (tcindex) para sdColumnmover tcOrder (tcindex) para sdOrder

Page 216: Open Cobol Preg

 

mover TCTYPE (tcindex) para sdTypemover tcMaxLen (tcindex) para sdMaxLenpantalla showdata

FINAL realizar.

Ejercicio para el público. ¿Podría el código anterior se simplifica mediante el uso de

MOVE CORRESPONDING cbRecord to table-columns(tcindex)...MOVE CORRESPONDING table-columns(tcindex) to showdata

con algunos cambios de nombre de campo acertadas?

4.1.432.1 Una herramienta de apoyo OCSORT

Hay una utilidad de tipo externo hace referencia en ocsort ¿Qué es? 

 

4.1.433 clasificación-fusión 

Se utiliza en el párrafo IO-CONTROL con la cláusula MISMO:

Mismo tipo de combinación AREA DE nombrearchivo-1.

La palabra clave de clasificación-fusión y la palabra clave ORDENAR son equivalentes

en este caso.

4.1.434 ORDENAR-RETURN 

Un especial-usuario utilizado por las rutinas de ordenación OpenCOBOL.

  +000000000 Para el éxito

  +000000016 Por no

Un programador puede establecer ORDENAR-RETURN en un procedimiento de

ingreso.

4.1.435 FUENTE 

Directiva del compilador controlar la manipulación del código fuente.

>> FUENTE FORMATO SE FIJA>> FUENTE FORMATO ES GRATIS 

OpenCOBOL permite el uso de esta directiva en el capricho del

programador. COBC defecto FIJO manejo fuente de formato, por lo que la Directiva

Page 217: Open Cobol Preg

 

debe ocurrir más allá de la secuencia y columnas de indicadores a menos que

la libre se usa la opción de compilación.

Llaves abiertas son una característica pendiente en OpenCOBOL.

SELECT ...REGISTRO CLAVE ES -clave Nombre FUENTE es dname-2 -3 dname

También un escritor de informe cláusula de fuente de datos en espera.

4.1.436 FUENTE-COMPUTER 

Un párrafo de la IDENTIFICACIÓN  división. Se trata como un comentario.

4.1.437 FUENTES 

Actualmente no compatibles FUENTES SON cláusula escritor de informes.

4.1.438 ESPACIO 

Una constante figurativa que representa un carácter de espacio.

4.1.439 ESPACIOS 

Una constante figurativa que representa un espacio.

4.1.440 ESPECIAL-NOMBRES 

OpenCOBOL admite un conjunto completo de mercado de los especiales de nombres

en uso común.

  CONSOLA ES CRT

  SYSIN ES mnemónico-name-1

  SYSOUT ES

  SYSLIST ES

  SYSLST ES

  IMPRESORA ES

  SYSERR ES

  CONSOLA ES mnemónico-name-7

  INTERRUPTOR-1 es mnemotécnico-name-n EN ESTADO ESTÁ nombre-

condición-1 OFF estatus es nombre-condición-2

  INTERRUPTOR-2

  ...

Page 218: Open Cobol Preg

 

  INTERRUPTOR-8 ES ...

  C01 ES mnemónico-name-m

  ...

  C12 ES

  Alfabeto Alfabeto de nombre es nativo, STANDARD-1, STANDARD-2, EBCDIC

literal-1 AL literal-2 [TAMBIÉN literal-3]

  PERSONAJES símbolo, caracteres es entero-1 en alfabeto-nombre

  Clase de nombre es a través literal literal-2

  LOCALE local-name es identificador-1

  SIGN moneda es literal

  De punto decimal es una coma

  Cursor está identificador-1

  ESTADO CRT es el identificador-1

  CONTROL DE PANTALLA ES identificador-1 PENDIENTE 

  ESTADO DEL EVENTO ES identificador-1 PENDIENTE 

4.1.441 STANDARD 

  Etiqueta de los expedientes son estándar

4.1.442 STANDARD-1 

  Alfabeto es STANDARD-1

  Delimitador de registro es de serie-1

equivalente a ASCII 

4.1.443 STANDARD-2 

  Alfabeto es STANDARD-1

  Delimitador de registro es de serie-1

equivalente a ASCII 

4.1.444 START 

Establece campos archivos internos que influyen

secuencial READ SIGUIENTE y READ PREVIOUS para REAJUSTABLES archivos. También

Page 219: Open Cobol Preg

 

se puede utilizar para buscar el  FIRST o LAST registro de un archivo

para SECUENCIAL modos de acceso.

iniciar la indexaciónclave es menos que

KeyField de indización de registrono válido clave

display"mal comienzo:

Los condicionantes son muy poderosos.

CLAVE ES MAYOR QUECLAVE ES >CLAVE ES MENOS QUECLAVE ES <CLAVE ES IGUAL A LACLAVE ES =

CLAVE ES NO MAYOR DECLAVE SE NO >CLAVE ES NO MENOS DECLAVE SE NO <CLAVE ES NO IGUAL ALCLAVE ES NO =

CLAVE ES <>CLAVE ES MAYOR QUE O IGUAL A LACLAVE ES > =CLAVE ES MENOS QUE O IGUAL A LACLAVE ES <=

Ver ¿Tiene OpenCOBOL apoyo ISAM? por algún ejemplo de código fuente.

 

4.1.445 DECLARACIÓN 

No compatible.

4.1.446 ESTADO 

Multi-propósito.

Page 220: Open Cobol Preg

 

  ESTADO CRT ES

  Estado del archivo es

  ESTADO DEL EVENTO ES

  INTERRUPTOR-1 es cosa SOBRE LA SITUACIÓN ES condicional-1

4.1.447 PASO 

Compatible Report Writer OCURRE subcláusula.

4.1.448 PARADA 

Terminar una carrera y devolver el control al sistema operativo.

PARADA MARCHA DE DEVOLVER 5 .

Las formas incluyen:

  Parada Marcha

  Parada Marcha DEVOLVER stat

  Parada Marcha DAR stat

  PARADA literal

  PARADA RUN CON ERROR STATUS stat

  PARADA correr con stat ESTADO NORMAL

4.1.449 STRING 

Encadenar una serie de variables con delimitadores controladas.

01 var IMAGEN X (5) .

STRING"abc" DELIMITADO POR "b""" def DELIMITADO POR TAMAÑO"" ghi DELIMITADO POR "z"EN varDE DESAGUE

DISPLAY "var está lleno de" ESPACIO LONGITUD DE var END-DISPLAYDE FIN DE CUERDAS 

DISPLAY var END-DISPLAY 

Salidas:

var está lleno a las 5adefg

Page 221: Open Cobol Preg

 

OpenCOBOL también es totalmente compatible con la cláusula WITH POINTER para

establecer la inicial y un seguimiento de la posición en la variable de caracteres de

salida.

4.1.450 FUERTE 

No compatible.

4.1.451 SUB-COLA-1 

Cláusula de la sección de Comunicación no compatible.

4.1.452 SUB-COLA-2 

Cláusula de la sección de Comunicación no compatible.

4.1.453 SUB-COLA-3 

Cláusula de la sección de Comunicación no compatible.

4.1.454 SUBTRACT 

Operación aritmética.

RESTAR a b c PARTIR d REDONDO FINAL SUBTRACT 

RESTAR un PARTIR b DANDO cEN TAMAÑO ERROR

SET matemáticas error AL VERDADERONO EN TAMAÑO ERROR

SET matemáticas error PARA FALSOEXTREMO RESTAR 

RESTAR CORRESPONDIENTE record-a DE récord b redondeadasEN TAMAÑO ERROR

SET algo-mal PARA CIERTOFIN-restar 

4.1.455 SUM 

Una sección de control de rotura cláusula campo resumen INFORME. No compatible.

4.1.456 super 

 

Compatible cláusula COBOL objeto.

Page 222: Open Cobol Preg

 

4.1.457 SUPRIMIR 

Compatible declarativa para suprimir la impresión.

4.1.458 SÍMBOLO 

No compatible.

4.1.459 SIMBÓLICO 

ESPECIALES-NOMBRES cláusula de usuario que permite definir constantes figurativas.

4.1.460 SYNC 

Alias para SINCRONIZADA 

4.1.461 sincronizado 

Relleno de control dentro de las definiciones de registro, en particular, para que

coincida con las estructuras de C.

01 infile.03 slice occurs 64 times depending on slices.

05 stext usage pointer synchronized.05 val float-long synchronized.05 ftext usage pointer synchronized.

4.1.462 predeterminado del sistema 

 

OBJETO DE ORDENADOR cláusula de soporte local.

CLASIFICACIÓN DE CARÁCTER ES EL SISTEMA DEFAULT

4.1.463 TABLA 

Palabra clave no compatible, pero OpenCOBOL es totalmente compatible con las

tablas, incluyendo ORDENAR .

4.1.464 recuento 

CONTROLAR cláusula para contar las apariciones de un literal.

CONTROLAR registros 1 recuento ident-1 PARA LLEVAR "0"

Page 223: Open Cobol Preg

 

4.1.465 CINTA 

Un tipo de dispositivo utilizado en ASSIGN .

4.1.466 TERMINAL 

Cláusula de la sección comminication no compatible.

4.1.467 TERMINATE 

Actualmente no soportado Report Writer verbo para terminar un

informe. Ver INICIAR .

4.1.468 TEST 

Permite el control sobre cuando se prueban los condicionales bucle. CON PRUEBA

ANTES es el valor predeterminado. CON PRUEBA DESPUÉS siempre evaluará el cuerpo

del bucle al menos una vez.

perform with test aftervarying x from 1 by xstepuntil x >= function e

if x > function emove function e to x-value

else move x to x-value

end-if compute recip = 1 / x end-compute move recip to y-valuewrite outrec end-write 

end-perform 

4.1.469 TEXTO 

Cláusula de la sección de Comunicación no compatible.

4.1.470 QUE 

Parte de las cláusulas condicionales para mejorar la legibilidad.

SI A MAYOR DE 10DISPLAY "A> 10" END-DISPLAY

END-IF 

Page 224: Open Cobol Preg

 

4.1.471 ENTONCES 

Una palabra clave un poco desdeñada que forma parte de la estructura de control

OTRO SI ENTONCES.

SI A > 10 ENTONCESDISPLAY "A MÁS DE 10" END-DISPLAY

MÁSDISPLAY "A MENOR O IGUAL A 10" END-DISPLAY

END-IF 

4.1.472 TRAVÉS 

Se utiliza en las definiciones de alfabetos en especial NOMBRES y una cláusula

 

procesal que PERFORM de una etiqueta A TRAVÉS (inclusive) a otra etiqueta y todos

los párrafos en el medio. También se utiliza para especificar la agrupación

con cambios de nombre .

PERFORM 100 - open-files TRAVÉS 100 - archivos de gama

4.1.473 TRAVÉS 

Alias utilizados comúnmente para TRAVÉS 

4.1.474 TIEMPO 

Un ACCEPT de la Fuente. Permite el acceso al reloj actual.

01 de tiempo actual .05 ct-horas pic 99 .05 ct-minutos pic 99 .05 ct-segundo pic 99 .05 ct centésimas pic 99 .

ACEPTAR tiempo actual DE TIEMPO

4.1.475 TIMES 

Un bucle de contado.

Peform 5 VECESDISPLAY "DERP" END-DISPLAY

END-PERFORM 

Page 225: Open Cobol Preg

 

4.1.476 A 

Especificador multiusos destino.

ADD 1 A cobol DANDO OpenCOBOLEN TAMAÑO ERROR

DISPLAY "potencial supera las expectativas" END-DISPLAYEND-ADD 

4.1.477 TOP 

Un linaje cláusula.

4.1.478 arrastrando 

Multi-propósito. FUNCIÓN TRIM permite una palabra clave al final. Un recuento

CONTROLAR subcláusula.

4.1.479 VERDADERO 

A SET objetivo. Se utiliza en Evaluar para controlar cuando la operación se realiza

correctamente. Cuando se utiliza con un nombre de nivel condicional 88, pondrá en el

campo correspondiente a un valor de la lista.

01 campo 1 pic x .88 cond-1 valores 'a' , 'b' , 'c' .

SET cond-1 AL VERDADERODISPLAY campo 1 FIN-DISPLAY 

4.1.480 TIPO 

El Report Writer cláusula grupo de informes compatible. Además de datos no

compatible cláusula descripción.

4.1.481 typedef  

 

Descripción de datos no compatible cláusula que permita a los diseños de registros

definidos por el usuario.

4.1.482 UCS-4 

Actualmente no soportado Conjunto universal alfabeto de caracteres. UCS-4 sería

almacenar puntos de código internacional de 4 bytes.

Page 226: Open Cobol Preg

 

4.1.483 SUBRAYA 

PANTALLA atributo de campo de la sección.

4.1.484 UNIDAD 

Una opción cercana, alias REEL .

CLOSE archivo-1 UNIDAD CON NO REWIND

4.1.485 UNIVERSAL 

Objeto COBOL cláusula objeto de excepción no compatible.

4.1.486 UNLOCK 

Desbloqueo de registro manual y sincronización escritura del buffer.

DESBLOQUEAR nombre de archivo-1 REGISTROS

4.1.487 UNSIGNED 

Uso de la cláusula especificando que el valor no se incluye ninguna señal y por lo

tanto no puede ser negativo.

4.1.488 UNSIGNED INT- 

Un formato de almacenamiento nativo NUMÉRICO datos USO cláusula. Equivalente

a BINARIO-LONG UNSIGNED y UNSIGNED-LONG .

4.1.489 UNSIGNED-LONG 

Un formato de almacenamiento nativo NUMÉRICO datos USO cláusula. Equivalente

a BINARIO-LONG UNSIGNED y UNSIGNED INT- .

4.1.490 UNSIGNED SHORT- 

Un formato de almacenamiento nativo NUMÉRICO datos USO cláusula. Equivalente

a BINARIO-SHORT UNSIGNED y UNSIGNED SHORT- .

4.1.491 unstring 

 

Un poderoso verbo descomposición cadena.

Page 227: Open Cobol Preg

 

UNSTRING Input-AddressDELIMITED BY "," OR "/"INTO

Street-Address DELIMITER D1 COUNT C1Apt-Number DELIMITER D2 COUNT C2City DELIMITER D3 COUNT C3State DELIMITER D4 COUNT C4Zip-Code DELIMITER D5 COUNT C5

WITH POINTER ptr-1ON OVERFLOW

SET more-fields TO TRUEEND-UNSTRING 

4.1.492 HASTA 

Establece un bucle condicional.

REALIZAR DIFERENTES ident-1 DE 1 DE 1 HASTA ident-1 > 10LLAMADA "cosa" USO POR VALOR ident-1 FIN-CALL

END-PERFORM 

4.1.493 ARRIBA 

Índice y puntero modificación.

SET ptr-1 HASTA POR 4SET ind-1 HASTA POR 1

4.1.494 ACTUALIZACIÓN 

PANTALLA atributo de campo de la sección.

4.1.495 EN 

A DISPLAY cláusula de destino.

4.1.496 USO 

OpenCOBOL utiliza el estándar big-endian almacenamiento interno de forma

 

predeterminada. Cláusulas USO influyen en la representación de los datos. La

arquitectura Intel utiliza little-endian forma y programadores OpenCOBOL desarrollo

para este chipset común puede tener que prestar atención a esto para fines de

rendimiento. De acuerdo con las normas, OpenCOBOL soporta el uso nativo

COMPUTACIONAL-5.

Page 228: Open Cobol Preg

 

OpenCOBOL permite el uso de siete y cincuenta y nueve representaciones binarias de

bytes en formas endian tanto grandes y pequeños.

 Junto con todo el apoyo de todos los comunes COBOL IMAGEN cláusulas tanto el

almacenamiento y visualización, OpenCOBOL apoya cláusulas de uso de:

  BINARIO

  Computacional, COMP

  COMP-1

  COMP-2

  COMP-3

  COMP-4

  COMP-5

  COMP-X

  FLOAT-LONG

  FLOAT-SHORT

  DISPLAY

  ÍNDICE

  Decimal empaquetado

PUNTERO

  PROGRAMA-PUNTERO

  FIRMADO-SHORT

  FIRMADO-INT

  FIRMADO-LONG

  UNSIGNED SHORT-

  UNSIGNED INT-

  UNSIGNED-LONG

  BINARIO-CHAR FIRMADO

  UNSIGNED BINARIO-CHAR

  BINARIO-CHAR

  BINARIO-SHORT FIRMADO

  BINARIO-UNSIGNED SHORT

  BINARIO-SHORT

  BINARIO-LONG FIRMADO

  UNSIGNED BINARIO-LONG

  BINARIO-LONG

  BINARIO CON SIGNO

  UNSIGNED DOUBLE BINARIO-

  BINARIO-DOBLE

  BINARIO-C-LONG FIRMADO

Page 229: Open Cobol Preg

 

  UNSIGNED BINARIO-C-LONG

  BINARIO-C-LONG

4.1.497 USO 

Configura declarativos párrafos.

  USO ANTES DE DEPURACIÓN

  PUESTA EN MARCHA DESPUES exeception

4.1.498 USUARIO POR DEFECTO 

OBJETO DE ORDENADOR cláusula de soporte local.

CLASIFICACIÓN DE CARÁCTER ES USUARIO POR DEFECTO

4.1.499 USO 

Especifica los argumentos de LLAMAR y PROCEDIMIENTO declaraciones.

  DE REFERENCIA (por defecto, se pasa puntero a los datos modificables)

  POR CONTENIDO (referencia a una copia de los datos)

  POR VALOR (valor sin referencia actual se coloca en el marco de llamada)

4.1.500 UTF-16 

Cláusula de internacionalización no compatible.

4.1.501 UTF-8 

Cláusula de internacionalización no compatible.

4.1.502 VAL-STATUS 

Alias para el soportado VALIDAR-STATUS cláusula del VALIDAR comunicado.

4.1.503 VÁLIDO 

No compatible.

4.1.504 VALIDAR 

Compatible verbo validación de datos.

Page 230: Open Cobol Preg

 

4.1.505 VALIDAR-STATUS 

Cláusula no compatible del VALIDAR comunicado.

4.1.506 VALOR 

Una LLAMADA marco modificador argumento. Establece los valores de las

descripciones de datos, así como los valores utilizados con 88 nombres condicionales

nivel.

4.1.507 VALORES 

Plural de VALOR cuando se utiliza más de una entrada en un nombre condicional 88.

4.1.508 VARYING 

Establece una variable de bucle.

REALIZAR DIFERENTES loop-counter DE 1 DE 1 HASTA bucle contador > 10DISPLAY loop-counter -DISPLAY END

END-PERFORM 

4.1.509 CUANDO 

Una palabra clave muy potente utilizado en frases evaluar para especificar las

expresiones condicionales.

EVALUAR CIERTOCUANDO A = 10

DISPLAY "A = 10" END-DISPLAYCUANDO A = 15

PERFORM A-IS-15CUANDO B ES IGUAL 6

PERFORM B-IS-6CUANDO C ES MAYOR DE 5

DISPLAY "C> 5" FIN- PANTALLACUANDO OTROS

DISPLAY "Default imprescindible" END-DISPLAYEND-EVALUAR 

4.1.510 CON 

Multi-propósito.

  CON EL BLOQUEO

  Display con pantalla de atributos

Page 231: Open Cobol Preg

 

  Con Rollback (pendiente)

4.1.511 WORKING-STORAGE 

A DATOS sección división. A menos BASE , todos los campos se asignan y se fijan en

la memoria (para el programa que se ejecuta dentro de un módulo).

4.1.512 WRITE 

Registre escritura. A diferencia LEER que utiliza sintaxis nombres de archivo, escriba

utiliza la sintaxis de memoria intermedia que debe estar relacionado con el archivo a

través de la FD descriptor de fichero. OpenCOBOL apoya linaje y escribir tiene soporte

 

para paginación "informe" y la línea de control.

ESCRIBIR registros buff END-WRITE 

ESCRIBIR record-name-1 DESPUÉS AVANZAR PÁGINA DE FIN WRITE .

ESCRIBIR record-name-1AT END-OF-PAGE

DISPLAY "EOP" END-DISPLAYEND-WRITE 

4.1.513 AAAADDD 

Modifica ACEPTAR var DEL DÍA utilizar año completo de 4 dígitos para la fecha de

recuperación de Julian.

ACEPTAR fecha-var DEL DÍA AAAADDD

4.1.514 AAAAMMDD 

Modifica ACEPTAR var DE FECHA utilizar año completo de 4 dígitos.

ACEPTAR fecha-var DE FECHA AAAAMMDD

4.1.515 ZERO 

Constante figurativa y numéricos para el valor 0.

4.1.516 CEROS 

Plural de ZERO .

Page 232: Open Cobol Preg

 

4.1.517 CEROS 

Ortografía alternativa para CEROS .

4.2 ¿Tiene OpenCOBOL implementar cualquier función

intrínseca? 

Sí, muchos. A partir de julio 2008 1.1 pre-release

Función intrínseca

  4.2.1 FUNCIÓN ABS

  4.2.2 ACOS FUNCIÓN

  4.2.3 FUNCIÓN DE ANUALIDAD

  4.2.4 FUNCIÓN ASIN

  4.2.5 FUNCIÓN ATAN

  4.2.6 FUNCIÓN BYTE-LONGITUD

  4.2.7 FUNCIÓN CHAR

  4.2.8 FUNCIÓN COMBINADA-DATETIME

  4.2.9 FUNCIÓN concatenar

  4.2.10 COS FUNCIÓN

  4.2.11 FUNCIÓN ACTUAL-DATE

  4.2.12 FUNCIÓN FECHA DE LA INTEGER

  4.2.13 función de fecha a AAAAMMDD

  4.2.14 FUNCIÓN DÍA DE LA INTEGER

  4.2.15 FUNCIÓN DÍA A AAAADDD

  4.2.16 FUNCIÓN E

  4.2.17 FUNCIÓN DE EXCEPCIÓN DE ARCHIVOS

  4.2.18 FUNCIÓN DE EXCEPCION-UBICACIÓN

  4.2.19 FUNCIÓN DE EXCEPCION-ESTADO

  4.2.20 FUNCIÓN DE EXCEPCION-ESTADO

  4.2.21 función EXP

  4.2.22 FUNCIÓN EXP10

  4.2.23 función factorial

  4.2.24 FUNCIÓN DE FRACCIÓN-PART

  4.2.25 FUNCIÓN INTEGER

  4.2.26 INTEGER FUNCIÓN DE LA FECHA

  4.2.27 FUNCIÓN INTEGER del día

  4.2.28 FUNCIÓN INTEGER-PART

  4.2.29 función de longitud

Page 233: Open Cobol Preg

 

  4.2.30 FUNCIÓN LOCALE-DATE

  4.2.31 FUNCIÓN LOCALE-TIME

  4.2.32 FUNCIÓN LOCALE DE TIEMPO-DE-SEGUNDOS

  4.2.33 función de registro

 

  4.2.34 FUNCIÓN LOG10

  4.2.35 FUNCIÓN minúsculas

  4.2.36 FUNCIÓN MAX

  4.2.37 FUNCIÓN MEDIA

  4.2.38 FUNCIÓN DE MEDIANA

  4.2.39 FUNCIÓN DE MEDIOS

  4.2.40 FUNCION MIN

  4.2.41 función MOD

  4.2.42 FUNCIÓN NUMVAL

  4.2.43 FUNCIÓN NUMVAL-C

  4.2.44 FUNCIÓN ORD

  4.2.45 FUNCIÓN ORD-MAX

  4.2.46 FUNCION MIN ORD-

  4.2.47 función PI

  4.2.48 FUNCIÓN ACTUAL VALOR

  04/02/49 función aleatoria

  4.2.50 Función Rango

 

  04/02/51 FUNCIÓN REM

  4.2.52 FUNCIÓN DE INVERSIÓN

  4.2.53 FUNCIÓN SEGUNDOS-FROM-FORMATO DE TIEMPO

  04/02/54 FUNCIÓN SEGUNDOS-PAST MIDNIGHT-

  04/02/55 función de signo

 

  02/04/56 SIN FUNCIÓN

  02/04/57 FUNCIÓN SQRT

  4.2.58 FUNCIÓN desviación estándar

  04/02/59 función almacenada-CHAR-LONGITUD

  02/04/60 función sustitutiva

  02/04/61 función sustitutiva-CASE

  02/04/62 función SUMA

  02/04/63 FUNCIÓN TAN

  4.2.64 Prueba de función-FECHA-AAAAMMDD

  2.4.65 Prueba de función-DAY-AAAADDD

  04/02/66 FUNCIÓN TRIM

  02/04/67 FUNCIÓN mayúsculas

 

  02/04/68 función de la varianza

  04/02/69 función cuando-RECOPILADA

Page 234: Open Cobol Preg

 

  02/04/70 FUNCIÓN año a la AAAA

ABS, ACOS, ANNUITY, ASIN, ATAN, BYTE-LENGTH, CHAR, CONCATENATE, COS,CURRENT-DATE, DATE-OF-INTEGER, DATE-TO-YYYYMMDD, DAY-OF-INTEGER,DAY-TO-YYYYDDD, E, EXCEPTION-FILE, EXCEPTION-LOCATION, EXCEPTION-STATEMENT,EXCEPTION-STATUS, EXP, EXP10, FACTORIAL, FRACTION-PART, INTEGER,INTEGER-OF-DATE, INTEGER-OF-DAY, INTEGER-PART, LENGTH, LOCALE-DATE,LOCALE-TIME, LOG, LOG10, LOWER-CASE, MAX, MEAN, MEDIAN, MIDRANGE, MIN, MOD,NUMVAL, NUMVAL-C, ORD, ORD-MAX, ORD-MIN, PI, PRESENT-VALUE, RANDOM, RANGE,REM,REVERSE, SECONDS-FROM-FORMATTED-TIME, SECONDS-PAST-MIDNIGHT, SIGN, SIN, SQRT,STANDARD-DEVIATION, STORED-CHAR-LENGTH, SUBSTITUTE, SUBSTITUTE-CASE, SUM,TAN,TEST-DATE-YYYYMMDD, TEST-DAY-YYYYDDD, TRIM, UPPER-CASE, VARIANCE,WHEN-COMPILED, YEAR-TO-YYYY

4.2.1 FUNCIÓN ABS 

El valor absoluto del argumento numérico

DISPLAY FUNCION ABS ( DIFERENCIA ).

4.2.2 ACOS FUNCIÓN 

La función ACOS devuelve un valor numérico (en radianes) que se aproxima al arco

coseno del argumento.

El dominio de la función arco coseno es -1 a +1. Los errores de dominio devuelven un

resultado de 0. La función coseno inversa devuelve un rango de 0 a π 

PANTALLA DE FUNCIONES ACOS ( - 1 ).

4.2.3 FUNCIÓN ANUALIDAD 

Calcular la proporción de una anualidad pagada en base a argumentos de interés y el

número de períodos.

WORKING-STORAGE SECCIÓN .77 INTERESES PIC S9V9999 VALOR 0 . 08 .77 MENSUAL PIC S9V9999 VALOR CERO .77 PERIODOS PIC 99 VALOR 36 .77 anualidades VALOR PIC

tipo: " MENSUALESPeríodos ":" PERIODOS

Page 235: Open Cobol Preg

 

relación Anualidad ":" anualidad VALORFINAL DISPLAY .

Salidas:

Cuota mensual: 0.0067 Periodos: 36 Relación Anualidad: 0.0314

4.2.4 FUNCIÓN ASIN 

La función ASIN devuelve un valor numérico (en radianes) que se aproxima el

arcoseno del argumento.

El dominio de la función de arco seno es -1 a +1. Los errores de dominio devuelven

un resultado de 0. La función seno inversa devuelve un rango de-π / 2 a través de π

/ 2

DISPLAY FUNCION ASIN ( - 1 ).

4.2.5 FUNCIÓN ATAN 

La función ATAN devuelve un valor numérico (en radianes) que se aproxima al arco

tangente del argumento.

El dominio de la función arcotangente es todos los números reales. La función

tangente inversa devuelve un rango de-π / 2 a través de π / 2 

DISPLAY FUNCION ATAN ( 1 ).

4.2.6 FUNCIÓN BYTE-LONGITUD 

La función BYTE-Length devuelve un entero que es la longitud de almacenamiento

interna del argumento dado.

COBOL >> FUENTE FORMATO SE FIJA******************************************* ************************ Objetivo: demostrar la función intrínseca 

data division.working-storage section.01 char-var usage binary-char.01 short-var usage binary-short.01 long-var usage binary-long.01 double-var usage binary-double.

Page 236: Open Cobol Preg

 

 01 -var num1 pic 9 .01 num4-var pic 99v99 .01 Num9-var pic s9 (9) .01 num18-var pic s9 (18) .01 num18c-var pic s9 (18) el uso de un borrador .01 num18p-var pic s9 (18) Uso comp-3 .01 edit-var pic $ zzzz9.99 .

01 -string var pic x (10) valor "abc" .

01 nueva línea pic x valor x '0 a ' .

procedimiento de división .pantalla

"num1-var len =" función byte de longitud ( num1-var ) de nuevalínea

"num4-var len =" función byte de longitud ( num4-var ) de nuevalínea

"Num9-var len =" función byte de longitud ( Num9-var ) de nuevalínea

"num18-var len =" función byte de longitud ( num18-var ) denueva línea

"num18c-var len =" función byte de longitud ( num18c-var ) denueva línea

"num18p-var len =" función byte de longitud ( num18p-var ) denueva línea

"edit-var len =" función byte de longitud ( edit-var ) de nuevalínea

"12 len =" función byte de longitud ( 12 ) de nueva línea"12.12 len =" función byte de longitud ( 12 . 12 ) de nueva

línea"1234567890,123 =" función

byte de longitud ( 1234567890 . 123 ) de nueva línea

"String-var len =" función byte de longitud ( string-var ) denueva línea

"cadena de ajuste =" funciónbyte de longitud ( función de ajuste ( string-var )) de

nueva línea

"Char-var len =" función byte de longitud ( ca-var ) de nuevalínea

"a corto var len =" función byte de longitud ( corto var ) denueva línea

"long-var len =" función byte de longitud ( largo var ) nuevalínea

"doble-var len =" función byte de longitud ( doble var )

final displayGoBack .salida del programa .

Page 237: Open Cobol Preg

 

Salidas:

num1-var len = 1num4-var len = 4Num9-var len = 9num18-var len = 18num18c-var len = 8num18p-var len = 10edit-var len = 912 len = 212.12 len = 41234567890.123 = 13string-var len = 10cadena de ajuste = 00000003ca-var len = 1corto var len = 2largo var len = 4doble var len = 8

4.2.7 FUNCTION CHAR 

La función CHAR devuelve un campo alfanumérico un carácter cuyo valor es el

carácter en el orden de clasificación de corriente que tiene la posición ordinal

igual al valor del argumento entero. El argumento debe ser mayor que 0 y menor

o igual al número de posiciones en la secuencia de clasificación. Los errores en el

argumento de rango retorno 0 (el bajo valor por defecto).

Ver ASCII o EBCDIC y los detalles de la cláusula alfabeto.

Indicación de la función CHAR (66).

Sería la salida A en el juego de caracteres ASCII. Tenga en cuenta que esto puede

ser diferente de lo que algunos esperan. OpenCOBOL CHAR es 1-128 0-127 no

como un programador de C se puede utilizar para.

Y para añadir un poco de confusión, la mayoría de las computadoras personales

utilizan un juego de caracteres ampliado, por lo general erróneamente llamado

ASCII con un rango de 0 a 255. Un nombre más apropiado puede ser ISO-8859-1

América 1. Ver ASCII para más detalles precisos. Este autor es a menudo culpable

de este nombre incorrecto de la utilización del término ASCII.

Page 238: Open Cobol Preg

 

4.2.8 FUNCTION COMBINED-DATETIME 

Devuelve una forma datetime común desde la fecha entero (año y día 1600-

10000) y los argumentos de tiempo numéricas (segundo en días). De fecha debe

ser 1-3067671 y hora debe ser 1-86400. La cadena de caracteres devuelto es en

la forma 7,5.

DISPLAY FUNCTION COMBINED-DATETIME(1; 1) END-DISPLAY 

Salidas: 

0000001.00001 

4.2.9 FUNCTION CONCATENATE 

Concatenar los campos indicados. Concatenar es una extensión OpenCOBOL. 

MOVE "COBOL" TO stringvar MOVE FUNCTION CONCATENATE("Open"; stringvar) TO goodsystem DISPLAY goodsystem END-DISPLAY 

4.2.10 FUNCTION COS 

La función COS devuelve un valor numérico que se aproxima el coseno del

argumento (en radianes).

El dominio de la función coseno es todos los números reales, con un dominio

nominal de 0 a π con un cero devuelto a π / 2. La función coseno devuelve un

rango de -1 a 1. 

DISPLAY FUNCTION COS(1.5707963267949).

Page 239: Open Cobol Preg

 

4.2.11 FUNCTION CURRENT-DATE 

Devuelve un campo alfanumérico de longitud 21 con la fecha actual, la hora y la

información de zona horaria en forma YYYYMMDDhhmmsscc ± tznn

Indicación de la función de fecha actual.

Ejemplo de Salida: 

2008080921243796-0400 

4.2.12 FUNCTION DATE-OF-INTEGER 

Convierte un día entero, día de la Gregoriana desde 31 diciembre 1600 hasta la

forma AAAAMMDD

DISPLAY DATE-OF-INTEGER(1)DISPLAY DATE-OF-INTEGER(50000)

Salidas: 

16010101 17371123 

50.000 días después del 31 de diciembre 1600 es 23 de noviembre 1737.

4.2.13 FUNCTION DATE-TO-YYYYMMDD 

Convierte un formato de fecha de año de dos dígitos de forma año de cuatro

dígitos utilizando una ventana deslizante de giro del segundo argumento

opcional. El valor predeterminado del pivote a 50.

La implementación de OpenCOBOL FECHA-DE-AAAAMMDD también acepta un

tercer argumento opcional, reemplazando el valor por defecto del siglo de 1900 y

se trata como los años agregados a la parte determinado año del primer

argumento y modificados por el deslizamiento 100 Ventana pivotante.

Page 240: Open Cobol Preg

 

Los errores de dominio se producen para valores de año de menos de 1.600 y

más de 999 999. No hay ninguna validación de la fecha de entrada.

Debido a la ventana deslizante, esta función depende de la fecha de la evaluación

DISPLAY FUNCTION DATE-TO-YYYYMMDD(000101)DISPLAY FUNCTION DATE-TO-YYYYMMDD(500101)DISPLAY FUNCTION DATE-TO-YYYYMMDD(610101)DISPLAY FUNCTION DATE-TO-YYYYMMDD(990101)

DISPLAY FUNCTION DATE-TO-YYYYMMDD(990101, 50, 1900)DISPLAY FUNCTION DATE-TO-YYYYMMDD(990101, -10, 1900)DISPLAY FUNCTION DATE-TO-YYYYMMDD(990101, 50, 2000)DISPLAY FUNCTION DATE-TO-YYYYMMDD(990101, 50, 2100)

Cuando se ejecuta en agosto de 2008 produce: 

20000101 20500101 19610101 19990101 18990101 17990101 19990101 20990101 

4.2.14 FUNCTION DAY-OF-INTEGER 

Convierte un formulario entero fecha Gregoriana a la forma de fecha juliana (YYYDDD) basándose

en día desde 31 diciembre de 1600. Errores devuelven 0 

DISPLAY FUNCTION DAY-OF-INTEGER(97336).1867182 

97336 días después 16001231 es el día 182 del año 1867. Fecha de Canadá de la

Confederación y el cumpleaños reconocido.