Você está na página 1de 14

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. 2. 3. 4. 5. PRATxx10 - Consistncia Fsica PRATxx20 - Consistncia Lgica PRATSExx - Subprograma para validao e obteno do servio processado PRATDTxx -Subprograma para validao da data do movimento 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) ALxxTyy xx o sufixo do seu usurio TSO senha inicial: PRATICA yy sua turma

Usuario TSO: ONDE

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
TECBANCO DEBITO AUTOMATICO

PRATxx10 Consistencia Fsica

PRATxx20 Consistencia Lgica (VSAM ou DB2)

PRATDTxx PRATSExx

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)

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)

ARQMOV10

PRATxx10

MENSAGENS DO PROCESSAMENTO

RELCON10

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 2 PRATxx10 3 PRATxx10 4 PRATxx10 5 PRATxx10 6 PRATxx10 7 PRATxx10 8 PRATxx10

dd/mm/aaaa hh:mm:ss INICIO DO PROCESSAMENTO ARQUIVO ARQMOVxx VAZIO ARQUIVO ARQMOVxx INCONSISTENTE ARQUIVO ARQMOVxx CONSISTENTE TOTAL DE REGISTROS LIDOS......... xxxx TOTAL DE REGISTROS IMPRESSOS..... xxxx TOTAL DE REGISTROS INCONSISTENTES xxxx 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

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 CONTA 99.999-9 CONTA 99.999-9 DT-NCONTA VALOR Z.ZZZ.ZZ9,99 OCORRENCIA: x.............x VALOR Z.ZZZ.ZZ9,99 OCORRENCIA: x.............x VALOR Z.ZZZ.ZZ9,99 OCORRENCIA: x.............x 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 Tipo do registro HEADER-MVCC Agencia CODAGE-MVCC Tipo servio TIPOSERV-MVCC Data Movimento DATAMOV-MVCC filler Tamanho registro Data Movimento: DDMMAAAA Detalhe Informao Tipo do registro Conta Valor filler Tamanho registro Trailer Informao Tipo do registro Total de registros Valor lanamentos filler

Formato ALFANUMERICO NUMERICO ALFANUMERICO NUMERICO ALFANUMERICO

Tamanho 1 4 2 8 5 20

Decimais Valor H 0 0

Nome do campo DETALHE-MVCC NCONTA-MVCC VALORL-MVCC

Formato ALFANUMERICO NUMERICO NUMERICO ALFANUMERICO

Tamanho 1 6 9 4 20

Decimais Valor D 0 2

Nome do campo TRAILER-MVCC TOTREG-MVCC TOTLANC-MVCC

Formato ALFANUMERICO NUMERICO NUMERICO ALFANUMERICO

Tamanho 1 6 11 2 20

Decimais Valor T 0 2

DDNAME: ARQMOV10 - DSNAME: ASE.ALxxTyy.ARQMOVSQ HEADER (H) TAMANHO 20 POSIES


HEADER-MVCC X(001) CODAGE-MVCC 9(004) TIPOSERV-MVCC X(002) DATAMOV-MVCC 9(008) X(005)

DETALHE (D) TAMANHO 20 POSICES


DETALHE-MVCC X(001) NCONTA-MVCC 9(006) VALORL-MVCC 9(007)v99 X(004)

TRAILER (T) TAMANHO 20 POSIES


TRAILER-MVCC X(001) TOTREG-MVCC 9(006) TOTLANC-MVCC 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).

ARQMOV20
CAD AGE20 VSAM KSDS

PRATSExx PRATDTxx

PRATxx20
CON TAS20 VSAM KSDS
MENSAGENS DO PROCESSAMENTO

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;

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 2 PRATxx20 3 PRATxx20 4 PRATxx20 5 PRATxx20 6 PRATxx20 7 PRATxx20 8 PRATxx20

dd/mm/aaaa hh:mm:ss INICIO DO PROCESSAMENTO ARQUIVO ARQMOVxx VAZIO ARQUIVO ARQMOVxx INCONSISTENTE ARQUIVO ARQMOVxx CONSISTENTE TOTAL DE REGISTROS LIDOS......... xxxx TOTAL DE REGISTROS IMPRESSOS..... xxxx TOTAL DE REGISTROS INCONSISTENTES xxxx 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 CONTA 99.999-9 CONTA 99.999-9 DT-NCONTA VALOR Z.ZZZ.ZZ9,99 OCORRENCIA: x.............x VALOR Z.ZZZ.ZZ9,99 OCORRENCIA: x.............x VALOR Z.ZZZ.ZZ9,99 OCORRENCIA: x.............x 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 Agencia (chave) Nome Situao Telefone filler Tamanho registro Nome do campo CODAGE-CAGE NOMAGE-CAGE SITUAGE-CAGE TELEFONE-CAGE Formato NUMERICO ALFANUMERICO ALFANUMERICO NUMERICO ALFANUMERICO Tamanho 4 30 1 8 2 45 Decimais 0 0

