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



On Thu, 21 Feb 2002, Joe Pluta wrote:

> It's not so much the RPG as the operating system support.  Two simple
> examples that caused us no end of grief are OVRDBF and MONMSG.  Passing
> parameters from one program to another is also not an easily accomplished
> task, depending on how you architect the concept of a program call.  If you
> do it via spawn, passing a pointer is really, really difficult.
>
> There are a whole bunch of others.  Message files, library lists, all sorts
> of things.  And APIs simply add a whole new dimension.

While I did say that having the ability to run RPG apps on linux would be
a boon for small businesses,  I agree that it would be very difficult and
probably won't happen.  But porting RPG the language wouldn't be as
difficult.  RPG apps are hard because they use a lot of non-RPG stuff, as
mentioned above.  But RPG the language could still be quite useful.
Indeed, I believe that sometimes the OS/400 way of doing things is not
that great.

Consider the examples given above.  I use OVRDBF all the time.  But should
I?  I almost always use it as a carry over from the System 36 days when
you had an OLC procedure with a LOAD statement, followed by various FILE
statements, ending with a RUN statement.  Our software still has lots of
program described files that require OVRDBF.  It needn't be that way.
Given the chance I would rewrite stuff to not use OVRDBF.

MONMSG doesn't need to even exist.  In unix all programs return a value to
the shell after completion, even if they end abnormally.  I've only seen
MONMSG used to check if some error occurred.  In unix checking the exit
value of the command run will do the same.

Calling a program using the old OPM way is analogous to the system()
function in C on unix.  Variables can be passed either with environment
variables (similar to the local data area) or with arguments.  But this
isn't really a very good way to do things, either on unix or the iSeries.
These days bound procedures are the way to go.  Bound procedures are just
regular function calls in C and those have been around since the
beginning.  I can think of one instance where I've used the OPM style call
in the last two years.

Message files are just database files.  But I really don't use them much
so I better not say too much.  I'm still smarting for getting single level
storage mixed up :)

Library lists are just a PATH.  Nothing new or foreign here.

All these things are really OS/400 specific stuff, not RPG.  So not having
them on unix would block ports of OS/400 apps because they are used so
much.  So I agree that it is best to run your OS/400 apps on an iSeries.
But none of these keep RPG from being a language on unix.  An RPG
application could be written that used bash instead of CL.

Just RPG without the rest of OS/400 would be very interesting and useful
to have on linux.  Of course the hard part would be externally described
files.  That and trying to get anyone to use it...

James Rich
james@eaerich.com



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.