Sumário
Novo Gestor de Stored Procedures – CFGX051M
Migração para o novo modelo
Nova interface
Relação de empresas
Relação de processos
Guia Empresa vs Processos
Guia Processo vs Empresas
Visualizando detalhes
Entendendo os status dos processos e ações que podem ser tomadas
Instalando/Atualizando pacotes de procedures
Desinstalando pacotes de procedures
Consultando o histórico de operações
Relatório de Log
Configurações adicionais da rotina


Desde o dia 06/05/2022 as stored procedures são atualizadas apenas por esta nova funcionalidade. Isso significa que os arquivos de extensão SPS e a rotina CFGX051 não recebem mais atualizações. O novo modelo é o único e exclusivo processo para atualização de stored procedures.


Novo Gestor de Stored Procedures – CFGX051M


O programa Gerenciador de procedures (CFGX051), do módulo Configurador (SIGACFG) passou por uma mudança significativa.
Uma das principais mudanças, além da interface totalmente remodelada, é o fato de não mais existirem os arquivos de pacotes com extensão SPS. Estes arquivos foram substituídos por arquivos de extensão ZSPS, que estarão embarcados no RPO. A atualização destes arquivos ocorrerá de maneira semelhante à atualização de qualquer artefato, ou seja, através de patchs de atualizações expedidos pela TOTVS.
Outra grande mudança é a integração com a Central de Atualizações para obtenção dos pacotes de procedures mais recentes homologados. Esta integração ocorrerá de maneira transparente visando facilitar o processo de atualização das procedures no ambiente. Para saber mais clique aqui.


Esta alteração não afeta:

  • Como as procedures são executadas;
  • Como são instaladas no banco;
  • Conteúdo das procedures e dos pontos de entradas;
    Esta alteração apenas muda a interface e a forma como as procedures são distribuídas.


Migração para o novo modelo


Para preparar o ambiente e realizar a migração, tenha certeza de executar os seguintes passos:

Passo 1: Aplique a última release da Central de Atualizações. Para isso acesse a página de Release Notes e baixe o patch mais recente disponibilizado.

Mesmo que não utilize a Central de Atualizações, aplique o patch da última release disponível. Ele é imprescindível pois atualizará o RPO com a nova interface e suas funcionalidades.


Passo 2: Aplique os patchs de Expedições Contínuas dos módulos relacionados abaixo para atualizar o RPO com os pacotes ZSPS e também as rotinas vinculadas aos processos de stored procedures:

    1. Versão 12.1.27
      1. FAT (Faturamento) - https://suporte.totvs.com/portal/p/10098/download#detail/954520
      2. COM (Compras) - https://suporte.totvs.com/portal/p/10098/download#detail/957277
      3. FIS (Fiscal) - https://suporte.totvs.com/portal/p/10098/download#detail/956585
      4. FIN (Financeiro) - https://suporte.totvs.com/portal/p/10098/download#detail/954746
      5. EST (Estoque) - https://suporte.totvs.com/portal/p/10098/download#detail/960571
      6. CTB (Controladoria) - https://suporte.totvs.com/portal/p/10098/download#detail/959397
    2. Versão 12.1.33
      1. FAT (Faturamento) - https://suporte.totvs.com/portal/p/10098/download#detail/1039091
      2. COM (Compras) - https://suporte.totvs.com/portal/p/10098/download#detail/1039089
      3. FIS (Fiscal) - https://suporte.totvs.com/portal/p/10098/download#detail/1039088
      4. FIN (Financeiro) - https://suporte.totvs.com/portal/p/10098/download#detail/1039087
      5. EST (Estoque) - https://suporte.totvs.com/portal/p/10098/download#detail/1039086
      6. CTB (Controladoria) - https://suporte.totvs.com/portal/p/10098/download#detail/1039084


Os patchs de Expedição Contínua dos módulos acima são necessários para que o RPO seja atualizado com os pacotes de procedures no novo formato .ZSPS, além das rotinas associadas às stored procedures. A aplicação destes patchs é obrigatória, caso contrário poderão ocorrer erros durante a instalação/desinstalação de processos.


Passo 3: Acesse o programa Gerenciador de procedures, através do menu Base de Dados | Dicionário | Stored Procedure. Será apresentada a seguinte interface:

As opções disponíveis são:


Passo 4: Clique no botão Atualizar. O processo de migração se inicia e ao ser concluído a nova interface será apresentada.


Nova interface


