Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

ASSIGN-OUTPUT-FILE

&pagelevel(4)&pagelevel

This statement is only permissible for file copying or tape editing. It assigns an output file. Furthermore, the response to errors and the subsequent user modules to be connected can be defined for error situations.

ASSIGN-OUTPUT-FILE

FILE = *DISK-FILE (...) / *TAPE-FILE(...) / *SYSLST(...) / *SYSOUT(...)


*DISK-FILE (...)



|

NAME = *STD / <filename 1..54>



|

,REMOVE-FILE-LINK = *STD / *NO / *YES(...)



|


*YES(...)



|



|

RELEASE-DEVICE = *YES / *NO



|

,FILE-ATTRIBUTES = *STD / *INPUT-FILE



|

,OVERWRITE = *YES / *NO



|

,ALTERNATE-INDEX = *NONE / *FROM-INPUT-FILE(...)



|


*FROM-INPUT-FILE(...)



|



|

LINK-NAME = PCIN / <filename 1..8 without-gen>



|

,UNICODE-NORMALIZE = *NO / *COMPOSED



|

,UNICODE-FILLER = *BLANK / *NIL


*TAPE-FILE(...)



|

NAME = *STD / <filename 1..54>



|

,REMOVE-FILE-LINK = *STD / *NO / *YES(...)



|


*YES(...)



|



|

RELEASE-DEVICE = *YES / *NO



|



|

,UNLOAD-RELEASED-TAPE = *NO / *YES



|

,FILE-ATTRIBUTES = *STD / *INPUT-FILE



|

,OVERWRITE = *YES / *NO



|

,END-POSITION = *BEGIN-OF-TAPE / *BEGIN-OF-FILE / *END-OF-FILE / *UNLOAD-TAPE



|

,CODE-TRANSLATION = *NO / *MODULE(...)



|


*MODULE(...)



|



|

NAME = <name 1..8>



|

,LABEL-EXIT = *NO / *MODULE(...)



|


*MODULE(...)



|



|

NAME = <name 1..8>



|



|

,CONTROLLED-LABEL = *STD / list-poss(2000): *VOL-USER-LABEL /



|



|

*HDR-USER-LABEL / *EOV-USER-LABEL / *END-USER-LABEL /



|



|

*CLOSE-POSITION / *LABEL-ERROR



|

,UNICODE-NORMALIZE = *NO / *COMPOSED



|

,UNICODE-FILLER = *BLANK / *NIL


*SYSLST(...)



|

RECORD-FORMAT = *UNDEFINED / *VARIABLE(...) / *FIXED(...)



|


*VARIABLE(...)



|



|

RECORD-SIZE = 32768 / <integer 4..32768>



|


*FIXED(...)



|



|

RECORD-SIZE = 32768 / <integer 1..32768>


*SYSOUT(...)



|

RECORD-FORMAT = *UNDEFINED / *VARIABLE(...) / *FIXED(...)



|


*VARIABLE(...)



|



|

RECORD-SIZE = 32768 / <integer 4..32768>



|


*FIXED(...)



|



|

RECORD-SIZE = 32768 / <integer 1..32768>

,LINK-NAME = PCOUT / <filename 1..8 without-gen>

,OUTPUT-EXIT = *NO / *MODULE(...)


*MODULE(...)



|

NAME = <name 1..8>

FILE =
The FILE command is used to select an output medium.
When FILE=*DISK-FILE or *TAPE-FILE is specified, supplementary specifications can be made via the ADD-FILE-LINK command. When assigning an output file via a ADD-FILE-LINK command or an ASSIGN-OUTPUT-FILE statement, an entry is made in the task file table (TFT) under the link name.

FILE = *DISK-FILE (...)
The output file is on disk.

NAME = *STD / <filename 1..54>

Specifies the name of the output file.This is not required if the file name has already been specified in a ADD-FILE-LINK command to which the ASSIGN-OUTPUT-FILE statement refers via the LINK-NAME operand. The file name in the ADD-FILE-LINK command has priority over the one specified here.

