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

Capture CICS CEMT output into DS


IBM Mainframe Forums -> CLIST & REXX
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
elmho01

New User


Joined: 06 May 2013
Posts: 4
Location: SA

PostPosted: Mon May 13, 2013 11:04 am
Reply with quote

Hello,
I try to drive the output of CICS CEMT command into a DS using a console command:

Code:

address tso                                                       

"consprof soldisp(no) solnum(30) unsoldisp(yes) unsolnum(30)"     
"console activate name(CON"SmfId")"                               
/*  ..  console activation check code ... */                         

 "CONSOLE SYSCMD(F CICSTS1A,CEMT I DB2CONN)  CART("Cart")"       

Do 5 until getcode = 0                                           
getcode = getmsg(getmsg.,'SOL',Cart,,40)                         
End                                                               
If Getcode <> 0 Then Do                                           
  "console deactivate"                                           
  Exit Getcode                                                   
End 

/*  ..  Drive the output to DS code ... */


But the output shows up the first section till 2nd '+' plus sign, and not the rest of the messages.

SAMPLE:


Code:

+                       
  Db2conn               
  Accountrec( Task )     
  Authid(          )     
  Authtype( Sign )       
  Comauthid(          ) 
  Comauthtype( Csign )   
  Comthreadlim( 0001 )   
  Comthreads(0000)       
  Connecterror( Abend )



Do I miss something in my code to abstract the full multi message output???
Thanks in advance.
Back to top
View user's profile Send private message
Pedro

Global Moderator


Joined: 01 Sep 2006
Posts: 2546
Location: Silicon Valley

PostPosted: Mon May 13, 2013 6:55 pm
Reply with quote

Code:
/*  ..  Drive the output to DS code ... */


You need to show us the details of that.
Back to top
View user's profile Send private message
elmho01

New User


Joined: 06 May 2013
Posts: 4
Location: SA

PostPosted: Tue May 14, 2013 12:30 pm
Reply with quote

Hi Pedro,
I appreciate your concern.
The code for
/* .. Drive the output to DS code ... */
is

Code:

X = SYSDSN('SYS4.TEMPIPL')                                           
IF X = "OK" Then Do                                                   
  "ALLOC DD(ATLJCL) DSNAME('SYS4.TEMPIPL') OLD"                       
End                                                                   
Else Do                                                               
  "ALLOC DD(ATLJCL) UNIT(SYSDA) SPACE(2) LRECL(80) RECFM(F B) REUS   
         DSNAME('SYS4.TEMPIPL') BLKSIZE(27920) DSORG(PS)"             
End            /* X <> 0                   */                         
                                                                     
"EXECIO * DISKW ATLJCL (FINIS STEM GetMsg."                           
"FREE DD(ATLJCL)"                                                     


THANKS
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10872
Location: italy

PostPosted: Tue May 14, 2013 12:39 pm
Reply with quote

read here why using
EXECIO * DISKW is a bad practice
www.ibmmainframes.com/viewtopic.php?t=60269&highlight=execio
Back to top
View user's profile Send private message
elmho01

New User


Joined: 06 May 2013
Posts: 4
Location: SA

PostPosted: Wed May 15, 2013 4:20 pm
Reply with quote

Thanks Enrico for update..
But this wouldn't resolve the main issue to capture the whole message output.
Thanks
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10872
Location: italy

PostPosted: Wed May 15, 2013 5:12 pm
Reply with quote

You did not tell what You tried ...

show the content of
Code:
GetMsg.0


and if there is a mismatch with the lines written You will understand the why of my suggestion

instead of
Code:
"EXECIO * DISKW ....."

wiser to use
Code:
"EXECIO" GetMsg.0 "DISKW....."
Back to top
View user's profile Send private message
elmho01

New User


Joined: 06 May 2013
Posts: 4
Location: SA

PostPosted: Sat May 18, 2013 10:42 am
Reply with quote

Thanks Enrico for update..

As I enable the TRACE:
Code:

"EXECIO" GetMsg.0 "DISKW ATLJCL ( STEM GetMsg."       
    >>>   "EXECIO 10 DISKW ATLJCL ( STEM GetMsg."             
 
 "FREE DD(ATLJCL)"                                     
    >>>   "FREE DD(ATLJCL)"                                   
56861I  FILE ATLJCL NOT FREED, DATA SET IS OPEN               
    +++ RC(12) +++                                             


WHY it's picking up only 10 messages.
Thanks
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10872
Location: italy

PostPosted: Sat May 18, 2013 11:26 am
Reply with quote

Quote:
WHY it's picking up only 10 messages.


because that' s all You got back !

<stem>.0 contains the number of <message> lines returned

how many lines do You get when You issue the modify from the console

try also with something like
"CONSPROF SOLDISP(NO) SOLNUM(9999) UNSOLDISP(NO) UNSOLNUM(999) "

I do not remember if the output from a modify is a SOLICITED or an UNSOLICITED message
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 -> CLIST & REXX

 


Similar Topics
Topic Forum Replies
No new posts Using API Gateway from CICS program CICS 0
No new posts Sortjoin and Search for a String and ... DFSORT/ICETOOL 1
No new posts Calling an Open C library function in... CICS 1
No new posts How to 'Ping' a CICS region in JCL CICS 2
No new posts Parallelization in CICS to reduce res... CICS 4
Search our Forums:

Back to Top