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