Consultor Eletrônico



Kbase 93314: Atualização de Release 12.1.32
Autor   Rodrigo De Moraes - Console Datasul
Acesso   Público
Publicação   07/05/2021
A atualização do produto pode conter procedimentos manuais anteriores e posteriores à atualização executada pelo Console de Gerenciamento de Ambientes. Antes de iniciar o processo de atualização recomendamos a leitura desse documento.

*** ATENÇÃO - ATUALIZAÇÃO 12.1.32 ***

--------------------
RELEASE NOTES
--------------------

Release Notes 12.1.32
http://tdn.totvs.com/display/public/LDT/Release+12.1.32

----------------------------
RELATÓRIOS CUSTOMIZADOS DO CRM
----------------------------

Instruções de instalação: https://tdn.totvs.com/pages/releaseview.action?pageId=520665726

----------------------------
ALTERAÇÕES TÉCNICAS
----------------------------

Alteração de dicionário para ambiente Datasul 12.1.32
https://tdn.totvs.com/pages/viewpage.action?pageId=570999322

Tabelas que Tiveram o CRC Alterado e impactam nos compilados Datasul 12.1.32
http://tdn.totvs.com/display/LDT/Tabelas+que+tiveram+CRC+alterado+-+12.1.32

===================
ETAPAS PRÉ-ATUALIZAÇÃO
===================

-------------------------------------------------------
1. Versão do Progress OpenEdge
-------------------------------------------------------
Versões Progress OpenEdge homologadas para o produto Datasul:

- Para clientes que utilizam Progress 11.7 devem aplicar o Service Pack 4 (11.7.5).

Portanto clientes que desejam migrar para o Progress 11 devem solicitar junto a equipe da Central de Serviços TOTVS (CST) a versão Progress 11.7.

Observação: A partir dessa release Datasul 12.1.18, a expedição dos programas está somente na versão OpenEdge 11.7.5, não havendo expedição em 10.2B.

-------------------------------------------------------
2. Habilitar Sequências 64Bits Progress
-------------------------------------------------------
O banco de dados quando criado com versão inferior ao Progress 10.2B não tinha habilitado uma feature chamada "64 Bit Sequences", sendo possível somente a criação de sequências 32bits.

Para atender as necessidades das definições das sequências do Datasul 12 deve-se habilitar essa feature para não gerar erro durante a criação dos objetos.

Com o comando abaixo pode ser verificado se existe a feature habilitada no banco de dados, utilizando o PROENV do Progress:
proutil nome-banco -C describe

Para habilitar a feature precisa executar o comando abaixo no banco de dados, utilizando o PROENV do Progress:
proutil nome-banco -C enableseq64

Quando executar novamente a verificação deve aparecer a feature habilitada.

-------------------------------------------------------
3. Substituição dos bancos de dados no sistema destino
-------------------------------------------------------
ALERTA: A não utilização de todos os bancos de dados sugeridos pela mídia de instalação do produto poderá causar resultados inesperados no sistema. Apenas deixe de utilizar algum banco de dados se for explicitamente recomendado pelo suporte técnico do produto Datasul.

O Datasul 12 será composto pelos bancos de dados atualizados, mais os bancos correspondentes a novas funcionalidades, disponibilizados pela mídia de programas. Os seguintes arquivos do sistema Datasul também deverão ser conferidos para contemplar os bancos convertidos:

- Arquivo .pf de conexão dos bancos: conferir se os bancos convertidos estão contemplados na conexão, bem como bancos específicos trazidos no processo;

- Arquivo progress-ds.xml no JBoss: o banco com dados "EMS2UNI" é necessário para a execução do ambiente Flex. Esse arquivo contém os parâmetros de conexão a esse banco, que pode estar unificado aos bancos de dados origem.

- Programa de alias, caso seus bancos sejam unificados.

Além da alteração desses arquivos, confira os cadastros de "Banco de Dados Empresa" e "Relacionamento Empresa X Usuários", dentro do sistema Datasul.

O Console de Gerenciamento de Ambientes efetua a conversão de um sistema em cada execução. É recomendável concluir a conversão de todos os produtos origem antes de utilizar o produto Datasul 12 em produção.

-------------------------------------------------------
4. Banco de Dados Oracle
-------------------------------------------------------
Caso não utilize os owners padrões definidos pela TOTVS, deverá ser alterada a propriedade "_for-owner" dos objetos dos Schemas-image.

