Application Compiler returning error 855

luiz_gouvea

New Member
Good morning, I would like to see if someone can give me a direction. I'm trying to learn Progress 9.x by myself and created 2 small procedures:

test1.p - has the CONNECT statement to the database and a RUN statement calling the test2.p

test2.p - has only one line with a FIND FIRST calling one of the columns.

If I use the _progres.exe the code works without a problem and no error is being thrown. However, when I use the Application Compiler the test2.p is returning the 855 and 725 errors and test1.p is not.

Does someone have a suggestion to me?
 

Osborne

Active Member
The errors are happening because you are trying to compile a program that references database tables but you are not connected to the relevant database:

855: You are not connected to the named database. Check your spelling and connection parameters.
725: You might have failed to connect to the database that contains this table, or the table name might exist in more than one database, or you gave an abbreviation that isn't unique. Use the full table name, qualified with the database name.

Before using Application Compiler connect to the relevant database first.

On a separate point, Progress 9.x is ancient, obsolete and unsupported and if you can, upgrade to at least 11.7 or 12.
 

luiz_gouvea

New Member
Thank you for your reply and I understand your point. However, the company is still using the v.9 and I was learning it because I need to work with the limitations that I have with it and I don't have the decision power to update. Just to work. Like you said, I was missing is to connect to the database before using the Application Compiler. Once I use for example the Data Administration to connect the database and then opened the Application Compiler I was able to compile the code. Thank you again for your help!
 

TomBascom

Curmudgeon
You may not have the authority to unilaterally upgrade but you certainly have the opportunity to learn why that upgrade is important and to speak up in favor of it.

If the company is deliberately choosing to stay on v9 one the following factors are likely in play:

1) They don't know any better - you can help them to know better.

2) They have not been keeping maintenance current and would have to pay for up to date licenses - if they are that cheap what does that say about your prospects at this company?

v9 is not just ancient, obsolete and unsupported -- it is irresponsible to continue to operate a mission critical system on v9. v9 was designed in the late 90's - the landscape was very, very different back then. Is the company still running Windows 95 / 98 on all of its desktops?

If you, personally, want to have a future writing Progress code you need to be learning about new features and capabilities. The current release, for instance, is OpenEdge 12. If you were learning the Microsoft stack would you be focused on Visual Basic 4?

BTW -- FIND doesn't "call a column". It fetches a row into a buffer (all of the columns of that record). You can then reference the column in whatever code you write after that.

Also - in most cases FIRST is inappropriate. I can understand it as a quick and dirty way to write test code (test2.p) but if you are under the impression that every FIND must always have a FIRST, that is wrong. If you have the misfortune of working with a code base where someone long ago decided to always put FIRST after every FIND you should at the very least be aware that it is not necessary, not helpful and is, in fact, misleading and the source of difficult to resolve bugs. At best it is a bad example that should not be followed or adopted. The WHERE clause in a FIND should almost always identify a UNIQUE record. In which case FIRST does nothing except mislead the future maintenance programmer into thinking that there could potentially be a multi-record result set.
 
Last edited:
Top