Rich Client Partitioning (Magic xpa 3.x)
The following is a compilation of information regarding working with expressions in Rich Client tasks.
An expression constructed of both server-side only and client-side only functions will cause both client and server access and therefore, is not allowed.
-
A Developer function which is defined in the Studio task tree (and not in the Main program) and contains server-side operations, will change the expression which uses it to a server-side expression.
-
A Developer function which is not defined in the Studio task tree (defined in the Main program or the component's Main program), will change the expression which uses it to an unknown-side expression.
-
Developer functions cannot contain both client-side and server-side operations.
The following properties can only use client-side expressions:
The following expressions are calculated in the task initiation phase and must not contain client-side expressions:
The following expressions need to be evaluated both on the server side and on the client side; therefore, they need to be neutral:
Neutral operations with expressions that can only be evaluated on the client are regarded as client-side operations.
Neutral operations with expressions that can only be evaluated on the server are regarded as server-side operations.
Mixed expressions (expressions which contain both client side and server side functions) are not allowed.
Mixed operations (operations which invoking them will require execution both on the client side and on the server side at least one time) are not allowed.
-
Control and Record Prefix and Suffix handlers are executed each the time the user browses the records. Therefore, it is recommended that they do not contain any server-side operations.
-
Variable Change handlers are executed each the time the user browses the records. Therefore, it is recommended that they do not contain any server-side operations.
-
It is recommended not to perform multiple accesses to the server. So, if you have a server-side sequence, followed by a client-side sequence, and then another server-side sequence, it is advisable to combine the accesses to the server.
-
A Block Loop operation, having both client-side and server-side sequences will cause multiple accesses to the server. As mentioned above, this is not recommended.