SqlOrder e conversão de ordens AdvPL para SQL
SqlOrder(cIndexExpression) -> cSqlFieldsExamina a conversão de uma expressão de índice para ORDER BY.
Visão geral
O exemplo de Atilio passa IndexKey para SqlOrder e descreve a transformação de campos concatenados em lista SQL. É evidência comunitária, não um conversor universal de expressões AdvPL: funções, apelidos, collation e regras do SGBD precisam de verificação. A função não cria índice físico nem adiciona sozinha o comando ORDER BY a uma consulta. O bloco usa expressão fixa didática, sem selecionar ordem de tabela nem montar SQL a partir de entrada externa. (Fontes: refs. 1–1.)
Sintaxe
SqlOrder(cIndexExpression) -> cSqlFieldsExemplo comentado
#Include "Protheus.ch"
User Function Ed672()
// Bloco nao invocado: conferir conversao antes de incorporar ao SQL.
Local bConverter := {|| SqlOrder("B1_FILIAL+B1_COD")}
ConOut(ValType(bConverter))
Return NilCria bloco B; a lista B1_FILIAL, B1_COD é o comportamento descrito pela fonte, não aferido aqui. Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.
- Não concatenar uma expressão de ordenação fornecida pelo usuário. Usar lista permitida de campos e validar SQL no SGBD-alvo.
- Em revisão: exemplo editorial não compilado nem executado em Protheus. Conferir includes, release, RDD e contexto antes de homologar.

Comentários
Ainda não há comentários aprovados.
Entre com Google ou Microsoft para comentar.