|
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'.
This statement is the Call statement.
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.