A principal mudança na interface será a apresentação das empresas disponíveis no ambiente e todos os processos existentes para gerenciamento ao mesmo tempo, em uma mesma janela. Não haverá necessidade de mudança de empresa para a visualização dos seus processos.

A interface possui novos botões laterais que permitirão gerenciar os processos de maneira prática e rápida, realizando a instalação e remoção de processos com poucos cliques. Consulta e relatório de log de processamento estarão disponíveis também. Novas abas permitem uma navegação mais simples e eficiente para visualizar os processos e empresas. E os totalizadores darão um resumo de forma rápida sobre os status dos processos.


Relação de empresas


Aqui serão listadas todas as empresas disponíveis no ambiente. Não há necessidade de entrar no ambiente utilizando a empresa para a qual se deseja instalar/desinstalar um processo.
Será possível marcar mais de uma empresa e realizar a ação desejada de uma só vez.


As ações disponíveis nos botões da barra lateral são:

Relação de processos


Serão listados todos os processos disponíveis para instalação.

As ações disponíveis nos botões da barra lateral são:

Guia Empresa vs Processos


A visão disponibilizada nesta guia baseia-se na navegação realizada entre as empresas disponíveis na relação de empresas.


A parte superior apresentará o nome da empresa posicionada, além dos totalizadores de cada um dos possíveis status.
Na parte inferior estarão relacionados todos os processos disponíveis e seus respectivos status na empresa posicionada.

Guia Processo vs Empresas


A visão disponibilizada nesta guia baseia-se na navegação realizada entre os processos disponíveis na relação de processos.


Esta guia somente estará visível caso exista mais de uma empresa/grupo de empresas disponível no ambiente.



A parte superior apresentará o nome do processo posicionado, além dos totalizadores de cada um dos possíveis status.
Na parte inferior estarão relacionadas todas as empresas disponíveis e seus respectivos status perante o processo posicionado.


LEGENDA

Indica que o processo está atualizado.

Indica que o processo está desatualizado.

Indica que não foi possível avaliar o status do processo.

Indica que o processo não está instalado.

Indica que o processo e a rotina AdvPL possuem assinaturas incompatíveis.


O detalhamento dos status está no tópico Entendendo os status dos processos e ações que podem ser tomadas.

Visualizando detalhes


Ao efetuar um duplo clique no grid, onde estão relacionados os processos e empresas e seus respectivos status, será exibida uma interface contendo detalhes sobre o item selecionado.


As seções apresentadas são:

Seção Detalhes:

Apresenta informações detalhadas sobre o ambiente:


Seção Processo:

Apresenta informações detalhadas do processo:


Seção Rotina:

Apresenta informações detalhadas do rotina AdvPL associada ao processo:


Seção Gestão de Procedures:

Apresenta informações detalhadas da interface de Gestão de Procedures (CFGX051M):

Entendendo os status dos processos e ações que podem ser realizadas

A nova interface exibe uma série de ícones para representar os status possíveis para os processos. Aqui estão relacionados os possíveis status e as ações que podem ser tomadas para cada situação.


ATUALIZADO: Nesta situação não há nada que precise ser feito, pois o processo instalado na base de dados está corretamente atualizado com a última versão disponível em comparação ao pacote que está no RPO (modo offline) ou em relação ao pacote disponível na Central de Atualizações (modo online).


DESATUALIZADO: O processo instalado na base de dados não está na sua versão mais recente disponibilizada pela TOTVS. Isso significa que o ID do pacote instalado é inferior ao ID do último pacote homologado. Aqui deve-se realizar a seguinte análise:


Em ambientes online: A comparação é realizada com os pacotes disponíveis na Central de Atualizações.  Vamos pegar como exemplo um processo desatualizado onde o ID instalado é inferior ao ID disponível na Central:

Exemplo de processo desatualizado:

Visualizando os detalhes do processo:


Note que o ID do processo instalado (7) é inferior ao ID do processo mais recente disponível na Central de Atualizações (691). Por este motivo o status do processo é desatualizado.


Em ambientes offline: A comparação é realizada com os pacotes embarcados no RPO. Vamos pegar como exemplo um processo desatualizado onde o ID instalado é inferior ao ID disponível no RPO:

Visualizando os detalhes do processo:

Isso pode ocorrer após a aplicação de algum patch (.PTM) contendo o pacote ZSPS mais atual. Nesta situação, como o ID do processo instalado (13) é inferior ao ID do processo disponível no RPO, o status do processo é desatualizado.


Solução: ATUALIZAR O PROCESSO

Para atualizar o processo basta realizar o procedimento descrito no tópico a seguir Instalando/Atualizando pacotes de procedures.

