Histórico da Página
Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|
(Obrigatório)
Informações Gerais
Especificação | |||
Produto | RM | Módulo: EAI |
|
Segmento Executor |
| ||
Projeto1 | Framework BH - 004 | IRM1 |
|
Requisito1 | FRW_FRW002-160 | Subtarefa1 | FRW_FRW002-162 |
Chamado2 |
| ||
País | (X ) Brasil ( ) Argentina ( ) Mexico ( ) Chile ( ) Paraguai ( ) Equador ( ) USA ( ) Colombia ( ) Outro _____________. | ||
Outros | <Caso necessário informe outras referências que sejam pertinentes a esta especificação. Exemplo: links de outros documentos ou subtarefas relacionadas>. |
Legenda: 1 – Inovação 2 – Manutenção (Os demais campos devem ser preenchidos para ambos os processos).
(Obrigatório)
Objetivo
<Nesta etapa informar o objetivo da especificação do requisito, ou seja, o que a funcionalidade deve fazer. Exemplo: Permitir que o usuário defina o percentual mínimo em espécie (dinheiro), a referência mínima para calculo dos débitos do aluno e o período de validade do parâmetro de negociação>.
(Obrigatório)
Definição da Regra de Negócio
<Regra de negócio é o que define a forma de fazer o negócio, o processo definido e/ou as regras que devem ser contempladas. Devem ser descritas restrições, validações, condições e exceções do processo. Caso necessário, incluir neste capítulo também regras de integridade que devem ser observadas no momento do desenvolvimento>.
<Na tabela abaixo informe quais são as rotinas envolvidas, o tipo de operação, a opção de menu e se necessário uma breve descrição das regras de negócio relacionadas a rotina>.
Rotina | Tipo de Operação | Opção de Menu | Regras de Negócio |
[ACAA040 – Parâmetros] | [Alteração] | [Atualizações -> Acadêmico-> Tesouraria] | - |
[ACAA050 – Negociação Financeira] | [Envolvida] | [Atualizações -> Acadêmico-> Tesouraria] | - |
[ACAA060 – Cadastro de Pedidos] | [Criação] | [Atualizações -> Acadêmico-> Cadastros] | - |
Exemplo de Aplicação:
- Criar o campo “% Mínimo Espécie” (AAA_PERESP) onde o usuário informará o % que o aluno pagará em dinheiro. Esse % poderá ser alterado durante a negociação.
- Criar o campo “Referência Mínima para Cálculo” (AAA_REFCAL) onde o usuário informará um dos 4 valores disponíveis para pagamento das mensalidades como a referência mínima para calcular o débito total do aluno.
- Criar o parâmetro MV_ACPARNE que definirá se as informações de “% Mínimo Espécie” e “Referência Mínima para Cálculo” serão obrigatórias.
- O parâmetro MV_ACPARNE deve ter as seguintes opções: 1=Obrigatório e 2=Opcional. Deve ser inicializado como opcional>.
Tabelas Utilizadas
- SE2 – Cadastro de Contas a Pagar
- FI9 – Controle de Emissão de DARF>.
Opcional
Protótipo de Tela
<Caso necessário inclua protótipos de telas com o objetivo de facilitar o entendimento do requisito, apresentar conceitos e funcionalidades do software>.
Protótipo 01
Opcional
Fluxo do Processo
<Nesta etapa incluir representações gráficas que descrevam o problema a ser resolvido e o sistema a ser desenvolvido. Exemplo: Diagrama - Caso de Uso, Diagrama de Atividades, Diagrama de Classes, Diagrama de Entidade e Relacionamento e Diagrama de Sequência>.
Opcional
Dicionário de Dados
Arquivo ou Código do Script: AAA – Negociação Financeira / *Versao=CP.2014.12_03*/
Índice | Chave |
01 | <FI9_FILIAL+FI9_IDDARF+FI9_STATUS> |
02 | <FI9_FILIAL+FI9_FORNEC+ FI9_LOJA+FI9_EMISS+FI9_IDDARF> |
03 | <FI9_FILIAL+FI9_FORNEC+ FI9_LOJA+FI9_PREFIX+FI9_NUM+FI9_PARCEL+FI9_TIPO> |
Campo | <AAA_PERESP> |
Tipo | <N> |
Tamanho | <6> |
Valor Inicial | <Varia de acordo com o tipo informado. Por exemplo, quando o campo “tipo” for date, neste campo pode ser informado uma data>. |
Mandatório | Sim ( ) Não ( ) |
Descrição | <Referência Mínima para Cálculo> |
Título | <Ref.Calc.> |
Picture | <@E999.99> |
Help de Campo | <Informar o % que o aluno pagará em dinheiro. Esse % poderá ser alterado durante a negociação> |
(Opcional)
Grupo de Perguntas
<Informações utilizadas na linha Protheus>.
Nome: FINSRF2
X1_ORDEM | 01 |
X1_PERGUNT | Emissão De |
X1_TIPO | D |
X1_TAMANHO | 8 |
X1_GSC | G |
X1_VAR01 | MV_PAR01 |
X1_DEF01 | Comum |
X1_CNT01 | '01/01/08' |
X1_HELP | Data inicial do intervalo de emissões das guias de DARF a serem consideradas na seleção dos dados para o relatório |
(Opcional)
Consulta Padrão
<Informações utilizadas na linha Protheus>
Consulta: AMB
Descrição | Configurações de Planejamento |
Tipo | Consulta Padrão |
Tabela | “AMB” |
Índice | “Código” |
Campo | “Código”; ”Descrição” |
Retorno | AMB->AMB_CODIGO |
Objetivo
Efetuar a migração dos dados cadastrados nas tabelas de integração do EAI 1.0 para as tabelas do EAI 2.0.
Definições importantes
- É importante que um backup da base seja feito antes da execução desse processo;
Modelo de solução
Abaixo será descrito as regras de negócio do conversor.
1) - Localização
O assistente de conversor deve ser chamado do caminho abaixo:
Integração/Mensagem Única/Conversor EAI 2.0
Obs: Esse menu deve ser habilitado para o usuário no sistema de segurança do RM.
2) - Opções do assistente de conversão
a) - Tipo de execução
Converter para o EAI 2.0:
Efetuará a migração dos dados do EAI 1.0 para as tabelas do EAI 2.0.
Porém, o EAI 2.0 ficará travado até a execução desse processo com a opção "Liberar utilização do EAI 2.0".
Durante esse período, tanto o EAI 1.0 quanto o EAI 2.0 ficarão fora de operação.
Voltar para o EAI 1.0
Exclui todas as linhas geradas nas tabelas do EAI 2.0 e volta para o EAI 1.0.
Liberar utilização do EAI 2.0
Libera a utilização do EAI 2.0. A partir desse momento todas as mensagens recebidas e enviadas serão processadas pelo EI 2.0.
b) - Mensagens de conversão
Algumas mensagens aparecerão para o usuário nessa página do assistente.
O usuário deverá selecionar a opção "Continuar Conversão" para prosseguir com o processo.
c) - Integrações disponíveis
Todas as integrações, com exceção das integrações inativas, (cadastradas na tabela HCIntegracao) aparecerão na grid.
O usuário deverá selecionar uma ou várias integrações a serem convertidas para o novo modelo de EAI.
Informações |
---|
Opção "Atualiza informação de "Sourceapplication" dos aplicativos chamando a mensage Whois": Com essa opção marcada, o processo enviará uma mensagem de Whois para cada endereço de webServices cadastrado nas integrações selecionadas. O processo fará uma leitura na resposta dessa mensagem e buscará a informação de "SourceApplication". O valor desse atributo será usado para preencher o campo "SourceApplication" da tabela GEAIApp. Caso essa opção não seja marcada no processo de conversão, o valor para o campo "SOURCEAPPLICATION", disponível no cadastro de aplicativos, deve ser alterado manualmente após a conversão. |
Informações |
---|
Opção "Importa mensagens assíncronas": Com essa opção marcada, todas as mensagens assíncronas, que não foram processadas com sucesso, com menos de 5 (cinco) tentativas de processamento, serão migradas para a nova tabela de mensagens; |
Informações |
---|
Opção "Data Início das mensagens": Somente as mensagens assíncronas com data de inclusão maior que o informado serão migradas. |
3) - Mapeamento de informações (EAI 1.0 / 2.0)
Aplicativos
Tabela/Coluna EAI 1.0 | Tabela/Coluna EAI 2.0 | Regras |
GEAIAPP.ID | auto incremento | |
GEAIAPP.SOURCEAPPLICATION | O valor de SourceApplication será recuperado pela busca do atributo "SourceApplication" da resposta da mensagem de Whois. A mensagem de whois será enviada para cada endereço de webServices cadastrado nas integrações a serem convertidas. | |
HCINTEGRACAO.SISTEMAINTEGRADO | GEAIAPP.CODDPRODUTO |
|
GEAIAPP.NOME | Concatenação dos campos HCIntegracao.SISTEMAINTEGRADO + "-" + SOURCEAPPLICATION O valor de SourceApplication será recuperado pela busca do atributo "SourceApplication" da resposta da mensagem de Whois.
| |
GEAIAPP.DESCRICAO | Concatenação dos campos HCIntegracao.SISTEMAINTEGRADO + "-" + SOURCEAPPLICATION O valor de SourceApplication será recuperado pela busca do atributo "SourceApplication" da resposta da mensagem de Whois | |
HCINTEGRACAO.WSURL | GEAIAPP.URLWSDLEXTERNO
|
|
HCINTEGRACAO.WSUSUARIO | GEAIAPP.USRWSDLEXTERNO |
|
HCINTEGRACAO.WSSENHA | GEAIAPP.PASSWSDLEXTERNO | |
HCINTEGRACAO.RMCOLIGADAONPROTHEUS | GEAIAPP.RMCOLIGADAONPROTHEUS |
Informações |
---|
Não poderá existir mais de um aplicativo com o mesmo "SourceApplication" / "CodProduto". A partir de agora o RM poderá integrar com mais de um aplicativo "Protheus" desde que os mesmos possuem SourceApplications diferentes. |
Transação
Tabela/Coluna EAI 1.0 | Tabela/Coluna EAI 2.0 | Regras |
GEAITRANSACAO.ID | Auto incremento | |
HCTRANSFORMACAO.TRANSACTIONID | GEAITRANSACAO.TRANSACAO
|
|
HCTRANSFORMACAO.DESCRICAO | GEAITRANSACAO.DESCRICAO |
|
| GEAITRANSACAO.MODOSUPORTADO | 1 - Envio HCTRANSFORMACAO.XSLTSAIDA diferente de vazio HCTRANSFORMACAO.XSLTENTREDA vazio 2 - Recebimento HCTRANSFORMACAO.XSLTSAIDA vazio HCTRANSFORMACAO.XSLTENTREDA diferente de vazio 3 - Ambos HCTRANSFORMACAO.XSLTSAIDA diferente de vazio HCTRANSFORMACAO.XSLTENTREDA diferente de vazio |
GEAITRANSACAO.SYNCASYNCENVIO | Será gravado o valor "0 - Sincrono". No EAI 1.0 RM não deve existir mensagens assincronas, pois o mesmo não foi projetadopara enviar /receber esse tipo de mensagem. Somente mensagens com características de "falso assíncrono" que será detalhado nesse mesmo documento. | |
| GEAITRANSACAO.PERMITERECASYNC | Será gravado o valor "0 - Não permite" O EAI 1.0 não está preparado para envio/recebimento assíncrono |
GEAITRANSACAO.EXECVIAJOB | Esse campo definirá se as mensagens de envio (nas transações em questão) serão executadas via Job ou imediatamente na chamada do método. Esse campo foi criado para resolver a situação do "falso assíncrono". Algumas mensagens são enviadas para o EAI 1.0 com o tipo de entrega assíncrono. Porém, essas mensagens , no momento de execução pelo Job, são enviadas para outro aplicativo com o tipo entrega "sincrono". Abaixo serão listadas essas transações com esse comportamento: DEVICEEQUIPMENTAPPOINTMENT DEVICETASKSAPPOINTMENT DEVICETRANSPORTCYCLEAPPOINTMENT LABORDEVICETASKSAPPOINTMENT |
Transação / Versão
Tabela/Coluna EAI 1.0 | Tabela/Coluna EAI 2.0 | Regras |
HCMAPAINTEGRACAO.VERSAOMENSAGEM | GEAITRANSACAOVERSAO.VERSAO
|
|
HCMAPAINTEGRACAO.ENTIDADE | GEAITRANSACAOVERSAO.IDTRANSACAO | O campo identificação da transação será buscado da tabela GEAITransacao. |
|
|
Transação / Aplicativo (rotas)
Tabela/Coluna EAI 1.0 | Tabela/Coluna EAI 2.0 | Regras |
HCMAPAINTEGRACAO.IDINTEGRACAO HCINTEGRACAO.SISTEMAINTEGRADO | GEAITRANSACAOAPP.IDAPP
| O identificador do App será buscado da tabela GEAIApp. |
HCMAPAINTEGRACAO.ENTIDADE | GEAITRANSACAOAPP.IDTRANSACAO | O campo identificação da transação será buscado da tabela GEAITransacao. |
HCMAPAINTEGRACAO.VERSAOMENSAGEM | GEAITRANSACAOAPP.IDTRANSACAO | |
GEAITRANSACAOAPP.IDSOURCECODE | Identificador do código fonte (GSourceCode). | |
GEAITRANSACAOAPP.INCLUIMENSAGEMORIGINAL | Será gravado o valor 1. Por default, a mensagem original sempre será incluída na mensagem de resposta. | |
GEAITRANSACAOAPP.MODOHABILITADO | O valor será copiado da transação (GEAITRANSACAO.MODOSUPORTADO) | |
Informações |
---|
Não será permitido o mapeamento entre um aplicativo e uma transação em versões diferentes. Ex: A transação "COSTCENTER" poderá ser mapeada para o aplicativo "Protheus/Enviromment" somente na versão 1.000. |
Informações |
---|
Os códigos fontes cadastrados na tabela GSourceCode e mapeados na tabela "HCMapaTransacao.Extensions" não serão migrados para tabela GEAITransacaoApp.IdSourceCode. No EAI 2.0 esse campo será usado exclusivamente para armazenar códigos customizados feitos pelo cliente/customização. |
Informações |
---|
Ex: Transação mapeada para mais de um um aplicativo: O RM ao enviar uma mensagem dessa transação, a mesma poderá ser enviada somente em caso assíncrono. O RM ao receber uma mensagem, os atributos "SourceApplication" e "ProductCode" do xml TotvsMessage serão recuperados e usados para localizar o aplicativo correto. |
Pacote de instalação
Tabela/Coluna EAI 1.0 | Tabela/Coluna EAI 2.0 | Regras |
HCINTEGRACAO.NOMEINTEGRACAO | GEAIPACOTEINSTALADO.NOMEPACOTE
|
|
HCINTEGRACAO.NOMEREDUZIDO | GEAIPACOTEINSTALADO.NOMEREDUZIDO |
|
| GEAIPACOTEINSTALADO.ID | Novo Guid |
HCINTEGRACAO.SISTEMAINTEGRADO | GEAIPACOTEINSTALADO.APPID | O valor do campo "SistemaIntegrado" será usado para buscar o AppId da tabela GEAIApp. |
|
|
4) - Atualização das informações de DE/PARA
- A chave primária da tabela "HCINTEGRACAOID" foi removida;
- Foi criada nessa tabela a coluna "APPID" para armazenar o identificador do aplicativo responsável pela inclusão/atualização do De/Para;
- Ex: O centro de custo do RM 001, no protheus/Produção possuirá o externalId 1|001 e no Protheus/Homologação o externalId 0007.
- A coluna "SistemaIntegrado" dessa tabela não será mais usada. A mesma não será removida para questões de histórico.
- A coluna AppId será atualizada de acordo com o campo "SistemaIntegrado".
5) - Migração das mensagens assíncronas
- Todas as mensagens assíncronas, que não possuem execução com sucesso e com menso de 5 tentativas de execução serão migradas para a nova tabela de mensagens;
- Para cada uma dessas mensagens migradas, será criado um job responsável em executar essa mensagem em questão;
- Mensagens de envio "assíncronas" serão tratadas como "falso assíncrono"
Essas serão processas pelo Job (da mesma forma que uma mensagem assíncrona) porém serão enviadas para o aplicativo destino como uma mensagem síncrona; Sentença de seleção das mensagens:
Bloco de código select HCFILAMENSAGEM.UUID, HCFILAMENSAGEM.TIPOENTREGA, HCFILAMENSAGEM.NOMEPRODUTO, HCFILAMENSAGEM.ENTRADASAIDA, HCFILAMENSAGEM.EVENTOMENSAGEM, HCFILAMENSAGEM.TIPOMENSAGEM, HCFILAMENSAGEM.TRANSACTIONID, HCFILAMENSAGEM.STATUSPROCESSAMENTO,HCFILAMENSAGEM.VERSAOMENSAGEM, HCFILAMENSAGEM.DATAINCLUSAO, HCFILAMENSAGEM.MENSAGEMORIGINAL, HCFILAMENSAGEM.IDINTEGRACAO, HCFILAMENSAGEM.CODCOLIGADA, HCFILAMENSAGEM.CODFILIAL, HCFILAMENSAGEM.CODUSUARIO, HCINTEGRACAO.SISTEMAINTEGRADO from HCFILAMENSAGEM (nolock) INNER JOIN HCINTEGRACAO (NOLOCK) ON (HCFILAMENSAGEM.IDINTEGRACAO = HCINTEGRACAO.IDINTEGRACAO) where UUID not in (select HCFILAEXECUCAO.UUID from HCFILAEXECUCAO (nolock) where HCFILAMENSAGEM.UUID = HCFILAEXECUCAO.UUID and STATUSEXECUCAO = 1) and ((select count(HCFILAEXECUCAO.UUID) from HCFILAEXECUCAO (nolock) where HCFILAMENSAGEM.UUID = HCFILAEXECUCAO.UUID) <= 5) and TIPOENTREGA = 1 and HCINTEGRACAO.SISTEMAINTEGRADO = :sistemaintegrado and HCFILAMENSAGEM.DATAINCLUSAO >= :datainicio and HCFILAMENSAGEM.STATUSPROCESSAMENTO = 0 ORDER BY HCFILAMENSAGEM.DATAINCLUSAO
(Opcional)
Estrutura de Menu
<Informações utilizadas na linha Datasul>.
Procedimentos
Procedimento |
|
|
|
Descrição | (Max 40 posições) | (Max 40 posições) | (Max 40 posições) |
Módulo |
|
|
|
Programa base |
|
|
|
Nome Menu | (Max 32 posições) | (Max 32 posições) | (Max 32 posições) |
Interface | GUI/WEB/ChUI/Flex | GUI/WEB/ChUI/Flex | GUI/WEB/ChUI/Flex |
Registro padrão | Sim | Sim | Sim |
Visualiza Menu | Sim/Não | Sim/Não | Sim/Não |
Release de Liberação |
|
|
|
Programas
Programa |
|
|
|
Descrição | (Max 40 posições) | (Max 40 posições) | (Max 40 posições) |
Nome Externo |
|
|
|
Nome Menu/Programa | (Max 32 posições) | (Max 32 posições) | (Max 32 posições) |
Nome Verbalizado[1] | (Max 254 posições) | (Max 254 posições) | (Max 254 posições) |
Procedimento |
|
|
|
Template | (Verificar lista de opções no man01211) | (Verificar lista de opções no man01211) | (Verificar lista de opções no man01211) |
Tipo[2] | Consulta/Manutenção/ Relatório/Tarefas | Consulta/Manutenção/ Relatório/Tarefas | Consulta/Manutenção/ Relatório/Tarefas |
Interface | GUI/WEB/ChUI/Flex | GUI/WEB/ChUI/Flex | GUI/WEB/ChUI/Flex |
Categoria[3] |
|
|
|
Executa via RPC | Sim/Não | Sim/Não | Sim/Não |
Registro padrão | Sim | Sim | Sim |
Outro Produto | Não | Não | Não |
Visualiza Menu | Sim/Não | Sim/Não | Sim/Não |
Query on-line | Sim/Não | Sim/Não | Sim/Não |
Log Exec. | Sim/Não | Sim/Não | Sim/Não |
Rotina (EMS) |
|
|
|
Sub-Rotina (EMS) |
|
|
|
Localização dentro da Sub Rotina (EMS) |
|
|
|
Compact[4] | Sim/Não | Sim/Não | Sim/Não |
Home[5] | Sim/Não | Sim/Não | Sim/Não |
Posição do Portlet[6] | 0 – Top Left 1 – Top Right 2 – Bottom Left 3 – Bottom Right | 0 – Top Left 1 – Top Right 2 – Bottom Left 3 – Bottom Right | 0 – Top Left 1 – Top Right 2 – Bottom Left 3 – Bottom Right |
Informar os papeis com os quais o programa deve ser vinculado |
|
|
|
Cadastro de Papéis
<O cadastro de papéis é obrigatório para os projetos de desenvolvimento FLEX a partir do Datasul 10>.
<Lembrete: o nome dos papeis em inglês descrito neste ponto do documento, devem ser homologados pela equipe de tradução>.
Código Papel | (máx 3 posições) |
Descrição em Português* |
|
Descrição em Inglês* |
|
[1] Nome Verbalizado é obrigatório para desenvolvimentos no Datasul 10 em diante.
[2] Tipo é obrigatório para desenvolvimento no Datasul 10 em diante
[3] Categorias são obrigatórias para os programas FLEX.
[4] Obrigatório quando o projeto for FLEX
[5] Obrigatório quando o projeto for FLEX
[6] Obrigatório quando o projeto for FLEX