This sets blocksize in the DCB on 1.13 whether pointing to a member or the 
library or whether MACRF=(GL) or MACRF=(R).

TEST     CSECT , 
         PRINT NOGEN 
         SAVE  (14,12) 
         LR    12,15 
         USING TEST,12 
         LA    14,SAVE 
         ST    13,4(,14) 
         ST    14,8(,13) 
         LR    13,14 
         OPEN  (SYSUT1,) 
         EX    0,* 
INEOD    L     13,4(,13) 
         LM    14,12,12(13) 
         SLR   15,15 
         BR    14 
         EJECT , 
* --- TEMPS 
         SPACE , 
SAVE     DS    18F 
SYSUT1   DCB   DDNAME=SYSUT1,                                          X
               DSORG=PS,                                               X
               MACRF=(GL),                                             X
               EODAD=INEOD 
         END   , 

Data Set Name  . . . : xxxxxxxxxxxxxxxxxxxxxxxx  
 
General Data                          Current Allocation 
 Volume serial . . . : xxxxxx          Allocated cylinders : 11
 Device type . . . . : 3390            Allocated extents . : 16
 Organization  . . . : PO              Maximum dir. blocks : 44
 Record format . . . : U 
 Record length . . . : 0 
 Block size  . . . . : 32760          Current Utilization 
 1st extent cylinders: 10              Used cylinders  . . : 2 
 Secondary cylinders : 5               Used extents  . . . : 1 
                                       Used dir. blocks  . : 5 
                                       Number of members . : 29

LIST 7F28. ASID(X'0020') POSITION(X'+78') LENGTH(X'1000')  
ASID(X'0020') ADDRESS(7FA0.) KEY(88)  
00007FA0. 00000000 00000000 026C0007 06F48026  002FE5A2 05008020 00004000 
00006D68
00007FC0. 02007F4A C0000000 00544800 00AB3B3C  12DDD000 00DDA468 0A000001 
02097FF8
00007FE0. 30013030 00006DD8 00000000 00000000  00007FF8 00000000 00000000 
80EAFA80
00008000 LENGTH(X'20')==>All bytes contain X'00' 

Bob 

IBM Mainframe Discussion List <[email protected]> wrote on 
07/17/2014 04:04:20 PM:

> From: Thomas David Rivers <[email protected]>
> To: [email protected]
> Date: 07/17/2014 04:03 PM
> Subject: OPEN not filling in DCBBLKSI for RECFM=U data set
> Sent by: IBM Mainframe Discussion List <[email protected]>
> 
> I've been wading thru the documentation (DFSMS Using Data Sets), etc...
> trying to figure out why the DCBBLKSI field of my DCB is not
> being filled in for a RECFM=U data set for INPUT.  (Non-LBI)
> 
> In particular, I want to allocate a buffer of sufficient size to hold 
> any block
> we might read for a pre-existing RECFM=U data set.
> 
> I put zeros into the DCB before the OPEN; then I do the OPEN... 
expecting
> the DCB to have the DCBBLKSI field set to the block size...
> 
> But - it remains zero.
> 
> The JCL (well, an SVC 99 actually) doesn't specify a BLKSIZE for the 
file.
> 
> But - the file is catalogued, I would have expected the DCBBLKSI field
> to get the BLOCK SIZE from the catalog?
> 
> Does anyone know why the DCBBLKSI field would not be filled in ?
> 
> The example code for determining the # of bytes read (from IBM's doc)
> determines the blksize after the READ (+CHECK) macros are issued.
> Is it possible that the blksize for a RECFM=U cannot be determined at
> OPEN time, but only after a READ?

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [email protected] with the message: INFO IBM-MAIN

Reply via email to