OCLOperators PSEval
(Created page with "A way to switch from ocl to oclps in any expression")
 
No edit summary
(7 intermediate revisions by 3 users not shown)
Line 1: Line 1:
A way to switch from ocl to oclps in any expression
Makes it possible to use oclPS in any OCL expression. Using this, you can "reach into" the database from OCL and action-language (EAL).
 
Expression template:
SomeClass.PSEval(<ps-expression>,maxfetch,offset,<dependon>)
'''Note!'''  - PSEval doesn't subscribe on sets from DB. To make the operator auto-updating, provide an expression in "dependon" that, when changed, should also rerun the PSEval expression. This can, for example, be a timer.
 
Example:
Uppdrag.PSEval(self.Uppdrag->select(u|u.Aktivt)->orderDescending(u|u.Startdatum),  1000, 0, self.Uppdrag)
For example, this expression from a method has "userName" as a parameter:
SysUser.PSEval(SysUser.allinstances->select(su|su.Username=userName),2,0,<nowiki>''</nowiki>)
Always remember that your SQL-server might also need indexes and other performance settings to execute your expression efficiently.
 
See also: [[OCLOperators Sqlpassthrough|Sqlpassthrough]], [[OCLOperators PSEvalValue|PSEvalValue]]
[[Category:OCLOperators]]

Revision as of 08:10, 3 March 2023

Makes it possible to use oclPS in any OCL expression. Using this, you can "reach into" the database from OCL and action-language (EAL).

Expression template:

SomeClass.PSEval(<ps-expression>,maxfetch,offset,<dependon>)

Note! - PSEval doesn't subscribe on sets from DB. To make the operator auto-updating, provide an expression in "dependon" that, when changed, should also rerun the PSEval expression. This can, for example, be a timer.

Example:

Uppdrag.PSEval(self.Uppdrag->select(u|u.Aktivt)->orderDescending(u|u.Startdatum),  1000, 0, self.Uppdrag)

For example, this expression from a method has "userName" as a parameter:

SysUser.PSEval(SysUser.allinstances->select(su|su.Username=userName),2,0,'')

Always remember that your SQL-server might also need indexes and other performance settings to execute your expression efficiently.

See also: Sqlpassthrough, PSEvalValue

This page was edited 75 days ago on 02/10/2024. What links here