sistema de pagamentos brasileiro. parser xml modelo operacional - requisições da if/clearing...
Post on 22-Apr-2015
173 Views
Preview:
TRANSCRIPT
Sistema de Pagamentos BrasileiroSistema de Pagamentos Brasileiro
Parser XMLParser XML
Modelo operacional - requisições da IF/ClearingModelo operacional - requisições da IF/Clearing
LegadoLegado STRSTR
Assinatura digitalAssinatura digital
LOGLOG
CifragemCifragemLOGLOG
Msg
assinada
Msg assinada e cifrada
DTD
Procedimentos de segurança
Certificado digital da IF/C
Certificado digital BC
Converte códigoConverte código
Modelo operacional - respostas do BACENModelo operacional - respostas do BACEN
LegadoLegado STRSTR
Parser XMLParser XML
Confere assinaturaConfere assinatura
LOGLOG
DecifraDecifra
LOGLOG
Msg
assinada
Msg assinada e cifrada
Procedimentos de segurança
Certificado digital BC
DTD
Certificado digital IF/C
report
report
Converte códigoConverte código
TopologiaTopologia 8 x 28 x 2
Servidor A
Servidor B
Provedor A
Provedor B
Sistema de Pagamentos BrasileiroSistema de Pagamentos Brasileiro
Provedor 2rede IP
m ultiserv iços
Provedor 1rede IP
m ultiserv iços
Infraestrutura Básica da Rede SPBInfraestrutura Básica da Rede SPB
2M
2M
2M
2M
IF
64K
64K
Clearing
256K-2M
Clearing
256K-2M
256K-2M
Características da rede SPBCaracterísticas da rede SPB
• Protocolo BGPProtocolo BGP
• Gerenciamento integrado e centralizado entre os Gerenciamento integrado e centralizado entre os
provedoresprovedores
• Integração com o sistema Tivoli do BCIntegração com o sistema Tivoli do BC
• Endereços IP válidos para a internetEndereços IP válidos para a internet
• Não estará ligada à internetNão estará ligada à internet
• Provedores com redundância de meios físicos e rede Provedores com redundância de meios físicos e rede
lógica em Brasília, Rio de Janeiro e São Paulológica em Brasília, Rio de Janeiro e São Paulo
• Disponibilidade:Disponibilidade:
– 99,9% no backbone e na conexão com o BC99,9% no backbone e na conexão com o BC
– 99,8% na última milha com as IF99,8% na última milha com as IF
• Comitê gestor:Comitê gestor:
– Banco CentralBanco Central
– Instituições financeirasInstituições financeiras
– ClearingsClearings
Características da rede SPBCaracterísticas da rede SPB
O Sistema de Pagamentos Brasileiro
e a
Troca de Mensagens08/03/2001
• GT-Mensagem
• Arquitetura do SPB
• Fluxo de Mensagens no SPB
• Evolução do Manual de Mensagens
• Nova versão do Manual de Mensagens / DTD
AgendaAgenda
GT-MensagemGT-Mensagem
GT-Mensagem - Composição
• ABBC• ABBI • ANDIMA • ASBACE • BACEN• BM&F• CBLC• CETIP• FEBRABAN
• Adoção do XML (Extensible MarkUp Language);
• Criação de protocolo próprio;
• As mensagens serão estruturadas em 3 (três) segmentos:
BCMSG
SISMSG
USERMSG
GT-Mensagem - Decisões
<SPBDOC>
<BCMSG>
. . . informações do Controle da Mensagem
</BCMSG>
<SISMSG>
. . . informações do Sistema na Mensagem
</SISMSG>
<USERMSG>
. . . área livre
</USERMSG>
</SPBDOC>
GT-Mensagem - Modelo Padrão
• Divulgação Nova Versão do Manual em 09.03.2001 (DTD disponível);
• Inclusão Mensagens das Câmaras LDL;
• Nova Revisão e Divulgação Versão 1.0;
• Participação no futuro Comitê do SPB.
GT-Mensagem - Próximos Passos
Arquitetura Arquitetura do do SPBSPB
Impacto do SPBImpacto do SPB
• Novo desenho da rede
• Comunicação através de mensagens
• LBTR x LDL
• Tratamento dos débitos não efetivados
• “Piloto” de reservas
Sistemas a serem criados / alterados no BACEN
STRSLBCOMPULSÓRIOREDESCONTOCOMPESELIC (*)CONTABILCÂMBIOCCRMECIRCNRPROAGROLEILÃOPOUPANÇATESOURO
CÂMARAS LDL (BM&F, CBLC, CETIP, PAGAMENTOS, etc.)COMPESISTEMAS INTERNOS DAS IF’s
Sistemas a serem criados / alterados pelo Mercado
(*) Em parceria com a ANDIMA
Mensagens
IF
SEL
CMP
RCOPendênciasReservas
Bancárias
Conta LDL
COMPEMECIR
STRSLB
RDC
CIR
LDL
STN
IF
Sn
S2
S1Mensagens
Mensagens
Mensagens
Mensagens
Mensagens
Outros
Pagamentos
CETIP
CBLC BM&F
IF
COMPE
S T R
LDL
SEL
CMP
RDC
CIR
SLB CustodianteBB
RCO
STN
1) Apenas a Instituição Financeira 1) Apenas a Instituição Financeira comanda débitos na sua comanda débitos na sua conta Reservas Bancárias.conta Reservas Bancárias.
2) Saldo em Reservas 2) Saldo em Reservas Bancárias não pode ser Bancárias não pode ser negativo.negativo.
S T R
I F
Débito Comandado
Reservas Bancárias
Pendências3) A responsabilidade pela 3) A responsabilidade pela resposta a uma solicitação e/ou resposta a uma solicitação e/ou requisição é sempre do sistema requisição é sempre do sistema que foi chamado.que foi chamado.
Premissas Básicas
Transferência de Reservas - Modelo Simplificado
Pendências
IF 1
Débito
IF 2
Crédito
Reservas Bancárias
Serviço de Mensagens
S T R
Fluxo de Fluxo de MensagensMensagens
- Alguns exemplos -- Alguns exemplos -
Conta Transitória
MECIR
Reservas Bancárias
Pendências
Apartado/Efetivado /
Pendente (dia D)
STR
Débito Principal + Tarifa (dia D)
CIR0003R1(D)
MECIR
CIR0003 (D-2)
IF CIR0003R1(D-2)
Obs.: Se o saque for em Banco custodiante deve-se informar o CNPJ e a Agência do Custodiante.
MECIR - Saque de Numerário
<CIRReqSaqueNumerario> <CodMsg> Código Mensagem X <NumCtrlIF> Número Controle IF X <CNPJIF> CNPJ IF X <AgIF> Agência IF X <CodDpnciaBC> Código Dependência BACEN <CNPJCstdte> CNPJ Custodiante <TipoVlr> Tipo Valor X <Catg> Categoria X <Esp> Espécie X <DtSaque> Data Saque X <CIR0003_Repet1> CIR0003 Repetição 1 X <CIR0003_Grupo1> CIR0003 Grupo 1 X <VlrDen> Valor Denominação X <QtdDen> Quantidade Denominação X </CIR0003_Grupo1> Fim CIR0003 Grupo 1 X </CIR0003_Repet1> Fim CIR0003 Repetição 1 X <DtMovto> Data Movimento X <AgCstdte> Agência Custodiante <VlrTarifa> Valor Tarifa <VlrLanc> Valor Lançamento X <VlrSaque> Valor Saque X
</CIRReqSaqueNumerario>
<CIRReqSaqueNumerarioRespReq> <CodMsg> Código Mensagem X <NumCtrlIF> Número Controle IF X <CNPJIF> CNPJ IF X <NumCtrlCIR> Número Controle Mecir X <NumCtrlSTR> Número Controle STR <SitLancCIR> Situação Lançamento Mecir X <DtHSit> Data Hora Situação X <DtMovto> Data Movimento X <TipoVlr> Tipo Valor <Catg> Categoria <Esp> Espécie <CIR0003R1_Repet1> CIR0003R1 Repetição 1 <CIR0003R1_Grupo1> CIR0003R1 Grupo 1 <VlrDen> Valor Denominação <QtdDen> Quantidade Denominação </CIR0003R1_Grupo1> Fim CIR0003R1 Grupo 1 </CIR0003R1_Repet1> Fim CIR0003R1 Repetição 1 <VlrLanc> Valor Lançamento
</CIRReqSaqueNumerarioRespReq>
Efetivado /
Pendente (dia D)
STR
Reservas Bancárias
Pendências
Crédito Principal + Débito Tarifa (dia D)
CIR0005R1(D) MECIR
CIR0005 (D)
IF
Obs.: Se o depósito for em Banco custodiante deve-se informar o CNPJ e a Agência do Custodiante.
MECIR - Depósito de Numerário
<CIRReqDepositoNumerarioRespReq> <CodMsg> Código Mensagem X <NumCtrlIF> Número Controle IF X <CNPJIF> CNPJ IF X <NumCtrlCIR> Número Controle Mecir X <NumCtrlSTRDep> Número Controle STR Depósito <SitLancCIR> Situação Lançamento Mecir X <DtHSit> Data Hora Situação X <DtMovto> Data Movimento X <NumCtrlSTRTarifa> Número Controle STR Tarifa <VlrDep> Valor Depósito <VlrTarifa> Valor Tarifa
</CIRReqDepositoNumerarioRespReq>
<CIRReqDepositoNumerario> <CodMsg> Código Mensagem X <NumCtrlIF> Número Controle IF X <CNPJIF> CNPJ IF X <AgIF> Agência IF X <CodDpnciaBC> Código Dependência BACEN <CNPJCstdte> CNPJ Custodiante <AgCstdte> Agência Custodiante <TipoVlr> Tipo Valor X <Catg> Categoria X <Esp> Espécie X <DtDep> Data Depósito X <CIR0005_Repet1> CIR0005 Repetição 1 X <CIR0005_Grupo1> CIR0005 Grupo 1 X <VlrDen> Valor Denominação X <QtdDen> Quantidade Denominação X </CIR0005_Grupo1> Fim CIR0005 Grupo 1 X </CIR0005_Repet1> Fim CIR0005 Repetição 1 X <DtMovto> Data Movimento X <VlrTarifa> Valor Tarifa <VlrDep> Valor Depósito X
</CIRReqDepositoNumerario>
STR
Reservas Bancárias
SELIC
CustódiaTítulos
RDC0002R1 RedescontoIF
RDC0002
RDC - Redesconto Intradia
<RDCReqRedescontoIntradia> <CodMsg> Código Mensagem X <NumCtrlIF> Número Controle IF X <CNPJIF> CNPJ IF X <IdTit> Identificador Título X <NumOpSel> Número Operação Selic X <PU> Preço Unitário X <QtdTits> Quantidade Títulos X <VlrFinanc> Valor Financeiro X <DtMovto> Data Movimento X
</RDCReqRedescontoIntradia>
<RDCReqRedescontoIntradiaRespReq> <CodMsg> Código Mensagem X <NumCtrlIF> Número Controle IF X <CNPJIF> CNPJ IF X <NumCtrlRDC> Número Controle RDC X <NumOpSelRet> Número Operação Selic Retorno X <NumCtrlSTR> Número Controle STR <SitLanc> Situação Lançamento X <DtHSit> Data Hora Situação X <DtMovto> Data Movimento X
</RDCReqRedescontoIntradiaRespReq>
IF
SLB
SLB0001
Sn
S2
S1
SLB - Aviso de débito
SLB0002
Pendências
STR
Reservas Bancárias
Débito / Crédito
Efetivado / Pendente
SLB0002R1
<SLBAvisLancDevidoIF> <CodMsg> Código Mensagem X <CNPJIF> CNPJ IF X <CNPJConv> CNPJ Conveniado <NumCtrlSLB> Número Controle SLB X <SistOrigem> Sistema Origem X <DtVenc> Data Vencimento X <Historico> Histórico X <VlrLanc> Valor Lançamento X <DtMovto> Data Movimento X
</SLBAvisLancDevidoIF>
<SLBReqPagtoLancBACEN> <CodMsg> Código Mensagem X <NumCtrlIF> Número Controle IF X <CNPJIF> CNPJ IF X <NumCtrlSLB> Número Controle SLB X <NivelPref> Nível Preferência <DtMovto> Data Movimento X
</SLBReqPagtoLancBACEN>
<SLBReqPagtoLancBACENRespReq> <CodMsg> Código Mensagem X <NumCtrlIF> Número Controle IF X <CNPJIF> CNPJ IF X <NumCtrlSLB> Número Controle SLB X <NumCtrlSTR> Número Controle STR <SitLanc> Situação Lançamento X <DtHSit> Data Hora Situação X <DtMovto> Data Movimento X
</SLBReqPagtoLancBACENRespReq>
RCO0002R1 RCORCO0002
IF
RCO - Informação de Demonstrativo
SLB
Custos
Multas
SLB0001
Efetivado /
Pendente
STR
Reservas Bancárias
Pendências
Débito /
Crédito
SLB0002
<RCOInfDemonstrativo> <CodMsg> Código Mensagem X <NumCtrlIF> Número Controle IF X <CNPJIF> CNPJ IF X <CodRCO> Código RCO X <DtRefDmstr> Data Referência Demonstrativo X <DtIni> Data Início X <DtFim> Data Fim X <IndIncl_Alt> Indicador Inclusão/Alteração X <RCO0002_Repet1> RCO0002 Repetição 1 X <RCO0002_Grupo1> RCO0002 Grupo 1 X <CodItemBaseIncid> Código Item Base Incidência X <VlrItemDmstr> Valor Item Demonstrativo X </RCO0002_Grupo1> Fim RCO0002 Grupo 1 X </RCO0002_Repet1> Fim RCO0002 Repetição 1 X <DtMovto> Data Movimento X
</RCOInfDemonstrativo>
<RCOInfDemonstrativoRespInf> <CodMsg> Código Mensagem X <NumCtrlIF> Número Controle IF X <CNPJIF> CNPJ IF X <IndMulta> Indicador Multa <DtMovto> Data Movimento X
</RCOInfDemonstrativoRespInf>
STNSTN0002
IF
STN - Repasse de Arrecadação
STN0002R1 Efetivado /
Pendente
STR
Reservas Bancárias
Pendências
Débito
Tesouro
<STNReqTransfRepArrecadacao> <CodMsg> Código Mensagem X <CNPJIF> CNPJ IF X <NumCtrlIF> Número Controle IF X <DtArrec> Data Arrecadação X <DtRecolh> Data Recolhimento X <DtRep> Data Repasse X <VlrRep> Valor Repasse X <VlrRem> Valor Remuneração <DtMovto> Data Movimento X <NivelPref> Nível Preferência <Historico> Histórico X
</STNReqTransfRepArrecadacao>
<STNReqTransfRepArrecadacaoRespReq> <CodMsg> Código Mensagem X <CNPJIF> CNPJ IF X <NumCtrlIF> Número Controle IF X <NumCtrlSTR> Número Controle STR X <NumCtrlSTN> Número Controle STN X <SitLanc> Situação Lançamento X <DtHSit> Data Hora Situação X <DtMovto> Data Movimento X
</STNReqTransfRepArrecadacaoRespReq>
PendênciasReservas Bancárias
STR0004R1
STR0004R2
IF
1
STR0004
IF
2
STR
Debitada
Creditada
STR - Transferências Interbancárias
<STRReqTransfReservaRespTerc> <CodMsg> Código Mensagem X <NumCtrlSTR> Número Controle STR X <DtHSTR> Data Hora STR X <CNPJIFDeb> CNPJ IF Debitada X <CNPJIFCred> CNPJ IF Creditada X <VlrLanc> Valor Lançamento X <Finldd> Finalidade X <Historico> Histórico X <DtMovto> Data Movimento X
</STRReqTransfReservaRespTerc>
<STRReqTransfReservaRespReq> <CodMsg> Código Mensagem X <NumCtrlIF> Número Controle IF X <CNPJIFDeb> CNPJ IF Debitada X <NumCtrlSTR> Número Controle STR X <SitLanc> Situação Lançamento X <DtHSit> Data Hora Situação X <DtMovto> Data Movimento X
</STRReqTransfReservaRespReq>
<STRReqTransfReserva> <CodMsg> Código Mensagem X <NumCtrlIF> Número Controle IF X <CNPJIFDeb> CNPJ IF Debitada X <CNPJIFCred> CNPJ IF Creditada X <Finldd> Finalidade X <VlrLanc> Valor Lançamento X <Historico> Histórico X <NivelPref> Nível Preferência <DtMovto> Data Movimento X
</STRReqTransfReserva>
IF2Confirma
STR
Reservas Bancárias
Confirma
Rejeita
CRB a debitar
CRB a creditar
Custódia
Observações para sistemas que transacionam papéis:
• O papel tem que estar sob custódia do vendedor.
• Operações do Selic não entram em pendência no STR.
Sistema LBTR
IF1 Confirma
Sistemas LBTR
<SELReqOperacaoDefinitiva> <CodMsg> Código Mensagem <NumOpSel> Número Operação Selic <DtOp> Data Operação <CtCed> Conta Cedente <CtCes> Conta Cessionária <TipoDebCred> Tipo Débito/Crédito <IFLqdantCed> IF Liquidante Cedente <IFLqdantCes> IF Liquidante Cessionário <IdTit> Identificador Título <DtVencTit> Data Vencimento Título <PU> Preço Unitário <Qtd> Quantidade <VlrFinanc> Valor Financeiro <NivelPref> Nível Preferência <ChVSel> Chave Vinculação Selic <DtMovto> Data Movimento <CNPJIF> CNPJ IF <NumCtrlIF> Número Controle IF
/SELReqOperacaoDefinitiva>
<SELReqOperacaoDefinitivaRespReq> <CodMsg> Código Mensagem <NumOpSel> Número Operação Selic <SitLanc> Situação Lançamento <SitOpSEL> Situação Operação Selic <NumCtrlSTR> Número Controle STR <DtHSTR> Data Hora STR <DtHBC> Data Hora Bacen <DtMovto> Data Movimento <CNPJIF> CNPJ IF <NumCtrlIF> Número Controle IF
</SELReqOperacaoDefinitivaRespReq>
Resposta
Resposta
Considerar a existência de:
Horário início liquidação da Câmara LDL
Horário término da liquidação da Câmara LDL
IF
LDL - Transferência Resultado Líquido
LDL0004
Câmara
LDL
LDL
Conta Câmara
LDL
ReservasBancárias
STR LDL0004R1
LDL0004R2
<LDLReqTransfResultadoLiquidoNegociacao> <CodMsg> Código Mensagem X <NumCtrlIF> Número Controle IF X <NumCtrlLDLOr> Número Controle LDL Original X <CNPJIF> CNPJ IF X <CNPJLDL> CNPJ LDL X <IdMerc> Identificador Mercado X <VlrLanc> Valor Lançamento X <LDL0004_Repet1> LDL0004 Repetição 1 X <LDL0004_Grupo1> LDL0004 Grupo 1 X <CNPJSubLiqdd> CNPJ Sub Liquidado X <VlrCredSubLiqdd> Valor Crédito Sub Liquidado X <VlrDebSubLiqdd> Valor Débito Sub Liquidado X </LDL0004_Grupo1> Fim LDL0004 Grupo 1 X </LDL0004_Repet1> Fim LDL0004 Repetição 1 X <NivelPref> Nível Preferência <DtMovto> Data Movimento X
</LDLReqTransfResultadoLiquidoNegociacao>
<LDLReqTransfResultadoLiquidoNegociacaoRespReq> <CodMsg> Código Mensagem X <NumCtrlIF> Número Controle IF X <CNPJIF> CNPJ IF X <NumCtrlSTR> Número Controle STR X <SitLanc> Situação Lançamento X <DtHSit> Data Hora Situação X <DtMovto> Data Movimento X
</LDLReqTransfResultadoLiquidoNegociacaoRespReq>
<LDLReqTransfResultadoLiquidoNegociacaoRespTerc> <CodMsg> Código Mensagem X <NumCtrlLDLOr> Número Controle LDL Original X <NumCtrlSTR> Número Controle STR X <DtHSTR> Data Hora STR X <CNPJIF> CNPJ IF X <CNPJLDL> CNPJ LDL X <IdMerc> Identificador Mercado X <VlrLanc> Valor Lançamento X <LDL0004R2_Repet1> LDL0004R2 Repetição 1 X <LDL0004R2_Grupo1> LDL0004R2 Grupo 1 X <CNPJSubLiqdd> CNPJ Sub Liquidado X <VlrCredSubLiqdd> Valor Crédito Sub Liquidado X <VlrDebSubLiqdd> Valor Débito Sub Liquidado X </LDL0004R2_Grupo1> Fim LDL0004R2 Grupo 1 X </LDL0004R2_Repet1> Fim LDL0004R2 Repetição 1 X <DtMovto> Data Movimento X
</LDLReqTransfResultadoLiquidoNegociacaoRespTerc>
CMPIF
CMP - Transf. para Depósito na COMPE
CMP0001
CMP0002
CMP0002R1
Conta COMPE
ReservasBancárias
STR
COMPE
BB
<CMPReqTransfDepositoOperacionalCOMPE> <CodMsg> Código Mensagem X <NumCtrlIF> Número Controle IF X <CNPJIF> CNPJ IF X <NumCtrlCMPOr> Número Controle CMP Original X <VlrLanc> Valor Lançamento X <NivelPref> Nível Preferência <DtMovto> Data Movimento X
</CMPReqTransfDepositoOperacionalCOMPE>
<CMPReqTransfDepositoOperacionalCOMPERespReq> <CodMsg> Código Mensagem X <NumCtrlIF> Número Controle IF X <CNPJIF> CNPJ IF X <NumCtrlCMP> Número Controle CMP X <NumCtrlSTR> Número Controle STR X <SitLanc> Situação Lançamento X <DtHSit> Data Hora Situação X <DtMovto> Data Movimento X
</CMPReqTransfDepositoOperacionalCOMPERespReq>
<CMPInfValorParaOperarCOMPE> <CodMsg> Código Mensagem X <CNPJIF> CNPJ IF X <NumCtrlCMP> Número Controle CMP X <VlrFinanc> Valor Financeiro X <DtHBC> Data Hora Bacen X <DtMovto> Data Movimento X
</CMPInfValorParaOperarCOMPE>
<SPBDOC>
<BCMSG>
. . . informações do Controle da Mensagem
</BCMSG>
<SISMSG>
<SLBAvisLancDevidoIF>
<CodMsg>
<CNPJIF>
<CNPJConv>
<NumCtrlSLB>
<SistOrigem>
<DtVenc>
<Historico>
<VlrLanc>
<DtMovto>
</SLBAvisLancDevidoIF>
</SISMSG>
<USERMSG>
. . . área livre
</USERMSG>
</SPBDOC>
Exemplo de uma Mensagem
• Versão Preliminar - 30.11.2000;• Versão Preliminar - 31.12.2000;
• Versão Preliminar - 31.01.2001;
• Versão Preliminar com DTD - 09.03.2001;
• Nova Versão Revisada em 30.03.2001;
• Manual de Mensagens único para o SFN;
• Subgrupo do Comitê Gestor de Tecnologia do SPB.
Evolução do Manual de Mensagens
Nova Versão do Manual de Mensagens
&
DTD
DTD?
Definindo que Tipo de Documento é esse...
Como o computador vai reconhecer quais campos devem constar numa mensagem?
<SPBDOC>
<BCMSG>
. . . informações do Controle da Mensagem
</BCMSG>
<SISMSG>
<STRReqTransfReserva>
<CodMsg>
<NumCtrlIF>
<CNPJIFDeb>
<CNPJIFCred>
<Finldd>
<VlrLanc>
<Historico>
<NivelPref>
<DtMovto>
</STRReqTransfReserva>
</SISMSG>
<USERMSG>
. . . área livre
</USERMSG>
</SPBDOC>
Um Documento XML
Comentários estão envolvidos pelas marcas “<--” e “-->”
Exemplo:
<-- Evento: STR0004 - If requisita Transferencia de Reservas -->
<-- Mensagem: Requisicao de Transferencia de Reservas -->
<-- Codigo Msg: STR0004 Emissor: IF Destinatario: STR -->
Estrutura do DTD - Comentários
As mensagens são definidas como elementos dentro de uma estrutura.
Exemplo:
Definição da mensagem “Requisição de Transferencia de Reservas”
<-- Evento: STR0004 - If requisita Transferencia de Reservas -->
<-- Mensagem: Requisicao de Transferencia de Reservas -->
<-- Codigo Msg: STR0004 Emissor: IF Destinatario: STR -->
<!ELEMENT STRReqTransfReserva
(CodMsg, NumCtrlIF, CNPJIFDeb, CNPJIFCred, Finldd, VlrLanc,
Historico, NivelPref?, DtMovto) >
Observação: NivelPref? significa que Nivel Preferência é um campo
opcional.
Estrutura do DTD - Mensagens
Por sua vez, STRReqTransfReserva é um elemento do SISMSG
<!ELEMENT SISMSG
(STRReqTransfContaCliContaIf |
STRReqTransfContaCliContaIfRespReq |
STRReqTransfContaCliContaIfRespTerc |
STRReqTransfContaDifTitularidade |
STRReqTransfContaDifTitularidadeRespReq |
STRReqTransfContaDifTitularidadeRespTerc |
STRReqTransfReserva |
STRReqTransfReservaRespReq |
STRReqTransfReservaRespTerc) >
Observação: “|” significa “ou”
Este é apenas um trecho da definição do SISMSG
Estrutura do DTD - SISMSG
Já apresentamos uma parte da sintaxe utilizada, mas
ainda é necessário acrescentar outros símbolos para
os casos de estruturas de repetição.
“*” - pode repetir de 0 a n vezes
“+” - pode repetir de 1 a n vezes
Com isso já temos condições de entender plenamente o DTD...
Estrutura do DTD - Notação
Correndo o risco de estar repetindo um assunto que já
é de pleno domínio de todos...
No STR0002 - STR avisa alteração horários, temos um
grupo de repetição que na versão anterior do manual
de mensagens estava:
<Repeticao>
<CodGrade>
<HrioAb>
<HrioFch>
</Repeticao>
Estrutura do DTD - Repetição
Agora ficou assim:
<STR0002_Repet1>
<STR0002_Grupo1>
<CodGrade>
<HrioAb>
<HrioFch>
</STR0002_Grupo1>
</STR0002_Repet1>
Estrutura do DTD - Repetição
<STR0002_Repet1>
<STR0002_Grupo1>
<CodGrade>
<HrioAb>
<HrioFch>
</STR0002_Grupo1>
<STR0002_Grupo1>
<CodGrade>
<HrioAb>
<HrioFch>
</STR0002_Grupo1>
<STR0002_Grupo1>
<CodGrade>
<HrioAb>
<HrioFch>
</STR0002_Grupo1>
</STR0002_Repet1>
Definição da mensagem “STR avisa Alteração Horários do STR”
<-- Evento: STR0002 - STR avisa Alteracao Horarios do STR -->
<-- Mensagem: Aviso de Alteracao de Horarios do STR -->
<-- Codigo Msg: STR0002 Emissor: STR Destinatario: Todas IFs -->
<!ELEMENT STRAvisAltHorarioSTR
(CodMsg, STR0002_Repet1, DtHSTR, TipoHrio, DtMovto) >
<!ELEMENT STR0002_Repet1 (STR0002_Grupo1+) >
<!ELEMENT STR0002_Grupo1 (CodGrade, HrioAb, HrioFch) >
Estrutura do DTD - Repetição
Definição dos campos que podem ser utilizados nas mensagens:
<!ELEMENT CodMsg (#PCDATA) >
<!ELEMENT DtHSTR (#PCDATA) >
<!ELEMENT TipoHrio (#PCDATA) >
<!ELEMENT DtMovto (#PCDATA) >
.
.
.
Estrutura do DTD - Campos
FIMBanco Central do Brasil
Departamento de Informática
top related