Campo S_T_A_M_P em cQuery - Invalid field

Estou tentando trazer os valores do campo S_T_A_M_P da tabela SC5, no Sql eu coloco SC5.S_T_A_M_P e trás os dados tranquilamente. Mas quando vou atribuir a uma variável cQuery para consulta no banco de dados no meu rest estoura o seguinte erro:

ERROR: invalid field name in Alias TMP->SC5.ST_A_M_P

cQuery := " SELECT C5FILIAL ,C5_NUM, M0_CGC, A1_CGC, C5_CLIENTE, C5_EMISSAO, C5_VEND1, " cQuery += " CASE " cQuery += " WHEN C5_NOTA IS NOT NULL AND C5_NOTA <> '' THEN '0' " cQuery += " WHEN C5_LIBEROK = '' THEN '1' " cQuery += " WHEN C5_LIBEROK = 'S' and C5_NOTA = '' THEN '2' " cQuery += " ELSE 'STATUS' " cQuery += " END AS C5_XSTATUS, " cQuery += " F2_EMISSAO, C5_CONDPAG, C5_TRANSP, SC5.S_T_A_M_P AS DTSTAMP " cQuery += " FROM SC5010 SC5 " cQuery += " INNER JOIN SYS_COMPANY ON C5_FILIAL = M0_CODFIL " cQuery += " INNER JOIN SA1010 SA1 ON C5_CLIENTE = A1_COD AND C5_LOJACLI = A1_LOJA " cQuery += " INNER JOIN SF2010 SF2 ON C5_CLIENTE = F2_CLIENTE AND C5_LOJACLI = F2_LOJA AND C5_FILIAL = F2_FILIAL AND F2_DOC = C5_NOTA" cQuery += " WHERE " cQuery += " SC5.D_E_L_E_T = '' AND SA1.DE_L_E_T = '' AND " cQuery += " C5_FILIAL IN ('010101', '020101', '020102', '020103', '020104') "

Olá,

Você deu um alias de nome DTSTAMP para o seu campo S_T_A_M_P_:
SC5.S_T_A_M_P_ AS DTSTAMP

Portanto você deve utilizar TMP->DTSTAMP para recuperar o valor na camada ADVPL.

Caso mesmo assim gere algum problema, tente converter o campo com TO_CHAR, CONVERT entre outras funções do SQL.

1 curtida

Pequeno detalhe o nome do campo S_T_A_M_P tem _ no final, então altera para S_T_A_M_P_

Essa pergunta veio do fórum antigo e lá era muito comum remover o último _ devido a formatação, pois _ é usado tanto para gerar itálico quanto negrito.

  • Teste - Usei dois _ no começo e no final
  • Teste - Usei um _ no começo e no final
1 curtida