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.PRW 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 (antigo CFGX051.PRW, atual CFGX051M.PRW), 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:

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

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

Versão 12.1.2210

  1. FAT (Faturamento) - https://suporte.totvs.com/portal/p/10098/download?e=1080341
  2. COM (Compras) - https://suporte.totvs.com/portal/p/10098/download?e=1080335
  3. FIS (Fiscal) - https://suporte.totvs.com/portal/p/10098/download?e=1080345
  4. FIN (Financeiro) - https://suporte.totvs.com/portal/p/10098/download?e=1080343
  5. EST (Estoque) - https://suporte.totvs.com/portal/p/10098/download?e=1080339
  6. CTB (Controladoria) - https://suporte.totvs.com/portal/p/10098/download?e=1080337


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 permitem o gerenciamento dos processos de maneira prática e rápida, realizando a instalação e remoção com poucos cliques. Consulta e relatório de log de processamento e configurações adicionais também estão disponíveis. Novas abas permitem uma navegação mais simples e eficiente para visualizar os processos e empresas. Os totalizadores fornecem, de forma rápida, um resumo dos status dos processos.


Entendendo as informações exibidas no título da interface:

- Título da interface. A rotina Gestão de Procedures (programa CFGX051M.PRW) também é chamada de instalador de pacotes de procedures.

- É a data e hora do programa CFGX051M.PRW compilado no RPO em uso. Este valor será atualizado sempre que uma nova versão do programa for aplicada no RPO através de patchs de atualização.

- É a assinatura da rotina de Gestão de Procedures. Esta assinatura é utilizada para garantir que a versão do instalador seja compatível com os pacotes ZSPS utilizados para instalação de processos. Esta assinatura será atualizada  (incrementada) conforme a evolução da rotina de instalação. Se o instalador não possuir a assinatura mínima exigida pelo pacote ZSPS, durante a instalação será exibida uma mensagem informando o problema de incompatibilidade. Nestes casos será necessário atualizar o instalador seguindo as orientações contidas no log.

- É a release da Central de Atualizações atualmente instalada no ambiente em uso. Para mais informações sobre a Central de Atualizações clique aqui.

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: O processo instalado no ambiente está 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).

Solução:

Nenhuma ação é necessária neste caso.


DESATUALIZADO: O processo instalado no ambiente não está na sua versão mais recente disponibilizada pela TOTVS. Isso significa apenas que o IDSPS do pacote instalado é inferior ao IDSPS do último pacote homologado. Um pacote que está desatualizado não representa um erro e sua atualização não é obrigatória ou urgente. Um pacote de procedures com este status pode perfeitamente ser executado por sua rotina AdvPL.

Ao encontrarmos processos com este status, devemos considerar:


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 IDSPS instalado é inferior ao IDSPS disponível na Central de Atualizações:

Exemplo de processo desatualizado:

Visualizando os detalhes do processo:


Note que o IDSPS do processo instalado (7) é inferior ao IDSPS do processo mais recente disponível na Central de Atualizações (691). Por este motivo o status do processo fica Desatualizado. Isto ocorre pois o processo recém homologado fica disponível para uso imediatamente à sua publicação e a ferramenta faz a leitura em tempo real, sem que nenhum patch seja aplicado em seu ambiente.


Os pacotes de procedures ficam disponíveis na Central de Atualizações assim que é feita a homologação dos mesmos. Essa etapa ocorre simultaneamente à expedição dos patchs de atualizações (.PTM) publicados e disponibilizados no Portal de Downloads. Por esse motivo, em um ambiente integrado à Central de Atualizações a interface pode indicar, a qualquer momento, que um determinado processo está Desatualizado (conforme descrito anteriormente). Contudo, isso não indica necessariamente um problema, já que pacotes Desatualizados podem ser utilizados normalmente por suas rotinas AdvPL.



Em ambientes offline: A comparação é realizada com os pacotes embarcados no RPO. Vamos pegar como exemplo um processo desatualizado onde o IDSPS instalado é inferior ao IDSPS 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 IDSPS do processo instalado (13) é inferior ao IDSPS do processo disponível no RPO (647), 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 no ambiente. O status do processo após a instalação será alterado para ATUALIZADO

Caso o processo esteja funcionando corretamente em seu ambiente, não há motivos para atualizá-lo com urgência. Avalie também a atualização da rotina AdvPL associada ao processo. Programe o melhor momento para realizar esta atualização já que, caso seja necessário, a atualização da rotina deve ser efetuada primeiro por meio do patch indicado.


NÃO AVALIADO: Neste caso o processo instalado no ambiente 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: Um 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 estejam instalados no ambiente, porém o desempenho delas 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 de 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 utilizando as stored procedures 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 para entender o ocorrido. Existe ainda a alternativa para solucionar o problema de incompatibilidade de assinaturas por meio da opção Forçar utilização de pacotes .ZSPS contidos no RPO. Entretanto deve-se analisar os detalhes do processo (consulte tópico Visualizando detalhes, subitem Processo) e identificar se as assintaturas da rotina e do processo no RPO são compatíveis. Veja os detalhes do funcionamento desta opção em Configurações adicionais da rotina.


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 offline (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 em ambientes integrados com a Central de Atualizações, os processos mais recentes homologados e disponibilizados 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 e/ou presentes no ambiente (de forma embarcada no RPO).

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. Estas informações são fundamentais para a equipe iniciar a análise de problemas.


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 IDSPS 691, que é exatamente o mais recente disponível na Central de Atualizações.

Se marcarmos esta opção e realizarmos a instalação deste processo, veremos que o pacote com IDSPS 7 presente no RPO será utilizado ao invés do IDSPS 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 (IDSPS 7):


Com esta opção ativa durante a instalação de pacotes, podemos resolver problemas de INCOMPATIBILIDADE de assinaturas entre a rotina AdvPL e o processo de procedures.


LER COM MUITA ATENÇÃO ANTES DE UTILIZAR ESTA OPÇÃO.

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. Tudo depende dos pacotes presentes no RPO e disponíveis na Central de Atualizações. Por exemplo, se um pacote presente no RPO com IDSPS inferior ao IDSPS do pacote disponível na Central de Atualizações for utilizado, o status do processo após a instalação (com esta opção ativa), será Desatualizado pois existe um pacote mais recente disponível. Pode ser que seja do interesse do responsável pelo ambiente deixar o processo Desatualizado, porém totalmente funcional, ao invés de utilizar um pacote mais recente mas que encontra-se defeituoso ou possua uma assinatura que o torne Incompatível com sua rotina. Esta opção possibilita retroceder ao pacote mais antigo presente no RPO, porém funcional, liberando-o para ser usado pela rotina AdvPL. O estudo de viabilidade desta opção fica a critério do responsável pelo ambiente. Lembrando novamente: pacotes Desatualizados podem ser utilizados perfeitamente. Apenas pacotes Incompatíveis não podem ser utilizados por suas rotinas AdvPL. Para mais informações sobre os status dos processos veja o tópico Entendendo os status dos processos e ações que podem ser tomadas


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.