Histórico da Página
Efetivação de Pré-lançamentos com Recurso Multithread (Réplica da versão 11.80 http://tdn.totvs.com/x/Ae4FE)
Características do Requisito
Linha de Produto: | Microsiga Protheus | ||||||||||||
Segmento: | Serviços | ||||||||||||
Módulo: | Contabilidade Gerencial - SIGACTB | ||||||||||||
Rotina: |
| ||||||||||||
Cadastros Iniciais: | Calendário Contábil Moeda Contábil Amarração Calendário Contábil x Moeda Contábil Plano de Contas Lançamento Contábeis | ||||||||||||
Parâmetro(s): | MV_CT350TH - Quantidade de Thread na efetivação MV_CT350SL - Controle atualização saldos na efetivação MV_CT350TC - Controle trace log na efetivação | ||||||||||||
Tickets relacionados | 1061089 | ||||||||||||
Requisito/Story/Issue (informe o requisito relacionado): | DSERCTR1-3149 | ||||||||||||
País(es): | Todos | ||||||||||||
Banco(s) de Dados: | Todos homologados | ||||||||||||
Tabelas Utilizadas: | CT2 – Lançamentos Contábeis CTC - Saldos do Documento | ||||||||||||
Sistema(s) Operacional(is): | Todos homologados |
Descrição
Implementada a melhoria de performance para a rotina CTBA350 – Efetivação, através da utilização de Threads e Stored Procedures dinâmicas e cálculo da tabela CTC (Saldos por documentos).
Thread é um pequeno programa que trabalha como um subsistema independente de um programa maior, executando uma tarefa específica. Um programa dividido em várias threads pode rodar mais rápido que um programa monolítico, pois várias tarefas podem ser executadas simultaneamente, permitindo compartilhar os recursos do sistema.
Stored Procedures, nome correspondente em português seria Procedimento Armazenado e são rotinas criadas na linguagem nativa do banco de dados utilizado, que tem por objetivo agilizar a execução de processamentos que podem ser demorados, dependendo do volume de dados armazenados. As Stored Procedures são dinâmicas quando são criadas em tempo de execução e excluídas ao final do processamento.
Para ganho de performance no processamento da Rotina CTBA350 – efetivação, foi implementado o conceito de execução por thread que permite ao usuário definir, através do novo parâmetro MV_CT350TH, o número de threads que devem ser executadas ao mesmo tempo pelo Sistema.
A quantidade de Threads é definida com base na infraestrutura do cliente que deverá avaliar a necessidade de aumento ou diminuição.
O ganho de performance no processo multithread é perceptível para processamento de documentos com grandes quantidades de linhas (lançamentos), caso contrário, recomenda-se o uso da efetivação tradicional.
Atualizações do Dicionário de dados
- Criação ou Alteraçãode Perguntas no arquivo SX1 – Cadastro de Perguntes:
PergunteGrupo | CTBA192 | ||
Nome |
| ||
Grupo | (X1_GRUPO) | ||
Ordem | (X1_ORDEM) | ||
Tipo | (X1_TIPO) | ||
Pergunte | Atualizar Saldo DOC? | ||
Ordem | 12 | ||
Tipo | Numérico | ||
Tamanho | 1 | ||
Modo Entrada | Combo | ||
Definição 1 | Sim | ||
Definição 2 | Não | Tamanho | (X1_TAMANHO)|
Help | Informe se irá efetuar a atualização dos saldos do documento? |
2. Criação ou Alteração de tabela no arquivo SX2– Tabelas:
Chave | Nome | Modo | PYME |
B04 (X2_CHAVE) | Dente/Região (X2_NOME) | C (X2_MODO) | N (X2_PYME) |
3. Criação ou Alteração de Tabelas Genéricas no arquivo SX5 – Tabelas Genéricas:
Chave
Ex.: AR
Descrição
Ex.: Tabela de IR de Aplicações Financeiras
4. Criação ou Alteração (mantenha somente a instrução correspondente) de Campos no arquivo SX3 – Campos:
- Tabela BGD - Prod x Cob x Proc x Co-Part:
Campo | (X3_CAMPO) |
Tipo | (X3_TIPO) |
Tamanho | (X3_TAMANHO) |
Decimal | (X3_DECIMAL) |
Formato | (X3_PICTURE) |
Título | (X3_TITULO) |
Descrição | (X3_DESCRIC) |
Nível | (X3_NÍVEL) |
Usado | (X3_USADO) Informe Sim ou Não |
Obrigatório | (X3_OBRIGAT) Informe Sim ou Não |
Browse | (X3_BROWSE) Informe Sim ou Não |
Opções | (X3_CBOX) |
When | (X3_WHEN) |
Relação | (X3_RELACAO) |
Val. Sistema | (X3_VALID) |
Help | Descreva o conteúdo informado para Help de Campo no ATUSX |
Importante:
O tamanho dos campos que possuem grupo pode variar conforme ambiente em uso.
5. Criação ou Alteração de Consulta Padrão no arquivo SXB – Consulta Padrão:
- Pesquisa B05PLS:
Alias | (XB_ALIAS) |
Tipo | (XB_TIPO) |
Sequência | (XB_SEQ) |
Coluna | (XB_COLUNA) |
Descrição | (XB_DESCRI) |
Contém | (XB_CONTEM) |
6. Criação ou Alteração de Índices no arquivo SIX – Índices:
Índice | AA1 |
Ordem | 6 |
Chave | AA1_FILIAL+AA1_CODVEN |
Descrição | Cod. Vendedor |
Proprietário | S |
7. Criação ou Alteração de Parâmetros no arquivo SX6 – Parâmetros:
Nome da Variável | (X6MV_VAR)CT350TH |
Tipo | (X6_TIPO) |
Descrição | (X6_DESCRIC + X6_DESC1 + X6_DESC2) |
Valor Padrão | (X6_CONTEUD) |
8. Criação ou Alteração (mantenha somente a instrução correspondente) de Gatilhos no arquivo SX7 – Gatilhos:
- Tabela BD5 – Contas Médicas:
Campo | Informe o conteúdo do (X7_CAMPO) |
Sequência | Informe o conteúdo do (X7_SEQUENC) |
Campo Domínio | Informe o conteúdo do (X7_CDOMIN) |
Tipo | Informe o conteúdo do (X7_TIPO) |
Regra | Informe o conteúdo do (X7_REGRA) |
Posiciona? | Informe o conteúdo do (X7_SEEK) |
Chave | Informe o conteúdo do (X7_CHAVE) |
Condição | Informe o conteúdo do (X7_CONDIC) |
Proprietário | Informe o conteúdo do (X7_PROPRI) |
Numérico | |
Descrição | Quantidade de threads para o processamento,menor ou igual a 1 não utiliza Thread. |
Valor Padrão | 1 |
Procedimento para Configuração
Procedimento para Configuração
(Estes procedimentos devem ser feitos quando for necessário configurar parâmetros e/ou rotinas no menu).
CONFIGURAÇÃO DE PARÂMETROS
- No Configurador (SIGACFG), acesse Ambientes/Cadastros/Parâmetros (CFGX017). Crie/configure (mantenha somente a instrução correspondente) o o(s) parâmetro(s) a seguir:
(É necessário criar uma tabela para cada parâmetro descrito no item Parâmetro(s), da tabela Características do Requisito)
Itens/Pastas | Descrição |
Nome: | MV_CT350TH |
Tipo:Informe o Tipo do parâmetro | Númerico |
Cont. Por.: | Informe o Conteúdo padrão2 |
Descrição: |
CONFIGURAÇÃO DE MENUS
2. No Configurador (SIGACFG), acesse Ambientes/Cadastro/Menu (CFGX013). Informe a nova opção de menu do informe o nome do módulo, conforme instruções a seguir:
Menu | Informe o Menu em que estará localizada a rotina |
Submenu | Informe o Submenu em que estará localizada a rotina |
Nome da Rotina | Informe o Título da rotina |
Programa | Informe o Fonte da rotina |
Módulo | Informe o Nome do(s) produto(s) a ser utilizado ou “Todos” |
Tipo | Informe a Função |
Procedimento para Utilização
Quantidade de threads para o processamento,menor ou igual a 1 não utiliza Thread. |
Itens/Pastas | Descrição |
Nome: | MV_CT350SL |
Tipo: | Lógico |
Cont. Por.: | .T. |
Descrição: | Controle de atualização de saldos na efetivação. |
2. No Configurador (SIGACFG), acesse Base de Dados/Dicionário/Stored Procedure (CFGX051). Instale o pacote de procedure 07 - JOB192 - Reprocessamento por Contas.
Procedimento para Utilização
1. No Configurador (SIGACFG), acesse Ambientes/Cadastros/Parâmetros (CFGX017).Localize o parâmetro MV_CT350TH e Clique em alterar;
Modifique o parâmetro para 10 ou outro valor conforme a explicação abaixo:
A quantidade de Threads é definida com base na infraestrutura do cliente que deverá avaliar a necessidade de aumento ou diminuição. Caso seja maior que 1 (um), utiliza a quantidade de Threads definida no parâmetro e faz a chamada da função CTB351PROC, caso seja menor ou igual a 1 chama a função padrão CTBA350PROC padrão sem Thread ou Stored Procedures.
- Descreva os procedimentos, passo a passo (caso de uso), que serão realizados pelos usuários para que a melhoria seja visualizada identificando as seguintes informações:
- Localização da rotina no menu;
- Localização dos novos campos e/ou perguntas e respectivas pastas de cadastro que são visualizadas pelo usuário;
- Caso seja necessário ter algum cadastro feito previamente, faça uma observação.
Exemplo:
1. No Plano de Saúde (SIGAPLS), acesse Atualizações / Produto Saúde / Produto Saúde (PLSA800).
O sistema apresenta a janela de produtos cadastrados.
2. Posicione o cursor em um produto e clique em Alterar.
3. Na pasta Cobertura/Carências selecione a subpasta Tipo de Prestador.
4. Dê duplo clique no campo TP Prestador (BCW_TIPPRE).
O sistema apresenta a janela Tipo de Prestador – Coparticipação – Alterar.
5. Informe os dados conforme orientação do help de campo e observe o preenchimento do novo campo:
Som. p/Compra (BCW_SOMCOM): selecione Sim para indicar se a coparticipação cadastrada será válida somente para efeito de compra de procedimentos ou Não, caso contrário.
6. Confira os dados e confirme.
Vídeo
- Vídeo hospedado no youtube e inserido no template por meio da macro Widget Connector.
** Canal do youtube e software de vídeoem definição.
Título do Vídeo: | Disponibilizado pelo Marketing. |
Introdução: | Disponibilizado pelo Marketing. |
Passo a Passo: | Capturar diretamente do sistema. |
Finalização: | Disponibilizado pelo Marketing. |
Ponto de Entrada
Descrição:
Informe o Menu em que estará localizada a rotina
Localização:
Informe o Submenu em que estará localizada a rotina
Eventos:
Informe o Título da rotina
Programa Fonte:
Informe o Fonte da rotina
Função:
Informe o Nome do(s) produto(s) a ser utilizado ou “Todos”
2. Localize o parâmetro MV_CT350SL e Clique em alterar;
Modifique o parâmetro para .T.
3. Localize o parâmetro MV_CT350TC e Clique em alterar;
Modifique o parâmetro para .F.
4. No Configurador (SIGACFG), acesse Base de Dados/Dicionário/Stored Procedure (CFGX051). Instale o pacote atualizado da Stored Procedure 07 - JOB192 - Reprocessamento por Contas;
5. No módulo Contabilidade Gerencial (SIGACTB) acesse Miscelanea\Processamentos\Efetivação ( CTBA350 ).
Defina os Parâmetros e Confirme - Ok
Retorno:
Nome
Tipo
Descrição
Obrigatório
Exemplo:
#Include 'Protheus.ch'
User Function CN120ALT()
Local aCab:= PARAMIXB[1]
Local cTipo:= PARAMIXB[2]
If cTipo == '1'
aCab[4][2]:= 'NF' //Validações do usuário
EndIf
Return aCab