Não será necessário obter nenhum arquivo adicional, nem realizar a aplicação de patchs de atualizações (.PTM). A própria rotina de Gestão de Procedures se encarregará de obter o pacote mais recente disponível (da Central de Atualizações para ambientes online ou do próprio RPO para ambientes offline) e realizará a instalação na base de dados. O status do processo após a instalação será alterado para ATUALIZADO.


NÃO AVALIADO: Neste caso o processo instalado na base de dados não pôde ser comparado com o que está embarcado no RPO (modo offline) nem com o que está disponível na Central de Atualizações (modo online). Este status é muito peculiar e não ocorrerá com frequência, exceto nas seguintes situações:

Peguemos como exemplo um processo nesta situação:


Ao analisarmos os detalhes do processo, veremos:


No exemplo acima, constatamos que não há informações sobre o pacote no RPO. Isso significa que não existe o arquivo ZSPS do processo em questão de forma embarcada. Isso pode acontecer, por exemplo, se:

Também constatamos que não há informações sobre o pacote na Central de Atualizações. O campo TPH (referente à Central de Atualizações) nem ao menos foi exibido na janela de detalhes. Isso significa que no momento em que a rotina foi executada a conectividade entre a aplicação e a Central de Atualizações foi interrompida ou é inexistente no ambiente em questão. Por estes motivos o status do processo é não avaliado


Solução:

A solução neste caso envolve:

Após certificar de que o ambiente está normalizado, a reabertura da interface se faz necessária para que o status do processo seja novamente analisado. Não é necessário realizar a instalação/atualização do processo. 


NÃO INSTALADO: O processo não instalado não representa uma anormalidade ou um erro. A instalação ou não do processo deve seguir as necessidades de cada ambiente onde a responsabilidade é dividida entre o administrador do sistema e as equipes que farão uso daquele processo. As rotinas Protheus associadas aos processos (ver o tópico Visualizando detalhes) funcionam normalmente sem que os processos sejam instalados na base de dados, porém o desempenho das rotinas AdvPL não é o mesmo se comparado ao desempenho das stored procedures.

Solução:

Caso seja necessário instalar um processo, basta seguir o procedimento descrito no tópico a seguir Instalando/Atualizando pacotes de procedures.


INCOMPATÍVEL: Nesta situação as assinaturas do processo e da rotina AdvPL (consulte tópico Visualizando detalhes) são incompatíveis. Isso significa que a rotina AdvPL que faz a chamada para as procedures não poderá utilizá-las. Ao tentar executar uma rotina que esteja incompatível com seu processo (stored procedures), o usuário receberá a seguinte mensagem de erro:


Exemplo de mensagem de incompatibilidade entre Rotina AdvPL e Stored Procedures:


No exemplo acima vemos que a rotina FINA410 tentou executar a stored procedure FIN003_09 e recebeu um erro. Isso ocorre porque a assinatura da rotina (013) não é a mesma assinatura da stored procedure (011). A rotina não poderá ser executada através de stored procedure até que as assinaturas sejam compatibilizadas.

Podemos verificar estas informações ao visualizarmos os detalhes do processo.

Constatamos então que as assinaturas são diferentes.


Solução: COMPATIBILIZAR AS ASSINATURAS

A solução nestes casos envolve uma das seguintes opções:

Se mesmo após a aplicação do patch (.PTM) mais atual da rotina e/ou instalação do processo mais atual disponibilizado pela TOTVS, as assinaturas continuarem incompatíveis o suporte deverá ser acionado e a área responsável pelo processo deverá providenciar a compatibilização das assinaturas.


Instalando/Atualizando pacotes de procedures


Não será necessário obter nenhum arquivo de extensão .SPS. Eles são obsoletos e não são mais utilizados por esta rotina.


Em ambientes offline: Os arquivos necessários para a instalação estarão presentes de forma embarcada no RPO. Estes arquivos possuem a extensão ZSPS e contém todas as informações necessárias para que o procedimento seja realizado de maneira off-line (sem integração com a Central de Atualizações). Caso o processo a ser instalado não possua o referido arquivo .ZSPS embarcado no RPO (para constatar isso, consulte o tópico Visualizando detalhes), será necessário aplicar um patch (.PTM) que contenha o arquivo.

Em ambientes online: Durante o procedimento de instalação, caso a integração com a Central de Atualizações esteja ativa, os processos mais atuais homologados pela TOTVS serão obtidos de maneira online e serão utilizados na instalação (desde que sejam mais recentes que os disponíveis no RPO).


