Árvore de páginas

Tempo aproximado para leitura: 00 min


01. DADOS GERAIS

Linha de Produto:Protheus
Segmento:Serviços
Módulo:Gestão de Contratos
Função:CNTI300
Ticket:4589291
Issue:DSERSGC-6390


02. SITUAÇÃO

Ao incluir ou alterar um contrato na situação Em Elaboração, o sistema enviava uma mensagem única de deleção.

03. SOLUÇÃO

O sistema foi corrigido para enviar mensagem de deleção apenas quando o contrato tiver sua situação alterada para Cancelado ou quando um contrato Vigente voltar para Elaboração. A rotina envia uma mensagem de atualização toda vez que se altera o contrato, para que ele mande a atualização apenas em situações pontuais deve-se utilizar o campo condição do cadastro do Adapter EAI, conforme ilustrado abaixo:

Valor do campo condição:

Exemplo Condição
!((Alltrim(CN9->CN9_SITUAC) $ '09|A' .And. !FwIsInCallStack('CN300Delet')) .Or. (AllTrim(CN9->CN9_SITUAC) == '02' .And. CN100SitCtr() != '05')) 

No exemplo acima o cliente deseja que a integração EAI seja chamada apenas quando não se tratar de uma inclusão de revisão ou quando não for uma inclusão/atualização de um contrato Em Elaboração que anteriormente não tenha sido posto em Vigente( trecho que verifica o retorno da função CN100SitCtr() ).

Alternativamente, quando tratar-se de uma integração Protheus x PIMS, é possível utilizar a condição abaixo, que além de fazer o tratamento do exemplo anterior, também verifica se a integração está ativa de acordo com o tipo do contrato utilizado.

Exemplo Condição para clientes PIMS
CnCtrxPims()