Está en la página 1de 7

Capitulo 3

3- La divisin DATA. INTRODUCCIN.


La divisin de datos se utiliza para realizar una descripcin completa de los ficheros que intervienen en el programa, de sus registros lgicos y de las variables intermedias o de trabajo. El formato general para esta divisin es el siguiente: D ! D"#"$"%&. '("LE $E)!"%&. Descripcin del fichero Descripcin del registro. ... * '+%,-"&./$!%, .E $E)!"%& '00 Descripcin de campos individuales. * '12 Descripcin de registros. ** 'L"&- .E $E)!"%&. '00 Descripcin de campos individuales. * '12 Descripcin de registros. ** ')%334&") !"%& $E)!"%&. 'Descripcin comunicacin. * 'Descripcin de registros. * * ',E5%,! $E)!"%&. 'Descripcin de informes.** '$),EE& $E)!"%&. 12 Descripcin de pantallas.*

$eccin de ficheros.
En la FILE SECTION debe describirse toda la informacin referente a los ficheros utilizados en el programa.

Seccin de trabajo.
En la WORKING-STORAGE SECTION se describen los campos utilizados por el programa como campos intermedios o de trabajo. El formato es el siguiente: '+%,-"&./$!%, .E $E)!"%&. '00 Descripcin de campos individuales.* '12 Descripcin de registros.** Los campos que se especifican en la SECCIN DE TRABAJO pueden agruparse siguiendo el formato empleado en el apartado descripcin de na estr ct ra re!istro , e6puesto a continuacin, o bien ser campos de independientes en cuyo caso van precedidos por el numero de nivel 00.

Descripcin de na estr ct ra re!istro.


4na descripcin de registro consiste en un conjunto de descripciones de datos, las cuales describen las caracter7sticas de un registro en particular. )ada descripcin de dar8 esta formada por un numero de nivel seguido de un nombre de datos, o de la cl8usula FILLER, seguido de una serie de cl8usulas si es que estas son requeridas. 4na descripcin de registro puede tener una estructura jerarquizada compuesta por una o mas inscripciones jerarquizadas o campos que escribiremos de acuerdo con el siguiente formato:

21

nombre de datos n9mero de nivel ("LLE, ',EDE("&E$* '5")!4,E* '4$ .E* '# L4E* '$".&* ':4$!"("ED ,".!;* '<L &- +;E& =E,%* '%))4,$* El orden de estas cl8usulas puede ser cualquiera, e6cepto la cl8usula ,EDE("&E$, que debe ser la primera, en el caso de especificarse. !oda inscripcin debe terminar con un punto. El nombre del registro lleva numero de nivel 12 y el resto de los campos lleva un numero de nivel de 1> a ?@.

N"#ero de nive$.
$irve para indicar la relacin e6istente entre un campo y el resto de los campos del registro. Los campos de datos lo podemos clasificar en: / Campos elementales : 4n campo elemental no puede subdividirse o no es necesario subdividirlo para ser tratado por el programa. / Campos compuesto: 4n campo compuesto esta formado por varios campos elementales. / Campos n!epen! entes : 4n campo independiente es un campo de trabajo que ser8 definido en la seccin de trabajo. 4na estructura jerarquizada, permite trabajara con registros completos, con campos compuestos y con campos elementales. es e$ &'. Los n9meros de nivel que pueden utilizarse son: del 12 al ?@, AA, 00, 0B y BB. %$ nive$ s perior Las normas a seguir para utilizar los n9meros de nivel son las siguientes: C 4n campo compuesto tiene un nivel superior que cualquiera de sus campos elementales. C El numero de nivel 12 solo puede preceder al nombre del registro. C Los n9meros del 1> al ?@ pueden preceder a cualquier campo del registro, elemental o compuesto. C Los numero de nivel utilizados no tienen porque ser correlativos. C El numero de nivel 00 se utiliza para describir campos independientes en la +%,-"&.. C El numero de nivel BB se utiliza para describir nombres de condicin. El formato es el siguiente: !;,%4.!; BB nombre de condicin # L4E literal/2 !;,4 literal/> literal/D !;,4 !;,%4.!; literal/?

C El numero de nivel AA se utiliza 9nicamente con la cl8usula ,E& 3E$. 5ermite asignar un nuevo nombre a un campo elemental, a un campo compuesto o a un conjunto de campos elementales. $u formato es el siguiente:

21

22

!;,4 AA nombre de dato/2E ,E& 3E$ nombre de dato/> nombre de dato/D !;,%4.;

La cl8usula ,E& 3E$ no puede formar parte de la descripcin de un campo y es obligatorio especificarla inmediatamente despuFs de la descripcin del registro. 4n campo con numero de nivel 12, 00 u BB no puede ser renombrado por esta cl8usula. &i nombre de dato/> ni nombre de dato/D pueden tener la cl8usula %))4,$, ni pueden estar subordinados a un campo que contenga la cl8usula %))4,$. C El numero de nivel 0B se utiliza para definir constantes identificadas por un nombre. )ada referencia a una constante, es reemplazada por el compilador )%<%L, por su valor. El formato general es el siguiente: literal 0B nombre constanteE # L4E "$ &EG! HI/ entero

