JCL - O que é DFSORT - www.cadcobol.com.br


Volta a página anterior

Volta ao Menu Principal


Desenvolvido por DORNELLES Carlos Alberto - Analista de Sistemas - Brasília DF.

JCL - O que é DFSORT

O que é DFSORT?

DFSORT é o sort de alto-desempenho da IBM.
Com DFSORT, voce pode executar SORT, MERGE e COPY de datas sets.
Você pode usar DFSORT para fazer tarefas simples como alfabetizar uma lista de nomes, ou você pode usar isto para ajudar tarefas complexas como fazer inventário ou correr um sistema de faturamento.
DFSORT lhe dá dados versáteis que controlam capacidades ao registro, campo e a nível de bit.

Data Sets, Registros e Campos

As informações que voce manipula com DFSORT está contida em data sets.
O termo data set refere-se a um arquivo que contém um ou mais registros.
Qualquer grupo de registros é chamado de data set.
Os termos data set e arquivo são sinônimo e são usados constantemente neste documento.

Um data set contém a informação que você quer ordenar, copia, ou fundir (sort, copy ou merge).
Para a maioria do processo feito por DFSORT, o data set inteiro é afetado.
Porém, algumas formas de DFSORT o processo envolvem só certos registros individuais naquele data set.

Data sets podem ser catalogados, o que permite saber onde os mesmos estão armazenados.
Um data set catalogado não deve ser confundido com um procedimento catalogado.
Um procedimento catalogado é uma coleção nomeada de JCL armazenada em um data set, e um data set catalogado é um jogo de dados cujo nome é registrado pelo sistema.

Ao longo deste documento, o termo registro refere-se a uma coleção de informações relacionadas usadas como uma unidade, como um artigo em um banco de dados ou dados de pessoal, a respeito de um membro de um departamento.
O termo campo refere-se a uma porção específica de um registro usada para uma categoria particular de dados, como o nome de um empregado ou departamento.

DFSORT pode classificar, cópiar ou intercalar (sort, copy ou merge) de registros de tamanho fixo e variável.
O tipo e tamanho de um data set estão definidos por seu formato de registro (RECFM) e registro lógico comprimento (LRECL).

Data sets de tamanho fixo têm um RECFM de F, FB, FBS, e assim por diante.
Data sets de tamanho variável têm um RECFM de V, VB, VBS, e assim por diante.
Para simplicidade, neste documento, as condições "FB data set" e "FB registros" são usados como nomes curto para data sets e registros de tamanhos fixos, respectivamente, e os termos " VB data set" e "VB registros" são usados como nomes curtos para data sets e registros de tamanho variaveis, respectivamente.

Um data set com RECFM=FB e LRECL=25 é um de tamanho fixo (FB) com um comprimento de 25-bytes (o B é para blocado).
Para uns data sets FB, o LRECL lhe conta o comprimento de cada registro no data set; todos os registros são o mesmo comprimento.
O primeiro byte de dados de um registro de FB está na posição 1.
Um registro em uns data set FB com LRECL=25 poderia se parecer:

Posição 01-03: Country Code = ’USA’
Posição 04-05: State Code = ’CA’
Posição 06-25: City = ’San Jose’ padded with 12 blanks on the right

Um data set com RECFM=VB e LRECL=25 é de comprimento variável (VB) com um comprimento de registro de máximo de 25-bytes.
Para um data set VB, diferentes registros podem ter comprimentos diferentes.
Os primeiros quatro bytes de cada registro contêm o Record Descriptor Word ou RDW, e os primeiros dois bytes do RDW contêm o comprimento daquele registro (em binário).
O primeiro byte de dados de um registro de VB está na posição 5, depois do 4-byte RDW em posições 1-4.

  • Um registro em um data set VB com LRECL=25 poderia se parecer:
    • Posição 01-02: Length in RDW = hex 000E = decimal 14
    • Posição 03-04: Zeros in RDW = hex 0000 = decimal 0
    • Posição 05-07: Country Code = ’USA’
    • Posição 08-09: State Code = ’CA’
    • Posição 10-17: City = ’San Jose’
