Joined File Break

Files that are joined and then transferred can be split and output as separate files. When this function outputs the files, it splits the files while carrying out code conversion based on the information that was used to join the files and the parameter specified below.

Joined File Break Program (XRBREAK)

Program Name

XRBREAK

Execution parameters (for EXEC statement)

       a              b 
[UNIT=xxxxxx][,ABDISP=KEEP|DELETE]

a. Unit name

This parameter defines the unit name of the output destination file. (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.'

b. Keep file in case of error

In the case that an error occurs during splitting of the joined file, this parameter defines whether to keep the output file up to the point when the error occurred or delete it. (Optional)

KEEP:

In the case that an error occurs and interrupts splitting, keep the output file up to the point when the error occurred.

DELETE:

In the case that an error occurs and interrupts splitting, delete the output file.

Omitting this field sets "DELETE".

Note

Regardless of the setting of this field, if the output file is a partitioned file, the member to which output was interrupted is deleted.

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

GAIJIFILE=Use Custom Character Table 
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

The following shows the format of the definition card for defining the file to be split and the output destination:

Format of definition card

                  a                                    b 
{SEQNO=99999[-99999]|TGTFILE="xxxxx...xxx"} ,{DD=xxxxxxxx|VOL=xxxxxxxx} 
                  c                                d 
[,SPACE=(xxx,(9999,9999,9999))][,RECFM={F|V},LRECL=99999,BLKSIZE=99999] 
                  e                       f          g          h 
[,CODESET={0|A|B|C|D|E|F|G|H|V|W|X}][,SHIFT={Y|N}][,REP][,TABCHG={1|2}] 
        i           j             k 
[,UNIT=xxxxxx][,RLSE={Y|N}][,CATLG={Y|N}]
= Remarks =

If the definition card spans two lines, use either of the following two methods to define the definition card:

  • Describe the first line up to column 71, and then insert a hyphen (-) in column 72. Describe the second line starting in column 1.

  • 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. File definition method

This parameter defines the file to be extracted from the joined file. (Mandatory)

SEQNO:

Specify the sequential number of the file to be extracted from the joined file.

Specify a value from "1" to "65535" for this parameter.

TGTFILE:

Specify the file name of the file to be extracted from the joined file. Enclose the file name within double quotation marks ("). To split all files that comprise the joined file, specify 'TGTFILE=*.'

Note

When you define a partitioned data set (PDS) for 'TGTFILE,' also define the member name.

b. Specification of the output destination

This parameter defines the DD name or the volume serial number of the output destination. (Mandatory)

DD:

Specify the DD name of the output destination. You can specify only a Sequential Organization file or a partitioned data set (PDS). In the DD statement with the specified DD name, specify an existing data set.

You cannot define an output destination if you specify a range of files to be extracted or if you specify all the files to be split.

VOL:

Specify the serial number of the volume in which HULFT is to create the output destination data set.

c. Space

This parameter defines the space capacity that HULFT uses when HULFT creates a new file in the output destination (Optional). Define this parameter in the format of 'CYL|TRK,(default value, secondary extent, number of directory blocks).'

CYL:

Specify the number of cylinders.

TRK:

Specify the number of tracks.

Space capacity is determined in the following order:

1) The value specified for the DD name of the Specification of the output destination

2) The value specified for this field

3) The value stored in the joined file

4) The default value below

If the output destination file is a Sequential Organization file:

CYL (5,3)

If the output destination file is a Partitioned Organization file:

CYL (5,3,50)

Note
  • If you define both the DD name for the Specification of the output destination and the Space, an error occurs.

  • When the output destination is a Sequential Organization file, the setting of the number of directory blocks is disabled.

  • On HULFT for XSP, when splitting a joined file that was created with "AUTO" specified for the Obtain input file attributes, if the number of directory blocks is not specified when it is split, HULFT makes up for the difference between host types.

    A value four times the number of directory blocks stored when the joined file was created is automatically set and the file is split.

d. Format of output file

This parameter defines the format of the output destination file. (Optional)

RECFM:

Specify the record format of the output destination file.

F: Fixed

V: Var

