IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

IEBPTPCH limitations


IBM Mainframe Forums -> JCL & VSAM
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
Todd.Proganal

New User


Joined: 24 May 2013
Posts: 5
Location: us

PostPosted: Fri May 31, 2013 6:35 pm
Reply with quote

I am trying to create a sequential file from a PDS with 1600+ members and am having trouble with IEBPTPCH. I can create the dataset with the PRINT option but the length of my PDS members is 170 which evidentially is too long for the PRINT option. I've tried IEBGENER and IEBCOPY to see if they might offer a solution but they only seem capable of copying the entire PDS to another PDS (not sub-parameter options). I can create a list if I specify individual member in the SYSUT1 but that really isn't a viable option as the input PDS list might differ week-to-week. The IEBPTPCH reference doesn’t shed any light on the problem. Any IBM utilities (or options) I am missing that might help?

Here is my code:

//STEP05 EXEC PGM=IEBPTPCH
//SYSPRINT DD SYSOUT=*
//SYSUT1 DD DSN=MY.INPUT.PDS,DISP=SHR <PROD FILE>
//SYSUT2 DD DSN=MY.OUTPUT.SEQUNTL.FILE,
// UNIT=SYSDA,
// DISP=(NEW,CATLG,CATLG),
// SPACE=(CYL,(20,1,),RLSE),
// DCB=(DSORG=PS,RECFM=FB,LRECL=170,BLKSIZE=27880)
//
//SYSIN DD *
PUNCH TYPORG=PO
/*
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8700
Location: Dubuque, Iowa, USA

PostPosted: Fri May 31, 2013 7:04 pm
Reply with quote

IEBPTPCH won't meet your needs unless you can live with multiple output lines per record. From the Utilities manual section on IEBPTPCH:
Quote:
Each printed line consists of groups of eight characters separated by two blanks. Up to 96 data characters can be included on a printed line. Each punched card contains up to 80 contiguous bytes of information.

Your best bet probably is to write a program to read the PDS directory and dynamically allocate the input file for each member.
Back to top
View user's profile Send private message
Pandora-Box

Global Moderator


Joined: 07 Sep 2006
Posts: 1592
Location: Andromeda Galaxy

PostPosted: Fri May 31, 2013 7:12 pm
Reply with quote

You could make use of REXX to read the PDS and write to Output file

Lot of samples in forum
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19243
Location: Inside the Matrix

PostPosted: Fri May 31, 2013 7:16 pm
Reply with quote

Hello and welcome to the forum,

I suspect you could do what you want by sriting a bit of code to generate a member list and then use this as input to a copy process.

There are several examples of generating a member list here in the forum. Try one and let us know if there are any questions or problems.

Some people spoon-feed answers. Several of us "old timers" encourage learning rather than just giving a solution.

Good luck.
Back to top
View user's profile Send private message
Todd.Proganal

New User


Joined: 24 May 2013
Posts: 5
Location: us

PostPosted: Fri May 31, 2013 7:28 pm
Reply with quote

I am an old-timer myself...30 years in the mainframe environ, so I can appreciate the use of reference material. Believe me...I've poured over the manuals and I'm to the point of selling my soul over this one. I was trying to avoid writing a program (REXX or otherwise) and simply plug in a "beautiful" IBM proc to make my life easier. Oh, well. Thanks for the quick response folks. Back to the coding drawing board.
Back to top
View user's profile Send private message
Gary McDowell

Active User


Joined: 15 Oct 2012
Posts: 139
Location: USA

PostPosted: Sat Jun 01, 2013 1:10 am
Reply with quote

You could…

Run IEHLIST on your PDS dataset which will list all the members.
Build an Easytrieve/SORT/something to create copy JCL (ie IDCAM, IEBGENER) with the members above.
Create the output of the Easytrieve with MOD so that you can have the copy JCL with members back-to-back.

Good luck.
Back to top
View user's profile Send private message
gcicchet

Senior Member


Joined: 28 Jul 2006
Posts: 1702
Location: Australia

PostPosted: Sat Jun 01, 2013 2:13 pm
Reply with quote

Hi,

here is something I've been using, not elegant but it's doing the job I want

Code:
//SEARCH   EXEC PGM=ISRSUPC,PARM=(SRCHCMP,'ANYC',IDPFX)         
//NEWDD    DD DSN=PDS-NAME,                                     
//            DISP=SHR                                         
//OUTDD    DD DSN=&&ALLLINES,                                   
//            DISP=(,PASS,DELETE),                             
//            UNIT=SYSDA,                                       
//            SPACE=(TRK,(500,100),RLSE)                       
//SYSIN    DD *                                                 
    SRCHFOR  X'00',1                                           
    SRCHFOR  X'01',1                                           
    SRCHFOR  X'02',1                                           
    SRCHFOR  X'03',1                                           
    SRCHFOR  X'04',1                                           
    SRCHFOR  X'05',1                                           
    SRCHFOR  X'06',1                                           
    SRCHFOR  X'07',1                                           
    SRCHFOR  X'08',1                                           
    SRCHFOR  X'09',1                                           
    SRCHFOR  X'0A',1             
    SRCHFOR  X'0B',1             
    SRCHFOR  X'0C',1             
    SRCHFOR  X'0D',1             
    SRCHFOR  X'0E',1             
    SRCHFOR  X'0F',1             
    SRCHFOR  X'10',1             
    SRCHFOR  X'11',1             
    SRCHFOR  X'12',1             
    SRCHFOR  X'13',1             
    SRCHFOR  X'14',1             
    SRCHFOR  X'15',1             
    SRCHFOR  X'16',1             
    SRCHFOR  X'17',1             
    SRCHFOR  X'18',1             
    SRCHFOR  X'19',1             
    SRCHFOR  X'1A',1             
    SRCHFOR  X'1B',1             
    SRCHFOR  X'1C',1       
    SRCHFOR  X'1D',1       
    SRCHFOR  X'1E',1       
    SRCHFOR  X'1F',1       
    SRCHFOR  X'20',1       
    SRCHFOR  X'21',1       
    SRCHFOR  X'22',1       
    SRCHFOR  X'23',1       
    SRCHFOR  X'24',1       
    SRCHFOR  X'25',1       
    SRCHFOR  X'26',1       
    SRCHFOR  X'27',1       
    SRCHFOR  X'28',1       
    SRCHFOR  X'29',1       
    SRCHFOR  X'2A',1       
    SRCHFOR  X'2B',1       
    SRCHFOR  X'2C',1       
    SRCHFOR  X'2D',1       
    SRCHFOR  X'2E',1       
    SRCHFOR  X'2F',1             
    SRCHFOR  X'30',1             
    SRCHFOR  X'31',1             
    SRCHFOR  X'32',1             
    SRCHFOR  X'33',1             
    SRCHFOR  X'34',1             
    SRCHFOR  X'35',1             
    SRCHFOR  X'36',1             
    SRCHFOR  X'37',1             
    SRCHFOR  X'38',1             
    SRCHFOR  X'39',1             
    SRCHFOR  X'3A',1             
    SRCHFOR  X'3B',1             
    SRCHFOR  X'3C',1             
    SRCHFOR  X'3D',1             
    SRCHFOR  X'3E',1             
    SRCHFOR  X'3F',1             
    SRCHFOR  X'40',1             
    SRCHFOR  X'41',1             
    SRCHFOR  X'42',1       
    SRCHFOR  X'43',1       
    SRCHFOR  X'44',1       
    SRCHFOR  X'45',1       
    SRCHFOR  X'46',1       
    SRCHFOR  X'47',1       
    SRCHFOR  X'48',1       
    SRCHFOR  X'49',1       
    SRCHFOR  X'4A',1       
    SRCHFOR  X'4B',1       
    SRCHFOR  X'4C',1       
    SRCHFOR  X'4D',1       
    SRCHFOR  X'4E',1       
    SRCHFOR  X'4F',1       
    SRCHFOR  X'50',1       
    SRCHFOR  X'51',1       
    SRCHFOR  X'52',1       
    SRCHFOR  X'53',1       
    SRCHFOR  X'54',1       
    SRCHFOR  X'55',1         
    SRCHFOR  X'56',1         
    SRCHFOR  X'57',1         
    SRCHFOR  X'58',1         
    SRCHFOR  X'59',1         
    SRCHFOR  X'5A',1         
    SRCHFOR  X'5B',1         
    SRCHFOR  X'5C',1         
    SRCHFOR  X'5D',1         
    SRCHFOR  X'5E',1         
    SRCHFOR  X'5F',1         
    SRCHFOR  X'60',1         
    SRCHFOR  X'61',1         
    SRCHFOR  X'62',1         
    SRCHFOR  X'63',1         
    SRCHFOR  X'64',1         
    SRCHFOR  X'65',1         
    SRCHFOR  X'66',1         
    SRCHFOR  X'67',1         
    SRCHFOR  X'68',1       
    SRCHFOR  X'69',1       
    SRCHFOR  X'6A',1       
    SRCHFOR  X'6B',1       
    SRCHFOR  X'6C',1       
    SRCHFOR  X'6D',1       
    SRCHFOR  X'6E',1       
    SRCHFOR  X'6F',1       
    SRCHFOR  X'70',1       
    SRCHFOR  X'71',1       
    SRCHFOR  X'72',1       
    SRCHFOR  X'73',1       
    SRCHFOR  X'74',1       
    SRCHFOR  X'75',1       
    SRCHFOR  X'76',1       
    SRCHFOR  X'77',1       
    SRCHFOR  X'78',1       
    SRCHFOR  X'79',1       
    SRCHFOR  X'7A',1       
    SRCHFOR  X'7B',1   
    SRCHFOR  X'7C',1   
    SRCHFOR  X'7D',1   
    SRCHFOR  X'7E',1   
    SRCHFOR  X'7F',1   
    SRCHFOR  X'80',1   
    SRCHFOR  X'81',1   
    SRCHFOR  X'82',1   
    SRCHFOR  X'83',1   
    SRCHFOR  X'84',1   
    SRCHFOR  X'85',1   
    SRCHFOR  X'86',1   
    SRCHFOR  X'87',1   
    SRCHFOR  X'88',1   
    SRCHFOR  X'89',1   
    SRCHFOR  X'8A',1   
    SRCHFOR  X'8B',1   
    SRCHFOR  X'8C',1   
    SRCHFOR  X'8D',1   
    SRCHFOR  X'8E',1       
    SRCHFOR  X'8F',1       
    SRCHFOR  X'90',1       
    SRCHFOR  X'91',1       
    SRCHFOR  X'92',1       
    SRCHFOR  X'93',1       
    SRCHFOR  X'94',1       
    SRCHFOR  X'95',1       
    SRCHFOR  X'96',1       
    SRCHFOR  X'97',1       
    SRCHFOR  X'98',1       
    SRCHFOR  X'99',1       
    SRCHFOR  X'9A',1       
    SRCHFOR  X'9B',1       
    SRCHFOR  X'9C',1       
    SRCHFOR  X'9D',1       
    SRCHFOR  X'9E',1       
    SRCHFOR  X'9F',1       
    SRCHFOR  X'A0',1   
    SRCHFOR  X'A1',1   
    SRCHFOR  X'A2',1   
    SRCHFOR  X'A3',1   
    SRCHFOR  X'A4',1   
    SRCHFOR  X'A5',1   
    SRCHFOR  X'A6',1   
    SRCHFOR  X'A7',1   
    SRCHFOR  X'A8',1   
    SRCHFOR  X'A9',1   
    SRCHFOR  X'AA',1   
    SRCHFOR  X'AB',1   
    SRCHFOR  X'AC',1   
    SRCHFOR  X'AD',1   
    SRCHFOR  X'AE',1   
    SRCHFOR  X'AF',1   
    SRCHFOR  X'B0',1   
    SRCHFOR  X'B1',1   
    SRCHFOR  X'B2',1   
    SRCHFOR  X'B3',1   
    SRCHFOR  X'B4',1   
    SRCHFOR  X'B5',1   
    SRCHFOR  X'B6',1   
    SRCHFOR  X'B7',1   
    SRCHFOR  X'B8',1   
    SRCHFOR  X'B9',1   
    SRCHFOR  X'BA',1   
    SRCHFOR  X'BB',1   
    SRCHFOR  X'BC',1   
    SRCHFOR  X'BD',1   
    SRCHFOR  X'BE',1   
    SRCHFOR  X'BF',1   
    SRCHFOR  X'C0',1   
    SRCHFOR  X'C1',1   
    SRCHFOR  X'C2',1   
    SRCHFOR  X'C3',1   
    SRCHFOR  X'C4',1   
    SRCHFOR  X'C5',1   
    SRCHFOR  X'C6',1     
    SRCHFOR  X'C7',1     
    SRCHFOR  X'C8',1     
    SRCHFOR  X'C9',1     
    SRCHFOR  X'CA',1     
    SRCHFOR  X'CB',1     
    SRCHFOR  X'CC',1     
    SRCHFOR  X'CD',1     
    SRCHFOR  X'CE',1     
    SRCHFOR  X'CF',1     
    SRCHFOR  X'D0',1     
    SRCHFOR  X'D1',1     
    SRCHFOR  X'D2',1     
    SRCHFOR  X'D3',1     
    SRCHFOR  X'D4',1     
    SRCHFOR  X'D5',1     
    SRCHFOR  X'D6',1     
    SRCHFOR  X'D7',1     
    SRCHFOR  X'D8',1   
    SRCHFOR  X'D9',1   
    SRCHFOR  X'DA',1   
    SRCHFOR  X'DB',1   
    SRCHFOR  X'DC',1   
    SRCHFOR  X'DD',1   
    SRCHFOR  X'DE',1   
    SRCHFOR  X'DF',1   
    SRCHFOR  X'E0',1   
    SRCHFOR  X'E1',1   
    SRCHFOR  X'E2',1   
    SRCHFOR  X'E3',1   
    SRCHFOR  X'E4',1   
    SRCHFOR  X'E5',1   
    SRCHFOR  X'E6',1   
    SRCHFOR  X'E7',1   
    SRCHFOR  X'E8',1   
    SRCHFOR  X'E9',1   
    SRCHFOR  X'EA',1   
    SRCHFOR  X'EB',1   
    SRCHFOR  X'EC',1   
    SRCHFOR  X'ED',1   
    SRCHFOR  X'EE',1   
    SRCHFOR  X'EF',1   
    SRCHFOR  X'F0',1   
    SRCHFOR  X'F1',1   
    SRCHFOR  X'F2',1   
    SRCHFOR  X'F3',1   
    SRCHFOR  X'F4',1   
    SRCHFOR  X'F5',1   
    SRCHFOR  X'F6',1   
    SRCHFOR  X'F7',1   
    SRCHFOR  X'F8',1   
    SRCHFOR  X'F9',1   
    SRCHFOR  X'FA',1   
    SRCHFOR  X'FB',1   
    SRCHFOR  X'FC',1   
    SRCHFOR  X'FD',1   
    SRCHFOR  X'FE',1                                                   
    SRCHFOR  X'FF',1                                                   
/*                                                                     
//*********************************************************************
//*                                                                     
//SELECT   EXEC PGM=SORT                                               
//SYSOUT   DD SYSOUT=*                                                 
//SORTIN   DD DSN=&&ALLLINES,                                           
//            DISP=SHR                                                 
//SORTOUT  DD SYSOUT=*                                                 
//SYSIN    DD *                                                         
  SORT FIELDS=COPY                                                     
  INCLUDE COND=(17,1,FS,EQ,NUM,&,                                       
                18,2,CH,EQ,C'  ')                                       
  OUTFIL BUILD=(2,8,20,80)                                             
/*                                                                     
//*********************************************************************

 
     


Hopefully I've cut and pasted all 256 SRCHFOR parameters.

Just modify the OUTFIL parameter if member name is not required.

I have the SRCHFOR parameters as a PDS member.


Gerry
Back to top
View user's profile Send private message
Pete Wilson

Active Member


Joined: 31 Dec 2009
Posts: 590
Location: London

PostPosted: Tue Jun 04, 2013 7:08 pm
Reply with quote

If you have FileAid it has a nice feature to print all members of a PDS into a flatfile with member name separators.

Just go to option 3.6 and use the B (browse glbally) option. You can choose to do it in Batch or Foreground as well.

Chcek that the selection in the DD01SC has the following otherwise it won't necessarily print all members.

DEFINE BLOCKS=SELECTION,

INITIAL_SKIP=0,
THEN_SELECT=0,
THEN_SKIP=0,

MAXIMUM_TO_SEARCH=ALL,
MAXIMUM_TO_SELECT=ALL
Back to top
View user's profile Send private message
Todd.Proganal

New User


Joined: 24 May 2013
Posts: 5
Location: us

PostPosted: Fri Jun 07, 2013 6:46 pm
Reply with quote

I will give gcicchet's solution a whirl. Unfortunately, we don't have FILEAID. Thanks, guys.
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> JCL & VSAM

 


Similar Topics
Topic Forum Replies
No new posts IEBPTPCH for many PS JCL & VSAM 7
No new posts EXCEEDS THE LENGTH LIMITATIONS JCL & VSAM 6
No new posts ISRLEMX Limitations PL/I & Assembler 11
No new posts IEBPTPCH PDS to PS. JCL & VSAM 4
No new posts IEBPTPCH utility to copy members from... All Other Mainframe Topics 3
Search our Forums:

Back to Top