Re: Read a PDS (all members) like PS dataset

2016-06-16 Thread Edward Gould
> On Jun 15, 2016, at 1:30 AM, Bill Woodger  wrote:
> 
> Perhaps SAS calls IEBPTPCH "under the covers"?
> 
> Don't "buy" SAS just to do this...
> 
> -

But it hurts when I do that:)

Ed

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


Re: Read a PDS (all members) like PS dataset

2016-06-15 Thread Edward Gould
Peter:

No sure if this is what you want but again try the CBTTAPE. There is a utility 
to unload a PDS to PS (with and without IEBUPDTE cards. It still works after 
20+ years and it still works on PDSE’s.

Ed

> On Jun 14, 2016, at 12:30 PM, Peter Ten Eyck  
> wrote:
> 
> Any suggestions on how to read though a PDS (all members) like PS dataset. 
> Example, read via a program the trough a PDS finding every called or linked 
> program statement without regard to PDS member name.
> 
> --
> 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


Re: Read a PDS (all members) like PS dataset

2016-06-15 Thread CM Poncelet

Yes, I had overlooked that BLDL requires a member name.

My comments were based on the following, written some 25+ years ago:

PDSRENMB CSECT START CONTROL SECTION
3300
*   
3400
*** 
3500
** MACROS * 
3600
*   
3700
MACRO  
3800
   READREC   
3900
   GET  READ  RECORD
4000
MVC   INPUT(80),0(R1) MOVE FROM BUFFER TO INPUT AREA   
4100
MEND   
4200
*   
4300
MACRO  
4400
   WRITEREC   
4500
   PUT   REPORTS,OUTPUT  OUTPUT REPORT RECORD 
4600
MEND   
4700
*   
4800
*** END OF MACROS * 
4900
*** 
5000
*   
5100
**  
5200
*** INITIAL PROCESSING ***  
5300
**  
5400
*   
5500
NAMEOFT  EQU   NAME-*   
5600
TTROFT   EQU   TTR-*
5700
NEWNAMEOFT EQU N_NAME-* 
5800
KOFT EQU   K-*  
5900
COFT EQU   C-*  
6000
INPUTOFT EQU   INPUT-*  
6100
*   
6200
BEGINSTM   R14,R12,12(R13) SAVE REGISTERS 14->12 TO OFFSET 12   
6300
LRR11,R15 LOAD ENTRY POINT LOCATION INTO R11   
6400
USING PDSRENMB,R11DEFINE R11 AS BASE REGISTER  
6500
STR13,SAVEBLK+8   SAVEAREA BACKWARD POINTER
6600
LRR6,R13   
6700
LAR13,SAVEBLK  
6800
STR13,4(,R6)  SAVEAREA FORWARD POINTER 
6900
*   
7000
*** 
7100
 START OF PROGRAM CODE PROPER * 
7200
*** 
7300
*   
7400
OPEN  (SYSIN,(INPUT))  
7500
L R4,=F'64'   FOR COUNTING ¬> 64 CARDS 
7600
LAR9,0(,R11)  FOR INDEXING MEMBER NAMES + BASE 
7700
S R9,=F'14'
7800
LAR10,0(,R11) FOR INDEXING NEWNAMES + BASE 
7900
S R10,=F'8'
8000
*   
8100
* DO UNTIL THERE ARE NO MORE SYSIN RECORDS  
8200
*   
8300
NEXT READREC SYSIN  
8400
LAR5,0(,R11)  USE R5 AS PSEUDO BASE REG
8500
LAR6,1USE R6 AS INDEX INCREMENT
8600
*   
8700
*  'MEMBER=' = 7
8800
*  ',' = 1  
8900
*  'NEWNAME=' = 8   
9000
*   = 1 MIN 
9100
*   = 1 MIN
9200
* 

Re: Read a PDS (all members) like PS dataset

2016-06-15 Thread Itschak Mugzach
Pnina,

Consider zapping the dataset entry (fmt1dscb)  in the vtoc (or, if you are
a CA client and has DMS, use DMS utility described in SPL). If you need
instruction how to zap, please tell.

Best,
ITschak

ITschak Mugzach
Z/OS, ISV Products and Application Security & Risk Assessments Professional

On Wed, Jun 15, 2016 at 12:38 PM, פנינה קוניגסברג <penin...@education.gov.il
> wrote:

> Thanks for the amazingly rapid reply.
>
> A little bit more info : the original dcb was lrecl=80, blksize=27290,
> recfm=fb dsorg=po.
> The file as modified by IDCAMS is lrecl=125, blksize
> =27920,recfm=vba,dsorg=po
>
> Built 2 sequential  output files, each with the dcb paramaters of before &
> after
> When writing to the seq lrecl 80 file received IEB311I CONFLICTING DCB
> PARAMETERS
> when writing to the lrecl 125 received  IEB351I I/O ERROR ,XXX,
> ,138C,D,SYSUT1  ,READ  ,WRNG.LEN.RECORD,251700,BSAM
>
> BTW, there was one crucial member that I reconstructed using DITTO VOLUME
> BROWSE and copy/paste . but I don't see myself doing that for 150 members -
>
>
> .
>
> -Original Message-
> From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
> Behalf Of Clifford McNeill
> Sent: Wednesday, June 15, 2016 6:49 PM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: Read a PDS (all members) like PS dataset
>
> You could try to open, write, and close the PDS with the original LRECL
> and BLKSIZE, IEBGENER will do fine.  Then you should be able to recover the
> previous members.  Of course, get a backup first.
>
> Cliff McNeill
>
>
> 
> From: IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU> on behalf
> of ? ????????? <penin...@education.gov.il>
> Sent: Wednesday, June 15, 2016 10:39 AM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: Read a PDS (all members) like PS dataset
>
> Always interesting, I am dealing this week  with an error that I hoped
> would be solved by the different solutions presented here, but after trying
> some of the solutions presented herein have not recovered.
> Background: In preparation for a system cutover, executed IDCAMS LISTC
> with SYSPRINT to a PDS file containing very important cutover data.
> (thought that was an efficient method of documentation   :)   - the laugh
> is on me).
> The original file was a typical jcl type (80 lrecl) after running the
> LISTC and updating the results, the PDS members which existed prior to the
> LISTC job execution were unreadable - IO ERROR.   Since the disk was a
> 'sandbox' type disk, it wasn't backed up nor dumped.  I have been trying
> various recovery methods - many of them as advised on this discussion list
> to not avail. Any ideas ?  Would it be preferable for me to  specify the
> actions I already did to try to recover the file?
>
> .
>
> -Original Message-----
> From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
> Behalf Of CM Poncelet
> Sent: Wednesday, June 15, 2016 8:53 AM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: Read a PDS (all members) like PS dataset
>
> Yes it works, although I used it with the STOW macro (afterwards) to
> modify/update PDS directories. Use the List/Execute forms of the DCB
> Macro/DSECT if it is to be modified (in getmained storage).
>
> The FIND macro can then be used to locate the start of each PDS member
> returned by the BLDL. From there, read each PDS member in turn (some
> Open/Read/Closes might be needed).
>
> BTW My correction: IEBUPDTE can write (but not read, AFAIK) a PS dataset
> to a PDS. But IEBCOPY can read a PDS and write it to a PS - and vice versa.
>
> Paul Gilmartin wrote:
>
> >On Wed, 15 Jun 2016 04:14:04 +0100, CM Poncelet wrote:
> >
> >
> >>I would suggest writing some assembler code that invokes the BLDL
> >>macro to read the PDS directory, ...
> >>
> >>
> >>
> >Does that work?
> >
> >-- gil
> >
> >--
> >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
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions, send email
> to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>
> 

