Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

 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

FRAMEWORK

Módulo:

EAI

Segmento Executor

 

Projeto1

R_FRW_FRW002

IRM

PCREQ-9646

Requisito1

PCREQ-9648

Subtarefa:

PDR_FRW_FRW002-52

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>.

Objetivo:

Melhorar as mensagens de erros do EAI e propor um mecanismo de geração e gravação de logs de execução de mensagens do EAI. 

 

Definição da Regra de Negócio

Escrita em log:

A gravação dos logs do EAI seguirá o modelo de SysLogs da Lib da Rm.

Informações do processo:

A atividade de fórmula visual e os métodos de envio de mensagens do EAI foram evoluídos para aceitar informações do processo atarvés dos campos (Id.Processo e Info.Processo).

Essas informações serão gravadas na tabela de monitor (HCMonitor). Isso facilitará o agrupamento e rastreabilidade das mensagens geradas.


 

Informações de log

Serão listados abaixo todos os logs disponibilizados no processo do EAI bem como sua localização.

Informações

A coluna "Todas as marcas" indicará se o log deve ou não ser implementado nos EAIs das outras marcas.

 

a) - Recebimento de mensagens:

Localização

Mensagem

Tipo de menagem

(E) - Erro

A - (Aviso)

I - (Informação)

Todas as marcas

Inclusão Fila

INÍCIO DO PROCESSO DE SALVAR MENSAGEM DE RECEBIMENTO NA FILA

I

Sim

Inclusão Fila

Xml recebido é válido

I

Sim

Inclusão Fila

Xml recebido não é válido

E

Sim

Inclusão FilaInformação das integrações recuperadasISim
Inclusão FilaId da integração recuperadaINão
Inclusão FilaNão foi possível localizar nenhuma integração + Erro técnicoESim
Inclusão FilaNão foi encontrado nenhuma entidade mapeada + Erro técnicoENão
Inclusão FilaMaoa de integração carregadoINão
Inclusão FilaErro ao carregar mapa de integraçãoENão
Inclusão FilaXSLT de entrada está vazioENão
Inclusão FilaRecebimento de mensagem assincronaISim
Inclusão FilaEvento CanSaveQueue será executadoINão
Inclusão FilaMensagem gravada na filaISim
Inclusão FilaErro ao salvar mensagem na fila + Erro técnicoESim
Inclusão FilaFim do processo de salvar mensagem de recebimento na filaISim
Execução mensagem Início do processo de execução da mensagem de recebimentoSim 
Execução mensagemMensagem recuperada da filaISim
Carga de informaçõesNão foi encontrado nenhuma entidade mapeada + Erro técnicoENão
Carga de informaçõesMapa de integração carregadoINão
Carga de informaçõesErro ao carregar mapa da integraçãoENão
Carga de informaçõesEvento CanExecuteQueue executadoINão
Carga de informaçõesEntidade não mapeadaENão
Carga de informaçõesXSLT de entrada vazioENão
Preparação de contextoPreparação de contextoINão
Preparação de contextoColigada e filial recuperadosINão
Preparação de contextoAlterando código de todas as coligadas e filiais encontradasINão
Preparação da execuçãoEvento BeforeExecuteHandle será executadoINão
Preparação da execuçãoInício da execução do manipulador (handle)!INão
Preparação da execuçãoManipulador (Handle) de 'DataServer' definido!INão
Preparação da execuçãoManipulador (Handle) de 'Process' definido!INão
Preparação da execuçãoManipulador (Handle) de 'Module' definido!INão
Preparação da execuçãoManipulador (Handle) de 'CustomHandle' definido!INão
Preparação da execuçãoContexto da RM (RMSContext) criado:INão
Preparação da execuçãoInicio do processo de transformação via xslt!INão
Preparação da execuçãoEvento BeforeTransformReceive será executado!INão
Preparação da execuçãoEvento BeforeTransformReceive será executado!INão
Preparação da execuçãoEvento AfterTransformReceive será executado!INão'
Preparação da execuçãoEvento AfterTransformDataSet será executado!INão
Preparação da execuçãoFim do processo de transformaçaõ via xsltINão
Preparação da execuçãoDataSet vazioENão
Execução de dataServerInício da execução do manipulador de Dataserver!INão
Execução de dataServerExecutando dataServer:", "Nome do dataServerINão
Execução de dataServerEvento BeforeSave será executado!INão
Execução de dataServerSchema do dataServer recuperado!INão
Execução de dataServerInício da recuperação dos valores da chave primáriaINão
Execução de dataServerValor Chave primária: Serão listados os valores da chave primáriaINão
Execução de dataServerFim da recuperação dos valores da chave primáriaINão
Execução de dataServerPreechimento dos relacionamentos!INão
Execução de dataServerLinha principal do dataSet em estado de exclusão!INão
Execução de dataServerLinha principal do dataSet em estado de alteração!INão
Execução de dataServerLinha principal do dataSet em estado de inclusão!INão
Execução de dataServerMétodo 'SaveRecord' do dataServer executado:INão
Atualização De/ParaAtualizando De/Para da tabelaISim
Atualização De/ParaA coluna 'INTERNALID' não existe no dataSet a ser enviado para o DataServer. O De/Para não será atualizado!ANão
Atualização De/ParaNão existe chave primária na tabela. O De/Para não será atualizado!ANão
Atualização De/ParaInformações do De/Para a ser gravado: Serão listados os dados do de/paraISim
Atualização De/ParaInformações do De/Para serão excluídasISim
Atualização De/ParaErro ao atualizar De/ParaESim
Execução de dataServerEvento AfterSave será executadoINão
Execução de dataServerFim da execução do manipulador de Dataserver!INão
Execução de processServerInício da execução do manipulador de processINão
Execução de processServerEvento BeforeExecute será executadoINão
Execução de processServerFim da execução do manipulador de processINão
Execução de processServeEvento AfterExecute será executadoINão
Execução de móduleInício da execução do manipulador de moduleINão
Execução de móduleEvento BeforeExecuteMethod será executadoINão
Execução de móduleEvento AfterExecuteMethod será executadoINão
Execução de móduleFim da execução do manipulador de module!INão
Após ExecuçãoErro ao executar manipulador (handle)ENão
Construção da respostaInício da recuperação do xml de respostaINão
Construção da respostaEvento CreateResponse será executadoI'Não
Construção da respostaInício da construção da tag ReturnContent do dataServer!INão
Construção da respostaInformações do internalId.[Serão listados os dados dos internalsIds]ISim
Construção da respostaFim da construção da tag ReturnContent do dataServerINão
Construção da respostaFim da recuperação do xml de respostaISim
Após execuçãoFim da execução do manipulador (handle)INão
Após execuçãoEvento AfterExecuteHandle será executado!INão
Após execuçãoInformações de execução da mensagem foram gravadas na filaINão
Após execuçãoInformações de execução da mensagem. Serão listados os dados de status da execuçãoISim
Após execuçãoFIM DO PROCESSO DE EXECUÇÃO DA MENSAGEM DE RECEBIMENTO!ISim
Construção da respostaA resposta da execução do WebServices foi bem sucedida!ISim
 Erro ao realizar parser da resposta da mensagem (ResponseMessage):ESim
 Informações retornadas na resposta da mensagem:[Serão listadas as informações retornas de InternalId]ISim
    

 

 

