Page 1 of 2

COBOL CICS passing data more than 32K

PostPosted: Sun Sep 16, 2012 3:13 am
by vikas walunj
I have situation to discuss. And I dont know how to perform this.

Say I am calling program XYZ in program ABC using CICS LINK. Output caopybook of program XYZ is sending back more than 32K data as fixed data + variable data. The field i am concerned in program ABC resides in fixed data.

So i wan to ignore remaining variable data ( or you can say i want to accept <32k data in program ABC from program XYZ). How can i perform this ?
Is there any way to ignore or not accept data after 32K?

Re: COBOL CICS passing data more than 32K

PostPosted: Sun Sep 16, 2012 3:46 am
by Robert Sample
With the last several releases of CICS, you can use containers to pass more than 32K of data between programs.

However, if you are referring to DFHCOMMAREA, the limit is 32767 bytes (and IBM recommends keeping it to 24576 or less bytes), and you cannot get around that limit.

Re: COBOL CICS passing data more than 32K

PostPosted: Sun Sep 16, 2012 5:01 am
by vikas walunj
Thanks Robert for reply.
I got what do you mean. Sorry may be I was not clear in my requirement.

I have two cobol cics programs A and B.
Program A is calling program B using CICS LINK. They are using DFHCOMMAREA to pass data.
In return Program B is sending data to program A more than 32K using UMT process (fixed data + variable data).

Now program A want to accept only fixed data part of return from program B. Which is less than 32K. i.e. A wants to ignore data more than 32K.

Is it possible?
If yes how?

Re: COBOL CICS passing data more than 32K

PostPosted: Sun Sep 16, 2012 5:42 am
by Robert Sample
i.e. A wants to ignore data more than 32K.
As long as program A and program B do not attempt to use more than 32767 bytes for DFHCOMMAREA, you will not have a problem. However, program A will not be ignoring "data more than 32K" -- if program B attempts to use DFHCOMMAREA with more than 32767 bytes, typically the region will ABEND -- I've seen it happen -- in which case program A will not be executing since the region will not be executing.

Re: COBOL CICS passing data more than 32K

PostPosted: Sun Sep 16, 2012 6:35 am
by vikas walunj
yea actually i am facing same problem. Program A is not executing or i would say it is giving me garbage values at output.

Anyways Thanks Robert.

Re: COBOL CICS passing data more than 32K

PostPosted: Sun Sep 16, 2012 7:05 am
by Robert Sample
I will repeat my earlier comment -- if your version of CICS supports containers, you should be using them. If you don't know how to use them, read the manual.

Re: COBOL CICS passing data more than 32K

PostPosted: Sun Sep 16, 2012 7:24 am
by vikas walunj
yea it supports. I was just looking for other options to solve that.

Re: COBOL CICS passing data more than 32K

PostPosted: Sun Sep 16, 2012 8:40 am
by dick scherrer
Hello and welcome to the forum,

Let's recap - what you want to do fails (and may take down the CICS region.

Containers does exactly what you want.

What good reason (other than maybe just you do not want to learn) is there to look for "other optons"?

Re: COBOL CICS passing data more than 32K

PostPosted: Sun Sep 16, 2012 9:46 pm
by vikas walunj
Thanks for welcoming me.

Well Dick, other reason is program A is called by many other applications and I would think 10 times for my options before I change it.
And about containers, as i have written program B uses UMT process which uses containers to pass data. I know this process.
It is just huge impact and timw I have, forcing me to look for other options.

Re: COBOL CICS passing data more than 32K

PostPosted: Mon Sep 17, 2012 12:04 pm
by mongan
Well, you can continue to look, or you can listen to the very good advice that has already been given. But to your problem, why do you suddenly have to do this, perhaps you have a design flaw in what you want and need to do, tell us what has changed that now causes this problem?