I wonder why I didn't get the original request.

I'm going to be THAT GUY who responds by not answering your question, and 
instead point out that there are way more efficient ways to do this than by 
starting up ISPF once per member. For example, you can start ISPF once with an 
exec that opens the library once, then iterates through the members. If you 
only want to process specific members, you can still have the list in a file 
that you read, then process each one. Starting up ISPF is slow, and so it 
opening and closing the PDS once per member.

For example:

1. LMINIT ENQ(SHRW) to generate a data id for the library
2. LMOPEN to open for output
3. LMMLIST LIST STATS(YES) to create a list of the members, with statistics
   While LMMLIST rc = 0
      If ZLCNORC = 0
         LMPUT to write your NONE line
      LMMLIST again
4. LMMLIST FREE
5. LMCLOSE
6. LMFREE

-----Original Message-----
From: IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU> On Behalf Of 
Mark Zelden
Sent: Tuesday, January 9, 2024 4:54 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: EDIT MACRO REQUEST

On Tue, 9 Jan 2024 22:41:50 +0000, Steely.Mark <steely.m...@ace.aaa.com> wrote:

>I would like to check each member of a PDS and if it is empty (0 Lines) - I 
>would like to add a line with the text of *NONE*.
>
>I would like to do this in batch using this format:
>
>//TSOBTCH1  EXEC PGM=IKJEFT01
>//SYSTSPRT  DD SYSOUT=*
>//SYSLIST   DD SYSOUT=*
>//ISPLOG    DD DSN=&ISPLOG,
>//             DISP=(NEW,PASS),UNIT=SYSALLDA,SPACE=(CYL,(1,1,10)),
>//             DCB=(RECFM=FB,BLKSIZE=3120,LRECL=80)
>//ISPPROF   DD DSN=&ISPPROF,
>//             DISP=(NEW,PASS),UNIT=SYSALLDA,SPACE=(CYL,(1,1,10)),
>//             DCB=(RECFM=FB,BLKSIZE=3120,LRECL=80)
>//ISPMLIB   DD DSN=ISP.SISPMENU,DISP=SHR
>//ISPPLIB   DD DSN=ISP.SISPPENU,DISP=SHR
>//ISPSLIB   DD DSN=ISP.SISPSENU,DISP=SHR
>//ISPTLIB   DD DSN=ISP.SISPTENU,DISP=SHR
>//ISPTABL   DD DSN=XXXXXX.ISPF.ISPTLIB,DISP=SHR
>//SYSPROC   DD DSN=XXXXXX.CLIST,DISP=SHR
>//SYSTSIN   DD *
>  PROFILE PREFIX(XXXXXX)
>  ISPSTART CMD(%EDITREXX XXXXXX.TSS.CTM.DATA(PADM3) EMPTREXX)
>  ISPSTART CMD(%EDITREXX XXXXXX.TSS.CTM.DATA(PPCT3) EMPTREXX)
>  ISPSTART CMD(%EDITREXX XXXXXX.TSS.CTM.DATA(PCO13) EMPTREXX)
> Etc......
>
>EMPTREXX -  would be the ISREDIT Macro to perform the task.
>
>Any help would be appreciated.
>
>Thank You

Not sure what part you need help with.  Probably the EMPTREXX,  which I will 
leave to
someone else to help you with as I don't have time, but if you need help with
the "EDITREXX" part, see "EDMACALL" on my web site / CBT file 434.  URL
of my web site below.  The source code has a simple example of an
edit macro.


Regards,

Mark
--
Mark Zelden - Zelden Consulting Services - z/OS, OS/390 and MVS
ITIL v3 Foundation Certified
mailto:m...@mzelden.com
Mark's MVS Utilities: http://www.mzelden.com/mvsutil.html

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

----------------------------------------------------------------------
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