ALLMEM source:

/* REXX */
/*--------------------------------------------------------------------*/
/*                                                                    */
/* Routine to run the edit macro ALL      against all members of a    */
/* library.                                                           */
/*                                                                    */
/* COMPONENTS                                                         */
/* 1.  REXX routine 'ALLMEM'                                          */
/* 2.  REXX routine 'ALL     '                                        */
/*                                                                    */
/*--------------------------------------------------------------------*/
  address "TSO"
  Arg PARMSTR
  Parse value PARMSTR with PARM1 LEFTOVER
  'ISPEXEC VGET (ZUSER ZTIME ZDATE)'
  if PARM1 \= '' then LDSN = PARM1
  else
    do
      Say 'Parameter missing. Expecting a PDS name'
      exit
    end
  LDSN = strip(LDSN,,"'")
  say LDSN
  X = OUTTRAP("LCAT.")
  "LISTDS '" || LDSN ||"' MEMBERS"
  X = OUTTRAP("OFF")
  N = 1
  STARTMEM = 'N'
  RLC = 0
  Say "Enter Edit macro to run "
  Pull macname
  x =,
  "ADDRESS 'ISPEXEC' 'EDIT DATASET('''LDSNM''') MACRO(",
   macname")'"
  do A=1 to LCAT.0
    if STARTMEM = 'Y' then
      do
        MEMBER = strip(LCAT.N,B,' ')
        say MEMBER
        LDSNM = LDSN'('MEMBER')'
      INTERPRET x
      end
    if LCAT.N = '--MEMBERS--' then STARTMEM = 'Y'
    N = N + 1
    if LCAT.N = '#END#' then RLC = 99
  end
Return

And the EDIT macro, for example ALL

/* REXX */
ADDRESS "ISREDIT"
ADDRESS 'ISPEXEC' 'CONTROL ERRORS RETURN'
"MACRO (PARM) NOPROCESS"
"C ALL P'=' ' '  73 80                         "

In this example I use the Picture notation P'='  so anything in cc73-80 is
matched and set to spaces.

PDS with 3 numbered members:

Command - Enter "/" to select action
-------------------------------------
allmem   BDB204.PDS

BDB204.PDS
Enter Edit macro to run

ALL

ALL
A
B
C
***







"END"


On Wed, Jan 13, 2021 at 6:43 PM Wayne Bickerdike <wayn...@gmail.com> wrote:

> I have a REXX called ALLMEM, it gets the member list and calls an edit
> macro.
>
> I usually run it from 3.4. I'll post it here when I get my system going.
>
> On Wed, Jan 13, 2021 at 5:00 AM Paul Gilmartin <
> 0000000433f07816-dmarc-requ...@listserv.ua.edu> wrote:
>
>> On Tue, 12 Jan 2021 13:46:07 -0400, Clark Morris wrote:
>> >>
>> >>And a general note: when using ISPF edit to remove sequence numbers
>> from a
>> >>(large) number of (large) members, you might need to cater for the fact
>> that a
>> >>PDS might need to be compressed at some stage in the middle of your
>> processing!
>> >
>> >Use of update in place should work if all that is being done is
>> >sequence number stripping since the size of the member does not
>> >change.
>> >
>> Does ISPF Edit update in place, even optionally?  I think PDS usually
>> creates a new member.
>>
>> -- gil
>>
>> ----------------------------------------------------------------------
>> For IBM-MAIN subscribe / signoff / archive access instructions,
>> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>>
>
>
> --
> Wayne V. Bickerdike
>
>

-- 
Wayne V. Bickerdike

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

Reply via email to