✨ ADVPL - SqlOrder + IndexKey: Ordenação Correta para Queries no Protheus ✨
Se você trabalha com ADVPL no Protheus, provavelmente já precisou reaproveitar a ordenação de um índice diretamente em uma query SQL, certo? 🤔
Para isso, podemos utilizar duas funções extremamente úteis:
🔹 IndexKey() → Retorna a expressão do índice (normalmente concatenada com +).
🔹 SqlOrder() → Ajusta a expressão para o formato SQL, substituindo o + por ,, deixando compatível com ORDER BY.
📌 Ou seja, você reaproveita exatamente a lógica do índice padrão da tabela, evitando inconsistências entre DBF e SQL.
💻 Exemplo prático:
SqlOrder(SA1->(IndexKey(1)))
SqlOrder(SA1->(IndexKey(2)))
SqlOrder(SA1->(IndexKey(3)))
🚀 Dessa forma, você garante que a ordenação da sua query seguirá exatamente o mesmo padrão definido no índice da tabela SA1, mantendo padronização, performance e organização no código.
💡 Dica importante:
Sempre utilize SqlOrder() ao levar uma expressão de índice para dentro de uma query SQL. Isso evita erros de sintaxe e mantém compatibilidade entre ambientes.
Curtiu o conteúdo? 😎
Se este material te ajudou, compartilhe com a galera, salve nos favoritos e deixe seu comentário! Um grande abraço 🤝 e até a próxima! 🚀
#ADVPL #Protheus #TOTVS #SqlOrder #IndexKey #ERP #Programacao #DesenvolvimentoERP #BackEnd #ConsultoriaProtheus