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



Hi Cyndi,

Over the years, I've coded different routines named 'die'. In my IFS E-book and my Expat service program examples, I provided a return value. in my socket tutorial, amongst other things, I did not use a return value.

It would appear that you have both on your system? And you are perhaps including them both in the same program. The prototype (D-specs) are picking up one definition, whereas the procedure body is picking up a different definition.

This has nothing to do with whether you are at release V6 or V7. It's simply two different definitions for the same procedure name.

-SK



On 8/27/2012 10:58 AM, Cyndi Bradberry wrote:
Everyone, Please be kind, I really am blonde and I don't understand what the system wants. This all worked fine on a V6 system. We have moved to a V7 box and now this does not compile. I have tried compiling to V6 release level, but it still doesn't work. This is called in the program as a callP

callp die('socket(): ' + %str(strerror(errno)))

This is the code as shown in the compile listing with the errors.

*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.
* * * * * E N D O F M E S S A G E S U M M A R Y * * * * *

339500 P die B
339600 D die PI
======> aaa aaaaaaa
*RNF3763 20 a 339600 A return value is expected for the procedure-interface
specification.
339700 D peMsg 256A const
339800
339900 D SndPgmMsg PR ExtPgm('QMHSNDPM')
340000 D MessageID 7A Const
340100 D QualMsgF 20A Const
340200 D MsgData 256A Const
340300 D MsgDtaLen 10I 0 Const
340400 D MsgType 10A Const
340500 D CallStkEnt 10A Const
340600 D CallStkCnt 10I 0 Const
340700 D MessageKey 4A
340800 D ErrorCode 32766A options(*varsize)
340900
341000 D dsEC DS
341100 D dsECBytesP 1 4I 0 INZ(256)
341200 D dsECBytesA 5 8I 0 INZ(0)
341300 D dsECMsgID 9 15
341400 D dsECReserv 16 16
341500 D dsECMsgDta 17 256
341600
341700 D wwMsgLen S 10I 0
341800 D wwTheKey S 4A
341900
342000 c eval wwMsgLen = %len(%trimr(peMsg))
342100 c if wwMsgLen<1
342200 c | return
======> a
*RNF5413 30 a 342200 An operand must be specified for a procedure that returns a
value.
342300 c endif
342400
342500 c callp SndPgmMsg('CPF9897': 'QCPFMSG *LIBL':
342600 c peMsg: wwMsgLen: '*ESCAPE':
342700 c '*PGMBDY': 1: wwTheKey: dsEC)
342800
342900 c return
======> a
*RNF5413 30 a 342900 An operand must be specified for a procedure that returns a
value.
*RNF5415 30 339500 The procedure returns a value, but no RETURN operation was
found.
343000 P E


I have tried to create a return variable, as is used in other subprocedures, with no joy. Please tell me specifically what to put in.
The program needs to be changed today and I have not been able to make it work in a month of trying.

Thanks,

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.