Detalhando passo consulta do Sincronismo de Documentos na Tarefa Gestão do Resultado da Aplicação BI CIGAM

De CIGAM WIKI
Revisão de 13h28min de 19 de maio de 2025 por Ana.nicol (discussão | contribs) (Palavras-Chave)

Segue abaixo detalhamento do Sincronismo dos documentos(Passo 05 Tarefa Padrão) que é executado na Tarefa GR – Gestão do Resultado na Aplicação do BI:


TarefaBI12122301.png


Índice

Palavras-Chave

Sincronismo dos documentos.Vendas.Devolução de Vendas.Nota Fiscal.Tarefas.

  • A finalidade é fornecer uma explicação sobre as operações realizadas por cada método.

  • Exemplo abaixo é uma base Banco de Dados Oracle.

  • Após a avaliação pelo usuário em sua base em relação às configurações essenciais para a execução do sincronismo automático, se estiverem corretas, e caso persistam eventuais divergências, é possível avaliar os seguintes passos apresentados.

Fluxograma Passo Sincronismo dos Documentos - Gestão do Resultado


TarefaBI121223020212.png


Validar Dados Licenca CIGAM no LicencaService.cs

  • O código está validando dados de licença no método ValidarDadosLicencaCIGAM na classe LicencaService.cs.

  • Ação específica Alteração da configuração de formato de data para 'DD/MM/YYYY'.

  • Consulta específica O código está realizando uma alteração de sessão para configurar o formato de data e hora no Oracle Database.

  • O código está realizando uma consulta SQL para selecionar dados da tabela GELICENC no método ValidarDadosLicencaCIGAM na classe LicencaService.cs.

  • Ação específica A cláusula SQL está buscando informações do CNPJ/CPF e Nome Completo da tabela GELICENC onde o código de unidade é '000' ou ' ' (espaço), ordenados por código de unidade de forma decrescente.

Obter Data base Info no PwConexaoOracleBase.cs :

  • O código está obtendo informações do banco de dados no método ObterDatabaseInfo na classe PwConexaoOracleBase.cs.

  • Ação específica Alteração da configuração de formato de data para 'DD/MM/YYYY'.

  • Consulta específica: O código está realizando uma alteração de sessão para configurar o formato de data e hora no Oracle Database.

  • O código está executando uma consulta SQL para obter informações do banco de dados, incluindo domínio, servidor, serviço, nome do banco de dados, ID do objeto e data de criação da tabela 'C0LICENCA'.

Obter Data base Info no PwConexaoOracleBase.cs

  • O código está novamente alterando a configuração de formato de data para 'DD/MM/YYYY'.

  • Consulta específica: O código está realizando uma alteração de sessão para configurar o formato de data e hora no Oracle Database.

  • Classe: Classe...: PwComandoOracleBase.ExecutarAntes

  • O código está executando uma consulta SQL para obter informações da versão do Oracle Database.

Obter Data Atual no PwConexaoOracleBase.cs

  • O código está obtendo a data atual no método ObterDataAtual na classe PwConexaoOracleBase.cs.

  • Ação específica: Alteração da configuração de formato de data para 'DD/MM/YYYY'.

  • Consulta específica: O código está realizando uma alteração de sessão para configurar o formato de data e hora no Oracle Database.

  • Classe: Classe...: PwComandoOracleBase.ExecutarAntes

  • O código está executando uma consulta SQL para obter a data atual do sistema Oracle.

Salvar Oracle no LogAgendamento.cs

  • O código está salvando logs de agendamento no método SalvarOracle na classe LogAgendamento.cs.

  • Ação específica: Alteração da configuração de formato de data para 'DD/MM/YYYY'.

  • Classe: Classe...: PwComandoOracleBase.ExecutarAntes

  • O código está realizando uma inserção de dados na tabela C8AGLOGAGENDAMENTO no método SalvarOracle na classe LogAgendamento.cs.

  • Ação específica: A cláusula SQL está inserindo uma nova entrada na tabela com um código gerado automaticamente, uma mensagem e a data do log.

  • Executar no ScriptSQL.cs

  • O código está executando comandos SQL no método Executar na classe ScriptSQL.cs.

  • Ação específica Alteração da configuração de formato de data para 'DD/MM/YYYY'.

  • Classe Classe...: PwComandoOracleBase.ExecutarAntes

  • O código está executando um comando SQL para atualizar dados na tabela GECFG no método Executar na classe ScriptSQL.cs.

  • Ação específica: A cláusula SQL está atualizando o campo DADO_ALPHA para ' ' (espaço) onde a sequência é 100048 e o valor atual é diferente de ' '.

