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.

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 following:

HULFT10 for zOS Administration Manual : Explanation of each field

Format of definition card

OPLSELECT=Operation Log Output Option (*1)

*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]

= Remarks =

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).

Notes

"D" (EBCDIC-ASPEN) and "G" (NEC Katakana) of the EBCDIC Set (CODESET) are not recommended. If you join files that use "D" (EBCDIC-ASPEN) and "G" (NEC Katakana), these files may not split when future versions are used.

Format of joined file

DD Name

XRJOIN

File Organization

Sequential Organization File

Record Length

1024 bytes

Record Format

Fixed-length blocked format

Note
  • For details on the upper limit of the record length for each file type (transfer type) that you specify in 'DSNAME,' refer to the following:

    HULFT10 for zOS Administration Manual : Send files

  • 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