Siguiendo el ejemplo de Carlos Mora en el hilo http://forums.fivetechsupport.com/viewtopic.php?f=6&t=29700&start=15 en el que nos ilumina con un ejemplo para codificar SQL mediante el uso de TEXT INTO ... ENDTEXT
Me encuentro que la función Expand() no se comporta como se espera (al menos en mi Harbour 3.2)
En su ejemplo, Carlos Mora dice :
- Code: Select all Expand view
<tns:employeeIdentificationNumber>$1</tns:employeeIdentificationNumber>
<tns:startDate>$2</tns:startDate>
<tns:endDate>$3</tns:endDate>
Y con Expand sustituye $1, $2, $3 por
- Code: Select all Expand view
Expand( cTransac, oQuery:dni, oQuery:FechaInicio, oQuery:FechaFin )
En mi caso tengo
- Code: Select all Expand view
local cSql, cFilter :="first"
TEXT INTO cSql
SELECT c.codigo, c.nombre, f.nombre
FROM clientes AS c
INNER JOIN fpago AS f
ON c.fpago=f.codigo
WHERE c.nombre=$1
ENDTEXT
cSql := Expand( cSql, cFilter )
Y la cadena obtenida es inteligible :
- Code: Select all Expand view
○f f f f○fSfEfLfEfCfTf fcf.fcfofdfifgfof,f fcf.fnfofmfbfrfef,f fff.fnfofmfbfrfef
f○f○fFfRfOfMf fcflfifefnftfefsf fAfSf fcf
f○f○fIfNfNfEfRf fJfOfIfNf fffpfafgfof fAfSf fff f
f○f○fOfNf fcf.fffpfafgfof=fff.fcfofdfifgfof
f○f○fWfHfEfRfEf fcf.fnfofmfbfrfef=f$f1f
Qué hago mal ?