Operating System - OpenVMS
1825775 Members
1878 Online
109687 Solutions
New Discussion

Can't delete logical - %SYSTEM-F-NOLOGNAM, no logical name match

 
SOLVED
Go to solution
Art Wiens
Respected Contributor

Can't delete logical - %SYSTEM-F-NOLOGNAM, no logical name match

I inadvertantly used a DEFINE instead of an ASSIGN and created this:

$ define/sys/exec disk$mst_prod4: adv$lmpb

$ show log/full disk$mst_prod4:
"DISK$MST_PROD4:" [exec] = "ADV$LMPB" (LNM$SYSTEM_TABLE)

But now I can't delete it:

$ deassign/sys/exec disk$mst_prod4:
%SYSTEM-F-NOLOGNAM, no logical name match

$ deassign/sys/exec "disk$mst_prod4:"
%SYSTEM-F-NOLOGNAM, no logical name match

$ deassign/sys/exec "disk$mst_prod4*"
%SYSTEM-F-NOLOGNAM, no logical name match

$ show log/full disk$mst_prod4:
"DISK$MST_PROD4:" [exec] = "ADV$LMPB" (LNM$SYSTEM_TABLE)

I can't remember if there's a "trick" to this. Please don't tell me I have to reboot!

Thanks in advance,
Art
6 REPLIES 6
labadie_1
Honored Contributor
Solution

Re: Can't delete logical - %SYSTEM-F-NOLOGNAM, no logical name match

Add another : at the end of your logical

:-)
Art Wiens
Respected Contributor

Re: Can't delete logical - %SYSTEM-F-NOLOGNAM, no logical name match

You 'da man!

$ deassign/sys/exec disk$mst_prod4::

$ show log/full disk$mst_prod4:
%SHOW-S-NOTRAN, no translation for logical name DISK$MST_PROD4:

And why exactly does that work? BTW, :

$ deassign/sys/exec "disk$mst_prod4::" didn't work. Do the quotes make it case sensitive?

Thanks so much!

Art
Art Wiens
Respected Contributor

Re: Can't delete logical - %SYSTEM-F-NOLOGNAM, no logical name match

Oh for Pete's sake!!! Quotes make it case sensitive ... duh!

deassign/sys/exec "DISK$MST_PROD4:" works just fine!

Sorry to have wasted the bandwidth,
Art
Jan van den Ende
Honored Contributor

Re: Can't delete logical - %SYSTEM-F-NOLOGNAM, no logical name match

art,

from your Forum Profile:


I have assigned points to 373 of 414 responses to my questions.

in total 12 streams, 6 from 2005 & 6 from 2006

Maybe you can find some time to do some assigning?

http://forums1.itrc.hp.com/service/forums/helptips.do?#33

Mind, I do NOT say you necessarily need to give lots of points. It is fully up to _YOU_ to decide how many. If you consider an answer is not deserving any points, you can also assign 0 ( = zero ) points, and then that answer will no longer be counted as unassigned.
Consider, that every poster took at least the trouble of posting for you!

To easily find your streams with unassigned points, click your own name somewhere.
This will bring up your profile.
Near the bottom of that page, under the caption "My Question(s)" you will find "questions or topics with unassigned points " Clicking that will give all, and only, your questions that still have unassigned postings.

Thanks on behalf of your Forum colleagues.

PS. - nothing personal in this. I try to post it to everyone with this kind of assignment ratio in this forum. If you have received a posting like this before - please do not take offence - none is intended!

PPS. - Zero points for this.

Proost.

Have one on me.

jpe
Don't rust yours pelled jacker to fine doll missed aches.
Art Wiens
Respected Contributor

Re: Can't delete logical - %SYSTEM-F-NOLOGNAM, no logical name match

Sorry Jan (and others). I did catch it up several months ago (the last time you "reminded" me ;-).

I'll try and find some time to get current again.

Cheers,
Art
Jess Goodman
Esteemed Contributor

Re: Can't delete logical - %SYSTEM-F-NOLOGNAM, no logical name match

To answer Art's question of "And why exactly does that work? BTW"...

The ASSIGN command on VMS was designed to match ASSIGN command from other OSs whose general format was "ASSIGN new_device old_device". Since on VMS device names end with a colon you could do...
$ ASSIGN DMA2: DMA1: !Device DMA1: down
$ SHOW TRANSLATION DMA1
DMA1 = "DMA2:" (LNM$PROCESS_TABLE)
Note that ASSIGN removes an ending : from its second parameter since VMS actually uses it not as a device, but as a string.

So to create a logical name ending with : using ASSIGN you have to use a double ::
$ ASSIGN STRING NAME::
$ SHOW TRANSLATION NAME:
NAME: = "STRING" (LNM$PROCESS_TABLE)

The DEASSIGN command, being the opposite of ASSIGN, also removes a trailing : from its parameter.

When the DEFINE command was added as a more general way of creating logical names using the syntax "DEFINE name string", it was decided to not have it remove a trailing :.
But since an UNDEFINE command was not added, the DEASSIGN command, which does remove a trailing : must be used with DEFINE, which does not remove it.
I have one, but it's personal.