Obter Nome Colunas no LogSincronismo.cs:

  • O código está obtendo o nome das colunas no método ObterNomeColunas na classe LogSincronismo.cs.

  • Ação específica: Alteração da configuração de formato de data para 'DD/MM/YYYY'.

  • Classe: Classe...: PwComandoOracleBase.ExecutarAntes

  • O código está executando uma consulta SQL para obter os nomes das colunas da tabela C8GDILOGSIN no método ObterNomeColunas na classe LogSincronismo.cs.

Obter Dados Origem no ProcessoImp.cs

  • O código está obtendo dados de origem no método ObterDadosOrigem na classe ProcessoImp.cs.

  • Ação específica: Alteração da configuração de formato de data para 'DD/MM/YYYY'.

  • Classe: Classe...: PwComandoOracleBase.ExecutarAntes

  • O código está obtendo dados de origem no método ObterDadosOrigem na classe ProcessoImp.cs.

  • Ação específica: Alteração da configuração de formato de data para 'DD/MM/YYYY'.

  • Classe: Classe...: PwComandoOracleBase.ExecutarAntes

  • O código está executando uma consulta SQL complexa para obter dados de origem no método ObterDadosOrigem na classe ProcessoImp.cs.

Busca Cfg no ConfiguracaoCigamService.cs 100149

  • O código está buscando configurações no método BuscaCfg na classe ConfiguracaoCigamService.cs.

  • Ação específica: Alteração da configuração de formato de data para 'DD/MM/YYYY'.

Busca Cfg no ConfiguracaoCigamService.cs 100150

  • O código está buscando configurações no método BuscaCfg na classe ConfiguracaoCigamService.cs.

  • Ação específica: Alteração da configuração de formato de data para 'DD/MM/YYYY'.

Busca Cfg no ConfiguracaoCigamService.cs 100259

  • O código está buscando configurações no método BuscaCfg na classe ConfiguracaoCigamService.cs.

  • Ação específica: Alteração da configuração de formato de data para 'DD/MM/YYYY'.

  • Classe: Classe...: PwComandoOracleBase.ExecutarAntes

  • O código está buscando configurações no método BuscaCfg na classe ConfiguracaoCigamService.cs.

  • Ação específica: Alteração da configuração de formato de data para 'DD/MM/YYYY'.

Busca Cfg no ConfiguracaoCigamService.cs 100313

  • Indica a linha exata dentro do método onde a ação está acontecendo.

  • Busca informações de configuração na tabela GECFG.

  • O propósito do código é obter dados específicos da tabela GECFG. Esses dados incluem sequência, código do módulo, descrição, e outros detalhes relacionados à configuração.

  • Estabelece a condição para a busca, indicando que o código está interessado nas informações relacionadas à sequência '100313'.

Busca Cfg no ConfiguracaoCigamService.cs 100021

  • O código está buscando configurações no método BuscaCfg na classe ConfiguracaoCigamService.cs.

  • Ação específica na Linha 49: Alteração da configuração de formato de data para 'DD/MM/YYYY'.

  • Classe na Linha 49: Classe...: PwComandoOracleBase.ExecutarAntes

Busca Cfg no ConfiguracaoCigamService.cs 100020

  • O código está buscando configurações no método BuscaCfg na classe ConfiguracaoCigamService.cs.

  • Ação específica na Linha 49: Alteração da configuração de formato de data para 'DD/MM/YYYY'.

  • Classe na Linha 49: Classe...: PwComandoOracleBase.ExecutarAntes

Busca Cfg no ConfiguracaoCigamService.cs 100156

  • O código está buscando configurações no método BuscaCfg na classe ConfiguracaoCigamService.cs.

Ação específica na Linha 49: Alteração da configuração de formato de data para 'DD/MM/YYYY'.

  • Classe na Linha 49: Classe...: PwComandoOracleBase.ExecutarAntes

BuscaCfg no ConfiguracaoCigamService.cs 100023

  • O código está buscando configurações no método BuscaCfg na classe ConfiguracaoCigamService.cs.

  • Ação específica na Linha 49: Alteração da configuração de formato de data para 'DD/MM/YYYY'.

  • Classe na Linha 49: Classe...: PwComandoOracleBase.ExecutarAntes

