pratica assistida -

Embed Size (px)

Citation preview

  • Prtica Assistida Primeira Entrega

  • Prtica Assistida

    PROJETO: Debito Automtico TecBanco - PRIMEIRA ENTREGA: Consistncia Fsica e Lgica

    Descrio da especificao

    Implementao do mdulo de Dbito Automtico no Sistema de Conta Corrente do TecBanco (processamento Batch)

    Objetivo

    Processar as operaes de dbito em Conta Corrente a partir do recebimento do arquivo de Dbito Automtico

    Entregveis

    1. Lgica Estruturada e Teste de Mesa dos programas PRATxx10, PRATxx20 e PRATxx30 2. Books dos arquivos (ARQMOVxx , CADAGExx, CONTASxx e ARQCONxx), arquivos alocados

    e com dados de teste, quando aplicvel 3. Programas PRATxx10 e PRATxx20 compilados e testados utilizando os books e arquivos

    criados na Fase 2 4. Subprogramas PRATSExx e PRATDTxx compilados e testados com o programa PRATxx20.

    E o programa PRATxx30 compilado e testado Programas

    1. PRATxx10 - Consistncia Fsica 2. PRATxx20 - Consistncia Lgica 3. PRATSExx - Subprograma para validao e obteno do servio processado 4. PRATDTxx -Subprograma para validao da data do movimento 5. PRATxx30 - Gerao do arquivo Movimento Consistido

    Alguns temas para pesquisa (recursos que sero usados na execuo do projeto)

    Preparao e aplicao de Teste de Mesa

    Boas tcnicas de programao COBOL

    Padres de codificao de programas COBOL

    Criao e utilizao de BOOKs

    Definio e uso de condies atravs do nvel 88

    Uso de CALL esttico e dinmico

    Uso do IDCAMS

    Uso de arquivos VSAM KSDS em programa COBOL

    Analise do relatrio de compilao COBOL

    Criao e alimentao de arquivos seqenciais via opo FMN do ISPF

    Evidencias em teste (Teste Unitrio e Teste Integrado)

    Anlise de DUMP via CEEDUMP

    Job Control Language (JCL) Usuario TSO: ALxxTyy senha inicial: PRATICA

    ONDE xx o sufixo do seu usurio TSO yy sua turma

  • Prtica Assistida

    Bibliotecas de trabalho ASE. ALxxTyy.COBLIB ASE.ALxxTyy.JOBLIB IMPORTANTE: usurios e arquivos sem utilizao por prazo superior a 45 dias sero excludos. Prtica Assistida Macro Fluxo

    PRATxx10

    Consistencia Fsica

    PRATxx30

    Gerao do

    Movimento

    PRATxx40 e SORT

    Classificao do

    MOVCONxx

    PRATxx50 e

    MERGE

    MOVANTxx e

    MOVCLAxx

    PRATxx60

    Efetivao do

    Dbito

    (VSAM ou DB2)

    PRATxx70

    Relatrio Gerencial

    (VSAM ou DB2)

    PRATDTxx

    PRATSExx

    TECBANCO

    DEBITO

    AUTOMATICO

    PRATxx20

    Consistencia

    Lgica

    (VSAM ou DB2)

    FIM

  • Prtica Assistida

    Programa - PRATxx10 Objetivo: consistncia FSICA do movimento de dbito automtico gerado na agencia (ARQMOV10), emitindo relatrio dos registros consistidos (RELCON10).

    Assegurar que: - o primeiro registro um HEADER e que o ltimo registro um TRAILER e que haja pelo menos um registro DETALHE; - o contedo dos campos numricos seja numrico e diferente de zero; - o contedo dos campos alfanumricos seja diferente de brancos (exceto FILLER); - que o nmero da conta corrente seja vlido, conforme regras do Mdulo 11 de verificao. (PESQUISAR E PREPARAR A ROTINA INTERNAMENTE)

    Gerar relatrio com registros consistidos. Ao final do processamento exibir o total de registros lidos, impressos e o total de registros inconsistentes. OBSERVAES:

    Exibir a MENSAGEM 1 no incio do processamento Se o arquivo de entrada estiver vazio exibir a MENSAGEM 2 e encerrar o processamento

    com cdigo de retorno 4; Se houver ao menos uma inconsistncia nos dados arquivo, ao final do processamento,

    exibir a MENSAGEM 3 e encerrar com cdigo de retorno 12; Se no houver inconsistncia nos dados arquivo, ao final do processamento, exibir a

    MENSAGEM 4 e encerrar com cdigo de retorno 0 (default); Exibir a MENSAGEM 8 ao final do processamento (atualizar data e hora)

    MENSAGENS: 1 PRATxx10 dd/mm/aaaa hh:mm:ss INICIO DO PROCESSAMENTO

    2 PRATxx10 ARQUIVO ARQMOVxx VAZIO

    3 PRATxx10 ARQUIVO ARQMOVxx INCONSISTENTE

    4 PRATxx10 ARQUIVO ARQMOVxx CONSISTENTE

    5 PRATxx10 TOTAL DE REGISTROS LIDOS......... xxxx

    6 PRATxx10 TOTAL DE REGISTROS IMPRESSOS..... xxxx

    7 PRATxx10 TOTAL DE REGISTROS INCONSISTENTES xxxx

    8 PRATxx10 dd/mm/aaaa hh:mm:ss FINAL DO PROCESSAMENTO

    Na ocorrncia de erros de acesso a arquivos enviar mensagem abaixo e encerrar o processamento com cdigo de retorno 12: ERRO NO ACESSO AO ARQUIVO xxxxxxx

    OPERACAO xxxxxxx FILE STATUS xx

    PRATxx10

    ARQMOV10

    MENSAGENS DO

    PROCESSAMENTO

    RELCON10

  • Prtica Assistida

    DDNAME: RELCON10 Imprimir 60 linhas por pgina 1...5...10....5...20....5...30....5...40....5...50....5...60....5...70....5...80

    DD/MM/AAAA TECBANCO CONSISTENCIA FISICA NO ARQUIVO ARQMOVxx PAG. 99

    CB-DATA CB-PAG

    REGISTRO HEADER

    SERVICO xx DATA DO MOVIMENTO dd/mm/aaaa

    DT-SERVICO DT-DATAMOV

    AGENCIA 9999 OCORRENCIA x...............x

    DT-NAGENCIA DT-OCORRENCIAH

    REGISTRO DETALHE

    CONTA 99.999-9 VALOR Z.ZZZ.ZZ9,99 OCORRENCIA: x.............x

    CONTA 99.999-9 VALOR Z.ZZZ.ZZ9,99 OCORRENCIA: x.............x

    CONTA 99.999-9 VALOR Z.ZZZ.ZZ9,99 OCORRENCIA: x.............x

    DT-NCONTA DT-VALOR DT-OCORRENCIAD

    REGISTRO TRAILER

    TOTAL DE REGISTROS ZZZ.ZZZ VALOR DOS LANCAMENTOS ZZZ.ZZZ.ZZ9,99

    DT-TOTREG DT-TOTLANCAMENTOS

    OCORRENCIA: x.............x

    DT-OCORRENCIAT

    1...5...10....5...20....5...30....5...40....5...50....5...60....5...70....5...80

    OBSERVAES: Ocorrncias registros HEADER: HEADER OK / ERRO SERVICO / ERRO DATA / ERRO AGENCIA Ocorrncias registros DETALHE: DETALHE OK / ERRO CONTA / ERRO VALOR / ERRO CTA - VLR Ocorrncias registros TRAILER: TRAILER OK / ERRO QTD REG / ERRO VLR TOTAL

  • Prtica Assistida

    Arquivo Movimento - sequencial Nome do book: ARQMOVxx DDNAME: ARQMOV10 - DSNAME: ASE.ALxxTyy.ARQMOVSQ Header

    Informao Nome do campo Formato Tamanho Decimais Valor

    Tipo do registro HEADER-MVCC ALFANUMERICO 1 - H

    Agencia CODAGE-MVCC NUMERICO 4 0

    Tipo servio TIPOSERV-MVCC ALFANUMERICO 2 -

    Data Movimento DATAMOV-MVCC NUMERICO 8 0

    filler ALFANUMERICO 5

    Tamanho registro 20

    Data Movimento: DDMMAAAA Detalhe

    Informao Nome do campo Formato Tamanho Decimais Valor

    Tipo do registro DETALHE-MVCC ALFANUMERICO 1 - D

    Conta NCONTA-MVCC NUMERICO 6 0

    Valor VALORL-MVCC NUMERICO 9 2

    filler ALFANUMERICO 4

    Tamanho registro 20

    Trailer

    Informao Nome do campo Formato Tamanho Decimais Valor

    Tipo do registro TRAILER-MVCC ALFANUMERICO 1 - T

    Total de registros TOTREG-MVCC NUMERICO 6 0

    Valor lanamentos TOTLANC-MVCC NUMERICO 11 2

    filler ALFANUMERICO 2

    20

    DDNAME: ARQMOV10 - DSNAME: ASE.ALxxTyy.ARQMOVSQ

    HEADER (H) TAMANHO 20 POSIES

    HEADER-MVCC CODAGE-MVCC TIPOSERV-MVCC DATAMOV-MVCC

    X(001) 9(004) X(002) 9(008) X(005)

    DETALHE (D) TAMANHO 20 POSICES

    DETALHE-MVCC NCONTA-MVCC VALORL-MVCC

    X(001) 9(006) 9(007)v99 X(004)

    TRAILER (T) TAMANHO 20 POSIES

    TRAILER-MVCC TOTREG-MVCC TOTLANC-MVCC

    X(001) 9(006) 9(009)v99 X(002)

  • Prtica Assistida

    Programa PRATxx20 Objetivo: consistncia LGICA do movimento de dbito automtico gerado na agencia (ARQMOV20), emitindo relatrio dos registros consistidos (RELCON20).

    Regras de Consistncia

    Arquivo ARQMOV20 - Primeiro registro deve ser HEADER e o ltimo TRAILER No registro HEADER proceder conforme segue:

    O cdigo da agencia deve corresponder a uma agncia vlida e ativa no Cadastro de Agencias (CADAGE20).

    O cdigo do tipo de servio deve corresponder a um servio vlido (consistir atravs de chamada ao subprograma PRATSExx). Usar PRATSE99 para teste inicial.

    A data do movimento deve corresponder a uma data valida (consistir atravs de chamada ao subprograma PRATDTxx), igual ou menor a data do processamento. Usar PRATDT99 para teste inicial.

    No registro DETALHE consistir conforme segue:

    Verificar se a conta vlida e ativa, acessando o cadastro de Contas (CONTAS20) No registro TRAILER consistir conforme segue:

    A soma dos registros no arquivo (HEADER, DETALHES e TRAILER) deve ser igual ao total de registros indicados no TRAILER

    A soma dos valores dos lanamentos (registros DETALHE) deve ser igual ao valor total indicado no TRAILER

    Gerar relatrio com registros consistidos. Ao final do processamento exibir o total de registros lidos, impressos e o total de registros inconsistentes. OBSERVAES:

    Exibir a MENSAGEM 1 no inicio do processamento Se o arquivo de entrada estiver vazio exibir a MENSAGEM 2 e encerrar o processamento

    com cdigo de retorno 4;

    CA

    D

    AG

    E20

    VS

    AM

    KS

    DS PRATSExx

    PRATDTxx

    PRATxx20

    ARQMOV20

    MENSAGENS DO

    PROCESSAMENTO

    RELCON20

    CO

    N

    TA

    S2

    0

    VS

    AM

    KS

    DS

  • Prtica Assistida

    Se houver ao menos uma inconsistncia nos dados arquivo, ao final do processamento, exibir a MENSAGEM 3 e encerrar com cdigo de retorno 12;

    Se no houver inconsistncia nos dados arquivo, ao final do processamento, exibir a MENSAGEM 4 e encerrar com cdigo de retorno 0 (default);

    Exibir a MENSAGEM 8 ao final do processamento (atualizar data e hora) Na ausncia de HEADER, DETALHE ou TRAILER emitir a mensagem 9 e encerrar o

    processamento com cdigo de retorno 16. MENSAGENS: 1 PRATxx20 dd/mm/aaaa hh:mm:ss INICIO DO PROCESSAMENTO

    2 PRATxx20 ARQUIVO ARQMOVxx VAZIO

    3 PRATxx20 ARQUIVO ARQMOVxx INCONSISTENTE

    4 PRATxx20 ARQUIVO ARQMOVxx CONSISTENTE

    5 PRATxx20 TOTAL DE REGISTROS LIDOS......... xxxx

    6 PRATxx20 TOTAL DE REGISTROS IMPRESSOS..... xxxx

    7 PRATxx20 TOTAL DE REGISTROS INCONSISTENTES xxxx

    8 PRATxx20 dd/mm/aaaa hh:mm:ss FINAL DO PROCESSAMENTO

    Na ocorrncia de erros de acesso a arquivos enviar mensagem abaixo e encerrar o processamento com cdigo de retorno 12: ERRO NO ACESSO AO ARQUIVO xxxxxxx

    OPERACAO xxxxxxx FILE STATUS xx

    Chamadas aos subprogramas: PRATSExx utilizar CALL DINAMICO rea de comunicao (book PRATSEAC) 01 PRATSERV-COM. 10 PRATSERV-TIPOSERV-COM PIC X(0002). 10 PRATSERV-NOMESERV-COM PIC X(0008). 10 PRATSERV-CODRET-COM PIC X(0002). 88 PRATSERV-OK VALUE OK. 88 PRATSERV-ERRO VALUE **. PRATDTxx utilizar CALL ESTTICO rea de comunicao (book PRATDTAC) 01 PRATDATA-DATA-COM PIC 9(0008). DDMMAAAA 01 PRATDATA-CODRET-COM PIC X(0002). 88 PRATDATA-OK VALUE OK. 88 PRATDATA-ERRO VALUE **. OBS.: criar os books em sua biblioteca ASE.ALxxTyy.COBLIB

  • Prtica Assistida

    DDNAME: RELCON20 Imprimir 60 linhas por pgina 1...5...10....5...20....5...30....5...40....5...50....5...60....5...70....5...80

    DD/MM/AAAA TECBANCO CONSISTENCIA LGICA NO ARQUIVO ARQMOVxx PAG. 99

    CB-DATA CB-PAG

    REGISTRO HEADER

    SERVICO xx - x......x DATA DO MOVIMENTO dd/mm/aaaa

    DT-SERVICO* DT-DATAMOV

    AGENCIA 9999 x............................x SITUACAO x.....x

    DT-NAGENCIA DT-NOME-AGENCIA DT-SITUACAOH

    OCORRENCIA: x.............x

    DT-OCORRENCIAH

    REGISTRO DETALHE

    CONTA 99.999-9 VALOR Z.ZZZ.ZZ9,99 OCORRENCIA: x.............x

    CONTA 99.999-9 VALOR Z.ZZZ.ZZ9,99 OCORRENCIA: x.............x

    CONTA 99.999-9 VALOR Z.ZZZ.ZZ9,99 OCORRENCIA: x.............x

    DT-NCONTA DT-VALOR DT-OCORRENCIAD

    REGISTRO TRAILER

    TOTAL DE REGISTROS ZZZ.ZZZ

    DT-TOTREG

    TOTAL DOS LANCAMENTOS ZZZ.ZZZ.ZZ9,99

    DT-TOTLANCAMENTOS

    OCORRENCIA: x.............x

    DT-OCORRENCIAT

    1...5...10....5...20....5...30....5...40....5...50....5...60....5...70....5...80

    DT-SERVICO* - informar cdigo do servio e nome OBSERVAES: Ocorrncias registros HEADER: HEADER OK / ERRO SERVICO / ERRO DATA / ERRO AGENCIA/ AG. INATIVA Ocorrncias registros DETALHE: DETALHE OK / CONTA INATIVA / CTA INEXISTENTE Ocorrncias registros TRAILER: TRAILER OK / ERRO QTD REG / ERRO VLR TOTAL

  • Prtica Assistida

    Arquivo Movimento DDNAME: ARQMOV20 conforme definido no programa PRATxx10 Cadastro de Agencias VSAM KSDS Nome do book: CADAGExx DDNAME: CADAGE20 - DSNAME: ASE.ALxxTyy.CADAGEVS

    Informao Nome do campo Formato Tamanho Decimais

    Agencia (chave) CODAGE-CAGE NUMERICO 4 0

    Nome NOMAGE-CAGE ALFANUMERICO 30 -

    Situao SITUAGE-CAGE ALFANUMERICO 1 -

    Telefone TELEFONE-CAGE NUMERICO 8 0

    filler ALFANUMERICO 2

    Tamanho registro 45

    Situao: A ATIVA I INATIVA DDNAME: CADAGE20 - DSNAME: ASE.ALxxTyy.CADAGEVS

    CODAGE-CAGE NOMAGE-CAGE SITUAGE-CAGE TELEFONE-CAGE

    9(004) X(030) X(001) 9(008) X(002)

    Cadastro de Contas VSAM KSDS Nome do book: CONTASxx DDNAME: CONTAS20 - DSNAME: ASE.ALxxTyy.CONTASVS

    Informao Nome do campo Formato Tamanho Decimais

    Agencia (chave) CODAGE-CADC NUMERICO 4 0

    Conta (chave) NCONTA-CADC NUMERICO 6 0

    Tipo TIPOCTA-CADC NUMERICO 1 0

    Nome NOMECL-CADC ALFANUMERICO 30 -

    CPF CPFCTA-CADC NUMERICO 11 0

    Situao SITUCTA-CADC ALFANUMERICO 1 -

    Data abertura DATACTA-CADC NUMERICO 8 0

    Saldo SALDOCTA-CADC NUMERICO 11 2

    Limite LIMITECTA-CADC NUMERICO 11 2

    filler ALFANUMERICO 2

    Tamanho registro 85

    Tipo: 1 Conta Comum 2 Conta Especial 3 Conta Poupana Situao: A Ativa, I Inativa, B bloqueada Data abertura(DATACTA-CADC): DDMMAAAA

    DDNAME: CONTAS20 - DSNAME: ASE.ALxxTyy.CONTASVS

    CODAGE-

    CADC

    NCONTA-

    CADC

    TIPOCTA-

    CADC

    NOMECL-

    CADC

    CPFCTA-

    CADC

    SITUCTA-

    CADC

    DATACTA-

    CADC

    SALDOCTA-

    CADC

    LIMITECTA-

    CADC

    9(004) X(030) X(001) 9(008) X(002) X(001) 9(008) 9(009)V99 9(009)V99 X(002)

  • Prtica Assistida

    Subprograma - PRATSExx Objetivo: subprograma para consistncia do tipo de servio recebido na LINKAGE SECTION, com devoluo de informao sobre a validade e nome do mesmo.

    TIPO

    NOME

    RETORNO

    PRATSExx

    rea de comunicao (book PRATSEAC) book criado no programa PRATxx20 01 PRATSERV-COM. 10 PRATSERV-TIPOSERV-COM PIC X(0002). 10 PRATSERV-NOMESERV-COM PIC X(0008). 10 PRATSERV-CODRET-COM PIC X(0002). 88 PRATSERV-OK VALUE OK. 88 PRATSERV-ERRO VALUE **. Descrio do Processamento o tipo de servio informado no campo PRATSERV-TIPOSERV-COM deve constar de tabela

    interna, onde estar o nome do servio que ser retornado ao programa principal no campo PRATSERV-NOMESERV-COM.

    Retorno: Se o tipo de servio existir na tabela interna, alm de mover o nome do servio, o programa

    deve tornar verdadeira a condio PRATSERV-OK (veja o uso do nvel 88), caso contrario, o programa deve mover * para todos os bytes do campo PRATSERV-NOMESERV-COM e tornar verdadeira a condio que indica a inexistncia do tipo de servio informado - PRATSERV-ERRO.

    Encerrar o processamento do subprograma. Servios Vlidos (para gerao da tabela interna):

    TIPO (2) NOME (8) DESCRIO (30)

    IP IPTU IPTU

    EE ENERGIA ENERGIA ELETRICA

    AE AGUAESG AGUA E ESGOTO

    GE GASENCAN GAS ENCANADO

    TF TELEFIXO TELEFONIA FIXA

    TM TELMOVEL TELEFONIA MOVEL (CELULAR)

    CD CONDOMIN CONDOMINIO

    IA IPVA TAXA DE IPVA

    OS OUTROS OUTROS (ainda no inseridos nesta tabela)

  • Prtica Assistida

    Subprograma - PRATDTxx Objetivo: subprograma para consistncia da data recebida na LINKAGE SECTION, com devoluo de informao sobre a validade ou no dessa data.

    PRATDTxx

    DATA

    RETORNO

    rea de comunicao PRATDTAC book criado no programa PRATxx20 01 PRATDATA-DATA-COM PIC 9(0008). DDMMAAAA 01 PRATDATA-CODRET-COM PIC X(0002). 88 PRATDATA-OK VALUE OK. 88 PRATDATA-ERRO VALUE **. Descrio do Processamento (validaes desejadas): o contedo do campo PRATDATA-DATA-COM, recebido via LINKAGE SECTION, deve ser

    numrico e diferente de zero; o ano informado deve ser maior que 2010, mas no pode ser maior que o ano corrente.

    Considerar sempre como 20xx; o ms informado deve ser maior que zero e menor que 13; o dia informado deve ser maior que zero e menor que 32, limitado quantidade mxima de

    dias do ms informado; o ms de fevereiro poder ter o dia 29 se o ano informado for bissexto; a data informada no pode ser maior que a data do processamento. Retorno: Se a data informada estiver consistente, conforme todas as regras acima descritas, tornar

    verdadeira a condio PRATDATA-OK (veja o uso do nvel 88), caso contrario tornar verdadeira a condio que indica a existncia de erro na data informada - PRATDATA-ERRO.

    Encerrar o processamento do subprograma.

  • Prtica Assistida

    Programa PRATxx30

    Objetivo: gerao de Arquivo Consistido (ARQCONxx) a partir do Arquivo Movimento.

    Descrio do processamento: A partir dos dados existentes nos registros HEADER e DETALHEs do Arquivo Movimento gerar os registros do Arquivo Consistido; Obter do registro HEADER o cdigo da agncia, tipo do servio e data do movimento e do registro DETALHE o nmero da conta e o valor do dbito; Informar ao final do processamento, totais de registros lidos e gravados, alm das mensagens de incio e fim de execuo ou de eventuais excees.

    OBSERVAES: Exibir a MENSAGEM 1 no incio do processamento Arquivo de entrada vazio: enviar MENSAGEM 2 e encerrar o programa (cdigo de retorno 4); Final do processamento: enviar mensagens 3, 4 e 5 (atualizar data e hora).

    MENSAGENS: 1 PRATxx30 dd/mm/aaaa hh:mm:ss INICIO DO PROCESSAMENTO

    2 PRATxx30 ARQUIVO ARQMOVxx VAZIO

    3 PRATxx30 TOTAL DE REGISTROS LIDOS......... xxxx

    4 PRATxx30 TOTAL DE REGISTROS GRAVADOS...... xxxx

    5 PRATxx30 dd/mm/aaaa hh:mm:ss FINAL DO PROCESSAMENTO

    Na ocorrncia de erros de acesso a arquivos enviar mensagem abaixo e encerrar o processamento com cdigo de retorno 12:

    ERRO NO ACESSO AO ARQUIVO xxxxxxx

    OPERACAO xxxxxxx FILE STATUS xx

    Arquivo Consistido Nome do book: ARQCONxx DDNAME: ARQCON30 - DSNAME: ASE.ALxxTyy.ARQCONSQ

    Informao Nome do campo Formato Tamanho Decimais Valor

    Agencia CODAGE-MVCC NUMERICO 4 0

    Conta NCONTA-MVCC NUMERICO 6 0

    Data Movimento DATAMOV-MVCC NUMERICO 8 0

    Tipo servio TIPOSERV-MVCC ALFANUMERICO 2 -

    Valor VALORL-MVCC DEC COMPACTADO 9 2

    filler ALFANUMERICO 1

    Tamanho registro 30

    Data Movimento: AAAAMMDD

    DDNAME: ARQCON30 - DSNAME: ASE.ALxxTyy.ARQCONSQ

    CODAGE-MVCC NCONTA-MVCC DATAMOV-MVCC TIPOSERV-MVCC VALORL-MVCC

    9(004) 9(006) 9(008) X(002) 9(007)V99 COMP-3 X(002)

    PRATxx30

    ARQMOV30

    MENSAGENS DO

    PROCESSAMENTO

    ARQCON30

  • Prtica Assistida

    Suporte TecTreinos Suporte TecTreinos e-mail: [email protected] MSN: [email protected] / [email protected] Sugestes para consulta Apostilas do Curso de Formao Mainframe TecTreinos Manuais IBM e http://www.ibm.com/developerworks/br/ Buscar exemplos em sites e fruns especializados