--------------------------------------- 04 LIQ P/ CL --------------------------------------- 05 EM ATRASO --------------------------------------- 10 AGUARDANDO LIBERACAO ---------------------------------------COPIAR OS REGISTROS DE ENTRADA (TAMANHO VARIAVEL), GRAVANDO OS EM 3 ARQUIVOS:PRIMEIRO ARQUIVO(SORTOUT), TODOS OS REGISTROS DE ENTRADA DEVERAO SER SELECIONADOS, MANTENDO O TAMANHO VARIAVEL.SEGUNDO ARQUIVO(//SORTOF1), SOMENTE SERAO GRAVADOS CONTRATOS COM SITUACAO '00'E SOMENTE O CAMPO NUMERO DO CONTRATO COM TAMANHO FIXOTERCEIRO ARQUIVOSOMENTE SERAO GRAVADOS OS REGISTROS COM 3 OCORRENCIAS (EM TODOS OS CONTRATOS)COM TODOS OS CAMPOS DE ENTRADA COM TANAHO FIXOSORT FIELDS=COPYOUTFIL FILES=1,INCLUDE=(5,5,ZD,EQ,5), OUTREC=(5,5),CONVERTOUTFIL FILES=2,INCLUDE=(10,1,ZO,EQ,3), OUTREC=(5,21),CONVERTENDOBS://SORTOUT DD ...ARQUIVO VARIAVEL//SORTOF1 DD ...ARQUIVO FIXO (FILES=1)//SORT0F2 DD ...ARQUIVO FIXO (FILES=2)SE O "O SORTOUT" NAO FOR CODIFICADO, NENHUM ARQUIVO SERA GERADOAO SER REFERECIADA A POSICAO DE INICIO DE CADA CAMPO, ADICIONAR 0S 4 BYTES DO "ROW".O PRIMEIRO CAMPO COMECA NO BYTE 5EXEMPLO 22 SUMARIZANDO REGISTROS E TOTALIZANDO A QUANTIDADE DE REGISTROS COM MESMA CHAVEPARA OS REGISTROS COM MESMA CHAVE (SITUACAO DO CONTRATO),SUMARIZA LOS EM 1 UNICO REGISTRO CONTENDO O TOTAL DE REGISTROSINREC FILEDS=(2,5,X'00001F')SORT FIELDS=(1,5,ZD,A)SUM FIELDS=(6,3,PD)EXEMPLO 23 GERANDO MAIS QUE UM REGISTRO DE SAIDA A PARTIR DE UM REGISTRO DE ENTRADAPARA CADA REGSITRO LIDO, GERAR QUATRO (4) DE SAIDAO PRIMEIRO CONTENDO SITUACAO DO CONTRATOO SEGUNDO CONTENDO O NUMERO DO CONTRATOO TERCEIRO EM BRANCOO QUARTO COM O SALDO DEVEDOROBS: O TAMANHO DOS REGISTROS DE SAIDA SERA O DO MAIRORGISTRO GERDO, COM PREENCHIMENTO DE BRANCOS A DIREITAEXEMPLO 24 CONVERTENDO O ARQUIVO COM RESGISTROS DE TAMANHO VARIAVEL PARA FIXOCOPIAR OS RESGISTRO DO ARQUVIO DE ENTRADA PARA O ARQUIVO DE SAIDA DE MODO QUE OS REGISTROS SEJAM CONVERTIDOS DE TAMANHO VARIAVEL PARA FIXOSORT FILEDS=COPYOUREC FIELDS=(5,2),CONVERTOBS: SERA ASSUMIDO COMO 'LRECL' O TAMANHO DOMAIRO REGISTRO DE ENTRADAOS REGSITROS COM TAMANHO MENO SERAO PREENCHIDOS COM BRANCOS 'A DIREITA'EXEMPLO 25 CONVERTENDO O ARQUIVO COM REGISTROS DE TAMANHO VARIAVEL PARA FIXO,SELECIONANDO CAMPOS DA PARTE VARIAVELSORT FIELDS=COPYOUTFIL FILES=01,OUTREC=(5,11),CONVERTOUTFIL FILES=02,OUTREC=(21,5),CONVERTOBSSERA ASSUMIDO COMO 'LRECL' O TAMANHO ESPECIFICADO NO COMANADO 'OUTREC', OS REGSITROS DE ENTRADA CUJOS CAMPOS REFERENCIADOS NAO EXISTAM, PRODUZIRAO CAMPOS EM BRANCO NO REGISTRO DE SAIDAEXEMPLO 26 SELECIONANDO REGISTROS MEDIANTE A OMPARACAO DE 'BIT'SELECIONAR OS REGSITROS QUE POSSUAM NO BYTE 156, O BIT MAIS A DIREITA(BIT DE VALOR 1) LIGADO (BIT MASK)INCLUDE COND=(16,1,BI,ALL,B'000000001'SORT FIELDS=COPYSELECIONAR OS REGISTROS QUE POSSUEM NO BYTE 16, OS 4 PRIMEIROSBITS MAIS 'A DIREITA (BITS DE VALOR 1,2,3,4, E 8) COM O VALOR 1,OU SEJA, BIT DE VALOR 1 LIGADO E OS OUTROS DESLIGADOS (BIT PATTERN)INCLUDE COND=(16.1.BI,EQ,B'00000001')SORT FILDS=COPYEXEMPLO 27 COPIANDO OS REGISTROS DE ENTRADA , AUMENTANDO O SEU TAMANHO NO ARQUVIO DE SAIDACOPIAR TODO O REGISTRO DE ENTRADA, SEM FORMATACAOSORT FIELDS=COPYOBS; SERAO PREENCHIDOS 'ZEROS BINARIOS' A DIRETITA DO REGISTROS ORIGINALINDICAR NA 'DCB' DO ARQUIVO DE SAIDA O NOVO 'LRECL'//SORTOUT DD DSN=&&SAIDA,UNIT=SYSDA,DISP=(,PASS)... DCB=(LRECL=30,BLKSIZE=3000,RECFM=(FB) ...COPIAR O REGISTRO DE ENTRADA, FORMATANDO O REGISTRO DE SAIDASORT FIELDS=COPYOUTREC FIELDS=(1:1,1, 10:2,5, 20:7,4,PD,MD, 30:11,6,ZD,M9)OBS: SERAO PREENCHIDOS BRANCOS NOS BYTES NAO REFERENCIADOSEXEMPLO 28 FORMATANDO 2 ARQUIVOS DE SAIDA, CADA UM COM SEU CRITERIO DE SELECAO DE REGISTROS, COM LEIAUTE DE MESMO TAMANHO, POREM COM CAMPOS DIFERENTESINCLUDE COND=(1,1,CH,EQ,C'A',OR,1,1,CH,EQ,C'X')SORT FIELDS=COPYOUTFIL FILES=01,INCLUDE=(15,2,ZD,EQ,2006), OUTREC=(1,1,2,5,7,4,C'ANO 2006')OUTFIL FILES=02,INCLUDE=(15,2,ZD,EQ,2006 OUTREC=(1,1,2,5,7,4,C'ANO 2006') //SORT FIELDS=COPY //RP68SELE JOB (1,'TP=TNDS'),'TiNS010',CLASS=C,MSGLEVEL=2,// MSGCLASS=R,TIME=1,REGION=10000K/*JOBPARM R=2007,P=PROC03//*//*--------------------------------------------------------------------*//* STOPAFT = LIMITE DE REGISTROS DE SAIDA *//* INCLUDE COND = SELECIONA PARA SAIR NO SORT *//*--------------------------------------------------------------------*//*//SORT0001 EXEC RSORTD//SYSOUT DD SYSOUT=*//******************************************************************************//* arquivo de entrada * //******************************************************************************//SORTIN DD DSN=RPY.EDMIL.INTE.CADAS,DISP=SHR