JCL - Por que DFSORT? (ICETOOL)



Desenvolvido por DORNELLES Carlos Alberto - Analista de Sistemas - Brasília DF. - cad_cobol@hotmail.com

JCL - Por que DFSORT? (ICETOOL)

Uma aplicação do z/OS executada em modo batch para classificar, mesclar e copiar informações? Na verdade muito mais que isso.

Com poucas linhas de instruções é possível executar tarefas muito complexas que, de outra forma, só seriam possíveis com o desenvolvimento de programas igualmente complexos, exigindo o seguimento de metodologias de qualidade de software, aplicativos de controle de versão, uso de padrões institucionais de codificação, documentação e extensos testes.

Naturalmente estamos falando de tempo, e de dinheiro investido na solução de um problema que pode ou não justificar seu custo.
Situações ditas “pontuais” podem suceder-se, uma após outra, configurando-se mais como regra do que exceção, acarretando alocação de recursos além do estimado e trazendo ruído para o projeto.

De forma alguma tratamos aqui de um “atalho” leviano, sem qualquer controle institucional.
Os processos implementados por DFSORT podem opcionalmente passar também pela cadeia de qualidade e versionamento de JCL, porém com mais agilidade e qualidade.
Apesar da delicada sintaxe, é possível documentar consideravelmente o código com comentários e, caso seja necessário, utilizar arquivos de SYSIN protegidos por RACF.

Os recursos do DFSORT para tratamento de arquivos são tão amplos que é difícil imaginar uma situação a qual não dê solução.
Pode-se filtrar os registros a serem tratados, editar e reformatar campos, converter numéricos compactados e zonados, contar, medir e totalizar valores, efetuar cálculos entre campos, fazer buscas de “strings” e substituições, fazer exibição hexadecimal, tratar campos separados por delimitadores (tipo CSV), tratar datas e horas de diferentes formatos, inserir espaços em branco, zeros, converter ASCII e EBCDIC, maiúsculas e minúsculas, e uma infinidade mais de outras possibilidades.

Com uma única passagem do arquivo de entrada, ou "merge" entre arquivos diferentes, é possível gerar vários de saída com instruções OUTFIL, com tamanhos e blocagens diferentes, fixos ou variáveis, inclusive gerar relatórios de estatísticas por quebras.

Grupos de registros podem ser separados através de recursos lógicos condicionais sofisticados, gerando relatórios detalhados com três níveis de quebra.

É possível fazer “inner, outer, left, right join” entre arquivos com a função JOINKEYS, podendo os arquivos de entrada serem de tipos diferentes (fixo, variável, VSAM) e possuírem chaves em diferentes posições.

Há muito o que se possa fazer entre custos a cortar e prazos apertados, e o DFSORT atende com perfeição este cenário com rapidez, performance, segurança e eficácia.

A figura abaixo dá uma noção da complexidade e das possibilidades de processamento do DFSORT:

O seguinte exemplo da IBM ilustra como os relatórios de três países diferentes (EUA, FRANÇA, DINAMARCA) podem ser produzidos a partir de registros de entrada de comprimento fixo classificados.
Os relatórios diferem apenas na forma como a data, a hora e os formatos numéricos são especificados.

Os resultados dos três relatórios gerados poderiam ser como os seguintes:



© Copyright Marcus Mello - IBM Mainframe Developer COBOL/CICS/DB2