× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



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

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

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.