No#bre de datos
$irve para nombrar el campo con el fin de poder referenciarlo en el programa y debe escribirse a continuacin del numero de nivel. $i en la 5,%)ED4,E D"#"$"%& no se va a referenciar alguno de los campos nombrados, el nombre de cada uno de estos campos, puede ser sustituido por la palabra ("LLE,.

(ICTUR%.
Esta cl8usula permite declarar el tipo y el tamaJo de un campo elemental. El tipo determina la informacin que puede almacenarse en el campo, as7 como las operaciones de que con Fl puedan realizarse. $u formato es el siguiente: 5")!4,E "$ especificacin de formato 5") El tipo de campo, depende de los caracteres que se empleen para definir la especificacin de formato. Los campos los podemos clasificar en al"a#$t cos% al"anum$& cos y num$& cos' La longitud del campo viene dada por el numero de caracteres empleados en la especificacin de formato para declarar el campo. El m86imo numero de caracteres permitido es D1.

CA)(OS AL*A+,TICOS.
5ermiten almacenar 9nicamente letras yIo blancos. El car8cter que se emplea para definir un campo de este tipo es la .

CA)(OS AL*ANU),RICOS.
5ermiten almacenar cualquier car8cter del juego de caracteres para definir un campo de este tipo es la G. $)"". El car8cter que se emplea

22

2>

CA)(OS NU),RICOS.
5ermiten almacenar cualquier valor numFrico. !ener en cuenta que en )%<%L no se permiten n9meros superiores a 2B cifras. Los caracteres que se emplean para definir un campo de este tipo sin: @, $, # y 5. El significado de cada uno de los caracteres que pueden intervenir en una especificacin de formato para un campo numFrico es: @ $ ,epresenta un cifra del 12 al @. "ndica la aparicin del signo H o /. El signo no es obligatorio, pero es conveniente ponerlo porque sino )%<%L, despuFs de cada operacin lo suprime sistem8ticamente, lo que repercute en un mayor tiempo de ejecucin. )uando se pone, debe ser el primer car8cter de la especificacin de formato. ,epresenta la posicin de un punto decimal impl7cito. $e utiliza internamente para alinear las partes decimales de los campos, cuando se quiere realizar una operacin. "ndica una cifra virtual, representando un cero. 5ara la que no se ha reservado una posicin de memoria.

# 5

