JCL : PB generate PDS from BINARY
Select messages from
# through # FAQ
[/[Print]\]

MVSFORUMS.com -> Job Control Language(JCL)

#1: JCL : PB generate PDS from BINARY Author: FredB PostPosted: Tue Aug 01, 2023 8:42 am
    —
Hello Guys,

I have a problem generating PDS from binary file 80.

The BINARY file contains members it is quite large, 43 CYLS

TEST N°1 BY JCL
Code:

//REC000  EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//SYSIN  DD *
 DELETE (CAP1.SYSEDIGE.SOURCE.PDS) PURGE
 SET MAXCC=0
/*
//REC001  EXEC PGM=IKJEFT01
//SYSTSPRT DD SYSOUT=*
//SYSTSIN  DD      *
  RECEIVE INDA('CAP1.SYSEDIGE.BIN')[b]======== BINARY FILE 80[/b]
  DATASET('CAP1.SYSEDIGE.SOURCE.PDS') [b]======== Partitionned [/b]DATASET
//*
//REC002  EXEC PGM=IKJEFT01
//SYSTSPRT DD SYSOUT=*
//SYSTSIN  DD      *
  RECEIVE INDA('CAP1.SYSEDIGE.SOURCE.PDS(FILE001)')[b]====== Member FILE001[/b]
  DATASET('CAP1.SYSEDIGE.SOURCE.ASSEMB')


Result :
Code:

V370040 X2383360,REC001,SYS00004,CAP1.SYSEDIGE.SOURCE.PDS
V370040 CURRENTLY ON EXTENT £ 16 ON VOLUME HMPC06
V37237I 353C ALLOCATED TO SYS00004
V37285I   CAP1.SYSEDIGE.SOURCE.PDS                     RECATALOGED
V37285I   VOL SER NOS= HMPC06,HMPC07.
V370040 END OF VOLUME RECOVERY OPERATION SUCCESSFUL FOR
V370040 X2383360,REC001,SYS00004,CAP1.SYSEDIGE.SOURCE.PDS
V370040 NEW VOLUME HMPC07 ADDED, NEW VOLUME COUNT 2


[b]IEC030I B37-04[/b],IFG0554A,X2383360,REC001,SYS00004,3731,HMPC01,  454
CAP1.SYSEDIGE.SOURCE.PDS
IEC141I 013-14,IGG0191B,X2383360,REC002,SYS00007,343E,HMPC06,  456
CAP1.SYSEDIGE.SOURCE.PDS
IEA848I NO DUMP WAS PRODUCED FOR THIS ABEND, DUE TO SYSTEM OR INSTALLATION REQUEST
IEF404I X2383360 - ENDED - TIME=15.20.10
$HASP395 X2383360 ENDED - RC=0012

[b]TEST N°2 BY TSO RECEIVE[/b]

TSO RECEIVE INDATASET('CAP1.SYSEDIGE.BIN')
DA('CAP1.SYSEDIGE.BIN.X238336')

[b]Result approximately the same :[/b]

[b]IEC030I B37-04[/b],IFG0554A,X238336,ISPF0006,SYS00123,3682,PUBH10,
CAP1.SYSEDIGE.BIN.X238336
RECEIVE command terminated.  ABEND B37
Register 15 value at ABEND was X'00000004'
IEA848I NO DUMP WAS PRODUCED FOR THIS ABEND, DUE TO SYSTEM OR INSTALLATION REQUEST
Abend 00B37000 hex occurred processing authorized command 'RECEIVE'.
ISPD210  CMD abended - 'RECEIVE' terminated abnormally.
***

Thank you very much,

Sincerely.

PS : I am French do not hesitate to answer me so in French

#2:  Author: kolusuLocation: San Jose PostPosted: Tue Aug 01, 2023 1:26 pm
    —
FredB,

You can pre-allocate the PDS before the receive and then receive into it. Here is sample JCL ( I assumed your pds has LRECL=80 and RECFM=FB). If they are different change the DCB parm in Step ALCFILES

Code:

//***************************************************************
//* Delete the output PDS if it exists                          *
//***************************************************************
//DELFILES EXEC PGM=IEFBR14                                     
//DF01     DD DSN=CAP1.SYSEDIGE.SOURCE.PDS,                     
//            DISP=(MOD,DELETE,DELETE),                         
//            SPACE=(TRK,(1,0),RLSE)                             
/*                                                               
//***************************************************************
//* Allocate the PDS for the receive                            *
//***************************************************************
//ALCFILES EXEC PGM=IEFBR14                                     
//AF01     DD DSN=CAP1.SYSEDIGE.SOURCE.PDS,                     
//            DISP=(NEW,CATLG,DELETE),                           
//            SPACE=(CYL,(50,25,500),RLSE),                     
//            DCB=(LRECL=80,RECFM=FB,BLKSIZE=27920,DSORG=PO)     
//*                                                             
//***************************************************************
//* Receive the binary library                                  *
//***************************************************************
//RECVPDS  EXEC PGM=IKJEFT01,COND=(0,LT)                         
//SYSPRINT DD SYSOUT=*                                           
//SYSTSPRT DD SYSOUT=*                                           
//SYSTSIN  DD *                                                 
  RECEIVE INDS('CAP1.SYSEDIGE.BIN'                               
       DATASET('CAP1.SYSEDIGE.SOURCE.PDS')                       
/*                                                               



MVSFORUMS.com -> Job Control Language(JCL)


output generated using printer-friendly topic mod. All times are GMT - 5 Hours

Page 1 of 1

Powered by phpBB © 2001, 2005 phpBB Group