Open Cobol Preg
-
Upload
victor-lopez -
Category
Documents
-
view
928 -
download
40
Transcript of 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] ,
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
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?
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?
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?
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
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?
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
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,
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.
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
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
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
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
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.
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.
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
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.
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.
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.
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.
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
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
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 .
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?
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.
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.
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
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?
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
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:
- 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
-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]
- 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í]
- 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.
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
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.
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 */
/* 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>
#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;
}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: */
/* 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
.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
.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)
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 .
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
-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 ]]
[ - 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
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
-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 .
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
# 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
# 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
# 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
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
*> 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.
*> 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 .
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 .
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 .
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.
*> 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
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
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
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 ***
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 .
************* **************************************** 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 .
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
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
PÁGINA
FINAL DEL TRABAJO*2990 - EXIT .
EXIT .**************************************** ************************
* 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.
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
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
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
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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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 .
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 .
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 .." .
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
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
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.
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
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"
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 .
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.
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 .
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
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
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.
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 .
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
*> 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
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.
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 .
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.
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 .
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
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
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.
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 .
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.
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
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
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.
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
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.
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.
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
-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
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
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.
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
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.
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 .
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 .
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
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
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
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
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.
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.
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:
$ 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.
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 .
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 .
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
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.
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 .
*> - ********* - ********* - ********* - ********* - ******* ** -********* - **
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
''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
''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
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 .
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 .
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
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.
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.
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
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 "*" .
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.
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
$ 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.
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
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 .
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.
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.
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
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
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
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
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.
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 .
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í
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
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 .
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
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
12345f202020202020200123456f2020202020201234567f202020202020012345678f2020202020123456789f202020202001234567890f2020202012345678901f202020200123456789012f2020201234567890123f202020012345678901234f2020123456789012345f202001234567890123456f2012345678901234567f200123456789012345678f1d202020202020202020012d2020202020202020123d202020202020202001234d2020202020202012345d202020202020200123456d2020202020201234567d202020202020012345678d2020202020123456789d202020202001234567890d2020202012345678901d202020200123456789012d2020201234567890123d202020012345678901234d2020123456789012345d202001234567890123456d2012345678901234567d200123456789012345678d0f202020202020202020000f2020202020202020000f202020202020202000000f2020202020202000000f202020202020200000000f2020202020200000000f202020202020000000000f2020202020000000000f202020202000000000000f2020202000000000000f202020200000000000000f2020200000000000000f202020000000000000000f2020000000000000000f202000000000000000000f2000000000000000000f200000000000000000000f0c202020202020202020000c2020202020202020000c202020202020202000000c20202020202020
00000c202020202020200000000c2020202020200000000c202020202020000000000c2020202020000000000c202020202000000000000c2020202000000000000c202020200000000000000c2020200000000000000c202020000000000000000c2020000000000000000c202000000000000000000c2000000000000000000c200000000000000000000c0f202020202020202020000f2020202020202020000f202020202020202000000f2020202020202000000f202020202020200000000f2020202020200000000f202020202020000000000f2020202020000000000f202020202000000000000f2020202000000000000f202020200000000000000f2020200000000000000f202020000000000000000f2020000000000000000f202000000000000000000f2000000000000000000f200000000000000000000f0c202020202020202020000c2020202020202020000c202020202020202000000c2020202020202000000c202020202020200000000c2020202020200000000c202020202020000000000c2020202020000000000c202020202000000000000c2020202000000000000c202020200000000000000c2020200000000000000c202020000000000000000c2020000000000000000c202000000000000000000c2000000000000000000c200000000000000000000c
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 .
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" .
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.*> <*
*> <* 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 .
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.
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
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.
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 .
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.
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
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) .
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
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
*> 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.
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
000000000f202020202000000000000f2020202000000000000f202020200000000000000f2020200000000000000f202020000000000000000f2020000000000000000f202000000000000000000f2000000000000000000f200000000000000000000f0c202020202020202020000c2020202020202020000c202020202020202000000c2020202020202000000c202020202020200000000c2020202020200000000c202020202020000000000c2020202020000000000c202020202000000000000c2020202000000000000c202020200000000000000c2020200000000000000c202020000000000000000c2020000000000000000c202000000000000000000c2000000000000000000c200000000000000000000c0f202020202020202020000f2020202020202020000f202020202020202000000f2020202020202000000f202020202020200000000f2020202020200000000f202020202020000000000f2020202020000000000f202020202000000000000f2020202000000000000f202020200000000000000f2020200000000000000f202020000000000000000f2020000000000000000f202000000000000000000f2000000000000000000f200000000000000000000f0c202020202020202020000c2020202020202020000c202020202020202000000c2020202020202000000c202020202020200000000c2020202020200000000c202020202020000000000c2020202020
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 .
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
* >> 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.
*><****************************************************
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:
-------------------------------------------------- ----------------------------------------
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
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.
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.
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.
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 .
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 .
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.
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 .
*> 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
.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_________________________
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 *>
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.
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 .
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
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.
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 *> ** ************************************************** ******** <*
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
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
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.
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
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
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 ).
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 .
****************************************************************** 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.
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
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
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
...
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
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.
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
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.
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"
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
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
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.
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.
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.
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
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.
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
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 .
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
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
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
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.
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 .
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.
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).
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.
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.