Appian Community
Site
Search
Sign In/Register
Site
Search
User
DISCUSS
LEARN
SUCCESS
SUPPORT
Documentation
AppMarket
More
Cancel
I'm looking for ...
State
Not Answered
Replies
6 replies
Subscribers
7 subscribers
Views
4009 views
Users
0 members are here
Share
More
Cancel
Related Discussions
Home
»
Discussions
»
User Interface
I have a question on how the local variables in a load expression behave when th
georgej
over 9 years ago
I have a question on how the local variables in a load expression behave when the expression is invoked from SAIL (which are at times TEMPO SAIL Dashboards).It took long time for analysis as the issue was causing several production issues. Let me try to explain the issue with some a SIMPLE SAIL and Expression Rules. Attached is a simple SAIL which has a one section layout. When you enter input "IndSection1" text box and change the date value in "End Date Field", "Tst_LoadIssueExpr" (code snippet is below) is invoked and result is shown in "ResultSet" text box.
When you change the flip the value in "IndSection1" between blanks and non-blanks, as expected the Boolean result displayed in "ResultSet" text box is not changing. But if you modify the below "Tst_LoadIssueExpr" ri!input directly rather than saving to a local variable ,the result shown is as expected.
Can anyone explain what is causing this weird behavior. In actual production code ,this is a n...
Tst_LoadIssues.txt
OriginalPostID-171957
OriginalPostID-171957
Discussion posts and replies are publicly visible
Parents
0
Tim
Certified Lead Developer
over 9 years ago
Understanding load() and with() are 2 of the most important principles in SAIL and I suggest you study the docs in detail on these. Variables defined in load() are only evaluated once on 1st execution of the expression and as such should only be used for static data and saveInto targets, it should never be used in a sub rule as you have in the example instead use with() to define variables that need to be re-evaluated. with() also has performance benefits over load()
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
Reply
0
Tim
Certified Lead Developer
over 9 years ago
Understanding load() and with() are 2 of the most important principles in SAIL and I suggest you study the docs in detail on these. Variables defined in load() are only evaluated once on 1st execution of the expression and as such should only be used for static data and saveInto targets, it should never be used in a sub rule as you have in the example instead use with() to define variables that need to be re-evaluated. with() also has performance benefits over load()
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
Children
No Data