Computing.Net > Forums > OpenVMS > global - local variables

Computer Problems? Computing.Net has over 1,000,000 posts about all things technology related! Over 90% answered within 24 hours! Click here to start participating now! Also, be sure to check out the New User Guide.

global - local variables

Reply to Message Icon

Name: mmc_vw1200
Date: April 30, 2008 at 04:46:27 Pacific
OS: openvms
CPU/Ram: 11111
Comment:

Hi, i have a basic question but didn´t find an answer on the net.

how can i copy the GLOBAL value of a variable to another, even if the variable has a lokal value?
for example

my_var = "lokal"
my_var = "global"
new_var_with_global_value_of_my_var = my_var

i want to copy the global value of my_var, how can i do that?

kind regards
mario



Sponsored Link
Ads by Google

Response Number 1
Name: mmc_vw1200
Date: April 30, 2008 at 04:51:41 Pacific
Reply:

sorry meaning
my_var = "lokal"
my_var = = "global"
new_var_with_global_value_of_my_var = my_var


0

Response Number 2
Name: Joseph.Huber
Date: April 30, 2008 at 11:40:04 Pacific
Reply:

Inside the procedure, simply don't define a local symbol with the same name as the global You want to use.
There is as far I know no way to hide a local variable.
If You mean to hide a local symbol defined outside (i.e. in a procedure level above the current) the procedure, then see
HELP SET SYMBOL /SCOPE
and do a SET SYMBOL/SCOPE=NOLOCAL before using the global symbol in question.
Afterwards You can reset with
SET SYMBOL/SCOPE=LOCAL to see those local symbols again (if wanted).


0

Response Number 3
Name: Joseph.Huber
Date: April 30, 2008 at 11:46:57 Pacific
Reply:

An example:
$ test1="TEST1 local"
$ test1=="TEST1 global"
$ CREATE test1.com
$ set symbol/scope=local
$ tmp1=test1
$ show symbol tmp1
$ set symbol/scope=nolocal
$ tmp1=test1
$ show symbol tmp1
$ set symbol/scope=local
^Z
$@test1
results in:
TMP1 = "TEST1 local"
TMP1 = "TEST1 global"


0

Response Number 4
Name: mmc_vw1200
Date: May 2, 2008 at 01:25:36 Pacific
Reply:

thank u for your quick help,
but it doesn´t seem to work ,
i don´t get an error message when typing set symbol/scope=global or
set symbol/scope = nolocal

but i still geht the local value of any variable

why could that be?

kind regards
mario


0

Response Number 5
Name: Joseph.Huber
Date: May 2, 2008 at 11:12:23 Pacific
Reply:

Did You try my above TEST1 example ?
If Your procedure does not work, can You post the relevant part ?


0

Related Posts

See More



Response Number 6
Name: Joseph.Huber
Date: May 4, 2008 at 02:54:10 Pacific
Reply:

Rereading Your answer, You TYPED the commands. You have to put the commands in a DCL procedure. As mentioned, SET SYMBOL/SCOPE=NOLOCAL affects symbols above the current procedure level. In interactive DCL, there is no higher level, ,and You can't hide local symbols. In my example, it started with a CREATE command to put the following commands up to EOF (^Z) into procedure file TEST1.COM .


0

Sponsored Link
Ads by Google
Reply to Message Icon





Use following form to reply to current message:

Login or Register to Reply
LoginRegister


Sponsored links

Ads by Google


Results for: global - local variables

errorhandling in VMS files www.computing.net/answers/openvms/errorhandling-in-vms-files/298.html

In process multithreading. www.computing.net/answers/openvms/in-process-multithreading/42.html

Missing symbols www.computing.net/answers/openvms/missing-symbols/137.html