|
Check your prototype (copy member?) for the die procedure... I expect the prototype declares a return value, where your PI does not...
-Eric DeLong
-----Original Message-----
From: midrange-l-bounces@xxxxxxxxxxxx [mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of Cyndi Bradberry
Sent: Monday, August 27, 2012 10:58 AM
To: 'Midrange Systems Technical Discussion'
Subject: Return Value for subprocedure
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
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/midrange-l.
--
This is the Midrange Systems Technical Discussion (MIDRANGE-L) mailing list
To post a message email: MIDRANGE-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/midrange-l
or email: MIDRANGE-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/midrange-l.
As an Amazon Associate we earn from qualifying purchases.
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.