|
>From: "Dan Bale" <dbale@samsa.com>
>Date: Fri, 9 Aug 2002 12:49:51 -0400
>
>We are trying to determine the parameters for OPM RPG program objects that
>we do not have source for. We have forced a dump of the program by
>temporarily renaming a file that the program expects to be there, then
>calling the program, causing CPF4101, which allows a 'D' response.
>
>The dump shows:
>
>RPG/400 FORMATTED DUMP
>NAME OFFSET ATTRIBUTES VALUE
>WP0001 01031B CHAR(3) '111'
>WP0001.P 011BE0 POINTER(SPP)
> SPACE OFFSET 66331 '0001031B'X
> OBJECT QPADEV0001DBALE 550049
>WP0002 01031E CHAR(3) '222'
>WP0002.P 011BF0 POINTER(SPP)
> SPACE OFFSET 66334 '0001031E'X
> OBJECT QPADEV0001DBALE 550049
>WP0003 NOT ADDRESSABLE
>WP0003.P NOT ADDRESSABLE
>
>Some investigation with other programs that we do have source for seem to
>indicate that the '.P' appended to a field name seems to indicate that it
is
>a program's *ENTRY parameter. WP0003, as shown here, seems to be a
>parameter that had no value passed. (So, I called the program again with
a
>3rd parameter value specified, and dump for WP0003 showed similar
>information to the first two fields.) Also, the SPACE OFFSET would seem
to
>indicate the position of the parameters.
> ...
Dan, I'm not sure you can get the order of the parameters from this
dump. I think the offsets reflect the location of parameters in the
calling program. You must be passing parameters in order. I just
ran a little experiment with the following two programs. I named
the parameters in reverse alphabetical order in the called program,
and in the calling program, I passed parameters that were
a) in order, b) out of order, c) the same.
* ####JUNK
H 1
C *ENTRY PLIST
C PARM PARM1 10
C PARM PARM2 10
C DUMP
C SETON LR
* ####JUNK2
I DS
I 1 10 P1
I 11 20 P2
C CALL '####JUNK'
C PARM 'P1 FIRST'P1
C PARM 'P1 FIRST'P2
C CALL '####JUNK'
C PARM 'P2 FIRST'P2
C PARM 'P2 FIRST'P1
C CALL '####JUNK'
C PARM 'SAME' P1
C PARM 'SAME' P1
C SETON LR
---- Dump 1:
PARMA2 0398FC CHAR(10) 'P1 FIRST '
PARMA2.P 039D90 POINTER(SPP)
SPACE OFFSET 235772
OBJECT QPADEV000WBMORRIS 020543
PARMB1 0398F2 CHAR(10) 'P1 FIRST '
PARMB1.P 039D80 POINTER(SPP)
SPACE OFFSET 235762
OBJECT QPADEV000WBMORRIS 020543
---- Dump 2:
PARMA2 0398F2 CHAR(10) 'P2 FIRST '
PARMA2.P 039D80 POINTER(SPP)
SPACE OFFSET 235762
OBJECT QPADEV000WBMORRIS 020543
PARMB1 0398FC CHAR(10) 'P2 FIRST '
PARMB1.P 039D90 POINTER(SPP)
SPACE OFFSET 235772
OBJECT QPADEV000WBMORRIS 020543
---- Dump 3:
PARMA2 0398F2 CHAR(10) 'SAME '
PARMA2.P 039D80 POINTER(SPP)
SPACE OFFSET 235762
OBJECT QPADEV000WBMORRIS 020543
PARMB1 0398F2 CHAR(10) 'SAME '
PARMB1.P 039D80 POINTER(SPP)
SPACE OFFSET 235762
OBJECT QPADEV000WBMORRIS 020543
Barbara Morris
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 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.