miércoles, 1 de julio de 2009

Función SORT de DFSORT

SORT es una función del utilitario DFSORT(utilitario de la familia de productos de IBM para usuarios de OS/390), y nos permitirá realizar tareas sencillas y complejas para ordenar datasets.

Función:

SORT FIELDS =(PI, LG, FD, OR)

PI: Inicio de la sección de campos a ordenar
LG: Longitud en bytes de la sección de campos a ordenar
FD: Código de formato de los datos contenidos en la sección de campos a ordenar
OR: Tipo de ordenamiento cuyos posibles valores son A de ascendente y D de descendiente

Tabla de códigos de formato de datos

Formato de dato---------------------> Código
EBCDIC(Cáracter) --------------------->CH
Binario(Numérico) --------------------->BI
Décimal zonado(Numérico)-------------> ZD
Décimal empaquetado(Numérico)------> PD

Para presentar las tareas mas usuales utilizaremos un archivo de trabajo llamado A.DATA


> APPLID(ROSCOE20) USER(XXX,)
> DSN() SCRL FULL COLS 00001 00072 PAU(XXX.SRC)
> A.DATA
> <...+....1....+....2....+....3....+....4....+....5....+....6....+....7..

============================ T O P =============

000001 00012PEDRO BBBB19621023A014010
000002 00011JUAN AAAAA19510115A001000
000003 00014LUIS DDDDD19580519C090111

000004 00013JAIME CCCC19700504B012000

============================ BOTTOM =============
Descripción del archivo:
Desde el byte 01 al 05: Código de persona
Desde el byte 06 al 15: Nombre de persona
Desde el byte 16 al 23: Fecha de nacimiento de persona
Desde el byte 24 al 24: Calificación de persona
Desde el byte 25 al 30: Saldo de la persona

Ordenar el archivo DATA ascendentemente por Código de persona

SORT FIELDS =(01, 05, CH, A)

Se obtiene el siguiente archivo:

> APPLID(ROSCOE20) USER(XXX,)
> DSN() SCRL FULL COLS 00001 00072 PAU(XXX.SRC)
> A.RES
> <...+....1....+....2....+....3....+....4....+....5....+....6....+....7..

============================ T O P =============

000001 00011JUAN AAAAA19510115A001000
000002 00012PEDRO BBBB19621023A014010
000003 00013JAIME CCCC19700504B012000
000004 00014LUIS DDDDD19580519C090111

============================ BOTTOM





1081-

1 comentario:

  1. muy bueno tu blog... yo empiezo bueno ya tengo 1 año en esto...

    te invito a mi blog es pequeño... pero estamos empezando.

    http://coboleando.blogspot.com/

    ResponderEliminar