Multiple File Join
HULFT merges multiple files into a single file with this function. You can add data to the existing joined files or to the joined files created by machines on other platforms.
(1) Multiple File Join Program (XRJOIN)
Program Name
XRJOIN
Execution parameters (for EXEC statement)
a b c d [REP|MOD],[CONTINUE|ABEND][,UNIT=xxxxxx][,ATTR=AUTO|NO]
- a. Output mode
-
This parameter selects the output mode for the output file. (Optional)
- REP:
-
Overwrite a joined file with the output data. Make sure to specify this option when you want to write the output data to a newly-created joined file.
- MOD:
-
Append the output data to a joined file. Use this option for a joined file that already contains joined data. If you use this option for a newly-created file that is not joined, the program will not work correctly.
Defaulting this parameter sets 'REP.'
- b. Handling of card errors
-
This parameter defines how HULFT handles an error that occurs during card processing. (Optional)
- CONTINUE:
-
Skip the card in which the error occurred and process the next card.
- ABEND:
-
End all processing at the point where the error occurred.
Defaulting this parameter sets 'CONTINUE.'
- c. Unit name
-
This parameter defines the unit name of the input data set. (Optional)
HULFT sets the unit name that you define here to the XRCRD definition card if you omit the definition of the Unit Name on the XRCRD definition card.
Defaulting this parameter sets 'SYSDA.'
- d. Obtain input file attributes
-
This parameter defines whether or not to store the input file attributes in the joined file. (Optional)
- AUTO:
-
Store all the input file attributes in the joined file.
If you store the input file attributes, the stored information can be used to automatically set the size and attributes of the output file when the file is split.
- NO:
-
Store a portion of the input file attributes in the joined file.
If you specify "NO" and join files, the attributes that cannot be stored in the joined file are specified using the output file size and attributes defined in the XRCRD definition card of the Joined File Break program (XRBREAK) when the file is split.
Omitting this parameter sets "NO".
The attributes that can be stored in the joined file and used for splitting are as follows.
Table 6.1 File Attributes That Can Be Stored in Joined Files
File Attributes
Specification of "AUTO"
Specification of "NO" or omission
Record Format
✓
✓
Record Length
✓
✓
Block Size
✓
✓
1ST Extent
✓
Secondary
✓
Space unit (CYL, TRK)
✓
Directory Block Count
✓
Record Format Including Print Characters
✓
✓
:
Stored
Blank
:
Not Stored
Note-
When you join files with Obtain input file attributes specified as "AUTO", you can only split or view the contents of the files on HULFT for Mainframe Ver.8.4 or higher. On the following products, you cannot split or view the contents of joined files that were joined with Obtain input file attributes specified as "AUTO".
-
Products other than HULFT for Mainframe
-
HULFT for Mainframe lower than Ver.8.4
-
-
When you use the Multiple File Join command on products other than HULFT for Mainframe or on HULFT for Mainframe lower than Ver.8.4, you cannot append data to files that were joined with Obtain input file attributes specified as "AUTO".
-
On HULFT for Mainframe Ver.8.4 or higher, when you want to append data to a joined file that was joined with Obtain input file attributes specified as "AUTO", be sure to specify Obtain input file attributes as "AUTO".
XRSYSIN Definition Card
This card defines the System Environment Settings of HULFT system. For details on the definitions, refer to the explanation of the System Environment Settings in Administration Manual.
Format of definition card
OPLSELECT=Operation Log Output Option (*1) CS4TRNSFR=Code Set for Transfer
*1 |
: |
When you use the operation log output function, you must include definitions related to operation logs. For details, refer to Definitions for operation logs. |
XRCRD Definition Card
When files are split, HULFT uses the information defined on the definition card to create files in the same condition as the files before they were joined.
The following shows the format of the definition card for defining the files to be joined:
Format of definition card
a b c d DSNAME=xxxxxx...xxx[,VOL=xxxxxxxx] ,TYPE={T|B|F|M}[,ID=xxxxxxxx] e f [,JIS={78|83}][,UNIT=xxxxxx]
If the definition card spans two lines, use the following method to define the definition card:
-
Describe a line up to a comma (,) that follows a parameter, insert a single-byte space, and then insert a hyphen (-) in column 71 or before.
Input contents of definition card
- a. Data set name
-
This parameter defines the data set name of the input file. (Mandatory)
You can define Sequential Organization files (fixed-length or variable-length) or Partitioned Organization files (fixed-length). The Sequential Organization files that you can define include generation files and multi-volume files.
You can use a wild card (*) to specify a prefix match or a suffix match. You can use a wild card for data set names of Sequential Organization files or member names of partitioned data sets (PDS).
Note-
When you join generation data sets (GDSs), note the following points:
-
When you join generation data sets (GDSs), HULFT stores an absolute generation number as the file name in the joined file. Therefore, even if you join a file that has a relative generation number, HULFT outputs an absolute generation number as the file name in the messages.
-
When you join generation data sets (GDSs) in HULFT for Mainframe and split the file in HULFT for Mainframe without specifying file names, HULFT creates split files with absolute generation numbers. The split files no longer function as generation data sets (GDSs) and HULFT does not treat the files as generation data sets (GDSs).
-
-
When you use a wild card for data set names, you must define a volume serial number.
-
Do not use a wild card for the file name of a multi-volume file. When you define a multi-volume file, make sure that the multi-volume file is cataloged. In addition, default the Volume Serial on the definition card.
-
- b. Volume serial
-
This parameter defines the volume serial number of the data set defined in the parameter for the data set name. (Optional)
Define the Volume Serial in the following cases:
-
Case where the data sets that you define for the Dataset Name are not cataloged
-
Case where you use a wild card for the Dataset Name
-
- c. File type
-
This parameter defines the file type. (Mandatory)
- T:
-
Text data
- B:
-
Binary data
- F:
-
Format data
- M:
-
Multi Format data
- d. ID
-
This parameter defines the Format ID (FMTID) of the Format Information or the Multi Format ID (MFMTID) of the Multi Format Information. (Optional)
You cannot default this parameter if you specify 'F' (Format data) or 'M' (Multi Format data) for the File Type.
- e. Standard for Japanese
-
This parameter defines the JIS year. (Optional)
- 78:
-
JIS78
- 83:
-
JIS83
Defaulting this parameter sets '83.'
- f. Unit name
-
This parameter defines the unit name of the input data set that you define for the Dataset Name. (Optional)
Defaulting this parameter sets the Unit Name that is defined for the execution parameter (for the EXEC statement).
Format of joined file
DD Name |
XRJOIN |
File Organization |
Sequential Organization File |
Record Length |
1024 bytes |
Record Format |
Fixed-length blocked format |
-
For details on the upper limit of the record length for each file type (transfer type) that you specify in 'DSNAME,' refer to the section about Send files in Administration Manual.
-
You can join a maximum of 65535 files into a single joined file. You cannot join files when the number of files exceeds this value. When you use wild cards, be careful not to exceed the limit.
-
When you split a joined file on products other than HULFT for Mainframe or on HULFT for Mainframe lower than Ver.8.4, the file can only be split into up to 9999 files successfully.
-
When you display the content of a joined file on products other than HULFT for Mainframe or on HULFT for Mainframe lower than Ver.8.4, only up to 9999 files can be displayed successfully.
Example of JCL
//XRJOIN JOB CLASS=A,MSGCLASS=B //XRJOIN EXEC PGM=XRJOIN,PARM='REP,ABEND' //STEPLIB DD DSN=HULFT.LOAD,DISP=SHR //XRFILE DD DSN=HULFT.FILE,DISP=SHR //XRHOST DD DSN=HULFT.HOST,DISP=SHR //XRSYSIN DD DSN=HULFT.PARMLIB(HULPRM),DISP=SHR //XRJOIN DD DSN=HULFT.JOIN.FILE,DISP=(NEW,KEEP),UNIT=SYSDA, // VOL=SER=HUL001,DCB=(BLKSIZE=10240,LRECL=1024,RECFM=FB), // SPACE=(CYL,(5,5),RLSE) //XRPRINT DD SYSOUT=* //SYSOUT DD SYSOUT=* //XRCRD DD * DSNAME=HULFT.DATA01,VOL=WRKVOL,TYPE=M,ID=MULTI03,JIS=78 DSNAME=HULFT.DATA02,VOL=WRKVOL,TYPE=T //
DD Name |
Value |
Description |
---|---|---|
STEPLIB |
HULFT.LOAD |
HULFT load module library |
XRFILE |
HULFT.FILE |
Send and Receive Management File |
XRHOST |
HULFT.HOST |
Host Information File |
XRSYSIN |
HULFT.PARMLIB(HULPRM) |
System Environment Settings File |
XRJOIN |
HULFT.JOIN.FILE |
Joined File |
Parameter Name |
Value |
Description |
---|---|---|
UNIT |
SYSDA |
UNIT |
VOL=SER |
HUL001 |
Volume Name |