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. |
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:
|
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
Versão 12.1.33
Versão 12.1.2210
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.
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.
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:
Instalar os pacotes selecionados nas empresas selecionadas.
Remover os pacotes selecionados das empresas selecionadas.
Marcar todas as empresas disponíveis no grid.
Desmarcar todas as empresas do grid.
Consultar o histórico de operações.
Serão listados todos os processos disponíveis para instalação.
As ações disponíveis nos botões da barra lateral são:
Marcar todos os processos disponíveis no grid.
Desmarcar todos os processos do grid.
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.
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.
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):
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.
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:
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:
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:
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 e 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. |
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.