DATAITEMS Client Control Table

This table duplicates the DMSII information in the DMS_ITEMS table and contains the layout information for the tables in the relational database. This table is not directly linked to the DATASETS table. Instead, it is linked to the DATATABLES client control table using the table_name column as a foreign key.

You can use the DATAITEMS client control table to specify the data items you do not want to clone by setting their corresponding active column to 0 or by setting the active column to 0 in the DMS_ITEMS table.

If data set mapping is already complete, this table can be temporarily used to disable a new column after a DMSII reorganization to avoid recloning. (This is done automatically if the configuration file parameter suppress_new_columns is set to True.)

If you want to disable cloning for every data item in a data set (every column in a table), disable cloning for the data set instead of disabling cloning for each individual data item. For details, see DATATABLES Client Control Table.

The following table contains descriptions of each column in the DATAITEMS client control table. It also provides the abbreviated column name from the trace.log file when applicable (this name occurs in the trace file when you enter the dbutility display command).






This column contains the name of the data source that identifies the DMSII database from which the data was taken.



This column contains the name of the table in the relational database to which this item belongs.



This column contains an internal number that gives each item within a table a unique number. Numbers are assigned consecutively in increments of 10, starting with 10, making it easier to change the order of items using data table customization user scripts.



This column contains the name of the item (column) in the relational database table. Typically, this is the same as the lowercase form of the DMSII item name with all dashes changed to underscores. To modify, see Appendix F.



The value in this column specifies whether or not this data item will be cloned. The default is 1, which indicates that the data item will be cloned. 0 indicates that the data item will not be cloned. The define and redefine commands change the value in the active column to 0 if the data set contains global database information.

Note: If the active value for the data set to which this item belongs is 0 (off), this item will not be cloned even if its active value is 1 (on).



This column contains a numeric value specifying the order of the item in the DMSII set (1, 2, 3, and so on). You can edit this column to make it part of a composite key. For details, see Creating Indexes for Tables. If the item is not a key, the value is zero (0).



Do not change this value.

This column contains a Boolean value specifying if this item is a virtual key; however, it is created only for mapping DMSII items with unflattened OCCURS clauses. When an item is a virtual key, the corresponding value for item_key is a positive number that is one greater than the item_key value of the last key for the data set. The virtual key is not a DMSII key.



This column contains the item number, which indicates the relative position of the item in the original DMSII record.



This column contains the dms_item_number of the parent item for an item that is a member of a GROUP or GROUP OCCURS item. For example, if dms_item_number 12 is a DMSII GROUP containing items 13, 14, 15, and 16, the dms_parent_items of the last four items is 12.



For a description of this column, see "dms_item_type" in DMS_ITEMS Client Control Table.

In addition to the types defined in DMS_ITEMS, this column contains the following values:




AA value or RSN, which the DATABridge Client generates using the AA value or RSN of the record in the DMSII database as received from DBEngine. You can tell them apart by looking at the item_name column, which is my_aa for AA values and my_rsn for RSNs.


Parent AA, which the DATABridge Client generates using the AA value of the parent record of an embedded data set in the DMSII database as received from DBEngine.


External type, which indicates that the data comes from some place other than the DMSII database.



This column contains the user-declared length of the item in the DMSII DASDL. This length changes according to the data item type selected (alpha, Boolean, field, numeric, or real).



This column contains the numeric scaling factor, which is the number of digits to the right of the decimal place, if any.



This column contains the item’s offset value which indicates where, within the DMSII record, this item begins. This is the location DATABridge uses to extract data from DMSII records. For example, in a 400-byte record with an offset of 200 bytes, the first 100 bytes are used by other items. This number is in digit size, which is equal to one-half of a byte (four bits).



This number is the digit size of the data. Digit size is equal to one-half of a byte (four bits).



This column contains a Boolean value specifying whether the item is signed or unsigned as follows: 0 = unsigned and 1 = signed.



