× 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: Using % type functions/using RPG IV
  • From: Jim Langston <jlangston@xxxxxxxxxxxxxxxx>
  • Date: Fri, 04 Feb 2000 17:17:37 -0800
  • Organization: Conex Global Logistics Services, Inc.

Well, take for instance the program I am converting to RPG IV from
RPG II.  My boss wanted me to modify a program to do some selection
on a report.  The current report goes through the entire file looking for
data that meets certain criteria and once finding it in the primary chains
to a bunch of other files and grabs data, then prints it.

So, I want to create a display screen where they can enter specific items
to print.

I go to the RPG program (RPG II) and copy it to the file I want to convert
to, then I change the type from RPG36 to RPG, then I run CVTRPGSRC
on it.  Then I open the file in SEU and my work starts.

First off, the F specs are all messed up, going to them I hit a <space>
in some white space and then press enter, and all of them get highlighted
with errors.  I fix all the errors (C instead of F, etc...) and then change
them to Externally described files, except for 2.  One of these is a multi
format file that has yet to be changed and the other I find never had DDS
source.  So, I then spend a few hours creating the DDS source for the flat
file and getting it in place (using CPYF *NOCHK in a new library, etc..).
I'm doing other things while I'm doing this on a different session, but it still
takes time.

Then I compile it to see how many errors I'm going to get.  Then I spend
a few more hours fixing all the bugs that have been produced (easiest is
changing the chain to read the format instead of the file), the DDS for the
key doesn't work, and I have to convert it to KList and KFld and
change the definitions from DS to S, find the variables that have changed
names from the program definition to the external definition, etc...

Now I got a program that compiles, but doesn't do anything (no primary
file anymore since it's now IF, I stick a Eval *INLR = *On at the end
just so it will compile without that error), so now I go about incorporating
the display file I created for it, adding ExFmt etc...

Of course, I still have a UDS in here I have to figure out what I'm going
to do with (do I write a CL front end to populate this, or do I pass them
as parameters, or do I pass them from the display file?), etc.. and I'm not
near finished.

Of course, I could of just copied the RPG36 and OCL to new files, create
a quick file to add the items I am looking for, go to the RPG36 program and
throw in some quick changes to get it to read it, and be done with it.
Time involved, maybe 2 to 3 hours.

Time involved converting RPG II to RPG IV 5+

Now, if I was writing this from scratch, it would be much, much faster to
write it in RPGIV then RPGII, but legacy exists.

There is good and bad in this though.  My new program is going to be
ILE, or RPG IV anyway, I'm not going to link anything to it.  The original
program I copied this from, however, is still RPGII.  Argh!

Regards,

Jim Langston

Joel Fritz wrote:

> Good points on RPGIV, but I like the understanding of the learning curve
> even better.  The greater the slope, the faster you learn.  The steepest
> learning curve is the one described below, 0 time to complete mastery.

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