-------------------------------------------------------
5. Banco de Dados SQL Server
-------------------------------------------------------
Caso não utilize o padrão de conexão DSN-less para banco de dados SQL Server, deve ser alterado para que a atualização seja efetuada no ambiente.

Basicamente uma conexão DSN-less (Data Source Name-less, ou conexão sem fonte de dados) permite que a aplicação especifique todos os parâmetros diretamente na linha de conexão ao banco, sem a necessidade de configurar uma fonte de dados ODBC, porém o driver ODBC ainda é necessário para conexão e deve estar instalado na máquina que realizará o acesso.

-------------------------------------------------------
6. Upgrade e Update Bancos Históricos
-------------------------------------------------------
Clientes que utilizam bancos históricos e que desejarem efetuar o processo de update para este conjunto de bancos, devem utilizar um backup dos bancos de cadastro no formato origem, juntamente com os bancos históricos conectados na sessão, com os nomes lógicos dos seus respectivos bancos de movimento. Essa configuração é semelhante ao atalho para consulta de dados dos bancos históricos.

Atualmente os bancos históricos homologados para o produto TOTVS Datasul são:
- (EMS5) MOVFIN – Financeiro (banco multi)
- (EMS2) MOVADM – Administrativo (banco multi)
- (EMS2) MOVRAC – Comissões de Representantes (banco multi)
- (EMS2) MOVIND – Industrial (banco mono)
- (EMS2) MOVDIS – Distribuição (banco mono)
- EMS2) MOVMNT – Manutenção Industrial (banco mono)
- (EMS2) MOVMFG – Chão de Fábrica (banco mono)
- (EMS2) MOVFIS – Fiscal (banco mono)


===================
ETAPAS PÓS-ATUALIZAÇÃO
===================

Ao término do processo de atualização recomendamos executar todas as tarefas de pós-atualização aplicáveis ao seu ambiente.

Ao final do processo de atualização é possível eliminar os diretórios abaixo. Estes diretórios são backups da versão anterior do produto.

Localização\Arquivo
JBOSS_HOME\server\instance-8080\deploy\datasul-byyou-12.1.1X-SNAPSHOT.rej
JBOSS_HOME\server\instance-8080\deploy\datasul-sso-ear-12.1.1X-SNAPSHOT.rej

Verificar também os itens a seguir:

-------------------------------------------------------
1. Parâmetros do Jboss
-------------------------------------------------------
Com a liberação do novo Portal (Vendas, MLA e CRM) no Datasul para que seja apresentado o menu, se faz necessário um ajuste no parâmetro -Xss do JBOSS.

O administrador do ambiente precisa executar o procedimento abaixo:
- Parar o Jboss;
- Editar o arquivo ...\ServidorAplicacao\jboss-4.2.3.GA\bin\run.bat;
- Localizar o parâmetro -Xss;
- Alterar o parâmetro existente para -Xss256k;
- Iniciar o JBOSS.

-------------------------------------------------------
2. Verificação do Propath
-------------------------------------------------------
Importante fazer uma validação no PROPATH definido para o Datasul, basicamente deve ser verificado se todos os diretórios definidos existem fisicamente, não existindo mais devem ser removidos do PROPATH, isso impacta muito na performance, pois ao buscar o diretório aguarda o retorno do sistema operacional para informar que não existe e passar para próximo diretório.

-------------------------------------------------------
3. Versão do Java
-------------------------------------------------------
ALERTA: para efetuar a carga do JBOSS deve ser utilizada VM Java expedida pela Oracle.

A versão mínima do JAVA para carregar o serviço do JBOSS é a 1.7.0_80, isso porque algumas implementações só funcionam com essa versão ou superior, desde que se mantenha na versão 1.7 do JAVA.

Se o servidor possui sistema operacional 64-bits pode ser utilizada uma versão JAVA 64bits, para utilizar os recursos disponíveis do servidor.

Para as estações de trabalho pode ser utilizada a versão 1.8 do JAVA

-------------------------------------------------------
4. Banco de dados Oracle e SQL Server
-------------------------------------------------------
O Console de Gerenciamento de Ambientes faz alteração dos parâmetros de conexão para importar os deltas, porém quando utiliza banco de dados Oracle ou SQL Server precisa ser feito o procedimento abaixo após a conversão.

