Sistema Central de Risco de Crédito - SRC Treinamento para Cooperativas 21/01/2004 21/01/2004 1 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 21/01/2004 2 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 21/01/2004 3 Fluxograma Básico Doc (Novo) Sintática erro Validação Etapa 0 Validação Etapa 1 Documento Rejeitado erro Semântica Documento correto Aceito Validação Etapa 2 erro erro Análise do cadoc erro correto 21/01/2004 4 Fluxograma Básico Doc (Novo) Sintática erro Validação Etapa 0 Validação Etapa 1 Documento Rejeitado erro Semântica Documento correto Aceito Validação Etapa 2 erro erro Análise do cadoc erro correto 21/01/2004 5 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 21/01/2004 6 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 21/01/2004 7 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 21/01/2004 8 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 21/01/2004 9 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 21/01/2004 10 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 21/01/2004 11 XML: noções básicas • <?xml version="1.00"?> – 1a linha de qualquer arquivo XML • <!-- comentario livre --> – qualquer mensagem pode ser colocada aqui 21/01/2004 12 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 21/01/2004 13 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 > 21/01/2004 14 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 21/01/2004 15 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> 21/01/2004 16 Docs XML não bem formados • Que 4 erros há nas tags seguintes? Atributo sem <NomeCompleto> aspas <Nome peso=80>Luiz</Nome> <sobrenome><cargo> Tag está </sobrenome></cargo> cruzada </idade><sexo/> </nomecompleto> Tag não foi aberta 21/01/2004 Maiúsculas e minúsculas 17 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 21/01/2004 18 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 21/01/2004 19 Arquivos .DTD e .XSD • 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 21/01/2004 20 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 21/01/2004 21 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 21/01/2004 22 Arquivos .XSD • XSD é um tipo de arquivo XML: é um XMLSchema • Pode ser criado e aberto segundo os mesmos Atualize sempre princípios schemas • É uma transcrição, para o seus padrão XML, das especificações de um leiaute • Novas versões de leiautes requerem atualização dos schemas 21/01/2004 23 Exemplo de .XSD: doc 3020 • Validador da SCR requer o seguinte comando para validar: java xmlvalidator.Validator crcsch3020v2.xsd Teste.xml >ResultadoValidacao3020_v2.txt 21/01/2004 24 Exemplo de .XSD: doc 3020 • Leiaute define datas no formato AAAA-MMDD 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! 21/01/2004 25 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 21/01/2004 26 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 21/01/2004 27 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 21/01/2004 28 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 Informações adicionais para clientes relevantes – Tipo de controle – início do relacionamento do cliente com a IF – Código interno do conglomerado econômico 21/01/2004 29 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 Onde devem ser buscados – Distribuição dos vencimentos – Característica especial esclarecimentos? – Garantidores pessoais – Tipo e Subtipo das garantias 30 21/01/2004 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. 21/01/2004 31 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 21/01/2004 32 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 Última linha do arquivo, .XML), linhas são fechando o bloco automaticamente iniciado com endentadas <Doc3020...> 21/01/2004 33 Anatomia do 3020: no leiaute 21/01/2004 34 Anatomia do 3020: no XML Informações detalhadas do cliente Informações detalhadas da operação não relevante 21/01/2004 35 Anatomia do 3020: no leiaute 21/01/2004 36 Anatomia do 3020: no leiaute 21/01/2004 37 Anatomia do 3020: no XML Informações Informações detalhadas do detalhadas das cliente operações consolidadas 21/01/2004 38 Anatomia do 3020: no leiaute 21/01/2004 39 Anatomia do 3020: no XML Informações de medidas judiciais, ao final do bloco da operação 21/01/2004 40 Anatomia do 3020: no XML Todas as OpCons e OpNRel do Devem ser informadas mesmo cliente todas (qualquer as operações ordem) e não consolidadas relevantes de clientes individuais (RT>R$5.000) 21/01/2004 41 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 21/01/2004 42 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 21/01/2004 43 Anatomia do 3030: no XML 1a linha obrigatória Não há clientes individualizados, apenas Linha identificando blocos agregando cadoc 3030, database, operações com CNPJ e tipo de arquivo características comuns Fim do arquivo 21/01/2004 44 Anatomia do 3030: no leiaute 21/01/2004 45 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, Campos não obrigatórios (tipo de Localização, Origem dos controle, característica especial, Recursos, Natureza, Característica vinculação a moeda estrangeira e Especial, Vinculação à Moeda prazo em dobro): ver leiaute para Estrangeira e Prazo em Dobro o significado de não informar para Provisionamento 21/01/2004 46 Anatomia do 3030: no leiaute 21/01/2004 47 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” 21/01/2004 48 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 21/01/2004 49 Qualidade: Fluxograma Básico Doc (Novo) Sintática erro Validação Etapa 0 Validação Etapa 1 Documento Rejeitado erro Semântica Documento correto Aceito Validação Etapa 2 erro erro Análise do cadoc erro correto 21/01/2004 50 Qualidade de dados – Documento 3030 Ciclo da qualidade só se completa com a entrega do COSIF • 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 21/01/2004 51 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) 21/01/2004 52 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 21/01/2004 53 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 21/01/2004 54 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 21/01/2004 55 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 21/01/2004 56 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 21/01/2004 57 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' Tag OrigemRec só admite um dos valores descritos acima Abrevia todas as possíveis combinações da tabela 21/01/2004 58 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+)" 21/01/2004 59 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 21/01/2004 60 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? 21/01/2004 61 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+ 21/01/2004 62 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* 21/01/2004 63 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 21/01/2004 64 Sistema Central de Risco de Crédito - SRC Fim do Treinamento módulo para Cooperativas de TI 21/01/2004 21/01/2004 65