(ICTUR% para $a edicin.


5ara visualizar por pantalla o escribir por la impresora un campo, adem8s de los caracteres G, @, # y 5 se dispone de los caracteres: = C . , 1 < I ), D< K H / El significado de cada uno de estos caracteres es el siguiente: = C . , ,epresenta una cifra del 1 al @. $i la cifra a escribir se corresponde con un 1 no significativo, se escribe en su lugar un espacio en blanco. ,epresenta una cifra del 1 al @. $i la cifra a escribir se corresponde con un 1 no significativo, se escribe en su lugar un C. Los caracteres = y C no pueden ir precedidos, pero si seguidos del car8cter @. El punto hace que se inserte un punto decimal para separar la parte entera de la parte decimal. La coma hace que se inserte este mismo car8cter en el lugar que se indica en la especificacin de formato. La cl8usula DE)"3 L/5%"&! "$ )%33 en la E&#",%&3E&! D"#"$"%&, permite invertir el papel del punto y la coma en las especificaciones de formato en la edicin. 5ermite que se inserte un espacio en blanco en el lugar que se indica en la especificacin de formato. 5ermite que se inserte un cero en el lugar de que se indica en la especificacin de formato. 5ermite que se inserte una barra en el lugar de que se indica en la especificacin de formato. $7mbolo bancario indicativo de crFdito. $olo puede colocarse a la derecha de la especificacin de formato. ), aparece sobre la l7nea que se imprime si el valor es negativo. $i el valor es positivo aparecer8n en su lugar > espacios en blanco. $7mbolo bancario indicativo de dFbito. $olo puede colocarse a la derecha de la especificacin de formato. D< aparece sobre la l7nea que se imprime si el valor es negativo. $i el valor es positivo aparecer8n en su lugar > espacios en blanco. 4n car8cter K colocado en el primer lugar en la especificacin de formato, permite la aparicin de este car8cter en el lugar indicado. 4n car8cter H colocado en primer o ultimo lugar en la especificacin de formato, permite la aparicin de un H para valores positivos y de un / para valores negativos en el lugar indicado. 4n car8cter H colocado en primer o ultimo lugar en la especificacin de formato, permite la aparicin de un espacio en blanco para valores positivos o un / para valores negativos en el lugar indicado. La aparicin en una especificacin de formato de n caracteres K, permite editar un valor de n/2 cifras. $i la cifra a escribir se corresponde con un 1 no significativo, se escribe en su lugar un espacio en blanco, e6cepto a la izquierda de la primera cifra significativa que se inserta un car8cter K. La aparicin en una especificacin de formato de n caracteres H, permite editar un valor de n/2 ,

< 1 I ), D< K H / KK...

HH...

2>

2D cifras. $i la cifra a escribir se corresponde con un 1 no significativo, se escribe en su lugar un espacio en blanco, e6cepto a la izquierda de la primera cifra significativa que se inserta un car8cter H para los valores positivos o un / para los valores negativos. La aparicin en una especificacin de formato de n caracteres H, permite editar un valor de n/2 cifras. $i la cifra a escribir se corresponde con un 1 no significativo, se escribe en su lugar un espacio en blanco, e6cepto a la izquierda de la primera cifra significativa que se inserta un car8cter / para los valores negativos.

//

La cl8usula DE)"3 L/5%"&! "$ )%33 , permite utilizar la coma decimal en lugar del punto decimal. $in embargo, este problema puede ser resuelto sin necesidad de especificar esta cl8usula. 5ara ello indicaremos en la especificacin de formato el lugar de la coma mediante el car8cter # e insertaremos a su izquierda o derecha el car8cter coma .

USA-%.
Esta cl8usula permite indicar cono se almacenar8 en memoria, valor en un campo numFrico. $u formato es el siguiente: D"$5L 4$ .E L !"%& !"%& !"%& !"%& !"%& L L/G L/D L/? L/M o o o o o )%35 )%35/G )%35/D )%35/? )%35/M )%354! )%354! )%354! )%354! )%354!

D"$5L L es la opcin por defecto. )on esta opcin, cara car8cter sea numFrico o no, ocupa un byte o octeto en memoria, representado en $)"". Los valores numFricos son almacenados en base 21. )%35 y )%35/? tienen el mismo significado. $e emplean con campos numFricos y los valores son almacenados en los mismos en binario puro. Empleando la representacin complemento a >. )%35/D se emplea solo con campos numFricos y hace que un valor sea almacenado en binario decimal empaquetado N<)DO. El semiocteto menos significativo contiene el signo. )%35/M es un formato similar a )%35, con la diferencia de que el valor que puede almacenarse, no depende del numero de @ indicados en la cl8usula 5"), si no del numero binario mas grande que pueda almacenarse en ese espacio. )%35/G es un formato similar a )%35. )on respecto a este tiene las siguientes diferencias: C aO La especificacin de formato puede estar formada totalmente por G. C bO !anto si la especificacin de formato esta constituida por G o por @, el valor que puede almacenarse queda limitado al numero binario mas grande que pueda almacenarse. C cO El uso de )%35/G con elementos utilizados en operaciones aritmFticas, esta restringido a las operaciones DD, $4<$!, )!, 34L!"5LL y D"#"DE no permitiFndose el empleo de %& $"=E E,,%,. $i el resultado obtenido con estas operaciones es demasiado grande, se trunca. $i el resultado no es un entero, se trunca la parte decimal. $i el resultado es negativo se almacena en complemento a >.