Terminado o processo, saia do Console e trunque as áreas de before-image com o Comando de truncagem do before-image a seguir:

proutil nome-do-schemaholder –C truncate bi

Isso se faz necessário porque o console utiliza o -1 para conectar ao schema-holder, para fazer as alterações de dicionário. Geralmente é utilizado o parâmetro -RO para conectar ao schema-holder, caso não seja feito o truncate será apresentado a mensagem abaixo a cada acesso.

WARNING: Before image file of database is not truncated. (1552)

Ao executar o truncate do schema-holder essa mensagem não será mais apresentada permitindo a conexão em modo somente-leitura (-RO) para schema-holders (Oracle e SQL Server).

ALERTA: Caso não utilize os owners padrões definidos pela TOTVS, deverá ser alterada a propriedade "_for-owner" dos objetos dos Schemas-image, para ambientes com banco de dados Oracle.

-------------------------------------------------------
5. Permissões usuários Oracle
-------------------------------------------------------
Alguns programas como TimeOut quando configurado para ambiente que possui banco de dados Oracle, faz acesso a tabelas de controle (v$session) e dependendo do nível de permissão do usuário pode aparecer a mensagem "table or view does not exist".

Devido a isso sugerimos a criação de uma ROLE, para que seja atribuído a todos os usuários Oracle configurados para o Datasul as permissões necessárias.

CREATE ROLE "DATASUL";
GRANT ALTER SYSTEM TO "DATASUL";
GRANT CREATE SEQUENCE TO "DATASUL";
GRANT CREATE SESSION TO "DATASUL";
GRANT CREATE TABLE TO "DATASUL";
GRANT SELECT ANY DICTIONARY TO "DATASUL";
GRANT SELECT ANY TABLE TO "DATASUL";
GRANT SELECT ANY SEQUENCE TO "DATASUL";
GRANT SELECT ON "SYS"."ARGUMENT$" TO "DATASUL";
GRANT SELECT ON "SYS"."COL$" TO "DATASUL";
GRANT SELECT ON "SYS"."COM$" TO "DATASUL";
GRANT SELECT ON "SYS"."CON$" TO "DATASUL";
GRANT SELECT ON "SYS"."DUAL" TO "DATASUL";
GRANT SELECT ON "SYS"."ICOL$" TO "DATASUL";
GRANT SELECT ON "SYS"."IND$" TO "DATASUL";
GRANT SELECT ON "SYS"."LINK$" TO "DATASUL";
GRANT SELECT ON "SYS"."OBJ$" TO "DATASUL";
GRANT SELECT ON "SYS"."PROCEDURE$" TO "DATASUL";
GRANT SELECT ON "SYS"."SEQ$" TO "DATASUL";
GRANT SELECT ON "SYS"."SYN$" TO "DATASUL";
GRANT SELECT ON "SYS"."TAB$" TO "DATASUL";
GRANT SELECT ON "SYS"."TS$" TO "DATASUL";
GRANT SELECT ON "SYS"."USER$" TO "DATASUL";
GRANT SELECT ON "SYS"."VIEW$" TO "DATASUL";
GRANT "CONNECT" TO "DATASUL";
GRANT "RESOURCE" TO "DATASUL";

Feita a criação tem que conceder aos usuários a ROLE criada, exemplo:
GRANT DATASUL TO EMS2CAD;

IMPORTANTE: necessário atribuir as permissões para todos os usuários configurado no Datasul, basicamente todos que foram cadastrados no programa bancos por empresa (btb\btb962aa.r).

-------------------------------------------------------
6. Conexão Srcadger
-------------------------------------------------------
Para o cliente que utiliza o Gestão de Planos precisa identificar se no arquivo de configuração do JBOSS tem a conexão do banco de dados SRCADGER, isso para evitar erros durante a utilização do Gestão de Planos.

Esse arquivo de configuração se encontra no diretório da instância do JBOSS em ...\ServidorAplicacao\jboss-4.2.3.GA\server\instance-8x80\deploy\ e tem o nome conforme o banco de dados do ambiente.

Exemplo:
- progress-ds.xml - banco de dados Progress
- oracle-ds.xml - banco de dados Oracle
- mssql-ds.xml - banco de dados SQL Server

--> Conteúdo para banco de dados Progress:

