ibmi-brunch-learn

Announcement

Collapse
No announcement yet.

Recovering lost RPG source

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Recovering lost RPG source

    Can anyone recommend a product/company that can recover RPG source from program objects please?

    TIA

  • #2
    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.

    Comment


    • #3
      These are old RPG not RPGLE programs.

      Comment


      • #4
        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.

        Comment


        • #5
          As far as I know the only tool still being actively marketed is from Juggersoft (http://www.juggersoft.com).

          Comment


          • #6
            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/

            Comment


            • #7
              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.

              Comment


              • #8
                Originally posted by JonBoy View Post
                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

                Comment


                • #9
                  Good point Rocky. Not something I ever used. I suspect I had moved on to RPG IV before those options came along.

                  Comment


                  • #10
                    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.

                    Regards
                    Peder

                    Comment


                    • #11
                      Originally posted by JonBoy View Post
                      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

                      Working...
                      X