Data set header general section
The basic general section is identified by an identifier field of X‘00’ and a modifier field of X‘00’. Table 1 describes the format of the basic general section of the data set header.
| Field Name | Offset in Hex | Length | Type of Data | Default Value | Valid Range | Description |
|---|---|---|---|---|---|---|
| NDHGLEN | 0 | 2 | binary | none | 4-32764 | Length of the data set header general section. |
| NDHGTYPE | 2 | 1 | binary | none | none | The major type of this section. General sections are identified by a X‘00’. |
| NDHGMOD | 3 | 1 | binary | 0 | none | Modifier for the major type identifier. A modifier code of X‘00’ is the modifier for the general section. |
| NDHGNODE | 4 | 8 | char | none | N/A | The destination node for the data set. This field may be set at execution time from either NJHGPRTN or NJHGPUNN. AS/400 sets and uses this field as the destination address for the data set. |
| NDHGRMT | C | 8 | char | blanks | N/A | Either the destination userid, remote workstation,
or printer identifier. This field may be set at execution time from either NJHGPRTR or NJHGPUNR. AS/400 sets and uses this field as a destination userid. If the received userid is blanks or zeros, this product substitutes ‘SYSTEM’ as the destination userid. JES2 and JES3 also use this field for the TSO/E TRANSMIT and RECEIVE commands. If this field and the NDHGXWTR field are the same, this field is used as the TSO destination userid. RSCS sets the field to the destination userid or printer (or X‘00’ when SYSTEM is the destination). POWER uses the field to route the NJE job to a remote workstation, userid, or program. |
| NDHGPROC | 14 | 8 | char | blanks | none | The JCL procedure that was executing when this
data set was created. AS/400:
RSCS sets the field from the information in FILENAME. RSCS does not use the field. POWER defaults this field and does not use it. |
| NDHGSTEP | 1C | 8 | char | blanks | none | The step name that was executing when the data
set was created. For print files, AS/400 sets this field from the spooled file name and uses this field for the spooled file name. For punch files, AS/400 sets this field to the database file name and uses this field as the database file name. RSCS sets the field from the information in FILETYPE. RSCS does not use the field. POWER defaults this field and does not use it. |
| NDHGDD | 24 | 8 | char | blanks | none | The DDNAME that referenced the data set when it
was created. AS/400 sets this field to the default value, but does not use it. JES3 If blank or zero on input, JES3 uses the NJHGROOM value as a DDNAME. If NJHGROOM is blank this system uses a default DDNAME of ‘*NJEWKnn’, where ‘nn’ is an internal index value. RSCS and POWER default the field and do not use it. |
| NDHGDSNO | 2C | 2 | binary | 0 | 0-32767 | A counter incremented each time a SYSOUT data
set is allocated within the same job. This field maintains the uniqueness
of data sets, while allowing them to be spun off. AS/400 sets this field to the default value, but does not use it. JES2 uses and sets the field as follows:
There is no internal JES2 limit to this number. There is a storage limitation in the converter to 4096 datasets in one job. JES3, RSCS, and POWER default the field and do not use it. |
| 2E | 1 | Reserved for IBM's use. | ||||
| NDHGCLAS | 2F | 1 | char | A | A-Z 0-9 | The job's SYSOUT class. AS/400 sets this field from the CLASS parameter on the SNDNETF and SNDNETSPLF commands, but does not use it. JES2 sets the SYSOUT class to A if the class specified in the job's JCL is not alphanumeric. JES3 sets the field to the SYSOUT class. If receiving an NJE SYSOUT job, this field is used if the class and type (indicated by NDHGF2PR and NDHGF2PU) do not conflict with the local system's use of class/type. If a conflict exists, a default class is used for the appropriate type. RSCS uses the field for the VM output class and sets it from this class unless overridden by the SYSOUT keyword on the TAG. POWER sets the SYSOUT class to the output class. POWER Version 4.1.2 supports numeric classes for output. For all versions prior to 4.1.2, only A-Z are valid (set to A if not in the range A-Z when received). |
| NDHGNREC | 30 | 4 | binary | 0 | none | The count of the number of records in the data
set. AS/400 sets this field, but does not use it. JES2 uses the field as the line count of the data set. A spanned record counts as 1, regardless of the number of segments. JES3 sets the number of records in the data set but does not use the information. RSCS uses the information in a message to the user. RSCS sets the field from the record count in the spool file block. POWER sets and uses the field as the line count. |
| NDHGFLG1 | 34 | 1 | bits | 0 | none | A flag byte containing the following flags: |
| Bit NDHGF1SP | .1 | 80 bit | 0 | none | The spin data set flag. AS/400 sets this bit off and does not use it. JES2 sets the bit from information in the job's JCL. JES2 sometimes sets this bit for the TSO/E TRANSMIT and RECEIVE commands according to the data set disposition. JES3 does not use this bit but sets it for spin data sets and data sets generated by the TSO/E TRANSMIT and RECEIVE commands. RSCS uses the bit to separate data sets into individual spool files, but does not set this bit. POWER sets the bit only if the data set is segmented and uses the bit to determine the job number. If the flag is on, the job number is set from the job header (NJHGJID), otherwise a new job number is assigned.
|
|
| Bit NDHGF1HD | .1 | 40 bit | 0 | none | The destination node is to hold the data set. AS/400 sets and reads this bit to determine whether the print file should be held before printing. JES2 sets the bit from information in the JCL and uses it to place the data set on the system output hold queue. JES3 sets the bit and uses it to place the data set on the system output hold queue. RSCS uses the bit to indicate to the destination node that it is to hold the data set. The bit is set when specified by the originator on the TAG command using the HOLD keyword. POWER uses the bit and sets it if the data set disposition is ‘H’ or ‘L’. |
|
| Bit NDHGF1LG | .1 | 20 bit | 0 | none | The job log indicator bit. AS/400, JES3, RSCS, and POWER do not use the bit but set it to the default value. JES2 uses the bit to indicate that the data set is the JES2 job log. |
|
| Bit NDHGF1OV | .1 | 10 bit | 0 | none | The page overflow indicator. If the bit is on,
the data set is allowed to print over the page fold. If off, the printer
should start at the top of each page. AS/400 sets this bit on for print files, but does not use it. JES2 and RSCS do not use this bit but set it with the default value. JES3 sets the bit if OVFL=OFF is specified on the //*FORMAT statement in the job's JCL. JES3 uses the bit as described above. POWER uses the field but does not set it. |
|
| Bit NDHGF1IN | .1 | 08 bit | 0 | none | The interpreter feature is to be used for punched
output if punched on a device that has the interpreter feature installed. Note: For further interpretation of this field, see the NDHGF1DF field
(01 bit).
AS/400, RSCS and POWER do not use this bit but set it to the default value. JES2 and JES3 use the information from the job's JCL to set the bit. |
|
| Bit NDHGF1LC | .1 | 04 bit | 0 | none | The NDHGLNCT field (offset X‘3A’)
contains information if this bit is on. AS/400 sets this bit on for print files, but does not use it. JES2 sets and uses the bit if field NDHGF1LC is set on. JES3, RSCS, and POWER set this bit to the default value, but do not use it. |
|
| Bit NDHGF1ST | .1 | 02 bit | 0 | none | If on, the job log data set contains statistics
for the job. AS/400 sets this bit off and does not use it. JES2 uses the bit to avoid multiple instances of the job statistics in the job log. JES3, RSCS, and POWER do not use this bit, but set it to the default value. |
|
| Bit NDHGF1DF | .1 | 01 bit | 0 | none | Specifies whether the interpret bit (NDHGF1IN)
was explicitly set off (1) or not (0). The NDHGF1DF is used with the
NDHGF1IN bit as follows:
AS/400 sets this bit to the default value, but does not use it. JES2, RSCS, and POWER default this bit and do not use it. |
|
| NDHGRCFM | 35 | .5 | binary | 0 | none | Specifies the record format of the data set.
AS/400: For print files, this system sets either variable or fixed format (bits 1 and 1). For punch files, AS/400 sets this field to X‘80’. JES2 uses the RECFM in the DCB specified in the job's JCL to set the field. The DCB defines other settings that are not defined by this field. However, JES2 allows all flag settings and transmits them across the network. JES3 uses the RECFM in the DCB specified in the job's JCL to set the field beginning with z/OS release 1.8. RSCS sets this field to X‘42’ for print files, and X‘80’ for punch files. For print files, it is used to decide what record length to use in determining whether to make an incoming file a virtual 1403 file or a 3211 file. (For further details, see the following field, NDHGLREC.) For punch files, this field is used with NDHGLREC to determine the proper record length to use in detecting files containing punch records greater than 80 characters. It is also used in determining whether to forward punch records of a store-and-forward file with or without carriage control. This field is modified for certain types of store-and-forward data when RSCS acts as an intermediate node. POWER does not use this field, but sets it to C‘Cx’ (undefined) and supports all values of the field. |
| NDHGRCFM | 35 | .5 | binary | 0 | none | Specifies the control characteristics used in
the data set.
AS/400: For print files this system sets:
For punch files, AS/400 sets this field to X‘80’. JES2 uses the RECFM in the DCB specified in the job's JCL to set the field. JES3 sets the carriage control to ASA, machine, or none (bits 5 and 6 off). Only carriage control bits are used on input. RSCS sets this field to X‘42’ for print files, and X‘80’ for punch files. For punch files, this field is used to determine whether to forward punch records of a store-and forward file with or without carriage control. This field is modified for certain types of store-and-forward data when RSCS acts as an intermediate node. For Version 3.1, this last restriction is removed. POWER does not use this field, but sets it to X‘Cx’ (undefined). At store-and-forward nodes, files having ASA carriage control will not have the CC converted to machine carriage control. |
| NDHGLREC | 36 | 2 | binary | 0 | 1-32760 | The maximum logical record length (LRECL) of
any record that appears within the data set. It includes the carriage
control character if specified for the data set. AS/400 sets
this field to:
JES2 obtains the LRECL from the DCB. It includes the carriage control character. JES3 uses the firld
if it is not 0. The following shows how JES3 defaults the field according
to the type of data set and the presence of carriage control:
|
| NDHGLREC, cont. | 36 | 2 | binary | 0 | 1-32760 | RSCS uses this field as follows: For incoming print files, this determines whether they are defined
as 1403, 3211, or 3800 files.
punch records greater than 80 (greater
than 81 with carriage control) are truncated at the destination node.
In setting the field, RSCS obtains the LRECL from TAGRECLN (with one
added to each record to account for the CCTL byte) as follows:
POWER uses the field and sets it to the maximum length of any record in the data set, up to a maximum record length of 32K-1. |
| NDHGDSCT | 38 | 1 | binary | 0 | 0-255 | The data set copy count. This field defines the
number of copies to print or punch at the destination node and will
be used if the data set is printed on an impact printer. If it is
printed on a non-impact printer, the copy group count is used. AS/400 sets this field:
JES2 sets the data set copy count to the number of copies for the data set. JES3 sets and uses the data set copy count. If the value in the field is 0, one copy of the data set is produced. RSCS sets the field from the copy count specified on the SPOOL command. RSCS uses the field to set the spool copy count. POWER sets the field with the information supplied from the COPY parameter of the '* $$ LST' or '* $$ PUN' statement. It is used as the copy count (defaulted to 1). |
| NDHGFCBI | 39 | 1 | binary | 0 | -31 to 31 | Used as an index byte when loading the FCB on
a 3211. It allows the user to print each line with the data shifted
right or left by (up to) 31 characters. A negative value indicates
left indexing; a positive value indicates right indexing. Right indexing
adds leading blanks; left indexing removes data characters. AS/400 sets this field to the default value, but does not use it. JES2 supports both right and left indexing. JES3 and POWER do not use this byte but set the byte to the default value. RSCS does not use the field. Set from the INDEX keyword on the TAG statement. (Only positive values may be specified.) |
| NDHGLNCT | 3A | 1 | binary | 0 | none | The default lines per page for SYSOUT files.
See this field only when the NDHGF1LC field is (offset X‘01’
bit) is on. A value of X‘00’ or X‘FF’ causes
the system not to count lines or use a local default value, depending
on the system. All other values are treated as an explicit number
of lines on a page before a page eject is generated by the printing
subsystem. AS/400 sets this field to the default value, but does not use it. JES2 obtains the value from the job's JCL. The special values X‘00’ and X‘FF’ are used as follows: X‘00’ (default): Use the default value of the printing subsystem. X‘FF’ : Do not force any page ejects. Let the skipping be solely determined by the carriage control (if present) in the SYSOUT data. JES3, RSCS, and POWER do not use this field, but set it to the default value. |
| 3B | 1 | Reserved for IBM's use. | ||||
| NDHGFORM | 3C | 8 | char | blanks | N/A | The name of the form to use when printing or punching
the data set. AS/400 sets this field to blanks if AS/400 formtype is *STD or greater than 8 characters. In all other cases, the field is set equal to AS/400 formtype. JES2 and JES3 use only the first four bytes, followed by blanks. Forms are set to zero if not specified. If received, either zero or blanks indicate the standard (STD) forms are desired. RSCS sets the field with the value supplied by CP FORM unless that value is overridden by the value supplied by TAG. The default is only set when the CP SPOOL command specifies NULL for the FORM name. This field is used for the CP FORM when not defaulted. When the header field contains the default (blanks), the CP FORM name is set to the installation's default. POWER uses only the first four bytes because POWER has only four-character forms names. For a 3800 SYSOUT data set, a value of X‘00’ indicates that hardware defaults are to be used. A value of X‘40’ indicates that software defaults are to be used. When the job originated on a non-POWER system (POWER section was not present), X‘00’ is used as the software default. |
| NDHGFCB | 44 | 8 | char | blanks | N/A | The name of the FCB to be used if this data set
is printed. AS/400 sets the field to blanks for print files, then reads the field to determine the printer filename to open when spooling the files. JES2 uses only the first four bytes,
followed by blanks. FCB is set to zero if not specified. If received,
either zero or blanks indicate the default FCB (**** ) is desired.
The first four bytes are prefixed with:
JES3 sets and uses the field, but the default is zero. RSCS uses this field as the FCB on spool file. It is set from FCB on the SPOOL command. Only the first four characters are used. The field may be overridden by the CP TAG command (up to eight characters). POWER uses the field as the FCB name. The field is set from the FCB name if one was specified. The last four characters may be set to ‘$$$$’ for device-independence. For a 3800 data set, a value of X‘00’ indicates that hardware defaults are to be used; a value of X‘40’ indicates that software defaults are to be used. When the job originates from a non-POWER system (POWER section was not present), X‘00’ is used as the software default. |
| NDHGUCS | 4C | 8 | char | blanks | N/A | The name of the universal character set (UCS)
to use if this data set is printed. It is more commonly known as
the “print train”. AS/400 sets the field to blanks for print files and does not use it. JES2 and JES3 use only the first four bytes, followed by blanks. UCS is set to
zero if not specified. If received, either zero or blanks indicate
that the default UCS (**** ) is desired. NDHATAB1 is used if UCS
is specified as “****”, blanks, or zeros. JES2 prefixes
the first four bytes with:
RSCS does not use the field. RSCS sets the field with the value specified on the UCS keyword in the TAG. POWER sets the field with the UCS name specified on the * $$ LST statement. |
| NDHGXWTR | 54 | 8 | char | blanks | N/A | The name of the external writer to process this
data set. If equal to the NDHGRMT field, this field is also set and
used by the TSO/E TRANSMIT and RECEIVE commands and the CMS SENDFILE
command to allow files to be sent to individual MVS users. AS/400 sets the field equal to NDHGRMT, but does not use it. JES2 and JES3 set the field to the name of the external writer. A default of zero is set; either zero or blanks are accepted as defaults for input. RSCS does not use this field but sets it to the value specified of the EXTWTR keyword if specified on TAG statement. POWER does not use the field but sets it to the external writer name as specified on the DEST parameter. |
| NDHGNAME | 5C | 8 | char | blanks | A-Z,0-9 | This is the data set name qualifier associated
with the data set at the creation node. It may be user specified or
generated by the system. AS/400 sets this field to the default value, but does not use it. JES2 and JES3 set from the DSNAME= keyword on the DD JCL statement, or default it to a single question mark '?'. It is used to construct a resource name associated with this data set for purposes of resource access authorization. RSCS does not use the field and sets it to the default. POWER does not use the field and sets it to the default. |
NDHGFLG2![]() |
64![]() |
1![]() |
bits![]() |
0![]() |
none![]() |
Flag byte containing the following flags:
![]() |
| Bit NDHGF2PR | .1 | 80 bit | 0 | none | If on, the data set is to be printed. AS/400 sets and uses this bit for print files. JES2 does not use the bit, but sets it if the output class is a print class at the output execution node. JES3 uses this bit to denote print output. If there is print output, JES3 sets this bit. RSCS uses the bit to cause the data set to be spooled to a printer. RSCS sets the bit if the input file is a print file. POWER uses the bit to denote print output. It is set if the input file is a print file.
|
|
| Bit NDHGF2PU | .1 | 40 bit | 0 | none | If on, the data set is to be punched. AS/400 sets and uses this bit for punch files. JES2 does not use the bit, but sets it if the output class is a punch class at the output execution node. JES3 uses this bit to denote punch output. If there is punch output, JES3 sets this bit. RSCS uses the bit to cause output to be spooled to a punch device. RSCS sets the bit if the input file is a punch file. POWER uses the bit to denote punch output. If there is punch output, POWER sets this bit. |
|
Bit NDHGF2RM![]() |
.1 | 20 bit | 0 | none | If on, the FILENAME and FILETYPE are taken from
the NDHGPROC and the NDFGSTEP fields respectively. AS/400 sets this bit, but does not use it. JES2 and JES3 do not use the bit and set it to the default. RSCS uses the bit to take the FILENAME and FILETYPE from the NDHGPROC and the NDHGSTEP fields respectively. POWER does not use the bit and sets it to the default. |
|
| Bit NDHGF2HB | .1 | 10 bit | 0 | none | If on, the data set is to be held prior to any
processing. AS/400 sets this field to the default value, but does not use it. JES2 sets this bit whenever the output disposition is either HOLD or LEAVE.
RSCS, and POWER do not use or set this field. |
|
| Bit NDHGF2HA | .1 | 08 bit | 0 | none | If on, the data set is to be held after any processing. AS/400 sets this field to the default value, but does not use it. JES2 sets this bit whenever the output disposition is either KEEP or LEAVE. When this bit is set on, JES2 also sets flag NDHGF1HD to hold the data set at nodes not supporting output dispositions.
RSCS, and POWER do not use or set this field.
|
|
Bit NDHGF2HX![]() |
![]() |
.1![]() |
04 bit![]() |
0![]() |
none![]() |
JES3 uses this bit to indicate that the data
set should be held for external writer at JES3 nodes.AS/400, JES2, RSCS, and POWER do not use or set this field. ![]() |
Bit NDHGF2TR![]() |
![]() |
.1![]() |
02 bit![]() |
0![]() |
none![]() |
If on, trailing blanks should be truncated. JES3 sets this bit to indicate the data had its blanks truncated when it was created and should have them truncated when the data set is received at the targeted JES3 node. AS/400, JES2, RSCS, and POWER do not test or set this bit. ![]() |
Bit NDHGF2NO![]() |
![]() |
.1![]() |
01 bit![]() |
0![]() |
none![]() |
If on, this data set is a 'non-output' SYSOUT
data set. The data set is not to be printed or punched; instead it
contains internal control information.JES2 uses this bit for its JCL images and step completion codes data sets (EVENTLOG). AS400, JES3, RSCS, and POWER do not test or set this bit. ![]() |
| NDHGUCSO | 65 | 1 | bits | 0 | none | The UCS option byte.
|
| Bit NDHGUCSD | .1 | 80 bit | 0 | none | If on, indicates the UCS will be loaded with the
block data check option. AS/400, JES2, and RSCS do not use this bit but set it to the default value. (JES2 always blocks data checks.)
|
|
| Bit NDHGUCSF | .1 | 40 bit | 0 | none | If the bit is on, the UCS will be loaded with
the FOLD option. AS/400 sets this bit to the default value, but does not use it. JES2, JES3, and RSCS do not use this bit but set it to the default value. JES2 loads the FOLD option on a character set if bit X‘40’ of the first byte (byte 0) is on in the UCS image.
|
|
| .6 | 3F bits | Reserved for IBM's use. | ||||
| 66 | 2 | Reserved for IBM's use. | ||||
| NDHGPMDE | 68 | 8 | char | blanks | none | The process mode for the data set specified by
the user. The process mode does not necessarily imply the presence
of a particular type of record; it only indicates a request by the
user for the preferred type of output processing. This field is used
for SYSOUT selection and scheduling. The IBM-defined process modes
are:
AS/400 sets this field to the appropriate process mode depending on AS/400 devtype, igcdta, and igcosi. If none of these settings are appropriate, the field is set to blanks. See OPTB for PRMODE, see key 0018 for other values when these are not appropriate. If neither NDHGPMDE nor PRMODE are set, or the PRMODE is a value
not recognized by the AS/400, then the following values will be used:
*LINE or *AFPDSLINE if NDHGRCFM JES2 and JES3 set the field from the PRMODE keyword on the OUTPUT JCL statement. If PRMODE is not specified, then the data itself is examined to determine the process mode. RSCS moves this field into an XAB and sets it from an XAB (if existing) for VM/PSF. For Version 3.1, RSCS sets this field from the PRMODE= tag parameter. POWER sets this field from the PRMODE operand on a JECL statement, but does not use this field. |
| NDHGSEGN | 70 | 4 | binary | 0 | The segment number of a data set which has been
segmented. AS/400 does not read or set this field. JES2 sets this field if the segment number is less than or equal to 99999, and uses this number on the default separator page. JES3 and POWER do not read or set this field. |
|
| 74 | 4 | Reserved for IBM's use. |
NDHGFLG2