Portal | Manuals | References | Downloads | Info | Programs | JCLs | Mainframe wiki | Quick Ref
IBM Mainframe Computers Forums Index
 
Register
 
IBM Mainframe Computers Forums Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist Profile Log in to check your private messages Log in
 
CICS - LINK,XCTL and START

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> CICS
View previous topic :: :: View next topic  
Author Message
malathys

New User


Joined: 07 Aug 2008
Posts: 10
Location: chennai

PostPosted: Tue Aug 28, 2012 3:10 pm    Post subject: CICS - LINK,XCTL and START
Reply with quote

LINK will pass control to the next module and return the first module. This will hold the complete memory of all Linked modules.
XCTL will transfer control to next control & wont return back. This will wipe off the first module's resources while doing a XCTL.
Now i want to know more about START

Note1:START will invoke a transaction & it will continue with next statement in the module. My question is,

Note2: IF Program A issues START to invoke transaction ABCD, then ABCD will be invoked and Program A also continues processing.
Now what will happen to resources of Program A? Can anyone confirm that the resources of Program A will get wiped off, even though transaction ABCD is still under execution.


Reason i need this info is.

* We have a existing code whose flow is A---> B---> C---> D----->E, each of them are LINKed together.
Now we wrote a new module F, which is Linked by E. The problem is F uses lot of memory so CICS Team asked us to change the design to reduce memory.
We cannot go for XCTL from E to F.. Because based on E's processing, D will do something, based on D's processing, C will so something etc.
E do not want any data to be returned from F.

Now we planed to split F into 5 modules F1, F2, F3, F4, F5 each of them in turn called using XCTL. Now real problem is calling F1 from E with out using LINK and XCTL

So we found 2 options,
* Module E will place a data in TDQ. Whenever a data is placed in TDQ, a transaction (mapped to F1) will automatically invoke. This will allow E to return to D, etc.
* Module E uses START to invoke a transaction mapped to F1. (Considering Note1 to be true)

We are planning to use 2nd option, if Note1 & Note2 holds good. Can anyone confirm this?
Back to top
View user's profile Send private message

dbzTHEdinosauer

Global Moderator


Joined: 20 Oct 2006
Posts: 6968
Location: porcelain throne

PostPosted: Tue Aug 28, 2012 4:14 pm    Post subject:
Reply with quote

yeah, check the cics manuals, hyperlink at top of the page.
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8165
Location: East Dubuque, Illinois, USA

PostPosted: Tue Aug 28, 2012 5:00 pm    Post subject:
Reply with quote

Quote:
IF Program A issues START to invoke transaction ABCD, then ABCD will be invoked and Program A also continues processing.
Whether or not this is true depends upon the START. If you issue a START tied to the terminal that program A is executing on, then transaction ABCD will do nothing until the current transaction is done and releases the terminal. If you issue a START not tied to a terminal (also called a background transaction), ABCD will begin executing immediately (or if interval controlled when the interval expires or if time controlled when the appropriate time is reached) but has no access to any of program A's resources (except any COMMAREA passed via the START command).

Your note 2 is also addressed by these comments -- whether or not program A's resources are released by CICS depends upon the type of START being executed and what program A does after the START. Program A will continue to execute until EXEC CICS RETURN is performed in your code.
Back to top
View user's profile Send private message
malathys

New User


Joined: 07 Aug 2008
Posts: 10
Location: chennai

PostPosted: Wed Aug 29, 2012 6:09 pm    Post subject:
Reply with quote

Hi Robert,

Thanks for your explanation.

I have a doubt.

Are there anything special needs to be done for making ABCD as a background transaction. Also, my Program A & Transaction ABCD are independent.
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8165
Location: East Dubuque, Illinois, USA

PostPosted: Wed Aug 29, 2012 6:33 pm    Post subject:
Reply with quote

If ABCD is going to run as a background transaction, there cannot be any SEND MAP or RECEIVE MAP or RECEIVE or other terminal-oriented CICS command in the code. ABCD can use files and TS or TD queues, just no terminal activity.
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> CICS All times are GMT + 6 Hours
Page 1 of 1

 

Search our Forum:

Similar Topics
Topic Author Forum Replies Posted
No new posts ASP3 ABEND IN CICS Vedant CICS 0 Fri Oct 20, 2017 3:18 pm
No new posts Identifying Interfaces in CICS/mainframe Ashishpanpaliya CICS 5 Fri Oct 13, 2017 3:21 pm
No new posts IEW2456E error when link-editing a C ... Senthilraj JCL & VSAM 0 Fri Oct 13, 2017 3:12 pm
No new posts Accessing CICS tran with map from JCL... navdeepaggarwal CICS 5 Tue Oct 03, 2017 6:15 pm
No new posts Partial color change of a field in CI... waseem0424 CICS 5 Fri Sep 29, 2017 7:56 pm

Facebook
Back to Top
 
Job Vacancies | Forum Rules | Bookmarks | Subscriptions | FAQ | Polls | Contact Us