Posts belonging to Category Job Control Languaje (JCL)



formatos (continuacion Sort)

hola a todos de nuevo!!! seguimos con las explicaciones del Sort.

hoy os dejo unos apuntillos sobre los formatos:

===================================================
FORMATOS :
===================================================

CH (CARACTER)
————-
AB7 HEXADECIMAL -> C1C2F7

ZD (ZONA DECIMAL CON SIGNO)
————-
-247 HEXADECIMAL -> F2F4D7
+247 HEXADECIMAL -> F2F4C7

PD (DECIMAL EMPAQUETADO CON SIGNO)
————-
-247 HEXADECIMAL -> 247D
+247 HEXADECIMAL -> 247C

FI (COMA FIJA CON SIGNO)
————-
-247 HEXADECIMAL -> FF09
+247 HEXADECIMAL -> 00F7

BI (BINARIO SIN SIGNO)
————-
FL (COMA FLOTANTE, CON SIGNO)
————-
AC (ASCII SIN SIGNO)
————-
AB7 HEXADECIMAL -> 414237

CSF OR FS (NúMERICO CON SIGNO OPCIONAL, EL SIGNO PRECEDE AL NúMERO)
————-
34 TRATADO COMO +34
+34 TRATADO COMO +34
00034 TRATADO COMO +34
-003 TRATADO COMO -3
-1234 TRATADO COMO -1234
1234 TRATADO COMO +1234
+01234 TRATADO COMO +1234
0 TRATADO COMO +0

CSL OR LS (NúMERICO CON SIGNO, SIGNO REPRESENTADO CON UN BYTE
APARTE PRECEDE AL NúMERO)
————-
+247 HEXADECIMAL -> + 2 4 7
4E F2 F4 F7
-247 HEXADECIMAL -> – 2 4 7
60 F2 F4 F7

CST OR TS (NúMERICO CON SIGNO, SIGNO REPRESENTADO CON UN BYTE
VA DESPUéS DEL NúMERO)
————-
+247 HEXADECIMAL -> + 2 4 7
F2 F4 F7 4E
-247 HEXADECIMAL -> – 2 4 7
F2 F4 F7 60

CLO OR OL (NúMERICO CON SIGNO, SIGNO REPRESENTADO EN MEDIO BYTE
QUE COMPARTE CON EL 1ER. NúMERO POR LA IZQUIERDA)
————-
+247 HEXADECIMAL -> C2 F4 F7
-247 HEXADECIMAL -> D2 F4 F7

CTO OR OT (NúMERICO CON SIGNO, SIGNO REPRESENTADO EN MEDIO BYTE
QUE COMPARTE CON EL 1ER. NúMERO POR LA DERECHA)
————-
+247 HEXADECIMAL -> F2 F4 C7
-247 HEXADECIMAL -> F2 F4 D7

ASL (NúMERICO CON SIGNO, ASCII SIGNO REPRESENTADO APARTE
EN UN BYTE POR LA IZQUIEERDA)
————-
+247 HEXADECIMAL -> + 2 4 7
2B 32 34 37
-247 HEXADECIMAL -> – 2 4 7
2D 32 34 37
AST (NúMERICO CON SIGNO, ASCII SIGNO REPRESENTADO APARTE
EN UN BYTE POR LA DERECHA)
————-
+247 HEXADECIMAL -> 2 4 7 +
32 34 37 2B
-247 HEXADECIMAL -> 2 4 7 –
32 34 37 2D
**************************** Bottom of Data***********

explicacion de los usos del Sort

hola a todos, hay gente que me pregunta a veces por el uso de parametros del Sort.
asi que aqui os dejo una pequeña explicacion:

