Portal | Manuals | References | Downloads | Info | Programs | JCLs | Master the Mainframes
IBM Mainframe Computers Forums Index
 
Register
 
IBM Mainframe Computers Forums Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist Usergroups Profile Log in to check your private messages Log in
 

 

IEBPTPCH limitations

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> JCL & VSAM
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    Post subject: IEBPTPCH limitations
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: 7904
Location: Bellevue, IA

PostPosted: Fri May 31, 2013 7:04 pm    Post subject:
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

Moderator


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

PostPosted: Fri May 31, 2013 7:12 pm    Post subject:
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

Site Director


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

PostPosted: Fri May 31, 2013 7:16 pm    Post subject:
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    Post subject: old timer
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    Post subject:
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: 1703
Location: Australia

PostPosted: Sat Jun 01, 2013 2:13 pm    Post subject:
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 User


Joined: 31 Dec 2009
Posts: 437
Location: London

PostPosted: Tue Jun 04, 2013 7:08 pm    Post subject:
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    Post subject:
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    IBMMAINFRAMES.com Support Forums -> JCL & VSAM All times are GMT + 6 Hours
Page 1 of 1

 

Search our Forum:

Similar Topics
Topic Author Forum Replies Posted
No new posts EXCEEDS THE LENGTH LIMITATIONS Pedro JCL & VSAM 6 Fri Sep 12, 2014 4:48 am
No new posts ISRLEMX Limitations Rajat Das PL/I & Assembler 11 Thu Nov 29, 2012 11:17 am
No new posts IEBPTPCH PDS to PS. rahulbank JCL & VSAM 4 Thu Aug 13, 2009 10:16 pm
No new posts IEBPTPCH utility to copy members from... khadar78 All Other Mainframe Topics 3 Wed Aug 05, 2009 2:10 pm
No new posts Run IEBPTPCH with several PDS in SYSUT1 dick scherrer JCL & VSAM 13 Wed Mar 21, 2007 11:10 pm


Facebook
Back to Top
 
Mainframe Wiki | Forum Rules | Bookmarks | Subscriptions | FAQ | Tutorials | Contact Us