<local-tx-datasource>
<jndi-name>srcadger</jndi-name>
<connection-url>jdbc:datadirect:openedge://<SERVIDOR-BANCO>:<PORTA-SQL>;databaseName=srcadger</connection-url>
<driver-class>com.ddtek.jdbc.openedge.OpenEdgeDriver</driver-class>
<user-name>pub</user-name>
<password>pub</password>
<metadata>
<type-mapping>PostgreSQL 7.2</type-mapping>
</metadata>
<min-pool-size>1</min-pool-size>
<max-pool-size>30</max-pool-size>
</local-tx-datasource>
<local-tx-datasource>
<jndi-name>ErpDS</jndi-name>
<connection-url>jdbc:datadirect:openedge://<SERVIDOR-BANCO>:<PORTA-SQL>;databaseName=srcadger</connection-url>
<driver-class>com.ddtek.jdbc.openedge.OpenEdgeDriver</driver-class>
<user-name>pub</user-name>
<password>pub</password>
<metadata>
<type-mapping>PostgreSQL 7.2</type-mapping>
</metadata>
<min-pool-size>1</min-pool-size>
<max-pool-size>30</max-pool-size>
</local-tx-datasource>

- Substituir o valor <SERVIDOR-BANCO> pelo IP ou nome do servidor do banco de dados SRCADGER.
- Substituir o valor <PORTA-SQL> pela porta SQL carregada para o banco de dados SRCADGER.


--> Conteúdo para banco de dados Oracle:

<local-tx-datasource>
<jndi-name>srcadger</jndi-name>
<connection-url>jdbc:oracle:thin:@<SERVIDOR-ORACLE>:1521:<INSTANCIA-ORACLE></connection-url>
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
<user-name>srcadger</user-name>
<password>srcadger</password>
<exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name>
<metadata>
<type-mapping>Oracle10g</type-mapping>
</metadata>
<min-pool-size>1</min-pool-size>
<max-pool-size>8</max-pool-size>
</local-tx-datasource>
<local-tx-datasource>
<jndi-name>ErpDS</jndi-name>
<connection-url>jdbc:oracle:thin:@ <SERVIDOR-ORACLE>:1521:<INSTANCIA-ORACLE></connection-url>
<driver-class>oracle.jdbc.driver.OracleDriver</driver-class>
<user-name>srcadger</user-name>
<password>srcadger</password>
<exception-sorter-class-name>org.jboss.resource.adapter.jdbc.vendor.OracleExceptionSorter</exception-sorter-class-name>
<metadata>
<type-mapping>Oracle10g</type-mapping>
</metadata>
<min-pool-size>1</min-pool-size>
<max-pool-size>8</max-pool-size>
</local-tx-datasource>

- Substituir o valor <SERVIDOR-ORACLE> pelo IP ou nome do servidor que foi instalada a instância Oracle.
- Substituir o valor <INSTANCIA-ORACLE> pelo nome da instância Oracle que foi criado o SRCADGER.

--> Conteúdo para banco de dados SQL Server:

<local-tx-datasource>
<jndi-name>srcadger</jndi-name>
<connection-url>jdbc:sqlserver://<SERVIDOR-SQLSERVER>;instanceName=<NOME-BANCO>;databaseName=srcadger</connection-url>
<driver-class>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver-class>
<user-name>totvs</user-name>
<password>totvs</password>
<metadata>
<type-mapping>MS SQLSERVER2008</type-mapping>
</metadata>
<min-pool-size>1</min-pool-size>
<max-pool-size>8</max-pool-size>
</local-tx-datasource>
<local-tx-datasource>
<jndi-name>ErpDS</jndi-name>
<connection-url>jdbc:sqlserver://<SERVIDOR-SQLSERVER>;instanceName=<NOME-BANCO>;databaseName=srcadger</connection-url>
<driver-class>com.microsoft.sqlserver.jdbc.SQLServerDriver</driver-class>
<user-name>totvs</user-name>
<password>totvs</password>
<metadata>
<type-mapping>MS SQLSERVER2008</type-mapping>
</metadata>
<min-pool-size>1</min-pool-size>
<max-pool-size>8</max-pool-size>
</local-tx-datasource>

- Substituir o valor <SERVIDOR-SQLSERVER> pelo IP ou nome do servidor que foi instalado o SQL Server.
- Substituir o valor <NOME-BANCO> pelo nome do banco de dados criado para o SRCADGER.