PerroCobolero

PerroCobolero

ADS

jueves, 22 de octubre de 2015

Sentencia DD

Sentencia DD

Sentencia que describe los ficheros con los que se va a trabajar (una sentencia DD por cada fichero). Identifica cada fichero lógico definido en la SELECT del programa con su fichero físico.


                //ENTRADA1    DD    [  *  ó   DATA]
                             ....Datos
                /*         ó       //*      ó       //   (fin de datos)

                //ENTRADA1    DD   DUMMY


-          Parámetros Posicionales en la sentencia DD:

o   * -  el fichero que define esta DD va incorporado a continuación de ella en el job. Aparece delimitado por  /*  o por //.
o   DATA – el fichero que define esta DD va incorporado a continuación de ella en el job. Aparece delimitado por  /*.
o   DUMMY – representa un fichero ficticio, el programa lo abrirá, efectuará operaciones de E/S sobre él (ficticias), pero el sistema no dará error.



//CLIENTES    DD DSN=USUARIO.CLIENTES,
//                 DISP=(NEW,CATLG,DELETE),VOL=SER=SYSWK1,
//                 UNIT=3380,LABEL=3,SPACE=(TRK,(10,5),RLSE),
//                 SYSOUT=*,COPIES=4,DEST=RMT005,OUTLIM=1500,
//                 RECFM=FB,LRECL=150,BLKSIZE=1500


-          Parámetros de Palabra Clave en la sentencia DD:

o   DSN – indica el nombre físico del fichero.
o   VOL – identifica el volumen en el que residirá el nuevo fichero.
o   UNIT – se utiliza para indica al sistema que sitúe el fichero en un dispositivo específico (disco, cinta).
o   LABEL – especifica el tipo de etiqueta asociada con el fichero, el número relativo del fichero en la cinta y si el fichero tiene protección de entrada o de salida.
o   SPACE – permite solicitar espacio para un fichero nuevo en un volumen de acceso directo. Consta de los siguientes subparámetros:

§  Unidad en las que se mide el espacio (pistas (TRK), cilindros (CYL)).
§  Cantidad de espacio a asignar:

·         Extensión primaria: espacio que se reservará para el fichero en el momento de crearlo.
·         Extensión secundaria: cantidad de espacio que se añade cada vez que el fichero se quede pequeño.
§  RLSE: indica que el espacio no utilizado en la creación del fichero, se liberará al cerrarlo.

o   SYSOUT – indica que el fichero lógico debe direccionarse a una clase de salida, en lugar de a un disco o a una cinta.
o   COPIES – indica el número de copias que se desea obtener de un listado.
o   DEST – indica la impresora física por la que se listará el informe a imprimir.
o   OUTLIM – indica el número máximo de líneas que se van a imprimir.
o   RECFM – indica el formato y bloqueo del registro.
o   LRECL – indica la longitud del registro.
o   BLKSIZE – indica la longitud del bloque.
o   DISP – indica el estado en que se encuentra el fichero cuando comienza el trabajo, y cómo queremos que quede tras la ejecución, incluso en caso de terminación anormal.

El formato para este parámetro es el siguiente:

                       DISP=(DISP1,DISP2,DISP3)

§  DISP1 – indica el estado del fichero al iniciarse el paso.

·         NEW: el fichero no existe y se crea en el paso.
·         OLD: el fichero ya existe y se debe utilizar de forma exclusiva.
·         SHR: el fichero ya existe y se puede compartir.
·         MOD: si el fichero ya existe, no se puede compartir, y se posiciona tras el último registro existente en el fichero.
Si el fichero no existe, equivale al estado NEW.
                       Si no se codifica, se asume siempre NEW.

§  DISP2 – indica el estado del fichero cuando termina bien el paso.
§  DISP3 -  indica el estado del fichero cuando el paso finaliza de manera anormal (ABEND).

·         DELETE: el fichero se borra, incluso del catálogo.
·         KEEP: el fichero se guarda al terminar el paso. Sin embargo, no guarda información de fichero (UNIT, VOL...) para pasos posteriores, habría que volver a codificarlas al usar el fichero.
·         CATLG: el fichero se guarda y se cataloga.
·         UNCATLG: el fichero se guarda, pero se elimina del catálogo.
·         PASS: el fichero se guarda al terminar el paso, pero se borra al terminar el job. Guarda información del fichero para pasos posteriores. Sólo es válido para ‘DISP2’, ya que en caso de ABEND, se pierden todos los ficheros temporales.



Si no se codifica, se asume KEEP, si ya existe el fichero (OLD), y DELETE, si no existe (NEW).

No hay comentarios.:

Publicar un comentario