× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



DBGVIEW(*SOURCE) relies upon the source code being found in the original PF-SRC as when it was compiled. It is not retained in the *MODULE. From the RPG IV Programmer's Guide:

=====================
Creating a Root Source View
A root source view contains text from the root source member. This view does not contain any /COPY members. Furthermore, it is not available if the root source member is a DDM file.

You create a root source view to debug a module by using the *SOURCE, *COPY or *ALL options on the DBGVIEW parameter for either the CRTRPGMOD or CRTBNDRPG commands when you create the module.

The compiler creates the root source view while the module object (*MODULE) is being compiled. *The root source view is created using references to locations of text in the root source member rather than copying the text of the member into the module object. For this reason, you should not modify, rename, or move root source members between the module creation of these members and the debugging of the module created from these members. If you do, the views for these source members may not be usable.*
=====================

One way around this is to issue an OVRDBF for lib/QRPGLESRC before issuing STRDBG, pointing to the current location of the root source.

RDi has the added benefit of Debug Configurations which allow you to point to any location for the root source - even on the PC. However, this isn't possible (IIRC) with SEP debug.

HTH,
Brian.,


On 25/04/2024 07:52, Daniel Gross wrote:
Hi,

we have a strange problem. Since some weeks, we use a new change management system called CMOne - but I think it might be the same without it.

We develop on one machine (partition) and have production on another. The source code and program objects are held in differently named libraries on both machines due to historic reasons.

We compile RPGLE programs with DBGVIEW(*ALL) and SQLRPGLE programs with DBGVIEW(*SOURCE) (as there is no *ALL on the CRTSQLRPGI command).

Now after testing the source code and the objects are moved to the production machine - to do that, they are moved to temporary libraries, those are sent with SAVRSTLIB and then the objects and source file are moved to the production libs. The temporary libs are then deleted.

Now the problem is, that when our supporters (als old fashioned developers) use STRDBG on those objects, there is a CPF9C27 ("File QRPGLESRC not available") message on the bottom, and only the *LISTING view is available - all other views are showing an empty screen.

Also RDi shows a message and we have to add the source file to the source code search list - otherwise it also only shows *LISTING view. This is inconvenient but OK - but STRDBG has (AFAIK) no "search list" for the source code - so I can't tell it where it can find the source.

But in the end, I thought, that for the DBGVIEW(*SOURCE) the source code of the RPGLE/SQLRPGLE program is compiled INTO to module and therefore should always be available. Am I wrong?

Can anyone tell me, what we can do, to solve that problem? Or what we are doing wrong?

Thanks in advance
Daniel

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.