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 |
| TSS TOTVS Service SOA |
|
Segmento Executor |
| ||
Projeto1 |
| IRM1 |
|
Requisito1 |
| Subtarefa1 |
|
Chamado2 |
| ||
Release de Entrega Planejada |
| Réplica |
|
País | ( X) Brasil ( X) Argentina (X ) Mexico (X ) Chile ( X) Paraguai ( X ) Equador ( X) USA ( X ) 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
Definir a implementação do método GetAdmEmpresas da DLL
(Obrigatório)
Definição da Regra de Negócio
Deverá ser retirado todo o processamento do método. O método deverá conter apenas com a validação dos parâmetros específicos do método, a chamada para a função TSSProcRequest(). A estrutura deverá estar da seguinte forma:de processamento e a validação do retorno do processamento. O método deverá estar estruturado para funcionar tanto para DLL quanto para o TSS. Neste caso basta criar uma diretiva de compilação para decidir qual chamada de função será compilada.
WSMETHOD GetAdmEmpresas WSRECEIVE USERTOKEN,CNPJ,CPF,IE,UF,IDEMPRESA WSSEND Empresas WSSERVICE SPEDADM
local
cSoapFaultlRetorno :=
""local cJSON.T.
private oJSON :=
""local cJSONRetnil
private oJSONRet :=
local lRetorno := .T.
/*Realizar Validações dos parâmetros da requisição, e retornar Soapfault em caso de falha*/
// Montar a mensagem JSON da requisição de acordo com os parâmetros do método
cJSON := getParamJSON("nome do servico", "nome do metodo")
//Enviar a requisição para processamento
if( !empty(cJSON) )
cJSONRet := DLLProcRequest( cJSON, @cSoapFault) // Processa a requisição
if(!empty(cJSONRet))
FWJsonDeSerialize(cMsgRet, @self:Monitor) // Monta o objeto de retorno da requisição
endif
endif
if(empty(cJSONRet))
soapFault() // "Internal Error. Falha na execução do método"
lRetorno := .F.
endif
nil
//VALIDAÇOES DO METODO.................
fwJsonDeserialize( getWSJsonRequest() , @oJSON)
if( type("oJSON") <> "U")
//Define o processo de acordo com a chamada: DLL ou Web Service
#IFDEF PROCDLL
fwJsonDeSerialize( DLLProcRequest( oJSON ), @oJSONRet)
#ELSE
fwJsonDeSerialize( TSSProcRequest( oJSON ), @oJSONRet)
#ENDIF
if( type("oJSONRet") == "U" .or. oJSONRet:result == "false" )
lRetorno := .F.
setSoapfault( STR0001, if( type("oJSONRet:error") <> "U", oJSONRet:error, getJSONError() ) )
else
self:NFeOk := oJSONRet:send
endif
else
lRetorno := .F.
setSoapfault( STR0001, getJSONError() )
endif
return finishSped(lRetorno)Return lRetorno
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>.
Opcional
Fluxo do Processo
1. FluxoPrincipal:
1.1. Valida parâmetros específicos do método
1.2. Dados inválido[2.1]
1.3. Monta mensagem JSON padrão de requisição para o TSS Cloud
1.4. Verifica se houve erro na montagem dos parâmetros
1.5. Falha na montagem da requisição[2.1]
1.6. Envia requisição para processamento
1.7. Verifica se a requisição foi processada
1.8. Falha na execução da requisição[2.1]
1.9. Prepara retorno do método
2. Fluxo Secundário
2.1. Falha na validação
2.1.1. Retorna String Soap Fault.
Opcional
Dicionário de Dados
(Opcional)
Grupo de Perguntas
<Informações utilizadas na linha Protheus>.
(Opcional)
Consulta Padrão
<Informações utilizadas na linha Protheus>
(Opcional)
Estrutura de Menu
<Informações utilizadas na linha Datasul>.
Procedimentos
Programas
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>.
[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. |
---|