Cyndi

I'll jump in - look for the prototype - it'll be in an include member that Scott provides, probably. It probably has a data type on the PR statement. If so, you have to have it in your procedure - the code you showed us here.

BTW, is this your code, or is it something Scott provided? This code has nothing related to sockets that I can see - all it does is send a message.

Also, you return SPMReturn - that must be a global variable, because it's not in this code segment. But this means you need to have a data type on the PI statement.

I don't know if V7 was made more stringent in regard to prototypes and procedures - there WAS a change, in that you do not have to declare a prototype under some circumstances.

HTH
Vern

On 7/25/2012 7:45 AM, Cyndi Bradberry wrote:
Scott,

We use your socket programming to communicate between our iSeries and our web server running on IIS. This past weekend we upgraded from V6 to V7. Last night, I needed to recompile one of our socket programs and received an error on that I don't understand. These all worked fine on V6, but on V7 apparently you must have a return parameter according to the IBM manual. The person who understood all this has left the company and I need help. I included the code below, if you can give me an assistance, I would be grateful.

*RNF3763 20 1 A return value is expected for the procedure-interface
specification.
*RNF5413 30 2 An operand must be specified for a procedure that returns a
value.
*RNF5415 30 1 The procedure returns a value, but no RETURN operation was
found.



338800 P die B
338900 D die PI
======> aaa aaaaaaa
*RNF3763 20 a 338900 A return value is expected for the procedure-interface
specification.


*+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
P die B
D die PI
D peMsg 256A const

D SndPgmMsg PR ExtPgm('QMHSNDPM')
D MessageID 7A Const
D QualMsgF 20A Const
D MsgData 256A Const
D MsgDtaLen 10I 0 Const
D MsgType 10A Const
D CallStkEnt 10A Const
D CallStkCnt 10I 0 Const
D MessageKey 4A
D ErrorCode 32766A options(*varsize)

D dsEC DS
D dsECBytesP 1 4I 0 INZ(256)
D dsECBytesA 5 8I 0 INZ(0)
D dsECMsgID 9 15
D dsECReserv 16 16
D dsECMsgDta 17 256

D wwMsgLen S 10I 0
D wwTheKey S 4A

c eval wwMsgLen = %len(%trimr(peMsg))
c if wwMsgLen<1
c return
c endif

c callp SndPgmMsg('CPF9897': 'QCPFMSG *LIBL':
c peMsg: wwMsgLen: '*ESCAPE':
c '*PGMBDY': 1: wwTheKey: dsEC)

c return SPMReturn
P E


Cyndi B.
Boise, ID


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.