A menos que caso contrário notável, os exemplos neste documento processam data sets FB que é mais fácil para trabalhar e descrever. Porém, são discutidas considerações especiais para processar data sets VB ao longo deste documento sempre que apropriado.

Classificando Data Sets

Você pode usar DFSORT para rearranjar os registros em seus data sets. Ordenando, você está organizando os registros ascendente ou descendente ordem dentro de um arquivo.
  • A tabela 2 exibe um exemplo de um data set de nomes:
    • A primeira coluna sem classificação nenhuma
    • A segunda coluna classificada na ordem ascendente
    • A terceira coluna classificada na ordem descendente

Você pode ordenar dados de muitos formatos diferentes.
A tabela 3 exibe os formatos de dados mais comuns de DFSORT e o formato do identifiers que você usa para os especificar.

Recorra ao z/OS DFSORT Application Programming Guide para detalhes completos dos formatos disponíveis.

Intercalando (Merging) Data Sets

Você também pode usar DFSORT para intercalar (MERGE) data sets.
DFSORT mescla (merge) data sets combinando dois ou mais arquivos de registros classificados para formar um único data set de registros ordenados.

O data set para você mesclar (merge) deve estar previamente ordenado na mesma ordem (ascendente ou descendente).

Copiando (Copying) Data Sets

DFSORT também pode copiar data sets sem nenhuma classificação.
Você copia data sets do mesmo modo que você classifica (sort) ou mescla (merge) os mesmos.

Unindo (Joining) Data Sets

DFSORT pode executar várias operações "join" em dois data sets por uma ou mais chaves.
Você pode criar registros unidos em uma variedade de modos que incluem inner join, full outer join, left outer join, right outer join e combinações de unpaired.
Os dois data sets de entrada (input) podem ser de tipos diferentes (fixo, variável, VSAM, e assim por diante) e tem chaves em locais diferentes.
Podem ser processados os registros dos dois arquivos de entrada (input) em uma variedade de modos antes e depois que eles sejam unidos.

What Else Can You Do with DFSORT? - Que mais você pode fazer com DFSORT?

Enquanto classificando (sort), intercalando (merge) ou copiando (copy) data sets, você também pode executar outras tarefas como as seguintes:

  • Selecione um subconjunto de registros de um data set de entrada (input).
    Você pode incluir ou omitir registros que você conhece os critérios especificados.
    Por exemplo, ao ordenar um data set de entrada (input) contendo registros claro que documentos de muitos departamentos escolares diferentes, você pode ordenar os documentos para só um departamento.
  • Reformate registros em uma variedade de modos.
    Você pode construir seus registros um cada vez, só pode sobrepor colunas específicas ou reformatar registros diferentes de modos diferentes.
    Você pode editar (edit), mude (change), somar (add) ou apagar (delete) campos.
    Você pode converter campos de data de um tipo para outro tipo e pode executar funções aritméticas com campo de data.
    Você pode executar pesquisas (find) e operações de substituição (replace) em seus registros.
    Você pode executar várias operações em grupos de registros.
    Você pode trabalhar diretamente com campos de position/length fixos ou pode converter campos de position/length variáveis (como vírgula separaram valores) para campos analisados gramaticalmente fixos para mais adiante processo.
    Você também pode inserir espaços em branco, zeros, strings, data atual, data futura, data passada, tempo atual, sequencia numérica, constantes decimais e os resultados de instruções de aritmética antes de, entre,e depois de campos de entrada.
    Por exemplo, você pode criar um data set de output que contém caráter strings e só certos campos editados desde um data set de entrada (input), organizada diferentemente.
  • Soma valores em registros selecionados enquanto está classificando (SORT) ou mesclando (MERGE), mas não enquanto copiando (COPY).
    Em um exemplo de um data set que contém registros de livros, você pode usar o DFSORT para somar a quantidade de livros para um departamento escolar.
  • Crie múltiplos data sets e relatórios simples ou complexos em uma única passagem em um data set de entrada (input).
    Por exemplo, você pode criar um data set de saída (outuput) diferente para os registros de cada departamento.
  • Converter data sets de registros variáveis (VB) para data sets de registros fixos (FB) ou
    converter data sets de registros fixos (FB) para data sets de registros variáveis (VB).
  • Classifica (sort), mescla (merge) , inclui (include) ou omite (omit) registros de acordo com as regras dentro um local selecionado.
  • Altere a sequencia dos dados quando estiver classificando (sort) ou mesclando (merge) registros, mas não enquanto estiver copiando (copy).
    Por exemplo, você pode ter as letras minúsculas depois das letras maiúsculas.
  • Classifique (sort), mescla (merge) ou cópie (copy) dados japoneses se a IBM Byte Character Set Ordering Support (DBCS Ordering) (5665-360 Programa Autorizado, Versão 2.0 ou um produto equivalente) é usado com DFSORT para processar os registros.