This column indicates the number of times this data item occurs (is present) within the data set. If the item does not have an OCCURS clause, this value is 0.



This column contains the relational database data type that corresponds to the DMSII data types. See DMSII and Relational Database Data Types.



This column contains either a 0 if the item has a fixed-length, or the length of the item in the relational database if the item has a user-specified length.



This column contains the nesting level of OCCURS in the DMSII database. For example, an OCCURS table created from another OCCURS table has an occurs_level of 2. The original OCCURS table has an occurs_level of 1.



For items mapped to relational database date types, this column contains the format of the date as it is stored in the DMSII database. These are not actual DMSII data types; rather, they represent the formats of dates that might be stored as a DMSII GROUP, a NUMBER, or an ALPHA item. For non-DMSII columns this column identifies the type of the non-DMSII column.



This column contains a copy of the dms_scale that you can edit. This value is used in the relational database.



This column contains the item number of the dms_item parameter for the OCCURS DEPENDING ON clause.





The following bits, which you can set through data table customization user scripts, enable you to specify additional properties of the data items:




DAOPT_Nulls_Allowed - This bit is set by the define and redefine commands based on the value of the configuration parameter allow_nulls. You can later change this value via user scripts. A value of 1 indicates that the item will be created with the attribute of NULL (except in Oracle where this is the default attribute of a column).


DAOPT_Column_Renamed - The column was renamed by the user.


DAOPT_Type_Changed - The SQL type of the column was changed by the user.


DAOPT_Length_Changed - The SQL length of the column was changed by user.


DAOPT_Scale_Changed - The SQL scale changed by user.


DAOPT_User_Column - The user added this column to the table (i.e., this is a non-DMSII column)


DAOPT_User_Subfield - The user changed the dms_offset and dms_length fields of this item. This is usually the first part of a split item.


DAOPT_Item_Renumbered - The item number was changed by the user (i.e., the location of the column was changed)


DAOPT_Item_Copied - The user created a duplicate copy of an existing item. This is usually the second part of a split item. This bit it then coupled with the DAOPT_User_Subfield bit to indicate that the offset and length fields were also changed.




DAOPT_Store_as_Char - This bit indicates that the item, which is numeric, should be stored in the relational database as a character variable.


DAOPT_Xlate_Binary - This bit determines whether or not character data gets translated from EBCDIC to ASCII before being stored as binary. This bit is copied from the DIOPT_Xlate_Binary bit in the DMS_ITEMS table as the process and clone command do not load the DMS_ITEMS table.


DAOPT_Store_as_Number - Indicates that the Client is storing the corresponding ALPHA data using the appropriate numeric type.


DAOPT_VarFormat_Date - Indicates that the subtype field contains a mask describing the date format.



DAOPT_FixAlphaChar - This bit applies to data items whose data type is ALPHA, and it indicates that the Client will scan the data for control characters and replace each control character with a space.

You can set this bit via a user_define script, or you can set it via the convert_ctrl_char parameter. See convert_ctrl_char.

Caution: Do not set the convert_ctrl_char parameter to True unless you are absolutely certain that eliminating control characters will have no adverse effect on the data. For example, eliminating control characters can cause some fields to be misinterpreted.





These bits are used by the redefine command.


CHG_new - New entry


CHG_modified - Modified entry


CHG_del_before - One or more entries before this one were removed.


CHG_del_after - One or more entries after this one were removed



This column holds the structure number of the data set to which a LINK item points. Thus a nonzero value in this column identifies a DMSII LINK. Links that use AA values have a dms_item_type value of (10).



This column is a copy of the DMS_ITEMS column of the same name and is automatically set by the define and redefine commands since the DMS_ITEMS table is not loaded during a process or clone command. Do not modify this column in your user scripts.



This column, which shadows the ds_options column, contains a bit mask that represents the columns in ds_options that were customized. This column is used by the redefine command to restore the portion of ds_options that has been customized while leaving the remaining bits intact.