If this is your first visit, be sure to
check out the FAQ by clicking the
link above. You may have to register
before you can post: click the register link above to proceed. To start viewing messages,
select the forum that you want to visit from the selection below.
If the program was compiled with the appropriate debug options, you can get it yourself by doing STRDBG on the program. It will then display the compile listing source if the compile options allowed it.
Other than that, I'm not aware of any, but I would be surprised if any such tool existed.
Hopefully they were compiled with *LSTDBG - which you could still use STRDBG using OPMSRC(*YES). That would be the ideal solution.
Years ago I saw a company that claimed they could take RPG programs and create source from it. I can't find that now. I don't know if they no longer exist or if I'm just using wrong search criteria.
Maybe a old timer from the day still has the source for RtvSrc-command. I am pretty sure it would still work today.
Chris Stead published it in NEWS/400 September 1997 -- here's what he wrote in a sidebar about his utility: Debuggable Integrated Language Environment (ILE) programs and service programs are debuggable because they contain bound modules that are themselves debuggable. These modules can be debugged because they contain debugging views, which map the compiled program code to a text version of that code. Every debugging view has text associated with it. A view's text comes either from supplied text (e.g., macro expansion text) or from files (e.g., the original source files used during program creation). The system stores supplied text with the view information inside a compiled program object. File text, on the other hand, is accessed "live" during a debugging session, and the associated view information contains only references to the files that contain the text, not the text itself. For utility RtvSrc to operate, supplied text must be available within a program. If a program is debuggable, one or more debugging views will have been created within the bound module objects during compilation. Whether (and which) debugging views exist depends on the value supplied to the ILE compilation commands in parameter DBGVIEW. You use DBGVIEW(*LIST) or DBGVIEW(*ALL) (which creates all the debugging views) to specify a listing view. The other DBGVIEW values are *STMT (statement number view), *SOURCE (root source view), *COPY (copy source view), and *NONE (no view). For more information about ILE debugging views, as well as an introduction to IBM's ILE source debugger, see "ILE at Work: The ILE Source Debugger" (July 1997). ? C.S. You can download the RtvSrc-command here: href="http://www.news400.com/code/newscode/"> href="http://www.news400.com/code/newscode/">http://www.news400.com/code/newscode/
As the OP noted earlier Tom - these are old RPG400 programs - not ILE. The source was never included with RPG400 programs you have to recreate from the MI template as long as the program is observable. If not it is still possible but less effective and probably more expensive.
As the OP noted earlier Tom - these are old RPG400 programs - not ILE. The source was never included with RPG400 programs you have to recreate from the MI template as long as the program is observable. If not it is still possible but less effective and probably more expensive.
It all depends on how they were originally compiled - if OPTION(*LSTDBG) was used then the source was included...
I found the company I was thinking of earlier - apparently it went out of business (sourceretrieval.com.- phone # (800)310-2449
Try to dump the program using DMPOBJ
There might be code in it that could be recognized.
I have used this method once where a colleague have messed up programs in production and program sources.
It took a <beeeeeep> of a time to solve this mess.
Good point Rocky. Not something I ever used. I suspect I had moved on to RPG IV before those options came along.
I doubt it - as far as I know they've been there since the adoption of ILE - you probably just weren't aware of it. My gripe is you can't change the command default to use it... not a problem for me now since I have change management software any RPG program that is ever checked out is always compiled with that option....
Comment