Dessa forma garantimos que o ambiente esteja sempre atualizado com os processos de procedures mais recentemente homologados e disponibilizados pela TOTVS.

Para realizar a instalação/atualização:


Após selecionar as empresas e processos, basta clicar no botão (instalar processos).

Será exibida uma janela com alguns avisos solicitando a confirmação:


O procedimento de instalação somente poderá ocorrer se os processos selecionados não estiverem em uso por outra rotina neste momento.
Ao confirmar, surgirá uma outra janela exibindo o andamento da instalação:


Ao final do procedimento surgirá uma janela contendo o Resumo das operações realizadas durante a instalação:

Nesta interface constam as seguintes informações:

Ainda na janela de Resumo, ao clicar no botão Ver detalhes o detalhamento das ações será exibido:

No botão Outras Ações é possível gerar o relatório deste log.


Ao fechar a janela de Resumo (ou de log), a interface principal será atualizada para refletir o status atual:


Desinstalando pacotes de procedures


O procedimento para desinstalação de pacotes é semelhante ao de instalação. É necessário apenas que os processos envolvidos não estejam em uso. Este procedimento necessita de acesso exclusivo em algumas tabelas do banco de dados e por isso não pode haver concorrência.

Para realizar a desinstalação:


Após selecionar as empresas e processos, basta clicar no botão (desinstalar processos).
Será exibida uma janela com alguns avisos solicitando a confirmação da desinstalação:


O procedimento de desinstalação somente poderá ocorrer se os processos selecionados não estiverem em uso por outra rotina neste momento.
Ao confirmar, surgirá uma outra janela exibindo o andamento da desinstalação:


Ao final do procedimento surgirá uma janela contendo o Resumo das operações realizadas durante a desinstalação:

Nesta interface constam as seguintes informações:

Ainda na janela de Resumo, ao clicar no botão Ver detalhes o detalhamento das ações será exibido:

No botão Outras Ações é possível gerar o relatório deste log.


Ao fechar a janela de Resumo (ou de log), a interface principal será atualizada para refletir o status atual:

Consultando o histórico de operações

Para visualizar o histórico das operações realizadas, basta clicar no botão (Histórico de operações) da interface principal:

As informações na parte superior desta interface se referem às ações de instalação e desinstalação realizadas, contendo entre elas:

Na parte inferior são apresentados os detalhes de cada tarefa:

A legenda da grid inferior apresentará:

INFO - Informações genéricas;

OK - Ação realizada com sucesso;

SKIP - Ação ignorada;

ERRO - Ação com falha/problema na execução; 


Ao encontrar uma ação com o tipo ERRO note que haverá o texto "Duplo clique em Memo para detalhes" na descrição do log. Nesta situação, basta efetuar um duplo clique na coluna Detalhes para visualizar a mensagem completa com a falha/problema ocorrido:


Conteúdo da coluna Detalhes:


Relatório de Log

No botão Outras Ações da janela de Log é possível gerar um relatório completo de todas as operações contidas no log. Também é possível efetuar filtros personalizar o relatório.


Ao selecionar a opção Relatório, a seguinte interface é exibida. Nesta janela é possível definir, entre outras opções, o tipo de arquivo gerado:


No exemplo acima foi selecionada a opção Planilha:


Utilize a opção Planilha para gerar um arquivo em formato Excel. Dessa forma é possível enviar o log para equipes de suporte TOTVS.


Configurações adicionais da rotina

O botão (Configurações adicionais da rotina) está disponível na interface principal, na barra lateral:


Ao ser acionado, exibe uma interface onde é possível configurar o comportamento da rotina com as seguintes opções:


Exemplo: Processo com status Atualizado 

No exemplo acima vemos que o processo está Atualizado, pois o pacote instalado possui ID 691, que é exatamente o mais recente disponibilizado.

Se marcarmos esta opção e realizarmos a instalação deste processo, veremos que o pacote com ID 7 presente no RPO será utilizado ao invés do ID 691.

Após instalar o processo com esta opção ativa, veremos nos detalhes que o pacote utilizado foi o que está contido no RPO (ID 7):


Com a opção Forçar utilização de pacotes .ZSPS contidos no RPO ativa durante a instalação, é possível que o status do processo fique Desatualizado ou Incompatível. Atente-se para esta situação antes de utilizar esta opção.


Ao encerrar a interface de Gestão de Procedures estas opções ficam desativadas (comportamento padrão). Elas devem ser reconfiguradas sempre que necessário.