[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference azur::mcc

Title:DECmcc user notes file. Does not replace IPMT.
Notice:Use IPMT for problems. Newsletter location in note 6187
Moderator:TAEC::BEROUD
Created:Mon Aug 21 1989
Last Modified:Wed Jun 04 1997
Last Successful Update:Fri Jun 06 1997
Number of topics:6497
Total number of notes:27359

916.0. "PROBLEM: FCL won't parse attributes in particular order" by COOKIE::KITTELL (Richard - Architected Info Mgmt) Mon Apr 15 1991 18:08

SSB V1.1

The two attributes "Binding" and "Description" have default values and work
fine when they appear by themselves or in combination with most others. But
there is one combination and order which FCL rejects:

MCC> SET ML CarType TZ857 description, binding
%MCC-F-INVALID_PARAMET, invalid parameter

   But the same arguments in the opposite order are accepted:

SET ML CarType TZ857 binding, description

   Using a particular abbreviation and supplying values gives an
   error that may be a clue:

MCC> SET ML CarType TZ857 desc="test", bind=perm
%MCC-W-QUALSYNTAX, syntax error in qualifier: =

Could "bind" be getting mistaken for "In Domain"?

The MSL for the two attributes, both in the CHAR partition, is:

TYPE Bindings = 68 (Temporary = 1, Permanent = 2);

         ATTRIBUTE Description = 62 : Latin1String
           (* Text describing this Cartridge Type. The value of the attribute
              does not affect the operation of the Media Library. *)
           SYMBOL = ATTR_DESCR,
           DEFAULT = ""
         END ATTRIBUTE Description;

         ATTRIBUTE Binding = 13 : Bindings
           (* Valid only for Compound Cartridges (Base is False).
              Indicates whether this Compound cartridge can be
              Unbound. *)
           DEPENDS ON = "Base = False",
           SYMBOL = ATTR_BINDING,
           DEFAULT = Temporary
         END ATTRIBUTE Binding;

A sumary of all the attrs, dirs, and events on the entity:

     CHILD ENTITY CarType = 59
     |  ATTRIBUTE(ID) Name = 2 : CarTypeName
     |  ATTRIBUTE(CH) Description = 62 : Latin1String
     |  ATTRIBUTE(CH) Base = 189 : EnumBoolean
     |  ATTRIBUTE(CH) Loadable = 11 : Boolean
     |  ATTRIBUTE(CH) Binding = 13 : Bindings
     |  ATTRIBUTE(CH) Maximum Components = 171 : Unsigned16
     |  ATTRIBUTE(CH) Parent Cartridge Type List = 159 : CarTypeNameSet
     |  ATTRIBUTE(CH) Loads Limit = 167 : Unsigned32
     |  ATTRIBUTE(CH) Binds Limit = 172 : Unsigned32
     |  ATTRIBUTE(CO) Creation Time = 6 : BINABSTIM
     |  ATTRIBUTE(CO) Accesses Denied = 29 : Counter32
     |  ATTRIBUTE(CO) Accesses Granted = 33 : Counter32
     |  DIRECTIVE Create = 12
     |  DIRECTIVE Rename = 34
     |  EVENT PARTITION MLS Events = 1
     |  |  EVENT Access Denied = 118
     |  |  |  COUNTED AS = (Accesses Denied)
     |  |  EVENT Access Granted = 119
     |  |  |  COUNTED AS = (Accesses Granted)
T.RTitleUserPersonal
Name
DateLines
916.1some answersTOOK::CALLANDERWed Apr 17 1991 19:4432
1)

	MCC> SET ML CarType TZ857 description, binding
	%MCC-F-INVALID_PARAMET, invalid parameter

2)
	But the same arguments in the opposite order are accepted:

	SET ML CarType TZ857 binding, description

3)
	
	MCC> SET ML CarType TZ857 desc="test", bind=perm
	%MCC-W-QUALSYNTAX, syntax error in qualifier: =


Well the third one is the easiest. You have an attribute called "binds lmit"
and another called "binding". The abbreviation "bind" is not sufficient 
enough to tell them apart.

Now why the first one fails, and the second one works... The only thing that
comes to mind is the default values for the attributes. The FCL is still
picking them up out of the dictionary and using them to fill in the value
(only in some cases), I would be interested in seeing what the definitions
for the defaults look like in the dictionary.

DAP> SHOW CLASS MC SUBCLASS CARTYPE ATTRIBUTE description DEFINITION VALUE_DEFAULT
(same for binding as well).

To look at it, it seems like it is having a problem with the null string
you have for a default on the binding attribute. But that is just a guess.
 
916.2more info:COOKIE::KITTELLRichard - Architected Info MgmtWed Apr 17 1991 23:0028
RE: .1

>Well the third one is the easiest. You have an attribute called "binds lmit"
>and another called "binding". The abbreviation "bind" is not sufficient 
>enough to tell them apart.

Yup. Using the full attribute name works.

        SET ML CarType TZ857 desc="test", binding=perm

>To look at it, it seems like it is having a problem with the null string
>you have for a default on the binding attribute. But that is just a guess.

        Actually, the null string is on Description, a Latin1String.

DAP> sho class medialibrary subclass CARTYPE ATTRIBUTE description DEFINITION VA
LUE_DEFAult

   Definition Name = VALUE_DEFAULT
   Type = T   Length = 0   Count = 1   Defined = TRUE   Class = S
   value[1] = ""

DAP> sho class medialibrary subclass CARTYPE ATTRIBUTE binding DEFINITION VALUE_
DEFAULT

   Definition Name = VALUE_DEFAULT
   Type = T   Length = 9   Count = 1   Defined = TRUE   Class = S
   value[1] = "Temporary"
916.3length is 0TOOK::CALLANDERThu Apr 18 1991 17:1713

   Definition Name = VALUE_DEFAULT
   Type = T   Length = 0   Count = 1   Defined = TRUE   Class = S
   value[1] = ""


my guess is we don't handle the length of 0 for the string. I will see if
I can find some more out. For now I suggest you simply put a value in
there and see if it works.