Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

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:

Rotina

Nome Técnico

CTBA350

Efetivação.

CTBA351Não se aplica (rotina acessória da CTBA350)
CTBA192Não se aplica (Reprocessamento de Saldos por Conta)
CTB240.SQLProcedure para Atualização da tabela CTC, CQ8 e CQ9
p12_07.spsPacote de procedures, processo 07

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

  1. Criação ou Alteraçãode Perguntas no arquivo SX1 – Cadastro de Perguntes:
(X1_TAMANHO)

PergunteGrupo

CTBA192

Nome

 

Grupo

(X1_GRUPO)

Ordem

(X1_ORDEM)

Tipo

(X1_TIPO)

Pergunte

 Atualizar Saldo DOC?

Ordem

12

Tipo

Numérico

Tamanho

1

Modo EntradaCombo
Definição 1Sim
Definição 2Não

Tamanho

HelpInforme 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

 

  1. 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