If HULFT other than HULFT for Mainframe created the joined file, defaulting this parameter defines fixed length format. If HULFT for Mainframe created the joined file, defaulting this parameter defines the record format of the joined file.

LRECL:

Specify the record length of the output destination data set.

Specify a value from '1' to '32760' if the Record Format (RECFM) is set to 'F' (Fixed).

Specify a value from '5' to '32756' if the Record Format (RECFM) is set to 'V' (Var).

Defaulting this parameter sets the same record length as that of the joined file. However, if you split a file whose file type is 'F' (Format data) or 'M' (Multi Format data), HULFT automatically creates the split file based on the Format Information.

If the record format is in a variable length format, HULFT adds 4 to the record length.

BLKSIZE:

Specify the block size of the output destination data set.

Specify an integral multiple of the record length if the Record Format (RECFM) is 'F' (Fixed).

Specify a value that is higher than the record length plus 4 if the Record Format (RECFM) is 'V' (Var).

Defaulting this parameter defines the block size of the joined file.

Note

If you define both the DD name for the Specification of the output destination and the Format of output file, an error occurs.

e. EBCDIC Set

This parameter defines the Type-EBCDIC Code Set on the local host that HULFT uses to split the joined file. (Optional)

0:

Autoconfiguration

A:

EBCDIC Katakana

B:

EBCDIC Lowercase

C:

EBCDIC-ASCII

D:

EBCDIC-ASPEN

E:

Japan (Latin) for IBM

F:

Japan (Latin) Extended for IBM

G:

NEC Katakana

H:

Japan (Katakana) Extended for IBM

V:

User Table 1

W:

User Table 2

X:

User Table 3

Defaulting this parameter sets '0' (Autoconfiguration),

f. Shift code mode

This parameter defines the shift code mode for code conversion. (Optional)

Y:

Add shift codes.

N:

Do not add shift codes.

Defaulting this field sets 'Y' (Add).

g. Output mode

This parameter defines the output mode that HULFT uses when HULFT overwrites the output destination file. (Optional)

If a file with the same name as the file to be extracted exists in the same volume as the output destination, HULFT cannot create a new output destination file. Specify 'REP' to overwrite the existing file that has the same name.

Note

If you specify the DD name for the Specification of the output destination, HULFT overwrites the file regardless of the setting of the output mode.

h. Tab conversion processing

This parameter defines the tab conversion processing. (Optional)

1:

Convert tabs of ASCII into space codes of EBCDIC.

2:

Convert tabs of ASCII into tabs of EBCDIC.

Defaulting this parameter sets '1.'

Note

If an EBCDIC user table is registered and one of the following values is specified for EBCDIC Set, the Tab conversion processing parameter has no effect even if specified, and tabs are converted according to the registered contents in the EBCDIC user table:

  • V (User Table 1)

  • W (User Table 2)

  • X (User Table 3)

i. Unit name

This parameter defines the unit name of the output destination file. (Optional)

Defaulting this parameter sets the Unit Name that is defined for the execution parameter (for the EXEC statement).

j. Unused area

This parameter defines whether or not to release the unused area that exists in the new output destination file that you created. (Optional)

Y:

Release the unused area.

N:

Do not release the unused area.

Defaulting this parameter sets 'Y.'

Note
  • If you define both the DD name for the Specification of the output destination and the Unused area, an error occurs.

  • When you output a partitioned data set (PDS), specify 'N.' If you default this parameter or if you specify 'Y,' the size of the output file may exceed the capacity.

k. Catalog

This parameter defines whether or not to catalog the output file. (Optional)

Y:

Catalog the file.

N:

Do not catalog the output file.

Defaulting this parameter sets 'N.'

If you specify 'C,' HULFT catalogs the output file the same way as when you specify 'Y.'

Note

If you define both the DD name for the Specification of the output destination and the Format of output file, an error occurs.

