|
I'm new to ILE COBOL and I am having a problem. I have a
program that was written in COBOL and now I would like it to call an RPGLE
program. I have created and compiled the COBOL program as CBLLE. It seems to
go through the CBLLE code ok, until I try to pass the parameters.
The error messages I get are as follows:
Message ID . . . . . . : RNQ0222 Severity . . . . . . .
: 99
Message type . . . . . : Inquiry
Date sent . . . . . . : 08/16/02 Time sent . . . . . .
: 14:09:29
Message . . . . : Pointer or parameter error (C G D F).
Cause . . . . . : RPG procedure GSS999R in program
KLPLIB/AMFNST5LE at statement *INIT had an error due to a pointer not being
correctly set. The cause of the error is most likely one of the following:
-- A basing pointer was not set.
-- A procedure pointer was not set.
-- The pointer was set, but the object it referenced has
been destroyed.
-- A parameter was not passed to the program containing the
procedure.
-- A parameter was not passed to the procedure by its
caller within the program.
-- A pointer offset was greater than the size of the space
the pointer was pointing to.
Message . . . . : Message 'MCH3601' in program object
'AMFNST5LE' in library 'KLPLIB' (C D F G).
Cause . . . . . : Message 'MCH3601' was detected in COBOL
statement 2820 of COBOL program 'AMOFLPRG' in program object 'AMFNST5LE' in
library 'KLPLIB'.
I don't know what AMOFLPRG is and can't find an object with
that name.
When I do a dump for the RPG program, this is what I see in the
fields that I am trying to pass back and forth. (prtzip5, prtzip4, and prtdlvp
should GO to the RPGLE program and @barcd9, @bardc11 should come BACK from the
RPGLE program.) I don't know what the QRNL- stuff is either. I'm thinking
that the *NULL is the problem, but don't know how to fix it.
_QRNL_PRMCPY_@BARCD11 POINTER SPP:*NULL
_QRNL_PRMCPY_@BARCD9 POINTER SPP:*NULL
_QRNL_PRMCPY_PRTDLVP POINTER SPP:CC52E38B3A018A99
_QRNL_PRMCPY_PRTZIP4 POINTER SPP:CC52E38B3A018A95
_QRNL_PRMCPY_PRTZIP5 POINTER SPP:CC52E38B3A018A90
_QRNL_PSTR_@BARCD11 POINTER SPP:*NULL
_QRNL_PSTR_@BARCD9 POINTER SPP:*NULL
_QRNL_PSTR_PRTDLVP POINTER SPP:CC52E38B3A018A99
_QRNL_PSTR_PRTZIP4 POINTER SPP:CC52E38B3A018A95
_QRNL_PSTR_PRTZIP5 POINTER SPP:CC52E38B3A018A90
@BARCD11 CHAR(14) NOT ADDRESSABLE
@BARCD9 CHAR(12) NOT ADDRESSABLE
This is what shows up as going from my CBLLE program: (which
looks right to me)
BARC11 OF PARAMETER-LIST
CHAR(14) " "
"4040404040404040404040404040"X
BARC9 OF PARAMETER-LIST
CHAR(12) " "
"404040404040404040404040"X
DELP OF PARAMETER-LIST
CHAR(2) "26"
"F2F6"X
ZIP4 OF ZIP-CODE OF PARAMETER-LIST
CHAR(4) "2301"
"F2F3F0F1"X
ZIP5 OF ZIP-CODE OF PARAMETER-LIST
CHAR(5) "48226"
"F4F8F2F2F6"X\
And this is my call statement:
CALL LINKAGE TYPE IS PROCEDURE 'GSS999R'
USING BY REFERENCE PARAMETER-LIST.
I have also tried variations of the call including this:
CALL LINKAGE TYPE IS PROCEDURE 'GSS999R'
USING BY reference zip5, zip4, delp
RETURNING parameter-list.
01 PARAMETER-LIST.
05 ZIP-CODE.
10 ZIP5 PIC X(05).
10 ZIP4 PIC X(04).
05 DELP PIC X(02).
05 BARC9 PIC X(12).
05 BARC11 PIC X(14).
Can anyone help???
Kathleen Potillo
Save a Life! Adopt from your local Animal Shelter.
www.dearborn-animals.com
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.