|
Hans, How would we pass a parameter to a proc written in RPG IV like we can with some of the programs we call. For example, if I want to allow a parm to be anything, numeric, character, date, etc. And then tell the proc on a subsequent parm what that value is, do I code the parm as a pointer or what? .....D myFunct PI D anytype * D nLen 10I 0 D nDec 10I 0 D type 10I 0 Could I call myFunct and pass a characte field, or a numeric field or a data field? If so, could I avoid using %ADDR to do it, or do I need to wrap the variable in %ADDR? My guess is that I would need to do pass %ADDR(CustNo), but is that allowed when I may want to change the data in the called proc? (i.e, I don't want to use CONST). Thanks! -Bob > > DeLong, Eric wrote: > > > Hi everybody, > > > > We're trying to integrate a vendor supplied service program, > written in C, > > into our RPGIV applications. We've attempted to translate the .H > include > > into RPG prototypes, and have encountered a usage problem. > > > > One of the functions is passing tax_amt and tax_rate as > > > > double *pTransTotalTax, > > double *pTransCombRate, > > > > which we've coded as > > > > D pTransExtdAmt 8f > > D pTransTotalTx 8f > > > > So far so good. Now the problem. The use of this api states: > > > > "Total tax amount for the transaction. This parameter is used when > > processing special (tax-only debit and tax-only credit) > transactions. This > > parameter is ignored if NULL is passed. Passing 0 results in zero > tax being > > calculated." > > > > Entended amount is fine, since we will have a calculated value for > that > > every time we call the api. But for the call to work properly, we > must send > > the other parm as NULL. How in the he!! am I supposed to do that? > Does C > > consider a parm to be null if the address is null? > > > > Can anyone give me some insight? > > > > Thanks in advance.... > > > > You could define the parameters as: > > D pTransExtdAmt * VALUE > D pTransTotalTx * VALUE > > and either pass *NULL or %ADDR(TAXVALUE) as the parameter. > > Cheers! Hans > > > _______________________________________________ > This is the RPG programming on the AS400 / iSeries (RPG400-L) > mailing list > To post a message email: RPG400-L@xxxxxxxxxxxx > To subscribe, unsubscribe, or change list options, > visit: http://lists.midrange.com/mailman/listinfo/rpg400-l > or email: RPG400-L-request@xxxxxxxxxxxx > Before posting, please take a moment to review the archives > at http://archive.midrange.com/rpg400-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.