Don't know if it helps, but here is a macro that Mark Zelden wrote years ago. I 
have it in my clist library as INCL, so I can just do an INCL <word>


/* REXX */                                                          
/*                           */                                     
/* AUTHOR: MARK ZELDEN       */                                     
/*                           */                                     
/*********************************************************/         
/*  Updated on 01/20/2006 to add "HIDE EXCLUDED" for     */         
/*  z/OS 1.6 (ISPF 5.6) and above.                       */         
/*  Remove if you like to see excluded lines or issue    */         
/*  "RESET HIDE" after you run the macro.                */         
/*********************************************************/         
/* Trace ?R */                                                      
Address ISREDIT                                                     
"MACRO (parm col1 col2)"                                            
 /* Address ISPEXEC "CONTROL ERRORS RETURN"  */                     
  /* check for numeric column numbers      */                       
  If col1 <> '' then do                                             
    If Datatype(col1,Number) <> 1 then do                           
      zedsmsg = 'START COLUMN NOT NUMERIC'                          
      zedlmsg = 'THE STARTING COLUMN FOR THE',                      
                'SEARCH MUST BE NUMERIC.'                           
      Address ISPEXEC "SETMSG MSG(ISRZ001)"  /* msg - with alarm */ 
      Exit 12                                                       
    End                                                             
    If col2 = '' then col2 = col1                                   
  End                                                               
  If col2 <> '' then do                                             
    If Datatype(col2,Number) <> 1 then do                           
      zedsmsg = 'END COLUMN NOT NUMERIC'                            
      zedlmsg = 'THE ENDING COLUMN FOR THE',                        
                'SEARCH MUST BE NUMERIC.'                           
      Address ISPEXEC "SETMSG MSG(ISRZ001)"  /* msg - with alarm */ 
      Exit 12                                                       
    End                                                             
    If col2 < col1 then do                                          
      zedsmsg = 'END COL < START COL'                               
      zedlmsg = 'THE ENDING COLUMN MUST BE GREATER THAN OR',        
                'EQUAL TO THE STARTING COLUMN.'                     
      Address ISPEXEC "SETMSG MSG(ISRZ001)"  /* msg - with alarm */ 
      Exit 12                                                       
    End                                                             
    If Length(Strip(Translate(parm,'','"'''''))) ,                  
      > COL2-COL1+1 then do                                         
      zedsmsg = 'PARM TOO LONG'                                     
      zedlmsg = 'THE STRING WILL NOT FIT BETWEEN THE',              
                'SPECIFIED COLUMNS.'                                
      Address ISPEXEC "SETMSG MSG(ISRZ001)"  /* msg - with alarm */ 
      Exit 12                                                       
    End                                                             
    "(width) = DATA_WIDTH "   /* length of line       */            
    width = Format(width)     /* remove leading zeros */            
    If col1 < 1 | col2 < 1 | col1 > width | col2 > width then do    
      zedsmsg = 'INVALID COLUMN NUMBER'                             
      zedlmsg = 'ALL COLUMN SPECIFICATIONS MUST BE' ,               
                'BETWEEN 1 AND' width                               
      Address ISPEXEC "SETMSG MSG(ISRZ001)"  /* msg - with alarm */ 
      Exit 12                                                       
    End                                                                 
  End                                                                   
parmck = Translate(parm)                                                
If parmck = 'X' | parmck = 'NX' | parmck = '*' ,                        
   | parmck = '/*' then parm = "'" ||parm|| "'"                         
"SEEK "parm col1 col2" FIRST"                                           
   If rc = 0  then do                                                   
      "EXCLUDE ALL"                                                     
      "FIND "parm col1 col2" ALL"                                       
      "SEEK "parm col1 col2" ALL"                                       
      "(count,lines) = SEEK_COUNTS"                                     
       Address ISPEXEC "VGET ZENVIR"                                    
       If Substr(ZENVIR,6,3) >= 5.5 then "HIDE EXCLUDED"                
       count = Format(count)                                            
       lines = Format(lines)                                            
       Upper parm                                                       
       zedsmsg = count' "'parm'" FOUND'                                 
       zedlmsg = 'THE STRING "'parm'" WAS FOUND 'count' TIMES',         
                 'ON 'lines' LINES.'                                    
       Address ISPEXEC "SETMSG MSG(ISRZ000)"  /* msg - no alarm */      
       Exit 0                                                           
   End                                                                  
   Else do                                                              
       Upper parm                                                       
       zedsmsg = 'STRING NOT FOUND'                                     
       zedlmsg = 'THE STRING "'parm'" WAS NOT FOUND IN THE FILE.'       
      "RESET"                                                           
       Address ISPEXEC "SETMSG MSG(ISRZ001)"  /* msg - with alarm */    
       Exit 12                                                          
   End                                                                  




-----Original Message-----
From: IBM Mainframe Discussion List <[email protected]> On Behalf Of 
Seymour J Metz
Sent: Tuesday, February 4, 2025 12:44 PM
To: [email protected]
Subject: [EXTERNAL] Re: Idea received: Provide a negative exclude command for 
EDIT and VIEW

Other than the fact that it breaks the visibility status, nothing. I want to 
exclude the non-matches without making previously excluded lines visible. Or 
are there now PUSH/POP VISIBILITY commands?

--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3  
עַם יִשְׂרָאֵל חַי
נֵ֣צַח יִשְׂרָאֵ֔ל לֹ֥א יְשַׁקֵּ֖ר



________________________________________
From: IBM Mainframe Discussion List <[email protected]> on behalf of 
Farley, Peter <[email protected]>
Sent: Tuesday, February 4, 2025 12:33 PM
To: [email protected]
Subject: Re: Idea received: Provide a negative exclude command for EDIT and VIEW

External Message: Use Caution


Really?  What is so hard about EXCLUDE . . . followed by FLIP?  I use that 
frequently myself.

From: IBM Mainframe Discussion List <[email protected]> On Behalf Of 
Seymour J Metz
Sent: Tuesday, February 4, 2025 12:27 PM
To: [email protected]
Subject: Fw: Idea received: Provide a negative exclude command for EDIT and VIEW


FYI



________________________________________

From: IBM Z Hardware Ideas Portal <[email protected]>

Sent: Tuesday, February 4, 2025 12:24 PM

To: Seymour J Metz

Subject: Idea received: Provide a negative exclude command for EDIT and VIEW



External Message: Use Caution



[IBM Z Hardware and Operating Systems Ideas Portal]

Thank you for submitting your idea: ZOS-I-4413 Provide a negative exclude 
command for EDIT and VIEW



Provide e an NEXCLUDE command similar to FIND and EXCLUDE that excludes all 
lines in the specified range that do not match the specified picture, regex or 
string in the specied columns.



View idea 
<https://ibm-z-hardware-and-operating-systems.ideas.ibm.com/ideas/ZOS-I-4413 
<https://ibm-z-hardware-and-operating-systems.ideas.ibm.com/ideas/ZOS-I-4413 >>



You're receiving notifications because you created this idea.

This message and any attachments are intended only for the use of the addressee 
and may contain information that is privileged and confidential. If the reader 
of the message is not the intended recipient or an authorized representative of 
the intended recipient, you are hereby notified that any dissemination of this 
communication is strictly prohibited. If you have received this communication 
in error, please notify us immediately by e-mail and delete the message and any 
attachments from your system.


----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to