Points to be noted

  • Joined file name or output destination file name

    • When you define a file name that spans multiple lines on a definition card, write the first part of the file name up to column 71. Enclose this part of the file name within double quotation marks (") and add a hyphen (-) at the end of the line. In the subsequent line, write the remaining part of the file name starting in column 1 and enclose this part of the file name within double quotation marks ("). Use only uppercase alphabetic characters (not lowercase alphabetic characters) to define the file name.

    • If the joined file name contains multi-byte codes, an error occurs when the file is split.

  • Space

    If you define the DD name for the Specification of the output destination, you cannot define the Space.

  • Format of output file

    • If you define the DD name for the Specification of the output destination, you cannot define the Format of the output file.

    • To split a file for which 'B' (Binary data) is defined for the file type when the file is joined in one of the following products, the Specification of the output destination determines whether or not you can default the Format of the output file:

      • HULFT for Windows

      • HULFT for UNIX

      • HULFT for Linux

      Specification of Output Destination

      Whether Format of Output File Can be Defaulted

      DD Name

      Optional

      Volume Serial

      Mandatory

    • To split a file for which 'T' (Text data) or 'B' (Binary data) is defined for the file type when the file is joined in one of the following products, HULFT does not use the information stored in the joined file if you define a range for the split target files:

      • HULFT for Windows

      • HULFT for UNIX

      • HULFT for Linux

    • HULFT does not support output to records in a non-blocked format.

  • EBCDIC Set

    • If you define any of the following values for the EBCDIC Set, you must specify the corresponding EBCDIC user table in advance:

      • V (User Table 1)

      • W (User Table 2)

      • X (User Table 3)

      For details on the setting of EBCDIC user tables, refer to the following:

      HULFT10 for zOS Administration Manual : EBCDIC user table settings

      In order to specify any of the above, there are conditions that must be met. Even if the conditions for specification are met, an error may occur during sending. For details, refer to the following:

    • If the Code Set for Transfer for the joined file is set to "UTF-8" and you specify one of the following, an error occurs:

      • V (User Table 1)

      • W (User Table 2)

      • X (User Table 3)

    • If you default EBCDIC Set or you set "0" for EBCDIC Set, HULFT automatically sets "F" (Japan (Latin) Extended for IBM) for EBCDIC Set.

  • Splitting files in SMS-managed environment

    HULFT does not support splitting files in an SMS-managed environment.

Format of joined file

DD Name

XRJOIN

File Organization

Sequential Organization File

Record Length

1024 bytes

Record Format

Fixed-length blocked format

