HOW TO CONVERT VARIABLE BLOCK TO FIXED BLOCK ?
Answer Posted / sreedhar naidu dhekodna
VB to FB conversion
DFSORT makes it easy to do VB to FB conversion and FB to VB
conversion..
OUTFIL adds lots of tricks to your DFSORT toolkit,
including the ability to convert a variable-length data set
to a
fixed-length data set while sorting, copying or merging.
With the VLFILL=byte option of OUTFIL, you can even
do the conversion easily when "short" records are present.
The VTOF and BUILD operands of OUTFIL can be used to change
variable-length (e.g. VB) input records to
fixed-length (e.g. FB) output records. VTOF indicates that
conversion is to be performed and BUILD defines the
reformatted records. All output data sets for which VTOF is
used must have or will be given fixed-length record
formats.
Here's an example of OUTFIL conversion:
SORT FIELDS=(7,8,CH,A)
OUTFIL FNAMES=FB1,VTOF,BUILD=(5,76)
The FB output records for the FB1 data set will be 76 byte
records containing positions 5-80 of the VB input
records.
Only positions 5-80 of VB input records longer than 80
bytes will be used for the 76-byte FB output records.
But what about VB input records that are "shorter" than the
80 bytes needed to copy input positions 5-80 to the
76-byte FB output records? No problem. DFSORT automatically
uses the VLFILL=C' ' option with VTOF to
replace missing bytes in "short" OUTFIL BUILD fields with
blanks. So all of your short VB input records will be
padded with blanks to create 76-byte FB output records.
If you want to select your own padding byte, just specify
the VLFILL=byte option. For example, here's how you'd
use an asterisk as the padding byte for the previous
example:
SORT FIELDS=(7,8,CH,A)
OUTFIL FNAMES=FB1,VTOF,BUILD=(5,76),VLFILL=C'*'
| Is This Answer Correct ? | 28 Yes | 3 No |
Post New Answer View All Answers
What is the function of a dd statement?
how can the same proc be re-used and called by many jobs?
List in order the hierarchical levels of jcl?
What is the use of symbol // in jcl?
how to run batch program without jcl?
What is the purpose of dd dummy statement?
A dd statement consists of 4 fields. Name them?
//S10 EXEC PGM=ICETOOL //TOOLMSG DD SYSOUT=* //DFSMSG DD SYSOUT=* //CON DD DSN=VAR.INPUT1,DISP=SHR // DD DSN=VAR.INPUT2,DISP=SHR //OUT DD DSN=VAR.OUTPUT,DISP=(NEW,CATLG,DELETE), // SPACE=(CYL,(5,5)),UNIT=SYSDA //TOOLIN DD * * Splice the needed data from the two VB files together SPLICE FROM(CON) TO(OUT) ON(5,5,CH) WITHALL - WITH(12,5) WITH(22,20) VLENMAX /*
Explain how can values be passed from the job stream to an executable program?
Explain how can the attributes of one sms dataset be copied to another dataset?
What are s0c1, s0c4, s0c5, s0c7 and socb?
what is the use of JCL?
Is it possible to left uncode disp? If yes, how?
WORKING-STORAGE SECTION. 77 W-A PIC 9(3)V99 VALUE 23.75. 77 W-B PIC ZZ9V99 VALUE 123.45. PROCEDURE DIVISION. MOVE W-A TO W-B. DISPLAY W-B. STOP RUN. compiler : IGYGR1080-S A "VALUE" clause literal was not compatible with the data category o subject data item. The "VALUE" clause was discarded. WORKING-STORAGE SECTION. 77 W-A PIC 9(3)V99 VALUE 23.75. 77 W-B PIC ZZ9V99. PROCEDURE DIVISION. MOVE 123.45 TO W-B. MOVE W-A TO W-B. DISPLAY W-B. STOP RUN. 2375
What are the 4 fields in dd statement?