Problema ao trazer dados com embedded sql

Não estou conseguindo trazer os dados de uma tabela por poscione, embedded sql ou utilizando dbselectarea e dbgotop e percorrendo todos os resultados.

Os dados estão na tabela, mas não consigo trazê-los de forma alguma.

Utilizando embedded sql e getlastquery para analisar a query, observei que está correta.

Já estou há algum tempo com o problema e não tenho ideia de como analisar o erro.

Thyago, poderia dar mais informações? Como você está tentando fazer isso? Qual a tabela? Os dados estão persistidos e commitados? É uma tabela temporária? Consegue dizer qual a tabela e exibir o código de como você tentou obter os dados?

Daniel, acabei usando Embedded Sql, mas antes usei a função GetNextAlias() para obeter um alias. Assim consegui trazer os dados. Antes disso havia tentado com Posicione e DbSelectArea com MsSeek. Só retornando resultados vazios. Não é uma tabela virtual, os dados estão persistidos e comitados sim. Trata-se da tabela PCC - regras de centro de custo.

Boa tarde Thyago utilizando o embedded Você precisa ter a seguinte estrutura

Uma variavel do tipo char para pegar o alias

Informar o Inicio da sequencia,

Informar o alias a ser utilizado da area

digitar a query a ser executada

informar o termino do sql

todo o resultado ira ficar gravado dentro da da variável criada com o alias

para colocar em um array por exemplo você pode deixar num loop para realizar a inclusão dos itens informando o os campos, segue a baixo um exemplo


    Local cChkConsil := getNextAlias() // declaração da variavel  alias
    Local aResultado := {}

    Local nNi := 0

    BEGIN SEQUENCE

        BEGINSQL Alias cChkConsil 
            SELECT
                ARQUIVO,
                E1_FILIAL,
                E1_EMISSAO,
                E1_NSUTEF,
                SUBSTR(E1_PARCELA,2,3) E1_PARCELA,
                R_E_C_N_O_
            FROM
                %table:SE1%
            RIGHT JOIN 
                CONCILIADOR 
                ON R_E_C_N_O_ = C34 
            WHERE
                E1_FILIAL = %exp:aDados[1]%
                AND E1_PREFIXO = %exp:aDados[3]%
                AND E1_NUM = %exp:aDados[4]%
                AND E1_TIPO IN ('CC' ,'CD')
                AND R_E_C_N_O_ IS NOT NULL 

        endsql  // finaliza  a query

        while !(cChkConsil) -> (EOF() ) // loop para  inclusão dos dados dentro da array aResultado
            aAdd (aResultado, { (cChkConsil)->ARQUIVO, (cChkConsil)->E1_FILIAL, (cChkConsil)->E1_NSUTEF, (cChkConsil)->R_E_C_N_O_ } )
            (cChkConsil)->(dbSkip())
        end

        (cChkConsil)->(dbCloseArea())

    END SEQUENCE

mais informações você pode busca-las nesse link

https://tdn.totvs.com/display/framework/Embedded+SQL