Busca Cfg no ConfiguracaoCigamService.cs 100004

  • O código está buscando configurações no método BuscaCfg na classe ConfiguracaoCigamService.cs.

  • Ação específica na Linha 49: Alteração da configuração de formato de data para 'DD/MM/YYYY'.

Método: Busca Cfg 100073

  • Consulta que busca configurações no banco de dados usando a sequência como parâmetro. As colunas retornadas são Tipo, Dado_Alpha,

Dado_Data, Dado_Time, Dado_Numeric (duas vezes), Dado_Logico e Texto. A sequência é traduzida como '100073'

Arquivo: SincronismoService.cs

  • Consulta que busca o Tipo de Movimento de Documento na tabela ESPDOCUM usando a Especie_Documento como parâmetro. A Especie_Documento é traduzida como 'NFS' ou 'NFD'.

  • Método: BuscarTipoDaEspecie

  • Método: BuscaCfg

Consulta semelhante à primeira, mas com uma sequência diferente, traduzida como '100004'.

Arquivo: DocumentoExclusaoRepository.cs

  • Consulta que recupera dados da tabela GELOGSIN com condições específicas.

  • Método: DescartarLogDuplicados

  • Traduzida: DocumentoExclusaoRepository.cs - DescartarLogDuplicados:

ConfiguracaoCigamService.cs - BuscaCfg 100136

  • Essa consulta SQL busca dados da tabela GECFG com base em uma condição (Cfg.Sequencia = :SequenciaConfig). Os tipos de dados retornados

incluem Tipo, Dado_Alpha, Dado_Data, Dado_Time, Dado_Numeric (duas vezes), Dado_Logico e Texto. A sequência está traduzida como

'100316'.

NotaFiscalRepository.cs - Obter Notas Para Sincronizar:

  • Esta consulta SQL recupera informações relacionadas a notas fiscais. A primeira parte da consulta lida com notas fiscais de saída

('S'), enquanto a segunda parte lida com notas fiscais de entrada ('E'). Ela junta várias tabelas (FANFISCA, FACPAGAM, GETOPERA e

GELOGSIN) e aplica várias condições para selecionar os dados desejados.

Parte 01 Notas de Saída (nf.Especie_nota = 'S')

  • Esta parte seleciona notas de saída (Especie_nota = 'S').Ela recupera várias informações relacionadas à nota fiscal e realiza várias

junções (JOIN) com outras tabelas para obter detalhes adicionais.A condição Where filtra as notas fiscais de saída que têm "Especie_nota" igual a 'S'.

  • Cláusula:

Select

nf.Nf, nf.Serie, nf.Cd_unidade_de_n Cd_UN, nf.Especie_nota EspecieNota,

nf.Cd_tipo_operaca CdTipoOperacao, nf.Dt_emissao Data, nf.Cd_Cliente, nf.Cd_Representant Cd_Representante, nf.Total_mercadori TotalMercadorias,

nf.Total_servico TotalServico, nf.Cd_transportado CdTransportadora, nf.Tipo_frete TipoFrete, nf.Cd_condicao_pag CdCondicaoPagamento,

Case When t.Incidencia_ISS = 'S' OR t.Incidencia_ISS = 'R' Then nf.Pe_iss Else 0 End PercentualISS,

nf.Tipo_nota TipoNota, nf.Cd_mercado CdMercado, nf.Placa, nf.campo132 Forma, nf.Cd_cobranca CdCobranca, Coalesce(c.Periodicidade, ' ') Periodicidade,

l.Data DataLog, l.Hora HoraLog,

0 NFReferencia, ' ' SerieReferencia, null DataReferencia, 1 NF_Propria

From FANFISCA nf

Inner Join FACPAGAM c on c.Cd_condicao_pag = nf.Cd_condicao_pag

Inner Join GETOPERA t on t.Cd_Tipo_Operaca = nf.Cd_Tipo_Operaca

Inner Join GELOGSIN l on l.Sincron_B = 'N' And l.Tipo = 'NS' And l.Unica3_Numero10 = nf.NF And l.Unica2_alpha6 = nf.Serie And l.Unid_Negocio = nf.Cd_unidade_de_n And l.Tipo_Acao <> 'E'

