Focal Point Banner


As of December 1, 2020, Focal Point is retired and repurposed as a reference repository. We value the wealth of knowledge that's been shared here over the years. You'll continue to have access to this treasure trove of knowledge, for search purposes only.

Join the TIBCO Community
TIBCO Community is a collaborative space for users to share knowledge and support one another in making the best use of TIBCO products and services. There are several TIBCO WebFOCUS resources in the community.

  • From the Home page, select Predict: WebFOCUS to view articles, questions, and trending articles.
  • Select Products from the top navigation bar, scroll, and then select the TIBCO WebFOCUS product page to view product overview, articles, and discussions.
  • Request access to the private WebFOCUS User Group (login required) to network with fellow members.

Former myibi community members should have received an email on 8/3/22 to activate their user accounts to join the community. Check your Spam folder for the email. Please get in touch with us at community@tibco.com for further assistance. Reference the community FAQ to learn more about the community.


Focal Point    Focal Point Forums  Hop To Forum Categories  WebFOCUS/FOCUS Forum on Focal Point     [CLOSED] limiting scope of &vars

Read-Only Read-Only Topic
Go
Search
Notify
Tools
[CLOSED] limiting scope of &vars
 Login/Join
 
Gold member
posted
Hi All,

Just wondering if there is a way in WebFOCUS other than by using "EX" to limit the scope of an amper variable.

I'd like to limit the scope of variables created within a fex (call it FOO) that is -INCLUDEd in several places. I know I can use "EX FOO" to limit the scope but I'm hoping that maybe there is something new in the language I don't know about. I imagine something cool like the BLOCKBEGIN and BLOCKEND labels in this pseudocode below:

-SET &MOUSE = 'Mickey';
-* define new scope here with BLOCKBEGIN.
-BLOCKBEGIN
-SET &MOUSE = 'Minnie';
-* end scope here with BLOCKEND.
-BLOCKEND
-TYPE &MOUSE

and lo and behold the value of &MOUSE would be 'Mickey'.

-James

This message has been edited. Last edited by: Kerry,


WF 7.1.6 moving to WF 7.7, Solaris 10, HTML,PDF,XL
 
Posts: 83 | Location: Dartmouth Hitchcock Medical Center | Registered: April 17, 2003Report This Post
Expert
posted Hide Post
That's not possible with WebFOCUS. However this is:

-SET &MOUSE = 'Mickey';
-* define new scope here with BLOCKBEGIN.
-BLOCKBEGIN
-SET &MOUSE_SAVE = &MOUSE;
-SET &MOUSE = 'Minnie';
-* end scope here with BLOCKEND.
-BLOCKEND
-SET &MOUSE = &MOUSE_SAVE;
-TYPE &MOUSE


Francis


Give me code, or give me retirement. In FOCUS since 1991

Production: WF 7.7.05M, Dev Studio, BID, MRE, WebSphere, DB2 / Test: WF 8.1.05M, App Studio, BI Portal, Report Caster, jQuery, HighCharts, Apache Tomcat, MS SQL Server
 
Posts: 10577 | Location: Toronto, Ontario, Canada | Registered: April 27, 2005Report This Post
Virtuoso
posted Hide Post
So what is it you are trying to accomplish with all the stuff in the middle?
With -SET &MOUSE='Mickey'; you get the value of &MOUSE to be Mickey. I guess I'm not quite sure what you mean by "limiting the scope of variables" or why you are needing to EX FOO.
Can you give an example and explanation of how you are trying to use this?


Regards,

Darin



In FOCUS since 1991
WF Server: 7.7.04 on Linux and Z/OS, ReportCaster, Self-Service, MRE, Java, Flex
Data: DB2/UDB, Adabas, SQL Server Output: HTML,PDF,EXL2K/07, PS, AHTML, Flex
WF Client: 77 on Linux w/Tomcat
 
Posts: 2298 | Location: Salt Lake City, Utah | Registered: February 02, 2007Report This Post
Gold member
posted Hide Post
Francis, Thanks for confirming what I thought would be the case.

Darin, The scope of a variable determines where you can access the variable in your code. The wikipedia has an explanation for local variable scope.

http://en.wikipedia.org/wiki/Local_variable

I was hoping that there might be an enhancement to the dialog manager that supported local scope but no such luck.

-James


WF 7.1.6 moving to WF 7.7, Solaris 10, HTML,PDF,XL
 
Posts: 83 | Location: Dartmouth Hitchcock Medical Center | Registered: April 17, 2003Report This Post
Expert
posted Hide Post
Another variation on Francis' solution would be indexing the variables.

[CODE-*new file
-SET &Level = 'Top' ;
-SET &MOUSE.&Level = 'Mickey';
-* define new scope here with BLOCKBEGIN.
-BLOCKBEGIN
-SET &Level = 'Inner' ;
-SET &MOUSE.&Level = 'Minnie';
-* end scope here with BLOCKEND.
-BLOCKEND
-SET &Level = 'Top' ;
-TYPE &MOUSE.&Level[/CODE]


Waz...

Prod:WebFOCUS 7.6.10/8.1.04Upgrade:WebFOCUS 8.2.07OS:LinuxOutputs:HTML, PDF, Excel, PPT
In Focus since 1984
Pity the lost knowledge of an old programmer!

 
Posts: 6347 | Location: 33°49'23.0"S, 151°11'41.0"E | Registered: October 31, 2006Report This Post
Virtuoso
posted Hide Post
As you've seen from earlier posts, there are a number of ways to deal with this issue. If your variable will have a limited number of values, another approach is to use the values as labels in your -INCLUDEd focexec:

-DEFAULT &MOUSE = 'Mickey'
-GOTO &MOUSE
-*
-Mickey
.
.
-EXIT
-*
-Minnie
.
.
-EXIT
-*
etc....

This message has been edited. Last edited by: Dan Satchell,


WebFOCUS 7.7.05
 
Posts: 1213 | Location: Seattle, Washington - USA | Registered: October 22, 2007Report This Post
Gold member
posted Hide Post
[CLOSED]


WF 7.1.6 moving to WF 7.7, Solaris 10, HTML,PDF,XL
 
Posts: 83 | Location: Dartmouth Hitchcock Medical Center | Registered: April 17, 2003Report This Post
  Powered by Social Strata  

Read-Only Read-Only Topic

Focal Point    Focal Point Forums  Hop To Forum Categories  WebFOCUS/FOCUS Forum on Focal Point     [CLOSED] limiting scope of &vars

Copyright © 1996-2020 Information Builders