I am developing a CICS Web application and right now it has a limitation of 32K. I read in the manuals that this...
By submitting your personal information, you agree that TechTarget and its partners may contact you regarding relevant content, products and special offers.
can be overcome by using converters - Decode and Encode. I am trying to find out more information regarding these as to how these can be used to accomplish this. Where do these programs need to reside and how to invoke these programs? Any help regarding to these matters will be of great help to me. As of now I am at a dead and end and I am going nowhere with the project on hand.
The initial function of the CWI ( in CICS/ESA V4.1 and CICS TS V1.1 and 1.2) was COMMAREA driven, providing the program with the request and accepting its response. To get around the 32K limit there, PTFs are available (for "PQ16212 REMOVAL OF THE 32K INPUT LIMIT OF CWI" and "PQ08889 CONDITIONAL REMOVAL OF THE 32K LIMIT ON OUTBOUND DATA") that offer an alternative way to requiring all the data be in a single COMMAREA. Also the tools were provided as linkable programs.
In CICS TS V1.3 this interface was superseded by the CWS API of EXEC CICS WEB (and EXEC CICS DOCUMENT replaced the template manager) which, because it is not COMMAREA based, removed the 32K limitation.
Converters are user written programs that are called by CICS before (for decode) and after (for encode) CICS links to the target user program. Their COMMAREA contains an architected structure of Converter input and output parameters (eg encode_data_ptr). The name of the Converter that is to be used to service a request is one of the outputs of the Analyzer (for the default analyzer its part of the URL format used). One use of a Converter is to protect the user program from being Web aware.
If it's the building of HTML that is taking the data over the limit then using the CWS API in your decode and encode routines would upgrade the Web application without needing to change the target program. If the target program itself is generating data greater than 32K then returning the storage address to encode in the COMMAREA would be a way of passing the data that could then be used to manipulate into a document and EXEC CICS WEB SEND it.
Use of the Web bridge to allow a browser to front end 3270 transactions also has a 32K limit on the size of templates it supports. If its the customization of the generated HTML that is taking the data over the limit then work is underway (via PQ52949) to resolve this limitation also.
For details on writing applications using the CICS Web Services I suggest you look at the following Redbooks:- Revealed! Architecting Web Access to CICS: Redbook: SG24-5466
Securing Web Access to CICS: Redbook SG24-5756
Workload Management for Web Access to CICS: Redbook SG24-6118
A Performance Study of Web Access to CICS: Redbook SG24-5748
These Redbooks may be found at www.redbooks.ibm.com
Dig Deeper on IBM system z and mainframe systems
Related Q&A from Robert Crawford
For better mainframe capacity planning, how do I convert CPU hours to MIPS? And is there a way to calculate the relationship between MIPS and MSUs?continue reading
I have two years of experience in mainframe technology, currently working as a mainframe developer. I want to change to Java technology.continue reading
I want to replicate DB2 from the mainframe to an AIX box since it's cheaper and the copy can be used for testing. Is this possible?continue reading
Have a question for an expert?
Please add a title for your question
Get answers from a TechTarget expert on whatever's puzzling you.