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



Dan,

I don't think every possible incompatibility will show up on the conversion report. But, these are things that only occur in unusual circumstances.

The tricky part here is that something that may seem "unusual" to me might be something that a developer in your shop just happened to like to use a lot. Or he/she may have used this "unusual" feature once, and copy/pasted the code to 10 other programs, or something like that. Who knows?

My experience has been that you only need to do cursory testing after converting a program with CVTRPGSRC. You should definitely test it (which should be a non-issue, since you're making a change, you have to test it, right?) but I wouldn't feel like you have to thoroughly test every code path through the program. If it generally seems to work, it probably will. Incompatibilities are few and far between.

-SK

On 11/2/2015 9:18 PM, Dan wrote:
Scott,

I presume that the 1% incompatibility is flagged in the conversion report,
just as any use of the FREE opcode is flagged.

Now, if you do more than CVTRPGSRC does, such as
using ILE concepts, converting to free-format, etc... that
will definitely create more compatibility problems!
(Which seems to be what most responders here on this
e-mail group are referring to, and I can't see why since
you never said you were doing that...)
And I explicitly stated in my original comments: "For the purpose of this
discussion, I am strictly talking about taking an RPG-III source, running
CVTRPGSRC on it, checking the conversion report, and compiling the RPG-IV
program. The result should be a functionally-identical program, 100% of
the time. True? False?"

If there's a bug in the RPG-III source, the bug will be carried over in the
conversion. But the conversion should never introduce new bugs or
different behavior, without any such thing mentioned in the conversion
report.

- Dan

On Mon, Nov 2, 2015 at 7:26 PM, Scott Klement <wdsci-l@xxxxxxxxxxxxxxxx>
wrote:

Dan,

CVTRPGSRC output is not 100% compatible, but is maybe 99% compatible.

The biggest issue is when the program uses the 'FREE' opcode, which does
not exist in RPG IV (and, imho, never worked the way people thought it did,
anyway, so most applications using it don't quite work right to begin with.)

However, a WHOLE LOT of effort went into making RPG IV extremely backward
compatible with RPG III when it was released in V3R1. So CVTRPGSRC is
really close... like I said, 99% compatible... I don't really think
extensive testing is needed. But, you shouldn't just assume everything
will work perfectly 100% of the time, either. I've found CVTRPGSRC to be
a completely painless way to convert over, however.

(Compare that with converting RPG II to RPG III, for example -- that was
much more painful! Even if you stayed with all program-described files,
etc, the incompatibilities were much bigger between RPG II and RPG III!)

Now, if you do more than CVTRPGSRC does, such as using ILE concepts,
converting to free-format, etc... that will definitely create more
compatibility problems! (Which seems to be what most responders here on
this e-mail group are referring to, and I can't see why since you never
said you were doing that...)

-SK



On 11/2/2015 1:56 PM, Dan wrote:

It's interesting that I found this thread. Several weeks ago I was
searching on CVTRPGSRC to see what impact / issues one could expect to see
by converting RPG-III to RPG-IV.

We're using an old ERP package written in RPG-III. I have always been of
the mindset to convert any RPG-III source to RPG-IV before I modify it.
Especially now with RDi, where the outline view doesn't work with RPG-III
and hoop-jumping necessary to debug OPM programs. Unfortunately, I'm new
here and I'm getting pushback when I need to modify an RPG-III program.
The "standard" here is to convert only when it's a major rewrite or
something that needs to be done can't be done in RPG-III. The argument is
that any such application must be completely retested, so, while the
effort
to convert is minimal, the big cost is in the effort to QA the app.

It's been at least 15 years since I did any significant conversions to
RPG-IV, but I never recall anything that "broke" as a result of simply
converting an app. NOTE that this means no attempts to convert stuff
like:
MMDDYY MULT 10000.01 YYMMDD
to
Eval YYMMDD = MMDDYY * 10000.01
as an example. For the purpose of this discussion, I am strictly talking
about taking an RPG-III source, running CVTRPGSRC on it, checking the
conversion report, and compiling the RPG-IV program. The result should be
a functionally-identical program, 100% of the time. True? False?

When I was searching a few weeks ago to refute the idea that a converted
program needed to be *completely* retested, I found a few threads on the
RPG list from 2006 where some were asking about any “gotchas” with using
CVTRPGSRC. Comments from people whose judgment I trust on this list were
unanimous in that a converted app *must* be completely retested. If this
is still the case, I will have tremendous difficulty selling the idea of
converting every RPG-III program to RPG-IV anytime we do any kind of
modification, because the QA resources are extremely tight in this shop.
It seems to me that, with ~20 years of experience with CVTRPGSRC, surely
IBM would have worked out any kinks in the conversion and/or the report
identifying potential issues.

So, my question to the group is this: Has anyone *ever* found any
functional differences or issues after doing a straight CVTRPGSRC and
getting a clean report from the conversion report?

- Dan

On Fri, Oct 23, 2015 at 2:26 AM, Scott Klement <wdsci-l@xxxxxxxxxxxxxxxx>
wrote:

Vern,
To add to what Jon said, I will point out something that you probably
already knew, but maybe you (or others here) hadn't thought about...

RPG/400 was originally released in 1988. It was supplanted by the ILE
RPG
(RPG IV) compiler in 1994. (and at that time, CVTRPGSRC was available to
make a painless conversion to RPG IV). that means:

RPG/400 was "the RPG to use" for 6 years.
RPG IV has been "the RPG to use" for 21 years since then.

The fact that a software vendor, who charges for their software and
maintenance, hasn't managed to update in 21 years is more than a little
absurd.

It requires only the tiniest investment to convert, and a company you are
paying maintenance to hasn't been able to do so in 21 years? 3.5 times
as
long as the total lifecycle of the language they're converting from?
Yeah. Something is really wrong here.


--
This is the Rational Developer for IBM i / Websphere Development Studio
Client for System i & iSeries (WDSCI-L) mailing list
To post a message email: WDSCI-L@xxxxxxxxxxxx
To subscribe, unsubscribe, or change list options,
visit: http://lists.midrange.com/mailman/listinfo/wdsci-l
or email: WDSCI-L-request@xxxxxxxxxxxx
Before posting, please take a moment to review the archives
at http://archive.midrange.com/wdsci-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.