× 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.


  • Subject: Re: Looking into the Program stack
  • From: boldt@xxxxxxxxxx
  • Date: Mon, 3 Apr 2000 14:32:01 -0400



Kent wrote:
>We have a program running for a couple of hours (7). When looking into the
>call stack it seem to use 'internal statements' quite a lot. The statement
>'.DRVRK06' is frequently used followed by procedure 'QDBGETKY' in QSYS. Is
>there any way to connect this statement to where in the src code the
>program loops? (which file that's beeing opened freq.?)
>
>(It's a RPG III program)

Well, OK, I'll try to answer it anyways.  (I'll assume that
this is one of only a few programs you haven't yet converted
to RPG IV, right? :-)

Look at the 6th file in your programs file specs.  Your
frequently used statement is a READE without factor 1.

You could always compile your program with GENOPT(*LIST) and
see which statements call .DRVRK06.

Here's some magic lifted directly out of the RPG III compiler
source:

================================================================
  .DRVABCD IS THE BASE  WHERE .DRV IS ALWAYS PRESENT
    A IS F FOR FILE OPERATION, OR R FOR RECORD OPERATION
    B IS ON OF THE FOLLOWING
       R - READ
       P - READP
       E - READE
       K - READE WITHOUT FACTOR 1 (USE GETK NEXT =)
       N -  READC
       Q -  REDPE
       L - REDPE WITHOUT FACTOR 1 (USE GETK NEXT =)
       W - WRITE IF NOT REL REC NUM OUTPUT
       V - WRITE REL REC NUM OUTPUT
       C - CHAIN
       S - SETLL
       G - SETGT
       U - UPDATE
       D - DELETE EXCEPT IF FACT ONE PRESENT
       Y - DELETE OPERATION WITH FACTOR ONE
       X - EXFMT
     CD IS THE NUMBER OF THE FILE
  EXAMPLE - .DRVRC02  CHAIN OPERATION BY RECORD NAME FILE TWO
            .DRVFW01  WRITE OPERATION TO FILE NUMBER ONE
================================================================

Cheers!  Hans

Hans Boldt, ILE RPG Development, IBM Toronto Lab, boldt@ca.ibm.com


+---
| This is the RPG/400 Mailing List!
| To submit a new message, send your mail to RPG400-L@midrange.com.
| To subscribe to this list send email to RPG400-L-SUB@midrange.com.
| To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: david@midrange.com
+---


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:

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.