View previous topic :: View next topic
|
Author |
Message |
pkmurali Warnings : 1 Active User
Joined: 15 Dec 2005 Posts: 271
|
|
|
|
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 |
|
|
Rohit Umarjikar
Global Moderator
Joined: 21 Sep 2010 Posts: 3076 Location: NYC,USA
|
|
|
|
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 |
|
|
pkmurali Warnings : 1 Active User
Joined: 15 Dec 2005 Posts: 271
|
|
|
|
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 |
|
|
Robert Sample
Global Moderator
Joined: 06 Jun 2008 Posts: 8700 Location: Dubuque, Iowa, USA
|
|
|
|
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 |
|
|
Rohit Umarjikar
Global Moderator
Joined: 21 Sep 2010 Posts: 3076 Location: NYC,USA
|
|
|
|
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 |
|
|
pkmurali Warnings : 1 Active User
Joined: 15 Dec 2005 Posts: 271
|
|
|
|
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 |
|
|
Rohit Umarjikar
Global Moderator
Joined: 21 Sep 2010 Posts: 3076 Location: NYC,USA
|
|
|
|
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 |
|
|
pkmurali Warnings : 1 Active User
Joined: 15 Dec 2005 Posts: 271
|
|
|
|
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 |
|
|
pkmurali Warnings : 1 Active User
Joined: 15 Dec 2005 Posts: 271
|
|
Back to top |
|
|
Mickeydusaor
Active User
Joined: 24 May 2006 Posts: 258 Location: Salem, Oregon
|
|
|
|
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 |
|
|
Rohit Umarjikar
Global Moderator
Joined: 21 Sep 2010 Posts: 3076 Location: NYC,USA
|
|
|
|
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 |
|
|
pkmurali Warnings : 1 Active User
Joined: 15 Dec 2005 Posts: 271
|
|
|
|
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 |
|
|
pkmurali Warnings : 1 Active User
Joined: 15 Dec 2005 Posts: 271
|
|
|
|
Could you please let me know how LOAD,LOAD and HOLD will become affinity? In which scenario it could be affinity? |
|
Back to top |
|
|
|