View previous topic :: View next topic
|
Author |
Message |
Mainak_Dalal
New User
Joined: 05 May 2010 Posts: 19 Location: USA
|
|
|
|
Doesn't cobol environment variables set by CEEENV in a calling CICA program flow to another CICS module transfered through XCTL? |
|
Back to top |
|
|
Mainak_Dalal
New User
Joined: 05 May 2010 Posts: 19 Location: USA
|
|
|
|
I checked IBM knowledge center but could not find any details on scope of a environment variable, that we can set using CEEENV. In one of our CICS module I was trying to pass a value to another module (Control passed through XCTL) through Environment variable. However I found that the variable and its value lost in the 2nd program. I was trying to experiment passing value without a Commarea / Linkage or TSQ method. But it did not work �� |
|
Back to top |
|
|
Bill O'Boyle
CICS Moderator
Joined: 14 Jan 2008 Posts: 2501 Location: Atlanta, Georgia, USA
|
|
|
|
What if you GETMAINed 31-Bit storage, large enough to house all the CEEENV parameters, move these parameters to the GETMAINed area, then pass the ADDRESS OF the GETMAINed area in the XCTL "INPUTMSG" parm or if you have 4-Bytes to spare, store the ADDRESS in the existing commmarea? In either case, define a POINTER to WS and set it to the GETMAINed address.
Then, when the XCTL completes, obtain this ADDRESS from the "INPUTMSG" (or commarea), establish addressability to this ADDRESS (POINTER) in a LINKAGE structure that formats the CEEENV parmdata and you're done.
GETMAINed Storage automatically FREEs at Task Termination, but you can FREE it yourself, after you save the data somewhere (like WS).
Note: The program with which you're XCTLing to must be AMODE 31, RMODE ANY and is most likely in this day and age.
HTH.... |
|
Back to top |
|
|
Mickeydusaor
Active User
Joined: 24 May 2006 Posts: 258 Location: Salem, Oregon
|
|
|
|
Bill, if he is going to go through all of that he might as well just pass the data from the first program to the second program in the commarea on the XCTL command |
|
Back to top |
|
|
Mainak_Dalal
New User
Joined: 05 May 2010 Posts: 19 Location: USA
|
|
|
|
Yes, I can just pass it using Commarea or go through Temp storage in CICS. I was just experimenting a newer way of intercommunicating between 2 cobol CICS progs through environment vars |
|
Back to top |
|
|
|