Problem solve Get help with specific problems with your technologies, process and projects.

I'm developing a CICS Web app and need more info on using converters

I am developing a CICS Web application and right now it has a limitation of 32K. I read in the manuals that this 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

Have a question for an expert?

Please add a title for your question

Get answers from a TechTarget expert on whatever's puzzling you.

You will be able to add details on the next page.

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.