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