Criando e Executando Jobs DFSORT

  • Processando data sets com DFSORT envolvem dois passos:
    1. criando um trabalho de DFSORT
    2. executando um trabalho de DFSORT
  • Você pode executar um trabalho de DFSORT invocando processo de vários modos:
    • Com uma declaração de JCL EXEC, usando o nome do programa ou o nome da procedure catalogada
    • Dentro de programas escritos em COBOL, PL/I, ou Assembler
  • Neste documento, as frases diretamente ou invocado o JCL significa que o programa de DFSORT é iniciado por uma declaração de JCL EXEC com PGM=SORT ou PGM=ICEMAN.
    As frases chamadas por um programa ou invocada dinamicamente significa que o programa de DFSORT é iniciado por outro programa.
  • Escrevendo Jobs (JCL)
    • Você pode usar DFSORT para escrever JCL e comandos de controle do DFSORT não importa como seu local instalou DFSORT.
      Parte 1 contém instruções de como escrever JCL e comandos de controle do programa DFSORT.
    • Você tem que preparar declarações de JCL e os comandos de controle do programa DFSORT para invocar processo de DFSORT.
      Declarações de JCL são processadas por seu sistema operacional.
      Eles descrevem seus data sets ao sistema operacional e o processo DFSORT é iniciado.
      Comandos de controle do programa DFSORT são processados pelo DFSORT.
      Eles descrevem e iniciam o processo que você quer fazer.
  • Sumário das declarações de controle do DFSORT
    • As funções do DFSORT mais importante podem ser resumido brevemente como segue:
    • SORT
      • Descreve os campos para uma aplicação de classificação (sort) ou pedidos uma aplicação de cópia (copy).
    • MERGE
      • Descreve os campos para uma aplicação de mesclagem (merge) ou pedidos uma aplicação cópia aplicação (copy).
    • OPTION
      • Anula instalação defaults, pedidos com características opcionais ou uma aplicação COPY.
    • INCLUDE
      • Descreve os critérios a ser usados para incluir registros antes de eles sejam classificados, copiados ou executado um merge.
    • OMIT
      • Descreve os critérios a ser usados para omitir registros antes de eles sejam classificados, copiados ou executado um merge.
    • INREC
      • Descreve como os registros serão reformatados antes de eles serem classificados, copiados ou executado um merge.
    • OUTREC
      • Descreve como os registros serão reformatados depois de eles serem classificados, copiados ou executado um merge.
    • SUM
      • Descreve como campos serão somados depois de classificados ou mesclados.
    • OUTFIL
      • Descreve vários tipos de processamento a ser executado para um ou mais data sets de saída (output) depois de classificado, copiado ou mesclado.
    • JOINKEYS, JOIN, REFORMAT
      • Descreve uma " aplicação de joinkeys " por unir dois arquivos com uma ou mais chaves.
    • As funções do DFSORT menos importante podem ser resumido brevemente como segue:
    • ALTSEQ
      • Descreve alterações para uma transação normal de tabela.
    • MODS
      • Descreve rotinas de saída de usuário
    • RECORD
      • Informa o tipo do registro do data set e o tamanho da informaçõa quando necessário.
    • DEBUG
      • Pedidos de diagnóstico característicos.
    • END
      • Marca o fim dos comandos de controle
  • Executando através de um JOB
    • Voce pode executar o DFSORT diretamente com comandos do JCL EXEC que usa PGM=SORT ou PGM=ICEMAN.
    • Ou voce pode chamar o DFSROT dinamicamente através do COBOL, Assembler, PL/I ou outros tipos de programas.


© Copyright IBM Corp.