You can transfer files between a personal computer (PC) and a mainframe by using BARR/TRAN and either RJE or NJE. The file transfer process involves physically sending and receiving the file as well as reconciling differences between the PC file structure and IBM MVS/JES2 mainframe file structure.
The BARR/TRAN product provides extended file transfer capabilities for RJE and NJE. BARR/TRAN is a mainframe program for the IBM MVS/JES2 operating system that works with advanced features of the Barr software. Although the Barr software manages basic file transfer operations, BARR/TRAN manages all file transfer operations.
Before installing BARR/TRAN, you will need to be familiar with the operation of your Barr software. Refer to the Getting started with RJE or Getting started with NJE topics for more information on operating instructions and PC-to-PC file transfer that does not require BARR/TRAN.
RJE and NJE software already contain file transfer software required for the PC. Without the BARR/TRAN software, you can:
Send files with record lengths up to 254-characters and multiples of 80 characters.
Receive files with record lengths from 1 to 255 characters and multiples of 80 characters.
Receive print files.
Send and receive binary data.
Perform PC-to-PC file transfer.
BARR/TRAN extended file transfer software contains the BARR/TRAN mainframe program that handles specialized file transfer applications. BARR/TRAN reads and writes JES2 files and converts the files for transmission. In other words, BARR/TRAN can manage all file transfer operations on the mainframe.
File transfer applications requiring BARR/TRAN are when you need to:
Send and receive records longer than 245 characters (up to 32,760).
Send variable-length records.
Send a file to be printed on the mainframe with form feed and overprint.
Name files on the destination PC.
Restructure the file. For example, converting between variable-length and fixed-length records, converting between a file with carriage control to a file without carriage control, and changing record length.
Ensure that the length of a binary file is the same on the PC as it is on the mainframe.
Delete the trailer lines sometimes sent by JES.
BARR/TRAN, which runs under the MVS or OS/390 mainframe operating system, manages the mainframe side of file transfer. You can call the BARR/TRAN mainframe program using a JCL just as you would other mainframe utilities.
The BARR/TRAN software files are located in the \\BHCS\Tran folder. Use the INSTALL.JOB and BARRTRAN.OBJ files to install BARR/TRAN on the mainframe.
You must install BARR/TRAN in a mainframe library. You can create a new mainframe library or use an existing library. Consult a mainframe systems programmer to set up an authorized library and add a cataloged procedure. The file INSTALL.JOB contains the JCL you need to create a library on the mainframe and store the BARR/TRAN program. Follow these steps:
Use an ASCII program editor to edit INSTALL.JOB and add your computing centers accounting and file-naming conventions. See the Edit INSTALL.JOB section for more information.
The line numbers in the left column of the file listing refer to the explanations on the following pages. Do not include them in your JCL.
1 //INSTALL
JOB (1234,5678,2,1,0),your name |
All text in the JCL file must be uppercase. Text in lowercase indicates information you need to supply. Remember to use uppercase text when you substitute correct values.
Line number explanations
The following table describes selected lines, including all lines you must edit.
Line |
Explanation |
1 |
The job accounting parameters in parentheses vary from system to system. This example uses the account number 1234,5678 and requests 2 seconds of central processing unit (CPU) time (2), up to 1,000 lines of printed output (1), and no punch output (0). |
8-17 |
The first job step edits the object modules that BARR/TRAN sends as card images from the PC into a program library. |
11-12 |
The //SYSLMOD DD statement defines the program library that contains the programs. Replace user.barrlib with your library name. According to the statement coded here, the JCL will create a new program library on any available disk volume with a block size assigned by the linkage editor. The library will be cataloged. Any unused space in the library will be released when the job step finishes. To install the BARR/TRAN program in an existing library, code the //SYSLMOD DD statement as follows: //SYSLMOD DD DSN=BTRAN.LIBRARY,DISP=SHR |
14 |
##c:\program files\barr\spooler\tran\BARRTRAN.OBJ/B is an embedded Send Files command. When Barr sends the JCL file, it replaces this line with the contents of the BARRTRAN.OBJ file. The /B option tells the software to convert the file to binary mode. |
21-25 |
The second job step tests that you properly installed BARR/TRAN. It invokes the BARR/TRAN program to read itself as input and it throws away the card output. If the BARR/TRAN log shows no errors, you correctly installed the program. |
22 |
The //STEPLIB DD statement tells JES2 to look in the library you just created for the BARR/TRAN program. Replace user.barrlib with the name for your system. |
24 |
Replace user.barrlib with the correct name, but leave BARRTRAN in parentheses. |
30-44 |
The third job step installs the cataloged procedure BARRTRAN. |
33 |
Replace SYS1.PROCLIB with the name of the procedure library storing the BARRTRAN cataloged procedure. You must be authorized to modify procedure libraries. |
41 |
Replace user.barrlib with the correct name. |
This section describes how to send files from the PC to the mainframe, using either RJE or NJE software on the PC and BARR/TRAN software on the mainframe.
File transfer from the PC to the mainframe is started by reading in a JCL (SYSIN) file with Print Utility. The JCL will contain a ## statement that specifies the PC file name and record format. You also need to specify the mainframe file name and record format with the mainframe JCL.
Complete the following steps to send a file to the host.
Use an ASCII program editor to write the mainframe JCL statements for your program in a file on the PC. For example, assume you want to send a file named filename.ext with one of the record formats to the mainframe. The following is a JCL example:
//jobname
JOB (1234,5678,2,1,9999),your name |
Parameter |
Description |
DSNAME=data_set_name |
Output file name on the mainframe. |
DCB=(RECFM=r,LRECL=l,BLKSIZE=b) |
Output record format on the mainframe. |
filename.ext/format |
Input file name and format (that is, TP, TA, TFn, TDFn, TV, TB, TBFn, or TBV). |
Connect to the mainframe with RJE or NJE
Send the JCL file to the RJE or NJE host. The ## statement will cause the Barr software to send the data file with the JCL.
BARR/TRAN converts the file from the PC file structure to the MVS/JES2 file structure you specified in the JCL. You will be notified whether or not the file has been successfully received.
The job will run on the mainframe, and the BARR/TRAN job log will return to the PC. If the condition code on the JES2 job log is 0000, your file was received correctly.
This is a sample BARR/TRAN job log:
* * * * B A R R / T R A N J O B L O G * * * * BARR/TRAN Release 89 OPTIONS IN EFFECT FOR
THIS RUN: BARR/TRAN INPUT IS SYSIN: BARR/TRAN OUTPUT IS
FILEOUT: FINISHED READING INPUT.
INPUT STATISTICS: FINISHED WRITING
OUTPUT. OUTPUT STATISTICS: **** NOTE **** RECORDS WERE PADDED TO MAKE FIXED-LENGTH OUTPUT RECORDS. * * * * E N D O F B A R R / T R A N L O G * * * * |
You can send a text file (including form feeds and overstruck lines) from the PC to the mainframe and print it on a mainframe printer. You need to specify the TP format using the ## statement in an embedded command. The ## statement will be included in the following JCL.
//PC1 JOB
(1234,5678,2,1,9999),your name |
BARR/TRAN reads from SYSIN, which contains the file, and writes to FILEOUT. Because FILEOUT is defined as a SYSOUT data set, the data is printed. The /*ROUTE statement sends the data to the local printer at the mainframe (instead of sending it back to the Barr software).
You can send a print file (including form feeds and overstruck lines) from the PC to a JES2 data set with variable-length records. You need to specify the TP format using the ## statement in an embedded command. The ## statement will be included in the following JCL.
//PC2 JOB
(1234,5678,2,1,9999),your name |
BARR/TRAN reads input from SYSIN and writes to the FILEOUT data set name.
You can send a print file from the PC to a JES2 data set with fixed-length records. This example is similar to the previous example, except that all records written to the output data set are automatically padded with EBCDIC spaces to the record length of the output data set.
You need to specify the TP format using the ## statement in an embedded command. The ## statement will be included in the following JCL.
//PC3 JOB
(1234,5678,2,1,9999),your name |
BARR/TRAN reads input from SYSIN and writes to the FILEOUT data set name.
You can send a binary file from the PC to a JES2 data set with undefined-format records. You need to specify the TB format using the ## statement in an embedded command. The ## statement will be included in the following JCL.
//PC4 JOB
(1234,5678,2,1,9999),your name |
RECFM=U indicates that the data sets record format is undefined. Because the file format is binary, ASCII-to-EBCDIC translation is not performed. This file is written as 2000-byte output records with a final short block.
You can send a mainframe object module stored as a binary PC file back to the mainframe. For example, the BARR/TRAN program is stored as an object module in the Tran folder.
You need to specify the TBF80 format using the ## statement in an embedded command. The ## statement will be included in the following JCL.
//PC5 JOB
(1234,5678,2,1,9999),your name |
FILEOUT defines a temporary disk data set that could later be used for input to the linkage editor.
This section describes how to receive a file from the mainframe to the PC using BARR/TRAN on the mainframe and either RJE or NJE software on the PC.
Files are transferred from the mainframe to the PC when a job is sent to JES2. This job can be send from anywhere on the mainframe or it can be sent using an ASCII editor with RJE or NJE. The JCL is the same regardless of how it is sent.
Complete the following steps to receive a file from the host.
Configure Barr to write to disk.
On the Barr File port's File Format tab, you must select Barr file transfer as the file format.
Edit your JCL with an ASCII program editor and send your JCL to the RJE or NJE host. The following is a JCL example:
//jobname JOB (1234,5678,2,1,9999),your
name |
Parameter |
Description |
pc_format |
Output format on the PC (that is, TP, TA, TFn, TDFn, TV, TB, TBFn, and TBV). |
filename.ext |
Output file name on the PC. |
data_set_name |
The file that you are receiving from the mainframe. |
You can send a variable-length JES2 data set with the format DCB=(RECFM=VBA, LRECL=137,BLKSIZE=8000) and write it to a print file with form feeds and overstruck lines.
You need the following JCL:
//MF1 JOB
(1234,5678,2,1,9999),your name |
In the EXEC BARRTRAN statement, RECFM=TP specifies that the PC file format will be ASCII with variable-length records, CR LF delimiters, and printer carriage control characters. FILENAME=filename.ext specifies the name of the PC file that will be created. BARR/TRAN reads input from FILEIN. The Barr software writes the file in TP format and names it filename.ext.
You can send a variable-length JES2 data set created with the format DCB=(RECFM=VBA, LRECL=137,BLKSIZE=8000) and write it to a text file without form feeds or overstruck lines.
You need the following JCL:
//MF2 JOB
(1234,5678,2,1,9999),your name |
In the EXEC BARRTRAN statement, RECFM=TV specifies that the PC file format will be ASCII with variable-length records, CR LF delimiters, and no printer carriage control characters. FILENAME=filename.ext specifies the name of the PC file that will be created. BARR/TRAN reads input from FILEIN. The Barr software writes the file in TV format and names it filename.ext.
You can send a variable-length JES2 data set created with the format DCB=(RECFM=VBA, LRECL=137,BLKSIZE=8000) and write it to a PC file with fixed-length records. This example is similar to the previous example, except that the PC file has fixed-length records 70 bytes long.
You need the following JCL:
//MF3 JOB
(1234,5678,2,1,9999),your name |
In the EXEC BARRTRAN statement, RECFM=TDF70 specifies that the PC file format will be ASCII with fixed-length records, CR LF delimiters (for editing and printing), no printer carriage control characters, and a record length of 70. If the trailing number was not specified, the record length of the source, 132 bytes, would have been used.
Barr software pads records shorter than 70 bytes with ASCII blanks and truncates records longer than 70 bytes.
You can send a binary file from the mainframe and write it as a PC file with binary format.
You need the following JCL:
//MF4 JOB
(1234,5678,2,1,9999),your name |
In the EXEC BARRTRAN statement, RECFM=TB specifies that the PC file format will be a binary file with no record structure.
You can send an object deck from the mainframe to the PC, and write it to a binary file with fixed-length records. (Programs on the mainframe are stored in object deck format.)
You need the following JCL:
//MF5 JOB
(1234,5678,2,1,9999),your name |
In the EXEC BARRTRAN statement, RECFM=TBF specifies that the PC file format is binary with fixed-length records containing no delimiters. FILEIN specifies the member of the object library. Because the PC record length was not specified, the JES2 record length is used.
This section defines the file structures used when you transfer files between the PC and the mainframe JES2 operating system.
BARR/TRAN file transfer actually involves three different file structures or formats, (that is, PC, IBM MVS/JES2, and Barr File Transfer format). The following table describes the different file formats.
File Structure |
Description |
PC |
File structure used on the PC. |
IBM MVS/JES2 |
File structure used on the JES2 mainframe. |
Barr File Transfer (BFT) |
A general file structure, which is easily converted into PC DOS or JES2 file structure. This intermediate format is used when any file is sent or received. |
Within each file structure, different methods are used to represent records. The term record format (RECFM) describes these different methods. Each record format is defined by character set, length format, and carriage control. The following table describes the record format attributes.
Attributes |
Description |
Character set |
Representation of graphic symbols as binary bits. |
Length format |
Fixed, variable, undefined length. |
Carriage control |
Vertical spacing control. |
File structures for PC, IBM MVS/JES2, and BFT formats are shown in the following table.
Attributes |
PC |
IBM MVS/JES2 |
BFT |
Character set |
ASCII, binary |
EBCDIC, binary |
ASCII, EBCDIC, binary |
Length format |
Loosely defined by ASCII carriage return characters |
Data Control Block fixed, variable, or undefined |
Fixed, variable, undefined |
Carriage control |
ASCII form feed and line feed |
ASA carriage control |
ASA carriage control |
Because PC and mainframe file structures are very different, a files structure must be changed when it moves between the two types of computers. BARR/TRAN converts and transfers the file at the same time.
Barr software converts from PC file structure to BFT format when it sends a file and converts from BFT format to PC when it receives a file. The BARR/TRAN mainframe program converts from MVS/JES2 file structure to BFT format when it sends a file and converts from BFT format to MVS/JES2 file structure when it receives a file.
The PC file format uses the ASCII standard for coding character data. Unfortunately, the PC format does not define file structures or record formats. In this section, we name and describe commonly used PC record formats. You can use these eight record formats with BARR/TRAN.
Mode |
File Type |
Description |
TP |
Printer data in ASCII |
TP record format describes a print file. It contains printable characters of varying length lines. Each line is terminated by a carriage return (CR), which can be followed by line feed (LF) and form feed (FF) characters. This popular format is used by all microcomputer and minicomputer operating systems. |
TA |
ASCII file with no record structure |
This file does not contain any record delimiters such as LF and FF characters. |
TFn |
Fixed-length ASCII records |
TFn records contain ASCII printable characters and have a fixed length of n. There are no delimiters between the records. This file might not be printable because there are no CR or LF characters to advance the printer to a new line. |
TDFn |
Fixed-length ASCII records with delimiters |
TDFn records contain ASCII printable characters and have a fixed length of n. Each record is terminated with a CR LF. A file in TDFn format can be printed, provided that the length of the record n is not greater than the printers carriage width. |
TV |
Variable-length ASCII records with delimiters |
Each record is terminated with a CR LF. A file in TV format can be printed, provided that the maximum length of the record is not greater than the printers carriage width. |
TB |
Binary data with no record structure |
TB format is an unstructured file without ASCII or EBCDIC code structure or record structure. The only attribute transferred with the file is the file length. |
TBFn |
Fixed-length binary records |
TBFn contains binary records without ASCII or EBCDIC code structure that have a fixed length of n. |
TBV |
Variable-length binary records |
A file in TBV format begins with a four-byte header of 76 1A LSB MSB, where LSB and MSB represent the maximum record length expressed in binary with the least significant byte first. Additionally, each record in the file must begin and end with its binary length count. If the maximum record length in the header is less than 255, the record length code is one byte. Otherwise, it is two bytes, with the least significant byte given first. |
IBM MVS/JES2 file structure is completely described in the JCL Data Control Block (DCB) specification, which has the general form:
DCB=(RECFM=r,LRECL=l,BLKSIZE=b)
Refer to the following table for a description of these parameters.
Parameter |
Description |
RECFM=r |
The record format (RECFM) is determined by three characteristics record type, blocking, and carriage control which are specified in your JCL after the RECFM= keyword. F – Fixed-length records. V – Variable-length records. U – Undefined-length records. B – Blocking combines records into blocks before reading or writing. A – The first character of a record contains an ASA carriage control character. S – Spanning allows variable-length records to exceed the length of the block. |
LRECL=l |
Logical Record Length is a number computed by: l= d + a + v d – Data length. a – If ASA carriage control is used it equals 1, otherwise 0. v – If the records are variable length it equals 4, otherwise 0. |
BLKSIZE=b |
Block size is the length of the maximum block of data that will be read or written at one time. For fixed-length records, BLKSIZE is a multiple of the logical record size LRECL. |
This is a common format for a mainframe print file: DCB=(RECFM=FBA,LRECL=133,BLKSIZE=1330). This statement indicates that the record format is fixed with 10 records to a block (1330 divided by 133) and contains ASA carriage control characters. The logical record length is 133, indicating that there are 132 data characters preceded by an ASA carriage control character. For more information about these parameters, refer to your MVS JCL reference manual.
When you transfer a file from PC to mainframe, mainframe to PC, or PC to PC, your Barr software converts the file to an intermediate format the Barr File Transfer (BFT) format. On the mainframe the BARR/TRAN program reads and writes JES2 data sets and transforms them into BFT format.
The BFT format represents a file as a series of 80-byte records. BFT format also includes some information about the source and/or the destination file an operating system code, a record format, a maximum record length, and a system-specific area. When a file is represented in BFT format, the source system uses these fields to describe the source files format or to describe the format of the file to create at the destination. When a file is reconstituted from BFT format, the destination system can create a new file in the format suggested by these fields or can ignore them. This section refers to the format described by these fields as the files native format.
The RECFM field in the Start-of-File record must be specified for the Barr File port to correctly rebuild the job or file from the BFT format.
A BFT format file contains the four types of records described in this section.
The first record in a BFT format file is a Start-of-File (SOF) record.
Field |
Column |
Length |
Type |
Contents | ||||||||||||||||||
TYPE |
1 |
1 |
number |
0 = SOF record. | ||||||||||||||||||
RECNO |
4 |
4 |
number |
Record number of first record. | ||||||||||||||||||
LENGTH |
6 |
2 |
number |
Maximum logical record length. 0 = files native record length is unknown but must be less than 32,760 bytes. 1 to 32,760 = native record length for the file not including ASA carriage control. Records might be longer or shorter than this length because of deferred format conversions. A file without record structure must be partitioned into BFT format records for sending. For example, partitioning can be arbitrary to maximize packing efficiency. | ||||||||||||||||||
CHARSET |
8 |
1 |
number |
1 = binary; 2 = ASCII; 3 = EBCDIC ASCII and EBCDIC data contain only printable characters and can be converted from one character set to another. Binary data cannot be converted without losing information. | ||||||||||||||||||
FORMAT |
9 |
1 |
number |
1 = no ASA; 2 = ASA; 3 = no record structure. A file with record structure may or may not contain ASA carriage control. The first byte of ASCII or EBCDIC data may contain a valid ASA carriage control character in the same character set as the rest of the record; binary data may not have carriage control. This ASA byte is counted in the physical record length specified in the LENGTH field of an SOR record; however, the ASA byte is not counted in the logical record length specified in the LENGTH field of an SOF record or in user messages | ||||||||||||||||||
SYSTEM |
10 |
1 |
number |
The files native operating system. 0 = unknown operating system. 1 = PC DOS & family. 2 = MVS & family. This field describes the native operating system of the file; its value determines the format of the other system-specific fields. | ||||||||||||||||||
RECFM |
11 |
1 |
... |
The format of the file on its native system. Possible values are given as bit patterns (with the high-order bit on the left), decimal numbers, and JCL mnemonics. | ||||||||||||||||||
|
||||||||||||||||||||||
If SYSTEM=PC DOS, valid values for RECFM are as follows: |
||||||||||||||||||||||
Binary |
Decimal |
JCL |
Description |
|||||||||||||||||||
0000 1000 |
8 |
TB |
Binary file with no record structure |
|||||||||||||||||||
0000 1100 |
12 |
TBF |
Fixed-length binary records with no delimiters |
|||||||||||||||||||
0001 0000 |
16 |
TV |
Variable-length ASCII records, terminated by CR LF (formerly TD) |
|||||||||||||||||||
0001 0001 |
17 |
TP |
Variable-length ASCII records, terminated by CR LF; may include FF and some records with only a CR |
|||||||||||||||||||
0001 0100 |
20 |
TDF |
Fixed-length ASCII records, terminated by CR LF |
|||||||||||||||||||
0001 1000 |
24 |
TA |
ASCII file with no record structure (formerly T) |
|||||||||||||||||||
0001 1100 |
28 |
TF |
Fixed-length ASCII records with no delimiters |
|||||||||||||||||||
|
||||||||||||||||||||||
If SYSTEM=MVS, valid values for RECFM are as follows (same as RECFM field in DCB). The following MVS record formats use EBCDIC character set and record structure. Barr software inputs, but does not output, machine carriage control. In the following table, spanned refers to spanned records; blocked refers to blocked records; ASA refers to ASA carriage control. Other features are self-explanatory. |
||||||||||||||||||||||
Binary |
Decimal |
JCL |
Description |
|||||||||||||||||||
0010 0000 |
32 |
D |
Variable-length on an ANSI tape |
|||||||||||||||||||
0010 0100 |
6 |
DA |
ASA |
|||||||||||||||||||
0010 1000 |
40 |
DS |
spanned |
|||||||||||||||||||
0010 1100 |
44 |
DSA |
spanned, ASA |
|||||||||||||||||||
0011 0000 |
48 |
DB |
blocked |
|||||||||||||||||||
0011 0100 |
52 |
DBA |
blocked, ASA |
|||||||||||||||||||
0011 1000 |
56 |
DBS |
blocked, spanned |
|||||||||||||||||||
0011 1100 |
60 |
DBSA |
blocked, spanned, ASA |
|||||||||||||||||||
0100 0000 |
64 |
V |
Variable-length |
|||||||||||||||||||
0100 0010 |
66 |
VM |
VM machine carriage control |
|||||||||||||||||||
0100 0100 |
68 |
VA |
ASA |
|||||||||||||||||||
0100 1000 |
72 |
VS |
spanned |
|||||||||||||||||||
0100 1010 |
74 |
VSM |
spanned, machine carriage control |
|||||||||||||||||||
0100 1100 |
76 |
VSA |
spanned, ASA |
|||||||||||||||||||
0101 0000 |
80 |
VB |
blocked |
|||||||||||||||||||
0101 0010 |
82 |
VBM |
blocked, machine carriage control |
|||||||||||||||||||
0101 0100 |
84 |
VBA |
blocked, ASA |
|||||||||||||||||||
0101 1000 |
88 |
VBS |
blocked, spanned |
|||||||||||||||||||
0101 1010 |
90 |
VBSM |
blocked, spanned, machine carriage control |
|||||||||||||||||||
0101 1100 |
92 |
VBSA |
blocked, spanned, ASA |
|||||||||||||||||||
0110 0000 |
96 |
VT |
track overflow |
|||||||||||||||||||
0110 0010 |
98 |
VTM |
track overflow, machine carriage control |
|||||||||||||||||||
0110 0100 |
100 |
VTA |
track overflow, ASA |
|||||||||||||||||||
0111 0000 |
112 |
VBT |
blocked, track overflow |
|||||||||||||||||||
0111 0010 |
114 |
VBTM |
blocked, track overflow, machine carriage control |
|||||||||||||||||||
0111 0100 |
116 |
VBTA |
blocked, track overflow, ASA |
|||||||||||||||||||
1000 0000 |
128 |
F |
Fixed-length |
|||||||||||||||||||
1000 0010 |
130 |
FM |
machine carriage control |
|||||||||||||||||||
1000 0100 |
132 |
FA |
ASA |
|||||||||||||||||||
1000 1000 |
136 |
FS |
standard format blocks |
|||||||||||||||||||
1000 1010 |
138 |
FSM |
standard, machine carriage control |
|||||||||||||||||||
1000 1100 |
140 |
FSA |
standard, ASA |
|||||||||||||||||||
1001 0000 |
144 |
FB |
blocked |
|||||||||||||||||||
1001 0010 |
146 |
FBM |
blocked, machine carriage control |
|||||||||||||||||||
1001 0100 |
148 |
FBA |
blocked, ASA |
|||||||||||||||||||
1001 1000 |
152 |
FBS |
blocked, standard |
|||||||||||||||||||
1001 1010 |
154 |
FBSM |
blocked, standard, machine carriage control |
|||||||||||||||||||
1001 1100 |
156 |
FBSA |
blocked, standard, ASA |
|||||||||||||||||||
1010 0000 |
160 |
FT |
track overflow |
|||||||||||||||||||
1010 0010 |
162 |
FTM |
track overflow, machine carriage control |
|||||||||||||||||||
1010 0100 |
164 |
FTA |
track overflow, ASA |
|||||||||||||||||||
1011 0000 |
176 |
FBT |
blocked, track overflow |
|||||||||||||||||||
1011 0010 |
178 |
FBTM |
blocked, track overflow, machine carriage control |
|||||||||||||||||||
1011 0100 |
180 |
FBTA |
blocked, track overflow, ASA |
|||||||||||||||||||
1100 0000 |
192 |
U |
Undefined-format (variable length) |
|||||||||||||||||||
1100 0010 |
194 |
UM |
machine carriage control |
|||||||||||||||||||
1100 0100 |
196 |
UA |
ASA |
|||||||||||||||||||
1110 0000 |
224 |
UT |
track overflow |
|||||||||||||||||||
1110 0010 |
226 |
UTM |
track overflow, machine carriage control |
|||||||||||||||||||
1110 0100 |
228 |
UTA |
track overflow, ASA |
|||||||||||||||||||
|
|
|
|
|||||||||||||||||||
NAME |
12 |
50 |
ASCII |
The file name, left justified and padded with blanks on the right. | ||||||||||||||||||
MISC |
62 |
5 |
... |
System-specific information; this areas format depends on the value of SYSTEM. Binary zeros here will be interpreted as default values for all operating systems. | ||||||||||||||||||
ATTR |
62 |
1 |
... |
The DOS directory attribute byte for PC users. | ||||||||||||||||||
|
||||||||||||||||||||||
TIME |
63 |
|
|
| ||||||||||||||||||
|
||||||||||||||||||||||
DATE |
65 |
2 |
|
| ||||||||||||||||||
|
||||||||||||||||||||||
BLKSIZE |
62 |
|
|
| ||||||||||||||||||
ID |
73 |
|
|
|
The SOR record contains descriptor information and data. Continue additional data on Continuation-of-Record (COR) records.
Field |
Column |
Length |
Type |
Contents |
TYPE |
1 |
1 |
number |
1 = (SOR) Start of record. |
RECNO |
2 |
4 |
number |
Record number of this record. |
LENGTH |
6 |
2 |
number |
Physical record length or number of bytes of data including any ASA carriage control. When a mainframe file with variable-length records is represented in BFT format, the record descriptor words are not included in the logical records. |
STEXT |
8 |
73 |
... |
The first 73 bytes of data from the record, padded with ASCII blanks if necessary. All the numeric fields contain unsigned binary integers, with the most significant byte first. Any columns in a record not used by fields will contain ASCII spaces (blanks). |
As many COR records as needed are used to hold all data that do not fit on the SOR record.
Field |
Column |
Length |
Type |
Contents |
TYPE |
1 |
1 |
number |
2 = Continuation-of-Record record (COR). |
SEQ |
2 |
1 |
number |
Sequence number of this data record. The first one has sequence = 2 (the SOR record has implied sequence 1), and the numbers roll over to 0 after they reach 255. |
CTEXT |
3 |
78 |
|
The next 78 bytes of data from the record, padded with ASCII blanks if necessary. |
The last record in the stream is the EOF record, which contains checksums for the data sent.
Field |
Column |
Length |
Type |
Contents |
TYPE |
1 |
1 |
number |
3 = End-of-File record (EOF). |
RECNO |
2 |
4 |
number |
Total number of records sent. |
LINES |
6 |
4 |
number |
Total number of BFT format records sent, including the SOF and EOF records. |
LAST |
10 |
1 |
number |
1 (other values reserved). |