Hello,
AFAIK, the /current/ CL method is to call the APIs. This assumes a 
few things -- (1) we're talking about ILE CL, (2) you're compiling 
on V5R4 with target release of V5R2 or later and (3) the systems are 
properly PTFed.
FWIW...  getenv() and Qp0zGetEnv() both require support for pointers, 
which didn't exist until V5R4, and was buggy when V5R4 was released. So, 
you want to make sure you're on V5R4 and up-to-date on PTFs.
If you really want to do this in pure CL prior to V5R4, you might 
consider the QtmhGetEnv() API.  It does not require pointers, and is 
available on older releases.   The disadvantage is that it requires the 
HTTP server to be installed, but it retrieves the exact same environment 
variables as the other APIs (I'm sure it calls Qp0zGetEnv() under the 
covers) without the pointer logic.
However, again, due to the complexity of calling CALLPRC and then doing 
pointer logic in CL, it would (IMHO) be a much better idea to write an 
RPG program and give it a *CMD front end, so you could implement a 
RTVENVVAR command.   Then, call that from CL.   That way, all future 
applications that need environment variables can easily call your 
RTVENVVAR command.  It'll be easy for the next programmer to read your 
CL code and easy to reuse your techniques.
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.