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

De CIGAM WIKI

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:



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



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.