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
 

 

BDW in VB datasets

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> JCL & VSAM
View previous topic :: :: View next topic  
Author Message
harisukumaran

New User


Joined: 14 Jun 2005
Posts: 33

PostPosted: Sat May 28, 2016 9:46 am    Post subject: BDW in VB datasets
Reply with quote

I have a VB dataset that has a block size equivalent to 15 LRECLs
Yet when dump the dataset using IDCAMS PRINT I do not see BDWS after each 15th record. I only see them each 34th record or so. Could some one help me understand why ?
Back to top
View user's profile Send private message

steve-myers

Active User


Joined: 30 Nov 2013
Posts: 461
Location: The Universe

PostPosted: Sat May 28, 2016 10:46 am    Post subject:
Reply with quote

You see one BDW for each physical record.

The reason for a data set with variable length records is the records may be shorter than the declared LRECL. This means more logical records per physical record.

For example, consider this data set -
Code:
listd diskcomp.lpt
 XXXXXX.DISKCOMP.LPT
 --RECFM-LRECL-BLKSIZE-DSORG
   VB    4100  27998   PS
 --VOLUMES--
   XXXX23
If, in fact, the records were 4100 bytes you would expect to see 6 logical records in one physical record. In fact, most of the logical records are around 135 bytes, so most of the blocks would have around 200 logical records. I dumped the most recent version of the data set and found it had 1 physical block. Its BDW showed a record length of 2D22 (11,554) bytes. The first RDW showed a record length of 88 (136) bytes, the next RDW showed 71 (113) bytes, then 77 (119) bytes, 86 (134) bytes, and so on.The original plan for the program that would have required longer records never materialized, but the DCB attributes were never changed, especially since it did not matter as the system fills each physical record with as many logical records that will fit in the record.
Back to top
View user's profile Send private message
harisukumaran

New User


Joined: 14 Jun 2005
Posts: 33

PostPosted: Sat May 28, 2016 6:58 pm    Post subject:
Reply with quote

Steve, thank you so much for clarifying this. I think I need to read some more and understand how records are allocated. Is there any documentation online explaining it ? Are physical records the same as blocks ? I am supposed to be sending this dataset to an AIX box without translation, where they are going to read it using ab initio. I had just told them to look for the 4 byte RDW before each record. So they did not code for the occasional BDW. They cannot exp BDWs to occur after a fixed number of bytes or records, right? Every day I realize how little I know.
Back to top
View user's profile Send private message
steve-myers

Active User


Joined: 30 Nov 2013
Posts: 461
Location: The Universe

PostPosted: Sat May 28, 2016 8:00 pm    Post subject:
Reply with quote

harisukumaran wrote:
... Is there any documentation online explaining it ? ...
Yes, http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/DGT2D4A0/3.1.3.1?SHELF=dgt2bkb2&DT=20110606092005
Quote:
... Are physical records the same as blocks ?
Yes.
Quote:
... I am supposed to be sending this dataset to an AIX box without translation, where they are going to read it using ab initio. I had just told them to look for the 4 byte RDW before each record. So they did not code for the occasional BDW. ...
Probably incorrect. When you say "without translation" I presume you are using FTP and sending the data set as a "image" or "binary" data. When you send a VB formatted data set this way the BDWs and RDWs are not sent. You just have a stream of data.

You can send VB data as "text" or "ASCII" data without problem because FTP inserts a Unix style NL byte after each logical record.

Data intended for IBM "advanced function" printers can be sent this way because there is supplementary length information in the data, but that is a special case.

I believe there is an option in the newer z/OS releases to persuade FTP to send the RDWs, but I don't have the docs immediately st hand.
Back to top
View user's profile Send private message
harisukumaran

New User


Joined: 14 Jun 2005
Posts: 33

PostPosted: Sat May 28, 2016 8:30 pm    Post subject:
Reply with quote

I sent the data using connect:direct with Recfm=u on the FROM side of copy step, although recfm=vb. So the rdw and bdw do reach the destination server. They have process that is expecting rdws but not the bdw s so that process fails to read the file properly. They wrote the process to weed out some invalid characters in the EBCDIC file and then to do the translation by themselves, instead of allowing it to happen during NDM.
I will read the documentation and try to provide the aix application the changes they would need to make to account for the BDWs. Thank you so much for helping me understand this.
Back to top
View user's profile Send private message
steve-myers

Active User


Joined: 30 Nov 2013
Posts: 461
Location: The Universe

PostPosted: Sun May 29, 2016 9:53 am    Post subject:
Reply with quote

Look over this -
Code:
RECFM=VBA, LRECL=125, BLKSIZE=27998               
        RECORD  LOGICAL   SUM OF  SMALLEST  LARGEST
RECORD  LENGTH  RECORDS  RDW LENS  RECORD    RECORD
    1    27946     321    27942       18       125
    2    27924     310    27920       18       125
    3    27991     310    27987       18       125
The record length is the length in the BDW. Logical records is just the number of records in the block. Sum of RDW lens is the sum of the record lengths in the RDWs; it should be 4 less than the record length because the BDW uses 4 bytes. Smallest record and Largest record are self explanatory.
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 DUMP DATASETS VS TRACE DATASETS! lind sh CICS 4 Tue Dec 06, 2016 11:31 pm
No new posts Single COPY CICS TS datasets and when... Kyle Carroll CICS 2 Tue Oct 11, 2016 9:47 pm
No new posts Finding unreferenced datasets without... Alan Playford JCL & VSAM 5 Tue Jul 12, 2016 9:07 pm
No new posts How to sync memebers in some datasets... Lord.of.Wind Compuware & Other Tools 2 Thu Apr 21, 2016 12:48 pm
No new posts Need help on FDRABR incremental backu... sanpedro All Other Mainframe Topics 6 Wed Apr 06, 2016 3:24 am


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