Академический Документы
Профессиональный Документы
Культура Документы
Pg: 2
11/11/2014
Interactivo (on-line):
El envo de un comando supone una respuesta
del ordenador (conversacin)
Pg: 3
11/11/2014
Operacin
Nombre
Parmetros
Identificador
Pg: 4
11/11/2014
Operandos (parmetros)
Pg: 5
Comienza en columna 3
Debe empezar por letra
Se permiten A-Z, 0-9, @, #, $
Tipos de parmetros
Pg: 6
Posicinales
De palabra clave
Ejemplo: DISP=(NEW,CATLG,KEEP)
11/11/2014
11/11/2014
Comentarios
Lneas completas
11/11/2014
Sentencias bsicas
JOB (1)
Identifica el comienzo de un trabajo
EXEC (1-255)
Identifica un paso (ejecucin de un programa
o procedimiento)
DD (1-3273)
Identifica a cada uno de los ficheros que se
utilizan en cada uno de los pasos
Pg: 9
11/11/2014
JES
ISPF
JES
Clases =
A,B,C
Clases =
Z,D
SPOOL
Colas de
Entrada
SPOOL
Clase hold
Pg: 10
Colas de
Salida
Impresora
Clases =
A,X
11/11/2014
Sentencia JOB I
Nombre
Parmetros posicinales
Ejemplo:
Pg: 11
11/11/2014
Sentencia JOB II
Ejemplo:
11/11/2014
Control de ejecucin I
ADDRSPC: (no utilizado)
VIRT el JOB se ejecuta en memoria virtual (defecto)
REAL el JOB se ejecuta en memoria real
TIME: ([minutos][,segundos])
Mxima utilizacin de CPU por este JOB
NOLIMIT no hay limite en la utilizacin de CPU
MAXIMUN es lo mismo que TIME=357912
PERFORM=grupo de rendimiento
PRTY: prioridad de ejecucin
Pg: 13
Sentencia JOB IV
Control de ejecucin II
REGION: tamao de la memoria
El sufijo K indica Kilobytes
El sufijo M indica Megabytes
El sistema ajusta automticamente a mltiplos de 4K
Ejemplo:
Pg: 14
11/11/2014
Sentencia JOB V
Control de salida
NOTIFY=nombre_usuario
MSGLEVEL=([sentencias][,mensajes])
Sentencias
Mensajes
11/11/2014
Sentencia JOB VI
A
H
//JOBNAME JOB CLASS=A,NOTIFY=user,MSGCLASS=H
Iniciador
SPOOL
Clases =
X,A
Colas de
Salida
Hold
Impresora
SDSF
Pg: 16
Clases =
A,X
11/11/2014
Sentencia EXEC I
Nombre:
PGM:
PROC:
11/11/2014
Sentencia EXEC II
Pg: 18
11/11/2014
Fichero Particionado,
Librera o
Biblioteca
PROGRAM1
11/11/2014
Cdigos de condicin
Especifican que el JOB se interrumpa si se
cumple la condicin
COND=((n,op,paso)...[,EVEN][,ONLY])
Pg: 20
11/11/2014
Sentencia DD
La sentencia DD (Data Definition)
identifica a cada uno de los ficheros que
intervienen en el paso
Su nombre, al que se le aplican las
restricciones mencionadas anteriormente,
debe coincidir con el asignado en el
programa
Se utiliza para describir los atributos del
fichero (nombre, dispositivo, volumen,
bloqueo, etc.)
Pg: 21
11/11/2014
Tipos de Ficheros
Pg: 22
In-stream
Secuencial
Particionado Secuencial (PS)
Indexado
Relativo
Temporales
VSAM
Impresora
11/11/2014
Ficheros in-stream
Se incluyen junto al JCL
No pueden exceder de 80 columnas
Se indica su comienzo por un *
Se indica su finalizacin por /* (cols. 1 y 2)
Normalmente se utiliza SYSIN como nombre
//SYSIN DD *
Ejemplo:
Registro 1
.
.
Registro n
/*
Pg: 23
11/11/2014
Parmetros Comunes
Pg: 24
11/11/2014
DSN DSNAME
De 1 a 5 bloques de un mximo de 8
caracteres separados por puntos
Normalmente el primer nivel debe ser un
nombre autorizado
A cada uno de los bloques se les aplica las
restricciones de nombre
Los ficheros temporales comienzan por &&
//FICHERO1 DD DSN=TESTAPP.MOVTO.CONTABLE
//FICHERO2 DD DSN=usuario.STOCK.ALMACEN
//FICHERO3 DD DSN=&&TEMP
Pg: 25
11/11/2014
DISP (disposition)
Estado del fichero (inicial, fin-ok, fin-ko)
Inicial:
Fin-ok:
CATLG: Catalogado
KEEP: Guardado sin catalogar
PASS: Catalogado para el JOB
DELETE: Borrado
UNCATLG: Descatalogado
Pg: 26
Fin-ko:
CATLG: Catalogado
KEEP: Guardado sin catalogar
DELETE: Borrado
UNCATLG: Descatalogado
11/11/2014
Ubicacin de procedimientos
//nombre JCLLIB ORDER=(P390A.PROCLIB, )
//NOMBRE EXEC PROC=PROC1
P390A.PROCLIB
PROC1
//paso1 exec
//file1 dd
//file2 dd
SYS1.PROCLIB
Pg: 27
PROC1
//paso1 exec
//file1 dd
//file2 dd
11/11/2014
P390A.LOAD
Ubicacin de programas
PROGRAM1
//JOBLIB DD DSN=P390A.LOAD,DISP=SHR
//NOMBRE1 EXEC PGM=PROGRAMA1
//NOMBRE2 EXEC PGM=PROGRAMA2
//NOMBRE1 EXEC PGM=PROGRAMA1
//NOMBRE2 EXEC PGM=PROGRAMA2
//NOMBRE1
//STEPLIB
//NOMBRE1
//STEPLIB
EXEC PGM=PROGRAMA1
DD DSN=P390A.LOAD,DISP=SHR
EXEC PGM=PROGRAMA1
DD DSN=P390B.LOAD,DISP=SHR
SYS1.LINKLIB
PROGRAM1
P390A.LOAD
PROGRAM1
P390B.LOAD
PROGRAM1
Pg: 28
11/11/2014
Unit
//FICHERO1 DD DSN=F1,DISP=OLD,UNIT=3480
//FICHERO2 DD DSN=F2,DISP=(,KEEP),UNIT=3480
//FICHERO3 DD DSN=F3,DISP=(,KEEP),UNIT=SYSDA
Pg: 29
11/11/2014
Vol o Volume
Especifica el volumen donde se encuentra
el fichero
Slo para ficheros nuevos o no catalogados
VOL=SER=(nnnnnn ... [,nnnnnn])
VOL=REF=fichero
VOL=REF=*.pason
//FICHERO1 DD DSN=F1,DISP=OLD,UNIT=TAPE,
//
VOL=SER=003276
Pg: 30
11/11/2014
Subparametros:
RECFM: (Formato de registro)
F (Longitud Fija)
V (Longitud Variable)
U (Indefinido)
FB (Fijo Bloqueado)
VB (Variable Bloqueado)
PS (Secuencial)
IS (Secuencial Indexado)
PO (Particionado)
Pg: 31
11/11/2014
Cilindro y pista
Pista (trk)
Pg: 32
Cilindro (cyl)
11/11/2014
Space
SPACE=(tipo,(p,s,d),RLSE,CONTIG)
Tipo:
TRK
CYL
Longitud de bloque
Pg: 33
P Cantidad primaria
S Cantidad secundaria
D Bloques de directorio (256) (slo PO)
RLSE (liberar espacio sobrante)
CONTIG (contiguo)
11/11/2014
PROGRAM1
OPEN entrada1
OPEN salida1
OPEN entrada2
//entrada1 DD DSN=fichero.entrada,DISP=SHR
c
DISCO2
DISCO3
Catlogo
Fichero.entrada
VTOC
A
//salida1 DD SYSOUT=A
//entrada2 DD *
dato1
dato2
/*
Pg: 34
SPOOL
Colas de
Salida
Impresora
Clases =
A,X
11/11/2014
Ejercicios I
1. Realizar y ejecutar un JOB que cree y
catalogue un fichero llamado
userid.primero.texto de longitud 80
2. Realizar y ejecutar un JOB que rellene el
fichero anterior con registros numerados
del 01 al 50 en sus dos primeras
posiciones
3. Descatalogar el fichero anterior
4. Borrar el fichero anterior
Pg: 35
11/11/2014
Programas de Utilidad I
IEFBR14 crear, catalogar y borrar ficheros
Los ficheros se crean, catalogan o borran
dependiendo de lo que indiquemos en el
parmetro DISP de la sentencia DD
Se pueden colocar cualquier nmero de
DDs y con cualquier nombre
11/11/2014
Procedimientos catalogados I
In-stream
Entre las sentencias PROC y PEND
No pueden estar anidados
Del sistema
Incluidos en SYS1.PROCLIB u otra librera de
procedimientos
Pg: 37
11/11/2014
Procedimientos catalogados II
//TESTPROC PROC A=IMB406,B=ABLE,C=3330,D=WXYZ1,
// E=OLD,F=TRK,G='10,10,1'
//STEP EXEC PGM=&A
//DD1 DD DSNAME=&B,UNIT=&C,VOLUME=SER=&D,DISP=&E,
// SPACE=(&F,(&G))
// PEND
//LLAMADA EXEC PROC=TESTPROC,A=IEFBR14,
//
B=BAKER,E=(NEW,KEEP)
//STEP EXEC PGM=IEFBR14
//DD1 DD DSNAME=BAKER,UNIT=3330,VOLUME=SER=WXYZ1,
//
DISP=(NEW,KEEP),SPACE=(TRK,(10,10,1))
Pg: 38
11/11/2014
Backward References
//STEP EXEC PGM=IEFBR14
//DD1 DD DSNAME=FILE01,UNIT=3390,
//
DISP=(NEW,CATLG,DELETE),
//
SPACE=(TRK,(10,10,1)),
//
DCB=(RECFM=FB,LRECL=80,BLKSIZE=4000)
//*
//STEP2 EXEC PGM=IEBGENER
//SYSUT1 DSNAME=*.STEP.DD1,DISP=SHR
//SYSUT2 DSNAME=FILE02,REFDD=*.STEP.DD1
//
//STEP3 EXEC PGM=IEBGENER
//SYSUT1 DSNAME=*.STEP.DD1,DISP=SHR
//SYSUT2 DSNAME=FILE03,UNIT=3390,
//
DISP=(NEW,CATLG,DELETE),
//
SPACE=(TRK,(10,10,1)),
//
DCB=*.STEP.DD1
//
Pg: 39
11/11/2014
Sustitucin en procedimientos
//TESTPROC PROC C=A
//STEP EXEC PGM=IEBGENER
//SYSUT1 DD DSN=FILE01,DISP=SHR
//SYSUT2 DD DSN=FILE02,DISP=(,CATLG,DELETE),
//
UNIT=SYSDA,SPACE=(TRK,(1,1))
//SYSPRINT DD SYSOUT=&C
//SYSIN DD DUMMY
// PEND
//LLAMADA EXEC PROC=TESTPROC,C=HP)
//STEP.SYSIN DD *
GENERATE
RECORD FIELD
//STEP.SYSUT2 DD SPACE=(CYL,(10,20),RLSE)
Pg: 40
11/11/2014
Concatenacin de ficheros
Unin de varios ficheros formando un
nico fichero lgico
Los ficheros deben ser secuenciales y del
mismo tipo (RECFM)
La longitud de registro de todos los
ficheros debe ser igual
Si hay distintas longitudes de bloque
(BLKSIZE) el ms grande debe ir primero
Slo para ficheros de entrada
//FICHERO1 DD DSN=F1,DISP=OLD
//
DD DSN=F2,DISP=OLD
Pg: 41
11/11/2014
Pg: 42
Ficheros Temporales
Slo estn vivos durante la ejecucin del
JOB
Su nombre comienza por && y no pueden
exceder los 8 caracteres
Normalmente su disposition ser DELETE
o PASS
Recomendables para las pruebas
No puede investigarse su contenido una
vez ha terminado el JOB
Pg: 43
11/11/2014
Ficheros ficticios
Se utilizan cuando:
Pg: 44
11/11/2014
Grupos de Generacin I
Podemos considerar los grupos de
generacin como un fichero con distintas
versiones
Todas las versiones deben estar catalogadas
El formato (tipo y longitud) de todos los
ficheros debe ser el mismo
Se usan para garantizar la seguridad de los
datos
Tienen un nombre especfico
Pg: 45
11/11/2014
Grupos de Generacin II
Nombres:
Absoluto:
Nombre fichero (mx. 35 caracteres)
Gnnnn N de generacin (asignado por el sistema)
Vnn N de versin (asignado por el sistema)
Relativo:
Nombre fichero (mx. 35 caracteres)
(0), (+1), (-2), etc
Pg: 46
11/11/2014
Ficheros de impresin
Parmetros adicionales
Pg: 47
COPIES: N de copias
DEST: Identificacin de la impresora
FCB: Identificacin programa impresora
UCS: Juego de caracteres
11/11/2014
6 =
1
1
1
6
F 1 F 2 F 8 F 9 F 7
Al realizar una operacin
Pg: 48
11/11/2014
6 =
1
1
1
6
F 1 F 2 F 8 F 9 C 7
Si el campo es negativo
Pg: 49
11/11/2014
6 =
1
1
1
6
F 1 F 2 F 8 F 9 D 7
Formato empaquetado
Pg: 50
11/11/2014
Decimal
Empaquetado
F 1 F 2 F 8 F 9 D 7
1 2 8 9 7 D
5 octetos
3 octetos
Decimal
F 1 F 2 F 8 F 9 F 7 D 6
6 octetos
Pg: 51
Empaquetado
0 1 2 8 9 7 6 D
4 octetos
11/11/2014
Programas de Utilidad II
IEBGENER Copia ficheros
manipulndolos
Sentencias de control:
Entrada: SYSUT1
Salida: SYSUT2
Mensajes: SYSPRINT
Control: SYSIN
Debe ir la primera
Pg: 52
[IDENT=(long.,'name,pos.)]
[RECORD [FIELD=(long.in,pos.in|literal,conv.,pos. out)]]
... ]
GENERATE [MAXLITS=mx.] , [MAXFLDS=mx]
11/11/2014
Ejercicios II
1. El fichero P390.empl.texto tiene la siguiente
estructura:
Pos. 1 a 5 Nmero
Pos. 6 a 30 Nombre
Pos. 31 a 80 Apellidos
Pos. 81 a 87 Salario (decimal con zonas)
Pg: 53
Pos. 1 a 5 Nmero
Pos 6 a 8 Siglas Sr. en todos los registros
Pos. 9 a 33 Nombre
Pos. 34 a 83 Apellidos
Pos. 84 a 87 Salario (empaquetado)
11/11/2014
SCRATCH DSNAME=nombre,VOL=device
UNCATLG DSNAME=nombre
CATALOG DSNAME=nombre,VOL=device
RENAME
DSNAME=nombre,VOL=device,NEWNAME=nombre
BLDG INDEX=nombre,ENTRIES=n,EMPTY
Pg: 54
11/11/2014
Programas de Utilidad IV
Pg: 55
SORT
Clasificacin de ficheros
Entrada: SORTIN
Salida: SORTOUT
Control: SYSIN
Pg: 56
11/11/2014
SORT
Clasificacin de ficheros
Entrada: SORTIN
Salida: SORTOUT
Control: SYSIN
Pg: 57
11/11/2014
SORT
Clasificacin de ficheros
Entrada: SORTIN
Salida: SORTOUT
Control: SYSIN
Pg: 58
11/11/2014
SORT (OUTFIL)
Pg: 59
11/11/2014
Ejercicios III
1. El fichero user.PEDIDOS.ALMACEN tiene
la siguiente estructura:
Pg: 60
11/11/2014
Ejercicios III
Se quiere:
1. Obtener el fichero
user.PEDIDOS.LINEAS que slo
tendr las lneas de pedido, ordenadas
por: Artculo y Cliente (nmero).
2. Obtener el fichero
user.ARTICULO.PEDIDOS que debe
tener una lnea por artculo con el total
de las cantidades pedidas
Pg: 61
11/11/2014
Ejercicios IV
siguiente informacin:
Pg: 62
Tipos de organizacin:
Pg: 63
Organizacin VSAM
Catlogo
Programa
Leer
Mtodo de
acceso
VSAM
RL RL
Intervalo de
control
KSDS
ESDS
RRDS
Registro lgico
Pg: 64
11/11/2014
VSAM KSDS
32
43
67
75
EL
ndice
23
28
30
32
33
35
40
43
47
52
56
67
68
70
75
Intervalos de
Control
(Datos)
ndice
Nombre Apellidos Nmero empleado
Categora
Campo clave
Pg: 65
11/11/2014
Catlogos
Catlogo
Maestro
Catlogo
Usuario
Catlogo
Usuario
Fichero7
Fichero1
Pg: 66
Fichero2
Fichero3
Catlogo
Usuario
Catlogo
Usuario
Fichero8
Fichero9
Fichero4
Fichero5
Fichero1
11/11/2014
Alias
CATUSER1
Catlogo Maestro
Pagos.a11
Pagos.B22
Pagos.C33
Alias Pagos
CATUSER1
Alias BE18
Alias BE05
Alias BE25
CURSOS
Pg: 67
CURSOS
DISCOS
Pagos.B22
Pagos.a11
BE18.user1
BE05.jcl
BE18.user1
BE18.user2
BE05.jcl
BE05.vsam
11/11/2014
Comandos IDCAMS I
Pg: 68
Comandos IDCAMS II
Pg: 69
Pg: 70
Define Cluster
DEFINE CLUSTER(parmetros)
[DATA(parmetros)]
[INDEX(parmetros)]
[CATALOG(parmetros)]
Parmetros obligatorios:
(NAME(nombre)
CYLINDERS|RECORDS|TRACKS(p,s)
VOLUMES(vol1, ...) )
Parmetros opcionales:
CONTROLINERVALSIZE(n) ERASE|NOERASE FREESPACE(CI% [CA%]) KEYS(length offset) RECORDSIZE(average maximum|default) SHAREOPTIONS(crossregion[ crosssystem]|1 3)
Pg: 71
11/11/2014
Define GenerationDataGroup
DEFINE
GENERATIONDATAGROUP(parmetros)
Parmetros obligatorios:
(NAME(nombre)
LIMIT(n) 1:255
Parmetros opcionales:
Pg: 72
11/11/2014
Define AlternateIndex
DEFINE ALTERNATEINDEX(parmetros)
Parmetros obligatorios:
Igual que para CLUSTER
Parmetros opcionales:
Pg: 73
11/11/2014
Define Path
DEFINE PATH(parmetros)
Parmetros obligatorios:
(NAME(nombre)
PATHENTRY(entryname) )
Parmetros opcionales:
OWNER(ownerid) UPDATE|NOUPDATE
Pg: 74
11/11/2014
Delete
DELETE(parmetros)
Parmetros obligatorios:
(NAME(nombre) )
Parmetros opcionales:
ALIAS|ALTERNATEINDEX|CLUSTER|
GENERATIONDATAGROUP|
NONVSAM|PAGESPACE|PATH|SPACE|USERCATALOG
ERASE|NOERASE
FORCE|NOFORCE
PURGE|NOPURGE
SCRATCH|NOSCRATCH
Pg: 75
11/11/2014
Listcat
LISTCAT(parmetros)
Parmetros opcionales:
[ALIAS][ALTERNATEINDEX][CLUSTER][DATA]
[GENERATIONDATAGROUP][INDEX][NONVSAM]
[PAGESPACE][PATH][SPACE][USERCATALOG]
CREATION(days)
ENTRIES([entryname[ entry name]...][LEVEL(level)])
NAME|HISTORY|VOLUME|ALLOCATION|ALL
NOTUSABLE
Pg: 76
11/11/2014
Print
PRINT(parmetros)
Parmetros obligatorios:
INFILE(ddname) | INDATASET(entryname)
Parmetros opcionales:
CHARACTER|DUMP|HEX
FROMKEY(key) | FROMADDRESS(address) |
FROMNUMBER(number) | SKIP(number)
TOKEY(key) | TOADDRESS(address) |
TONUMBER(number) | COUNT(number)
Pg: 77
11/11/2014
Repro
REPRO parmetros
Parmetros obligatorios:
INFILE(ddname) | INDATASET(entryname)
OUTFILE(ddname) | OUTDATASET(entryname)
Parmetros opcionales:
CHARACTER|DUMP|HEX
FROMKEY(key) | FROMADDRESS(address) |
FROMNUMBER(number) | SKIP(number)
TOKEY(key) | TOADDRESS(address) |
TONUMBER(number) | COUNT(number)
REPLACE|NOREPLACE
Pg: 78
11/11/2014
Verify
VERIFY(parmetros)
Parmetros obligatorios:
FILE(ddname) | DATASET(entryname)
Pg: 79
11/11/2014
Ejercicios V
1. Definir un cluster KSDS (data+ index) con una
clave de 15 pos., empezando en la 1 pos. Del
registro
2. Definir un grupo de generacin (GDG), que
permita 5 entradas, al crear la sexta se debe
descatalogar (no borrar) la primera
3. Definir un ndice alternativo, sobre el fichero del
ejercicio 1, con longitud de tres y
desplazamiento 16
4. Definir un path para permitir el acceso sobre el
fichero del ejercicio 1, a travs del ndice del
ejercico 3.
5. Borrar los ficheros utilizados en este ejemplo
Pg: 80
11/11/2014