SORT:
——-
INCLUDE: INCLUYE LOS REGISTROS QUE CUMPLAN LA CONDICION.
OMIT: OMITE LOS REGUISTROS QUE CUMPLAN LA CONDICION.
OUTREC: FORMATEA EL REGISTRO DE SALIDA CON LOS PARAMETROS
INDICADOS. SE PUEDE CONSTRUIR UN REGISTRO CON
VARIOS CAMPOS DEL FICHERO DE ENTRADA.
OPTION EQUALS: SI HAY DOS O MAS REGISTROS IGUALES SE MANTIENE EL
ORDEN DE ENTRADA.
OPTION SKIPREC: SALTA EL NUMERO DE REGISTROS INDICADOS.
OPTION STOPAFT: INDICA EL NUMERO DE REGISTROS A TRATAR.
SUM FIELDS : = NONE: ELIMINA REGISTROS DUPLICADOS.
: = (P,L,FORM) SUMA EL CAMPO INDICADO DE LOS REG.
QUE SEAN IGUALES EN LOS PARAMETROS DEL
SORT FIELDS, CREANDO UN SOLO REGISTRO DE SALIDA
CON LA SUMA INDICADA.
P: POSICION INICAL.
L: LONGITUD.
FORM: PUEDE SER PD O ZD.
SORT FIELDS : CLASIFICA Y/O COPIA SEGUN PARAMETROS.
MERGE FIELDS : MEZCLA FICHEROS YA ORDENADOS SEGUN PARAMETROS.
CH : CARACTER.
BI : BINARIO.
PD : DECIMAL EMPAQUETADO ( TRATA SIGNO)
ZD : DECIMAL CON ZONA ( TRATA SIGNO)
COND : ESPECIFICACION DE CONDIFICIONES.
OPERADORES : AND, OR, EQ, NE, GT, GE. LT, LE.
C’..’ : CONSTANTE EN CARACTERES.
X’..’ : CONSTANTE EN HEXDACIMAL.
SORTWK01.. : DD DE AREAS DE CLASIFICACION, MAXIMO 10.
A : ASCENDENTE, DE MENOR A MAYOR.
D : DESCENDENTE,DE MAYOR A MENOR.
FILSZ= : X: X ES UN NUMERO EXACTO DE REGISTROS DE ENTRADA:
: EX: X ES UN NUMERO ESTIMADO DE REG. DE ENTRADA.
————————————————————————
//SORT JOB MSGCLASS=X,CLASS=A,NOTIFY=xxxxxx
//PASO1 EXEC PGM=SORT
//SYSOUT DD SYSOUT=*
//SORTIN DD DSN=fich.de.entrada,DISP=SHR
//SORTOUT DD DSN=fich.de.salida,DISP=SHR
//SYSIN DD *
RECORD TYPE=V,LENGTH=3000
SORT FIELDS=(109,12,BI,A)
/*

OPTION
========================================================================

OPTION VLSHRT => NO CONSIDERA AQUELLOS REG. QUE NO CONTIENEN EL CAMPO
EN CUESTION. VALOR POR DEFECTO NOVLSHRT
OPTION COPY => COPIA/INSERTA REG. DEL //SORTIN EN //SORTOUT
SI EN //SORTIN SE PONEN 2 VSAM, SOLO COGE EL PRIMERO
FICHEROS BDAM, NO ESTAN PERMITIDOS EN //SORTIN
SI SE PONE :
SORT FIELDS=(3,4,CH,A)
OPTION COPY
LA SENTENCIA SORT ES IGNORADA.
OPTION DYNALLOC => CALCULA EL, EL WORK SPACE :
OPTION DYNALLOC (D,N)
D = UNIT (SYSDA,3390,TAPE, ETC.)
N = NUMERO DE UNIDADES
NO SE UTILIZA SI SE PONEN //SORTOWKNN
OPTION EQUALS/NOEQUALS => RESPETA/NO RESPETA SECUENCIA ORIGINAL.
OPTION EXCPVR=ALL UTILIZA TéCNICA DE REDUCCIóN DE TIEMPO DE CPU
PARA SORTIN, SORTOUT Y SORTWKNN
EXCPVR=NOWRK SOLO PARA SORTIN Y SORTOUT
EXCPVR=NONE PARA NINGUNO
OPTION FILSZ=N NúMERO EXACTO, O ESTIMADO, DE REGISTROS. A SE CLA-
CLASIFICADOS.
OPTION SIZE=N NúMERO EXACTO, O ESTIMADO, DE REGISTROS. EN LOS
FICHEROS DE ENTRADA.
N => X NúMERO EXACTO
EX NúMERO ESTIMADO DE REG. A CLASIFICAR
UX NúMERO ESTIMADO DE REG. EN SORTIN
OPTION HIPRMAX=OPTIMAL/N N=NúMERO MáXIMO DE MEGABYTES
OPTION NOBLKSET NO UTILIZA TéCNICA BLOCKSET, DEGRADA LA EJECUCIóN

========================================================================
OUTREC
========================================================================
NX ==> N BLANCOS
NZ ==> N X’00’
NC’BORHAPS’ ==> N BORHAPS
NX’F1F2F3′ ==> N F1F2F3
EJEMPLOS :
OUTREC FIELDS=(11,32) LA SALIDA TENDRA 32 BYTES, COMENZANDO
EN LA PISICIóN 11 DEL DE ENTRADA
OUTREC FIELDS=(1,4,11,32,D,101)
ESTE EJEMPLO PARA LONGITUD VARIABLE CON UN MINIMO
DE 100 BYTES, Y DICE QUE LA SALIDA TENDRá UNA RDW
MáS 32 BYTES DEL FICHERO DE ENTRADA CONTADOS DESDE
LA POSICIóN 11, ALINEADO A DOBLE PALABRA, MAS LA
PARTE VARIABLE COMPLETA, DEL FICHERO DE ENTRADA.
OUTREC FIELDS=(1,42,D,101)
ESTE EJEMPLO PARA LONGITUD VARIABLE CON UN MINIMO
DE 100 BYTES, EN EL QUE EL REG. DE SALIDA DEBERá
CONTENER UN RDW, MAS 38 BYTES DEL REG. DE ENTRADA
MáS LA PARTE VARIABLE COMPLETA. EN ESTE CASO ‘D’
NO SURTE EFECTO PORQUE EL PRIMER CAMPO ES SIEMPRE
COLOCADA AL COMIENZO DEL REGISTRO DE SALIDA.

SORT FIELDS=(20,4,CH,D,10,3,CH,D)
OUTREC FIELDS=(7:20,4,C’ FUTURE ‘,20,2,10,3,1Z,1,9,13,7.24,57,6X’FF’)

1-6 BLANCOS
7-10 POSICIONES DE ENTRADA DE LA 20 A LA 23 (4 POSICIONES).
11-18 LE CARACTER ‘ FUTURE ‘
19-20 POSICIONES DE ENTRADA 20 Y 21 (2 POSICIONES)
21-23 POSICIONES DE ENTRADA 10 A 12 (3 POSICIONES)
24-24 ZEROS BINARIOS (X’00’)
25-33 POSICIONES DE ENTRADA 1 A LA 9(9 POSICIONES)
34-40 POSICIONES DE ENTRADA 13 A LA 19 (7 POSICIONES)
41-97 POSICIONES DE ENTRADA 24 A LA 80 (57 POSICIONES)
98-103 6 POSICIONES CON X’FF’

un saludo!

Operadores IF/THEN/ELSE/ENDIF

IF/THEN/ELSE/ENDIF

Se utiliza para ejecutar condicionalmente pasos dentro de un trabajo, y puede tener tres campos:

  • Nombre (opcional)
  • Operación
    • IF, siempre va seguida de una expresión relacional y de la palabra clave THEN. Especifica los pasos del trabajo que el sistema procesará cuando la evaluación de la expresión relacional de la cláusula IF sea una condición verdadera.
    • ELSE, puede aparecer a continuación del IF. Especifica los pasos del trabajo que el sistema procesará cuando la evaluación de la expresión relacional de la cláusula IF sea una condición falsa.
    • ENDIF, indica el final de la estructura de sentencia.
  • El campo de la expresión relacional

Pueden anidarse estructuras hasta un máximo de 15 niveles.

Una expresión relacional consta de:

  • operadores de comparación, lógicos y NOT().
OPERADOR OPERACIÓN ORDEN
OPERADOR NOT
NOT NO PRIMERO
OPERADOR DE COMPARACIÓN
GT > MAYOR QUE SEGUNDO
LT < MENOR QUE
NG ┐> NO MAYOR QUE
NL ┐< NO MENOR QUE
EQ = IGUAL A
NE ┐= DISTINTO DE
GE >= MAYOR O IGUAL QUE
LE <= MENOR O IGUAL QUE
OPERADORES LÓGICOS
AND
OR
&
|
Y
O
TERCERO
  • palabras clave:
    • RC, indica el código de retorno.
    • ABEND=TRUE, indica que se ha producido una terminación anormal.
    • ABEND=FALSE, indica que no se ha producido ninguna terminación anormal.
link original: http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=JCLIntro