Progress 9.1e couple of noob questions

First of all hello to everybody, I think I will be sticking around this forum :D.

Preface: I just got started working for a company on upgrading their ERP software, written in Progress 8, that used to be called ShopPro to Encompix program, written in Progress 9.3e. My goal is to make transition and add couple of widgets and things the company needs in their estimating and sales portion. I have never worked with Progress or any database software before, but I am majoring in CIS and have some C++ and Java experience.

The database has already been translated from Progress 8 to Progress 9 and after couple of days of playing around I found AppBuilder (?Is it a good program to use or is there something better?), but am still struggling to get it working (gives me "Font 11 not in font set: 4499")


Q1: The simple editor keeps crashing after 3-4 compiles, giving me an "unable to assign UNKNOWN value to attribute parent on WINDOW widget:4083" error. What could be the cause of that?

...I have a lot more questions but its really difficult to put some of them in words, if anybody could point me to some good basic reading material, that apply to my situation I would be grateful.

Thanks in advance.
 

TomBascom

Curmudgeon
Documentation and training for v9 is going to be hard to come by. Version 9 was replaced with version 10 5 or more years ago. (Progress version 10 is officially known as OpenEdge release 10 or, less officially, OE10.)

OE10 uses an Eclipsed based IDE known as "Architect". It is way better than app-builder.

As for your error... it means what it says. You are, somehow, attempting to assign the unknown value (NULL, Progress represents this as ?) to the window's parent. So look for code which has statements like:

Code:
blah:parent = ?

Of course it may not be so obvious -- the unknown value may be in a variable, possibly as a result of some failed attempt to do something else.

(The OE10 Architect IDE also contains a useful debugger.)
 
Thanks Tom for you reply.

Well an obvious question that comes up then, is there are a way to covert Progress 9 to openEdge or to just use Architect on progress 9? Unfortunately thats what I have to work with.
 

tamhas

ProgressTalk.com Sponsor
Converting to a modern version of Progress is usually just load and go. The only real "legitimate" reason to stick with an old version of Progress is having a stupid vendor who says that they won't support your version of the software on that release ... which is dumb of them. Minimal conversion of the database is trivial. Of course, there are a lot of new features in the newer versions of the database that you will miss that way, but you can get around to exploiting those latter, if the priorities are elsewhere. Normally, the worst problem moving the code forward is that one has used a name for a database field or variable which is now a keyword in the later version. That one can get around by using a keyword forget list (-k parameter) until one can modify the application to use a new term.

And, if you got to a modern version of the language, you would be able to write in OO, which would be more familiar to you.

Meanwhile, just keep asking questions and you will keep learning.
 
Thank you Tamhas for your reply.

Would you mind elaborating a little bet about loading and going part:

-Would I just need to purchase extra license for the compiler?

-Would it come with Architect builder?

-Would OE10 support our current ERM system, which is written in v9?

I don't think my boses would be pleased with buying extra license for the program but I will try anything to simplify the progress.

Also is there anybody experienced with AppBuilder? I am having a real difficulty setting it up with my current database.

Thanks Again.
 

tamhas

ProgressTalk.com Sponsor
Generally, one would simply convert all licenses to the new version in the same way that you probably did moving from 8 to 9. Despite the funny noises sometimes made by sales people, there is really no difference moving from 9 to 10 than there is 8 to 9. OE10 *did* introduce some new license models and, depending on your circumstances it might be worth considering those, but in general people with V9 concurrent user licenses just convert them to OE10 concurrent user licenses and nothing changes.

There is a certain amount of repackaging that goes on, as has happened with many version changes in the past, but there is a set of rules for that too and generally it isn't a problem. I.e., if you have so many users of workgroup or enterprise database, that just becomes the same number of users of workgroup or enterprise database in OE10.

The development products are a little more complicated since there is currently a distinction between OpenEdge Architect, which is the one built on Eclipse, and OpenEdge Studio, which includes AppBuilder. With each release, more and more of the functionality of OES moves into OEA, so it is clearly the intention that OES will just fade away like the Cheshire Cat one day.

There is currently a program where one can get both for the price of one. So, if you have V9 ProVision, you trade that in as a part of this deal to OEA, for example, but then also request OES and you have both for a year. At the end of the year you are supposed to pick one or the other, but I don't know how well they are monitoring or enforcing that.

If you really like AppBuilder and the code you are working with was written with AppBuilder, then you will probably want to be able to continue to use it. If you are just getting started and the existing code is not full of all of the AppBuilder markup, then I would just go with OEA and forget AppBuilder.

The actual physical shift should be a lot like what was just done moving from 8 to 9. I.e., get the new versions from PSC (ask your rep), install them, make a copy of your database, do a test conversion of the database on the copy, make a copy of the code, do a test compile of the code on the new version, clean up any issues, and then plan for converting the production system. There are a lot of database features in OE10 that might cause you to want to create a new structure and use dump and load instead of the conv utilities, but that is a choice you can make.

It is called "load and go" because it is usually just that easy. As I said, the only gotcha is usually having used a field name or variable that becomes a keyword in a later version. Using the -k parameter will allow you to get past that, although you won't be able to use the functionality associated with that keyword until you make the change and get rid of the -k. One should always test, but the expectation is that you will have no problem running your old application under the latest version of Progress. There is a lot of 20 year old code out there running on the latest releases.

Normally, you should not have to buy any new licenses unless you are adding new functionality.

And, yes, there are people experienced with AppBuilder, but I'm not one of them since I never liked it much, but some folks do. If you are more explicit about what kind of problems you are having, someone will probably be able to help.
 
Thanks again tomhas.

I will ask my boss to talk to sales reps when I get back on monday about a possibility of converting to OpenEdge.

I have 3 questions about AppBuilder:

-How do I easily delete widgets from prog completely, without having to edit all of the DEFINE fields in a code, which is a pain. For example I have a field called "currency" in my program, if I just click it and delete it, the program won't compile, saying that "currency" is missing in frame-a?

-Another question is how do I declare variables and then assign fields in DB to those variables, for example a combo-box named "status" with a set of 5 entries, that I am trying to have a choice of to tie to somebody's name in a DB?

-How do I create an extra table for some kind of other entries?

Thanks everybody.
 
Top