On 23/07/2009, at 6:38 AM, Steve Roper wrote:

Can anyone help please I am converting an old RPG program
into RPG IV free format

The program uses a GOTO and TAG to exit from the middle of a
three level nesting of IF's

And needs to bypass much more code after the highest ENDIF,
this is all dependent on a Flag returned from an external program.

Yuck. You cannot code a GOTO in free-format. If you cannot devise a structured solution then end free-format, code the GOTO, and start free-format again.

/END-FREE
C GOTO JUMP_POINT
/FREE

Do similar around the TAG.

Ugly? Yes, but then so is the code you describe so pick the lesser of the two evils.

There are other contorted solutions such as a fake loop, a flag, and LEAVE to provide a "structured" solution. These tend to be just as ugly.

I'd suggest breaking the code up into procedures to remove the code from the main body. Then wrap the procedures in IF tests conditioned on the flag returned from the external program. You'll end up with cleaner code as a result.

Regards,
Simon Coulter.
--------------------------------------------------------------------
FlyByNight Software OS/400, i5/OS Technical Specialists

http://www.flybynight.com.au/
Phone: +61 2 6657 8251 Mobile: +61 0411 091 400 /"\
Fax: +61 2 6657 8251 \ /
X
ASCII Ribbon campaign against HTML E-Mail / \
--------------------------------------------------------------------




This thread ...

Replies:

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

This mailing list archive is Copyright 1997-2019 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].