Manutenção de stored procedures Produto Data da criação
: Microsiga Protheus – Configurador – Versão P11 26/11/10
País (es)
: Todos
FNC
: 00000016025/2010
: SCSFE6
Chamado Data da revisão
23/12/10
Banco(s) de Dados : Todos relacionais relacionais (TOP)
Foi desenvolvido um novo mecanismo para manutenção das stored procedures dos módulos de materiais e controladoria. Atualmente o processo de instalação das stored procedures é feito através da utilização de um único arquivo (“SIGAM11.SPS”) em que é possível apenas instalar ou remover todas as procedures de uma única vez. No novo método o pacote “SIGAM11.SPS” foi separado por processos, possibilitando um melhor controle das rotinas que utilizam stored procedures. Cada processo possui um conjunto de stored procedures que podem ser instaladas/atualizadas ou removidas separadamente do banco de dados utilizado, permitindo ao usuário instalar somente os processos que deseja utilizar. A estrutura dos processos de Materiais e Controladoria está organizada da seguinte forma: Nome do pacote
Rotina
Procedure
Processo
P11_01.SPS
CTBA190
CTB020
01
Reprocessamento contábil
P11_02.SPS
CTBA190
CTB001
02
Reprocessamento contábil de orçamentos
P11_03.SPS
CTBA220
CTB020
03
Consolidação geral de empresas
P11_04.SPS
CTBXATU
CTB150
04
Atualização de saldos on-line
P11_06.SPS
CTBXATU
CTB185
06
Atualização de saldos on-line por lote
P11_07.SPS
JOB192
CTB165
07
Reprocessamento por contas
Descrição
SIGACFG – Manutenção de Stored Procedures – 1
P11_08.SPS
MATXFUNB
FIN001
08
Somatória dos abatimentos
P11_09.SPS
FINA410
FIN003
09
Refaz Clientes/Fornecedores
P11_10.SPS
FINXFUN
FIN002
10
Saldo do título
P11_11.SPS
ATFA050
ATF001
11
Cálculo de depreciação de ativos
P11_12.SPS
PCOXSLD
PCO001
12
Atualiza os saldos dos cubos nas datas posteriores ao movimento
P11_13.SPS
PCOXSLD
PCO003
13
Atualiza os saldos dos cubos por chave
P11_14.SPS
MATXFUNB
MAT006
14
Cálculo de estoque (função CALCEST)
P11_15.SPS
MATA216
MAT041
15
Refaz poder de terceiros
P11_16.SPS
MATA225
MAT043
16
Saldos em estoque
P11_17.SPS
MATA280
MAT038
17
Virada de saldos
P11_18.SPS
MATA300
MAT040
18
Saldo atual
P11_19.SPS
MATA330
MAT004
19
Recálculo do custo médio
P11_20.SPS
MATA320
MAT005
20
Cálculo do custo de reposição
P11_21.SPS
MATA350
MAT026
21
Saldo atual para final
Cada processo possui seu próprio arquivo de pacote (SPS) com uma nomenclatura que define qual rotina/processo o arquivo se refere. Os pacotes de stored procedures são obtidos juntamente com o pacote de fontes AdvPL de cada um dos processos descritos na tabela acima. Observações:
Os nomes dos arquivos de pacote são pré-definidos e não podem ser modificados. Cada processo necessita que seu respectivo arquivo esteja com a nomenclatura conforme definida na tabela acima, respeitando a versão do sistema. Importante
A atualização de saldos on-line poderá ser realizada pelo processo “06 – Atualização de saldos on-line por lote” ou pelo processo “04 – Atualização de saldos on-line linha a linha”. Existe um parâmetro que define qual a forma de atualização de saldos on-line, MV_CTBSALD. Seu conteúdo pode ser: “1” (atualização pelo processo 04) ou “2” (atualização pelo processo 06 – default).
2 – SIGACFG – Manutenção de Stored Procedures
Nomenclatura do novo pacote de stored procedures A nomenclatura dos arquivos “SPS” está definida da seguinte forma: Exemplo: arquivo “P11_01.SPS”
Onde: •
P11 – Versão Protheus 11
•
01 – Código do processo (01 – Reprocessamento contábil)
Cada pacote poderá ser utilizado somente na versão compatível.
Nomenclatura das stored procedures As stored procedures receberão uma nova nomenclatura no novo método de manutenção. O código do processo será adicionado ao nome da procedure seguido do código da empresa. A nomenclatura das procedures está definida da seguinte forma: Exemplo: procedure “MAT006_14_01”
Onde: •
MAT006 – Nome que identifica a procedure
•
14 – Código do processo (14 – Cálculo do estoque)
•
01 – Código da empresa na qual a procedure foi instalada
Algumas procedures são executadas por mais de um processo. Para cada processo instalado no banco, um conjunto novo de procedures também será instalado. Desse modo pode-se identificar facilmente à qual processo a procedure pertence. Exemplo 1: procedure “xFILIAL_01_01”
Onde: •
xFILIAL – Nome que identifica a procedure
•
01 – Código do processo (01 – Reprocessamento contábil)
•
01 – Código da empresa na qual a procedure foi instalada
SIGACFG – Manutenção de Stored Procedures – 3
Exemplo 2: procedure “xFILIAL_19_01”
Onde: •
xFILIAL – Nome que identifica a procedure
•
19 – Código do processo (19 – Recálculo do custo médio)
•
01 – Código da empresa na qual a procedure foi instalada
Deste modo, ao remover um processo, somente as procedures pertencentes ao processo serão removidas do banco de dados e os demais processos continuarão funcionando normalmente.
Mudança nas procedures “TOOLS” Existem algumas procedures/functions denominadas “TOOLS”. Estas procedures/functions são instaladas de acordo com o tipo de banco de dados usado. Houve uma mudança no tamanho do nome de algumas destas procedures, conforme demonstrado abaixo: Modelo antigo
Modelo novo
Nome
Tamanho
Nome
Tamanho
MSCHARINDEX
11
MSCHARIND
9
As demais procedures/functions não foram alteradas. Observação:
Estas procedures/functions seguem a mesma regra de nomenclatura das demais procedures, ou seja, receberão o código do processo e da empresa na qual foram instaladas.
Stored procedures de ponto de entrada As procedures de pontos de entrada são as únicas que não serão modificadas em sua nomenclatura. Por serem específicas de cada processo, ou seja, somente um processo faz uso de uma procedure de ponto de entrada, não há necessidade de alteração do nome. Não existe duplicidade deste tipo de procedure no banco de dados. Com isso será preservada toda programação realizada pelo usuário em cada uma destas procedures, já que elas também não são removidas do banco ou substituídas no caso de uma atualização de pacote. 4 – SIGACFG – Manutenção de Stored Procedures
Importante: Clientes que utilizam as stored procedures referentes ao processo de “Custo Em Partes”,
deverão acertar a chamada da stored procedure “xFilial” contida na programação das stored procedures MA330CP, M330INB2CP, M330INC2CP, M280INB9CP e MA280INC2CP. Veja abaixo: Modelo antigo
Modelo novo
Procedure
Chamada
Procedure
Chamada
MA330CP
xFilial_##
MA330CP
xFilial_19_##
M330INB2CP
xFilial_##
M330INB2CP
xFilial_19_##
M330INC2CP
xFilial_##
M330INC2CP
xFilial_19_##
M280INB9CP
xFilial_##
M280INB9CP
xFilial_17_##
MA280INC2CP
xFilial_##
MA280INC2CP
xFilial_17_##
Onde: xFilial_19 “_19” código do processo referente à rotina de recalculo do custo (MATA330) xFilial_17 “_17” código do processo referente à rotina de virada de saldos (MATA280) _## Código da Empresa Exemplo: xFilial_19_## Considerando que o cliente utiliza a empresa “01”, teremos: xFilial_19_01 Observação:
A remoção de procedures de ponto de entrada do banco está condicionada ao parâmetro MV_DROPPE. Para correta utilização deste parâmetro verifique a documentação no help on-line ou no portal TDN.
Procedimentos para implementação O sistema será atualizado logo após a aplicação do pacote de atualizações ( Patch ) desta FNC. Após a aplicação do patch, o usuário deverá entrar no módulo configurador e criar manualmente o parâmetro MV_PROCSP no dicionário de dados SX6. Para que o novo método seja utilizado será necessário ativar este parâmetro manualmente.
SIGACFG – Manutenção de Stored Procedures – 5
Este parâmetro deve seguir a seguinte configuração: Nome da Variável
MV_PROCSP
Tipo
Lógico
Descrição
Indica se a manutenção de stored procedures será realizada por processo (.T. = Sim / .F. = Não)
Valor Padrão
.T.
Após aplicar o patch e ativar o parâmetro MV_PROCSP (como descrito acima) o módulo configurador passará a funcionar no novo método de manutenção, ou seja, a instalação/atualização ou remoção de procedures ocorrerá somente por processo. Não mais será possível utilizar o modelo antigo de configuração através de um único arquivo SPS. Se o parâmetro estiver ativado (conteúdo verdadeiro, .T.) o módulo configurador realizará a manutenção das stored procedures no método novo, ou seja, por processos. Se o parâmetro estiver desativado (conteúdo falso, .F.) ou não existir no dicionário SX6, o modelo antigo de manutenção continuará a ser utilizado e o comportamento do sistema não será alterado. Uma vez que o parâmetro MV_PROCSP estiver ativado será impossível realizar atualizações nas stored procedures através de um único arquivo SPS. Assim que o novo método for ativado, o usuário deverá obter e instalar todos os pacotes para os processos que deseja utilizar. A listagem abaixo apresenta as FNC’s onde os pacotes dos processos podem ser obtidos: Pacote
Rotina
Processo
P11_01.SPS
CTBA190 – Reprocessamento contábil
01
00000016817/2010
P11_02.SPS
CTBA190 – Reprocessamento contábil de orçamentos
02
00000016579/2010
P11_03.SPS
CTBA220 – Consolidação geral de empresas
03
00000017172/2010
P11_04.SPS
CTBXATU – Atualização de saldos on-line
04
00000017016/2010
P11_06.SPS
CTBXATU – Atualização de saldos on-line por Lote
06
00000017016/2010
P11_07.SPS
JOB192 – Reprocessamento por contas
07
00000017100/2010
P11_08.SPS
MATXFUNB – Somatória dos abatimentos
08
00000017036/2010
6 – SIGACFG – Manutenção de Stored Procedures
FNC
P11_09.SPS
FINA410 – Refaz Clientes/Fornecedores
09
00000017020/2010
P11_10.SPS
FINXFUN – Saldo do título
10
00000017050/2010
P11_11.SPS
ATFA050 – Cálculo de depreciação de ativos
11
00000017130/2010
P11_12.SPS
PCOXSLD – Atualiza os saldos dos cubos nas datas posteriores ao movimento
12
00000016583/2010
P11_13.SPS
PCOXSLD – Atualiza os saldos dos cubos por chave
13
00000016706/2010
P11_14.SPS
MATXFUNB - Cálculo de estoque (função CALCEST)
14
00000015971/2010
P11_15.SPS
MATA216 – Refaz poder de terceiros
15
00000016025/2010
P11_16.SPS
MATA225 – Saldos em estoque
16
00000016034/2010
P11_17.SPS
MATA280 – Virada de saldos
17
00000016039/2010
P11_18.SPS
MATA300 – Saldo atual
18
00000016045/2010
P11_19.SPS
MATA330 – Recálculo do custo médio
19
00000016046/2010
P11_20.SPS
MATA320 – Cálculo do custo de reposição
20
00000016053/2010
P11_21.SPS
MATA350 – Saldo atual para final
21
00000016059/2010
Observação:
Conforme novas atualizações/correções forem executadas, novas FNC’s serão geradas e disponibilizadas no portal do cliente contendo os respectivos pacotes atualizados.
Remoção de stored procedures antigas No método novo de manutenção, o módulo configurador não fará mais a instalação/atualização ou remoção das procedures antigas. Por esse motivo deve-se analisar a possibilidade de remoção destas procedures antes de iniciar a utilização do novo método. Para isso deve-se utilizar o módulo configurador sem a aplicação do patch desta FNC ou com o parâmetro MV_PROCSP desativado (conteúdo falso, .F.) ou inexistente no dicionário de dados SX6.
SIGACFG – Manutenção de Stored Procedures – 7
Observações:
É recomendável a remoção de todas as stored procedures antigas da base de dados antes de iniciar a utilização do novo método. Após a ativação do parâmetro MV_PROCSP as procedures antigas não serão mais utilizadas pelo sistema, que passará a executar apenas as procedures novas instaladas para cada processo. Por exemplo, caso o processo “19 – Recálculo do custo” seja instalado sem que as procedures antigas sejam removidas, a procedure “MAT004” entrará em desuso, pois a rotina de recálculo do custo utilizará a procedure “MAT004_19”. Por esse motivo a desinstalação das procedures antigas é altamente recomendada.
Procedimentos para configuração Instalando/atualizando novos processos
Para instalar/atualizar um processo realize os seguintes passos: 1. Analise se as procedures antigas da base de dados devem/podem ou não ser removidas para a empresa que será atualizada conforme mencionado anteriormente neste boletim. 2. Obtenha os patchs mais atuais de cada uma das rotinas para as quais deseja instalar o processo. 3. Aplique os patchs para as rotinas desejadas. 4. Verifique se os pacotes (arquivos SPS) estão no diretório definido na chave “STARTPATH” do arquivo INI do Protheus Server. 5. Execute o módulo configurador e ative o parâmetro MV_PROCSP como mencionado anteriormente. 6. Após ativar o parâmetro, selecione a opção de instalação de procedures. 7. Selecione quais processos deseja instalar/atualizar na janela de configuração. Vários processos podem ser instalados ao mesmo tempo. 8. Selecione para quais empresas os processos serão instalados/atualizados. Na janela de seleção o usuário visualizará todos os processos disponíveis bem como o nome do arquivo SPS necessário para sua instalação/atualização. Consultando os processos já instalados na base (por empresa)
A partir da ativação do parâmetro MV_PROCSP a opção de consulta às stored procedures apresentará a listagem de todos os processos instalados/disponíveis no sistema. As procedures antigas não serão mais analisadas e mesmo que estejam instaladas corretamente no banco, a consulta não exibirá nenhuma informação sobre elas, já que não serão mais utilizadas por nenhuma rotina do sistema (conforme mencionado anteriormente). 8 – SIGACFG – Manutenção de Stored Procedures
Foi incluída à consulta uma nova coluna denominada “Código do processo”, indicando qual é o código do processo para a respectiva rotina. Esta coluna apresentará os códigos de cada um dos processos disponíveis para instalação/atualização ou remoção da base de dados. As demais informações continuam as mesmas, ou seja, será apresentado o nome da rotina, as assinaturas tanto da rotina quanto do processo e seu status, que pode apresentar os seguintes valores: - “OK”: o processo está instalado corretamente (sinalizado na cor verde). - “Processo não instalado”: o processo não está instalado (sinalizado na cor vermelha). - “Rotina desatualizada”: a rotina em AdvPL está desatualizada (sinalizado na cor amarela). - “Processo desatualizado”: o processo está desatualizado (sinalizado na cor amarela). Para alterar o status dos processos ou das rotinas o usuário deve proceder conforme mencionado no item “Instalando/atualizando novos processos”. Observação:
Foi adicionado à barra de botões da janela de consulta um novo botão que apresenta a legenda para os status das rotinas/processos.
Procedimentos para utilização 1. No módulo Configurador acesse Base de dados / Dicionário / Stored Procedure . O sistema apresentará as opções disponíveis: Instalação, Desinstalação ou Consulta. 2. Selecione a opção Instalação. 3. Selecione os processos que deseja instalar/atualizar e clique em OK. 4. Selecione as empresas para as quais os processos serão instalados/atualizados. 5. Aguarde o término do processo. 6. Repita o passo “1” e selecione agora a opção Consulta. 7. Será exibida a janela de consulta contendo todos os processos disponíveis para a empresa atual. 8. Verifique se os processos selecionados anteriormente no passo “3” foram instalados corretamente. 9. Repita o passo “1” e selecione a opção Desinstalação . 10. Selecione os processos que deseja desinstalar e confirme clicando em OK. 11. Aguarde o término do processo. 12. Novamente realize a consulta e verifique se todos os processos selecionados no passo “10” foram desinstalados corretamente.
SIGACFG – Manutenção de Stored Procedures – 9
Informações Técnicas Rotinas Envolvidas
SIGACFG – Módulo Configurador
Sistemas Operacionais
Todos
Número do Plano
00000015973/2010
10 – SIGACFG – Manutenção de Stored Procedures