Where

nf.Especie_nota = 'S';

Parte 2: Union All e Notas de Entrada (ne.Tipo_nota = 'D')

  • A cláusula Union All é utilizada para combinar os resultados da parte 1 (notas de saída) com os resultados desta parte (notas de

entrada).Esta parte seleciona notas de entrada (Tipo_nota = 'D').Novamente, são realizadas várias junções (JOIN) para obter informações

detalhadas e calcular percentuais com base nas condições fornecidas.As informações da tabela GELOGSIN são utilizadas para filtrar

apenas as entradas que ainda não foram sincronizadas (Sincron_B = 'N' e Tipo = 'NE').A condição Where filtra as notas fiscais de entrada

que têm "Tipo_nota" igual a 'D'.

  • Cláusula:

“Union All

Select

ne.Nf, ne.Serie, ne.Cd_unidade_de_n Cd_UN, 'E' EspecieNota,

ne.Cd_tipo_operaca CdTipoOperacao, ne.Dt_Entrada Data, ne.Cd_Fornecedor Cd_Cliente, Coalesce(nf.Cd_Representant, ' ')

Cd_Representante, Coalesce(nf.Total_mercadori, 0) TotalMercadorias,

Coalesce(nf.Total_servico, 0) TotalServico, Coalesce(nf.Cd_transportado, ' ') CdTransportadora, ne.Tipo_frete TipoFrete,

Coalesce(nf.Cd_condicao_pag, ' ') CdCondicaoPagamento,

Case When t.Incidencia_ISS = 'S' OR t.Incidencia_ISS = 'R' Then Coalesce(nf.Pe_iss, 0) Else 0 End PercentualISS,

ne.Tipo_nota TipoNota, ne.Cd_mercado CdMercado, Coalesce(nf.Placa, ' ') Placa, Coalesce(nf.campo132, ' ') Forma,

Coalesce(nf.Cd_cobranca, ' ') CdCobranca, Coalesce(c.Periodicidade, ' ') Periodicidade,

l.Data DataLog, l.Hora HoraLog,

ne.Nf_referencia NFReferencia, ne.Serie_referenci SerieReferencia, nf.Dt_emissao DataReferencia, 0 NF_Propria

From COENTRAD ne

Inner Join GELOGSIN l on l.Sincron_B = 'N' And l.Tipo = 'NE' And l.Unica3_Numero10 = ne.NF And l.Unica2_alpha6 = ne.Serie And

l.Unid_Negocio = ne.Cd_unidade_de_n And l.Unica1_alpha12 = ne.Cd_Fornecedor And l.Tipo_Acao <> 'E'

Left Outer Join FANFISCA nf on nf.NF = ne.Nf_referencia And nf.Serie = ne.Serie_referenci And nf.Cd_unidade_de_n = ne.Cd_unidade_de_n

Left Outer Join FACPAGAM c on c.Cd_condicao_pag = nf.Cd_condicao_pag

Left Outer Join GETOPERA t on t.Cd_Tipo_Operaca = nf.Cd_Tipo_Operaca

Where ne.Tipo_nota = 'D';

Documento Exclusao Repository.cs no método Marcar Log Como Sincronizado(Notas Canceladas)

  • Essa cláusula SQL ajusta o formato de data na sessão atual para 'DD/MM/YYYY'. Isso pode ser útil para garantir que as datas sejam interpretadas corretamente.

Linha 260 - Select l.Unica3_Numero10 Nf, l.Unica2_alpha6 Serie, l.Unid_Negocio Cd_UN, l.Tipo TipoLog, l.Data DataLog, l.Hora HoraLog, l.Unica1_Alpha12 Fornecedor...:

Essa é uma consulta SQL que recupera informações da tabela GELOGSIN juntamente com informações da tabela FANFISCA usando um LEFT JOIN.

Ela seleciona várias colunas, incluindo Nf, Serie, Cd_UN, TipoLog, DataLog, HoraLog e Fornecedor.

As condições do WHERE especificam que a sincronização (Sincron_B) deve ser 'N', o tipo deve ser 'NS', a ação não deve ser de exclusão (Tipo_Acao <> 'E'), e a Especie_nota na tabela FANFISCA deve ser nula ou diferente de 'S'.

Essa consulta está relacionada à marcação de logs como sincronizados, filtrando registros específicos das tabelas mencionadas.

