BookmarkSubscribeRSS Feed
deleted_user
Not applicable
Is there any option available to reset the default lrecl for proc source? Since the default lrecl is 80 bytes can we reset it read a PDS with lrecl more than 80 bytes
6 REPLIES 6
deleted_user
Not applicable
I have only ever seen the Source Procedure on a mainframe, and indeed I think it is only documented as a procedure available for that OS.

Have you tried to use the procedure to read the entries? The storage and definition of files on a mainframe is very different to Windows or Unix. I suspect that the procedure might honour the LRecL definiiton of the catalogue.

I do wonder why you have entries longer than 80 bytes, unless they are data sources rather than program entries.

Define a catalogue as FB with something longer than 80 bytes, and then try to read it. If it fails, post the error message here.
deleted_user
Not applicable
Actually the PDS members which we are going to read is of lrecl 150. We tired out increasing the lrecl of catalog dataset to 150. We did not get any errors but the output dataset obtained from the proc source is of lrecl 150 containing only the first 80 characters from the input and the other 70 are balnks.
deleted_user
Not applicable
perhaps, check the system option setting S=

It is intended to control the max line size of syntax (s=72 excludes line number area on 80/FB), but may also have an effect on the interpretation of text in proc source.

PeterC
deleted_user
Not applicable
the PDF doc for PROC SOURCE, in SAS® 9.1.3 Companion for z/OS, shows this for the PROC SOURCE option, INDD=

"INDD=file-specification
specifies the fileref or the physical file name of an input PDS that contains 80-byte
fixed-length records."

Sounds like it plans to handle only the first 80, whatever...

For a SAS solution, follow up with Customer Support

There are mainframe utility programs which handle PDS members of any line width. These may provide alternative solutions.

Good Luck
PeterC
deleted_user
Not applicable
If you don't mind me asking, why do you think you need to use Proc Source?

If you want to read a pds file, you can do so with a regular filename definition, and then simply read in the member you need with "infile pds(member)". At least I think you can, it's been years since I did SAS on a mainframe.
deleted_user
Not applicable
I think that's right Chuck, you can use the File( Member) syntax to read the member directly. However, I like Proc Source because it means I can surface other information (DIRDD) on the member including:

CreateDate WriteDate SizeOfMember InitialSize
LinesLastModified LastOwner Version

I used these when I was developing the mainframe version of a macro to find and document files on any platform.

sas-innovate-2024.png

Join us for SAS Innovate April 16-19 at the Aria in Las Vegas. Bring the team and save big with our group pricing for a limited time only.

Pre-conference courses and tutorials are filling up fast and are always a sellout. Register today to reserve your seat.

 

Register now!

SAS Enterprise Guide vs. SAS Studio

What’s the difference between SAS Enterprise Guide and SAS Studio? How are they similar? Just ask SAS’ Danny Modlin.

Find more tutorials on the SAS Users YouTube channel.

Click image to register for webinarClick image to register for webinar

Classroom Training Available!

Select SAS Training centers are offering in-person courses. View upcoming courses for:

View all other training opportunities.

Discussion stats
  • 6 replies
  • 876 views
  • 0 likes
  • 1 in conversation