|
Yes, sir. It is. Jake. On 3/28/06, Lim Hock-Chai <Lim.Hock-Chai@xxxxxxxxxxxxxxx> wrote: > > Is the library where QPROTOSRC file reside part of compile job lib list? > > -----Original Message----- > From: rpg400-l-bounces@xxxxxxxxxxxx > [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Jake M > Sent: Tuesday, March 28, 2006 3:56 PM > To: RPG programming on the AS400 / iSeries > Subject: Re: newbie prototype question... > > Rob, > I created a Physical Source File called QPROTOSRC and in that I created > a member named PROTO_02. This has > > D PROTO_02 PR EXTPGM('PROTO_02') > D num1 15P 5 > D num2 15P 5 > > and in my QRPGLESRC I have another member named PROTO_02, also. This has > > /include QPROTOSRC(PROTO_02) > > 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 > > but I am getting an error saying.. > > RNF0273 Compiler not able to open the /COPY or /INCLUDE file; directive > ignored. > > Am I doing something wrong here? > > Jake. > > On 3/28/06, rob@xxxxxxxxx <rob@xxxxxxxxx> wrote: > > > > Jake, > > > > I - Calling from a different program. > > What is often done is cutting out the > > D PROTO_02 PR EXTPGM('PROTO_02') > > D num1 15P 5 > > D num2 15P 5 > > and putting that into a seperate source member. Like > QPROTOSRC,PROTO_02. > > And in the PROTO_02 program replace what you cut out with > > /include QPROTOSRC(PROTO_02) > > Now, in the new program that you wrote, that you want to call PROTO_02 > > > you also include this: > > /include QPROTOSRC(PROTO_02) > > D nbr1 s 15p 5 > > D nbr2 s like(nbr1) > > then, in your calcs you do a simple > > /free > > callp PROTO_02(nbr1:nbr2); > > or simply the implied callp > > PROTO_02(nbr1:nbr2); > > > > > > II - Subroutine > > You meant subprocedure. They are different from a subroutine. See if > > > you understand this simple program named JAKE, compiled, tested. > > h dftactgrp(*no) actgrp(*caller) > > D Jake PR EXTPGM('JAKE') > > D Input1 15p 5 > > D Input2 15p 5 > > > > D Jake PI > > D Input1 15p 5 > > D Input2 15p 5 > > > > D MyCalc PR 5i 0 > > D SomeNbr1 7p 2 const > > D SomeNbr2 7p 2 const > > > > D DsplyVar s 5i 0 > > > > /free > > *inlr=*on; > > // Take the parameters sent to this program, use a simple > > // subprocedure to add them together and display the result. > > DsplyVar=MyCalc(Input1:Input2); > > dsply DsplyVar; > > /end-free > > > > P MyCalc B > > D MyCalc PI 5i 0 > > D ThisNbr1 7p 2 const > > D ThisNbr2 7p 2 const > > /free > > return ThisNbr1 + ThisNbr2; > > /end-free > > P MyCalc E > > > > DSPJOBLOG > > CALL PGM(JAKE) PARM(X'000000000100000F' X'000000000200000F') > > DSPLY 3 > > > > Rob Berendt > > -- > > Group Dekko Services, LLC > > Dept 01.073 > > PO Box 2000 > > Dock 108 > > 6928N 400E > > Kendallville, IN 46755 > > http://www.dekko.com > > > > > > > > > > > > "Jake M" <jakeroc@xxxxxxxxx> > > Sent by: rpg400-l-bounces@xxxxxxxxxxxx > > 03/28/2006 02:50 PM > > Please respond to > > RPG programming on the AS400 / iSeries <rpg400-l@xxxxxxxxxxxx> > > > > > > To > > "RPG programming on the AS400 / iSeries" <rpg400-l@xxxxxxxxxxxx> cc > > > > Subject > > Re: newbie prototype question... > > > > > > > > > > > > > > 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. > > > > > > > > -- > > 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. > > > -- > 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.