Regente - 5.8.4.52

05/02/2016

Baixar versão

Erro na regra dos acordos ao realizar integração via web service

Problema: ao realizar uma integração via web service com.senior.g5.co.agt.Integracao, ocorria um erro na regra dos acordos, indicando que o campo CODET1 não era informado.

Correção efetuada: ajustamos a rotina que trata das vendas via web services, para que as enviem para a regra dos acordos no campo NumPcv.
Melhoramos a mensagem de retorno na função BuscaValorPaxNum para quando não existir campo informado.

No entanto, mesmo com esses ajustes, a regra que trata dos acordos não deveria ser usada para validar a existência do código de estrutura ou de outros campos. Na inclusão isso acaba acontecendo, mas na alteração, o usuário pode optar por não recalcular os acordos (se isso for feito, a regra de acordos não é executada).

Ao chamar a regra dos acordos, na integração de web services, algumas tabelas ainda não foram gravadas. A integração via web services é feita de forma a obter ganhos de performance. Ou seja, está preparada para processar grandes volumes de dados, por isso, somente no final do processamento, quando tudo já foi validado, as tabelas são bloqueadas e os registros gravados. Com isso, o tempo de bloqueio é menor. Quando estiver dentro de um documento ou na integração GDS, a gravação é feita antes.

A regra de acordos permite fazer validações, desde que antes confirme se o registro existe. Somente depois irá conferir o conteúdo dos campos. Se o registro não existir, a validação não será feita.

Mas, conforme explicado acima, essa validação não será feita para web services ou quando o usuário alterar e optar por não recalcular os acordos.

Quando for web services, só é disponível para acesso via banco, a tabela V300PCV (tabela principal do PC).

Para algumas validações, na regra dos acordos, pode-se usar a função BuscaValorPaxNum(campos numéricos) ou BuscaValorPaxStr(campos alfanuméricos), que possuem disponíveis os seguintes campos:

Considerando a impossibilidade de incluirmos novos campos nessas estruturas, uma alternativa para a validação de campos seria triggers. Elas agem diretamente no banco, numa linguagem de conhecimento geral. Se isso for feito, identificar claramente na mensagem, para que se conheça o local de onde a mensagem está sendo gerada.

Local: Diversos > Serviços

Informação incompleta na mensagem de tour code

Problema: a mensagem de validação do tour code não era suficientemente clara sobre qual tour code havia sido informado, pois aparecia uma informação incompleta na mensagem de erro.

Correção efetuada: melhoramos a mensagem que avisa sobre problemas na validação do conteúdo do campo de tour code.
A mensagem passa a mostrar o conteúdo original e o conteúdo em análise.

Local: Comercial > Processo Comercial (FV300PCV)

Este artigo ajudou você?