O erro está a ocorrer por que algo está a correr mal na passagem de informação do título do BO para o FO.
O título é criado no BO e é indicado um LDEP (em titulo_pracas) que na passagem para o dicionário do FO o campo SETTL_LOCATION (correspondente ao LDEP do BO) fica vazio. Depois quando a informação retorna ao BO o LDEP fica diferente e isso acaba por obrigar o BPI a ratear o efetuado.



Correção de Local de Depósito FO

Verificações iniciais:


No BO:

  1. Verificar se o título indicado pelo cliente não possui outros ISINs . Essa consulta é importante caso o título possua diferentes Praças.
  2. Select * from titulo_alias where alias = ' ';
  3. Verificar as informações de negociação do título para comparar com o FO, sendo eles: Symbol, Security_Type, Security_Exchange, LDEP_Codigo.

LDEP_Codigo (BO) = SETTL_LOCATION (FO- Securities_definition)


Select symbol, security_type,security_exchange,ldep_codigo,tit_codigo from TITULO_PRACAS
 where TIT_CODIGO = '   ';

No FO:

  1. Verificar as informações de negociação do título para comparar com o BO, sendo eles: Symbol, Security_Type, Security_Exchange, SETTL_LOCATION .


Select a.settl_location, a.* 
from SECURITIES_DEFINITION a 
where  a.SECURITY_ID = '   ' 
and  a.SYMBOL = '   '
and a.SECURITY_TYPE= '   ' 
and a.SECURITY_EXCHANGE = '   ' ;




  • Aqui é importante verificar o campo SETTL_LOCATION. Este campo pode estar vazio e este é o motivo do erro.


 

No BO:

  1. Verificar se há erros na passagem dos movimentos do BO para o FO.


Select * from MD_AUX_TIT_UPDATE where TIT_CODIGO = '   ' ;

Aqui podemos ter 2 situações:

  1. Retorno da consulta SEM DADOS: podem ser registos muito antigos que podem ter sido eliminados ou deram erro na criação (citados devemos inserir manualmente o Settl_location manualmente no FO)
  2. Retorno da consulta COM DADOS: aqui ou trataríamos o erro ou colocaríamos para não tratar (neste caso devemos inserir manualmente o Settl_location manualmente no FO).



Solução:


Inserir no dicionário do FO o  SETTL_LOCATION correspondente ao LDEP_CODIGO do BO.


Select rowid, a.settl_location, a.* 
from SECURITIES_DEFINITION a 
where  a.SECURITY_ID = '   '  
and  a.SYMBOL = '   '  
and a.SECURITY_TYPE= '   '  
and a.SECURITY_EXCHANGE = '   ' ;