Data-level descriptor

136 views
Skip to first unread message

Chris Kusmierz

unread,
Sep 12, 2016, 9:37:11 AM9/12/16
to Pick and MultiValue Databases
I am trying to review the data in a file I have never needed to access before and am getting the following result:

:sort only menu.log
[13] The data level descriptor (file-name in dictionary) is missing.

I know just enough about PICK to be dangerous and I don't really understand what this error means. Here is the MD entry:

    menu.log
001 D
002 $(mds):$(MD)/menu.log/menu.log
003 1
004
009 L
010 10
067 10297
069 2
071 .:djan4/menu.log/menu.log
072 4096
074 djan4
075 MENU.LOG
080 9418

Could someone enlighten me?

TIA

Chris Kusmierz

Ed Clark

unread,
Sep 12, 2016, 12:03:31 PM9/12/16
to mvd...@googlegroups.com
Someone else will probably respond with a more specific answer but:
On pick systems, the MD entry for a file is a pointer to the DICT of the file, and data sections are defined in the DICT. (the MD itself is defined in the SYSTEM file. It’s a 4 level hierarchy). There can be multiple data sections, or none at all, and none of the data sections have to have the same name as the dict section. When you issue a command like
  SORT filename
that’s really shorthand for
  SORT filename,filename
where the first filename is the name of the DICT, defined in the MD, and the second filename is the name of the data section, which would be defined in the DICT. When the dict section and the data section have the same name, you can use the shorthand, but if they are different then you have to use both names. 
The error message you get is telling you that there is no data section named “menu.log” defined.
The next step is to look and see what is in the DICT section. There are several ways to do this. My favorite is to use the LIST-ITEM command
  LIST-ITEM DICT menu.log
look for items that have “D” in attribute 1, which would be data section definitions. There could also be “Q” pointer items. If you find any F or Q entries try
  sort menu.log,D-Item-name
or
  list-item menu.log,D-Item-name
My guess though is that there aren’t any data sections. All the data is probably in the dict.

The definition for the DICT $(mds):$(MD)/menu.log/menu.log looks like something D3-specific that I’m not familiar with, but I’m guessing that it points to an OS file or directory.

--
You received this message because you are subscribed to
the "Pick and MultiValue Databases" group.
To post, email to: mvd...@googlegroups.com
To unsubscribe, email to: mvdbms+un...@googlegroups.com
For more options, visit http://groups.google.com/group/mvdbms

Tony Gravagno

unread,
Sep 12, 2016, 9:53:15 PM9/12/16
to Pick and MultiValue Databases
Just to add to what Ed said:
LIST-ITEM just shows raw items which could be data or definitions. My guess is that this will confirm that this "log" file is a dict-only file simply because there's usually no need for both a dict and a data for unstructured records.
There's nothing wrong with a dict with no data, or a dict with a thousand data files where none of them have the same name as the dict. Use the command "LF MENU.LOG" to see the List of data Files associated with that dictionary. There probably won't be any for this one.
Use "LD MENU.LOG" to see the List of Definitions. I'll guess none of these either.

T

Chris Kusmierz

unread,
Sep 13, 2016, 11:03:53 AM9/13/16
to Pick and MultiValue Databases
There are no items with a "D" in attribute one. Does this mean there is no data? This is supposed to be a log of who accessed which menus in a 4GL system. LD results:


:ld menu.log

                            DICT menu.log

AC.. ATTRIBUTE-NAME TY CW STRUC INPUT-CONVERSION CORRE

   0 0              L  20
   0 ACCOUNT        L   8                        G1*1
   0 DATE           R   8                        G2*1
   0 DATEX          R   0                        G2*1
   0 PORT           R   2                        G*1
   0 PORTX          R   0                        G*1
   1 1              R   8
   2 2              R   7
   3 3              L   8
   4 4              L   9
   5 5              L  35
  99 KEY            L  11                        A(N(P

Wols Lists

unread,
Sep 13, 2016, 7:57:23 PM9/13/16
to mvd...@googlegroups.com
On 13/09/16 16:03, Chris Kusmierz wrote:
> There are no items with a "D" in attribute one. Does this mean there is
> no data? This is supposed to be a log of who accessed which menus in a
> 4GL system. LD results:

Absolutely NOT. Unlike in relational systems, where a column doesn't
exist unless it's defined (the dictionary is PREscriptive), in Pick the
data exists the moment it's created, and the dictionary is DEscriptive.

Sadly, it's quite normal for plenty of older (and even newer :-( systems
to have plenty of columns with no definitions.

Cheers,
Wol

Peter McMurray

unread,
Sep 14, 2016, 5:36:29 PM9/14/16
to Pick and MultiValue Databases
HI
It is perfectly possible that the lack of dictionaries is deliberate in an effort to hide the data from interfering eyes.
I have a file tracking who changed what and the data definitions are in the program for this very reason.
If you are using D3 then simply listing the file as list FILENAME A1 A2 A3.... will display the raw data A1..Annn are a default attribute definition that simply picks up the data without converting it.

Tony Gravagno

unread,
Sep 15, 2016, 2:53:03 AM9/15/16
to Pick and MultiValue Databases
I said LD to list schema definitions. And I said use LF to see data files. These are shortcuts for LISTDICT and LIST-FILES.
Reply all
Reply to author
Forward
0 new messages