Hi,
As you mentioned, values of all user parameters including scripted ones are determined before performing the start up script. The order of processes - configure user parameters at first and then perform startup script - cannot be modified, so I don't think there is a way to use a value defined with the startup script in a scripted parameter.
A workaround I can think of is:
- assign the value to a Python global variable in the startup script;
- use the global variable value with a script written in a PythonCaller/PythonCreator.
And, although I've never tested, it might be possible to perform the prompting script itself in a scripted parameter. But I would not recommend this way even if it was possible technically, since it's relatively hard to debug a complicated script written in a scripted parameter.
Takashi
Yes, I could take out the scripted parameters and have one Python caller that sets the values after the prompting script. However, for our Python-challenged team it is daunting to go into a Python caller and figure out what is happening. A scripted parameter is also Python, but the code in each is simple and repeatable, such that even a non Python staff member can work with it.
Thanks for the confirmation about the order of execution in FME. I would have thought that "start up script" means that this script executes before any "real" FME, but that is not the case.