View previous topic :: View next topic |
Author |
Message |
rajeshkoratti Beginner
Joined: 14 Feb 2006 Posts: 42 Topics: 22
|
Posted: Thu Aug 06, 2009 12:36 am Post subject: How to find the Transaction ID of the Program |
|
|
Hi
I have a list of CICS programs, i want to fiond out the transaction IDS which will invoke these programs. How do i find it.
I did CEDA DISPLAY but it is giving me the PCT entry form the transaction. That i i only get TRANID -> Program mapping not the reverse..
How do i do it? _________________ Thanks and Regards..
Rajesh |
|
Back to top |
|
|
kolusu Site Admin
Joined: 26 Nov 2002 Posts: 12376 Topics: 75 Location: San Jose
|
Posted: Thu Aug 06, 2009 11:34 am Post subject: |
|
|
rajeshkoratti,
CEMT I TRA(*) identifies the transaction name and its related program name.
Kolusu |
|
Back to top |
|
|
Terry_Heinze Supermod
Joined: 31 May 2004 Posts: 391 Topics: 4 Location: Richfield, MN, USA
|
Posted: Thu Aug 06, 2009 2:35 pm Post subject: |
|
|
I think Rajesh is interested in a CEMT I PROGRAM(XXX) option that displays all transaction IDs associated with program XXX. That option does not exist (that I know of). _________________ ....Terry |
|
Back to top |
|
|
rajeshkoratti Beginner
Joined: 14 Feb 2006 Posts: 42 Topics: 22
|
Posted: Thu Aug 06, 2009 10:11 pm Post subject: |
|
|
Thanks Kolusu.. however as Terry pointed out i need the Program -> Trans mapping. The reason being in my shop, unfortuantely, the naming conventions are not followed strictly hence, guessing out the transaction id from the program name is difficult. _________________ Thanks and Regards..
Rajesh |
|
Back to top |
|
|
semigeezer Supermod
Joined: 03 Jan 2003 Posts: 1014 Topics: 13 Location: Atlantis
|
Posted: Fri Aug 07, 2009 12:56 am Post subject: |
|
|
As long as the definitions are in the CSD and no one else is using CEDA...
Modifications, error checking and how it works left as an exercise for the reader:
Code: | /* Rexx */
"ALLOC F(DFHCSD) REU SHR DA('CICSTS41.NQA17C05.DFHCSD')"
sysin.0 = 1
sysin.1 = " LIST ALL OBJECTS"
"ALLOC F(SYSIN) REU NEW UNIT(VIO) SP(1) TRACK LREC(80) RECF(F)" ,
"DSO(PS) DEL"
"EXECIO 1 DISKW SYSIN (STEM SYSIN. FINIS"
"ALLOC F(SYSPRINT) REU NEW UNIT(VIO) LREC(132)",
"RECF(F B A) DSO(PS) DEL SP(15,50) track "
"CALL 'CICSBLD.V4R1M0.CICS.SDFHLOAD(DFHCSDUP)'"
"execio * diskr sysprint (stem sysprint. finis"
"FREE F(SYSIN DFHCSD SYSPRINT)"
progs. = ""
proglist = ""
Do a = 1 to sysprint.0
Parse Var sysprint.a 2 "TRANSACTION(" trans ")" . "PROGRAM(" prog ")"
If trans <> "" & prog <> "" Then
Do
If progs.prog == "" Then
proglist = proglist prog
progs.prog = progs.prog trans
End
End
Do a = 1 to words(proglist)
prog = word(proglist,a)
Say "Program "left(prog,8) "Transids: "space(progs.prog)
End |
Sample of output: Code: | Program ACCT00 Transids: ACCT
Program ACCT03 Transids: ACEL ACLG AC03 AC05 AC06
Program ACCT01 Transids: AC01
Program ACCT02 Transids: AC02
Program DFH$AALL Transids: AADD AINQ AUPD AADD AINQ AUPD
Program DFH$ABRW Transids: ABRW ABRW
Program DFH$AMNU Transids: AMNU AMNU
Program DFH$AREN Transids: AORD AORD
Program DFH$ACOM Transids: AORQ AORQ
Program DFH$AREP Transids: AREP AREP
Program DFH$PPKO Transids: PPKO
Program DFH$PPLA Transids: PPLA
Program DFH0CPKO Transids: XPKO |
_________________ New members are encouraged to read the How To Ask Questions The Smart Way FAQ at http://www.catb.org/~esr/faqs/smart-questions.html. |
|
Back to top |
|
|
semigeezer Supermod
Joined: 03 Jan 2003 Posts: 1014 Topics: 13 Location: Atlantis
|
Posted: Fri Aug 07, 2009 3:56 pm Post subject: |
|
|
I just noticed the duplicates for transactions listed in multiple groups, such as the 2 ABRWs in the example.
A minor update thats also a bit more readable: Code: | /* Rexx */
sysin.1 = " LIST ALL OBJECTS"
"ALLOC F(DFHCSD) REU SHR DA('CICSTS41.NQA17C05.DFHCSD')"
"ALLOC F(SYSIN) REU NEW UNIT(VIO) SP(1) TRACK LREC(80) RECF(F)" ,
"DSO(PS) DEL"
"ALLOC F(SYSPRINT) REU NEW UNIT(VIO) LREC(132)",
"RECF(F B A) DSO(PS) DEL SP(15,50) TRACK"
"EXECIO 1 DISKW SYSIN (STEM SYSIN. FINIS"
"CALL 'CICSBLD.V4R1M0.CICS.SDFHLOAD(DFHCSDUP)'"
"EXECIO * DISKR SYSPRINT (STEM SYSPRINT. FINIS"
"FREE F(SYSIN DFHCSD SYSPRINT)"
transactions. = ""
programlist = ""
Do a = 1 to sysprint.0
Parse Var sysprint.a 2 "TRANSACTION(" trans ")" . "PROGRAM(" prog ")"
If trans <> "" & prog <> "" Then
Do
If transactions.prog == "" Then
programlist = programlist prog
If wordpos(trans,transactions.prog)=0 Then
transactions.prog = transactions.prog trans
End
End
Do a = 1 to words(programlist)
prog = word(programlist,a)
Say "Program "left(prog,8) "Transids: "space(transactions.prog)
End |
_________________ New members are encouraged to read the How To Ask Questions The Smart Way FAQ at http://www.catb.org/~esr/faqs/smart-questions.html. |
|
Back to top |
|
|
rajeshkoratti Beginner
Joined: 14 Feb 2006 Posts: 42 Topics: 22
|
Posted: Thu Aug 13, 2009 3:12 am Post subject: |
|
|
Using the DFHCSD file did the trick!!! Thanks a lot Semigeezer (i always wonder what your name means:) ) _________________ Thanks and Regards..
Rajesh |
|
Back to top |
|
|
warp5 Intermediate
Joined: 02 Dec 2002 Posts: 429 Topics: 18 Location: Germany
|
Posted: Mon Aug 17, 2009 1:45 am Post subject: |
|
|
A geezer is usually used for an older person, maybe a little ecentric (ever seen the movie The Odd Couple?). A semi geezer would be a part geezer, another words Semigeezer is getting close to being old. I got a kick out of the name the first time I saw it, and if you have followed the quality and knowledge of Semigeezer's replies you know that he has a lot of valuable experience. |
|
Back to top |
|
|
|
|