Quando eu crio um novo formulário e utilizo a opção "Tabelas de Banco de Dados (recomendado)", como eu descubro em qual tabela no formato MLEEELLL ele é salvo?
Quando eu crio um novo formulário e utilizo a opção "Tabelas de Banco de Dados (recomendado)", como eu descubro em qual tabela no formato MLEEELLL ele é salvo?
Roberto, o nome das tabelas metalista são compostas por ML-COD EMPRESA-COD METALISTA-.
O código da empresa você consegue obter com o usuário wcmadmin. Já o código da metalista você pode consultar no dataset document, faça um filtro pelo código do seu formulário e procure pela coluna metaListId.
Exemplo: exemplo: ML001016 onde '1' é o código da empresa e '16' é o metaListId
Em quais tabelas do banco de dados eu encontro essas informações?
— Roberto Baselio Lopes 10 de Apr de 2017O código da empresa você encontra na fdn_tenant e o código da metalista você encontra na tabela documento, no campo cod_lista.
— Guilherme Juliano Hardt 11 de Apr de 2017fiz uma query que retorna as tabelas pais e as filhas (pai e filho) e insere no BD numa tabela customizada os valores. espero que seja útil
/*
CREATE BY: LEANDRO LUIZ DE SOUZA
ANALISTA DE SISTEMAS SÊNIOR
PARA A DIRECIONAL ENGENHARIA
*/
ALTER PROCEDURE SP_PROCESSO_TABELA_COLETOR
AS
SET NOCOUNT OFF
--ELIMINA AS TABELAS TEMPORARIAS UTILIZADAS NESSE CODIGO
IF OBJECT_ID('tempdb..#PROCESSOS') IS NOT NULL DROP TABLE #PROCESSOS
CREATE TABLE #PROCESSOS
(
PROCESSO VARCHAR(max),
TABELAS_FILHAS VARCHAR(max),
TABELA_PAI VARCHAR(max)
)
DECLARE @COD_DEF_PROCES VARCHAR(max)
DECLARE @CODIGO VARCHAR(max)
DECLARE @CODIGO1 VARCHAR(max)
DECLARE @CODIGOFILHO VARCHAR(max)
DECLARE @TABELASFILHAS VARCHAR(max)
DECLARE @TABELAPAI VARCHAR(max)
-- VALIDA SE O CURSOR JA EXISTE
IF CURSOR_STATUS('global','CRS_PROCESSOS')>=-1
BEGIN
DEALLOCATE CRS_PROCESSOS
END
--CURSOR COM TODOS OS PROCESSOS ATIVOS
DECLARE CRS_PROCESSOS CURSOR fast_forward FOR
SELECT
COD_DEF_PROCES
FROM
DEF_PROCES (NOLOCK)
WHERE
LOG_ATIV = 1
AND COD_DEF_PROCES <> 'FLUIGADHOC'
AND COD_DEF_PROCES <> 'FLUIGADHOCPROCESS'
OPEN CRS_PROCESSOS
FETCH NEXT FROM CRS_PROCESSOS INTO @CODIGO1
WHILE @@FETCH_STATUS = 0
BEGIN
SET @COD_DEF_PROCES = @CODIGO1
IF OBJECT_ID('tempdb..#TB_LISTA_DOCUMENTOS') IS NOT NULL DROP TABLE #TB_LISTA_DOCUMENTOS
-- BUSCA O CODLISTA DO FORMULARIO ASSOCIADO AO DOCUMENTO
SELECT
DISTINCT D.COD_LISTA
INTO
#TB_LISTA_DOCUMENTOS
FROM
TAR_WORKFLOW TW (NOLOCK)
INNER JOIN
PROCES_WORKFLOW PW (NOLOCK) ON TW.COD_EMPRESA = PW.COD_EMPRESA
AND TW.NUM_PROCES = PW.NUM_PROCES
INNER JOIN ANEXO_PROCES AP
ON AP.NUM_PROCES = PW.NUM_PROCES
AND AP.COD_EMPRESA = PW.COD_EMPRESA
INNER JOIN DOCUMENTO D
ON D.COD_EMPRESA = AP.COD_EMPRESA
AND D.NR_DOCUMENTO = AP.NR_DOCUMENTO
AND D.NR_VERSAO = AP.NR_VERSAO
WHERE
PW.COD_DEF_PROCES = @CODIGO1
AND D.COD_LISTA IS NOT NULL
DECLARE PONTEIRO CURSOR fast_forward FOR
SELECT
DISTINCT COD_LISTA
FROM
#TB_LISTA_DOCUMENTOS (NOLOCK)
WHERE
COD_LISTA IS NOT NULL
OPEN PONTEIRO
FETCH NEXT FROM PONTEIRO INTO @CODIGO
WHILE @@FETCH_STATUS = 0
BEGIN
--CURSOS PARA BUSCAS AS TABELAS FILHO
DECLARE FILHO CURSOR fast_forward FOR
SELECT
COD_LISTA_FILHO
FROM
META_LISTA_REL
WHERE
COD_LISTA_PAI = @CODIGO
OPEN FILHO
FETCH NEXT FROM FILHO INTO @CODIGOFILHO
-- MONTAGEM DAS TABELAS FILHAS
WHILE @@FETCH_STATUS = 0
BEGIN
IF(LEN(@CODIGO) <= 3)
BEGIN
SET @TABELASFILHAS = ISNULL(@TABELASFILHAS, '') + '[ML001'
+ REPLICATE('0', 3 - Len(@CODIGO))
+ @CODIGOFILHO + '];'
END
ELSE
SET @TABELASFILHAS = ISNULL(@TABELASFILHAS, '') + '[ML001'
+ @CODIGOFILHO + '];'
FETCH NEXT FROM FILHO INTO @CODIGOFILHO
END
CLOSE FILHO
DEALLOCATE FILHO
-- MONTAGEM DA TABELA PAI
IF(LEN(@CODIGO) <= 3)
BEGIN
SET @TABELAPAI = 'ML001' + REPLICATE('0', 3 - LEN(@CODIGO)) + @CODIGO
END
ELSE
SET @TABELAPAI = 'ML001' + @CODIGO
PRINT @CODIGO
INSERT INTO #PROCESSOS
(PROCESSO,
TABELAS_FILHAS,
TABELA_PAI)
VALUES (@COD_DEF_PROCES,
@TABELASFILHAS,
@TABELAPAI)
SET @TABELASFILHAS = ''
FETCH NEXT FROM ponteiro INTO @CODIGO
END
CLOSE ponteiro
DEALLOCATE ponteiro
IF OBJECT_ID('tempdb..#TB_LISTA_DOCUMENTOS') IS NOT NULL DROP TABLE #TB_LISTA_DOCUMENTOS
FETCH NEXT FROM CRS_PROCESSOS INTO @CODIGO1
END
CLOSE CRS_PROCESSOS
DEALLOCATE CRS_PROCESSOS
TRUNCATE TABLE Z_PROCESSO_TABELA
INSERT INTO Z_PROCESSO_TABELA
SELECT
P.PROCESSO,
DF.DES_DEF_PROCES,
P.TABELA_PAI,
P.TABELAS_FILHAS
FROM
#PROCESSOS P
INNER JOIN
DEF_PROCES DF on df.COD_DEF_PROCES = P.processo COLLATE SQL_Latin1_General_CP1_CI_AS
ORDER BY
DF.DES_DEF_PROCES
IF OBJECT_ID('tempdb..#PROCESSOS') IS NOT NULL DROP TABLE #PROCESSOS
Bom dia,
Nesta query o que é fixo e o que precisa ser alterado dependendo de cada formulario ?