|
Okay, the following code snippet works.
D PROTO_02 PR
D num1 15P 5
D num2 15P 5
D PROTO_02 PI
D num1 15P 5
D num2 15P 5
D num3 S 15P 5
/free
num3 = num1 + num2;
dsply num3;
dsply 'DONE';
*inlr = *on;
/end-free
Can somebody please give me an example of how I could call this function
from an outside program. Can it be done like Michael suggested:
DIFFPROG.RPGLE
/free
var3 = PROTO_02(5:6);
dsply var3;
//var3 would have 11.
//ofcourse var1, var2, var3 are already declared as 15 P 5(I surmise it is a
language necessity).
/end-free
I was also wondering if somebody could give some sample code for a simple
subroutine program. For example a subroutine which takes two numbers and
gives out the product.
Thanks for all the assistance.
Jake.
On 3/28/06, cozzi@xxxxxxxxx <cozzi@xxxxxxxxx> wrote:
>
> If someone already answered this, sorry.
>
>
> Numeric parameters MUST be coded at Packed(15,5) when the program is to
> be
> called from Command Entry.
> The only way around it is to code hex values (as Kurt illustrated). Use
> a
> CMD definition or compile the call into a CL program with variables
> defined to match that of the RPG program.
>
> -BOB
>
>
>
> -------- Original Message --------
> Subject: RE: newbie prototype question...
> From: "Kurt Anderson" <kjanderson@xxxxxxxxxxxxx>
> Date: Tue, March 28, 2006 12:58 pm
> To: "RPG programming on the AS400 / iSeries" <rpg400-l@xxxxxxxxxxxx>
>
> Does this work?
>
> CALL PGM(MYLIB/PROTO) PARM(x'1f' x'2f')
>
> Our system defaults unspecified numerics to zoned, but I think it's a
> system thing and some people's default to packed.
> I suggest explicitly stating in the definition if the number is zoned
> or
> packed.
>
> Kurt Anderson
> Application Developer
> Highsmith Inc
>
> -----Original Message-----
> From: rpg400-l-bounces+kjanderson=highsmith.com@xxxxxxxxxxxx
> [mailto:rpg400-l-bounces+kjanderson=highsmith.com@xxxxxxxxxxxx] On
> Behalf Of Jake M
> Sent: Tuesday, March 28, 2006 10:47 AM
> To: RPG programming on the AS400 / iSeries
> Subject: newbie prototype question...
>
> I am trying to execute a simple prototype program but I keep getting
> an
> error(it compiles fine). I am calling the program as follows:
>
> CALL PGM(MYLIB/PROTO) PARM(1 2)
>
> There might be a very simple mistake I am doing..I am also looking
> for a
> very simple example on a subroutine program and a program which uses
> /COPY.
> Any help in this matter will be greatly appreciated.
>
> D addnums PR EXTPGM('PROTO')
> D num1 1 0
> D num2 1 0
>
> D addnums PI
> D num1 1 0
> D num2 1 0
>
> D num3 S 1 0
>
> /free
> num3 = num1 + num2;
> dsply num3;
> dsply 'DONE';
> *inlr = *on;
> /end-free
>
> Error:
>
> D
> Pointer or parameter error (C G D F).
>
> Thanks in advance,
>
> Jake.
> --
> 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.
>
> --
> 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.
> --
> 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.