Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
A Detailed Data Dictionary
Message
General information
Forum:
Visual FoxPro
Category:
Coding, syntax & commands
Miscellaneous
Thread ID:
00043518
Message ID:
00043580
Views:
35
>>>Being the detail oriented guy that I am (uh huh), I decided to automatically generate a data dictionary in my framework. The datadict is really two table, one containing table information and one containing field information. The problem I've run into is when trying to generate the table that contains field info. Basically, I attempted to do the following:
>>> scan
>>> get table name from datadict
>>> display structure to a file
>>> append that file to a temporary table
>>> get rid of the strucure header info
>>> add any extra info to the temp table, eg table name
>>> append the temp table into the main table
>>> endscan
>>>
>>>This works great with one exception. The file output from the 'display struct to file' isn't always the same! So, for example, since I'm assuming that the 'field type' will always start at column 30 this trashes everything.
>>>
>>>Is there an easier way to get structure info into a table?
>>
>>
>>Ive done the same thing, also using two tables, I generate the field table using AFIELDS() like this:


<snip>


>
>Thanks for the assist. The afields() did it for me. I can't believe I didn't run across this function when I was looking for different ways to output structure info. Sheesh. Anyway, here is my final code:
>*****************
>select datadict
>SCAN
> lcName = alltrim(datadict.dbfname) && the name of the table
> lcPath = alltrim(directory) && the path of the table
> use (lcPath+lcName) IN 4
> lnFields = afields(laFieldInfo) && copy structure info to array
> select datatmp
> zap
> append from array laFieldInfo && append structure info into temp table
> replace all dbfname with lcName && add the table the fields came from
> select datafld
> append from datatmp && append final data into field table
> select datadict
>ENDSCAN
>*****************

Very glad I could help.

Steve
Previous
Reply
Map
View

Click here to load this message in the networking platform