Re: Read a PDS (all members) like PS dataset

2016-06-15 Thread Paul Gilmartin
On Wed, 15 Jun 2016 10:15:56 -0700, retired mainframer wrote:
>
>Create two new PDSes.  One with the original DCB attributes of the broken 
>dataset.  The second with the new DCB attributes of that dataset.
> 
Make backups; work with copies.
Will HBACKDS/HRESTORE RENAME deal with inconsistent member attributes?

>Run IEBCOPY to copy only the new member(s) produced by LISTC to the second 
>dataset.  (Use the SELECT control card.)  The DD cards for this job should not 
>specify DCB information for either PDS.
> 
>Run a second IEBCOPY to copy only the original members created before you ran 
>the first LISTC operation.  (Use the EXCLUDE command.)  On the DD statement 
>pointing to the broken dataset, specify LRECL=80, RECFM=FB, and BLKSIZE=32760. 
> (For disk datasets, a BLKSIZE greater than the longest block is not a 
>problem.)  IEBCOPY will reblock the records to match the BLKSIZE specified 
>when the output dataset was created.
>
JCL may insist that BLKSIZE be a multiple of LRECL.

Will IEBCOPY insist on using the DSCB attributes of SYSUT1, copying to SYSUT2?

Ugh!  DFSMS should *never* allow changing the attributes of an existing 
nonempty data set.
DFSMS should *almost*never* allow overwriting the directory when DSORG=PO.  (If 
the
programmer explicitly overrides to DSORG=PS, programmer's gun; programmer's 
foot.)

