MCP - Processo de Criação

1. Introdução

Independentemente do método de integração, seja ele direto ou utilizando a aplicação será necessário disponibilizar o usuário padrão e as views e procedures. Um fluxo de criação deve ser seguido para que todas as ferramentas necessárias para o funcionamento da integração, estejam de acordo com os requisitos. A seguir há um uma imagem do fluxo e após será discorrido acerca desses pontos.

 

2. Criação de Usuário

Para a conexão com banco de dados em qualquer formato de integração, é necessário a criação de um usuário específico para a Vtrina, assim a mesma terá acesso apenas a um Schema do banco, e também fica mais organizado para as informações que a mesma necessita ficarem em um só lugar. O nome de usuário e senha será sempre o padrão VIASOFTVTRINA, tanto para o usuário quanto para a senha.

 

2.1 Cliente Base Local

Para clientes que a base de dados, ou seja, o banco de dados é local deve-se entrar em contato com o cliente e solicitar a conexão com o banco de dados e no SQL Developer, logado com o usuário SYS, rodar o seguinte comando para criação correta do usuário Vtrina:

CREATE USER VIASOFTVTRINA IDENTIFIED BY XX_SENHA_VIASOFTVTRINA_XX DEFAULT TABLESPACE VS_USER; GRANT DBA TO VIASOFTVTRINA; GRANT CREATE SESSION TO VIASOFTVTRINA;

A senha para o usuário de banco VIASOFTVTRINA deverá ser gerada de forma aleatória. Para isso é necessário contatar o responsável em produto para geração e armazenamento da senha na plataforma Vault.

 

2.2 Cliente Base em Nuvem

Para clientes que possuem base em nuvem, geralmente não temos acesso ao usuário SYS, o que impossibilita a criação de novos Usuários do banco de dados. Sendo assim é necessário solicitar à empresa responsável pelo banco de dados do cliente, a criação do usuário.

Especificamente no ambiente da Oracle Cloud, o ideal é não executar GRANT DBA TO VIASOFTVTRINA; visando a segurança dos usuário, sendo assim, o mesmo pode ser substituído por outros comandos que garantam GRANT de SELECT/INSERT/UPDATE/EXECUTE dos objetos dos usuário VIASOFTMCP, VIASOFTBASE, VIASOFTMCP e VIASOFTFIN para o usuário  VIASOFTVITRINA. Também vale citar que esse usuário VIASOFTVITRINA pode ser criado como auditável.

BEGIN FOR r IN ( SELECT owner, object_name, object_type FROM all_objects WHERE owner in ('VIASOFTMCP','VIASOFTBASE','VIASOFTFIN') AND object_type in ('TABLE','VIEW','PROCEDURE','FUNCTION','PACKAGE') ) LOOP IF ( r.object_type = 'TABLE' ) THEN EXECUTE IMMEDIATE 'GRANT SELECT, INSERT, UPDATE, DELETE ON ' || r.owner || '.' || r.object_name || ' TO VIASOFTTEST123'; ELSIF ( r.object_type = 'VIEW' ) THEN EXECUTE IMMEDIATE 'GRANT SELECT ON ' || r.owner || '.' || r.object_name || ' TO VIASOFTTEST123'; ELSIF ( r.object_type in ('PROCEDURE', 'FUNCTION', 'PACKAGE') ) THEN EXECUTE IMMEDIATE 'GRANT EXECUTE ON ' || r.owner || '.' || r.object_name || ' TO VIASOFTTEST123'; END IF; END LOOP; END;

3. Concessão de Privilégios

Como o usuário VIASOFTVTRINA é um novo Schema no banco de dados, ele não possuem privilégios que permitem acesso às tabelas dos outros Schemas, por isso é necessário a concessão dos mesmos, para que o novo usuário possa consumir e alterar determinadas tabelas, já pré-estabelecidas:

As concessões não podem ser rodadas no mesmo usuário a que está se concedendo as permissões, ou seja, rode os comandos a seguir no usuário SYS ou VIASOFTMCP:

3.1 Concessões a partir do VIASOFTSYS.

GRANT SELECT ON VIASOFTSYS.FILIAL TO VIASOFTVTRINA; GRANT EXECUTE ON VIASOFTSYS.ARREDONDAR TO VIASOFTVTRINA;

 

3.2 Concessões a partir do VIASOFTMCP.

