I have version 10.1C04. I have created a database and I'm trying to add areas to its structure. I have set up a .st file with the following d “Data”:100,32;1 MyDb_100.d1 f 1024000 When I run prostruct add I get the message Invalid extent type M in extent length specification. Why am I getting this and, if my format is wrong, can you advise the correct one? Dave MacLurg
There could be a few reasons. Try this: I replaced the file name by a dot. This tells prostrct to create the extent in the current working directory and it will name it automatically.
d “Data”:100,32;1 . f 1024000
Note that I never use file names in my structure files for this exact reason. I only put directory names and usually I just put "." unless I specifically want to create a file somewhere different.
Also you don't say so specifically, but I assume this file is called something like "add.st" and you are running "prostrct add Mydb add.st".
If this does not work:
- Is this a new storage area called "Data" or are you trying to add files to an existing SA? I ask because the file name is .d1 which implies a new SA.
- Is the DB called MyDb? On UNIX this is case-sensitive
I have tried this and I still get the same message and it identified "." as the invalid extent type. It is as if I'm missing an element of the area definition, but I have checked what I have against the Progress documentation.
I have also tried creating a new .st file and running a prostruct create but I get the same result.
Why don't you paste in the actual structure file?
This has to be a parsing issue. prostrct expects token 4 (space-delimited) to be "f" or "v" or nothing. Did you cut-and-paste the line from MS Word?
prodb toto sports2000
prostrct list toto
cp toto.st add_test.st
Now vi add_test.st, delete everthing except one line and edit each component (area name, area #, RPB, BPC, directory,"f", size). Now try prostrct add MyDB add_test.st.
If your database is indeed named MyDB (if not you get 6857 error) then try quoting the area name.
The message "Invalid extent type M in extent length specification", is most likely because you copied this st file from Windows. It's interpreting the end of line ^M. If you open your .st file in (say) vi, you'll see the ^M at the end of each line to confirm this. It can be removed by running: %s/(ctrl-v)(ctrl-m)//g
Yeah I can confirm that this is the likely cause as I had exactly the same problem when playing around with some bits last week, and C&Ping from M$.
The ^M is not an issue for my .st files coming from NT to Unix (tested on Solaris64 in 10.2b08)
d "Data":100,32;1 MyDb_100.d1 f 10240^M
It is only when I remove the quotes around the area name "Data" that I get the error:
Syntax error in structure file:
d Data:100,32;1 MyDb_100.d1 f 10240
Fixed Length flag incorrect. M (6830)
Error occurred on line 2. (6819)
prostrct add FAILED. (12867)