Example of JCL

  • Example of JCL 1

    The following shows an example of the JCL for defining a DD name for the output destination.

    //XRBREAK  JOB  CLASS=A,MSGCLASS=B                                              
    //XRBREAK  EXEC PGM=XRBREAK,REGION=4096K                                               
    //STEPLIB  DD   DSN=HULFT.LOAD,DISP=SHR                                         
    //XRSYSIN  DD   DSN=HULFT.PARMLIB(HULPRM),DISP=SHR                              
    [//XREXTLIB DD  DSN=HULFT.LOAD,DISP=SHR]                                        
    //XROUT    DD   DSN=HULFT.DATA(DATA1),DISP=(OLD,KEEP)                           
    //XRJOIN   DD   DSN=HULFT.JOIN.FILE,DISP=SHR                                    
    //XRPRINT  DD   SYSOUT=*                                                        
    //SYSOUT   DD   SYSOUT=*                                                        
    //XRCRD    DD   *                                                               
    TGTFILE="HULFT.TXT",DD=XROUT                                                    
    //                                                                              
    

    DD Name

    Value

    Description

    STEPLIB

    HULFT.LOAD

    HULFT load module library

    XRSYSIN

    HULFT.PARMLIB(HULPRM)

    System Environment Settings File

    XREXTLIB

    HULFT.LOAD

    HULFT load module library (*1)

    XROUT

    HULFT.DATA(DATA1)

    Output Destination File

    XRJOIN

    HULFT.JOIN.FILE

    Joined File

    *1

    :

    If you specify conversion of custom character code using a custom character table when you split a joined file, you must add a library to store the custom character table. For details on custom character tables, refer to the following:

    HULFT10 for zOS Administration Manual : Custom character table

  • Example of JCL 2

    The following shows an example of the JCL for defining a volume serial for the output destination.

    //XRBREAK  JOB  CLASS=A,MSGCLASS=B                                              
    //XRBREAK  EXEC PGM=XRBREAK,REGION=4096K                                               
    //STEPLIB  DD   DSN=HULFT.LOAD,DISP=SHR                                         
    //XRSYSIN  DD   DSN=HULFT.PARMLIB(HULPRM),DISP=SHR                              
    [//XREXTLIB DD  DSN=HULFT.LOAD,DISP=SHR]                                        
    //XRJOIN   DD   DSN=HULFT.JOIN.FILE,DISP=SHR                                    
    //XRPRINT  DD   SYSOUT=*                                                        
    //SYSOUT   DD   SYSOUT=*                                                        
    //XRCRD    DD   *                                                               
    SEQNO=0001-0012,RECFM=F,LRECL=256,BLKSIZE=2560,CODESET=A,SHIFT=N,      -        
    VOL=WRKX01                                                                      
    //                                                                              
    

    DD Name

    Value

    Description

    STEPLIB

    HULFT.LOAD

    HULFT load module library

    XRSYSIN

    HULFT.PARMLIB(HULPRM)

    System Environment Settings File

    XREXTLIB

    HULFT.LOAD

    HULFT load module library (*1)

    XRJOIN

    HULFT.JOIN.FILE

    Joined File

    *1

    :

    If you specify conversion of custom character code using a custom character table when you split a joined file, you must add a library to store the custom character table. For details on custom character tables, refer to the following:

    HULFT10 for zOS Administration Manual : Custom character table

File Naming Conventions

If you omit the specification of the output file name when you split a joined file, HULFT automatically creates the output file based on the machine type on which HULFT created the joined file, using the rules explained below:

  • When the machine type that creates the joined file is Windows

    When the input file name upon creation of the joined file complies with the naming conventions for mainframes, HULFT uses the input file name the way it is as the output file name.

    When the input file name does not comply with the naming conventions for mainframes, HULFT creates an output file name from the input file name upon creation of the file that was joined, based on the rules in the following table:

    Input File Name at Creation of Joined File

    Output File Name

    c:\test1\test\test3.txt

    TEST3.TXT

    ..\test1\test2\TEST3.TXT

    TEST3.TXT

    test1.test2.test3.txt

    TEST1.TEST2.TEST3.TXT

  • When the machine type that creates the joined file is UNIX or Linux

    When the input file name upon creation of the joined file complies with the naming conventions for mainframes, HULFT uses the input file name the way it is as the output file name.

    When the input file name does not comply with the naming conventions for mainframes, HULFT creates an output file name from the input file name upon creation of the file that was joined, based on the rules in the following table:

    Input File Name at Creation of Joined File

    Output File Name

    /test1/test2/test3.txt

    TEST3.TXT

    ../test1/test2/TEST3.TXT

    TEST3.TXT

    test1.test2.test3.txt

    TEST1.TEST2.TEST3.TXT

  • When the machine type that creates the joined file is IBMi

    HULFT creates an output file name from the input file name upon creation of the joined file based on the rules in the following table:

    Input File Name at Creation of Joined File

    Output File Name

    MYLIB/TXT(TEST)

    TXT(TEST)

    = Remarks =

    In this case, the output file is a partitioned data set (PDS).

  • When the machine type that creates the joined file is Mainframe

    HULFT uses the input file name upon creation of the joined file the way it is as the output file name, as shown in the following table:

    File Organization

    Input File Name at Creation of Joined File

    Output File Name

    Sequential Organization File

    TEST1.TEST2.TEST3.TXT

    TEST1.TEST2.TEST3.TXT

    Partitioned Data Set (PDS)

    TEST1.TEST2.TXT(TEST3)

    TEST1.TEST2.TXT(TEST3)

 

Note

If the file name (including the member name) does not comply with the naming conventions for mainframes, HULFT creates a data set name that starts with "HUL" followed by a sequence number (00001 to 65535) for the file name.

The following shows an example when HULFT for IBMi creates the joined file.

Example:

Input File Name at Creation of Joined File

Output File Name

MYLIB/TXT_1(TEST)

HUL00001.DATA

Since the file name of the joined file that HULFT for IBMi creates contains '_,' HULFT cannot use this file name as a data set name.

Therefore, HULFT automatically creates a Sequential Organization file with the name "HUL00001.DATA".