-- gil

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


Re: Read a PDS (all members) like PS dataset

2016-06-15 Thread retired mainframer
> -Original Message-
> From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
> Behalf Of Paul Gilmartin
> Sent: Wednesday, June 15, 2016 9:52 AM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: Read a PDS (all members) like PS dataset
> 
> On Wed, 15 Jun 2016 15:39:01 +, פנינה קוניגסברג wrote:
> 
> >Always interesting, I am dealing this week  with an error that I hoped would 
> >be solved by
> the different solutions presented here, but after trying some of the 
> solutions presented
> herein have not recovered.
> >Background: In preparation for a system cutover, executed IDCAMS LISTC with
> SYSPRINT to a PDS file containing very important cutover data. (thought that 
> was an
> efficient method of documentation   :)   - the laugh is on me).
> >The original file was a typical jcl type (80 lrecl) after running the LISTC 
> >and updating the
> results, the PDS members which existed prior to the LISTC job execution were 
> unreadable -
> IO ERROR.   Since the disk was a 'sandbox' type disk, it wasn't backed up nor 
> dumped.  I
> have been trying various recovery methods - many of them as advised on this 
> discussion list
> to not avail. Any ideas ?  Would it be preferable for me to  specify the 
> actions I already did
> to try to recover the file?
> >
> If you allocate the PDS with the original RECFM=FB,LRECL=80,BLKSIZE=? you
> should be able to
> read the older members correctly and the member(s) created as IDCAMS SYSPRINT 
> will
> receive I/O
> errors.

Gil's recommendation is a better plan than trying to restore the DCB of the 
broken dataset back to its original condition.  There is no reason to run the 
risk of damaging the dataset further.

Create two new PDSes.  One with the original DCB attributes of the broken 
dataset.  The second with the new DCB attributes of that dataset.

Run IEBCOPY to copy only the new member(s) produced by LISTC to the second 
dataset.  (Use the SELECT control card.)  The DD cards for this job should not 
specify DCB information for either PDS.

Run a second IEBCOPY to copy only the original members created before you ran 
the first LISTC operation.  (Use the EXCLUDE command.)  On the DD statement 
pointing to the broken dataset, specify LRECL=80, RECFM=FB, and BLKSIZE=32760.  
(For disk datasets, a BLKSIZE greater than the longest block is not a problem.) 
 IEBCOPY will reblock the records to match the BLKSIZE specified when the 
output dataset was created.

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


Re: Read a PDS (all members) like PS dataset

2016-06-15 Thread Paul Gilmartin
On Wed, 15 Jun 2016 15:39:01 +, פנינה קוניגסברג wrote:

>Always interesting, I am dealing this week  with an error that I hoped would 
>be solved by the different solutions presented here, but after trying some of 
>the solutions presented herein have not recovered. 
>Background: In preparation for a system cutover, executed IDCAMS LISTC with 
>SYSPRINT to a PDS file containing very important cutover data. (thought that 
>was an efficient method of documentation   :)   - the laugh is on me).
>The original file was a typical jcl type (80 lrecl) after running the LISTC 
>and updating the results, the PDS members which existed prior to the LISTC job 
>execution were unreadable - IO ERROR.   Since the disk was a 'sandbox' type 
>disk, it wasn't backed up nor dumped.  I have been trying various recovery 
>methods - many of them as advised on this discussion list to not avail. Any 
>ideas ?  Would it be preferable for me to  specify the actions I already did 
>to try to recover the file? 
> 
If you allocate the PDS with the original RECFM=FB,LRECL=80,BLKSIZE=? you 
should be able to
read the older members correctly and the member(s) created as IDCAMS SYSPRINT 
will receive I/O
errors.