Método...: Marcar Log Como Sincronizado

  • O método "MarcarLogComoSincronizado" inicia configurando a sessão para interpretar datas no formato 'DD/MM/YYYY'. Em seguida, é

executada uma consulta SQL que seleciona dados da tabela GELOGSIN, incluindo informações como número da nota fiscal, série, unidade de

negócio, tipo de log, data, hora e fornecedor. A consulta utiliza um left outer join com a tabela FANFISCA, relacionando os campos

apropriados. A cláusula WHERE filtra os resultados para registros não sincronizados ('Sincron_B' igual a 'N'), do tipo 'NS', com ação

diferente de 'E' e onde a espécie da nota fiscal é nula ou diferente de 'S'. Essa lógica é empregada para marcar logs como

sincronizados, considerando condições específicas nos dados.

Documento Exclusao Repository.cs - Método: ExcluirTodosRegistros

  • O código em DocumentoExclusaoRepository.cs, no método "ExcluirTodosRegistros", inicia configurando a sessão para interpretar datas no

formato 'DD/MM/YYYY' através da instrução "ALTER SESSION SET NLS_DATE_FORMAT = 'DD/MM/YYYY'". Em seguida, há uma cláusula "DELETE" que

remove todos os registros da tabela TMPDOCEXC. Esta operação é encapsulada no método "ExcluirTodosRegistros", que é executado antes de

realizar qualquer outra ação na classe "PwComandoOracleBase.ExecutarAntes". Essencialmente, o propósito desse código é limpar a tabela

TMPDOCEXC, excluindo todos os seus registros, e garante que a sessão esteja configurada corretamente para interpretar datas no formato

desejado antes da execução. Este tipo de operação é comum em processos de exclusão em bancos de dados, frequentemente utilizado para preparar o ambiente.

Inconsistencia Sincronismo Repository.cs - Método: Salvar

  • No código presente em InconsistenciaSincronismoRepository.cs, no método "Salvar", inicialmente, é configurada a sessão para interpretar

datas no formato 'DD/MM/YYYY' por meio da instrução "ALTER SESSION SET NLS_DATE_FORMAT = 'DD/MM/YYYY'". Posteriormente, há uma cláusula

"TRUNCATE" que efetua o esvaziamento completo da tabela C3LOGDOC, removendo todos os seus registros. Este processo é encapsulado no

método "Salvar", e a cláusula "ALTER SESSION SET NLS_DATE_FORMAT = 'DD/MM/YYYY'" é repetida, indicando que a sessão permanece

configurada adequadamente para o formato de data desejado durante a execução do método. Em resumo, esse trecho de código visa preparar o

ambiente antes de salvar dados, assegurando que a tabela C3LOGDOC esteja vazia e que a sessão esteja configurada corretamente para

interpretar datas no formato específico. Essa abordagem é comum para evitar inconsistências e garantir uma operação de salvamento limpa

no banco de dados.

Vendas Exclusao Repository.cs - Métodos: ExcluirTodosRegistros e ExecutarExclusao

  • Primeiramente, a instrução "ALTER SESSION SET NLS_DATE_FORMAT = 'DD/MM/YYYY'" configura a sessão para interpretar datas no formato

especificado. No método "ExcluirTodosRegistros", há um comando "DELETE" que remove todos os registros da tabela "TMPVENDASEXC". Esta operação é relevante para limpar a tabela antes de realizar operações subsequentes.

No método "ExecutarExclusao", novamente a sessão é configurada para o formato de data desejado. Neste método, ocorre um comando "DELETE" na tabela "BIFT_FA_VENDASGR". A cláusula "WHERE EXISTS" é utilizada para excluir registros da tabela principal onde há uma correspondência na tabela "TMPVENDASEXC" com base na condição "E.ChaveDocumento = I.Cd_Chave_Documento". Essa lógica implica que apenas os registros associados na tabela temporária serão excluídos da tabela principal, promovendo uma exclusão seletiva e condicional.

Essas operações de exclusão são executadas antes de outras ações na classe, como indicado pela presença da cláusula "PwComandoOracleBase.ExecutarAntes". Essa abordagem é comum em contextos de banco de dados para garantir que a base de dados esteja em um estado apropriado antes de realizar operações mais complexas ou de escrita.

  • A tabela TMPVENDASEXC é utilizada no contexto de exclusão de registros no método ExcluirTodosRegistros do arquivo VendasExclusaoRepository.cs.

