Portal | Manuals | References | Downloads | Info | Programs | JCLs | Master the Mainframes
IBM Mainframe Computers Forums Index
 
Register
 
IBM Mainframe Computers Forums Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist Usergroups 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: 6966
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: 7935
Location: Bellevue, IA

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: 7935
Location: Bellevue, IA

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 CICS to Webservices safexc CICS 1 Sun Jan 22, 2017 5:49 pm
No new posts CICS transaction slow response time vasanthz All Other Mainframe Topics 2 Thu Jan 19, 2017 1:31 am
No new posts INDEPENDENT CICS TS 4.1 MRO REGION UP... Kyle Carroll CICS 0 Wed Dec 14, 2016 6:55 pm
No new posts CICS START AND CANCEL blayek CICS 1 Wed Dec 07, 2016 3:27 am
No new posts How does a called pgm know if its cal... Graeme Westerman COBOL Programming 4 Tue Nov 29, 2016 9:25 pm


Facebook
Back to Top
 
Mainframe Wiki | Forum Rules | Bookmarks | Subscriptions | FAQ | Tutorials | Contact Us