I,III,I...I,IIT,TTSM3 I,III,I...I,IIT,TTCRM4 $I,III,I...I,IIT,TTM5 $I,III,I...I,IIT,TTSM6 III-TTT-TTTTM7 TTT-TT-TTTTM8 IT:TT:TTM9 IT/IT/TTONDE 'I' REPRESENTA DIGITO NAO SIGNIFICATIVO 'T' REPRESENTA DIGITO SIGNIGICATIVO 'S' REPRESENTA CARACTER INDICATIVO DE SINAL CLASSIFICACAO:, A - ASCENDENTE D - DESCENDENTE COND: EQ - NE - GT - LT - LE OPERADOR: & = AND | = OR OPCOES: ALTSEQ CODE = (FFTT,FFTT,....,FFTT) FF = CARATER EM HEX QUE SE QUER MUDAR TT = CARATER EM HEX QUE DEVERA SER CLASS UTILIZADO PARA MUDANCA DE CARATER NA CLASS EX: QUERO CLASS TODO 9 COMO 0.INCLUDE- FUNCAO: SELECIONA REGISTROS DO ARQUIVO DE ENTRADA, COMPARANDO UM OU MAIS CAMPOS DO REGISTRO, UM CAMPO PODE SER COMPARADO COM UMA CONSTANTE OU OUTRO CAMPO DO REGISTRO INCLUDE COND = (P1,T1,F1,COND,|P2,T2,F2-OU CONST-|,(AND,OR,) INCLUDE COND = (P1,T1,COND,|P2,T2-OU CONST-|,(AND,OR,)...) P1,P2 = POSICAO INICIAL DO CAMPO DO REGISTRO T1,T2 = TAMANHO DO CAMPO F1,F2 = FORMATO DO CAMPO COND = CONDICAO DE COMPARACAO CONST = CONSTANTE - PODENDO SER: - DECIMAL : NUMERO (240) - CARATER : C'LITERAL' (C'CPFL') - HEXADECIMAL : X'HH, ... ... HH' (X'40') 0 UTILIZADO PARA SELECIONAR OS REGISTROS QUE DEVERAO SER GRAVADOS NA SAIDA.EXEMPLOSSUPONHA UM ARQUIVO CONTENDO OS ITENS EM ESTOQUE EM CADA ALMOXARIFADOCOM O SEGUINTE LAYOUTINICIO FIM TAMANHO FORMATO SIGNIFICAO/CONTEUDO01 11 11 Z0 CODIGO DO CONTRATO12 12 01 CH ASTERISCO13 14 02 ZO SITUACAO DO CONTRATO15 15 01 CH ASTERISCO16 23 08 ZO DT VENCIMENTO DO CONTRATO24 24 01 CH ASTERISCO25 39 15 ZO SALDO DEVEDOR DO PRINCIPAL40 40 01 CH ASTERISCO41 55 15 ZO SALDO DEVEDOR DO PASSIVO56 56 01 CH ASTERISCO57 71 15 ZO SALDO DEVEDOR DO ATIVO72 72 01 CH ASTERISCO73 81 09 ZO NUMERO DO CGC / CPF82 82 01 CH ASTERISCO83 86 04 ZO FILIAL87 87 01 CH ASTERISCO88 89 02 ZO DV CONTROLE90 90 01 CH ASTERISCO91 130 40 CH NOME DA RAZAO SOCIAL131 200 70 CH FILLER CODIGO DA SITUACAO DESCRICAO 00 CONTRATO ATIVO --------------------------------------- 02 QUITADO NO ANO --------------------------------------- 03 LIQ ANTECIPADA --------------------------------------- 04 LIQ P/ CL --------------------------------------- 05 EM ATRASO --------------------------------------- 10 AGUARDANDO LIBERACAO ---------------------------------------M - FAZ SORT CLASSIFICACAO POR TIPO DE SITUACAO DE CONTRATO, ORDEM ALFABETICA DO NOME DO CLIENTE> <...+....1....+....2....+....3....+....4....+....5....+....6....+....7.. ...... ================================ T O P ================================= 000100 //RP68SORT JOB (1,'TP=TNDS'),'EDMILS',CLASS=3, 000200 // MSGCLASS=R,MSGLEVEL=1,REGION=2048K 000300 /*JOBPARM R=1108,P=PROC03 000400 //*-------------------------------------------------------------------* 000500 //* SORT - FAZ CLASSIFICACAO DO ARQUIVO POR TIPO DE SITUACAO DE 000510 //* CONTRATO E COLOCA EM ORDEM ALFABETICA POR NOME DE CLIENTE 000600 //*-------------------------------------------------------------------* 000700 //SORT0106 EXEC RSORTD 000800 //SORTIN DD DSN=RPY.EDMIL.INTE.POSI,DISP=SHR 000900 //SORTOUT DD DSN=RPY.EDMIL.INTE.POSIS,DISP=(OLD,CATLG,DELETE), 001000 // UNIT=FIXO,SPACE=(CYL,(100,20)),DCB=*.SORTIN 001100 //SYSIN DD * 001200 SORT FIELDS=(13,2,ZD,A,91,40,CH,A) 001300 /* ...... ============================= B O T T O M ==============================EXEMPLO 01 - INCLUDE SELECIONANDO E ORDENANDO REGISTROSSELECIONAR POR SITUACAO DO CONTRATO (somente '00' e '02') ORDENANDO OS REGISTRO SELECIONADOS POR SITUACAO DO CONTRATO ORDENANDO OS REGISTRO POR CONTRATO ...... ================================ T O P =================================000100 //RP68SO01 JOB (1,'TP=TNDS'),'EDMILS',CLASS=3, 000200 // MSGCLASS=R,MSGLEVEL=1,REGION=2048K 000300 /*JOBPARM R=1108,P=PROC03 000400 //*-------------------------------------------------------------------* 000500 //* SORT CLASSIFICA POR SIT CONTRATO 000600 //* POR ORDEM ALFA DE CLIENTE 000700 //*-------------------------------------------------------------------* 000800 //SORT0106 EXEC RSORTD 000900 //SORTIN DD DSN=RPY.EDMIL.INTE.POSI,DISP=SHR 001000 //SORTOUT DD DSN=RPY.EDMIL.INTE.POSIS1,DISP=(,CATLG,DELETE), 001100 // UNIT=FIXO,SPACE=(CYL,(100,20)),DCB=*.SORTIN 001200 //SYSIN DD * 001300 INCLUDE COND(13,2,CH,EQ,C'00',OR,13,2,CH,EQ,C'02') 001400 SORT FIELDS=(13,2,CH,A,1,11,CH,A),STOPAFT=200*