Imprimi Página | Fechar janela

Execucao de query

Impresso de: Helpfacil - Portal do conhecimento
Nome do Forum: ADVPL
Descrição do Forum: Dúvidas sobre a programação em ADVPL
URL:http://www.helpfacil.com.br/display_topic_threads.asp?ForumID=1&TopicID=44344
Data da Impressão: quarta-feira, 9 de outubro de 2024 at 06:34


Topico: Execucao de query

Postado por: WANDERSONW
Assunto: Execucao de query
Data Postagem: terça-feira, 12 de setembro de 2023 at 10:19

Bom dia,

Estou tentando atualizar uma tabela temporária via advpl e isso não esta ocorrendo, so consigo se executar via banco. O que posso fazer para que o Protheus atualize a tabela.

Query:

cQryTrb2:=" DECLARE @inf_inicio INT" + CRLF
            cQryTrb2+=" DECLARE @inf_fim     INT" + CRLF
            cQryTrb2+=" DECLARE @inf_data_inicio VARCHAR(8)" + CRLF
            cQryTrb2+=" DECLARE @inf_data_fim     VARCHAR(8)" + CRLF
            cQryTrb2+=" DECLARE @iContador   INT" + CRLF
            cQryTrb2+=" DECLARE @iStatus     INT" + CRLF
            cQryTrb2+=" DECLARE @iQuantidade INT" + CRLF
            cQryTrb2+=" DECLARE @sNF        VARCHAR(9)" + CRLF
            cQryTrb2+=" SET @inf_data_inicio =‘" + (MV_PAR04) +"‘" + CRLF
            cQryTrb2+=" SET @inf_data_fim    =‘" + (MV_PAR05) +"‘" + CRLF
            cQryTrb2+=" SET @inf_inicio = 0 " + CRLF
            cQryTrb2+=" SET @inf_fim    = 0 " + CRLF
            cQryTrb2+=" SET @iContador = @inf_inicio " + CRLF
            cQryTrb2+=" SET @iQuantidade = 0" + CRLF
            cQryTrb2+=" SELECT TOP 0 CONVERT(VARCHAR(9), ‘‘) AS NF INTO TB_NF_TMP" + CRLF
            cQryTrb2+=" SELECT @inf_inicio= MIN(F2_DOC), @inf_fim= MAX(F2_DOC) FROM SF2010 WHERE F2_EMISSAO = @inf_data_inicio AND F2_FILIAL IN " + FormatIn( AllTrim(mv_par01), "/" ) + " AND F2_SERIE =‘1‘" + CRLF
            cQryTrb2+=" SET @iContador = @inf_inicio" + CRLF
            cQryTrb2+=" WHILE @iContador <= @inf_fim" + CRLF
            cQryTrb2+="   BEGIN" + CRLF
            cQryTrb2+="     SET @sNF = RIGHT(‘000000000‘ + CAST(@iContador AS VARCHAR(9)), 9)" + CRLF
            cQryTrb2+="     SELECT @iStatus= COUNT(F2_DOC) FROM SF2010 WHERE F2_DOC = @sNF AND F2_FILIAL IN " + FormatIn( AllTrim(mv_par02), "/" ) + " AND F2_SERIE =‘1‘" + CRLF
            cQryTrb2+="     IF @iStatus = 0" + CRLF
            cQryTrb2+="        BEGIN" + CRLF
            cQryTrb2+="          INSERT INTO TB_NF_TMP (NF) VALUES (@sNF)" + CRLF
            cQryTrb2+="          SET @iQuantidade = @iQuantidade + 1" + CRLF
            cQryTrb2+="        END" + CRLF
            cQryTrb2+="     SET @iContador = @iContador + 1" + CRLF
            cQryTrb2+="   END"
            TCSQLExec(cQryTrb2)






Imprimir Página | Fechar Janela