Introducción
La orientación del curso / manual la enfocaré a mi entorno de trabajo, es decir RM bajo UNIX, pero como os he dicho antes, no hay muchas diferencias.
Al pensar en Cobol como lenguaje de programación debemos de tener presente que nos referimos a un lenguaje dedicado a gestión de datos con una magnífica transportabilidad entre los distintos sistemas, yo he ejecutado el mismo programa en MS-DOS y UNIX sin modificar ni una linea de código y copiando solo el objeto.
Si se le llaman lenguajes de programación, es porque realmente se consideran como cualquier idioma, es decir tiene su gramática, sus verbos, sus frases, sus párrafos y el cobol además tiene una gran similitud con el inglés, ya que todo su entorno está sacado de éste idioma. Cobol además es un lenguaje estructurado y sus partes se diferencias claramente en Divisiones.
Estas son 4, son obligatorias y cada una de ellas tiene una misión diferente dentro de cada programa como veremos a continuación.
El programa cobol se escribe secuencialmente en líneas de 80 caracteres o menos con la siguiente división:
La parte (1) comprende las columnas de la 1 a la 6 ambas inclusive y se utiliza para numerar las líneas, aunque hoy en día prácticamente no se utilizan.
La parte (2) comprende la columna 7 y en ella podemos encontrar, un guión (-) que nos indica que esta línea es continuación de la anterior pero que por su tamaño ocupa mas de una línea, un asteristo (*) que nos indica que el texto que viene a continuación es un comentario y por lo tanto que el compilador lo ignore, o bien puede servir dependiendo de los compiladores para indicaciones del debug.
La parte (3) se le llama Area A comprende las columnas 8 a 11 ambas inclusive y aquí es donde se escriben los nombre de las divisiones, de las secciones, de los párrafos, los indicadores de FD (File Description) y los niveles de variables 01 y 77.
La parte (4) llamada Area B comprende desde la columna 12 a la 72 y en ellas se incluirán todas las instrucciones del programa, las lineas de las secciones y los niveles de variables mayores a 01.
La parte (5) de la columna 73 a la 80 no se utiliza y por lo tanto es ignorada por el compilador.
El punto es un signo de vital importancia en cobol ya que nos indica el final de una linea, en el han de terminar todas las secciones, divisiones y párrafos. Si al final de una linea el compilador no encuentra el punto, interpretará que la instrucción continúa hasta que aparezca el punto de fin de linea.
Al igual que en otros lenguajes, el cobol dispone de palabras reservadas que no debemos de utilizar como nombres de variables o de párrafos, además éstos no deben de exceder de 30 caracteres (depende del compilador).
Las variables y constantes que se pueden utilizar son numéricas, alfabéticas o alfanuméricas. Las numéricas al contrario de la mayoría de los lenguajes actuales o las bases de datos no miden su tamaño por bytes sino por dígitos, es decir, que una variable de 6 dígitos podrá contener números desde 0 hasta 999999 si es de valor absoluto o incluyendo los negativos si lleva signo. Para las alfanuméricas en cambio no hay cambio alguna y su tamaño viene indicado por el número de caracteres que ocupa.
Existen además en cobol unas variables que vienen con un valor propio y que se pueden utilizar libremente, también llamadas Constantes Figurativas, como ZERO, SPACE, LOW-VALUES, HIGH-VALUES, etc…
Quisiera respetar para todo el manual las mismas pautas, color Amarillo para las palabras reservadas cobol, subrayado para las obligatorias, en cursiva los comentarios y en normal el resto.
Nota final:
Es obvio que cada manual estará orientado a la manera de trabajar de quien lo escribe, con ello quiero decir que habrá cosas que no explicaré mucho o incluso otras que omitiré porque yo no las haya utilizado nunca.
Una explicación perfectamente detallada deberá venir en los manuales de cada uno de los compiladores que del lenguaje Cobol existen hoy en dia.
Espero que podais comprender ésto, eso si, os puedo asegurar que todos mis programas utilizan solo lo que aqui voy a exponer y ninguno nunca me ha dado ningún problema.