I have a question on how the local variables in a load expression behave when th

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
  • Tim,there you go...issue is right there.In a tempo report,you define paginginfo in parent SAIL using load and then try to pass it via parameter.Problem is from the second call onwards the paginginfo data is never refreshed ,but it takes the value of previous call.This creates lot of erratic behaviour.Now,if you try to declare the paginginfo in with(), immediately you sort/page the grid ,SAIL form breaks with obvious error message.I don't think the non-refreshing nature of load() variables in a sub rule is a feature,but rather a bug in product.Due to this issue you are completely handicapped from modularizing SAIL components in complex TEMPO reports.Finally you end up writing huge monolithic SAIL forms which are quite difficult to maintain.
Reply
  • Tim,there you go...issue is right there.In a tempo report,you define paginginfo in parent SAIL using load and then try to pass it via parameter.Problem is from the second call onwards the paginginfo data is never refreshed ,but it takes the value of previous call.This creates lot of erratic behaviour.Now,if you try to declare the paginginfo in with(), immediately you sort/page the grid ,SAIL form breaks with obvious error message.I don't think the non-refreshing nature of load() variables in a sub rule is a feature,but rather a bug in product.Due to this issue you are completely handicapped from modularizing SAIL components in complex TEMPO reports.Finally you end up writing huge monolithic SAIL forms which are quite difficult to maintain.
Children
No Data