Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.
Comentário: Migration of unmigrated content due to installation of a new plugin

 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

TSS

Módulo

TSS

Segmento Executor

SERVIÇOS

Projeto1

M_SER_TSS0002

IRM1

PCREQ-8234

Requisito1

PCREQ-8235

Subtarefa1

 

Release de Entrega planejada

12.1.1213

País

(  X ) Brasil  (  ) Argentina  (  ) Mexico  México  (  ) Chile  (  ) Paraguai  (  ) Equador

(  ) USA  (  ) Colombia   Colômbia   (  ) 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

 

Disponibilizar um Client para envio das mensagens para o TSS ONLINE

(Obrigatório)

Definição da Regra de Negócio

 

 A Função DLLCLoudRequest será a interface para a funcionalidade responsável pela comunicação do TSS OFFLINE com e o TSS ONLINE.A comunicação , e também ERP com TSS ONLINE será realizada utilizando o modelo REST. o envio poderá ser realizado via HTTPPOST ou HTTPSPOST. A função deverá ser dedinida da seguinte forma:

Montagem do cabeçalho HTTP:
De acordo com a função HTTPPOST, as informações de cabeçalho da mensagem devem ser informadas através de um array. O cabeçalho deverá ser composto pelas seguintes infromações:
User-Agent: TSSOFFLINE/1.0 (compatible; Protheus + getBuild()
Content-Type: apllication/json
URL de transmissão:

A montagem da URL deverá ser composta da seguinte forma:

host + port/cloudservice/TSSProcManger.apw

As informações do Host e port deverá ser obtidos do cadastro de parâmetros do TSS SPED000 através das seguintes chaves:

Host: MV_HOST

Port: MV_PORT

Identificação do método da requisição
A função será será responsável pelo controle das consultas de retorno das mensagens enviadas para fila do TSS ONLINE. para realizar o controle de intervalos de execução das consultas, a rotina deverá obter através da função ER_PCREQ_8235_DLLCLOUDREQUEST, o tempo médio de retorno de processamento da requisição. As requisições de consultas serão definidas com o  Tipo "2" 
Identificação do Uso de conexão Segura(SSL)
A identificação do uso do protocolo SSL deverá ser realizada através  do parâmetro SSL que deverá ser definido no Environment do arquivo de configuração do appserver.
 Envio da Requisição para o TSS ONLINE
Caso o server esteja configurado para utilizar conexão segura, o envio da requisição será realizado através a função HttpsPost(), caso contrario será realizada através da função HttpPost()
  • Tratamento de retorno do Envio
    O retorno da função DllCLoudRequest será um valor lógico indicando se a requisição foi enviada para o TSS ONLINE e se houve um retorno válido pelo TSS ONLINE. A definição do retorno deverá ser realizado da seguinte forma:
     
     

     

     
    Condiçãoreferencia do ErroReferencia do objeto de retornoRetorno
    Falha de PostFalha de comunicacao com o TSS Cloudnil.F.
    Tempo excedido no PostConnection Timeoutnil.F.
    Falha na Deserialização do retornoInvalid Return + String de retornonil.F.
    Retorno de Soap faul do TSS ONLINEoCloudResponse:send:errornil.F.
    Retorno valido do TSS ONLINEvazio( " ")oCloudResponse:send:msg.T.
     

     

  •  

     

     

     

     

    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

     

     

     Image Removed

     

     

     

     

     

     

    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

     

    sem utilização do serviço do TSS OFFLINE. Esta funcionalidade realizará o envio das requisições e a consulta das mesmas. 

    Definição da Regra de Negócio

    A funcionalidade deverá configurar algumas informações:

    • Comunicação entre TSS OFFLINE e TSS ONLINE.

     

    1.Realizar a montagem da String de parâmetros, do tipo POST, que serão enviados para o TSS ONLINE. Deverá ser montada da seguinte forma:
    MSG = Requisição. 

    Observação: Onde conter o carácter “+” substituir por “%2B” nas requisições.

    Buscar no arquivo .INI as configurações ONLINEURL e ONLINEPORT da seção TSSOFFLINE e armazenar estas informações em variáveis globais. Caso não encontre a configuração, buscar dos parâmetros MV_SRVCONN e MV_PRTCONN. Essas configurações serão responsáveis por informar a URL e a PORTA do TSS ONLINE.

    Com os dados da URL definida, concatenar com o “/tssonline/TSSProcmanager.apw” ou “/cloudservice/TSSProcmanager.apw”, respectivamente. Assim definir o endereço HTTP para realização do POST da mensagem.

    2.Utilizar a configuração WSCONTYPE=1 da seção TSSOFFLINE do arquivo APPSERVER.INI, para a comunicação que será realizado através da função HttpsPost
    1 = habilitado
    0 = desabilitado

    Caso seja uma comunicação segura, deverá informar o caminho e o arquivo do certificado de comunicação nos parâmetros:

    MV_HTTPS1: Certificado
    MV_HTTPS2: Chave de segurança
    MV_HTTPS3: Senha

     

    • Comunicação entre ERP e TSS ONLINE, sem utilização do serviço TSS OFFLINE.

    Como a comunicação se dá entre o ERP e o TSS ONLINE, seria somente realizar a chamada da função TSSProcmanager().

    Para ambas comunicações, deverá existir dois tipos de requisição, onde:

     1. seria requisições de remessa de processamento;

    2. seria a requisições de envio de consulta do ticket.

    O processo de envio será realizado enquanto não obter erro e não exceder o tempo de processo. O tratamento do retorno da comunicação quando for nulo deverá apresentar a mensagem “Falha de comunicação com o TSS.”, se não for possível a serialização deverá apresentar a mensagem “Invalid Return: Mensagem de erro”, se o tempo exceder deverá apresentar a mensagem “Conection Timeout" e se houve validação do TSS ONLINE apresentará a mensagem de validação, devendo retornar nulo e falso, caso contrário informará o retorno do processamento.

    O controle de timeout será realizado somente para o tipo de requisição “2”, ou seja, somente na realização da consulta do ticket da mensagem. Ocorrerá timeout caso o tempo da consulta for maior que 30 segundos.

    O intervalo de consultas de ticket baseará de acordo com o método executado, para cada método será armazenado seu tempo de consulta em uma variável global. A cada tentativa de consulta será incrementado 250 milésimos de segundos de espera.

    A métrica do tempo de consulta do processo, caso houver mais de uma tentativa de consulta, será o tempo de processamento registrado na última execução do processo.

    Na primeira vez que executar o método, o tempo de espera será 250 milésimos de segundo, assim quando for na segunda execução do método será o número de tentativas vezes 100 milésimos. A partir deste ponto o processo deverá seguir o tempo estimado para o processo em questão.

     

    Âncora
    TSSPostQueueMessage()
    TSSPostQueueMessage()

    Função: TSSPostQueueMessage()

    Função responsável pelo envio da requisição para o TSS ONLINE.

    Parâmetros:

    cCloudRequest - Mensagem Json.

    oWSResponse - Objeto de retorno do envio.

    cError - Mensagem de error.

    nStatus - Status do envio.

    cCodProc -  Código do processo.

    cTypeRequest - Tipo de requisição (1 - envio ou 2 – consulta de ticket)

    Retorno:

    lRet - Status de Operação.

     

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