.ALU%.
Esta cl8usula puede utilizarse en esta seccin, para asignar un valor a un campo con nivel BB, nombres de condicin, para asignar un valor a una constante identificada por un nombre o bien para inicializar campos de datos con un determinado valor. (ormato:

00 hola pic H==<#,@@. % 00 hola pic H==<,#@@. 2D

2? # L4E literal.

SI-N.
Esta cl8usula especifica la posicin y el modo de representacin del signo operacional de un campo numFrico en cuya especificacin de formato se ha especificado $. $u formato es el siguiente: !, "L"&. $".& LE D"&. La cl8usula $".& se aplica a campos numFricos descritos como 4$ .E "$ D"$5L L. $i la cl8usula $E5 , !E no se especifica, el signo del numero es incorporado en el d7gito de la derecha N!, "L"&.O o en el d7gito de la izquierda NLE D"&.O. En este caso el car8cter $ de la 5")!4,E no se tiene en cuenta para determinar el tamaJo del campo. $i la cl8usula $E5 , !E se especifica, entonces el signo es almacenado como un car8cter separado adicional a los d7gitos. En esta caso el car8cter $ se tiene en cuenta para determinar el tamaJo del campo. $i la cl8usula $".& no se especifica, generalmente la posicin por defecto es a la izquierda. $E5 , !E ); , )!E,

/USTI*I%D.
Esta cl8usula permite justificar un valor alfabFtico o alfanumFrico a la derecha. $u formato es el siguiente: :4$!"("ED :4$! ,".!;

Esta cl8usula puede especificarse solamente con campos elementales u no puede especificarse para un campo descrito como numFrico o de edicin.

+LAN0.
Esta cl8usula llena un campo numFrico con espacios cuando su valor sea cero. De esta forma, eliminan todos los caracteres de insercin, en caso de que la zona a editar sea nula. $u formato es el siguiente: <L &- +;E& =E,%. Esta cl8usula puede especificarse solamente con campos numFricos elementales con formato D"$5L L o con campos numFricos de edicin.

OCCURS.
Esta cl8usula permite definir una estructura de datos denominada tabla. 4na tabla es un conjunto de elementos todos del mismo tipo, esto es, con idFnticos atributos. $u formato es el siguiente: %))4,$ n !"3E$. La cl8usula %))4,$ indica el numero de veces, n, que se repite un elemento Ncampo simple o compuestoO con la misma descripcin.

2?

2M

El sub7ndice correspondiente al primer elemento es 2. El sub7ndice puede ser un numero entero o un nombre de datos. $i es un nombre de datos se recomienda declararlo con formato binario N)%35O. La cl8usula %))4,$ no puede especificarse en una descripcin con numero de nivel 12 o 00. 4na tabla en )%<%L puede tener hasta D sub7ndices. En este caso se dice que la tabla es de D dimensiones. La cl8usula %))4,$ y # L4E son incompatibles, lo cual no permite inicializar una tabla en su propia declaracin.

R%D%*IN%S.
Esta cl8usula permite dar a un campo o a un 8rea de memoria mas de un nombre y mas de un formato. $u formato es el siguiente: nombre de dato/2 ,EDE("&E$ nombre de dato/> ("LLE,

La cl8usula ,EDE("&E$ ha de ser la primera que siga al nombre de datos. Los campos nombre de dato/2 y campos nombre de dato/> han de estar declarados al mismo nivel, pero no a nivel AA u BB. La redefinicin de un campo compuesto se hace inmediatamente despuFs del ultimo de los campos elementales que forman parte de aquel. Esta cl8usula va a permitir poder inicializar una tabla en el momento de declararla.

Seccion de en$ace.
Esta seccin permite declarar campos de memoria para ser utilizados por otros programas y por consiguiente conservar los datos de un programa para otro.

Seccin de co# nicaciones.


Esta seccion permite procesar mensajes y controlar el flujo de los mismos.

Seccin de in1or#es.
Esta seccin permite crear un dormato especifico para imprimir un fichero de salida.

Seccin de panta$$a.
Esta seccin permite controlar la representacin de los datos en pantalla.

2M