That's why I use UNIX files wnenever possible: none of this attributes 
mickeymouse.

DFSMS should *never* permit changing the attributes of an existing nonempty 
data set.
Bad design.

-- gil

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


Re: Read a PDS (all members) like PS dataset

2016-06-15 Thread פנינה קוניגסברג
Thanks for the amazingly rapid reply.

A little bit more info : the original dcb was lrecl=80, blksize=27290, recfm=fb 
dsorg=po. 
The file as modified by IDCAMS is lrecl=125, blksize =27920,recfm=vba,dsorg=po

Built 2 sequential  output files, each with the dcb paramaters of before & 
after   
When writing to the seq lrecl 80 file received IEB311I CONFLICTING DCB 
PARAMETERS 
when writing to the lrecl 125 received  IEB351I I/O ERROR ,XXX,
,138C,D,SYSUT1  ,READ  ,WRNG.LEN.RECORD,251700,BSAM

BTW, there was one crucial member that I reconstructed using DITTO VOLUME 
BROWSE and copy/paste . but I don't see myself doing that for 150 members - 


.

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Clifford McNeill
Sent: Wednesday, June 15, 2016 6:49 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Read a PDS (all members) like PS dataset

You could try to open, write, and close the PDS with the original LRECL and 
BLKSIZE, IEBGENER will do fine.  Then you should be able to recover the 
previous members.  Of course, get a backup first.

Cliff McNeill



From: IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU> on behalf of 
? ? <penin...@education.gov.il>
Sent: Wednesday, June 15, 2016 10:39 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Read a PDS (all members) like PS dataset

Always interesting, I am dealing this week  with an error that I hoped would be 
solved by the different solutions presented here, but after trying some of the 
solutions presented herein have not recovered.
Background: In preparation for a system cutover, executed IDCAMS LISTC with 
SYSPRINT to a PDS file containing very important cutover data. (thought that 
was an efficient method of documentation   :)   - the laugh is on me).
The original file was a typical jcl type (80 lrecl) after running the LISTC and 
updating the results, the PDS members which existed prior to the LISTC job 
execution were unreadable - IO ERROR.   Since the disk was a 'sandbox' type 
disk, it wasn't backed up nor dumped.  I have been trying various recovery 
methods - many of them as advised on this discussion list to not avail. Any 
ideas ?  Would it be preferable for me to  specify the actions I already did to 
try to recover the file?

.

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of CM Poncelet
Sent: Wednesday, June 15, 2016 8:53 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Read a PDS (all members) like PS dataset

Yes it works, although I used it with the STOW macro (afterwards) to 
modify/update PDS directories. Use the List/Execute forms of the DCB 
Macro/DSECT if it is to be modified (in getmained storage).

The FIND macro can then be used to locate the start of each PDS member returned 
by the BLDL. From there, read each PDS member in turn (some Open/Read/Closes 
might be needed).

BTW My correction: IEBUPDTE can write (but not read, AFAIK) a PS dataset to a 
PDS. But IEBCOPY can read a PDS and write it to a PS - and vice versa.

Paul Gilmartin wrote:

>On Wed, 15 Jun 2016 04:14:04 +0100, CM Poncelet wrote:
>
>
>>I would suggest writing some assembler code that invokes the BLDL 
>>macro to read the PDS directory, ...
>>
>>
>>
>Does that work?
>
>-- gil
>
>--
>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

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

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


Re: Read a PDS (all members) like PS dataset

2016-06-15 Thread Clifford McNeill
You could try to open, write, and close the PDS with the original LRECL and 
BLKSIZE, IEBGENER will do fine.  Then you should be able to recover the 
previous members.  Of course, get a backup first.

Cliff McNeill



From: IBM Mainframe Discussion List <IBM-MAIN@LISTSERV.UA.EDU> on behalf of 
? ? <penin...@education.gov.il>
Sent: Wednesday, June 15, 2016 10:39 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Read a PDS (all members) like PS dataset

