Este documento é material de especificação dos requisitos de inovação, trata-se de conteúdo extremamente técnico. |
---|
Especificação |
Produto | DBR | Módulo | MDB |
Segmento Executor | Manufatura |
Projeto1 | D_MAN_APS001 | IRM1 | PCREQ-6688 |
Requisito1 | PCREQ-7326 | Subtarefa1 | PGRMAN-1626 |
Chamado2 | |
Release de Entrega Planejada | 12.1.8 | Réplica | Não |
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
Externalizar as queries do Protheus utilizadas na Atualização de Dados do APS, armazenando as mesmas em banco de dados, através do cadastro de Query (db0141), possibilitando assim a customização das queries sem a necessidade de customização de produto.
Definição da Regra de Negócio
RN001 - Adequar o uso do Cadastro de Queries (db0141) com as queries do Protheus.
Atualmente as queries do Protheus são armazenadas apenas em fonte (dbapi200p.i) onde o cliente pode apenas consultar as queries. Ao externalizar a query para o Cadastro de Queries (db0141), o cliente terá autonomia de criar ou customizar sua própria query, sem a necessidade de customizar o programa.
- Para controle de versões e atualização de queries é necessário que as mesmas estejam contidas no dbapi801.p, ou seja, transferir as queries para a api citada acima.
- As queries são tratadas como entidades no db0141, e o nome dessas entidades devem seguir o mesmo identificado na dbapi200p.i, por exemplo: Cadastro de Itens – “item-dbr”.
- Como existem as mesmas queries em Oracle e Sql Server, deve-se utilizar duas funções, pi-query-protheus-oracle e pi-query-protheus-sql com as suas respectivas queries, similar ao utilizado nas queries Logix. Na parametrização do APS (db1000) é possível verificar qual o banco de dados utilizado pelo ERP.
- É necessário também adequar o controle de versões de queries (pi-versao-entidade) para tratar de forma independente a versão das queries de Logix e Protheus.
- O nome das tabelas do Protheus são formadas de acordo com o código da empresa, seguido pelo número zero, exemplo: SC2 + 99 + 0. Como essa informação pode ser diferente para cada cliente, é necessário buscar essa informação na tabela de parâmetros do aps (param-aps.cod-empresa) e substituir pelo valor informado. Atualmente, no dbapi200p.i é utilizado a variável c-empresa-protheus para este fim, porém pode ser substituído pelo pré-processador utilizado nas queries do Logix, onde o valor de “&1” é substituído pelo código da empresa. A query deve ser gravada e apresentada no db0141 com o código da empresa já substituído.
- As validações das queries devem seguir o procedimento já executado pelo db0141, independente do ERP integrado.
- Atualmente não é possível abrir o cadastro de query quando integrado ao Protheus, deve passar a permitir. Alterar também a mensagem de erro, adequando a integração Protheus.

RN002 - Utilizar as queries armazenadas em banco de dados na Atualização de dados.
Uma vez as queries inseridas na tabela cad-query-aps, a Atualização de Dados (dbapi200p.p) do APS deverá buscar nessa tabela as queries que serão executadas para leitura das informações do Protheus, de acordo com o banco de dados configurado (db1000), similar ao que é realizada com Logix (dbapi200x.p).
- Para suavização de release, ao abrir o db0200 verificar se a tabela cad-query-aps possui registros, caso não exista, incluir automaticamente as queries do Protheus de acordo com o tipo de banco de dados parametrizado no db1000.
- Utilizar o getSelect para carregar as informações no objeto oRecordSet.
Já existe a procedure getSelect, onde é passado o nome da query que será executada, e carregando as informações no RecordSet.
- Tornar visível o botão “Query” na tela da Atualização de Dados (db0200) quando integrado com Protheus. Atualmente é visível somente com integração ao Logix.

RN003 - Habilitar a verificação de atualização de queries no cadastro de parâmetros(db1000).
No cadastro de parâmetros do APS é possível parametrizar a verificação de atualização de queries automaticamente, porém está habilitado somente para integração Logix, o mesmo deve ser habilitado para Protheus. O funcionamento deve continuar sendo o mesmo, independente de ERP integrado.
Atualizar o help-online, indicando a funcionalidade "Verifica atualizações de queries automaticamente".

RN004 - Criar help-online do Cadastro de Queries (db0141).
Deve-se criar a documentação de help-online baseando-se no IRM000782.
Local TFS: $/EMS2/Docs_Proj/V11.8/Inovacao/D118APS003/IRM000782_APS_x_Logix/Analise/D118APS003_IRM000782_Atualizacao_de_Dados_1.docx
Rotina | Tipo de Operação | Opção de Menu | Regras de Negócio |
[DB0141 – Cadastro de Query] | [Alteração] | [Planejamento Avançado -> Planejamento-> Cadastros] | - |
[DB0200 – Atualização de Dados] | [Alteração] | [Planejamento Avançado -> Planejamento-> Tarefas] | - |
[DB1000 – Parâmetros APS] | [Alteração] | [Planejamento Avançado -> Planejamento-> Cadastros] | - |
[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. |
---|
#trackbackRdf ($trackbackUtils.getContentIdentifier($page) $page.title $trackbackUtils.getPingUrl($page))