IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

QUESTION: RETURN CHANNEL


IBM Mainframe Forums -> CA Products
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
pahiker

New User


Joined: 10 Aug 2012
Posts: 51
Location: USA

PostPosted: Thu Apr 20, 2017 12:31 am
Reply with quote

I have an app that needs to return a large amount of data back to itself between screen sessions, so I am using channels to do that (required by our Tech Review Board, so I have no choice). The question I have is one of how CICS is functioning. The return statement is:

Code:
EXEC CICS RETURN                   
          TRANSID  ('RICO')         
          CHANNEL  (CA-CHANNEL-NAME)
END-EXEC                           


The return works, the map for the app is displayed, the user makes their changes and hits enter. Now, the question / problem:

I am testing using CA's Intertest, when control comes back into the program it doesn't seem to be coming back as a normal return (i.e., Intertest does not stop at the breakpoint on line 1). In order to get Intertest to stop I have to set it up as if it were stopping a background task. The original program, before the need to pass the large data, used a return with a commarea option, doing it that way Intertest regains control in it's normal method.

Does this sound right? Does CICS return to the transaction differently with channels than it does with commareas?
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8696
Location: Dubuque, Iowa, USA

PostPosted: Thu Apr 20, 2017 12:47 am
Reply with quote

What did the vendor tell you when you contacted them? If you haven't contacted the vendor, why not? The vendor should be your FIRST point of contact for issues like this.
Back to top
View user's profile Send private message
Rohit Umarjikar

Global Moderator


Joined: 21 Sep 2010
Posts: 3049
Location: NYC,USA

PostPosted: Thu Apr 20, 2017 4:17 am
Reply with quote

This should have been then posted under 'CA Product' section of the forum. How big the screen data could be and why not to be saved in queues and hope you can ask this to tech board later?
Back to top
View user's profile Send private message
pahiker

New User


Joined: 10 Aug 2012
Posts: 51
Location: USA

PostPosted: Thu Apr 20, 2017 4:08 pm
Reply with quote

Robert Sample wrote:
What did the vendor tell you when you contacted them? If you haven't contacted the vendor, why not? The vendor should be your FIRST point of contact for issues like this.


Because I don't see this as a CA issue. I am asking if I am right that when using RETURN CHANNEL that CICS returns to the task differently than it does with a RETURN COMMAREA. I am new, obviously, to using channels and was surprised at what I observed.
Back to top
View user's profile Send private message
pahiker

New User


Joined: 10 Aug 2012
Posts: 51
Location: USA

PostPosted: Thu Apr 20, 2017 4:14 pm
Reply with quote

Rohit Umarjikar wrote:
This should have been then posted under 'CA Product' section of the forum. How big the screen data could be and why not to be saved in queues and hope you can ask this to tech board later?


The area I am working with is 54,395,394 bytes, our tech review team doesn't want that much stored in a queue. Multiple users could be working with the application at the same time, meaning multiple queue entries of this size.

Again, I am not seeing this as a CA issue, but asking if what I am experiencing is correct, or if I am doing something wrong. I posted it here because I am asking a question about how CICS handles a RETURN CHANNEL command.
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8696
Location: Dubuque, Iowa, USA

PostPosted: Thu Apr 20, 2017 4:58 pm
Reply with quote

Quote:
gain, I am not seeing this as a CA issue, but asking if what I am experiencing is correct, or if I am doing something wrong. I posted it here because I am asking a question about how CICS handles a RETURN CHANNEL command.
Actually, you ARE asking a CA question. CICS handles a RETURN -- no matter if it includes CHANNEL or COMMAREA -- exactly the same way. Hence the issue you are having is NOT related to CICS but rather to how InterTest handles RETURN CHANNEL versus RETURN COMMAREA. And this issue IS a CA issue, not a CICS issue.
Back to top
View user's profile Send private message
pahiker

New User


Joined: 10 Aug 2012
Posts: 51
Location: USA

PostPosted: Thu Apr 20, 2017 5:00 pm
Reply with quote

Robert Sample wrote:
Quote:
gain, I am not seeing this as a CA issue, but asking if what I am experiencing is correct, or if I am doing something wrong. I posted it here because I am asking a question about how CICS handles a RETURN CHANNEL command.
Actually, you ARE asking a CA question. CICS handles a RETURN -- no matter if it includes CHANNEL or COMMAREA -- exactly the same way. Hence the issue you are having is NOT related to CICS but rather to how InterTest handles RETURN CHANNEL versus RETURN COMMAREA. And this issue IS a CA issue, not a CICS issue.


Actually, thanks, you answered my question. That's all I wanted to know.
Back to top
View user's profile Send private message
Rohit Umarjikar

Global Moderator


