REGISTROCONTENDO A TOTALIZACAO DO CAMPO QUANTIDADE, PARA EVITAR ESTOURO DO CAMPO QUANTIDADE ACRESCETAR2 BYTES VIA COMANDO INREC INREC FIELDS=(1,11,13,2,57,15) SORT FIELDS=(13,2,ZD,A,1,11,ZD,A) SUM FIELDS=(13,02,ZD)> <...+....1....+....2....+....3....+....4....+....5....+....6....+....7.. ...... ================================ T O P ================================= 000100 //RP68SO06 JOB (1,'TP=TNDS'),'EDMILS',CLASS=3, 000200 // MSGCLASS=R,MSGLEVEL=1,REGION=2048K 000300 /*JOBPARM R=1108,P=PROC03 000400 //*-------------------------------------------------------------------* 000500 //*-------------------------------------------------------------------* 000600 //SORT0106 EXEC RSORTD 000700 //SORTIN DD DSN=RPY.EDMIL.INTE.POSI,DISP=SHR 000800 //SORTOUT DD DSN=RPY.EDMIL.INTE.POSIS1,DISP=(OLD,CATLG,CATLG), 001100 // UNIT=FIXO,SPACE=(CYL,(100,20)),DCB=*.SORTIN 001200 //SYSIN DD * 001300 INREC FIELDS=(13,2,1,11,57,15) 001400 SORT FIELDS=(13,2,ZD,A) * A,1,11,ZD,A) 001500 SUM FIELDS=(1,11,ZD) 001600 /* ...... ============================= B O T T O M ==============================EXEMPLO 07 SELECIONANDO CAMPOS E ELEIMINANDO REGISTROS DUPLICADOSSELECIONAR TODOS OS REGISTOR LIDOS O CAMPO, SITUACAO DO CONTATO, QUE DEVEM SER ORDENADOS PELO MESMO CAMPO E POSTERIORMENTE SUMRIZADOS EM 1 UNICOREGISTRO AQUELES COM A MESMA CHAVE (SITUACAO DOCONTRATO) INREC FIELDS=(1,11,13,2,57,15) SORT FIELDS=(13,2,ZD,A,1,11,ZD,A) SUM FIELDS=(13,02,ZD)EXEMPLO 08 ORDENANDO REGISTROS E REPOSICIONANDO CAMPOSORDENAR POR DATA/SITUACAO/CONTRATO, FORMATANDO A SAIDA COM OS CAMPOS NESTA ORDEM, DATA, SITUACAO E CONTRATRO E SALDOSORT FIELDS=(15,2,ZD,A,13,2,ZD,A,11,2,ZD,A,2,5,ZD,A,1,1,CH,A)OUTREC FIELDS=(11,6,2,5,1,1,7,4)EXEMPLO 09 COPIANDO REGISTROS , INSERINDO BRANCOS E REPOSICIONANDO CAMPOSMANTEM A MESMA ORDEM, INSERINDO 1 ESPACO ENTRE OS CAMPOSSORT FIELDS=COPYOUTREC FILEDS=(1,1,1X,2,5,1X,7,4,1X,11,6)EXEMPLO 10 COPIANDO, INSERINDO ZEROS BINARIOS E REPOSICIONANDO CAMPOS:MANTER A MESMA ORDEM, AUMENTANDO EM 2 BYTES O CAMPO QUANTIDADESORT FIELDS=(13,2,ZD,A,1,11,ZD,A) OUTREC FIELDS=(13,02,ZD)EXEMPLO 11 ORDENANDO REGISTRO E EDITANDO CAMPOSORDENAR POR SITUACAO DE CONTRATO E NUMERO DE CONTRATO, EDITANDO OS CAMPOS DE QUANTIDADE(BRANCOS A ESQUERDA) E DATA (BARRAS)SORT FIELDS=(13,2,ZD,A,1,11,ZD,A) OUTREC FIELDS=(1:1,1 3:2,5 9:7,4,PD,MO, 18:11,6,ZD,M9) EXEMPLO 12 IMPRIMIR RELATORIO COM QUEBRA E EDICAO, SEM CABECALHOS SORT FIELDS=(13,2,ZD,A,1,11,ZD,A) OUTFIL OUTREC=(5:1,1 15:2,5 25:7,4,PD,MO, 35:11,6,ZD,M9,SECTIONS=1,1,SKIP=3LEXEMPLO13 IMPRIMINDO RELATORIO COM QUEBRA, CABECALHOS E PAGINACAOORDENAR POR SITUACAO DO CONTRATO, IMPRIMINDO RELATORIO COM CABECALHO (CAPA DO RELATORIO, PAGINA E QUEBRA)COM QUBRA (SALTO DE 2 LINHAS) POR SITUACAO , SEPRADNO OS CAMPOS POR BRANCOS E EDITANDO O SALDO E A DATA SORT FIELDS=(13,2,ZD,A,1,11,ZD,A) OUTFIL HEADER=(15/,50:'DEPARTAMENTO DE EMPRESTIMOS ESPECIALIZADOS', 4/,55:'POSICAO DA CARTEIRA', 4/,60:'2006', 35:11,6,ZD,M9,SECTIONS=1,1,SKIP=3L HEADER2=(1:'DATA...: ',&DATA, 55:'POSICAO DO ESTOQUE / 2006', 116:'PAGINA...: ',&PAGE,/, 1:132'-',//), OUTREC=(15:1,1, 40:2,5, 60:7,4,PD,MO, 90:11,6,ZD,M9, 132:1X), SECTIONS=(1,1,SKIP=2L, HEADER=(10:'SITUACAO DO CONTRATO', 40:'NUMERO DO CONTRATO' 60:'SALDO DO ATIVO' 80:'DATA DE VENCIMENTO',//)) ENDOBS: //SORTOUT DD SYSOUT=L,DCB=(LRECL=133,BLKSIZE=133,RECFM=FBA)EXEMPLO 14 IMPRIMINDO RELATORIO COM TOTALIZACAO GERALORDENAR POR SITUACAO DO CONTRATO, IMPRIMINDO RELATORIO COM CBELCALHO, QUEBRA E TOTALIZACAOGERAL DO CAMPO QUANTIDADE SORT FIELDS=(13,2,ZD,A,1,11,ZD,A) OUTFIL HEADER1=(15/,50:'DEPARTAMENTO DE EMPRESTIMOS ESPECIALIZADOS', 4/,55:'POSICAO DA CARTEIRA', 4/,60:'2006', 35:11,6,ZD,M9,SECTIONS=1,1,SKIP=3L HEADER2=(1:'DATA...: ',&DATA, 55:'POSICAO DO ESTOQUE / 2006', 116:'PAGINA...: ',&PAGE,/, 1:132'-',//), OUTREC=(15:1,1, 40:2,5, 60:7,4,PD,MO, 90:11,6,ZD,M9, 132:1X), SECTIONS=(1,1,SKIP=2L, HEADER3=(10:'SITUACAO DO CONTRATO', 40:'NUMERO DO CONTRATO' 60:'SALDO DO ATIVO' 80:'DATA DE VENCIMENTO',//)) ENDEXEMPLO 15 IMPRIMINDO RELATORIO COMTOTALIZACAO GERALORDENAR POR SITUACAO DO CONTRATO IMPRIMEINDO RELATORIO COM CABECALHO,QUEBRA E TOTALIZACAO GERALDOCAMPO QUANTIDADE SORT FIELDS=(13,2,ZD,A,1,11,ZD,A) OUTFIL HEADER1=(15/,50:'DEPARTAMENTO DE EMPRESTIMOS ESPECIALIZADOS', 4/,55:'POSICAO DA CARTEIRA', 4/,60:'2006', HEADER2=(1:'DATA...: ',&DATA, 55:'POSICAO DO ESTOQUE / 2006', 116:'PAGINA...: ',&PAGE,/, 1:132'-',//), OUTREC=(15:1,1, 40:2,5, 60:7,4,PD,MO, 90:11,6,ZD,M9, 132:1X), HEADER=(10:'SITUACAO DO CONTRATO', 40:'NUMERO DO CONTRATO' 60:'SALDO DO ATIVO' 80:'DATA DE VENCIMENTO',//)) TRAILLER=(1,1,SKIP=2L, ENDOBS; AO FINAL DO RELATORIO SERA IMPRESSO, EM PAGIN SEPRADA, O TOTAL GERAL16) IMPRIMINDO RELATORIOCOM TOTALIZACAO DE PAGINA (RODAPE)ORDENAR POR SITUACAO DO CONTRATO IMPRIMINDO RELATORIO COM CABECALHO, QUEBRA E TOTALIZACAO GERAL E PARCIAL ACUMULADA POR PAGINADO CAMPO QUANTIDADE SORT FIELDS=(13,2,ZD,A,1,11,ZD,A) OUTFIL HEADER1=(15/,50:'DEPARTAMENTO DE EMPRESTIMOS ESPECIALIZADOS', 4/,55:'POSICAO DA CARTEIRA', 4/,60:'2006', HEADER2=(1:'DATA...: ',&DATA, 55:'POSICAO DO ESTOQUE / 2006', 116:'PAGINA...: ',&PAGE,/, 1:132'-',//), OUTREC=(15:1,1, 40:2,5, 60:7,4,PD,MO, 90:11,6,ZD,M9, 132:1X), SECTIONS=(1,1,SKIP-2L, HEADER3=(10:1,1, 40:'NUMERO DO CONTRATO' 60:'SALDO DO