Enterprise Resource Planning Blogs by Members
Gain new perspectives and knowledge about enterprise resource planning in blog posts from community members. Share your own comments and ERP insights today!
cancel
Showing results for 
Search instead for 
Did you mean: 
maicon_mendesmacedo
Participant
1,266
Olá amigos do SBO.

Está semana me deparei com um grande problema:
_ Me solicitaram um relatório que deveria substituir uma planilha. Durante o desenvolvimento, ao registrar as tabelas e campos que irão compor o relatório, me deparei com algumas telas de add-on que não permitem visualizar a tabela e o campo, por meio da opção "Informação do Sistema".

Pesquisei várias coisas e, por fim, encontrei um script para ser executado diretamente no SQL Server, o qual exibe as alterações de INSERT, DELETE e UPDATE realizadas em determinado período de tempo.

Este é o Script:
SELECT 
[db_name] = d.name
, [table_name] = SCHEMA_NAME(o.[schema_id]) + '.' + o.name
, s.last_user_update
FROM
sys.dm_db_index_usage_stats s
JOIN sys.databases d ON s.database_id = d.database_id
JOIN sys.objects o ON s.[object_id] = o.[object_id]
WHERE
o.[type] = 'U' /*(Transact-SQL) sys.objects.type = 'U' -> User Table | Link: http://www.techrepublic.com/article/understanding-sql-servers-sysobjects-table/ */
AND s.last_user_update IS NOT NULL
AND s.last_user_update BETWEEN DATEADD(DAY, -1, GETDATE()) AND GETDATE()
ORDER BY
s.last_user_update DESC

Basta executa-lo, utilizando um usuário com a devida permissão.

Abaixo, um demonstrativo do resultado:

-> Objetivo: Preciso encontrar a tabela que armazena os dados da Nota Fiscal referenciada no documento de marketing «Nota Fiscal de Entrada».

-> Cenário: Tenho uma NF Entrada inserida e agora irei registrar a NFe Referenciada via Add-on.

Nota Fiscal inserida:


NF a ser referenciada:


Processo de adição da NF Referenciada na Nota Fiscal de Entrada:


Após a atualizar o documento, executamos o script para verificar quais as tabelas serão modificadas no processo:



Como você pode ver, o script retornou 5 linhas que se referem ao momento em que atualizei a tabela. Para definir isso, tomei como base o horário do PC em relação ao horário da atualização, conforme você pode observar na seta.

Para alcançar meu objetivo, realizo um Select (com os critérios pertinentes para cada caso) na(s) tabela(s).


No caso, fiz um select que retorna a última linha da tabela. Ao analisar os seus dados, constatei que é a tabela a qual procurava, pois ela apresenta o DOCENTRY das Notas utilizadas no exemplo.

Espero que me raciocínio tenha ficado claro e que este post ajude a quem precisar.

Encerro com uma frase:


Sempre há algo novo para aprender.

Att,
Maicon Macedo

SBO 9.1 PL10 (Produção)
SBO 9.2 PL04 (Homologação)
2 Comments
Labels in this area