odd PH/VMS logical name behaviour
Hamilton, Allison
Allison.Hamilton@Cognos.COM
Wed, 10 Mar 2004 16:08:36 -0500
This message is in MIME format. Since your mail reader does not understand
this format, some or all of this message may not be legible.
------_=_NextPart_001_01C406E3.DA8940EC
Content-Type: text/plain
I'm trying to do too many things at once here - never name the logical name
the same as the value or the heading will confuse you.... sigh. You are
correct, if you define the logical name in mixed case, we upshift it and
will not see it since we don't do a case_blind search with trnlnm. If I use
Gavins test case I see the value set by the unquoted gav only. Sorry for
the confusion.
Allison Hamilton
-----Original Message-----
From: powerh-l-admin@lists.sowder.com
[mailto:powerh-l-admin@lists.sowder.com]On Behalf Of Lloyd, Gavin
Sent: Wednesday, March 10, 2004 3:50 PM
To: Chris Sharman; Hamilton, Allison
Cc: powerh-l@lists.sowder.com; doug.moffatt@cognos.com
Subject: RE: odd PH/VMS logical name behaviour
We've got OpenVMS V7.1-2 and I tried your code and it reported blank in
quiz (i.e. did not get logical value).
FYI - All our logicals are declared without the speechmarks (e.g. DEFINE
LOG VAL not DEFINE "LOG" "VAL") which uppercases everything - so no
problems.
Did a small test as well if that helps:
<---------------------
DCL> def gav gavval
DCL> def "Gav" gavval2
DCL> sho log G*
(LNM$PROCESS_TABLE)
"GAV" = "GAVVAL"
"Gav" = "GAVVAL2"
---------------------->
Regards,
Gavin Lloyd - FM Global.
-----Original Message-----
From: powerh-l-admin@lists.sowder.com
[mailto:powerh-l-admin@lists.sowder.com] On Behalf Of Chris Sharman
Sent: 10 March 2004 17:11
To: Hamilton, Allison
Cc: powerh-l@lists.sowder.com; doug.moffatt@cognos.com
Subject: Re: odd PH/VMS logical name behaviour
Hamilton, Allison wrote:
> Chris, I think this may be a difference in behaviour between 7.2 and
> 7.3 of OpenVMS because I tried this in 7.10G3, 7.10G5 and 8.30D4 (all
on
> 6.2 of OpenVMS) and 8.40D on 7.2-1 and 8.40D on 7.2-2 of OpenVMS and
> they retrieve the value of Test correctly. I don't have a 7.3 OpenVMS
> system available to me yet, so I can't test it there. Perhaps there
is
> a setting on the logical or in your environment that would affect the
> default behaviour of the logical translation function (trnlnm) that is
> available in 7.3???
>
> I know that OpenVMS is moving more and more into the Posix world which
> requires case sensitivity, so more things behave somewhat differently.
> I don't know if this one is an intentional change or not on the part
of
> OpenVMS. Usually they don't change the default behaviour of things so
> drastically, but who knows.
Curious. Nothing I'm aware of - DCL has always uppercased everything,
and still does, unless you enable the mixed-case behaviour which goes
with the ODS5 file system, which we haven't.
> Prior to 7.3 retrieval using uppercase always retrieved the correct
> value due to the basically uppercase or case insensitive nature of the
> VMS environment. PowerHouse is built with this assumption currently,
> and generally upcases just about everything coming in to ensure it can
> find it.
sys$trnlnm (and lib$get_logical) have always had a LNM$M_CASE_BLIND
option, but it has never been the default behaviour, and still isn't.
DCL f$trnlnm offers case-blind by default, and case-sensitive
optionally. The older (obsolete since about V5) sys$trnlog and
associated lib$ routine may do case-blind by default - I don't recall.
I don't think VMS has ever seen a non-compatible system service change
like you suggest.
Anyone got access to VMS 7.3 and an earlier version to confirm/deny ?
> Allison Hamilton
> Senior Software Engineer
> Cognos Inc.
> Any opinions expressed within this message are mine alone and my
> employer cannot be held accountable for them :-}
>
> -----Original Message-----
> From: powerh-l-admin@lists.sowder.com
> [mailto:powerh-l-admin@lists.sowder.com]On Behalf Of Chris Sharman
> Sent: Wednesday, March 10, 2004 6:30 AM
> To: PowerH List
> Subject: odd PH/VMS logical name behaviour
>
>
> I've got a mixed-case logical name:
> $ def "Test" "MyTest"
>
> $ quiz
> Qz> def mytest char*10 = getsystemval("Test")
> Qz> rep mytest
>
> Reports it as blank - presumably it doesn't find it.
> Defining it as uppercase works fine.
>
> VMS logical names can be defined mixed-case (but are usually
> uppercase). They can be fetched either case-sensitive or case-blind.
>
> Powerhouse would appear to be uppercasing the supplied string, then
> doing a case-sensitive search - not the optimum behaviour ! Be nice if
> it used the string I gave it, and probably set the case-blind flag to
> avoid breaking most existing stuff.
>
> VMS 7.3, PH 7.10G3
-----------------------------------------------------------------------
Any views expressed in this message are those of the sender and not
necessarily those of CCA Group. The unauthorized use, disclosure,
copying or alteration of this message is forbidden. The contents of
this message may be confidential and/or privileged, copyright CCA Group
and are intended solely for the use of the individual or entity to whom
they are addressed. Whilst this message has been scanned, CCA Group
cannot guarantee that it is virus free or compatible with your systems
and accepts no responsibility for any loss or damage arising from its
use. The recipient is advised to run their own anti-virus software. If
you receive this message in error please contact
postmaster@ccagroup.co.uk immediately, destroy any copies and delete it
from your computer systems.
= = = = = = = = = = = = = = = = = = = = = = = = = = = =
Mailing list: powerh-l@lists.sowder.com
Subscribe: "subscribe" in message body to powerh-l-request@lists.sowder.com
Unsubscribe: "unsubscribe <password>" in message body to
powerh-l-request@lists.sowder.com
http://lists.sowder.com/mailman/listinfo/powerh-l
This list is closed, thus to post to the list you must be a subscriber.
This message may contain privileged and/or confidential information. If you
have received this e-mail in error or are not the intended recipient, you
may not use, copy, disseminate or distribute it; do not open any
attachments, delete it immediately from your system and notify the sender
promptly by e-mail that you have done so. Thank you.
------_=_NextPart_001_01C406E3.DA8940EC
Content-Type: text/html
Content-Transfer-Encoding: quoted-printable
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; =
charset=3DUS-ASCII">
<META NAME=3D"Generator" CONTENT=3D"MS Exchange Server version =
5.5.2657.73">
<TITLE>RE: odd PH/VMS logical name behaviour</TITLE>
</HEAD>
<BODY>
<P><FONT SIZE=3D2>I'm trying to do too many things at once here - never =
name the logical name the same as the value or the heading will confuse =
you.... sigh. You are correct, if you define the logical name in mixed =
case, we upshift it and will not see it since we don't do a case_blind =
search with trnlnm. If I use Gavins test case I see the value set by =
the unquoted gav only. Sorry for the confusion. </FONT></P>
<P><FONT SIZE=3D2>Allison Hamilton</FONT>
</P>
<P><FONT SIZE=3D2>-----Original Message-----</FONT>
<BR><FONT SIZE=3D2>From: powerh-l-admin@lists.sowder.com</FONT>
<BR><FONT SIZE=3D2>[<A =
HREF=3D"mailto:powerh-l-admin@lists.sowder.com">mailto:powerh-l-admin@li=
sts.sowder.com</A>]On Behalf Of Lloyd, Gavin</FONT>
<BR><FONT SIZE=3D2>Sent: Wednesday, March 10, 2004 3:50 PM</FONT>
<BR><FONT SIZE=3D2>To: Chris Sharman; Hamilton, Allison</FONT>
<BR><FONT SIZE=3D2>Cc: powerh-l@lists.sowder.com; =
doug.moffatt@cognos.com</FONT>
<BR><FONT SIZE=3D2>Subject: RE: odd PH/VMS logical name =
behaviour</FONT>
</P>
<BR>
<P><FONT SIZE=3D2>We've got OpenVMS V7.1-2 and I tried your code and it =
reported blank in</FONT>
<BR><FONT SIZE=3D2>quiz (i.e. did not get logical value).</FONT>
</P>
<P><FONT SIZE=3D2>FYI - All our logicals are declared without the =
speechmarks (e.g. DEFINE</FONT>
<BR><FONT SIZE=3D2>LOG VAL not DEFINE "LOG" "VAL") =
which uppercases everything - so no</FONT>
<BR><FONT SIZE=3D2>problems.</FONT>
</P>
<P><FONT SIZE=3D2>Did a small test as well if that helps:</FONT>
</P>
<P><FONT SIZE=3D2><---------------------</FONT>
<BR><FONT SIZE=3D2>DCL> def gav gavval</FONT>
<BR><FONT SIZE=3D2>DCL> def "Gav" gavval2</FONT>
<BR><FONT SIZE=3D2>DCL> sho log G* </FONT>
</P>
<P><FONT SIZE=3D2>(LNM$PROCESS_TABLE)</FONT>
</P>
<P><FONT SIZE=3D2> "GAV" =3D "GAVVAL"</FONT>
<BR><FONT SIZE=3D2> "Gav" =3D =
"GAVVAL2"</FONT>
<BR><FONT SIZE=3D2>----------------------></FONT>
</P>
<P><FONT SIZE=3D2>Regards,</FONT>
<BR><FONT SIZE=3D2>Gavin Lloyd - FM Global.</FONT>
</P>
<BR>
<P><FONT SIZE=3D2>-----Original Message-----</FONT>
<BR><FONT SIZE=3D2>From: powerh-l-admin@lists.sowder.com</FONT>
<BR><FONT SIZE=3D2>[<A =
HREF=3D"mailto:powerh-l-admin@lists.sowder.com">mailto:powerh-l-admin@li=
sts.sowder.com</A>] On Behalf Of Chris Sharman</FONT>
<BR><FONT SIZE=3D2>Sent: 10 March 2004 17:11</FONT>
<BR><FONT SIZE=3D2>To: Hamilton, Allison</FONT>
<BR><FONT SIZE=3D2>Cc: powerh-l@lists.sowder.com; =
doug.moffatt@cognos.com</FONT>
<BR><FONT SIZE=3D2>Subject: Re: odd PH/VMS logical name =
behaviour</FONT>
</P>
<BR>
<P><FONT SIZE=3D2>Hamilton, Allison wrote:</FONT>
<BR><FONT SIZE=3D2>> Chris, I think this may be a difference =
in behaviour between 7.2 and</FONT>
<BR><FONT SIZE=3D2>> 7.3 of OpenVMS because I tried this in 7.10G3, =
7.10G5 and 8.30D4 (all</FONT>
<BR><FONT SIZE=3D2>on </FONT>
<BR><FONT SIZE=3D2>> 6.2 of OpenVMS) and 8.40D on 7.2-1 and 8.40D on =
7.2-2 of OpenVMS and </FONT>
<BR><FONT SIZE=3D2>> they retrieve the value of Test =
correctly. I don't have a 7.3 OpenVMS</FONT>
</P>
<P><FONT SIZE=3D2>> system available to me yet, so I can't test it =
there. Perhaps there</FONT>
<BR><FONT SIZE=3D2>is </FONT>
<BR><FONT SIZE=3D2>> a setting on the logical or in your environment =
that would affect the </FONT>
<BR><FONT SIZE=3D2>> default behaviour of the logical translation =
function (trnlnm) that is</FONT>
</P>
<P><FONT SIZE=3D2>> available in 7.3???</FONT>
<BR><FONT SIZE=3D2>> </FONT>
<BR><FONT SIZE=3D2>> I know that OpenVMS is moving more and more =
into the Posix world which</FONT>
<BR><FONT SIZE=3D2>> requires case sensitivity, so more things =
behave somewhat differently.</FONT>
</P>
<P><FONT SIZE=3D2>> I don't know if this one is an intentional =
change or not on the part</FONT>
<BR><FONT SIZE=3D2>of </FONT>
<BR><FONT SIZE=3D2>> OpenVMS. Usually they don't change the =
default behaviour of things so</FONT>
</P>
<P><FONT SIZE=3D2>> drastically, but who knows.</FONT>
</P>
<P><FONT SIZE=3D2>Curious. Nothing I'm aware of - DCL has always =
uppercased everything, </FONT>
<BR><FONT SIZE=3D2>and still does, unless you enable the mixed-case =
behaviour which goes </FONT>
<BR><FONT SIZE=3D2>with the ODS5 file system, which we haven't.</FONT>
</P>
<P><FONT SIZE=3D2>> Prior to 7.3 retrieval using uppercase always =
retrieved the correct</FONT>
<BR><FONT SIZE=3D2>> value due to the basically uppercase or case =
insensitive nature of the</FONT>
</P>
<P><FONT SIZE=3D2>> VMS environment. PowerHouse is built with =
this assumption currently, </FONT>
<BR><FONT SIZE=3D2>> and generally upcases just about everything =
coming in to ensure it can</FONT>
</P>
<P><FONT SIZE=3D2>> find it.</FONT>
</P>
<P><FONT SIZE=3D2>sys$trnlnm (and lib$get_logical) have always had a =
LNM$M_CASE_BLIND </FONT>
<BR><FONT SIZE=3D2>option, but it has never been the default behaviour, =
and still isn't.</FONT>
<BR><FONT SIZE=3D2>DCL f$trnlnm offers case-blind by default, and =
case-sensitive </FONT>
<BR><FONT SIZE=3D2>optionally. The older (obsolete since about V5) =
sys$trnlog and </FONT>
<BR><FONT SIZE=3D2>associated lib$ routine may do case-blind by default =
- I don't recall.</FONT>
</P>
<P><FONT SIZE=3D2>I don't think VMS has ever seen a non-compatible =
system service change </FONT>
<BR><FONT SIZE=3D2>like you suggest.</FONT>
<BR><FONT SIZE=3D2>Anyone got access to VMS 7.3 and an earlier version =
to confirm/deny ?</FONT>
</P>
<P><FONT SIZE=3D2>> Allison Hamilton</FONT>
<BR><FONT SIZE=3D2>> Senior Software Engineer</FONT>
<BR><FONT SIZE=3D2>> Cognos Inc.</FONT>
<BR><FONT SIZE=3D2>> Any opinions expressed within this message are =
mine alone and my</FONT>
<BR><FONT SIZE=3D2>> employer cannot be held accountable for =
them :-}</FONT>
<BR><FONT SIZE=3D2>> </FONT>
<BR><FONT SIZE=3D2>> -----Original Message-----</FONT>
<BR><FONT SIZE=3D2>> From: powerh-l-admin@lists.sowder.com </FONT>
<BR><FONT SIZE=3D2>> [<A =
HREF=3D"mailto:powerh-l-admin@lists.sowder.com">mailto:powerh-l-admin@li=
sts.sowder.com</A>]On Behalf Of Chris Sharman</FONT>
<BR><FONT SIZE=3D2>> Sent: Wednesday, March 10, 2004 6:30 AM</FONT>
<BR><FONT SIZE=3D2>> To: PowerH List</FONT>
<BR><FONT SIZE=3D2>> Subject: odd PH/VMS logical name =
behaviour</FONT>
<BR><FONT SIZE=3D2>> </FONT>
<BR><FONT SIZE=3D2>> </FONT>
<BR><FONT SIZE=3D2>> I've got a mixed-case logical name:</FONT>
<BR><FONT SIZE=3D2>> $ def "Test" =
"MyTest"</FONT>
<BR><FONT SIZE=3D2>> </FONT>
<BR><FONT SIZE=3D2>> $ quiz</FONT>
<BR><FONT SIZE=3D2>> Qz> def mytest char*10 =3D =
getsystemval("Test")</FONT>
<BR><FONT SIZE=3D2>> Qz> rep mytest</FONT>
<BR><FONT SIZE=3D2>> </FONT>
<BR><FONT SIZE=3D2>> Reports it as blank - presumably it doesn't =
find it.</FONT>
<BR><FONT SIZE=3D2>> Defining it as uppercase works fine.</FONT>
<BR><FONT SIZE=3D2>> </FONT>
<BR><FONT SIZE=3D2>> VMS logical names can be defined mixed-case =
(but are usually </FONT>
<BR><FONT SIZE=3D2>> uppercase). They can be fetched either =
case-sensitive or case-blind.</FONT>
<BR><FONT SIZE=3D2>> </FONT>
<BR><FONT SIZE=3D2>> Powerhouse would appear to be uppercasing the =
supplied string, then </FONT>
<BR><FONT SIZE=3D2>> doing a case-sensitive search - not the optimum =
behaviour ! Be nice if</FONT>
</P>
<P><FONT SIZE=3D2>> it used the string I gave it, and probably set =
the case-blind flag to </FONT>
<BR><FONT SIZE=3D2>> avoid breaking most existing stuff.</FONT>
<BR><FONT SIZE=3D2>> </FONT>
<BR><FONT SIZE=3D2>> VMS 7.3, PH 7.10G3</FONT>
</P>
<BR>
<P><FONT SIZE=3D2>------------------------------------------------------=
-----------------</FONT>
</P>
<P><FONT SIZE=3D2>Any views expressed in this message are those of the =
sender and not</FONT>
<BR><FONT SIZE=3D2>necessarily those of CCA Group. The =
unauthorized use, disclosure,</FONT>
<BR><FONT SIZE=3D2>copying or alteration of this message is =
forbidden. The contents of</FONT>
<BR><FONT SIZE=3D2>this message may be confidential and/or privileged, =
copyright CCA Group</FONT>
<BR><FONT SIZE=3D2>and are intended solely for the use of the =
individual or entity to whom</FONT>
<BR><FONT SIZE=3D2>they are addressed. Whilst this message has =
been scanned, CCA Group</FONT>
<BR><FONT SIZE=3D2>cannot guarantee that it is virus free or compatible =
with your systems</FONT>
<BR><FONT SIZE=3D2>and accepts no responsibility for any loss or damage =
arising from its</FONT>
<BR><FONT SIZE=3D2>use. The recipient is advised to run their own =
anti-virus software. If</FONT>
<BR><FONT SIZE=3D2>you receive this message in error please =
contact</FONT>
<BR><FONT SIZE=3D2>postmaster@ccagroup.co.uk immediately, destroy any =
copies and delete it</FONT>
<BR><FONT SIZE=3D2>from your computer systems.</FONT>
</P>
<BR>
<P><FONT SIZE=3D2>=3D =3D =3D =3D =3D =3D =3D =3D =3D =3D =3D =3D =3D =
=3D =3D =3D =3D =3D =3D =3D =3D =3D =3D =3D =3D =3D =3D =3D</FONT>
<BR><FONT SIZE=3D2>Mailing list: powerh-l@lists.sowder.com</FONT>
<BR><FONT SIZE=3D2>Subscribe: "subscribe" in message body to =
powerh-l-request@lists.sowder.com</FONT>
<BR><FONT SIZE=3D2>Unsubscribe: "unsubscribe =
<password>" in message body to =
powerh-l-request@lists.sowder.com</FONT>
<BR><FONT SIZE=3D2><A =
HREF=3D"http://lists.sowder.com/mailman/listinfo/powerh-l" =
TARGET=3D"_blank">http://lists.sowder.com/mailman/listinfo/powerh-l</A><=
/FONT>
<BR><FONT SIZE=3D2>This list is closed, thus to post to the list you =
must be a subscriber.</FONT>
</P>
<P><FONT SIZE=3D2>This message may contain privileged and/or =
confidential information. If you have received this e-mail in =
error or are not the intended recipient, you may not use, copy, =
disseminate or distribute it; do not open any attachments, delete it =
immediately from your system and notify the sender promptly by e-mail =
that you have done so. Thank you.</FONT></P>
</BODY>
</HTML>
------_=_NextPart_001_01C406E3.DA8940EC--