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



Pete,

I think you just need to declare your return type and process call on
the same line so the compiler knows to expect a return object from the
method.

Try this:

*+++++++++++++++++++++++++++++++++++
D RRGenerator_iPrintReport...
D PR N EXTPROC(*JAVA
D :'com.valadd.report.engine.-
D .Generator'
D :'iPrintReport')
D host like(jString)
D libraryList like(jString)
D userID like(jString)
D password like(jString)
D reportName like(jString)
D reportOutput like(jString)
D reportParam like(jString)
D outputFormat like(jString)
D compileFirst 1N value

Tom Armbruster

-----Original Message-----
From: rpg400-l-bounces@xxxxxxxxxxxx
[mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Pete Helgren
Sent: Tuesday, April 15, 2008 2:13 PM
To: RPG programming on the AS400 / iSeries
Subject: A problem with prototypes for Java wrapper

I have a java program that I'd like to wrap with RPG. This is the first

attempt I have made at something like this (including placing prototypes

in a separate member and /copying them in). So there may because
something obvious here that my ignorance is covering. When I compile
the module, I get the following (V5R3M0):

A d d i t i o n a l D i a g n o s t i c M e s s a g e
s
Msg id Sv Statement Message
text
*RNF7535 30 000181 The type and attributes of parameter 9 do not

match those
of the
prototype.
*RNF5406 30 000178 The call passed fewer parameters than the
prototype
indicates are
required.

I know what it is saying but looking at my code and the /copy member I
don't see the mismatch.

Here is the relevant /copy:

*--------------------------------------------------------
*
* RPG Wrapper for RRGenerator_iPrintReport
*
*--------------------------------------------------------
D rrg_iPrintReport...
D PR 1N
D prHost like(jString)
D prLibList like(jString)
D prUserID like(jString)
D prPassword like(jString)
D prReportName like(jString)
D prReportOut like(jString)
D prRepParam like(jString)
D prOutFormat like(jString)
D prCompile 1N value

*+++++++++++++++++++++++++++++++++++
D RRGenerator_iPrintReport...
D PR 1N
D EXTPROC(*JAVA
D :'com.valadd.report.engine.-
D .Generator'
D :'iPrintReport')
D host like(jString)
D libraryList like(jString)
D userID like(jString)
D password like(jString)
D reportName like(jString)
D reportOutput like(jString)
D reportParam like(jString)
D outputFormat like(jString)
D compileFirst 1N value

The call is here:

P rrg_iPrintReport...
P B EXPORT
D rrg_iPrintReport...
D PI 1N
D peHost like(jString)
D peLibList like(jString)
D peUserID like(jString)
D pePassword like(jString)
D peReportName like(jString)
D peReportOut like(jString)
D peRepParam like(jString)
D peOutFormat like(jString)
D peCompile 1N value
D success s 1N
D
D
/free

success = RRGenerator_iPrintReport(peHost: peLibList:
peUserID: <-- Line 178
pePassword: peReportName:
peReportOut: peRepParam:
peOutFormat: peCompile);
<---Line 181

return success;
/end-free

As I count/compare parameters and types it looks good to me. What I am
I missing?

Thanks,

Pete



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.