NAME = *STD
The default value is the file name associated with the link name defined in the ADD-FILE-LINK command. If no ADD-FILE-LINK command has been issued, the name declared by means of the LINK-NAME operand is used as the file name.

REMOVE-FILE-LINK =
Defines whether or not and how the TFT entry is to be deleted after file processing or retained.

REMOVE-FILE-LINK = *STD
PERCON deletes the TFT entry only if PERCON itself has created it using an ASSIGN-OUTPUT-FILE statement. If the file has been assigned using a ADD-FILE-LINK command, the TFT entry is retained.

REMOVE-FILE-LINK = *NO
The TFT entry is retained, regardless of how it was created.

REMOVE-FILE-LINK = *YES(...)
The TFT entry is deleted, regardless of how it was created.

RELEASE-DEVICE = *YES / *NO
Used for management of the disk device after processing.
For private disks only.
*YES releases the disk device, *NO specifies that the disk remains assigned to this task.

FILE-ATTRIBUTES =
Defines file attributes for an output file to be newly created which were not specified by means of a ADD-FILE-LINK command.

FILE-ATTRIBUTES = *STD
PERCON assumes the following default values for the file attributes:

ACCESS-METHOD = *ISAM
BLOCK-CONTROL-INFO = default value
BUFFER-LENGTH = *STD(SIZE = n) 
       where n = 1 for 2K-formatted pubset 
       where n = 2 for 4K-formatted pubset
RECORD-FORMAT = *VARIABLE
KEY-POSITION = 5
KEY-LENGTH = 8 

FILE-ATTRIBUTES = *INPUT-FILE

The file attributes ACCESS-METHOD, BLOCK-CONTROL-INFO, BUFFER-LENGTH, RECORD-FORMAT, RECORD-SIZE, KEY-LENGTH and KEY-POSITION are taken from the values set for processing of the first input file.

If the first input file is located on SYSDTA, the default values described under *STD are used with one exception: SIZE=2 is always set for BUFFER-LENGTH.

If the first input file has a variable record format and if editing is requested for the output file, make sure that the unedited output record is provided with an additional record length field in the data section.

If the input file is an ISAM file and specifies BLOCK-CONTROL-INFO=*WITHIN-DATA-2K-BLOCK, it is entered with BLOCK-CONTROL-INFO=*WITHIN-DATA-BLOCK. This means that the file can be set up with WITHIN-DATA-2K-BLOCK or WITHIN-DATA-4K-BLOCK, depending on the pubset on which it is created.

OVERWRITE =
Defines for cases where the ISAM output file already exists how PERCON is to handle input records with keys already present in the output file.

OVERWRITE = *YES
Records with identical key can be processed.
Depending on the specification for DUPLICATE-KEY, the following applies:
If DUPLICATE-KEY=*NO is specified, the record with identical key is overwritten. If more than one record in the output file have the same key, the first of these is overwritten.
If DUPLICATE-KEY=*YES, the record is inserted behind the records with identical key.

OVERWRITE = *NO
Records with identical key cannot be processed.
Only records with new keys can be inserted. This applies irrespective of the specification for DUPLICATE-KEY. The conversion step is aborted and message PER0098 is output if PERCON detects an input record with the same key as a record in the output file. This also applies if the input file contains more than one record with identical key (the first record is inserted, the second causes PERCON to abort).

ALTERNATE-INDEX =
Defines whether the secondary keys of an input file are to be duplicated for the output file or not.

ALTERNATE-INDEX = *NONE
No secondary keys are to be duplicated for the output file.

ALTERNATE-INDEX = *FROM-INPUT-FILE(...)
Secondary keys are to be duplicated for the output file.

LINK-NAME = PCIN / <filename 1..8 without-gen>
PERCON link name of the input file whose secondary keys are to be duplicated.

UNICODE-NORMALIZE =

Defines whether or not the characters are to be normalized. They can be normalized only if the input file and/or output file is assigned the Unicode variant UTF-16. If neither the input file nor the output file is assigned the Unicode variant UTF-16, the specification is ignored.

