>Hello.
>
>I'm trying to create a end user query generator. For that I need to let the user enter variables and then select statements using those variables.
>
>After that I have to create the final select statement.
>
>So far I have this:
>
>qp1 = "Lima"
>Sql = "Select * from customer where city = '<<qp1>>' "
>TEXT TO lcSQL NOSHOW TEXTMERGE
> <<Sqlt>>
>ENDTEXT
>? lcSQL
>
> I was hoping to obtain "Select * from customer where city = 'Lima' " but I get
Select * from customer where city = '<<qp1>>'
instead.
>
>Any help or equivalent approach?
You tried recursive merge here - you're textmerging Sqlt into lcSQL, but Sqlt already contains a mergeable expression. Text/endtext does only one level. TextMerge() function has the 2nd parameter which you can set to achieve recursion (and you can lock your app if the recursion has no end).
In this case, standard practice is to do a single level merge in text/endtext, for readability:
qp1 = "Lima"
TEXT TO lcSQL NOSHOW TEXTMERGE
Select * from customer where city = '<<qp1>>'
ENDTEXT
? lcSQL