Dictionaries do not control the contents of data files, so there's no real
way to to determine if an attribute contains multi-values or not.
Generally, MV databases are multi-value self aware.  This does not apply to
UniData (except for conversion codes).  By this I mean if you "LIST SOMEFILE
SOMEFIELD" you will get output that will look like:

SOMEFILE.. SOMEFIELD.
1          14016
           14017
           14018
2          14019

...where records in the file have multi-values in the SOMEFIELD attribute.
If you place a conversion code, like "D2/", in attribute 7 or 8 of an "A" or
"S" type dictionary, the conversion will execute on each value:

SOMEFILE.. SOMEFIELD.
1          05/16/2006
           05/17/2006
           05/18/2006
2          05/19/2006

For reasons I won't get into here, conversion codes are normally placed into
attribute 7 of an "A" or "S" type dictionary (attribute 3 of "D" or "I"/"V"
type dictionaries).  

"D" or "I"/"V" type dictionaries do contain a loose definition of whether an
attribute is multi-value or not.  Attribute 6 of this type of dictionary
contains that information.  In UniData, in order for multi-value processing
to occur in UniQuery, this attribute __MUST__ be defined as multi-valued.
Still, however, the database does not require it.

The use of attribute 4 and 5 of an "A" or "S" type dictionary defines a
multi-value association.  For instance, if an A/P invoice record exists it
usually has two attributes defined as G/L account#s and associated amounts.
In this case you could define an association in these types of dictionaries
as "D;.." and "C;..", where ".." is the appropriate associated attribute
number.  One of these is controlling and one is dependent.  This concept
doesn't really exist in UV and UD, except in these types of attributes (UV
only).

So, if you're using a front-end tool you can define an "A" or "S" type
dictionary as multi-value by putting an "M" or "S" in attribute 11 of the
dictionary then tell your tool to look there.

Hope this helps.

Bill


> -----Original Message-----
> From: [EMAIL PROTECTED] 
> [mailto:[EMAIL PROTECTED] On Behalf Of John Kent
> Sent: Tuesday, May 16, 2006 4:26 PM
> To: [email protected]
> Subject: Re: [U2] LIST DICT FILE Depth and Assoc
> 
> Stuart,
>
> If you make either one of these S, LIST DICT still
> displays the depth and assoc as M not S
> 
> On what does it base this decision.  It looks like
> Universe assumes all A types are inherently multivalue.
> 
> jak
>
> ----- Original Message -----
> From: <[EMAIL PROTECTED]>
> To: <[email protected]>
> Sent: Tuesday, May 16, 2006 5:30 PM
> Subject: RE: [U2] LIST DICT FILE Depth and Assoc
> 
> 
> > You can use attribute 4 and 5 of the dictionary (UV 
> > System Description pdf  pp5-20  for  complete  details)
> > or  use  the Retrieve  keywords
> >   MULTIVALUE and SINGLEVALUE at TCL 
> > to override default behaviours.
> > 
> >   Cheers,
> > 
> >   Stuart
> > 
> > ____________________________________________________________
> > 
> > Can anyone tell me if there is a way to tell Universe 
> > that an A type dictionary item is a single value and not
> > a multivalue like you can in D or I type items.
> >
> > It seems that Universe catagorises these as M.
> > Knowing this can be useful when combining dict items
> > with a WHEN via a front end.
-------
u2-users mailing list
[email protected]
To unsubscribe please visit http://listserver.u2ug.org/

Reply via email to