UNICODE-NORMALIZE = *NO
No normalization takes place.

UNICODE-NORMALIZE = *COMPOSED
Normalization takes place in the composite character representation of the COMPOSED format.

UNICODE-FILLER =
Defines the fill character for Unicode.

UNICODE-FILLER = *BLANK
The blank in the code of the output record is used as the fill character.

UNICODE-FILLER = *NIL
The character X’00’ or X’0000’ is used as the fill character.

FILE = *TAPE-FILE(...)
Output is to a tape file.

NAME = *STD / <filename 1..54>
Specifies the name of the output file.
This is not required if the file name has already been specified in a ADD-FILE-LINK command to which the ASSIGN-OUTPUT-FILE statement refers via the LINK-NAME operand. The file name in the ADD-FILE-LINK command has priority over the one specified here.

NAME = *STD
The default value is the file name associated with the link name specified in the ADD-FILE-LINK command. If no ADD-FILE-LINK command has been issued, the name specified in the LINK-NAME operand is used as the file name.

REMOVE-FILE-LINK =
Defines whether or not and how the TFT entry is to be deleted after file processing or if it is to be retained.

REMOVE-FILE-LINK = *STD
PERCON deletes the TFT entry only if PERCON itself has created it via the ASSIGN-OUTPUT-FILE statement. If the file was assigned using a ADD-FILE-LINK command, the TFT entry is retained.

REMOVE-FILE-LINK = *NO
The TFT entry is retained, regardless of how it was created.

REMOVE-FILE-LINK = *YES(...)

The TFT entry is deleted, regardless of how it was created.

RELEASE-DEVICE = *YES / *NO
Used to manage the reservation of tape device types after processing. If set to *YES the device is released. If set to *NO, the tape remains assigned to this task.

UNLOAD-RELEASED-TAPE = *NO / *YES
Used for management of the tape after processing. The tape remains loaded if *NO is entered. The tape is unloaded if *YES is entered.

FILE-ATTRIBUTES =
Defines file attributes for an output file to be newly created which were not specified via a ADD-FILE-LINK command.

FILE-ATTRIBUTES = *STD
PERCON uses the following default values for the file attributes:

ACCESS-METHOD = *SAM 
BLOCK-CONTROL-INFO = *PAMKEY 
BUFFER-LENGTH = *STD(SIZE = 1) 
RECORD-FORMAT = *VARIABLE 

FILE-ATTRIBUTES = *INPUT-FILE
The file attributes ACCESS-METHOD, BLOCK-CONTROL-INFO, BUFFER-LENGTH, RECORD-FORMAT and RECORD-SIZE are taken from the values set for processing of the first input file.

If the first input file is located on SYSDTA, the default values described under *STD are used.

If the first input file has a variable record format and if editing is requested for the output file, make sure that the unedited output record is provided with an additional record length field in the data section.

OVERWRITE =
Defines whether an existing output file can be overwritten or merely extended.

OVERWRITE = *YES
The output file can be overwritten sequentially.

OVERWRITE = *NO
The output file cannot be overwritten, but only extended.

END-POSITION =
Specifies how the tape is to be positioned after the file has been processed.

END-POSITION = *BEGIN-OF-TAPE
The tape is rewound to BOT.

END-POSITION = *BEGIN-OF-FILE

Specifies how the tape is to be positioned after the file has been processed.

END-POSITION = *END-OF-FILE
The position of the tape is not changed after processing.

END-POSITION = *UNLOAD-TAPE
The tape is rewound and unloaded.

CODE-TRANSLATION =
Specifies whether code conversion is to be performed for the output records.

CODE-TRANSLATION = *NO
No code conversion takes place.

CODE-TRANSLATION = *MODULE(...)
The code conversion table is in the module library assigned via SET-TASKLIB. Its contents are the 256 hexadecimal encryptions (X’00’ to X’FF’) of the characters to which the output characters are to be converted.
Conversion is based on the hexadecimal value of the output character. This value is added to the start address of the conversion table; the character at the resulting position of the conversion table replaces the output character.