b) - Envio de mensagens:

Localização

Mensagem

Tipo de menagem

(E) - Erro

A - (Aviso)

I - (Informação)

Todas as marcas

Inclusão Fila

INÍCIO DO PROCESSO DE SALVAR MENSAGEM DE ENVIO NA FILA

I

Sim

InclusãoFilaRecuperação das integraçõesISim
InclusãoFilaMensagem não foi gravada na fila, pois não existe integração mapeada!ISim
InclusãoFilaEntidade não foi mapeadaENão
InclusãoFilaMapa de integração carregado.INão
InclusãoFilaErro ao carregar mapa de integraçãoENão
InclusãoFilaExecutando mensagem da integração. [Serão listados os dados da integração]INão
InclusãoFilaEvento CanSaveQueue será executado!ENão
InclusãoFilaMensagem gravada na filaISim
InclusãoFilaErro ao salvar mensagem na filaESim
InclusãoFilaDados da mensagem gravada. [Serão listados os dados da mensgem gravada na fila]ISim
InclusãoFilaFIM DO PROCESSO DE SALVAR MENSAGEM DE ENVIO NA FILAISim
Execução mensagemINICIO DO PROCESSO DE EXECUÇÃO DA MENSAGEM DE ENVIO NA FILA!ISim
Execução mensagemMensagem recuperada da fila!ISim
Execução mensagemExecução da mensagem de forma sincrona!ISim
Execução mensagemExecução da mensagem de forma assincrona!ISim
Carga InformaçõesEntidade não mapeadaENão
Carga InformaçõesMapa de integração carregado.INão
Carga InformaçõesErro na carga de informaçõesENão
Carga InformaçõesEvento CanExecuteQueue será executado!INão
Preparação contextoColigada não foi encontrada no dataSet enviado pelo produto!ANão
Preparação contextoFilial não foi encontrada no dataSet enviado pelo produto!ANão
Preparação contextoColigada e filial recuperadosINão
Preparação contextoInício da execução do manipulador (handle)INão
Preparação contextoInicio do processo de transformação via xslt!INão'
Preparação contextoEvento BeforeTransformSend será executado!INão
Preparação contextoEvento AfterTransformSend será executado!INão
Preparação contextoFim do processo de transformação via xslt!INão
Execução WebServicesInício da execução do manipulador de WebServices!INão
Execução WebServicesEvento BeforeSendWebService será executado!INão
Execução WebServicesInicio da execução do webServices!INão
Execução WebServicesObjeto wsdl não gerado!ENão
Execução WebServicesInformações do assemblyProxy não encontradas!ENão
Execução WebServicesProxy não recuperado!ENão
Execução WebServicesFim da execução do webServices!ISim
Execução WebServicesEvento AfterSendWebService será executado!INão 
Execução WebServicesErro ao executar manipulador (handle):ENão
Construção da respostaA resposta da execução do WebServices foi bem sucedida!ISim
Construção da respostaErro ao realizar parser da resposta da mensagem (ResponseMessage):ESim
Construção da respostaInformações retornadas na resposta da mensagem:[Serão listadas as informações retornas de InternalId]ISim
De/ParaInício do processo de salvar De/para!ISim
De/ParaAtributo 'ListOfInternalId' retornado no conteúdo da resposa da mensagem!ISim
De/ParaInformações do De/Para a ser gravado:[Serão listados dados do De/para]ISim
De/ParaTabela não existente no dataSet original da mensagem:ANão
De/ParaDe/para não atualizado. Indentificador do internalId não localizado na lista!ANão
De/ParaDe/Para excluído com sucesso!ISim
De/ParaExclusão de De/Para não retornou nenhum valor!ASim
De/ParaNão foi possível encontrar valores no de/para para exclusão!ASim
De/ParaValor do 'internalId' não foi encontrado!ANão
De/ParaCampo 'InternalId' não foi encontrado no dataSet de transformação!ANão
De/ParaCampos chaves do De/Para não foram informados!ANão
De/ParaNão foi encontrada a tabela no dataSet originalANão
De/ParaTabela não encontrada no dataSet original:ANão
De/ParaDe/para não atualizado. Atributo 'ListOfInternalId' não retornado no conteúdo da resposa da mensagem!ISim
De/ParaConteúdo da mensagem (ReturnContent) não retornado na resposta da mensagem. De/para não atualizado.ASim
De/ParaFim do processo de salvar De/para!ISim
    

 


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

