|
Lim, I believe it's pretty straightforward to call SndMsg correctly from SndMsgQ by: 1) Adding the Varying keyword to MsgInData in SndMsgQ will fix that problem. 2) Just pass all the variables passed to SndMsgQ on to SndMsg. %Addr() of that variable will be *null in both SndMsgQ and SndMsg if the variable wasn't passed to SndMsgQ (or *OMIT was used). Paul Paul Morgan Senior Programmer Analyst - Retail J. Jill Group 100 Birch Pond Drive, PO Box 2009 Tilton, NH 03276-2009 Phone: (603) 266-2117 Fax: (603) 266-2333 Lim wrote > In SndMsgQ, if I turn around and do callp SndMsg(MsgInId :MsgInData :MsgInType :MsgFile :MsgLib :MsgInQueue), I will encounter the following 2 problems: > 1) SndMsg uses CEEDOD (BTW: Reason for opdesc) to determine the actual length of MsgInData. In this case, it will always get a result of 32766 because that is what declared in SndMsgQ. > 2) If caller only passes the first two required parms, the rest of the parm fields may or may not be *null, which could cause problem in SndMsg.
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2025 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.