|
Some examples out of the V5.3 reference manual. C/COPY MBR1 I/INCLUDE SRCFIL,MBR2 O/COPY SRCLIB/SRCFIL,MBR3 O/INCLUDE "SRCLIB!"/"SRC>3","MBR¬3" O/COPY /dir1/dir2/file.rpg O/COPY /dir1/dir2/file O/COPY dir1/dir2/file.rpg O/COPY "ifs file containing blanks" O/COPY 'ifs file containing blanks' I did not see in my quick scan any reference to using parentheses. Thanks, Matt -----Original Message----- From: rpg400-l-bounces@xxxxxxxxxxxx [mailto:rpg400-l-bounces@xxxxxxxxxxxx] On Behalf Of Jake M Sent: Tuesday, March 28, 2006 3:42 PM To: RPG programming on the AS400 / iSeries Subject: Re: newbie prototype question... I am on V5.3 should I be changing something? On 3/28/06, Tyler, Matt <mattt@xxxxxxxxxxxxxx> wrote: > > Jake, > On V5.2 the RPG reference shows /COPY and /INCLUDES as > C/INCLUDE QPROTOSRC,PROTO_02. I have not seen them used with > parentheses. > > Thanks, Matt > > > > -----Original Message----- > From: rpg400-l-bounces+mattt=wincofoods.com@xxxxxxxxxxxx > [mailto:rpg400-l-bounces+mattt=wincofoods.com@xxxxxxxxxxxx] On Behalf Of > Jake M > Sent: Tuesday, March 28, 2006 3:26 PM > To: RPG programming on the AS400 / iSeries > Subject: Re: newbie prototype question... > > 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. > > > > > -- > > 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.