Árvore de páginas

 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

DATASUL

Módulo

Controle Produção

Segmento Executor

 

Projeto1

MANCORE1

EPIC1

MANCORE1-1034

STORY1

MANCORE1-1035

Subtarefa1

 

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

Objetivo

 

Quando uma mensagem recebida pelo ERP Datasul, demora mais que o parametrizado no PC-Factory, como este último não recebeu retorno ainda, torna a enviar a mesma mensagem. Nesta situação, o ERP não consegue devolver a informação de que a primeira já foi processada, e processa também a segunda.

Assim é necessário controlar o número da mensagem que já entrou e ERP para processar, para caso o mesmo número seja novamente enviado pelo PC-Factory, o ERP avise.

 

Definição da Regra de Negócio

Para controlar o número da mensagem será usado a tag "key":

<key name="IDPCFactory"></key>

 

Quando entrar na função "MesWebService", antes de fazer a chamada dos adapters(ProductionAppointment.;StopReport;MovementsInternal;TransferWarehouse;StopReason;WasteReason), verificar se a mensagem já está gravada na tabela <control-proces-integr> utilizando o campo <cod-id-mes>.

Caso não exista, criar o registro na tabela e prosseguir na execução dos adapters. No retorno do adapter alterar o campo <id-status> na tabela (também guardar no campo <dsl-msg> as informações do returno e caso tenha dado erro, também a mensagem de erro).

Caso exista o "key" no ERP, será verificado qual seu estado atual para devolver ao PC-Factory, e não dando continuidade a execução dos adapters retornando:

  • Quando ID já processado e contêm ERRO

Vamos retornar o ID PC-Factory na tag  <UUID>

Na tag  Message type="ERROR" code="2", vamos usar o 2 para indicar erro.

A mensagem será : ID xxxx já processado.  Status: mensagem de erro”

Exemplo:

<ResponseMessage>

   <ReceivedMessage>

      <SentBy>PPI</SentBy>

      <UUID>8858</UUID>

   </ReceivedMessage>

   <ProcessingInformation>

      <ProcessedOn>2016-08-10T16:12:15</ProcessedOn>

      <Status>ERROR</Status>

      <ListOfMessages>

         <Message type="ERROR" code="2">ID 8858 já processado. Status: HELP: Não existe registro relacionado a este código. | -- Invalido|</Message>

      </ListOfMessages>

   </ProcessingInformation>

</ResponseMessage>

 

  • Quando ID já processado com sucesso

Vamos retornar o ID PC-Factory na tag  <UUID>

Na tag  Message type="ERROR" code="3", vamos usar o 3 para indicar o processamento com sucesso.

A mensagem será : ID xxxx já processado.  Status: ID do ERP” .

Exemplo:

<ResponseMessage>

   <ReceivedMessage>

      <SentBy>PPI</SentBy>

      <UUID>8859</UUID>

   </ReceivedMessage>

   <ProcessingInformation>

      <ProcessedOn>2016-08-10T16:12:15</ProcessedOn>

      <Status>ERROR</Status>

      <ListOfMessages>

         <Message type=" ERROR " code="3">ID 8859 já processado. Status: 2162</Message>

      </ListOfMessages>

   </ProcessingInformation>

</ResponseMessage>

 

  • Quando ID já está na base mas em processamento

Vamos retornar o ID PC-Factory na tag  <UUID>

Na tag  Message type="ERROR" code="4", vamos usar o 4 para indicar que está em processamento.

A mensagem será : ID xxxx está sendo processo pelo ERP.

Exemplo:

-- NÃO TERMINOU DE PROCESSAR

<ResponseMessage>

   <ReceivedMessage>

      <SentBy>PPI</SentBy>

      <UUID>8860</UUID>

   </ReceivedMessage>

   <ProcessingInformation>

      <ProcessedOn>2016-08-10T16:12:15</ProcessedOn>

      <Status>ERROR</Status>

      <ListOfMessages>

         <Message type=" ERROR " code="4">ID 8860 está sendo processado pelo ERP.</Message>

      </ListOfMessages>

   </ProcessingInformation>

</ResponseMessage>

 

Rotina

Tipo de Operação

Opção de Menu

Regras de Negócio

MesWebService

[Alteração]

-

-

 

 

 

-

 

 

 

-

 

 


 

 

Opcional

Fluxo do Processo

 

Alterar a função fchman\MesWebService.p para que desça até o BusinessEvent para procurar o key name="IDPCfactory".

<BusinessMessage>
   <BusinessEvent>
       <Entity>Entity</Entity>
       <Event>upsert</Event>
       <Identification>
       <key name="IDPCfactory">991203884key</key>
       </Identification>
</BusinessEvent>

Dicionário de Dados

 

Tabela: control-proces-integr - Controle de processamento do TOTVSMES

  

Índice

Chave

01

cntrlprc_id2

02

 

03

 

Campo

cod-id-mes

nom-trans-mesidi-statusdsl-msg

Tipo

Caracter

caractercaractercaracter

Tamanho

250

25012000

Valor Inicial

 

 4 

Mandatório

Sim (x ) Não (  )

Sim (x ) Não (  )Sim (x ) Não (  )Sim ( ) Não ( x )

Descrição

Identificação única da mensagem XML trafegada

Identifica o nome da transação(adapter)Situação em que se encontra a mensagemMensagem retornada do processamento no ERP.

Título

Identificador Integração

Nome TransaçãoStatusMensagem Processamento

Picture

 

   

Help de Campo

Identificação única da mensagem XML trafegada

 
Identifica o nome da transação(adapter)

2-Quando ID já processado e contêm ERRO

3-Quando ID já processado com sucesso

4-Quando ID já está na base mas em processamento

Mensagem de processamento retornada a partir do ERP.

 

 

 

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