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
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 Mendes 20 de May de 2020Daniel, 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.
— Thyago 20 de May de 2020