|
This is a second attempt to get this message to the group, first one
never showed up...
Yo Guru's...
I have a question
I've been asked by my employer to do some research on the effects of
running an RPG III
program on platforms other than the AS400.
The company has some y2k conversion routines written in COBOL which have
been coded
to be "re-entrant" type programs...
I found this definition of reentrant...
reentrant code
A programming routine that can be used by multiple
programs simultaneously. It is used in operating
systems and other system software as well as in
multithreading, where concurrent events are taking
place. It is written so that none of its code is
modifiable
(no values are changed) and it does not keep track of
anything. The calling programs keep track of their own
progress (variables, flags, etc.), thus one copy of the
reentrant routine can be shared by an any number of
users or processes.
Conceptually, it is as if several people were each
baking a cake from a single copy of a recipe on the
wall. Everyone looks at the master recipe, but keeps
track of their own progress by jotting down the step
they are at on their own scratchpad so they can pick
up where they left off. The master recipe is never
disturbed.
The routines have also been written in standard RPG III for those
customers who insist on
having no COBOL programs as part of their y2k remediation.
I am told that the RPG programs may also be run on other systems, MVS
was mentioned as a
possibilty.
I have read that all AS400 programs are deemed "reentrant".
So I have two questions then....
1. What are all other possible platforms an RPG III program object can
run on ?
2. By what method does one code an RPG III program routine to be
reentrant ?
What was done in the COBOL programs to make them reentrant was to define
all program
variables in the Linkage Section, in RPG that would be the *ENTRY
PLIST...
>From what I understand about it no variables can be defined in the calc
specs...the storage
required to hold their values must be defined within the linkage or
PLIST....
I was thinking of specifying a field in FACTOR 1 of the PARM statement
that is also a
data structure field so that the string could be defined in the DS,
similar to COBOL's linkage section ....
Course I won't be doing that at all until I've determined if it is even
necessary...
My whole career has been on the 38 and 400 so I don't get many requests
such as this. : )
I accepted this job cuz i get to wear jeans to work everyday, cool huh ?
Well hey it pays the bills
I'm sure i'll get some interesting responses on this one
TIA
--
Jim W
http://www.netcom.com/~jimwelsh/welcome/welcome.html
mailto:jimwelsh@ix.netcom.com
root
+---
| This is the Midrange System Mailing List!
| To submit a new message, send your mail to "MIDRANGE-L@midrange.com".
| To unsubscribe from this list send email to MIDRANGE-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 mailing list archive is Copyright 1997-2025 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.