Always interesting, I am dealing this week  with an error that I hoped would be 
solved by the different solutions presented here, but after trying some of the 
solutions presented herein have not recovered.
Background: In preparation for a system cutover, executed IDCAMS LISTC with 
SYSPRINT to a PDS file containing very important cutover data. (thought that 
was an efficient method of documentation   :)   - the laugh is on me).
The original file was a typical jcl type (80 lrecl) after running the LISTC and 
updating the results, the PDS members which existed prior to the LISTC job 
execution were unreadable - IO ERROR.   Since the disk was a 'sandbox' type 
disk, it wasn't backed up nor dumped.  I have been trying various recovery 
methods - many of them as advised on this discussion list to not avail. Any 
ideas ?  Would it be preferable for me to  specify the actions I already did to 
try to recover the file?

.

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of CM Poncelet
Sent: Wednesday, June 15, 2016 8:53 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Read a PDS (all members) like PS dataset

Yes it works, although I used it with the STOW macro (afterwards) to 
modify/update PDS directories. Use the List/Execute forms of the DCB 
Macro/DSECT if it is to be modified (in getmained storage).

The FIND macro can then be used to locate the start of each PDS member returned 
by the BLDL. From there, read each PDS member in turn (some Open/Read/Closes 
might be needed).

BTW My correction: IEBUPDTE can write (but not read, AFAIK) a PS dataset to a 
PDS. But IEBCOPY can read a PDS and write it to a PS - and vice versa.

Paul Gilmartin wrote:

>On Wed, 15 Jun 2016 04:14:04 +0100, CM Poncelet wrote:
>
>
>>I would suggest writing some assembler code that invokes the BLDL
>>macro to read the PDS directory, ...
>>
>>
>>
>Does that work?
>
>-- gil
>
>--
>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

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


Re: Read a PDS (all members) like PS dataset

2016-06-15 Thread פנינה קוניגסברג
Always interesting, I am dealing this week  with an error that I hoped would be 
solved by the different solutions presented here, but after trying some of the 
solutions presented herein have not recovered. 
Background: In preparation for a system cutover, executed IDCAMS LISTC with 
SYSPRINT to a PDS file containing very important cutover data. (thought that 
was an efficient method of documentation   :)   - the laugh is on me).
The original file was a typical jcl type (80 lrecl) after running the LISTC and 
updating the results, the PDS members which existed prior to the LISTC job 
execution were unreadable - IO ERROR.   Since the disk was a 'sandbox' type 
disk, it wasn't backed up nor dumped.  I have been trying various recovery 
methods - many of them as advised on this discussion list to not avail. Any 
ideas ?  Would it be preferable for me to  specify the actions I already did to 
try to recover the file? 

.

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of CM Poncelet
Sent: Wednesday, June 15, 2016 8:53 AM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Read a PDS (all members) like PS dataset

Yes it works, although I used it with the STOW macro (afterwards) to 
modify/update PDS directories. Use the List/Execute forms of the DCB 
Macro/DSECT if it is to be modified (in getmained storage).

The FIND macro can then be used to locate the start of each PDS member returned 
by the BLDL. From there, read each PDS member in turn (some Open/Read/Closes 
might be needed).

BTW My correction: IEBUPDTE can write (but not read, AFAIK) a PS dataset to a 
PDS. But IEBCOPY can read a PDS and write it to a PS - and vice versa.

Paul Gilmartin wrote:

>On Wed, 15 Jun 2016 04:14:04 +0100, CM Poncelet wrote:
>  
>
>>I would suggest writing some assembler code that invokes the BLDL 
>>macro to read the PDS directory, ...
>>
>>
>>
>Does that work?
>
>-- gil
>
>--
>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

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


Re: Read a PDS (all members) like PS dataset

2016-06-15 Thread Tim Deller
It sounds like you just want to scan a PDS. 
You can do that with a program that is part of ISPF.

//SCAN1 EXEC PGM=ISRSUPC,PARM='L SRCHCMP CKPACKL ANYC'
//OUTDD DD SYSOUT=*   
//NEWDD DD DISP=SHR,DSN=SOME.SOURCE.PDS 
 SRCHFOR 'RANGE'  
 SRCHFOR 'STRING3'
 SRCHFOR 'SOMETHING ELSE'

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


Re: Read a PDS (all members) like PS dataset

2016-06-15 Thread Walt Farrell
On Tue, 14 Jun 2016 23:18:37 -0500, Paul Gilmartin  wrote:

>On Wed, 15 Jun 2016 04:14:04 +0100, CM Poncelet wrote:
>>
>>I would suggest writing some assembler code that invokes the BLDL macro
>>to read the PDS directory, ...
>> 
>Does that work?