GRANT ALL ON VIASOFTMCP.ITEMESTAB TO VIASOFTVTRINA; GRANT SELECT ON VIASOFTMCP.ITEMCATEGORIA TO VIASOFTVTRINA; GRANT SELECT ON VIASOFTMCP.WECCONFIG TO VIASOFTVTRINA; GRANT SELECT ON VIASOFTMCP.ITEMREPOSICAO TO VIASOFTVTRINA; GRANT SELECT ON VIASOFTMCP.LOCALRETIRADA TO VIASOFTVTRINA; GRANT SELECT ON VIASOFTMCP.ITEMMCP TO VIASOFTVTRINA; GRANT SELECT ON VIASOFTMCP.ITEMECOMMERCE TO VIASOFTVTRINA; GRANT SELECT ON VIASOFTMCP.FILIALCONFCAD TO VIASOFTVTRINA; GRANT SELECT ON VIASOFTMCP.ITEMPRVDA TO VIASOFTVTRINA; GRANT SELECT ON VIASOFTMCP.ITEMEMP TO VIASOFTVTRINA; GRANT SELECT ON VIASOFTMCP.ITEMCARACTER TO VIASOFTVTRINA; GRANT SELECT ON VIASOFTMCP.CARACTER TO VIASOFTVTRINA; GRANT SELECT ON VIASOFTMCP.WECCATEG TO VIASOFTVTRINA; GRANT SELECT ON VIASOFTMCP.ITEMIMAGEM TO VIASOFTVTRINA; GRANT SELECT ON VIASOFTMCP.ITEMECOMMERCE TO VIASOFTVTRINA; GRANT ALL ON VIASOFTMCP.WECPEDIDO TO VIASOFTVTRINA; GRANT ALL ON VIASOFTMCP.WECPEDIDOITEM TO VIASOFTVTRINA; GRANT ALL ON VIASOFTMCP.WECPEDIDOXML TO VIASOFTVTRINA; GRANT ALL ON VIASOFTMCP.ITEMPRVDA TO VIASOFTVTRINA; GRANT SELECT ON VIASOFTMCP.PESSOADOCVEND TO VIASOFTVTRINA; GRANT SELECT ON VIASOFTMCP.V_PESSOADOCEND TO VIASOFTVTRINA; GRANT SELECT ON VIASOFTMCP.NOTAREFITE TO VIASOFTVTRINA; GRANT EXECUTE ON VIASOFTMCP.GETSALDOITEMCARR TO VIASOFTVTRINA; GRANT SELECT ON VIASOFTMCP.ITEMCARACTER TO VIASOFTVTRINA; GRANT SELECT ON VIASOFTMCP.CARACTER TO VIASOFTVTRINA; GRANT EXECUTE ON VIASOFTMCP.RETORNACUSTOMEDIO TO VIASOFTVTRINA; GRANT SELECT ON VIASOFTMCP.ITEMAGREGADOS TO VIASOFTVTRINA; GRANT SELECT ON VIASOFTMCP.ESTOQUESALDO TO VIASOFTVTRINA;

 

3.3 Concessões a partir do VIASOFTBASE.

GRANT ALL ON VIASOFTBASE.ITEM TO VIASOFTVTRINA; GRANT SELECT ON VIASOFTBASE.MARCA TO VIASOFTVTRINA; GRANT SELECT ON VIASOFTBASE.NOTA TO VIASOFTVTRINA; GRANT SELECT ON VIASOFTBASE.NOTAXML TO VIASOFTVTRINA; GRANT SELECT ON VIASOFTBASE.PESSOADOC TO VIASOFTVTRINA; GRANT SELECT ON VIASOFTBASE.PESSOA TO VIASOFTVTRINA; GRANT SELECT ON VIASOFTBASE.ESTOQUELOCAL TO VIASOFTVTRINA; GRANT SELECT ON VIASOFTBASE.PARCELAESTAB TO VIASOFTVTRINA; GRANT SELECT ON VIASOFTBASE.PARCELA TO VIASOFTVTRINA; GRANT SELECT ON VIASOFTBASE.TRANSPORTADORA TO VIASOFTVTRINA; GRANT SELECT ON VIASOFTBASE.V_PESSOADOC TO VIASOFTVTRINA; GRANT SELECT ON VIASOFTBASE.USANDODE TO VIASOFTVTRINA; GRANT SELECT ON VIASOFTBASE.ITEMAQUIS TO VIASOFTVTRINA;

 

4. Criação de Views

A criação de Views não tem uma sequência lógica, portanto pode ser criado da forma que achar-se necessário. Cada View está de forma mais detalhada dentro de sua documentação específica, mas pode ser acessado a partir dos links abaixo:

MCP - View de Produtos MCP - View de Preços MCP - View de Estoques MCP - View de Pedidos MCP - Views Auxiliares

 

5. Criação de Procedures

A criação das procedures servem como ferramenta para inserções de dados no banco. A criação das mesmas não precisa ser executada dentro de uma sequência padrão. Cada procedure está descrita de maneira mais detalhada na documentação específica para Procedures, mas podem ser acessadas através dos links abaixo:

MCP - Procedures de Inserção MCP - Procedures de Atualização