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


  • Subject: Re: Overloading in RPG.
  • From: "Peter Dow" <pcdow@xxxxxxxxx>
  • Date: Thu, 10 May 2001 12:35:18 -0700

Hi John, and John,

Looks like you still end up with the same amount of source code and no
indication in the name of what parameters are allowed. Wouldn't you really
want a prototype like

      DDaysDur          PR             5I 0  OPDESC
      D Date1                           *
      D Date2                           *

and hopefully have the operational descriptors tell you what type and size
of parameters were actually passed on a given call?

Peter Dow
Dow Software Services, Inc.
909 425-0194 voice
909 425-0196 fax



----- Original Message -----
From: "John Taylor" <john.taylor@telusplanet.net>
To: <RPG400-L@midrange.com>
Sent: Wednesday, May 09, 2001 6:33 PM
Subject: RE: Overloading in RPG.


> John,
>
> Like most features of a language, it's up to the programmer to use it
> appropriately. Here is another example that might help ignite your
> imagination:
>
> Without overloading:
>
>
>      DDaysDurC         PR             5I 0
>      D CharDate1                      8A
>      D CharDate2                      8A
>
>      DDaysDurN         PR             5I 0
>      D NumDate1                       8P 0
>      D NumDate2                       8P 0
>
>      DDaysDurCN        PR             5I 0
>      D CharDate1                      8A
>      D NumDate2                       8P 0
>
>      DDaysDurNC        PR             5I 0
>      D NumDate1                       8P 0
>      D CharDate2                      8A
>
>
>      C                   Eval      Days = DaysDurC(Cdate1: Cdate2)
>      C                   Eval      Days = DaysDurN(Ndate1: Ndate2)
>      C                   Eval      Days = DaysDurCN(Cdate: Ndate)
>      C                   Eval      Days = DaysDurNC(Ndate: Cdate)
>
>
> With overloading:
>
>      DDaysDur          PR             5I 0
>      D CharDate1                      8A
>      D CharDate2                      8A
>
>      DDaysDur          PR             5I 0
>      D NumDate1                       8P 0
>      D NumDate2                       8P 0
>
>      DDaysDur          PR             5I 0
>      D CharDate1                      8A
>      D NumDate2                       8P 0
>
>      DDaysDur          PR             5I 0
>      D NumDate1                       8P 0
>      D CharDate2                      8A
>
>
>      C                   Eval      Days = DaysDur(Cdate1: Cdate2)
>      C                   Eval      Days = DaysDur(Ndate1: Ndate2)
>      C                   Eval      Days = DaysDur(Cdate: Ndate)
>      C                   Eval      Days = DaysDur(Ndate: Cdate)
>
>
> One function name to remember instead of 4, simpler code in the calling
> procedure, and potentially fewer maintenance issues.
>
>
> John Taylor
> Canada
>
>
> > -----Original Message-----
> > From: owner-rpg400-l@midrange.com [mailto:owner-rpg400-l@midrange.com]On
> > Behalf Of jpcarr@tredegar.com
> > Sent: Wednesday, May 09, 2001 3:37 PM
> > To: RPG400-L@midrange.com
> > Subject: RE: Overloading in RPG.
> >
> >
> >
> > >The main idea behind overloading is that you can have same named sub
> > >procedures with _different_ amounts of parms or _different_ parm types
> > >passed to them.
> >
> >
> >
> > I know what you mean,  I am just saying that using the "Number of parms
> > passed" as the method(haha) of telling you that this thing can do
> > more than
> > one thing,  I feel is dubous.
> >
> > It obscures what the thing does.
> >
> > >>EVAL      RC        =  OPEN(%ADDR(FILENAME): OFLAG)<<
> >
> > Opens the IFS file doing translation,
> >
> > >>EVAL      RC        =  OPEN(%ADDR(FILENAME): OFLAG: OMODE: CODEPAGE)
<<
> >
> > Opens the IFS file with the right codepage, authority, etc(both
depending
> > on the flags set)
> >
> > It just seems stupid.    Explaining that "First I Open it with the right
> > code page, and create, etc,  THEN
> > OF COURSE I have to close it so that I can Open it again and tell it to
do
> > translation"
> >
> > I understand it,  It just seems a silly way of telling a function what
you
> > want to do by the NUMBER of parms passed.
> > I can see the value of the "principle of overloading"   Again I
> > implemented
> > it in CL 15 years ago with one CL doing 15 functions passing it an
> > externally defined D/S  with a Function Number being one of the
> > subfields(ie 1- 15).
> > Was it C++ or Java?  No, But it still used the "princple" of overloaded
> > functions.
> >
> >
> > Just an opinion nothing more Thats all,
> >
> > John
> >
> >
>
> +---
> | This is the RPG/400 Mailing List!
> | To submit a new message, send your mail to RPG400-L@midrange.com.
> | To subscribe to this list send email to RPG400-L-SUB@midrange.com.
> | To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com.
> | Questions should be directed to the list owner/operator:
david@midrange.com
> +---


_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com

+---
| This is the RPG/400 Mailing List!
| To submit a new message, send your mail to RPG400-L@midrange.com.
| To subscribe to this list send email to RPG400-L-SUB@midrange.com.
| To unsubscribe from this list send email to RPG400-L-UNSUB@midrange.com.
| Questions should be directed to the list owner/operator: david@midrange.com
+---

As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
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.