No, it doesn't. BLDL requires that you already know the member name.

-- 
Walt

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


Re: Read a PDS (all members) like PS dataset

2016-06-15 Thread Vernooij, CP (ITOPT1) - KLM
If you have SAS, you can use PROC SOURCE to unload a PDS to a PS dataset with 
separators between members specifying the membername.

Kees.

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Peter Ten Eyck
Sent: 14 June, 2016 19:31
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Read a PDS (all members) like PS dataset

Any suggestions on how to read though a PDS (all members) like PS dataset. 
Example, read via a program the trough a PDS finding every called or linked 
program statement without regard to PDS member name.

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

For information, services and offers, please visit our web site: 
http://www.klm.com. This e-mail and any attachment may contain confidential and 
privileged material intended for the addressee only. If you are not the 
addressee, you are notified that no part of the e-mail or any attachment may be 
disclosed, copied or distributed, and that any other action related to this 
e-mail or attachment is strictly prohibited, and may be unlawful. If you have 
received this e-mail by error, please notify the sender immediately by return 
e-mail, and delete this message. 

Koninklijke Luchtvaart Maatschappij NV (KLM), its subsidiaries and/or its 
employees shall not be liable for the incorrect or incomplete transmission of 
this e-mail or any attachments, nor responsible for any delay in receipt. 
Koninklijke Luchtvaart Maatschappij N.V. (also known as KLM Royal Dutch 
Airlines) is registered in Amstelveen, The Netherlands, with registered number 
33014286




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


Re: Read a PDS (all members) like PS dataset

2016-06-14 Thread CM Poncelet
Yes it works, although I used it with the STOW macro (afterwards) to 
modify/update PDS directories. Use the List/Execute forms of the DCB 
Macro/DSECT if it is to be modified (in getmained storage).


The FIND macro can then be used to locate the start of each PDS member 
returned by the BLDL. From there, read each PDS member in turn (some 
Open/Read/Closes might be needed).


BTW My correction: IEBUPDTE can write (but not read, AFAIK) a PS dataset 
to a PDS. But IEBCOPY can read a PDS and write it to a PS - and vice versa.


Paul Gilmartin wrote:


On Wed, 15 Jun 2016 04:14:04 +0100, CM Poncelet wrote:
 


I would suggest writing some assembler code that invokes the BLDL macro
to read the PDS directory, ...

   


Does that work?

-- gil

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


Re: Read a PDS (all members) like PS dataset

2016-06-14 Thread Paul Gilmartin
On Wed, 15 Jun 2016 04:14:04 +0100, CM Poncelet wrote:
>
>I would suggest writing some assembler code that invokes the BLDL macro
>to read the PDS directory, ...
> 
Does that work?

-- gil

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


Re: Read a PDS (all members) like PS dataset

2016-06-14 Thread CM Poncelet
Use IEBPTCH or IEBUPDTE. Both can process all members of a PDS - 
although I believe both can read/process only LRECL=80 (but you could 
zap them to change that).


I would suggest writing some assembler code that invokes the BLDL macro 
to read the PDS directory, and then read/process each PDS member in 
turn. This could deal with all 'circumstances'.


CP (retired sysprog)


Paul Gilmartin wrote:


On Tue, 14 Jun 2016 12:47:24 -0500, Bill Woodger wrote:

 


IEBPTPCH. Flattens a PDS to a sequential dataset and handily indicates where 
members start/end with name. Can even update/create new output and get it back 
into a PDS.

   


Does it deal nicely with a PDS that may contain members which
are themselves IEBPTPCH JCL with instream data by somehow
protecting images of IEBPTPCH comands?

Has it any restrictions on RECFM/LRECL?

-- gil

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


Re: Read a PDS (all members) like PS dataset

2016-06-14 Thread Paul Gilmartin
On Tue, 14 Jun 2016 12:47:24 -0500, Bill Woodger wrote:

>IEBPTPCH. Flattens a PDS to a sequential dataset and handily indicates where 
>members start/end with name. Can even update/create new output and get it back 
>into a PDS.
>
Does it deal nicely with a PDS that may contain members which
are themselves IEBPTPCH JCL with instream data by somehow
protecting images of IEBPTPCH comands?