Scripts:

CREATE TABLE HCMONITOR -- Monitor do EAI
(
ID VARCHAR(255) NOT NULL,--Identificador do nonitor
IDPROCESSO VARCHAR(100) NULL, --Identicador do processo
PROCESSINFO TEXT NULL,--Informações do processo
RECCREATEDBY VARCHAR(50) NULL,
RECCREATEDON DATETIME NULL,
RECMODIFIEDBY VARCHAR(50) NULL,
RECMODIFIEDON DATETIME NULL,
)

ALTER TABLE HCMONITOR
ADD CONSTRAINT PK_HCMONITOR PRIMARY KEY (ID)

CREATE TABLE HCLOGMENSAGEM -- Log de mensagens.
(
UUID VARCHAR(255) NOT NULL,--Identificador do log
SEQUENCIAL INT NOT NULL,--Número sequencial
DATAMENSAGEM DATETIME NULL, --Data de inclusão da mensagem.
TIPOLOG INT NULL, --Tipo do log [error, warning, info, danger]
INFOLOG TEXT NULL,--Informações de Log do monitor
RECCREATEDBY VARCHAR(50) NULL,
RECCREATEDON DATETIME NULL,
RECMODIFIEDBY VARCHAR(50) NULL,
RECMODIFIEDON DATETIME NULL,
)

ALTER TABLE HCLOGMENSAGEM
ADD CONSTRAINT PK_HCLOGMENSAGEM PRIMARY KEY(UUID, SEQUENCIAL)

ALTER TABLE HCLOGMENSAGEM
ADD CONSTRAINT FK_HCLOGMENSAGEM_HCFILAMENSAGEM FOREIGN KEY(UUID)
REFERENCES HCFILAMENSAGEM (UUID)

 

--ALTERAÇÕES NA TABELA DE FILA DE MENSAGEM
ALTER TABLE HCFILAMENSAGEM
ADD MONITORID VARCHAR(255) NULL --Identificador do monitor.

ALTER TABLE HCFILAMENSAGEM
ADD CONSTRAINT FK_HCFILAMENSAGEM_HCMONITOR FOREIGN KEY (MONITORID)
REFERENCES HCMONITOR(ID)

ALTER TABLE HCFILAMENSAGEM
ADD STATUSMENSAGEM INT NULL --Status da mensagem.

 

 


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

 

(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

 Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico.