Concatenated strings as using parameters: In my script I have created a pushbutton that starts an InputScript. With a "using" parameter I pass a string that contains the content of an InputField "Delivery". This works as expected, except that I don't obtain the latest value entered in this field:

Pushbuttton ....
   using FILENAME =  "\\VI010\emails\mailto_&F[Delivery].txt"

For example, if "1234" is shown in the InputField "Delivery" and the user enters "6789" and presses the pushbutton, the value
"\\VI010\emails\mailto_1234.txt" is passed to the InputScript.
Why is this the case and how can I get the new input value?

GuiXT replaces the &F[...] expressions in the script when displaying the screen, and therefore you get the value that was shown in the InputField before the user entered a new value.

There are three possibilities to obtain the new value:

(a)

Build up the whole string in your InputScript, e.g.

Set V[fname] "\\VI010\emails\mailto_&F[Delivery].txt"

(b)

In the "using" option use the notation [Delivery]:

Pushbuttton ....

  using PDELIVERY = [Delivery]

In this case GuiXT will pass the new value and you can use the PDELIVERY parameter in order to build up the string:

Set V[fname] "\\VI010\emails\mailto_&U[PDELIVERY].txt"

(c)

The third possibility is tricky and we would prefer (a) or (b), but this version is interesting in that it demonstrates the substitution mechanism of GuiXT:

Set V[ampchar] "&"

Pushbutton ...

using PAR = "\\VI010\emails\mailto_&V[ampchar]F[Delivery].txt"

When the script is processed, the &[ampchar] expression is substituted by "&". GuiXT then stores the value

"\\VI010\emails\mailto_&F[Delivery].txt"

as InputScript parameter. When the user presses the pushbutton, the InputScript is started and this parameter is passed to the InputScript. When the InputScript uses it, GuiXT replaces &F[Delivery] with its value, which has now become the new input value.