LISTSERV at the University of Georgia
Menubar Imagemap
Home Browse Manage Request Manuals Register
Previous messageNext messagePrevious in topicNext in topicPrevious by same authorNext by same authorPrevious page (November 2002)Back to main CICS-L pageJoin or leave CICS-L (or change settings)ReplyPost a new messageSearchProportional fontNon-proportional font
Date:         Tue, 5 Nov 2002 08:22:27 -0600
Reply-To:     CICS List <CICS-L@LISTSERV.UGA.EDU>
Sender:       CICS List <CICS-L@LISTSERV.UGA.EDU>
From:         Rakesh Kaushika <RakeshK@SECURA.NET>
Subject:      Re: Commarea within CWS Programs
Content-Type: text/plain; charset="iso-8859-1"

Donald, Thanks for your very informative response.In my case I am having the Presentation logic (converter program) separate from Business logic.would you still recommend passing the data in TSQ rather than thru the commarea.one more question I have is we have about 5K bytes of commarea.would I have to change the user data area of DFHWBST or DFHWBSR from 256 bytes to 5000 or am I missing something here. I would appreciate any suggestions or feedback. Thanks Rakesh

-----Original Message----- From: Donald Schnader [mailto:DSchnade@EXCHANGE.EBSCO.COM] Sent: Monday, November 04, 2002 4:20 PM To: CICS-L@LISTSERV.UGA.EDU Subject: Re: Commarea within CWS Programs

Hi Rakesh

There are two sets of state management examples sent with CICS. The default stores the state information in memory. The second stores state information in TSQs. The TSQ is what I am using now because I'm doing port sharing with several regions. I need the state information to go from one region to the other as needed. The TSQ set (DFHWBSR) needed to be fixed. (I compared and adding functions from DFH$WBST to DFHWBSR). The calling programs needed changing to call the TSQ set.

The samples would help you when you need CICS to setup information as part of the initiation of the transaction (like TERMID, TCTUA etc). Please understand your "web aware" program is going to have the HTTP request in its DFHCOMMAREA. So, passing the data in the commarea is not what you will be doing anyway.

The alternative I would suggest is to create TSQs using the state token. you have access to the token when the session was signed on. When your program starts to return, create or update a TSQ where QNAME is application identifier (1 to 8 bytes) and token (8 bytes). The token could be converted to a 4 byte binary field (I would have to look up the algorithm). That would give you 12 bytes for the QNAME. When the "web aware" program starts it can read for the TSQ by the token. (Note QNAME has a length of 16 where QUEUE only has a length of 8 bytes)

This way if you are running a single region the TSQ is always there. If you are running multiple regions (like me) the TSQ can be made remote to a QOR (or FOR). And of course, we could put the TSQ in a coupling facility.

Hope this helps

Donald

PS. I am very disappointed with David Clancey's answer "...(the IBM Samples are available) but for a number of reasons (affinity issues - getmain, Size limitations of state data (256 bytes), and url encoding problems) they are not much use. ..."

I'm sure their classes have a certain value, but I found significant use of the IBM supplied samples. Strangely, I haven't ran into the issues that plague the Circle Group.

>>does the CWS has some functionality built in to save and restore the >>commarea between the Tasks or do we have to write something on our own so >>that commarea could be >>maintained after a task has ended. >>I would appreciate any feedback or suggestions >>Thanks >>Rakesh


Back to: Top of message | Previous page | Main CICS-L page