Working with Progress 9.1A

rru

New Member
Hello there!

So, to give you some context, I'm a young dev who just got hired at a company where the main system runs on Progress 9.1A. They haven’t updated anything in over 20-25 years, there is no active license, no documentation at all, and only two senior devs who originally built the system and have been with the company for 35+ years actually understand it. They’re both planning to retire within the next 1–2 years.


So yeah, pretty much a nightmare.
I was hired to create APIs so third-party companies can access data from their database. The problem is that this version of Progress is very limited. I haven’t been able to find much documentation, so my only source of information is the old devs. AI tools haven’t been much help either since the code they generate doesn’t work with this old tech. Still, I’ve been slowly starting to understand the system a bit more.


Right now, my two main issues are:
  • No CLI interface. The only way I’ve found to run .p routines is via prowin32.exe. _progress doesn’t exist in this version, so I can only export data through .txt files and read them later, which is not very efficient.
  • No external database connections. From what I understand, it uses a very old SQL engine, but I don’t think it’s possible to connect to it from modern tools or technologies.

What would you recommend I do in this situation, besides finding a new job?
Any tips, tools, or documentation would be highly appreciated.

Right now the main focus are these APIs, but for a future migration of the system, , do you think it would be worth upgrading to a more recent version, or rebuilding everything from scratch using another technology? They’re currently using AppBuilder for the interfaces.


Cheers!
 
Get a new job!!!
Seriously, that is a nightmare. 9.1A is extremely old, unsupported and was obsolete a long time ago. You are building a rod for your own back. And the company approach is a joke. Why are they investing in a modern approach to programming without actually modernising? It sounds like they're panicking because their resources are retiring and they'll have nothing left. I suspect they want the system API'd so they can bolt a front end on and forget about it. It doesn't work like that. If they're serious about employing you long term, then they need to invest in upgrading the platform to a modern and supported Progress instance, that supports REST etc natively through PASOE, that way APIs are actually pretty easy to develop and they can have all sorts of things like industry standard level application security out of the box.
 
I can share the documentation for Progress V9.1B if you need it. It's in the pdf format;
You can find the installed licenses that will tell you what you can do with a database: %DLC%\bin\showfcfg.exe %DLC%\progress.cfg;
You can check a database log (dbname.lg file) to find out how database is started - see the messages below (333).
 
I second what James has said above. They need to have a serious conversation around fully modernising rather than band-aiding it and hoping for the best. The pain of investing and upgrading now will far far far outweigh the heartache down the line of trying to modernise and upgrade without the only 2 devs that actually know the old system.
 
Get a new job!!!
Seriously, that is a nightmare. 9.1A is extremely old, unsupported and was obsolete a long time ago. You are building a rod for your own back. And the company approach is a joke. Why are they investing in a modern approach to programming without actually modernising? It sounds like they're panicking because their resources are retiring and they'll have nothing left. I suspect they want the system API'd so they can bolt a front end on and forget about it. It doesn't work like that. If they're serious about employing you long term, then they need to invest in upgrading the platform to a modern and supported Progress instance, that supports REST etc natively through PASOE, that way APIs are actually pretty easy to develop and they can have all sorts of things like industry standard level application security out of the box.
I'm just working here temporarily on this project, the APIs are required based on a partner’s request, so they’re aware of the situation and plan to start the migration next year, but since this is an urgent requirement, the implementation needs to be done within the next couple of months with the current system
 
I can share the documentation for Progress V9.1B if you need it. It's in the pdf format;
You can find the installed licenses that will tell you what you can do with a database: %DLC%\bin\showfcfg.exe %DLC%\progress.cfg;
You can check a database log (dbname.lg file) to find out how database is started - see the messages below (333).
Thanks! I’d really appreciate that. Could you send it here or by email?
 
I second what James has said above. They need to have a serious conversation around fully modernising rather than band-aiding it and hoping for the best. The pain of investing and upgrading now will far far far outweigh the heartache down the line of trying to modernise and upgrade without the only 2 devs that actually know the old system.
I totally agree, but since this is an urgent requirement from a partner, it cannot wait for the migration, the migration it's planned for the next year
 
I totally agree, but since this is an urgent requirement from a partner, it cannot wait for the migration, the migration it's planned for the next year
While you are looking for a new job, preparing for the migration, getting ready for the retirement party , reading the rest of the "Oh My God!." posts, you, your boss, or your boss's boss needs to find out what these partners "need" "urgently" so instead of CLI/API/migration and other various mountains to climb, you can export what they need and feed it to them nightly, hourly , minutely whatever.
There are simple problems with complex solutions and complex problems with simple solutions.. most consultants ...aaahh..that's another thread ...
 
