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á armazenado no log de operações uma mensagem informando a existência de um problema de incompatibilidade entre o pacote ZSPS e o instalador. Nestes casos será necessário atualizar o instalador seguindo as orientações contidas no próprio log. Para mais detalhes sobre o log de operações, veja os itens Instalando/Atualizando pacotes de procedures e Consultando o histórico de operações.

- É a release da Central de Atualizações atualmente encontrada no ambiente em uso. Essa informação não determina que a Central de Atualizações está configurada no ambiente, ela apenas mostra a versão dos programas de Gestão de Procedures que por sua vez estão diretamente ligados à Central de Atualizações. Para mais informações sobre a Central de Atualizações clique aqui.

- Indicação de conectividade ou não com a Central de Atualizações (também conhecida pela sigla TPH). Essa informação também pode apresentar o valor TPH: OFF, que indica ausência de conectividade com a Central de Atualizações. Neste caso a ausência pode ser momentânea, ou seja, ocorreu algum problema durante a inicialização da interface, ou definitiva pois não há realmente nenhuma configuração no ambiente que possibilite o uso da Central de Atualizações.

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:


Um processo com IDSPS negativo no campo Instalado (no exemplo acima -17) significa apenas que ele é legado, ou seja, já estava devidamente instalado no ambiente previamente à migração para o novo modelo de Gestão de Procedures. Isso não caracteriza problema ou erro, apenas indica que o processo é legado. Processos legados, em sua maioria, estão Desatualizados perante aos novos pacotes ZSPS contidos no RPO ou na Central de Atualizações.


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 no 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. 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ária, a atualização da rotina deve ser efetuada primeiro por meio do patch indicado e somente então o processo poderá ser instalado/atualizado.


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 a rotina AdvPL e o processo:


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 (no caso é o processo 09).

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 assinaturas da rotina e do processo embarcado 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 é 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):


Resolução de problemas de incompatibilidade

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, caso o pacote contido no RPO possua a mesma assinatura da rotina AdvPL.

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.