NAME = <name 1..8>
Name of the user module or entry point in the user module containing the code conversion table.

LABEL-EXIT =
Defines user label processing.

LABEL-EXIT = *NO
User labels are not processed separately.

LABEL-EXIT = *MODULE(...)

NAME = <name 1..8>

Name of the user module or entry point in the user module which handles further processing (see “Interface for label processing”).

CONTROLLED-LABEL =
Specifies that control is to branch to the user module at the specified points.

CONTROLLED-LABEL = *STD
Control branches to the user module when the following four user labels are processed:
VOL-USER-LABEL, HDR-USER-LABEL, EOV-USER-LABEL, END-USER-LABEL

CONTROLLED-LABEL = *VOL-USER-LABEL
Control branches to the user module when the user volume labels are processed.

CONTROLLED-LABEL = *HDR-USER-LABEL

Control branches to the user module when the user header labels are processed.

CONTROLLED-LABEL = *EOV-USER-LABEL
Control branches to the user module when the user end-of-volume labels are processed for a tape swap.

CONTROLLED-LABEL = *END-USER-LABEL
Control branches to the user module when the user end labels are processed.

CONTROLLED-LABEL = *CLOSE-POSITION
Control branches to the user module in order to position the tape for CLOSE processing.

CONTROLLED-LABEL = *LABEL-ERROR
Control branches to the user module in the event of errored end-of-tape labels.

UNICODE-NORMALIZE =
Defines whether or not the characters are to be normalized. They can be normalized only if the input file and/or output file is assigned the Unicode variant UTF-16. If neither the input file nor the output file is assigned the Unicode variant UTF-16, the specification is ignored.

UNICODE-NORMALIZE = *NO
No normalization takes place.

UNICODE-NORMALIZE = *COMPOSED
Normalization takes place in the composite character representation of the COMPOSED format.

UNICODE-FILLER =
Defines the fill character for Unicode.

UNICODE-FILLER = *BLANK
The blank in the code of the output record is used as the fill character.

UNICODE-FILLER = *NIL
The character X’00’ or X’0000’ is used as the fill character.

FILE = *SYSLST(...)
Output is to system file SYSLST in the prescribed standard format; this format can be modified by means of the SET-PAGE-LAYOUT statement.

RECORD-FORMAT =
Defines the record format of the unedited output record.

RECORD-FORMAT = *UNDEFINED
Defines records of undefined length.

RECORD-FORMAT = *VARIABLE(...)

Defines records of variable length.

RECORD-SIZE = 32768 / <integer 4..32768>
Maximum length of the unedited output records.

RECORD-FORMAT = *FIXED(...)
Defines records of fixed length.

RECORD-SIZE = 32768 / <integer 1..32768>
Length of the unedited output records.

FILE = *SYSOUT(...)
Output is to system file SYSOUT in the prescribed standard format; this format can be modified by means of the SET-PAGE-LAYOUT statement.

RECORD-FORMAT =
Defines the record format of the unedited output record.

RECORD-FORMAT = *UNDEFINED
Defines records of undefined length.

RECORD-FORMAT = *VARIABLE(...)
Defines records of variable length.

RECORD-SIZE = 32768 / <integer 4..32768>
Maximum length of the unedited output record.

RECORD-FORMAT = *FIXED(...)
Defines records of fixed length.

RECORD-SIZE = 32768 / <integer 1..32768>
Length of the unedited output records.

LINK-NAME = PCOUT / <filename 1..8 without-gen>
Specifies the PERCON link name for reference in keywords and in the ADD-FILE-LINK command.

OUTPUT-EXIT =
Name of the user module or entry point in the user module which processes the output records immediately before output. It may only be specified when copying a file.

OUTPUT-EXIT = *NO
No processing by a user module takes place.

OUTPUT-EXIT = *MODULE(...)

NAME = <name 1..8>

Name of the user module or entry point in the user module which handles further processing (see “Interface for output”).