Has it any restrictions on RECFM/LRECL?

-- gil

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


Re: Read a PDS (all members) like PS dataset

2016-06-14 Thread Robert Prins

On 2016-06-14 17:30, Peter Ten Eyck wrote:

Any suggestions on how to read though a PDS (all members) like PS dataset.
Example, read via a program the trough a PDS finding every called or linked
program statement without regard to PDS member name.


You could try adapting 
 
- my own hardly worth to mention change doesn't translate the input to UPPERCASE...


And if anyone has a version of this utility that can handle any RECFM/LRECL, I'd 
love to have a copy, as my assembler skills to make such a change are totally 
non-existant...


Robert
--
Robert AH Prins
robert(a)prino(d)org
No programming @
https://sites.google.com/site/robertahprins/home/hitchhiking/prino-s-blog

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


Re: Read a PDS (all members) like PS dataset

2016-06-14 Thread retired mainframer
Does the SEARCHFOR command while displaying the member list give you anything 
useful

> -Original Message-
> From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
> Behalf Of Peter Ten Eyck
> Sent: Tuesday, June 14, 2016 12:33 PM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: Read a PDS (all members) like PS dataset
> 
> For my purposes, IEBPTPCH should work fine. Anyway to work directly with the 
> PDS?

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


Re: Read a PDS (all members) like PS dataset

2016-06-14 Thread John McKown
On Tue, Jun 14, 2016 at 2:33 PM, Peter Ten Eyck <
peter_tene...@farmfamily.com> wrote:

> For my purposes, IEBPTPCH should work fine. Anyway to work directly with
> the PDS?
>

​Not easily. You'd need to either use BPAM, or (as I & others have done on
occasion), read the directory yourself to get the member names, then
process each member by using a OPEN TYPE=J after a RDJFCB to open each
member successively and read it (I used QSAM), then CLOSE and do the next
member back at the OPENJ. ​



-- 
"Pessimism is a admirable quality in an engineer. Pessimistic people check
their work three times, because they're sure that something won't be right.
Optimistic people check once, trust in Solis-de to keep the ship safe, then
blow everyone up."
"I think you're mistaking the word optimistic for inept."
"They've got a similar ring to my ear."

>From "Star Nomad" by Lindsay Buroker:

Maranatha! <><
John McKown

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


Re: Read a PDS (all members) like PS dataset

2016-06-14 Thread Peter Ten Eyck
For my purposes, IEBPTPCH should work fine. Anyway to work directly with the 
PDS?

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


Re: Read a PDS (all members) like PS dataset

2016-06-14 Thread Farley, Peter x23353
Peter,

For that kind of structural exploration/inventory of program source, IMHO 
unless you are totally without a software budget you are far better off using a 
commercial inventory product.  There are quite a few, and some of them are 
*quite* expensive.  I can personally recommend a product called XREF from DCMS 
Inc.:

http://www.dcmsi.com/

You *can* do it yourself, but it is an awful lot of re-inventing the wheel 
(including parsing different programming language statements accurately) that 
has already been done.

HTH

Peter

-Original Message-
From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On Behalf 
Of Peter Ten Eyck
Sent: Tuesday, June 14, 2016 1:31 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Read a PDS (all members) like PS dataset

Any suggestions on how to read though a PDS (all members) like PS dataset. 
Example, read via a program the trough a PDS finding every called or linked 
program statement without regard to PDS member name.

--



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 lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Read a PDS (all members) like PS dataset

2016-06-14 Thread Lizette Koehler
My personal favorite is a REXX using LM functions from ISPF.

There is a TSO REXX list and ISPF List that can provide lots of other options

To join, if you have not done so,

ISPFhttps://listserv.nd.edu/cgi-bin/wa?A0=ispf-l

TSO REXXhttp://www2.marist.edu/htbin/wlvindex?TSO-REXX


Lizette


> -Original Message-
> From: IBM Mainframe Discussion List [mailto:IBM-MAIN@LISTSERV.UA.EDU] On
> Behalf Of Peter Ten Eyck
> Sent: Tuesday, June 14, 2016 10:31 AM
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Read a PDS (all members) like PS dataset
> 
> Any suggestions on how to read though a PDS (all members) like PS dataset.
> Example, read via a program the trough a PDS finding every called or linked
> program statement without regard to PDS member name.
> 

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