Unfortunately OpenEdge does not have an option to prevent table abbreviations.
In our development environment I've set up following workaround to prevent table abbreviations.
1. Create an extra database, I called it NONUNIQ
2. Add a table for each table in the real database, append an underscore to the filename
3. Connect the extra database in the development enviroment
From now on all abbreviated table references cause a compile error because they have become ambiguous due to the extra table in the nonuniq database.
I used following piece of code to create a df for the nonuniq db.
&scoped db DBNAME def stream sdf. output stream sdf to nonuniq.df. for each {&db}._file where not {&db}._file._file-name begins "_" and {&db}._file._owner = "pub": run AddTable({&db}._file._file-name). end. output stream sdf close. procedure AddTable: def input param itable as char. put stream sdf unformatted subst('ADD TABLE "&1_"', itable) skip(2). end procedure.
Unfortunately OpenEdge does not have an option to prevent table abbreviations.
In our development environment I've set up following workaround to prevent table abbreviations.
1. Create an extra database, I called it NONUNIQ
2. Add a table for each table in the real database, append an underscore to the filename
3. Connect the extra database in the development enviroment
From now on all abbreviated table references cause a compile error because they have become ambiguous due to the extra table in the nonuniq database.
I used following piece of code to create a df for the nonuniq db.
&scoped db DBNAME
def stream sdf.
output stream sdf to nonuniq.df.
for each {&db}._file where not {&db}._file._file-name begins "_" and {&db}._file._owner = "pub":
run AddTable({&db}._file._file-name).
end.
output stream sdf close.
procedure AddTable:
def input param itable as char.
put stream sdf unformatted
subst('ADD TABLE "&1_"', itable) skip(2).
end procedure.
Flag this post as spam/abuse.
Nice one!