Documentos de Académico
Documentos de Profesional
Documentos de Cultura
ndice Programacin Atesmo Ciencias Textos Mi ciudad Currculum Mi correo Tutoriales Delphi
Recomendar esto
RM/COBOL 85
Contenido.
Cdigos fuente. Estructura general del lenguaje. Archivos en RM/COBOL 85. Reflexiones. Enlaces. Comentarios. Cdigos de excepcin en RM/COBOL 85.
IDENTIFICATION DIVISION.
En esta divisin se declaran todos los datos identificatorios del programa en s, como ser el autor, el nombre interno del programa, los comentarios, etc... En esta divisin que es obligatoria la nica seccin obligatoria es PROGRAM-ID seguido del nombre interno del programa, por ejemplo Cdigo:
IDENTIFICATION DIVISION. PROGRAM-ID. HOLAMUND.
ENVIRONMENT DIVISION.
En esta seccin se declaran entre otras cosas los encabezados de los archivos de datos usando una seccin llamada INPUT-OUTPUT SECTION, prrafo FILE CONTROL. Un ejemplo:
ENVIRONMENT DIVISION. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT OPTIONAL CLIENTES ASSIGN RANDOM, "CLIENTES.DAT" ORGANIZATION IS INDEXED ACCESS MODE DYNAMIC RECORD KEY CODIGO-CLIENTE ALTERNATE RECORD KEY CUIT WITH DUPLICATES ALTERNATE RECORD KEY NOMBRE-APELLIDO WITH DUPLICATES.
En este ejemplo he declarado un archivo con nombre lgico CLIENTES y nombre fsico "clientes.dat" con acceso random (si el sistema operativo lo permite), la organizacin interna sera indexada (hay que mantener ndices) el modo de acceso ser dinmico (en COBOL significa que se puede leer secuencialmente o aleatoriamente usando cualquiera de los ndices declarados a continuacin). La clave principal del archivo es CODIGO-CLIENTE y tiene dos claves secundarias. Esta divisin se puede omitir.
En esta divisin se declaran las variables del programa, los encabezados de los archivos de datos, la estructura de registros del mismo, las tablas en memoria y las constantes. Hay dos secciones importantes en esta divisin, la primera es la FILE SECTION, en ella se declaran todos los registros que pertenecen a los archivos delcarados en el prrafo FILE-CONTROL de la seccin INPUT-OUTPUT de la divisin ENVIRONMENT. La otra seccin es WORKING-STORAGE SECTION, en esta se declaran las variables, constantes y tablas. Todas las variables en COBOL-85 son globales. Siguiendo con el ejemplo anterior:
DATA DIVISION. FILE SECTION. FD CLIENTES BLOCK 250 CHARACTERS RECORD 250 CHARACTERS LABEL RECORD STANDARD. 01 CLIENTE. 02 CODIGO-CLIENTE PIC 9(5). 02 CUIT PIC X(11). 02 NOMBRE-APELLIDO. 03 NOMBRE PIC X(30). 03 APELLIDO PIC X(30). WORKING-STORAGE SECTION. 77 ESPERA PIC X. 77 TECLA PIC 99. 77 FLAG PIC X.
En COBOL existen tres tipos de datos principales, numricos, alfanumricos y alfabticos, los primeros se indican con un 9() en la declaracin, los segundos con X() y los terceros con A(). La sintaxis de la declaracin es:
NIVEL IDENTIFICADOR PICTURE TIPO-DE-DATO.
Donde NIVEL es un nmero entre el 1 y el 88 e indica la "profundidad" de la variable. Las variables entre los niveles 1 y 49 indican que se trata de una estructura de datos siendo la de mayor nivel el 01 (como se ve en la declaracin del registro de cliente) esto significa que se puede referenciar un conjunto de datos con un solo identificador. Las variables de nivel entre 77 y 87 son variables independientes. Los identificadores de nivel 88 son constantes y se declaran obligatoriamente como sigue:
88 ESTO-ES-UNA-CONSTANTE PIC 9(3) VALUE 100.
La clusula VALUE indica qu valor tomar la constante. En los identificadores de los otros niveles tambin se puede usar la clusula VALUE para inicializalos a algn valor (sin embargo no se permite esta clusula en la declaracin de registro de archivos). Las variables en COBOL se almacenan en formato BCD (cdigo decimal binario) es decir, en base 10 y ocupan un byte por cada espacio de memoria; el rango de valores est dado por la propia definicin, por ejemplo.
77 NOMBRE PIC X(20).
Ocupa 20 bytes en memoria *sin importar qu contenga la variable*. Para el caso de los datos numricos (PIC 9()) tambin sucede lo mismo. Por ejemplo:
77 NUMERO-ENTERO PIC 9(3).
Ocupa 3 bytes y puede almacenar un valor entre cero y 999. Si se le asigna un valor que excede el rango permitido por la declaracin el valor se trunca por la izquierda en su valor literal, por ejemplo:
MOVE 1000 TO NUMERO-ENTERO.
Aqu NUMERO-ENTERO tomar el valor cero. Es posible declarar variables de tipo numrico real sin signo como sigue:
77 NUMERO-REAL-SIN-SIGNO PIC 9(3)V99.
La "V" indica la posicin de la coma decimal. Tambin es posible declarar un tipo numrico real con signo como sigue:
77 NUMERO-REAL-CON-SIGNO PIC S9(3)V99.
La "S" indica que se debe reservar un lugar para almacenar el signo. El largo de los identificadores es ilimitado pero solo los primeros 30 caracteres son significativos. No pueden comenzar con nmeros pero s contenerlos, todas las letras son vlidas ms el guin.
COMIENZO. ...sentencias...
Los nombres de prrafos son arbitrarios y sirven como puntos de saltos dentro del programa. Ahora s podemos crear un programa bien bsico, este es el cdigo:
IDENTIFICATION DIVISION. PROGRAM-ID. HOLAMUND. DATA DIVISION. WORKING-STORAGE SECTION. 77 ESPERA PIC X. 77 TECLA PIC 99. PROCEDURE DIVISION. COMIENZO. DISPLAY "Hola mundo!, por favor presiona una tecla". ACCEPT ESPERA NO BEEP ON EXCEPTION TECLA NEXT SENTENCE. DISPLAY "La tecla que presionaste fue: ". DISPLAY TECLA. EXIT PROGRAM. STOP RUN.
Despus de mi explicacin espero que les resulte obvio lo que hace este programa.
informacin dirigirse a www.cobolstandards.com o bin a http://www.ncits.org/tc_home/j4.htm Actualizacin! Ya est aprobado el estandar ANSI 2002.
Enlaces.
COBOL en espaol. Imprescindible pgina sobre COBOL totalmente en espanol. Diego Romero - Sbado, 09 de Septiembre de 2006
Comentarios
Orden: Ms recientes primero Ver 30 comentarios. Agregar comentario
83.50.75.54
Por: Marie Hola, necesitaria modelos de ejemplos sencillos de consulta, modificacin, borrado y listado del programa cobol, gracias.
190.132.80.133
Por: Enrique Tengo programas en rm/cobol 84-85 versin 2.1a. quisiera saber si existe algun programa de conversin, que tome los fuenes de ese cobol y los convierta a otro lenguaje o a otro cobol para ambiene windows
186.28.116.252
Por: Juan Corredor (juanelaspero@hotmail.com) me gusto mucho la explicacion!!! stubo muy buena, me gustaria saber mas, si alguien pudiera ayudarme ocn manueales, se lo agradezco....
64.76.174.10
Por: Christian uf !!! despus de casi 11 aos. llegue a una empresa que tiene cobol y ahora tengo que aprender... despues de estar casi 12 aos trabajando con genexus.... uf !!! algun manual, tutorial,tips !!! help !!! Salu2.-
88.2.223.253
Por: Carlos Buenas. Mi problema con cobol es que tengo una serie de archivos .idx y .dat de los cuales no conozco su estructura y necesito recuperar la informacin contenida en los mismos. Por dnde empiezo? Estoy bastante perdido...
190.25.225.131
Por: Sarita Necesito verificar la fecha de modificacin de un archivo .gnt es decir un ejecutable de Micro focus NetExpres, de tal manera que pueda hacer validacines en el Menu. El menu tambien esta desarrollado en MicroFocus y la idea es validar el programa que se va a ejecutar con la fecha de la ultima actualizacin del programa. Muchas gracias si me pueden ayudar.
converted by Web2PDFConvert.com
201.229.169.62
Por: Mike tengo una archivo donde cobol guarda la data el archivo es binario como puedo saber la estructura del archivo osea sabe como estan compuesto los campos
200.88.190.137
200.45.119.110
Por: Curulo Tengo un ABM y cuando lo quiero compilar me da este error. OPEN ERROR FOR FILE ABM****. PODRIAS DECIRME DONDE TENGO EL ERROR GRACIAS. ME INTERESARIA LOS MANUALES .OK. GRACIAS.
Mircoles, 21 de Enero de 2009 a las 12:07:22
200.84.201.227
200.121.223.33
Por: Hector Excelente tu explicacin y el detalle de los ejemplos, sobretodo para los que programan en cobol o desean conocer sobre este compilador. Mis felicitaciones y agradecimientos por tu aporte
83.50.179.175
Por: Campiki Para JoeAccion. Para vaciar una archivo de RmCobol slo debes hacer un OPEN OUTPUT archivo. Para pasar una dat a txt o excel. Create un archivo organization line sequential, y entre campo y campo de este, crea un campo adicional PIC X. Haces lectura sequencial del archivo origen, grabando en el destino, a cada campo adicional creado le pasas un valor p.ej ":". Este archivo creado lo puedes capturar en excel sin problema. Espero haberte ayudado aunque algo tarde. Campiki
Viernes, 21 de Noviembre de 2008 a las 16:31:13
189.142.146.177
Por: Joeaccion Vaciar un archivo Dat creado por RMcobol. ( mi experiencia en Cobol es nula ) Deseo pasar un archivo Dat a Txt o Excel lo que sea mas fcil, como puedo hacerlo? hay una utileria gratuita? puede ser por medio de Excel? tendras un programa base para modificarlo, correrlo y me pueda mandar mi informacin?
converted by Web2PDFConvert.com
Por: Victor Tengo un problema con RMCOBOL /85 ver. 5.36 cuando utilizo el ACCEPT (VARIABLE) FROM TIME. Cuando la rutina vuelve a pasar por ese comando a veces se queda la hora anterior. Por ejemplo si en el computador la HOra es 10:30 am me deja la hora del hace 15 minutos me marca las 10;15 am. este programa es para el control de ingresos y salidas de vehiculos de un parqueadero. Al tomar mal la hora liquida mal elprecio del servicio. Alguien me podra a yudar?
Viernes, 25 de Abril de 2008 a las 00:04:32
190.100.158.6
Por: Pedro (pedrocortesd@hotmail.com) Alguien tiene la rutina para generar codigos de barra en cobol. si la tuvieran porfavor, se los agradeceria muchisimo... Gracias
190.42.230.43
Por: Victor Muy buena explicacion Soy cobolero todavia trabajo con la version 5.2 y por exigencias del mercado estoy tratando de pasarloa powercobol 5 que es el que me parece se semeja mas a la version anterior, pero tengo problemas para majesjar el detalle de un documento, es decir, donde van los item, he probado con tablas, creando lineas de texto, etc.pero nada, a ver si alguien me da alguna sujerencia, por lo demas todo bien
Martes, 25 de Marzo de 2008 a las 00:35:22
190.31.115.236
201.223.92.222
Por: Ortografia A Sebastian: eSplicacion = eXplicacion haVer = haBer Espero que te ayude a no cometer la misma falta. Saludos.
Lunes, 10 de Marzo de 2008 a las 11:48:30
201.250.103.30
Por: Sebastian bien echo la esplicacin de como se conformma una ABM. Yo necesitara si me pueden ayudar,como se hace un ejercicio donde se usa el caso especial de ABM, es decir no va a haver (altas-bajas-mod),es todo modificaciones;por ejemplo q un ejerc. pida calcular el ingreso y egreso de mercadera?., ese es uno.y su estructura de: archivo original y archivo con la actualizacin no son iguales, el q va a actualizar al original tiene mas campos.
Viernes, 07 de Marzo de 2008 a las 11:07:00
200.117.29.77
Por: Fabian (fabianconte@yahoo.com.ar) hola trabajo con microfocus cobol y quisiera usar algo que pueda graficar o usar el mouse habra algo compatible con esto ... gracias espero alguna repuesta de alquien
converted by Web2PDFConvert.com
201.140.160.177
201.228.129.42
Por: Luis Miguel Figueroa solicito la descarga del compilador y utilitarios de: powercobol version 5, objetive cobol
200.8.110.107
190.137.199.44
Por: Luis Casiello Estoy probando FujitsuCobol y me esta interesando bastante....no pude hacer funcionar Fuji con base de datos....Algun ejemplo a mano para poder aprender??? Gracias a quien lo provea!!!
146.82.88.135
Por: Giani pucha estoy super complicada con cobol.... quien me puede indicar donde sacar un buen manual please es urgente!!!!!!
209.124.116.248
Por: Ronald Cuales son las cuatro Divisiones que tiene COBOL
200.85.222.70
Por: Victor Muoz Hola encontre esta pagina por casulaidad, me alegra que todavia querdemos COBOLIANOS de corazon, ha de tener en cuenta que el el COBOL es mas viejo que el Hilo negro y todavia funciona.....GRACIAS COBOL, nosotros trabajamos todo en Cobol y otras aplicaciones pero la empresda basicamenbte se maneja en COBOL ....Gracias felkicidades... CHILE
190.31.223.82
Por: Mauricio Mss hola, estoy haciendo un programa de liquidacion de sueldos. yo quiero guardar una formula en la base de datos; tipo= (total*cant)/algo. y despues leer los datos de una persona y esjecutar la formula. si alguien sabe como hacerlo le dejo mi mail pra que me informen. desde ya gracias. mauriciomss@hotmail.com
converted by Web2PDFConvert.com
190.74.201.229
Por: Andres Eloy Vnzla Si de hecho es de los mejores para trabajar todo tipo de archivos y muy usado en bancos. solo soy estudiante y hay pocas pag de cobol quisiera pedir dos tipos de programas mas complejos 1 como trabaja con vectores y otro con archivos indexados leidos desde una base de datos gracias si es esto posible me ayudarias mucho = P
200.82.57.20
Por: Diego Romero Roberto A. Hombre, ac no hay malos comentarios acerca de COBOL y creme que a mi tambin me gusta, me ha dado de comer los ltimos 10 aos :D. Si no, no tendra esta pgina dedicada a COBOL ;).
1 2
Programacin
Pascal Cobol Delphi / object pascal Php / htm l Javascript Textos y consejos tiles SQL y Base de datos
Atesmo
Teologa Atesm o Crtica a las religiones Filosofa
Ciencias
Fsica Biologa Historia Escepticism o
Textos
Form ulario de contacto Currculum Mi ciudad - gualeguaych Poltica Pensam ientos Sociedad Literatura de ficcin Poesa
Tutoriales Delphi
Tutorial para principiantes Multithreading - A la m anera de Delphi Hooks o Ganchos
converted by Web2PDFConvert.com