Há uma cláusula DELETE que é usada no método ExcluirTodosRegistros para deletar todos os registros da tabela TMPVENDASEXC.

A tabela TMPVENDASEXC também é referenciada em uma cláusula DELETE no método ExecutarExclusao. Nesse caso, a

exclusão é realizada na tabela BIFT_FA_VENDASGR com base em uma condição que envolve a tabela TMPVENDASEXC.

Há uma cláusula ALTER SESSION SET NLS_DATE_FORMAT = 'DD/MM/YYYY' que configura o formato da data na sessão para o formato 'DD/MM/YYYY'. Isso é feito antes da execução de exclusões na tabela TMPVENDASEXC.

A tabela TMPVENDASEXC está relacionada à tabela BIFT_FA_VENDASGR com base na cláusula DELETE no método ExecutarExclusao. A condição de exclusão envolve a comparação entre a coluna ChaveDocumento na tabela TMPVENDASEXC e a coluna Cd_Chave_Documento na tabela BIFT_FA_VENDASGR.

Em resumo, a tabela TMPVENDASEXC é utilizada para armazenar temporariamente dados relacionados a vendas, e os métodos s estão envolvidos na exclusão de registros dessa tabela, sendo parte de algum processo de Gestão de Resultados em uma aplicação. A tabela também tem um papel em operações que envolvem a tabela BIFT_FA_VENDASGR.

Log Sincronismo.cs - Método: ObterNomeColunas

  • O código SQL fornecido configura a sessão para interpretar datas no formato 'DD/MM/YYYY' e realiza consultas em uma tabela chamada

'C8GDILOGSIN'. Primeiramente, busca os nomes das colunas dessa tabela. Em seguida, dentro do método 'ObterMaximoCodigoLog', obtém o

valor máximo da coluna 'CODIGO' onde a 'IDENTIFICACAO' é '0' e a 'NOMETABELA' é 'BIDM_GE_EMPRESA'. No método 'ObterCamposPorDistinct',

busca valores distintos da coluna 'CAMPO', filtrando por 'IDENTIFICACAO' igual a 0, 'NOMETABELA' igual a 'BIDM_GE_EMPRESA', e 'CODIGO'

menor ou igual a 0, ordenando os resultados de forma descendente.

Processo Imp.cs - Método: Obter Campos Por Distinct

  • No arquivo ProcessoImp.cs, o método "ObterCamposPorDistinct" inicia configurando a sessão para interpretar datas no formato

'DD/MM/YYYY' através da instrução "ALTER SESSION SET NLS_DATE_FORMAT = 'DD/MM/YYYY'". Posteriormente, a consulta SQL "SELECT DISTINCT

CAMPO" é executada na tabela C8GDILOGSIN, buscando valores únicos da coluna CAMPO, com as condições adicionais de que a IDENTIFICACAO

seja igual a 0, o NOMETABELA seja 'BIDM_GE_UNIDADE_NEGOCIO' e o CODIGO seja menor ou igual a 0. Os resultados são ordenados de forma

descendente pela coluna CAMPO. Esse conjunto de operações, encapsulado no método "ObterCamposPorDistinct", é definido para ser

executado antes de outras ações na classe "PwComandoOracleBase.ExecutarAntes".

Log Sincronismo.cs - Método: ObterNomeColunas

  • No código contido no arquivo LogSincronismo.cs, no método "ObterNomeColunas", inicialmente, a sessão é configurada para interpretar

datas no formato 'DD/MM/YYYY' por meio da instrução "ALTER SESSION SET NLS_DATE_FORMAT = 'DD/MM/YYYY'". Posteriormente, é executada uma

consulta SQL com a cláusula "SELECT c.COLUMN_NAME FROM USER_TAB_COLUMNS c WHERE c.TABLE_NAME = 'C8GDILOGSIN'", que tem como objetivo

obter os nomes das colunas da tabela 'C8GDILOGSIN'. Esta operação é encapsulada no método "ObterNomeColunas", que é definido para ser

executado antes de outras ações na classe "PwComandoOracleBase.ExecutarAntes". A repetição da cláusula "ALTER SESSION SET

NLS_DATE_FORMAT = 'DD/MM/YYYY'" indica a importância de manter a configuração adequada da sessão ao realizar consultas no banco de dados .

