I am currently implementing GuiXT for one of my projects and it's working great. I have a question though, which I hope you can answer: I am planning to default some values based on different role assignments, for example:

if Q[Role=Role1]

  default [Field] "Value1"

else

if Q[Role=Role2]

  default [Field] "Value2"

endif

My problem is that I have 174 roles I need to do this for! Is there any restriction on the number of "if" statements I can insert? Will this cause a noticeable degradation in performance? Are there any better alternative operations in GuiXT I should consider?

Your approach is okay. The first "if Q[role=...]" will read the user roles via RFC and the following ones will use the roles without performing an RFC.

Two additional hints:

(a) I suggest you use goto and label:


if Q[Role=Role1]

  default F[Field] "Value1"

  goto default_done

endif


if Q[Role=Role2]

  default F[Field] "Value2"

  goto default_done

endif

...

label default_done

(b)  Put all these statements into an "include" file that you process only if the field is empty:

Set V[currvalue] "&F[Field]"

if not V[currvalue]

  include set_default_Field.txt

endif