MOHANK 23423423434534344 KIRAN MOHANK 13342345345345345 RAJEEV ARAMES 34535345325354324 SURESH SURESH 98347385385933987 PULI RAMESH 67575789769876785 MADHU Krishn 50830948530859340 OIIED Krishn 30495849572938495 MADHU SURESH 98347385385933987 PULI simples SORT structue JCL é a seguinte - Amostra tipo JCL ----. STEP10 EXEC PGMSORT, REGION1024K, PARMparameters SYSOUT DD SYSOUT Saída de mensagens de SORT SORTIN DD DSN. DISPSHR Entrada se SORT solicitar SORTOUT DD DSN. Saída para solicitação SORT SORTOFxx DD DSN. OUTFILE conjuntos de dados de saída SORTXSUM DD DSN. Saída eliminada pelo SUM STM SORTWKnn DD UNITSYSDA, arquivos de trabalho se pedido SORT SYSIN DD As instruções de entrada de declaração de entrada estabelecem ordens de controle de classificação. SEGUINDO OS SORTCARDS PARA DIFERENTES TIPOS DE TAREFA TASK 1. PROCURAR UM ARQUIVO DADO - AMOSTRA JCL SYSIN DD CAMPOS DE SEGURANÇA (1,3, CH, A, 9,3, CH, A) ARAMES 34535345325354324 SURESH KRISHN 30495849572938495 MADHU KRISHN 50830948530859340 OIIED MOHANK 13342345345345345 RAJEEV MOHANK 23423423434534344 KIRAN RAMESH 67575789769876785 MADHU SURESH 98347385385933987 PULI SURESH 98347385385933987 PULI EXPLANATION Acima da sintaxe do SORT ordenou as reconexões, depende das chaves que fornecemos (fornecemos duas chaves no parâmetro FIELDS) FIRST KEY 1-3, CH, A - primeiro Chave iniciada em col 1. seu comprimento é 3 SEGUNDA CHAVE 9,3, CH, A - segunda chave iniciada na col 9, seu comprimento é 3 No exemplo acima, CH - significa caráter que podemos usar BI para a ordem A ascendente binária TABELA 2. ELEMINA OS DUPLICADOS SYSIN DD TERRENOS DE SEGURANÇA (1,3, CH, A) CAMPOS DA SOMA NAMES ARAMES 34535345325354324 SURESH KRISHN 50830948530859340 OIIED MOHANK 23423423434534344 KIRAN RAMESH 67575789769876785 MADHU SURESH 98347385385933987 PULI EXPLICAÇÃO se damos SUM FI ELDSNONE ele eliminará duplicatas TASK 3. ARQUIVO DE LIMITE EM DOIS OU TRÊS ARQUIVOS DEPENDE DE CONDIÇÕES SORTOF01 DD DSNdataset1, DISP (NOVO, CATLG, DELETE), UNITSYSDA, SPACE (CYL, (1,4), RLSE), DCB (RECFMFB, LRECL80, BLKSIZE0) SORTOF02 DD DSNdataset2, DISP (NOVO, CATLG, DELETE), UNITSYSDA, SPACE (CYL, (1,4), RLSE), DCB (RECFMFB, LRECL80, BLKSIZE0) SORTOF03 DD DSNdataset3, DISP (NOVO, CATLG, DELETE), UNITSYSDA, SPACE (CYL, (1,4), RLSE), DCB (RECFMFB, LRECL80, BLKSIZE0). SYSIN DD SORT FIELDSCOPY OUTFIL FILES01, INCLUEM (1,6, CH, EQ, CMOHANK) OUTFIL FILES02, INCLUEM (1,6, CH, EQ, CSURESH) OUTFIL FILES03, INCLUEM (1,6, CH, EQ, CKRISHN) MOHANK 23423423434534344 KIRAN MOHANK 13342345345345345 RAJEEV SURESH 98347385385933987 PULI SURESH 98347385385933987 PULI KRISHN 50830948530859340 OIIED KRISHN 30495849572938495 MADHU EXPLICAÇÃO 1. SORT FIELDSCOPY - indique. É PARA CÓDIGO DE REGISTROS, NÃO PARA ORDEN 2. FOLHOS DE SAÍDA01, INCLUEM (1,6, CH, EQ, CMOHANK) FILMES DE SAÍDA02, INCLUEM (1,6, CH, EQ, CSURESH) FILMES DE SAÍDA03, INCLUEM (1,6, CH, EQ, CKRISHN) - SYNCSORT levará dados da 1ª positião para a 6ª posição do arquivo de entrada e comparará esses dados com MOHANK ou SURESH ou KRISHN - Se os dados forem iguais ao MOHANK, então o recorrido irá copiar para o conjunto de dados definido na etapa SORTOF01. (Porque definimos FILES01 em segunda condição) - Se os dados forem iguais a SURESH, então o recorrido passará ao conjunto de dados definido na etapa SORTOF02. (Porque definimos o FILES02 em segunda condição) - Se os dados forem iguais a KRISHN, esse recurso será copiado para o conjunto de dados difenhado na etapa SORTOF03. (Porque definimos FILES03 em terceira condição) TASK 4. COPIAR DUPLICADOS ELIMINADOS EM OUTRO ARQUIVO - SAMPLE JCL SORTXSUM DD DSNdatasetname, DISP (NOVO, CATLG, DELETE), UNITSYSDA, ESPAÇO (CYL, (1,4), RLSE), DCB (RECFMFB, LRECL80, BLKSIZE800). SYSIN DD SORT FIELDS (1,3, CH, A) SUM FIELDSNONE, XSUM ARAMES 34535345325354324 SURESH KRISHN 50830948530859340 OIIED MOHANK 23423423434534344 KIRAN RAMESH 67575789769876785 MADHU SURESH 98347385385933987 PULIvendo a seguir estão os parâmetros padrão SyncSort, que você pode alterar conforme descrito acima. O BMSG lista os parâmetros alternativos especificados através do ORTPARM no conjunto de dados da mensagem de saída. Esse padrão causa validação limitada dos dados contidos nos campos designados como decimal compactado ou zonado. Para que o tipo termine se os dados em campos PD ou ZD forem inválidos, especifique CMPCPD. Para tipos invocados pelo programa com rotinas de saída, você deve determinar a quantidade de memória necessária para as saídas e, em seguida, especificar COREMAXnnn K. NOSNAP suprimirá o despejo SyncSort SNAP, que é produzido em caso de erro crítico. Se você tiver uma instrução SYSUDUMP DD, você receberá o despejo normal do sistema operacional. Se você precisar de um despejo SNAP, especifique o parâmetro DEBUG. Para um tipo mais eficiente, a ordem dos registros não é preservada. Se a ordem precisa ser mantida, use a palavra-chave EQUALS. As mensagens de erro são emitidas quando ocorre um erro de IO. Se IOERRABE for especificado, um USER 999 ABEND ocorrerá. As instruções de controle serão listadas no conjunto de dados SYSOUT. NOLIST apagará isso. O nome DD padrão do conjunto de dados da mensagem é SYSOUT. Qualquer outro nome DD válido pode ser substituído. Para ser compatível com as opções de exibição das rotinas de saída do COBOL, as características definidas do conjunto de dados da mensagem são: DCB (LRECL121, BLKSIZE121, RECFMFA) Um tipo mal sucedido emitirá um código de retorno de 16. Se RC16ABE for especificado, um USUÁRIO 16 ABEND Vai acontecer. O espaço não utilizado nos conjuntos de dados de processamento será lançado durante o tempo de execução, a menos que o tipo seja iniciado pelo programa. Para liberar excesso de espaço no conjunto de dados SORTOUT, RLSOUT pode ser especificado. RESET deve ser dado como um parâmetro se o conjunto de dados SORTOUT for um arquivo VSAM que foi criado com a opção REUSE para impedir que o SyncSort tratasse o SORTOUT como um conjunto de dados MOD. Uma alocação secundária é dada aos conjuntos de dados de triagem, se necessário. Nenhum teste de validade de registros de comprimento variável será feito. A documentação para o utilitário SyncSort está no SyncSort Release 3.4 Programmers Guide from SyncSort, Inc. Você pode solicitar manuais do fornecedor neste endereço: SyncSort Incorporated 50 Tice Boulevard Woodcliff Lake, NJ 07675 Telefone 201930-9700 e-mail: mvstechsyncsort Fax: (201) 930-8284 Atenção: Serviços de produtos de sincronização Se você precisar de assistência usando o SyncSort no EIampO, entre em contato com a mesa de suporte do EIampO pelo telefone em (352) 392-2061 ou envie um e-mail para consultarlists. ufl. edu. Seus Comentários são Bem-vindos Damos boas-vindas a seus comentários e sugestões sobre esta e toda a documentação UFIT. Por favor, envie seus comentários para: UF Tecnologia da Informação 2046 NE Waldo Rd, Suite 2100 Gainesville, Flórida 32609-8942JCL classifique o utilitário Syncsort JCL SORT ou SYNCSORT no JCL é usado para classificar os conjuntos de dados, mesclar conjuntos de dados e copiar conjuntos de dados. A maioria das instalações muda o nome do programa SYNCSORT para SORT. Formato da instrução JCL SORT: A posição inicial indica a localização da chave de classificação na gravação. Comprimento indica o comprimento da chave de classificação. O formato indica o tipo de campo que pode ter valores CH Character, ZD decimal em zona, PD Packed Decimal e BI Binário. AscDes indica ordem do tipo Ascendente Descendente. Exemplos: CAMPOS DE TERRENO (1,3, CH, A) CAMPOS DE SEGURANÇA (1,5, D), CH SUMA CAMPO NENHUMA opção elimina duplicatas. Ex: SORT FIELDS (1,5, D), CH SUM FIELDS NENHUNS SKIPREC e STOPAFT parâmetros SKIPREC n declaração ignora n registros antes de copiar ou ordenar. CAMPOS DE CRÉDITO CÓPIA SKIPREC 1000 A declaração acima ignora os primeiros 1000 registros e copia os registros restantes. STOPAFT n indica cópias ou classifica no máximo n registros. SORT FIELDS COPY STOPAFT 1000 A declaração acima produz os primeiros 1000 registros após o processamento ser feito. MERGE pode ser usado para mesclar dois ou mais conjuntos de dados pré classificados. Podemos combinar um máximo de 32 conjuntos de dados. Formato de declaração MERGE: INCLUDE COND: A declaração de inclusão pode ser usada para incluir registros com base em uma condição específica. INCLUIR COND (posição de partida, comprimento, operador de condição, valor) Exemplo: CÓPIA DE CAMPO DE CRESCIMENTO INCLUIR COND (1,3, EQ, JCL) Nos exemplos acima, os registros que contêm JCL nas primeiras 3 posições são copiados. OMIT COND: Da mesma forma, podemos omitir os registros do conjunto de dados com base em uma condição específica. SORT FIELDS COPY OMIT COND (1,3, EQ, JCL) Nos exemplos acima, os registros que contêm JCL nas 3 primeiras posições não são copiados. Depende de como deseja reformatar as datas. Sim, existem maneiras de reformatar os campos da data usando Sort. Here8217s um exemplo de uma declaração INCLUDE que compara uma data decimal compactada na forma P8217yyyymmdd8217 e uma data de caractere na forma C8217yyyy-ddd8217, até ontem8217s data: INCLUDE COND (21,5, PD, GE, DATE1P-1, OR, 3,8, CH, GE, DATE3 (-) - 1) Os registros com uma data P8217yyyymmdd8217 ou uma data C8217yyyy-ddd8217 maior ou igual à data ontem8217s serão incluídos no conjunto de dados de saída. Oi, obrigado pela informação fornecida. Você tem algum bom mateiral que todas as opções SYNCSORT DFSORT PARA ESCREVER HEADER, TRAILER RECORDS SYSIN DD OPTIONS COPY OUTFIL REMOVECC, TRAILER1 (TOTAL:, TOT (10,6, ZD)) Adicionando o parâmetro secundário de máscara e máscara: SORT FIELDSCOPY OUTFIL REMOVECC, NODETAIL, TRAILER1 (TOTAL:, TOT (10,6, ZD, M1, LENGTH9)) Para escrever mais de um Trailer, precisamos usar as palavras-chave Trailer1, Trailer2, Trailer3. Veremos como escrever um trailer para a contagem de registros e o total de registros. OPTION COPY OUTFIL REMOVECC, TRAILER1 (TOTAL:, TOT (10,6, ZD, LENGTH10, EDIT (TTTTTTTTTT))), TRAILER2 (COUNT:, COUNT (LENGTH10)) Explicação das palavras-chave utilizadas: TRAILER1, TRAILER2, TRAILER3, COUNT , TOT são as palavras-chave para cartões SORT. OUTFIL é usado para imprimir os relatórios. REMOVECC em ordenação é usado para remover o controle Cariage inserido pela DFSORT na primeira posição. O valor de 1 na primeira posição de um registro informa a impressora para iniciar uma nova página. Para remover esse controle de carro, precisamos usar REMOVECC na declaração OUTFIL. TOT (10,6, ZD) fará o total em 6 dígitos começando na 10ª coluna. Se usarmos o NODETAIL, veríamos apenas os registros de reboque e cabeçalho. Outros registros não seriam exibidos na saída. Omitindo NODETAIL em OUTFIL garantiria que vejamos todos os registros junto com o trailer e o cabeçalho. Para adicionar cabeçalho em SORT usando o parâmetro HEADER1. OPÇÃO COPIAR SAÚDE REMOVECC, HEADER1 (RELATÓRIO GERAIS COMO ON:, ampDATE ,, 22C-), TRAILER1 (TOTAL:, TOT (10,6, ZD, LENGTH10, EDIT (TTTTTTTTTT))), TRAILER2 (COUNT:, COUNT (LENGTH10 )) DFSORT PARA COMPARAR O HEXCODEASCII DAS ALFABETAS DE CARÁTER. STEP02 EXEC PGMSORT SORTIN DD DSNTEST. SORTINC, DISPSHR SORTOUT DD DSNTEST. SORT. OUT1, DISP (NOVO, CATLG, DELETE), UNIDADE (SYSDA, 59), DCB. SORTIN, SPACE (TRK, (50,100), RLSE) SYSOUT DD SYSOUT SYSPRINT DD SYSOUT SYSIN DD SORT FIELDSCOPY INCLUIR COND (3,1, AC, GE, X41, E, 3,1, AC, LE, X4F) Entrada: 00B0000 00A1462 00C1850 00D2108 00E2109 00FM006 00ZM007 00ZM008 00YM023 00CM050 Saída: 00B0000 00A1462 00C1850 00D2108 00E2109 00FM006 00CM050 Explicação: O cartão de classificação acima verifica os caracteres de A a O. Todos os outros caracteres serão eliminados. 41 hex de A e 4F é hexadecimal de O em ASCII. DFSORT PARA INSERTAR DELIMITERCHARACTERS APÓS CADA REGISTO. SYSIN DD SORT FIELDSCOPY INREC BUILD (1,60, SQZ (SHIFTLEFT, MIDC Explicação: MIDC informa DFSORT para inserir o caractere entre os campos. CLASSIFIQUE PARA REMOVER ESPAÇOS ENTRE CARACTERES O operador SQZ em DFSORTSYNCSORT pode ser usado para remover espaços entre caracteres. Entrada: Q WE RTY Saída esperada: QWERTY Podemos usar o operador SQZ para remover os espaços e formatar o campo OPÇÃO COPIAR OUTREC FIELDS (1,40, SQZ (SHIFTLEFT)) Explicação: Estamos espremendo os espaços em branco e deslocando os personagens para a esquerda Para todos os dados nas posições 1 a 40.
No comments:
Post a Comment