|
First, don't ever call an API with a "B" data type. There are no APIs that expect that type of field. Use the 'I' data type instead. "10i 0" in RPG IV to be precise. -Bob Cozzi www.RPGxTools.com RPG xTools - Enjoy programming again. -----Original Message----- From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of James H H Lampert Sent: Monday, October 17, 2005 3:07 PM To: rpg400-l@xxxxxxxxxxxx Subject: Weird behavior in CALLP vs. CALLB (specifically QtmmSendMail) I'm experiencing a weird problem, with a call that worked as a CALLB suddenly NOT working with a CALLP. Given this code (and note that I've pulled out a few spaces here and there to try and keep my email reader from inserting line breaks): DFILENAME S 43 DFILENAMELENGTH S 9B 0 DORIGINATOR S 255 DORIGINATORLEN S 9B 0 DFIRSTRECIPIENT DS D OFFSET 1 4B 0 D ADDRLEN 5 8B 0 D FORMAT 9 16 D DTYPE 17 20B 0 D RESERVED 21 24B 0 D RECADDRESS 25 275 DTOTALNUMREC S 9B 0 DERRORMESSAGE DS D BYTESBUF 1 4B 0 D MESSAGEID 9 15 . .. C EVAL FILENAME = C '/wintouch/WTCPCHILD JAMESL 146826 115623' C Z-ADD 43 FILENAMELENGTH with BYTESBUF set to zero, so that any error will throw an exception, this code: C CALLB 'QtmmSendMail' C PARM FILENAME C PARM FILENAMELENGTH C PARM ORIGINATOR C PARM ORIGINATORLEN C PARM FIRSTRECIPIENT C PARM TOTALNUMREC C PARM ERRORMESSAGE works fine, but this code (bytesbuf still zero, and lots of spaces still pulled out to avoid unwanted line breaks): D QtmmSendMail PR ExtProc('QtmmSendMail') D FileName 255A const options(*varsize) D FileNameLen 10I 0 const D MsgFrom 256A const options(*varsize) D MsgFromLen 10I 0 const D RecipBuf like(FIRSTRECIPIENT) D dim(32767) D options(*varsize) D NumRecips 10I 0 const D ErrorCode 8000A options(*varsize) . .. C CALLP QtmmSendMail(FILENAME: FILENAMELENGTH: C ORIGINATOR: ORIGINATORLEN: C FIRSTRECIPIENT: TOTALNUMREC: C ERRORMESSAGE) doesn't work, doesn't throw an exception in the calling program, but causes the QMSF job to throw a TCP5103, claiming that it can't open the IFS file (the name is fine) with an errno of 3440 (something about "operation not supported," according to errno_h). To coin a phrase, <tiny voice> "Heellllllllppppppppppp mmmmmmmeeeeeeeeeeeeeee!!!" </tiny voice> -- JHHL
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.