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

Replacing Start Transid with LINK


IBM Mainframe Forums -> CICS
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
pkmurali
Warnings : 1

Active User


Joined: 15 Dec 2005
Posts: 271

PostPosted: Tue Apr 19, 2016 8:22 pm
Reply with quote

Hi All,

In My application, the programs are Route(static) Routestatus(notroutable).In program-a we have start transid which is associated with program-b. Can i replace strart transid with LINK? If so what are all the parameter i have to consider?
Back to top
View user's profile Send private message
Rohit Umarjikar

Global Moderator


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

PostPosted: Tue Apr 19, 2016 8:30 pm
Reply with quote

You can't because they are different.
btw why would you want to do that change? any requirements? or do you want to learn about START, XCTL and LINK?
Learning's can be found here.
link
xctl
start
Back to top
View user's profile Send private message
pkmurali
Warnings : 1

Active User


Joined: 15 Dec 2005
Posts: 271

PostPosted: Tue Apr 19, 2016 8:42 pm
Reply with quote

No Rohit, they are different I agree. But when you compare the start transid and LINK the only difference is from program -a start transid is invoking program b using trnsaction and it is passing the WS-commarea to program b, same can be achieved through link right. For Link program a will expect the control to be back where as start transid is wont have that scenario.


EXEC CICS START
TRANSID(WS-TRANSID)
TERMID(EIBTRMID)
FROM(WS-COMMAREA)
LENGTH(WS-START-LENGDE)
NOCHECK
NOHANDLE
END-EXEC
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: Tue Apr 19, 2016 9:10 pm
Reply with quote

If your program-b is doing pseudo-conversational interactions with a terminal user, then you CANNOT replace START TRANSID with LINK -- because what happens after you send your first map and need to do the RETURN TRANSID?

The entire application design is different -- a LINK expects to be able to continue with the calling program program-a after the LINKed program program-b finishes, while a START TRANSID means program-b is no longer associated with program-a in any way.
Back to top
View user's profile Send private message
Rohit Umarjikar

Global Moderator


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

PostPosted: Tue Apr 19, 2016 10:42 pm
Reply with quote

Quote:
then you CANNOT replace START TRANSID with LINK
or its other way round( ignore me if I get you wrong here)\

a. For START, you get a brand new taskid(different from current one so easy to get managed with no dependency),
b. If you issue a START tied to the terminal that program A is executing on, then nothing is going to happen until the current transaction releases the terminal.
c. LINK, you will have to control HANDLE conditions exclusively.
d. START is only advised to use if there is no terminal activities required.
e.LINK establishes a new run unit so CALL(if only local) is better choice instead.
and there may be more differences and factors you would have to consider apart from the only one you said in your post.
Back to top
View user's profile Send private message
pkmurali
Warnings : 1

Active User


Joined: 15 Dec 2005
Posts: 271

PostPosted: Thu Apr 21, 2016 3:26 am
Reply with quote

Quote:

would you want to do that change? any requirements?


I need to migrate my programs to CICSPLEX HA, since START TRANSID,TDQ,LOAD PROGRAM ON HOLD, Listed under affinity report. I have to replace the affinity thats why i am checkingvfor other opyions.
Back to top
View user's profile Send private message
Rohit Umarjikar

Global Moderator


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

PostPosted: Fri Apr 22, 2016 2:04 am
Reply with quote

Okay. Did you investigate this sharing of the data really a cause for an affinity? is this START on a remote system ( I doubt)? What affinity do you think you have with this code? and why then do you think DPL can't also be an affinity? did you think of RETRIEVE WAIT and START?
Back to top
View user's profile Send private message
pkmurali
Warnings : 1

Active User


Joined: 15 Dec 2005
Posts: 271

PostPosted: Fri Apr 22, 2016 2:42 am
Reply with quote

Hi Rohith

I agree data sharing is not affinity, but in which case START TRANSID becomes affinity? If the program is routed to remote system? In my application we are not using START TRANSID with SYSID.please clarify.
Back to top
View user's profile Send private message
pkmurali
Warnings : 1

Active User


Joined: 15 Dec 2005
Posts: 271

PostPosted: Fri Apr 22, 2016 1:22 pm
Reply with quote

I have read all the reference mentioned in the below post, but not sure how start transid becomes affinity.

ibmmainframes.com/viewtopic.php?t=64519&highlight=cicsplex+ha
Back to top
View user's profile Send private message
Mickeydusaor

Active User


Joined: 24 May 2006
Posts: 258
Location: Salem, Oregon

PostPosted: Fri Apr 22, 2016 7:32 pm
Reply with quote

you can use the the following

Code:
EXEC CICS RETURN
     IMMEDIATE
     TRANSID     (CMDLINEI(01:04))
     INPUTMSG    (CMDLINEI)
     INPUTMSGLEN (LENGTH OF CMDLINEI)
     RESP        (WS-CICS-RESPONSE)
     END-EXEC


you can also pass a commarea with this command
Back to top
View user's profile Send private message
Rohit Umarjikar

Global Moderator


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

PostPosted: Fri Apr 22, 2016 11:22 pm
Reply with quote

Note : INPUTMSG and the SYSID are mutually exclusive
Did you check upon the IBM Redbook links ( specifically the second one inside from the above link you posted). Look for 3.2 Affinities
you case is more of a Inter-transaction affinity and you wold have to tell us more on what these trxs are doing. You can't generalize this affinity on just CICS START. You will have to check if really there is something you need to change based on the functionality. in our case we have removed SYSID from START and routed via Remote transaction definition.
Do you wanted to restart target trx alone in case of failures or the whole unit of work? So based on that you decide the Affinity lifetime ,Affinity relations.
Back to top
View user's profile Send private message
pkmurali
Warnings : 1

Active User


Joined: 15 Dec 2005
Posts: 271

PostPosted: Wed Apr 27, 2016 10:25 am
Reply with quote

Thanks Rohit. I will try to remove the sysid option and incorporate remote transaction definition. I am not able to get the restart ofctarget transaction. Is that means to restart the target trx used in start transid or the associated programs trx?
Back to top
View user's profile Send private message
pkmurali
Warnings : 1

Active User


Joined: 15 Dec 2005
Posts: 271

PostPosted: Wed Apr 27, 2016 10:27 am
Reply with quote

Could you please let me know how LOAD,LOAD and HOLD will become affinity? In which scenario it could be affinity?
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 -> CICS

 


Similar Topics
Topic Forum Replies
No new posts Duplicate transid's declared using CEDA CICS 3
No new posts How can i link the RHDCSNON programa ... IDMS/ADSO 2
No new posts Start CICS transaction every day at 2AM CICS 4
No new posts Finding record and replacing with val... DFSORT/ICETOOL 3
No new posts Replacing character string in file th... JCL & VSAM 9
Search our Forums:

Back to Top