Situao: A ATIVA

I INATIVA

DDNAME: CADAGE20 - DSNAME: ASE.ALxxTyy.CADAGEVS


CODAGE-CAGE 9(004) NOMAGE-CAGE X(030) SITUAGE-CAGE X(001) TELEFONE-CAGE 9(008) X(002)

Cadastro de Contas VSAM KSDS Nome do book: CONTASxx DDNAME: CONTAS20 - DSNAME: ASE.ALxxTyy.CONTASVS Informao Agencia (chave) Conta (chave) Tipo Nome CPF Situao Data abertura Saldo Limite filler Tamanho registro Nome do campo CODAGE-CADC NCONTA-CADC TIPOCTA-CADC NOMECL-CADC CPFCTA-CADC SITUCTA-CADC DATACTA-CADC SALDOCTA-CADC LIMITECTA-CADC Formato NUMERICO NUMERICO NUMERICO ALFANUMERICO NUMERICO ALFANUMERICO NUMERICO NUMERICO NUMERICO ALFANUMERICO Tamanho 4 6 1 30 11 1 8 11 11 2 85 Decimais 0 0 0 0 0 2 2

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
CODAGECADC 9(004) NCONTACADC X(030) TIPOCTACADC X(001) NOMECLCADC 9(008) CPFCTACADC X(002) SITUCTACADC X(001) DATACTACADC 9(008) SALDOCTACADC 9(009)V99 LIMITECTACADC 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 10 PRATSERV-NOMESERV-COM 10 PRATSERV-CODRET-COM 88 PRATSERV-OK 88 PRATSERV-ERRO

PIC X(0002). PIC X(0008). PIC X(0002). VALUE OK. 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) IP EE AE GE TF TM CD IA OS NOME (8) IPTU ENERGIA AGUAESG GASENCAN TELEFIXO TELMOVEL CONDOMIN IPVA OUTROS DESCRIO (30) IPTU ENERGIA ELETRICA AGUA E ESGOTO GAS ENCANADO TELEFONIA FIXA TELEFONIA MOVEL (CELULAR) CONDOMINIO TAXA DE IPVA 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.

DATA RETORNO

PRATDTxx

rea de comunicao PRATDTAC book criado no programa PRATxx20 01 PRATDATA-DATA-COM 01 PRATDATA-CODRET-COM 88 PRATDATA-OK 88 PRATDATA-ERRO PIC 9(0008). DDMMAAAA PIC X(0002). VALUE OK. 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.
ARQMOV30

PRATxx30

MENSAGENS DO PROCESSAMENTO

ARQCON30

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 2 3 4 5 PRATxx30 PRATxx30 PRATxx30 PRATxx30 PRATxx30 dd/mm/aaaa hh:mm:ss INICIO DO PROCESSAMENTO ARQUIVO ARQMOVxx VAZIO TOTAL DE REGISTROS LIDOS......... xxxx TOTAL DE REGISTROS GRAVADOS...... xxxx 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 Agencia CODAGE-MVCC Conta NCONTA-MVCC Data Movimento DATAMOV-MVCC Tipo servio TIPOSERV-MVCC Valor VALORL-MVCC filler Tamanho registro Data Movimento: AAAAMMDD Formato NUMERICO NUMERICO NUMERICO ALFANUMERICO DEC COMPACTADO ALFANUMERICO Tamanho 4 6 8 2 9 1 30 Decimais Valor 0 0 0 2

DDNAME: ARQCON30 - DSNAME: ASE.ALxxTyy.ARQCONSQ


CODAGE-MVCC NCONTA-MVCC DATAMOV-MVCC TIPOSERV-MVCC
9(004) 9(006) 9(008) X(002)

VALORL-MVCC
9(007)V99 COMP-3 X(002)

Prtica Assistida
Suporte TecTreinos Suporte TecTreinos e-mail: plantaodeduvidas@tectreinos.com.br MSN: fabio@tectreinos.com.br / alfredo@tectreinos.com.br 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

Você também pode gostar