Record structure

Every row in a table represents one record. The first row of each table file is the column definition record (header line) which contains the column names. The column definition record defines the structure of the subsequent rows. The subsequent rows are the data records.

Each record contains several columns. Columns are separated with a character of your choice, for example, a comma or a tab. In this document a comma is used as a separator.

Compound names, such as partition names which are constructed from the processor name and the partition name are separated by a character of your choice, for example, a dot or a slash. In this document, a slash "/" is used as a separator. For example, PROC1/PART1 could also be PROC1.PART1.

The first column of each data record contains the table name, the second column contains the column name (in most cases it is the object ID) to identify a particular row. Subsequent columns contain the data for the description values of the table row.

For the import operation, it is required that each table starts with a column definition record. For the export operation, the column definition record is created by default, but you can suppress this behavior.

On import, each table can contain a subset of the columns in the table. The following examples could be used to update the description field of the processor (for example, PROC.TXT) and partition (for example, PART.TXT) tables, leaving all other values unchanged.

Example to update a processor table: 
"PROC" 1 , "ID" 2 , "Description" 3 
"PROC", "PROC1", "Main processor" 4 
Example to update a partition table: 
"PART" 1 , "ID" 2 , "Description" 3 
"PART", "PROC1/LPAR1", "Test Partition" 4 
"PART", "PROC1/LPAR2", "Production" 4 

 1 table name
 2 column name (object ID)
 3 column name (for example, description)
 4 record data

The first reference to the table type must be the column definitions record. The column names are not processed in a case-sensitive way by HCM. If you read exported files using programs other than HCM, ensure that the programs are not case-sensitive when processing the table column names (column definition record).

The records for a particular table need not be contiguous in the input stream. For example, all column definition records (header lines) can be at the start of a file containing several tables. See the following examples of some possible ways your data can look like in a file containing several tables.

All column definition records appear at the beginning of the file:
"PROC", "ID", "Description"
"PART", "ID", "Description"
"PROC", "PROC1", "Main processor"
"PART", "PROC1/LPAR1", "Test Partition"
"PART", "PROC1/LPAR2", "Production"
The records can also appear in random order, as long as the column definition record precedes the record data:
"PART", "ID", "Description"
"PART", "PROC1/LPAR1", "Test Partition"
"PROC", "ID", "Description"
"PROC", "PROC1", "Main processor"
"PART", "PROC1/LPAR2", "Production"
or, more likely:
"PROC", "ID", "Description"
"PROC", "PROC1", "Main processor"
"PART", "ID", "Description"
"PART", "PROC1/LPAR1", "Test Partition"
"PART", "PROC1/LPAR2", "Production"

There must be only one column definition record for each table. Once the column definition records are known, subsequent column definition records are interpreted as data just like any other record.

An error message is issued by HCM if it encounters two or more records referring to the same object, but processing continues. For a given object, only the first record referring to it will be processed, all subsequent ones will be ignored.