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

Getting BLOBs from DB2

We are using CICS WebSupport to get BLOBs from DB2 or tape and show the picture in a browser. The performance is great and the availability is very high but we are hitting two problems from the same origin. Our current max picture is 3Mb and we have a need to go to 50Mb. DB2 is able to handle this using BLOB LOCATORS. I can pass this locator to CICS WS, but with the CREATE DOCUMENT I need to reference a WS-field.

My questions are:

1. Can I use "outside CICS pointers" instead of WS fields in CICS WS CREATE DOCUMENT?

2. If I cannot use pointers, how do I use a CICS GETMAIN in relation to CICS WS. And, how do I bypass the 16Mb COBOL working storage limit?

All this to minimize the storage required to run CICS. Currently we use 280M with a 3Mb DOCUMENT field. If we would go to a 15 Mb DOCUMENT field we would need 1,4Gb. TIA.
I suggest that you alter your logic and use XC DOC INSERT to add in this BLOB into the document. This can cope with a full words worth of data. However I cannot say how much internal CICS storage will be used by this operation. If you have got back a pointer from the DB2 operation, then you can just use it in the command and all should be well (please get rid of the DB2 area as soon as possible, if it's that large!).

I confess to being slightly surprised that you want to use CICS to service such a large item but it should work OK. Raise an APAR if it doesn't but do ensure that the CICS storage definitions in the SIT are big enough to cope.

Robert Harris
CICS Technical Strategist -- CICS expert at Search390.com

Editor's note: Do you agree with this expert's response? If you have more to share, post it in one of our .VO7aaqqaAFk.0@/search390>discussion forums.

Dig Deeper on IBM system z and mainframe systems

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.