Sistema Central de Risco de Crédito - SRC Treinamento para Cooperativas 21/01/2004
Treinamento para Cooperativas Agenda Módulo de TI Fluxograma das etapas de validação Características básicas do XML Documentos 3020 e 3030 Validação sintática Módulo de negócios
Agenda – Módulo de TI Fluxograma das etapas de validação Características básicas do XML Documentos 3020 e 3030 Informações de negócio veiculadas Anatomia dos documentos Qualidade dos dados Validação sintática Validador: configuração e execução Relatórios: erros e correção
Fluxograma Básico Doc (Novo) Validação Etapa 0 Documento Rejeitado erro Validação Etapa 1 Sintática erro Validação Etapa 2 Semântica erro erro correto Documento Aceito Análise do cadoc erro
Fluxograma Básico Doc (Novo) Validação Etapa 0 Documento Rejeitado erro Validação Etapa 1 Sintática erro Validação Etapa 2 Semântica erro erro correto Documento Aceito Análise do cadoc erro
Agenda – Módulo de TI Fluxograma das etapas de validação Características básicas do XML Documentos 3020 e 3030 Informações de negócio veiculadas Anatomia dos documentos Qualidade dos dados Validação sintática Validador: configuração e execução Relatórios: erros e correção
XML: o que é? É um acrônimo de Extensible Markup Language É um padrão para formatação de documentos (arquivos txt) É uma metalinguagem derivada do SGML
XML: o que é? É um “conjunto” de diferentes especificações com diversas funcionalidades: XML, XSD, DTD, XSL, XPointer, XLink, DOM É uma tecnologia recente, em evolução Uso cada vez mais difundido, concomitante à internet É adotado no SPB, SCR, IR, etc
XML: o que não é? Não é uma linguagem de programação Não é um aplicativo ou programa Não é uma linguagem voltada à exibição, mas ao conteúdo da informação
XML: vantagens Simples, legível, fácil aprendizado Criar tags e estruturá-las permite dar sentido não ambíguo à sua informação específica Documentos podem ser navegados
XML: noções básicas Um arquivo XML é um arquivo txt usando a extensão .XML Espaços, linhas e endentações são irrelevantes Arquivo .XML é automaticamente aberto nos navegadores Navegadores entendem estrutura e endentam automaticamente
XML: noções básicas <?xml version="1.00"?> 1a linha de qualquer arquivo XML <!-- comentario livre --> qualquer mensagem pode ser colocada aqui
XML: definições básicas de tags <Nome nome_atrib=“valor_atrib”> valor </Nome> a primeira tag é a tag inicial “Nome” é o nome da tag “nome_atrib” é o nome do atributo “valor_atrib” é o valor do atributo números e letras são informados entre aspas
XML: definições básicas de tags <Nome nome_atrib=“valor_atrib”> valor </Nome> nome_atrib=“valor_atrib” é o atributo (opcional) a segunda tag é a tag final os elementos de um documento XML são as sequências entre < e >
XML: definições básicas de tags <Nome Qtdd=“23”></Nome> é idêntico a <Nome Qtdd=“23”/> <!-- vazia --> Exceto por tags vazias, toda tag inicial deve fazer par com uma tag final toda tag inicia c/ “<“ e termina c/ “>” Maiúscula minúscula
Documentos XML bem formados (estruturalmente válidos) Todas as tags fechadas Sem tags cruzadas Valores de atributos entre aspas <, > e " devem ser codificados <NomeCompleto> <Nome cargo=“pres.”>Luiz</Nome> <sobrenome>Inácio</sobrenome> </NomeCompleto>
Docs XML não bem formados Que 4 erros há nas tags seguintes? <NomeCompleto> <Nome peso=80>Luiz</Nome> <sobrenome><cargo> </sobrenome></cargo> </idade><sexo/> </nomecompleto> Atributo sem aspas Tag está cruzada Maiúsculas e minúsculas Tag não foi aberta
Parser e docs bem formados Parser é o nome genérico de programas que podem ler e reconhecer a estrutura de documentos bem formados Um parser produz mensagens de erro ao encontrar erros estruturais Os navegadores são parsers não validadores Um parser validador é um programa que lê o XML, checa se é bem formado, depois vê se todos os seus elementos atendem às especificações do DTD ou XSD
Documentos XML válidos Antes de mais nada, devem ser bem formados Obedecem à estrutura especificada por um documento com extensão DTD ou XSD DTD: document type definition XSD: extended schema definition, uma especificação mais recente e abrangente que o DTD
Arquivos .DTD e .XSD que elementos podem existir Especificam os elementos do XML: que elementos podem existir que atributos eles podem conter que elementos podem estar aninhados em outros elementos (a estrutura do doc XML) a ordem em que elementos podem ser aninhados
Documentos XML válidos Um parser validador é um programa que lê o XML, checa se é bem formado, depois vê se todos os seus elementos atendem às especificações do DTD ou XSD
Documentos XML válidos Validação é sintática, e não semântica: restrita ao leiaute do documento Programa validador pode ser escrito em diversas linguagens (XML é padrão de Java, .NET, etc) Há muitos aplicativos disponíveis, inclusive gratuitos SCR disponibilizou validador gratuito
Atualize sempre seus schemas Arquivos .XSD XSD é um tipo de arquivo XML: é um XMLSchema Pode ser criado e aberto segundo os mesmos princípios É uma transcrição, para o padrão XML, das especificações de um leiaute Novas versões de leiautes requerem atualização dos schemas Atualize sempre seus schemas
Exemplo de .XSD: doc 3020 Validador da SCR requer o seguinte comando para validar: java xmlvalidator.Validator crcsch3020v2.xsd Teste.xml >ResultadoValidacao3020_v2.txt
Metalinguagem! Exemplo de .XSD: doc 3020 Leiaute define datas no formato AAAA-MM-DD e no intervalo >31/12/1900 e <01/01/2050: <xs:element name=“DtContr” type=“tipoData” /><!-- nome de tag --> <xs:simpleType name=“tipoData”> <xs: restriction base=“xs:date”> <xs:maxExclusive value=“2150-01-01” /> <xs:minExclusive value=“1900-12-31” /> </xs:restriction> </xs:simpleType> Metalinguagem!
Agenda – Módulo de TI Fluxograma das etapas de validação Características básicas do XML Documentos 3020 e 3030 Informações de negócio veiculadas Anatomia dos documentos Qualidade dos dados Validação sintática Validador: configuração e execução Relatórios: erros e correção
Informações sobre Operações São consideradas para informação nos campos de fluxo de vencimento: Operações ativas com característica de concessão de crédito. Créditos baixados como prejuízo Coobrigações e riscos assumidos pela IF Repasses interfinanceiros Créditos a liberar
Informações do 3020 Blocos com clientes individualizados com responsabilidade total igual ou superior a R$ 5 mil operações iguais ou maiores que R$ 5 mil dados individualizados, operação por operação operações detalhadas operações menores que $ 5 mil dados consolidados pelo conjunto dos dados operações “relevantes”: maiores que $ 5 milhões
Informações sobre Clientes - 3020 Informações comuns a todos os clientes : Código identificador do cliente Tipo de cliente Autorização Porte do cliente Tipo de controle início do relacionamento do cliente com a IF Código interno do conglomerado econômico Informações adicionais para clientes relevantes
Detalhes das operações Código do contrato Código do Crédito baixado como prejuízo Origem dos recursos Taxa Referencial ou Indexador Variação cambial Natureza da operação Modalidade /Submodalidade Taxa efetiva anual CEP Classificação de risco da operação Distribuição dos vencimentos Característica especial Garantidores pessoais Tipo e Subtipo das garantias Onde devem ser buscados esclarecimentos?
Perguntas mais Freqüentes Ver a página “Perguntas das IFs”, no site do SCR (SCR/Instituições Financeiras): Ex.: como devo informar o campo “Taxa Efetiva Anual” ? Deverá ser enviada a taxa contratual Será expressa em percentual ao ano, livre de quaisquer encargos administrativos ou tributários vigentes na data-base.
Modalidades a detalhar Dúvidas conceituais Recorrer ao Glossário (Manual), que está no site Previsão de várias versões em constante atualização
Anatomia do 3020: no XML 1a linha obrigatória linha identificando 3020, data-base, CNPJ e tipo de arquivo Cada cliente individualizado em um bloco Se for aberto no Internet Explorer (extensão .XML), linhas são automaticamente endentadas Última linha do arquivo, fechando o bloco iniciado com <Doc3020...>
Anatomia do 3020: no leiaute
Anatomia do 3020: no XML Informações detalhadas do cliente Informações detalhadas da operação não relevante
Anatomia do 3020: no leiaute
Anatomia do 3020: no leiaute
Anatomia do 3020: no XML Informações detalhadas do cliente Informações detalhadas das operações consolidadas
Anatomia do 3020: no leiaute
Anatomia do 3020: no XML Informações de medidas judiciais, ao final do bloco da operação
Todas as OpCons e OpNRel do mesmo cliente (qualquer ordem) Anatomia do 3020: no XML Todas as OpCons e OpNRel do mesmo cliente (qualquer ordem) Devem ser informadas todas as operações consolidadas e não relevantes de clientes individuais (RT>R$5.000)
Informações do 3030 Blocos com clientes agregados com qualquer responsabilidade total Consolidar dados pelos seguintes critérios: Modalidade, Classificação de Risco da Operação, Faixa de Valor, Tipo de Cliente, Tipo de Controle, Localização, Origem dos Recursos, Natureza, Característica Especial, Vinculação à Moeda Estrangeira e Prazo em Dobro para Provisionamento
Doc 3030 - Dados Agregados Consolidação de toda a carteira de crédito As informações enviadas ao Banco Central deverão contemplar consolidações das operações com as mesmas características, para cada abertura É o documento que reúne a totalidade da Carteira de Crédito e deve compatiblizar-se com o Cosif
Anatomia do 3030: no XML 1a linha obrigatória Linha identificando cadoc 3030, database, CNPJ e tipo de arquivo Fim do arquivo Não há clientes individualizados, apenas blocos agregando operações com características comuns
Anatomia do 3030: no leiaute
Anatomia do 3030: no XML Cada bloco <Agreg> agrega todas as operações, de todos os clientes, com mesmas Modalidade, Classificação de Risco da Operação, Faixa de Valor, Tipo de Cliente, Tipo de Controle, Localização, Origem dos Recursos, Natureza, Característica Especial, Vinculação à Moeda Estrangeira e Prazo em Dobro para Provisionamento Campos não obrigatórios (tipo de controle, característica especial, vinculação a moeda estrangeira e prazo em dobro): ver leiaute para o significado de não informar
Anatomia do 3030: no leiaute
Detalhes das Informações IMPORTANTE: Leiaute OFICIAL é o arquivo Excel da internet Qualquer outro documento do site deve ser desconsiderado, quando houver inconsistência Acessar www.bcb. http://www.bcb.gov.br/?LAYVIG Site do SCR, menu Instituições Financeiras, opção Leiautes em vigor, seção 1, link “Leiautes – Datas-base nov/2002 e seguintes”
Qualidade de dados A qualidade dos dados enviados será avaliada constantemente Etapas da qualidade: na entrada de dados, com rigor crescente nas atividades de gestão de base de dados e de fiscalização indireta nas atividades de fiscalização direta através do acompanhamento das centrais de atendimento ao público
Qualidade: Fluxograma Básico Doc (Novo) Validação Etapa 0 Documento Rejeitado erro Validação Etapa 1 Sintática erro Validação Etapa 2 Semântica erro erro correto Documento Aceito Análise do cadoc erro
Ciclo da qualidade só se completa com a entrega do COSIF Qualidade de dados Documento 3030 comparação com o COSIF averiguação de variações relevantes entre as datas-base Documento 3020 comparação com o documento 3030 monitoramento das alterações individuais e dos arquivos Ciclo da qualidade só se completa com a entrega do COSIF
Importante Leitura atenta dos seguintes documentos (estão no site do SCR): 1) Roteiro Passo-a-Passo Dúvidas de como enviar arquivo, normativos, transmissão de cadocs, recepção de relatórios, etc Acessar www.bcb.gov.br/?COOPCREDITO 1) Validação sintática Previne erros na etapa 1 Acessar www.bcb.gov.br/?LAYVIG Pegar Validador (ler Orientações... no .zip)
Agenda – Módulo de TI Fluxograma das etapas de validação Características básicas do XML Documentos 3020 e 3030 Informações de negócio veiculadas Anatomia dos documentos Qualidade dos dados Validação sintática Validador: configuração e execução Relatórios: erros e correção
Configuração do Validador Instalar o jre (Java runtime environment) Buscar o arquivo xerces.jar Criar o diretório c:\java Criar o diretório c:\java\lib e gravar o arquivo xerces.jar Criar o diretório c:\java\xmlvalidator Criar um diretório para os arquivos XML e XSD Criar variáveis de ambiente
Execução do Validador No DOS, executar o seguinte comando: java xmlvalidator.Validator crcsch3020v2.xsd Teste.xml >ResultadoValidacao3020_v2.txt Alterar o crcsch3020v2.xsd para novas versões e para o 3030
Interpretação dos erros Attribute "TpCli" is required and must be specified for element type "Cli“ Atributo TpCli não foi informado na tag Cli
Interpretação dos erros In element 'ClassCli' : Value ' ' must be one of [AA, A, B, C, D, E, F, G, H] Tag ClassCli só admite valores AA, A, …, H
Interpretação dos erros Datatype error: In element 'OrigemRec' : Value ' ' does not match regular expression facet '010[0-2] |0199|020[0-9]|021[0-1]|0299|0300' Abrevia todas as possíveis combinações da tabela Tag OrigemRec só admite um dos valores descritos acima
Interpretação dos erros The content of element type "OpRel" must match "(Contrt, NatuOp, Mod, OrigemRec?, Indx?, VarCamb?, DtVencOp?, ClassOp, CEP?, TaxEft?, DtContr?, CaracEspecial*, ProvConsttd?, TpRenegc?, DtRenegc?, PrincipalContrt?, Gartd*, GarNFidej*, VlrVenc+)"
Interpretação dos erros The content of element type "OpRel" must match "(Contrt, NatuOp, Mod, OrigemRec?, Indx?, VarCamb?, DtVencOp?, ClassOp, CEP?, TaxEft?, DtContr?, CaracEspecial*, ProvConsttd?, TpRenegc?, DtRenegc?, PrincipalContrt?, Gartd*, GarNFidej*, VlrVenc+)" Campos obrigatórios: Contrt
Interpretação dos erros The content of element type "OpRel" must match "(Contrt, NatuOp, Mod, OrigemRec?, Indx?, VarCamb?, DtVencOp?, ClassOp, CEP?, TaxEft?, DtContr?, CaracEspecial*, ProvConsttd?, TpRenegc?, DtRenegc?, PrincipalContrt?, Gartd*, GarNFidej*, VlrVenc+)" Campos opcionais: VarCamb?
Interpretação dos erros The content of element type "OpRel" must match "(Contrt, NatuOp, Mod, OrigemRec?, Indx?, VarCamb?, DtVencOp?, ClassOp, CEP?, TaxEft?, DtContr?, CaracEspecial*, ProvConsttd?, TpRenegc?, DtRenegc?, PrincipalContrt?, Gartd*, GarNFidej*, VlrVenc+)" Campos obrigatórios, podem aparecer várias vezes: VlrVenc+
Interpretação dos erros The content of element type "OpRel" must match "(Contrt, NatuOp, Mod, OrigemRec?, Indx?, VarCamb?, DtVencOp?, ClassOp, CEP?, TaxEft?, DtContr?, CaracEspecial*, ProvConsttd?, TpRenegc?, DtRenegc?, PrincipalContrt?, Gartd*, GarNFidej*, VlrVenc+)" Campos opcionais, podem aparecer várias vezes: GarNFidej*
Interpretação dos erros Element type "DistVenc" must be declared tag "DistVenc" não existe mais, foi excluída do leiaute erro ocorre com qualquer tag diferente das existentes no leiaute olhar versão atualizada do leiaute e conferir a sintaxe
Sistema Central de Risco de Crédito - SRC Treinamento para Cooperativas Fim do módulo de TI 21/01/2004