Processo Imp.cs - Método: ObterMaximoCodigoLog

  • No arquivo ProcessoImp.cs, no método "ObterMaximoCodigoLog", o código começa configurando a sessão para interpretar datas no formato

'DD/MM/YYYY' por meio da instrução "ALTER SESSION SET NLS_DATE_FORMAT = 'DD/MM/YYYY'". Em seguida, é realizada uma consulta SQL usando

"SELECT MAX(CODIGO)" para obter o valor máximo da coluna CODIGO da tabela 'C8GDILOGSIN', onde as condições especificadas são que a

IDENTIFICACAO seja igual a '0' e NOMETABELA seja 'BIDI_GR_UNID_RESULT'. Essa consulta é encapsulada no método "ObterMaximoCodigoLog", o

qual está definido para ser executado em algum momento antes de outras ações na classe "PwComandoOracleBase.ExecutarAntes". A tradução

da consulta indica que o código busca o valor máximo da coluna CODIGO na tabela 'C8GDILOGSIN' onde a IDENTIFICACAO é '0' e a NOMETABELA

é 'BIDI_GR_UNID_RESULT'. Essa abordagem sugere que o método é utilizado para obter o valor máximo da coluna CODIGO para registros

específicos da tabela, potencialmente para operações subsequentes no sistema.

Processo Imp.cs - Método: ObterCamposPorDistinct

  • No arquivo ProcessoImp.cs, existem dois métodos importantes: "ObterCamposPorDistinct" e "ObterMaximoCodigoLog", ambos configurando a

sessão para interpretar datas no formato 'DD/MM/YYYY' através da instrução "ALTER SESSION SET NLS_DATE_FORMAT = 'DD/MM/YYYY'". No método

"ObterCamposPorDistinct", uma consulta SQL "SELECT DISTINCT CAMPO" é realizada na tabela 'C8GDILOGSIN', buscando valores únicos da

coluna 'CAMPO' sob as condições de que a 'IDENTIFICACAO' seja 0, a 'NOMETABELA' seja 'BIDI_GR_UNID_RESULT', e o 'CODIGO' seja menor ou

igual a 0. Os resultados são ordenados de forma descendente pela coluna 'CAMPO'. Já no método "ObterMaximoCodigoLog", a consulta "SELECT

MAX(CODIGO)" é usada para obter o valor máximo da coluna 'CODIGO' na mesma tabela, com condições de que a 'IDENTIFICACAO' seja '0' e a

'NOMETABELA' seja 'BIDM_GE_TIPO_OPERACAO'. Essas operações são executadas antes de outras ações na classe

"PwComandoOracleBase.ExecutarAntes", possivelmente preparando o ambiente de banco de dados para operações subsequentes e garantindo

consistência nos dados.

Fonte De Dados Base.cs - Método: Obter Dados

  • Neste registro de log, referente ao arquivo FonteDeDadosBase.cs, no método "ObterDados" em uma linha específica,

há uma configuração da sessão para interpretar datas no formato 'DD/MM/YYYY' por meio da cláusula "ALTER SESSION

SET NLS_DATE_FORMAT = 'DD/MM/YYYY'". A consulta SQL subsequente, que não está completamente visível, parece

envolver operações em tabelas como "BIFT_FA_VENDASGR" e "BIDM_GE_DATA". Essa consulta realiza uma seleção de dados

agrupados e ordenados, considerando condições específicas, como a restrição "Where F865.DATA Between 'XX/YY/YYYY'

And 'XX/YY/YYYY' ". Essas operações fazem parte do método "ObterDados" e são precedidas pela configuração de

formato de data. O registro inclui informações sobre a classe PwComandoOracleBase.ExecutarAntes".

Em seguida, o código apresenta uma consulta SQL que envolve tabelas como "BIFT_FA_VENDASGR", "BIDI_GR_OPERACAO",

"BIDM_GE_EMPRESA", "BIDM_GE_MATERIAL" e "BIDM_GE_DATA". A consulta realiza seleção e agregação de dados,

considerando condições específicas, como a restrição "Where F865.DATA Between 'XX/YY/YYYY' And 'XX/YY/YYYY' ". A

tradução da consulta indica uma busca por valores agrupados relacionados a da consulta dimensões e métricas.

Essas operações estão encapsuladas no método "ObterDados" e são precedidas pela configuração de formato de data.