INTRODUCCION
La
inquietud se plantea desde el punto de vista de qué tipo de archivo se
construye al final del paso de descarga de la tabla.
Tiene
mucho que ver con el utilitario que trabajemos. Pasemos a ver dos ejemplos
concretos y sus resultados.
Usando el utilitario IKJEFT01
//P002D002 EXEC PGM=IKJEFT01,
// DYNAMNBR=200
//SYSPRINT DD SYSOUT=*
//SYSTSPRT DD SYSOUT=*
//SYSTSIN DD
*
DSN SYSTEM(DSN)
RUN
PROGRAM(DSNTIAUL) PLAN(DSNTIAUL) -
LIB('DB2LIB.MXD1.RUNLIB.LOAD')
PARM('SQL')
END
/*
//SYSPUNCH DD DSN=XALD.PE.BAT1NBAS.PEDT008.SYSPUNCH,
// DISP=(NEW,CATLG,DELETE),
// SPACE=(TRK,(5,1),RLSE)
//SYSREC00 DD DSN=XALD.PE.BAT1UNLO.PEDT008.LOAD.DUNLO0,
// DISP=(NEW,CATLG,DELETE),
// SPACE=(TRK,(2000,400),RLSE)
//SYSIN DD *
SELECT * FROM CICSD.PEDT008;
/*
Obtenemos
un archivo XALD.PE.BAT1UNLO.PEDT008.LOAD.DUNLO0
Cuyo tipo de organización como vemos (DSORG), es PS y el
RECFM es FB. Esto significa que es un tipo de archivo PYSICAL SEQUENTIAL,
físico secuencial y el tipo de registro es FIJO BLOQUEDADO.
El utilitario ADUUMAIN
//P002D002 EXEC PGM=ADUUMAIN,
// COND=(04,LT),
// PARM='DSN,OGDESCTA_04,NEW,,MSGLEVEL(1)'
//STEPLIB DD
DSN=SYS2.BMC.EXDS.LOAD,
// DISP=SHR
// DD
DSN=DB2LIB.MXD1.SDSNEXIT,
// DISP=SHR
// DD
DSN=DB2LIB.MXD1.SDSNLOAD,
// DISP=SHR
//SYSREC DD
DSN=XALD.PE.BAT1UNLO.PEDT150.LOAD.D130103,
// DISP=(NEW,CATLG,DELETE),
// RECFM=FB,LRECL=365,
// UNIT=3390,
// SPACE=(TRK,(1500,150),RLSE)
//SYSCNTL DD
DUMMY
//SYSUDUMP DD
SYSOUT=*
//SYSPRINT DD
SYSOUT=*
//SYSOUT DD
SYSOUT=*
//SYSIN DD
*
UNLOAD
DIRECT YES SHRLEVEL
CHANGE CONSISTENT YES
FILTERPART YES
SELECT * FROM
CICSD.PEDT150;
//*
Y
obtenemos un archivo XALD.PE.BAT1UNLO.PEDT150.LOAD.D130103
Cuyo tipo de organización es también física secuencial,
pero el formato del registro en VB. Que significa VARIABLE BLOQUEADO.
Este tipo de formato de registro, como se verá más abajo
es mayor que el FIJO VARIABLE porque tiene 4 octetos adicionales para contener
una serie de datos que tienen que ver con su tipo de organización.
Por eso, en un requerimiento en el cual debíamos hacer la
descarga y luego un SORT, el resultado del paso SORT nos daba error, porque no
podía ordenarlo correctamente, debido a que no se ubicaba en las posiciones
correctas que le dábamos.
TIPOS DE ORGANIZACIÓN
Data
set organization (ancho de 2 caracteres). Los valores
válidos son:
PS (physical sequential)
PO (partitioned organization)
DA (direct access)
VS (VSAM)
KS —VSAM key-sequenced
data set
RR—Either a VSAM
variable-length or fixed-length relative-record data set
ES—VSAM
entry-sequenced data set
LD—VSAM linear data
set
NV—Non-VSAM data set
Ejemplos
vistos en el Host de México aparte del PS, que es el que más nos interesa
PO – ORGANIZACIÓN PARTICIONADA Y TIPO DE
REGISTRO FB (FIJO VARIABLE)
TIPOS DE REGISTROS
F (Fijo)
Fija significa que un bloque físico en el
disco es un registro lógico y todos los bloques y los registros son del mismo
tamaño. Este formato se utiliza raramente.
FB (Fijo Bloqueado)
Esta designación formato significa que
varios registros lógicos se combinan en un solo bloque físico. Este formato
puede proporcionar utilización eficiente del espacio y la operación. Este
formato se utiliza comúnmente para registros de longitud fija.
V (variable)
Este formato tiene un registro lógico como un
bloque físico. Un registro lógico de longitud variable consta de una
palabra descriptor registro (RDW) seguida por los datos. La palabra
descriptor registro es un campo de 4-byte que describe el registro. Los
primeros 2 bytes contienen la longitud del registro lógico (incluido el RDW
4-byte). La longitud puede ser de 4 a 32.760 bytes. Todos los bits de
los bytes tercero y cuarto debe ser 0, porque los demás valores se utilizan
para los registros distribuidos. Este formato se utiliza raramente.
VB (Variable Bloqueado)
Este formato coloca varios registros de
longitud variable lógicas (cada uno con un RDW) en un bloque físico. El
software debe colocar una palabra Bloque de Descripción adicional (BDW) al
principio del bloque, que contiene la longitud total del bloque.
U (Sin definir)
Este formato consiste en registros de longitud
variable físicos y bloques sin una estructura predefinida. Aunque este
formato puede parecer atractivo para muchas aplicaciones inusuales, que se
utiliza normalmente sólo para módulos ejecutables.
A
continuación un gráfico que lo aclara mucho más.
El archivo de tipo PO, organización
particionada, tiene formato de registro FB porque es un archivo donde van
alocados varios registros. Se usa para las librerías donde alocamos nuestros
ficheros. Por ejemplo XALD.MATIAS.JCL.
Gracias!!
ResponderBorrar