Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|
Especificação | |||
Produto | TOTVS | Módulo | EAI |
Segmento Executor | Framework | ||
Projeto1 | FRWJOI01 | IRM1 | Evolução EAI |
Requisito1 | FRWJOI01-3 | Subtarefa1 | FRWJOI01-84 |
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).
Descrever os serviços WEB que devem ser disponibilizados pelos produtos TOTVS para monitoramento do EAI (status do serviço, mensagens e configurações).
Os serviços de monitoramento de EAI disponibilizados pelos produtos deverão atender os seguintes pré-requisitos:
Todas as linhas de produto deverão definir uma URL base, a partir da qual os serviços REST do monitor de EAI serão disponibilizados. Todos os caminhos descritos neste documento serão relativos a esta URL base.
As URLs dos serviços - por exemplo, /totvseai/monitor/v1/admin - são compostas pelos seguintes elementos:
Os retornos dos serviços REST devem estar encapsulados dentro de um objeto JSON com a seguinte especificação:
Bloco de código | ||
---|---|---|
| ||
{ “messages” : [ { ... }, { ... }, ... ], “length” : 999, “data” : [{ ... }] } |
Conteúdos de negócio, listas, dados e objetos devem estar contidos dentro do atributo data. O atributo length especifica o tamanho da lista ou a quantidade de dados contida no atributo data; No caso das listas, o atributo length, quando aplicável, contém a quantidade total de itens correspondentes aos parâmetros de pesquisa, e não apenas os que estão contidos no retorno, o que é comum quando há paginação de dados. O atributo messages contém uma lista de mensagens para exibir ao usuário (mensagens de erro ou de negócio). Cada elemento do array será um objeto que obedece a seguinte estrutura:
Bloco de código | ||
---|---|---|
| ||
{ “code” : “string”, “type” : “danger|error|warning|info|success”, “detail” : “string” } |
O atributo code representa o código da mensagem. Caso a mensagem possua um detalhamento técnico, este deve constar no atributo detail. O atributo type identifica o tipo de mensagem a ser exibida ao usuário: danger (perigo), error (erro), warning (aviso), info (informação) ou success (sucesso).
Os serviços de monitoramento que serão descritos a seguir estão divididos nas seguintes categorias:
Na descrição de cada serviço podemos encontrar os seguintes elementos:
Âncora | ||||
---|---|---|---|---|
|
GET /totvseai/monitor/v1/admin/context
Recebe | Não recebe parâmetros |
Retorna | Application/JSON |
O método /totvseai/monitor/v1/admin/context é utilizado para obter informações de contexto de EAI do aplicativo, seja ele interno ou externo. No JSON de retorno, no atributo data, deve constar as seguintes informações:
Informações |
---|
Importante: Em relação ao acesso, este será o único serviço que um usuário não autorizado poderá acessar e obter retorno. Os demais serviços retornarão código HTTP 403 (Forbidden) caso não tenham permissão (userCanMonitor = “false”). |
Exemplo de JSON de retorno:
Bloco de código | ||||
---|---|---|---|---|
| ||||
{ “messages” : [], “length” : 1, “data” : [{ “hostAppID” : “app1”, “databaseType” : “ORACLE”, “productName” : “PROTHEUS”, “productVersion” : “12.1.11”, “userCode” : “jose.silva”, “userName" : “Jose da Silva”, “userEmail” : “[email protected]”, “userDialect” : “pt-BR”, “userCanMonitor” : true }] } |
Âncora | ||||
---|---|---|---|---|
|
GET /totvseai/monitor/v1/apps/{appID}?page={page}&perPage={perPage}
Recebe | appID – string – path parameter |
page - int - query parameter | |
perPage – int – query parameter | |
Retorna | Application/JSON |
Este método lista os detalhes do aplicativo solicitado, seja ele interno ou externo. Quando o parâmetro appID é omitido, todos os aplicativos serão considerados. O serviço suporta ainda os seguintes parâmetros:
Para melhor compreensão do uso dos parâmetros acima: quando for informado algo como ?page=2&perPage=20, o JSON de retorno conterá, no atributo data, os elementos de nr. 21 a 40.
Os dados retornados para um aplicativo são:
O JSON de retorno terá o seguinte formato:
Bloco de código | ||||
---|---|---|---|---|
| ||||
{ “messages” : [], “length” : 2, // total de registros, considerando page=1, perPage=10 “data” : [{ “appID“ : “app1”, “name” : “Aplicativo 1”, “description” : “Nome do aplicativo 1”, “productCode” : “DATASUL”, “productVersion” : “12.1.11”, “isHost” : true, “msgValidation” : “skip”, “wsdlUrl” : “http://localhost:8080/eai2-ws/EAIService?wsdl”, “portName” : “EAI”, “monitorUrl” : “http://localhost:8080/” }, { “appID“ : “app2”, “name” : “Aplicativo 2”, “description” : “Nome do aplicativo 2”, “productCode” : “PROTHEUS”, “productVersion” : “12.1.9”, “isHost” : false, “msgValidation” : “sendOnly”, “wsdlUrl” : “http://localhost:8180/ws/EAIService.apw?wsdl”, “portName” : “EAISERVICESOAP”, “monitorUrl” : “http://localhost:8182” }] } |
O exemplo abaixo demonstra o uso dos parâmetros page e perPage.
Bloco de código | ||||
---|---|---|---|---|
| ||||
{ “messages” : [], “length” : 0, // não há registros dentro dos critérios informados “data” : [] } |
Este é um exemplo de busca de dados de um aplicativo específico - app1.
Bloco de código | ||||
---|---|---|---|---|
| ||||
{ “messages” : [], “length” : 1, # Para requisições de um item, não há o que paginar “data” : [{ “appID“ : “app1”, “name” : “Aplicativo 1”, “description” : “Nome do aplicativo 1”, “productCode” : “DATASUL”, “productVersion” : “12.1.11”, “isHost” : true, “msgValidation” : “skip”, “wsdlUrl” : “http://localhost:8080/eai2-ws/EAIService?wsdl”, “portName” : “EAI”, “monitorUrl” : “http://localhost:8080/” }] } |
GET /totvseai/monitor/v1/apps/inspect-new-app
Recebe | Application/JSON – form parameters |
Retorna | Application/JSON |
Este método permite obter dados de um novo aplicativo a partir das propriedades de conexão fornecidas (URL do WSDL, porta WSDL, usuário e senha).
O JSON a ser enviado no corpo da requisição REST (payload), contendo os dados de conexão ao aplicativo, deve ter os seguintes atributos:
Exemplo de JSON de envio:
Bloco de código | ||
---|---|---|
| ||
{ “wsdlUrl” : “http://localhost:8480/EAISERVICE.apw?wsdl”, “portType” : “EAISERVICESOAP”, “user” : “”, “password” : “” } |
O JSON de retorno conterá os dados do aplicativo (código, nome, descrição, entre outros) e suas respectivas transações.
Os dados relativos ao aplicativo seguem o formato definido para o serviço GET /totvseai/monitor/v1/apps, ao qual é adicionado o atributo transactions, um array com as transações disponíveis no aplicativo em questão.
Cada objeto dentro do array transactions terá os seguintes atributos:
Veja exemplo completo do JSON de retorno:
Bloco de código | ||
---|---|---|
| ||
{ “messages” : [], “length” : 1, “data” : [{ “appID“ : “app3”, “name” : “Aplicativo 3”, “description” : “Nome do aplicativo 3”, “productCode” : “LOGIX”, “productVersion” : “12.1.8”, “isHost” : false, “msgValidation” : “always”, “wsdlUrl” : “http://localhost:8480/EAISERVICE.apw?wsdl”, “portName” : “EAISERVICESOAP”, “monitorUrl” : “http://localhost:8481/”, “transactions” : [{ “transactionID” : “AccountPayable”, “version” : “1.000”, “supportedMode” : “both_enabled”, “enabledMode” : “both_enabled”, “allowAnonymous” : false, “includeOriginalMsg” : false }, { “transactionID” : “AccountReceivable”, “version” : “1.003”, “supportedMode” : “both_enabled”, “enabledMode” : “receive_enabled”, “allowAnonymous” : false, “includeOriginalMsg” : false }] }] } |
GET /totvseai/monitor/v1/apps/{appID}/transactions?page={page}&perPage={perPage}
Recebe | appID - string – path parameter |
page - int - query parameter | |
perPage – int – query parameter | |
Retorna | Application/JSON |
Este serviço retorna a lista de transações para um aplicativo fornecido. O parâmetro de entrada – appID – deve ser informado na URL da requisição. Adicionalmente outros dois parâmetros podem ser informados:
O JSON de retorno conterá, no atributo data, um array com as transações do aplicativo. A definição dos atributos presentes no retorno é a mesma do serviço anterior, exceto pelo fato que será retornado apenas as transações do aplicativo, não suas propriedades.
Segue JSON de exemplo para o retorno:
Bloco de código | ||||
---|---|---|---|---|
| ||||
{ “messages” : [], “length” : 3, // implicitamente, page=1, perPage=10 “data” : [{ “transactionID” : “order”, “version” : “2.000”, “supportedMode” : “both_enabled”, “enabledMode” : “both_enabled”, “allowAnonymous” : false, “includeOriginalMsg” : false } , { “transactionID” : “request”, “version” : “1.002”, “supportedMode” : “both_enabled”, “enabledMode” : “receive_enabled”, “allowAnonymous” : false, “includeOriginalMsg” : true } , { “transactionID” : “unitofmeasure”, “version” : “1.000”, “supportedMode” : “send_enabled”, “enabledMode” : “send_enabled”, “allowAnonymous” : false, “includeOriginalMsg” : true }] } |
Exemplo de retorno, considerando os parâmetros page e perPage:
Bloco de código | ||||
---|---|---|---|---|
| ||||
{ “messages” : [], “length” : 3, “data” : [{ “transactionID” : “order”, “version” : “2.000”, “supportedMode” : “both_enabled”, “enabledMode” : “both_enabled”, “allowAnonymous” : false, “includeOriginalMsg” : false } , { “transactionID” : “request”, “version” : “1.002”, “supportedMode” : “both_enabled”, “enabledMode” : “receive_enabled”, “allowAnonymous” : false, “includeOriginalMsg” : true } , { “transactionID” : “unitofmeasure”, “version” : “1.000”, “supportedMode” : “send_enabled”, “enabledMode” : “send_enabled”, “allowAnonymous” : false, “includeOriginalMsg” : true }] } |
GET /totvseai/monitor/v1/apps/{appID}/transactions/{transactionID}
Recebe | appID - string – path parameter |
transactionID - string – path parameter | |
Retorna | Application/JSON |
Este serviço retorna detalhes da transação solicitada, como os contextos e as rotas estabelecidas. É possível que mais de uma versão da transação esteja registrada no aplicativo. Neste caso, todas as versões da transação serão retornadas.
Os dados serão retornados em um array no atributo data. Segue descrição dos atributos dos elementos do array:
Segue exemplo de JSON de retorno:
Bloco de código | ||||
---|---|---|---|---|
| ||||
{ “messages” : [], “length” : 2, “data” : [{ “transactionID” : “request”, “version” : “1.000”, “contexts” : [“*”,”CRM”], “routes” : [{ “context” : “*”, “destination” : “logix11” },{ “context” : “CRM”, “destination” : “dts12” }] },{ “transactionID” : “request”, “version” : “2.000”, “contexts” : [“*”], “routes” : [] }] } |
Âncora | ||||
---|---|---|---|---|
|
GET /totvseai/monitor/v1/msgs/{msgUUID}
Recebe | msgUUID - string – path parameter |
Retorna | Application/JSON |
Este serviço apenas retorna os dados principais da mensagem informada como parâmetro (UUID, data de geração, data de recebimento, aplicativo de origem, etc.). O conteúdo da mensagem é retornado em outro serviço.
Segue descrição de cada atributo retornado no JSON:
Segue exemplo de JSON retornado pelo serviço:
Bloco de código | ||||
---|---|---|---|---|
| ||||
{ “messages” : [ ], “length” : 1, “data” : [{ “msgUUID” : “aBcDeFgH-0123-iJkL-4567-mNoPqRsTuVwX”, “sourceApplication” : “Instancia_Dts”, “originalMsgUUID” : “”, “type” : “BusinessMessage”, “status” : “DELIVERED”, “transaction” : “Request”, “context” : “Requisição de Material”, “receivedDateTime” : 2016-04-15T12:54:00.000-03:00, “comments” : “”, “archived” : false, “deliveryType” : “Sync”, “size” : 348 }] } |
GET /totvseai/monitor/v1/msgs/{msgUUID}/content?start={start}&size={size}
Recebe | msgUUID - string – path parameter |
start – inteiro – query parameter | |
size – inteiro – query parameter | |
Retorna | Application/JSON |
Este serviço retorna o conteúdo de uma mensagem informada. Além do código da mensagem (msgUUID), pode-se informar mais dois parâmetros de query:
O JSON de retorno terá a seguinte estrutura no atributo data:
Para retornar o conteúdo completo no JSON de retorno, deve-se requisitar o serviço sem os parâmetros start e size.
Exemplo de requisição de uma mensagem em partes, com cada parte tendo 1000 bytes de tamanho:
Bloco de código | ||||
---|---|---|---|---|
| ||||
{ “messages” : [ ], “length” : 2, // Quantidade de partes da mensagem usando o size informado “data” : [{ “msgUUID” : “f6f725cf‑3012‑bdb2‑0c14‑47427ca9cacf”, “content” : “<TOTVSMessage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../xmlschema/general/requests/whois_1_000.xsd"><MessageInformation version="1.000"><UUID>f6f725cf-3012-bdb2-0c14-47427ca9cacf</UUID><Type>Response</Type><Transaction>whois</Transaction><StandardVersion>1.0</StandardVersion><SourceApplication>jvd001651</SourceApplication><CompanyId/><Product name="Datasul" version="11.5.X"/><GeneratedOn>2016-03-22T13:26:00.348-03:00</GeneratedOn></MessageInformation><ResponseMessage><ReceivedMessage><SentBy>SoapUI</SentBy><UUID>WhoIsReq-uest-0001-0000-000000000003</UUID></ReceivedMessage><ProcessingInformation><ProcessedOn>2016-03-22T13:26:00.348-03:00</ProcessedOn><Status>OK</Status></ProcessingInformation><ReturnContent><EnabledTransactions><Transaction><Name>carrier</Name><Version>2.000</Version><Mode>SEND_ENABLED</Mode></Transaction><Transaction><Name>city</Name><Version>1.000</Version><Mode>BOTH_ENABLED</Mode></Transaction><Transaction><Name>eai”, “size” : 1000 }] } |
Exemplo contendo a segunda parte da mensagem:
Bloco de código | ||||
---|---|---|---|---|
| ||||
{ “messages” : [ ], “length” : 2, # Quantidade de partes da mensagem usando o size informado “data” : [{ “msgUUID” : “f6f725cf‑3012‑bdb2‑0c14‑47427ca9cacf”, “content” : “environment</Name><Version>1.000</Version><Mode>BOTH_ENABLED</Mode></Transaction><Transaction><Name>getschema</Name><Version>1.000</Version><Mode>BOTH_ENABLED</Mode></Transaction><Transaction><Name>invoice</Name><Version>3.004</Version><Mode>BOTH_ENABLED</Mode></Transaction><Transaction><Name>item</Name><Version>3.001</Version><Mode>BOTH_ENABLED</Mode></Transaction><Transaction><Name>unitofmeasureconversion</Name><Version>1.000</Version><Mode>SEND_ENABLED</Mode></Transaction><Transaction><Name>user</Name><Version>3.001</Version><Mode>SEND_ENABLED</Mode></Transaction><Transaction><Name>warehouse</Name><Version>1.001</Version><Mode>RECEIVE_ENABLED</Mode></Transaction><Transaction><Name>whois</Name><Version>1.001</Version><Mode>BOTH_ENABLED</Mode></Transaction><Transaction><Name>workcenter</Name><Version>1.000</Version><Mode>RECEIVE_ENABLED</Mode></Transaction></EnabledTransactions></ReturnContent></ResponseMessage></TOTVSMessage>”, “size” : 941 }] } |
Exemplo de requisição obtendo todo o conteúdo de uma só vez:
Bloco de código | ||||
---|---|---|---|---|
| ||||
{ “messages” : [ ], “length” : 1, “data” : [{ “msgUUID” : “f6f725cf‑3012‑bdb2‑0c14‑47427ca9cacf”, “content” : “<TOTVSMessage xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="../../../xmlschema/general/requests/whois_1_000.xsd"><MessageInformation version="1.000"><UUID>f6f725cf-3012-bdb2-0c14-47427ca9cacf</UUID><Type>Response</Type><Transaction>whois</Transaction><StandardVersion>1.0</StandardVersion><SourceApplication>jvd001651</SourceApplication><CompanyId/><Product name="Datasul" version="11.5.X"/><GeneratedOn>2016-03-22T13:26:00.348-03:00</GeneratedOn></MessageInformation><ResponseMessage><ReceivedMessage><SentBy>SoapUI</SentBy><UUID>WhoIsReq-uest-0001-0000-000000000003</UUID></ReceivedMessage><ProcessingInformation><ProcessedOn>2016-03-22T13:26:00.348-03:00</ProcessedOn><Status>OK</Status></ProcessingInformation><ReturnContent><EnabledTransactions><Transaction><Name>carrier</Name><Version>2.000</Version><Mode>SEND_ENABLED</Mode></Transaction><Transaction><Name>city</Name><Version>1.000</Version><Mode>BOTH_ENABLED</Mode></Transaction><Transaction><Name>eaienvironment</Name><Version>1.000</Version><Mode>BOTH_ENABLED</Mode></Transaction><Transaction><Name>getschema</Name><Version>1.000</Version><Mode>BOTH_ENABLED</Mode></Transaction><Transaction><Name>invoice</Name><Version>3.004</Version><Mode>BOTH_ENABLED</Mode></Transaction><Transaction><Name>item</Name><Version>3.001</Version><Mode>BOTH_ENABLED</Mode></Transaction><Transaction><Name>unitofmeasureconversion</Name><Version>1.000</Version><Mode>SEND_ENABLED</Mode></Transaction><Transaction><Name>user</Name><Version>3.001</Version><Mode>SEND_ENABLED</Mode></Transaction><Transaction><Name>warehouse</Name><Version>1.001</Version><Mode>RECEIVE_ENABLED</Mode></Transaction><Transaction><Name>whois</Name><Version>1.001</Version><Mode>BOTH_ENABLED</Mode></Transaction><Transaction><Name>workcenter</Name><Version>1.000</Version><Mode>RECEIVE_ENABLED</Mode></Transaction></EnabledTransactions></ReturnContent></ResponseMessage></TOTVSMessage>", “size” : 1941 }] } |
GET /totvseai/monitor/v1/msgs/{msgUUID}/download
Recebe | msgUUID - string – path parameter |
Retorna | Application/XML |
O serviço download recebe como parâmetro o código da mensagem e retorna o conteúdo da mensagem em formato XML, para download. O corpo da resposta deve conter o XML da mensagem na íntegra, enquanto no cabeçalho da resposta (header), deve constar “Content-disposition = attachment;filename=msg_{msgUUID}.xml” para indicar ao browser que o conteúdo deve ser salvo em arquivo local.
Exemplo de resposta HTTP (cabeçalhos):
Bloco de código | ||||
---|---|---|---|---|
| ||||
HTTP/1.1 200 OK Server: Apache-Coyote/1.1 Last-Modified: Thu, 19 Nov 2015 14:16:38 GMT Content-Type: application/xml Content-Disposition: attachment; filename=msg_aBcDeFgH-0123-iJkL-4567-mNoPqRsTuVwX.xml Content-Length: 1941 Date: Mon, 18 Apr 2016 16:56:44 GMT |
GET /totvseai/monitor/v1/msgs/{msgUUID}/linked-msgs
Recebe | msgUUID - string – path parameter |
Retorna | Application/JSON |
Este serviço retorna as mensagens vinculadas a uma mensagem informada, por exemplo, a mensagem de resposta (ResponseMessage) gerada para uma mensagem de negócio (BusinessMessage). O parâmetro recebido – msgUUID – é o identificador único da mensagem para a qual se deseja recuperar os vínculos.
No JSON de retorno constarão os identificadores das mensagens vinculadas.
Bloco de código | ||||
---|---|---|---|---|
| ||||
{ "messages" : [], "length" : 3, "data" : [ "aBcDeFgH-4567-iJkL-4567-mNoPqRsTuVwX", "aBcDeFgH-8901-iJkL-4567-mNoPqRsTuVwX", "bAdCfEhG-0123-iJkL-4567-mNoPqRsTuVwX" ] } |
GET /totvseai/monitor/v1/msgs/{msgUUID}/logs?page={page}&perPage={perPage}
Recebe | msgUUID - string – path parameter |
| page - int - query parameter |
| perPage – int - query parameter |
Retorna | Application/JSON |
Este serviço retorna os registros de mudança de estado da mensagem no aplicativo, ou seja, as etapas que a mensagem percorreu durante seu processamento pelo aplicativo interno. Os parâmetros deste serviço são:
No JSON de retorno, constarão as entradas de log, dentro de um array no atributo data. Cada elemento do array terá os seguintes atributos:
Segue exemplo de requisição e o respectivo JSON de retorno:
Bloco de código | ||||
---|---|---|---|---|
| ||||
{ |
“messages” : [], |
“length” : 2, |
“data” : [{ |
“msgUUID” : “aBcDeFgH-0123-iJkL-4567-mNoPqRsTuVwX”, |
“sequence” : 1,
“dateTime” :“sequence” : 1, “dateTime” : ”2016-03-17T15:04:26.009-03:00”, |
“description” : ”Status alterado de RECEIVED para RECOGNIZED”,
“level” : ”INFO”,
“userCode” : ”super”
}, {
“msgUUID” :“description” : ”Status alterado de RECEIVED para RECOGNIZED”, “level” : ”INFO”, “userCode” : ”super” }, { “msgUUID” : “aBcDeFgH-0123-iJkL-4567-mNoPqRsTuVwX”, |
“sequence” : 2,
“dateTime” :“sequence” : 2, “dateTime” : ”2016-03-17T15:04:26.023-03:00”, |
“description” : ”Mensagem armazenada na tabela de mensagens sob método de envio Sync”,
“level” : ”DEBUG”,
“userCode” : ”super”
}]
}
GET
“description” : ”Mensagem armazenada na tabela de mensagens sob método de envio Sync”,
“level” : ”DEBUG”,
“userCode” : ”super”
}]
}
|
Exemplo de requisição usando os parâmetros page e perPage:
Bloco de código | ||||
---|---|---|---|---|
| ||||
{ |
“messages” : [],
“length” : 0, # Não há dados para retornar na página solicitada
“data” : []
}
“messages” : [],
“length” : 0, // Não há dados para retornar na página solicitada
“data” : []
}
|
GET /totvseai/monitor/v1/msgs/{msgUUID}/logs/download
Recebe | msgUUID - string – path parameter |
Retorna | text/plain |
Este serviço permite efetuar o download de todas as mensagens de log associadas a uma mensagem, salvando-as em um arquivo .txt.
Para isso, o serviço deve retornar os cabeçalhos “Content-Type: text/plain” e “Content-Disposition: attachment; file=log_{msgUUID}.txt” na resposta da requisição, onde {msgUUID} deve ser substituído pelo valor informado no parâmetro msgUUID.
Exemplo de resposta HTTP, com destaque dos cabeçalhos relacionados ao serviço:GET
Bloco de código | ||||
---|---|---|---|---|
| ||||
HTTP/1.1 200 OK |
Server: Apache-Coyote/1.1 |
Last-Modified: Thu, 19 Nov 2015 14:16:38 GMT |
Content-Type: text/plain |
Content-Disposition: attachment; filename=log_aBcDeFgH-0123-iJkL-4567-mNoPqRsTuVwX.txt |
Content-Length: 1941 |
Date: Mon, 18 Apr 2016 16:56:44 GMT |
<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
<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>.
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> |
<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 |
<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 |
<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. |
---|