Joined: 21 Sep 2010
Posts: 3049
Location: NYC,USA

PostPosted: Thu Apr 20, 2017 5:46 pm
Reply with quote

Quote:
The area I am working with is 54,395,394 bytes, our tech review team doesn't want that much stored in a queue. Multiple users could be working with the application at the same time, meaning multiple queue entries of it.
I am sure that doesn't make queues bad. You have an option to searlize tasks, why that big size of data a single point of time? Are you rendering thousands of pages? Anyways thats not something you want to look for.
Quote:
The original program, before the need to pass the large data, used a return with a commarea option, doing it that way Intertest regains control in it's normal method.
are you RETURNing with channels in called program?
Back to top
View user's profile Send private message
pahiker

New User


Joined: 10 Aug 2012
Posts: 51
Location: USA

PostPosted: Thu Apr 20, 2017 5:58 pm
Reply with quote

Rohit Umarjikar wrote:
I am sure that doesn't make queues bad. You have an option to searlize tasks, why that big size of data a single point of time? Are you rendering thousands of pages? Anyways thats not something you want to look for.


It contains information about items cherry-picked off of an order, there is a large amount of information that needs to be passed between several called programs, and retained between screen sessions.


Quote:
are you RETURNing with channels in called program?


yes. But, the question I have was answered.
Back to top
View user's profile Send private message
Rohit Umarjikar

Global Moderator


Joined: 21 Sep 2010
Posts: 3049
Location: NYC,USA

PostPosted: Thu Apr 20, 2017 6:02 pm
Reply with quote

This option is valid only on a RETURN command issued by a program at the highest logical level; that is, a program returning control to CICS
Back to top
View user's profile Send private message
pahiker

New User


Joined: 10 Aug 2012
Posts: 51
Location: USA

PostPosted: Thu Apr 20, 2017 6:07 pm
Reply with quote

Rohit Umarjikar wrote:
This option is valid only on a RETURN command issued by a program at the highest logical level; that is, a program returning control to CICS

That's where I'm at at the time.
Back to top
View user's profile Send private message
Rohit Umarjikar

Global Moderator


Joined: 21 Sep 2010
Posts: 3049
Location: NYC,USA

PostPosted: Fri Apr 21, 2017 10:16 pm
Reply with quote

Quote:
That's where I'm at at the time.
but you said you are also doing in called program ( hope not XCTL) else you already got your answer?
Back to top
View user's profile Send private message
RahulG31

Active User


Joined: 20 Dec 2014
Posts: 446
Location: USA

PostPosted: Fri Apr 21, 2017 11:06 pm
Reply with quote

I don't think passing a CHANNEL name is needed if you are RETURNing the control to CICS. What will CICS do with the CHANNEL name, I guess nothing.

To me, the only time a CHANNEL name is needed in RETURN is when you are RETURNing control to another program. The program to which the control is RETURNed may do something with the CHANNEL name (get the CONTAINER(s) in the specific CHANNEL and do some processing).

There is another link that may be useful: https://www.ibm.com/support/knowledgecenter/SSGMCP_5.2.0/com.ibm.cics.ts.applicationprogramming.doc/topics/dfhp3_ch_cur_other.html

.
Back to top
View user's profile Send private message
Rohit Umarjikar

Global Moderator


Joined: 21 Sep 2010
Posts: 3049
Location: NYC,USA

PostPosted: Sat Apr 22, 2017 12:32 am
Reply with quote

Quote:
I don't think passing a CHANNEL name is needed if you are RETURNing the control to CICS. What will CICS do with the CHANNEL name, I guess nothing.
If there are more than one then the one specified in RETURN will become the current CHANNEL when the next time transaction hits otherwise you sounds right.
Back to top
View user's profile Send private message
RahulG31

Active User


Joined: 20 Dec 2014
Posts: 446
Location: USA

PostPosted: Sat Apr 22, 2017 12:41 am
Reply with quote

Rohit Umarjikar wrote:
Quote:
I don't think passing a CHANNEL name is needed if you are RETURNing the control to CICS. What will CICS do with the CHANNEL name, I guess nothing.
The one specified in RETURN will become the current CHANNEL when the next time transaction hits.

The CHANNEL name passed is to be used by the programs i.e. when control is RETURNed to another program (at the next higher logical level). RETURNing control to CICS would effectively mean end of transaction.

.
Back to top
View user's profile Send private message
Rohit Umarjikar

Global Moderator


Joined: 21 Sep 2010
Posts: 3049
Location: NYC,USA

PostPosted: Sat Apr 22, 2017 12:44 am
Reply with quote

