Índices, órdenes y búsquedas en tablas Protheus
Comprueba expresión de orden antes de construir clave.
Descripción general
DBSetOrder selecciona orden lógica del área abierta y puede fallar si no existe. IndexKey devuelve expresión textual sin crear/reconstruir índices. DBSeek exige orden compatible con tipo/composición de clave; compruebe retorno lógico antes de leer campos. Con lSoftSeek verdadero puede posicionar aproximadamente aun retornando falso: posición no acredita coincidencia. Ejemplo solo inspecciona orden actual SB1 sin presumir número, ancho ni código. ORDER BY SQL y elección de índice físico son cuestiones distintas. (Fuentes: refs. 1–4.)
Ejemplo comentado
#Include "Protheus.ch"
User Function Ed738()
Local cExpresion := ""
// Consulta alias abierto sin cambiar orden ni posición.
If Select("SB1") > 0
cExpresion := SB1->(IndexKey())
EndIf
ConOut(cExpresion)
Return NilMuestra expresión actual o string vacío; no busca producto. En revisión: ejemplo editorial no compilado ni ejecutado en Protheus. Comprobar includes, release, RDD y contexto antes de probar.
- No recorte componentes de clave fija. Preserve área/orden si las altera; no aplique creación de tablas del ejemplo técnico a tablas estándar.
- En revisión: ejemplo editorial no compilado ni ejecutado en Protheus. Comprobar includes, release, RDD y contexto antes de probar.

Comentarios
Todavía no hay comentarios aprobados.
Inicia sesión con Google o Microsoft para comentar.