Histórico da Página
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 à Elaboração.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:
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
!((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.
Bloco de código | ||||||
---|---|---|---|---|---|---|
| ||||||
CnCtrxPims() |