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

Rexx Macro - Hiding error screen


IBM Mainframe Forums -> TSO/ISPF
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
gylbharat

Active Member


Joined: 31 Jul 2009
Posts: 565
Location: Bangalore

PostPosted: Wed Jul 20, 2011 1:16 pm
Reply with quote

Hi,

I am trying to do some error handling. I have written the below code

Code:

/* REXX */                                 
"ISREDIT MACRO (N) NOPROCESS"               
ISREDIT "(MX)=LINENUM .ZLAST "             
IF LENGTH(N)=0 THEN N=7                     
ISREDIT "PROCESS RANGE C"                   
ISREDIT "(L)=LINENUM .ZFRANGE "             
ISREDIT "(MX)=LINENUM .ZLRANGE "           
ISREDIT "LABEL "L"=.A "                 
ISREDIT "LABEL "MX"=.B "                 
IF L == MX THEN                             
DO                                         
   ZEDSMSG='BLOCK STATEMENT MISSING'       
   ADDRESS ISPEXEC "SETMSG MSG(ISRZ000)"   
   EXIT                                     
END                                         
ISREDIT "C "N" ' ' '*' ALL .A .B"     
EXIT                                       


The code is working fine but when I enter some wrong parameters like
Code:

Command ===> CMM                     
000067                               
cc0068         01 WS-LITERALS.       
000069            05 WS-SELECT-LIT   
000070            05 WS-UPDATE-LIT   
c00071            05 WS-OPEN-LIT     


It display the below error screen...
Code:

 .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .  .
                           ISPF Edit Macro Error                               
 Command ===>                                                                   
                                                                               
 ******************************************************************************
 *                                                                            *
 * Command in error . : PROCESS RANGE C                                       *
 *                                                                            *
 * Command conflict                                                           *
 * "C" conflicts with a previous "CC" command. Delete one.                    *
 *                                                                            *
 *   Error message ID . : ISRE046                                             *
 *                                                                            *
 *   Last return code . : 16                                                  *
 *                                                                            *
 *   Macro executing  . : CMM                                                 *
 *                                                                            *
 * Press ENTER key to terminate the macro.                                    *
 *                                                                            *
 *                                                                            *
 *                                                                            *
 ******************************************************************************


My question is how can we bypass this error screen?
Back to top
View user's profile Send private message
expat

Global Moderator


Joined: 14 Mar 2007
Posts: 8797
Location: Welsh Wales

PostPosted: Wed Jul 20, 2011 1:29 pm
Reply with quote

Look at ISPEXEC ERRORS

google is your friend
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10873
Location: italy

PostPosted: Wed Jul 20, 2011 2:05 pm
Reply with quote

the manuals will tell all You might want to know about
ISPEXEC "CONTROL ERRORS RETURN"

here for ISPF
publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/Shelves/ISPZPM70
and here for REXX
publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/Shelves/IKJ4BK90

not the latest but more that enough for Your needs
Back to top
View user's profile Send private message
gylbharat

Active Member


Joined: 31 Jul 2009
Posts: 565
Location: Bangalore

PostPosted: Wed Jul 20, 2011 2:43 pm
Reply with quote

Thanks enrico
Back to top
View user's profile Send private message
Pedro

Global Moderator


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

PostPosted: Wed Jul 20, 2011 9:08 pm
Reply with quote

Code:
IF L == MX THEN                             
DO                                         
   ZEDSMSG='BLOCK STATEMENT MISSING'       
   ADDRESS ISPEXEC "SETMSG MSG(ISRZ000)"   
   EXIT                                     
END                                         
ISREDIT "C "N" ' ' '*' ALL .A .B"     


It looks like you detect an error condition, but follow it with your regular processing. I think you are missing an ELSE statement.
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 -> TSO/ISPF

 


Similar Topics
Topic Forum Replies
No new posts Compile Several JCL JOB Through one r... CLIST & REXX 4
No new posts Running REXX through JOB CLIST & REXX 13
No new posts Error to read log with rexx CLIST & REXX 11
No new posts Error when install DB2 DB2 2
No new posts isfline didnt work in rexx at z/OS ve... CLIST & REXX 7
Search our Forums:

Back to Top