Quote:
The CHANNEL name passed is to be used by the programs i.e. when control is RETURNed to another program (at the next higher logical level). RETURNing control to CICS would effectively mean end of transaction
It would mean end of the current TASK. but CHANNEL can only be embedded under RETURN is when your next higher logical level is CICS.
When you LINK the program then you pass the CHANNEL name and that becomes the current one to the called program or even subsequent programs for that matter but when you do RETURN you don't specify nothing as it is indeed the CURRENT CHANNEL.
Current channel example, with LINK commands
Back to top
View user's profile Send private message
RahulG31

Active User


Joined: 20 Dec 2014
Posts: 446
Location: USA

PostPosted: Sat Apr 22, 2017 1:01 am
Reply with quote

Ok. I missed one thing and that is RETURNing to CICS with a TRANSID and a CHANNEL name. The CHANNEL name is passed to the next program using that TRANSID.

I was thinking of a RETURN with a CHANNEL and that wouldn't make sense But when you have TRANSID, that is something different (starting a new transaction).

I don't have anything else to say on this Post.

.
Back to top
View user's profile Send private message
pahiker

New User


Joined: 10 Aug 2012
Posts: 51
Location: USA

PostPosted: Mon Apr 24, 2017 4:15 pm
Reply with quote

Rohit Umarjikar wrote:
Quote:
That's where I'm at at the time.
but you said you are also doing in called program ( hope not XCTL) else you already got your answer?


I'm doing a link into the called program, the transfer there and back work fine, the problem was always on the top level program doing the RETURN CHANNEL.
Back to top
View user's profile Send private message
pahiker

New User


Joined: 10 Aug 2012
Posts: 51
Location: USA

PostPosted: Mon Apr 24, 2017 4:31 pm
Reply with quote

RahulG31 wrote:
I don't think passing a CHANNEL name is needed if you are RETURNing the control to CICS. What will CICS do with the CHANNEL name, I guess nothing.

To me, the only time a CHANNEL name is needed in RETURN is when you are RETURNing control to another program. The program to which the control is RETURNed may do something with the CHANNEL name (get the CONTAINER(s) in the specific CHANNEL and do some processing).

There is another link that may be useful: https://www.ibm.com/support/knowledgecenter/SSGMCP_5.2.0/com.ibm.cics.ts.applicationprogramming.doc/topics/dfhp3_ch_cur_other.html

.


You are wrong on this, I just tested it. Without the CHANNEL on the RETURN statement when I go to read the channel I get:

RESP=122 CHANNELERR
RESP2=2 The channel specified on the CHANNEL option could not be found
Back to top
View user's profile Send private message
RahulG31

Active User


Joined: 20 Dec 2014
Posts: 446
Location: USA

PostPosted: Mon Apr 24, 2017 7:53 pm
Reply with quote

pahiker wrote:

You are wrong on this, I just tested it. Without the CHANNEL on the RETURN statement when I go to read the channel I get:

RESP=122 CHANNELERR
RESP2=2 The channel specified on the CHANNEL option could not be found

It may have sounded like that but I was talking about Not using the CHANNEL option altogether in RETURN. If you are using the CHANNEL option but Not passing the CHANNEL Name then you'll get RESP=122.

Again, a CHANNEL option may be used with RETURN if you have TRANSID on RETURN. If you don't have TRANSID then, CHANNEL option is Not required.

.
Back to top
View user's profile Send private message
Rohit Umarjikar

Global Moderator


Joined: 21 Sep 2010
Posts: 3049
Location: NYC,USA

PostPosted: Mon Apr 24, 2017 9:09 pm
Reply with quote

Quote:
Again, a CHANNEL option may be used with RETURN if you have TRANSID on RETURN. If you don't have TRANSID then, CHANNEL option is Not required.
Indeed true without TRANSID RETUEN thing, because at that point the Transaction is finished and there is no COME BACK, so who cares about CHANNEL or any COMMAREA data for that matter ;But it is must to provide otherwise( to get current CHANNEL name resumed for the next TASK).

I think TS got what he wants, and topic can be locked.
Back to top
View user's profile Send private message
pahiker

New User


Joined: 10 Aug 2012
Posts: 51
Location: USA

PostPosted: Mon Apr 24, 2017 9:17 pm
Reply with quote

Rohit Umarjikar wrote:
I think TS got what he wants, and topic can be locked.


Agreed. Not sure how to lock it, or is that a mod/admin thing?
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> CA Products

 


Similar Topics
Topic Forum Replies
No new posts Return codes-Normal & Abnormal te... JCL & VSAM 7
No new posts Question for file manager IBM Tools 7
No new posts VSAM return code 23 - for a Random read COBOL Programming 4
No new posts question for Pedro TSO/ISPF 2
No new posts question on Outrec and sort #Digvijay DFSORT/ICETOOL 20
Search our Forums:

Back to Top