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 <[email protected]> On Behalf Of
Mark Zelden
Sent: Tuesday, January 9, 2024 4:54 PM
To: [email protected]
Subject: Re: EDIT MACRO REQUEST
On Tue, 9 Jan 2024 22:41:50 +0000, Steely.Mark <[email protected]> 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:[email protected]
Mark's MVS Utilities: http://www.mzelden.com/mvsutil.html
----------------------------------------------------------------------
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