While you are looking for a new job, preparing for the migration, getting ready for the retirement party , reading the rest of the "Oh My God!." posts, you, your boss, or your boss's boss needs to find out what these partners "need" "urgently" so instead of CLI/API/migration and other various mountains to climb, you can export what they need and feed it to them nightly, hourly , minutely whatever.
There are simple problems with complex solutions and complex problems with simple solutions.. most consultants ...aaahh..that's another thread ...
Not sure if I understand your message, but Im just doing what they asked me lol, I reported my concerns about the situation with the system, but im basically freelancing, not really part of the company.
 
The point is to make sure to define the need in terms of the actual need, not in terms of an assumed technology to fulfill the need. You might find that there is something simple you can do which will be perfectly adequate for a year or two and thus strategize any modernization more sensibly. Which said, management needs to understand that being stuck on 9.1A is a MAJOR limitation in what is possible.
 
I can share the documentation for Progress V9.1B if you need it. It's in the pdf format;
You can find the installed licenses that will tell you what you can do with a database: %DLC%\bin\showfcfg.exe %DLC%\progress.cfg;
You can check a database log (dbname.lg file) to find out how database is started - see the messages below (333).
Since we have some old shit programs based on ADM-1, could you make the docs available for me? Would be of help when debugging some of this old stuff
 
Hello there!

So, to give you some context, I'm a young dev who just got hired at a company where the main system runs on Progress 9.1A. They haven’t updated anything in over 20-25 years, there is no active license, no documentation at all, and only two senior devs who originally built the system and have been with the company for 35+ years actually understand it. They’re both planning to retire within the next 1–2 years.


So yeah, pretty much a nightmare.
I was hired to create APIs so third-party companies can access data from their database. The problem is that this version of Progress is very limited. I haven’t been able to find much documentation, so my only source of information is the old devs. AI tools haven’t been much help either since the code they generate doesn’t work with this old tech. Still, I’ve been slowly starting to understand the system a bit more.


Right now, my two main issues are:
  • No CLI interface. The only way I’ve found to run .p routines is via prowin32.exe. _progress doesn’t exist in this version, so I can only export data through .txt files and read them later, which is not very efficient.
  • No external database connections. From what I understand, it uses a very old SQL engine, but I don’t think it’s possible to connect to it from modern tools or technologies.

What would you recommend I do in this situation, besides finding a new job?
Any tips, tools, or documentation would be highly appreciated.

Right now the main focus are these APIs, but for a future migration of the system, , do you think it would be worth upgrading to a more recent version, or rebuilding everything from scratch using another technology? They’re currently using AppBuilder for the interfaces.


Cheers!
To have a better environment, you could download and install the classroom edition and do some work from there.

And to support exploring the database, you could try to use an old version of the DataDigger to see what's in the database and quickly browse through it. I am not sure if it will work with v9.1C. It might require 9.1D but you can find that out. DDv9 is here: GitHub - patrickTingen/DataDiggerV9: DataDigger for Progress v9

If you manage to get the classroom edition working, you'd be better of switching to the latest DataDigger
 
To have a better environment, you could download and install the classroom edition and do some work from there.

And to support exploring the database, you could try to use an old version of the DataDigger to see what's in the database and quickly browse through it. I am not sure if it will work with v9.1C. It might require 9.1D but you can find that out. DDv9 is here: GitHub - patrickTingen/DataDiggerV9: DataDigger for Progress v9

If you manage to get the classroom edition working, you'd be better of switching to the latest DataDigger
Thanks! I didn’t find much information about the classroom edition, but DataDigger definitely will be useful. For the v9 version, is the setup the same as the standard version? I’m trying to open the .pf file, it creates the temp files, but no window opens
 
That should be enough, but I don't have a v9 on my laptop to test it. You could also try to open datadigger.p in the editor and press F2 and see what it does. More info on the classroom edition can be found here
 
Get a new job!!!
Seriously, that is a nightmare. 9.1A is extremely old, unsupported and was obsolete a long time ago. You are building a rod for your own back. And the company approach is a joke. Why are they investing in a modern approach to programming without actually modernising? It sounds like they're panicking because their resources are retiring and they'll have nothing left. I suspect they want the system API'd so they can bolt a front end on and forget about it. It doesn't work like that. If they're serious about employing you long term, then they need to invest in upgrading the platform to a modern and supported Progress instance, that supports REST etc natively through PASOE, that way APIs are actually pretty easy to develop and they can have all sorts of things like industry standard level application security out of the box.
9.1A was a nightmare - full stop. 9.1D should be the minimum version for 9.1 but that ship has long since sailed - and sunk.
 
Back
Top