Skip to content

A - Types, Values, Arrays and Layouts

A Types, Values, and Array Layouts

In This Appendix

This appendix documents the section of SYMBOL/DATABRIDGE/INTERFACE called "Types, values, and array layouts".

Overview

DBEngine and DBSupport entry points return the "Types, Values, and Array Layouts" of SYMBOL/ DATABRIDGE/INTERFACE. The tables in this appendix explain those various values and arrays.

Each array (such as the UPDATE_INFO array) or set of information (such as the Data Error Types) has its own section in this appendix, and that section appears here in the same order in which it appears in the file. Most of these sections provide a table further explaining the information in SYMBOL/DATABRIDGE/INTERFACE, and most of them are cross-referenced from the Using the Databridge API section.

Each section is listed here for your reference:


DBEngine Entry Point Result Values

These values are error and status messages, which give you information about how DBEngine or any Accessory linked to DBEngine is running. The Databridge Errors and Messages Guide provides a list of these values (by number) and briefly explains each value.


Record Change Types

The following table provides additional information about record change types as they are documented in SYMBOL/DATABRIDGE/INTERFACE.

These values are found in the UPDATE_INFO [UI_UPDATE_TYPE] and specify the type of update.

Value Description
DBV_HEADER This is for internal use only
DBV_CREATE This indicates that the record was created.
DBV_MODIFY_AFTER_IMAGE This is the after-image of a modify.

Use IS rather than = as in the following:

IF UI [UI_UPDATE_TYPE] IS DBV_MODIFY_AFTER_IMAGE THEN...
DBV_DELETE This indicates that the record was deleted.
DBV_MODIFY_BEFORE_IMAGE This is the before-image of a modify.

Use IS rather than = as in the following:

IF UI [UI_UPDATE_TYPE] IS DBV_MODIFY_BEFORE_IMAGE THEN...
DBV_MODIFY This indicates that the record was modified.
DBV_STATE This is the state information. For a description of the array layout, see STATE_INFO Layout.
DBV_DOC This is a documentation record. For a description of possible values, see Documentation Records.
DBV_MODIFY_BI This is the alternate value for DBV_MODIFY_BEFORE_IMAGE.
DBV_MODIFY_AI This is the alternate value for DBV_MODIFY_AFTER_IMAGE.
DBV_LINK_BI This is the before-image of a link.
DBV_LINK_AI This is the after-image of a link.

Error Manager Types

An Error Manager procedure (see DBERRORMANAGERHEAD) returns the following EMATYPE values:

EMATYPE Integer Description
DBV_Default 0 The Accessory decides what to do with the error.
DBV_Fatal 1 The Accessory terminates.
DBV_Ignore 2 The Accessory ignores the error and continues.
DBV_Retry 3 The Accessory retries the operation.

Accessory ID Numbers

Databridge Accessories are identified by the following Accessory ID numbers:

AIDTYPE Integer
DBV_Span 1
DBV_Snapshot 2
DBV_Server 3
(not used) 4
DBV_Lister 5
DBV_Twin 6
DBV_GenFormat 7
DBV_AuditTimer 8

Documentation Records

The following table provides additional information about documentation records from SYMBOL/ DATABRIDGE/INTERFACE. This information is returned when an entry point, such as the DBREADTRANGROUP entry point, requests information about records in the current transaction group.

Field Description
DB_DOC_TYPE_F If UI_UPDATE_TYPE in the UPDATE_INFO array is set to DBV_DOC, then the value in this field is one of the values in the following table.
Value Description
DB_DOC_TYPE The type of documentation record

Possible values are as follows:
  • DBV_DOC_BEG_TRAN—Indicates begin transaction (BTR) For values, see Begin Transaction.
  • DBV_DOC_END_TRAN—Indicates end transaction (ETR)
  • DBV_DOC_BEG_DB—Indicates database stack initiate (DBSI)
  • DBV_DOC_END_DB—Indicates database stack terminate (DBST)
  • DBV_DOC_BEG_REC—Indicates begin recovery (RECOV-1)
  • DBV_DOC_END_REC—Indicates end recovery (RECOV-2)
  • DBV_DOC_BEG_CP—Indicates begin controlpoint (BCP)
  • DBV_DOC_END_CP—Indicates end controlpoint (ECP)
  • DBV_DOC_SYNC—Indicates syncpoint (SPT)
  • DBV_DOC_OPEN—Indicates restart data set open (RDSO) For values, see Restart Data Set Open and Close.
  • DBV_DOC_CLOSE—Indicates restart data set close (RDSC) For values, see Restart Data Set Open and Close.
  • DBV_DOC_INIT—Indicates structure discontinuity (STRDC) (because of
initialization)
  • DBV_DOC_REORG—Indicates STRDC (because of reorganization)
  • DBV_DOC_AF_HEADER—Provides audit file header information For the layout of this header, see Audit File Header.
  • DB_DOC_MAX_SZ The maximum size of the documentation record
    DB_DOC_LONGTRAN Indicates a Long Transaction is in progress. Valid for the following types: DBV_DOC_BEG_TRAN, DBV_DOC_END_TRAN, DBV_DOC_BEG_CP, DBV_DOC_END_CP, and DBV_DOC_SYNC.

    Begin Transaction

    The following table provides information about the layout of the begin transaction:

    Field Description
    DB_DOC_BEG_TRAN_TC This field contains the active transaction count if the DB_DOC_TYPE is set to DBV_DOC_BEG_TRAN.

    End Transaction

    The following table provides information about the layout of the end transaction:

    Field Description
    DB_DOC_END_TRAN_TC This field contains the active transaction count if the DB_DOC_TYPE is set to DBV_DOC_END_TRAN.

    Restart Data Set Open and Close

    The following table provides information about the restart data set open (beginning of task, BOT) and restart data set close (end of task, EOT):

    Field Description
    DB_DOC_TASK_JOBNBR The job number of the job that started the task
    DB_DOC_TASK_MIXNBR The mix number of the task
    DB_DOC_TASK_NAMELEN The length of the task name in bytes
    DB_DOC_TASK_NAME The task name for n words

    Audit File Header

    The following table provides the layout of information in the audit file header. This header precedes the first update from an audit file and any messages associated with the new file.

    Field Description
    DB_DOC_AF_REC_QPT DMSII recovery policy

    Possible values are as follows:
    • 1—Recover to QPT
    • 0—Recover to a syncpoint or other super quiet point
    DB_DOC_AF_UPDATE_LVL The audit file update level
    DB_DOC_AF_DBTS The audit file database timestamp
    DB_DOC_AF_RELEASE The DMSII release level of the audit file
    DB_DOC_AF_MARK The DMSII system software release (SSR) level
    DB_DOC_AF_CYCLE The DMSII SSR cycle
    DB_DOC_AF_AUD_LVL The audit level number
    Value Description
    DB_DOC_AF_HEADER_SZ The size of the audit file header information in words
    DB_DOC_MAX_SZ The maximum size of the documentation record

    DBSETOPTION/DBRESETOPTION Run-Time Options.

    The following table provides additional information about the DBSETOPTION/DBRESETOPTION run- time options as they are documented in SYMBOL/DATABRIDGE/INTERFACE. These options are turned on and off by the DBSETOPTION and DBRESETOPTION entry points.

    Value Description
    DBV_OP_BI_AI Requests that updated database records be sent as a pair of before- and after-images
    DBV_OP_DOC Requests that documentation records be sent to the Accessory in addition to normal CREATES, UPDATES, and DELETES
    DBV_OP_UNGROUPED Specifies no COMMITs or ABORTs
    DBV_OP_MODELESS Specifies no reorganization or purge errors
    DBV_OP_NO_WAIT Specifies whether to wait on NO FILE conditions when an audit file is unavailable. When reset or defaulting to FALSE, the Accessory will enter the Waiting Entries state when a NO FILE is encountered. If set to TRUE, the Accessory receives a DBM_AUD_UNVAIL(7) result code when a NO FILE condition occurs.
    DBV_OP_FILTERED (No longer used)
    DBV_OP_QPT_GROUP Requests COMMITS at every QPT rather than the first quiet point following the CHECKPOINT frequency specified in the DBEngine parameter file
    DBV_OP_UNFILT_OK (No longer used)
    DBV_OP_MAXRECS Indicates that the Accessory wants record count upper bounds included in all DATASET_INFO arrays
    DBV_OP_GLOBAL_SI Indicates that the Accessory wants the global STATE_INFO record rather than individual STATE_INFO records for each data set when they are all at the same audit location
    DBV_OP_EMB_EXTR Allows an Accessory to request an extract of embedded data sets even if INDEPENDENTTRANS is reset. If this option is set but INDEPENDENTTRANS is reset, and the Accessory does a DBSELECT of an embedded data set with a mode=0, DBEngine extracts the embedded records but does not perform any fixup or normal tracking. Any attempt to DBSelect an embedded data set with a mode of 1 (fixup) or 2 (normal) results in a DBM_CANT_TRACK (113) error message.
    DBV_OP_OFFLINE Prohibits updates to the database during a clone
    DBV_OP_ERROR_SI Causes DBEngine to send a STATE_INFO update prior to returning an error in DBREADTRANGROUP
    DBV_OP_LONGTRAN Causes DBEngine to enable commits during long transactions at pseudo quiet points.
    DBV_OP_LINKS DMSII link items are included in record layouts and replication?
    DBV_OP_READAHEAD When retrieving audit regions from another system this option causes DBEngine to initiate the next read before the Accessory requests it.
    DBV_OP_STATS Causes DBEngine to print a statistics report when it finishes replication.
    DBV_OP_ACTIVE Allows DBEngine to read the active audit file.
    DBV_OP_NO_REV Converts reversals to normal updates so that both the original update and the reversal update are sent to the Accessory.
    DBV_OP_ITEMCOUNT Enables item count integrity checking for detecting layout changes.
    DBV_OP_IDLEDB Causes DBEngine to commit updates when the database is idle
    DBV_OP_SI_ULEVEL Enables the use of the update level field in SI_HOST_INFO
    DBV_OP_MANUALCOMP Prevents the automatic compile of tailored software
    DBV_OP_CHECKSUMDS Causes DBEnterprise to verify the data set block checksums

    DBPARAMETERS Processing Parameter Types

    The following table provides additional information about the DBPARAMETERS processing parameter types as they are documented in SYMBOL/DATABRIDGE/INTERFACE. The DBPARAMETERS entry point allows the Databridge Clients and Accessories to specify these values.

    In all cases, the specified value of each of these parameters must be within the range dictated by the corresponding option in the DBEngine parameter file. Otherwise, DBEngine will adjust the value accordingly.

    For example, if the parameter file has CHECKPOINT CLIENT EVERY 50 (ALLOW 20 - 99999) AUDIT BLOCKS, you must specify a value between 20 and 99999 for DBV_TG_BLOCKS.

    If the specified value for a parameter is 0 (and 0 is in the ALLOW range), DBEngine will disable the parameter and not use it.

    If the specified value is less than 0, DBEngine will retain the current value for that parameter.

    Value Description
    DBV_CONCURR_EXTR The maximum number of concurrent extracts

    If this parameter value is less than 0 or not specified, the WORKERS option in the DBEngine parameter file determines the actual number of extract tasks. The minimum number of extract tasks is 1.
    DBV_TG_BLOCKS The number of audit blocks per transaction group

    If this value is less than 0 or is not specified, the CHECKPOINT...AUDIT BLOCKS option in the DBEngine parameter file determines the number of audit blocks per transaction group.

    If this value and the CHECKPOINT value are both less than or equal to 0, then the actual number of audit blocks per transaction group is 100.
    DBV_TG_UPDATES The number of updates per transaction group

    If this value is less than 0 or is not specified, the CHECKPOINT...RECORDS option in the DBEngine parameter file determines the number of updates per transaction group.

    If this value and the CHECKPOINT value are both less than or equal to 0, then the actual number of updates per transaction group is 1000.
    DBV_ELAPSED The number of seconds of elapsed time per transaction group.

    If this value is less than 0 or is not specified, the CHECKPOINT...SECONDS option in the DBEngine parameter file determines the number of seconds of elapsed
    time per transaction group.

    If this value and the CHECKPOINT value are both less than or equal to 0, then the elapsed time per transaction group is unlimited.
    DBV_TG_TRANS The number of transactions per transaction group.

    If this value is less than 0 or is not specified, the CHECKPOINT...TRANSACTIONS option in the DBEngine parameter file determines the number of transactions per transaction group.

    If this value and the CHECKPOINT value are both less than or equal to 0, then the actual number of transactions per transaction group is unlimited.
    DBV_THREADS The number of threads DBEnterprise can use during the extract phase of cloning.

    If this parameter value is less than 0 or not specified, the ENTERPRISE WORKERS option in the DBEngine parameter file determines the actual number of extract threads. The minimum number of extract threads is 1.

    DBAUDITMEDIUM Parameters

    The following table provides additional information about the DBAUDITMEDIUM parameters as they are documented in SYMBOL/DATABRIDGE/INTERFACE. These values are used by the DBAUDITMEDIUM to specify where DBEngine looks for audit files.

    AUDITMEDIUM Value Description
    DBV_AM_ORIGPACK Tells DBEngine to look on the original DASDL-specified pack(s)
    DBV_AM_ALTERNATE Tells DBEngine to look on an alternate pack
    AUDITTYPE Value Description
    DBV_AM_NEITHER Tells DBEngine not to look on this source
    DBV_AM_PRIMARY Tells DBEngine to look for only the primary audit file
    DBV_AM_SECONDARY Tells DBEngine to look for only the secondary audit file
    DBV_AM_BOTH Tells DBEngine to look for both the primary and secondary audit file

    Network Protocol Values

    The following table provides additional information about the network protocol values as they are documented in SYMBOL/DATABRIDGE/INTERFACE. The DBAUDITSOURCE and DBAUDITSOURCEX use these values to determine which protocol the Accessory uses.

    Value Description
    DBV_NET_NONE Indicates that no network protocol is specified
    DBV_NET_TCPIP Indicates that the Accessory is using a TCP/IP protocol
    DBV_NET_HLCN Indicates that the Accessory is using an HLCN (NetBIOS) protocol
    DBV_NET_BNA Indicates that the Accessory is using a BNA protoco

    MAXWAITSECS Values

    The following table provides additional information about the MAXWAITSECS values as they are documented in SYMBOL/DATABRIDGE/INTERFACE and specified by several entry points.

    Value Description
    DBV_WAIT_FOREVER Indicates that DBEngine should retry for more audits indefinitely
    DBV_DONT_WAIT Indicates that DBEngine should not retry at all

    ITEM_INFO Array Layout

    The following table provides additional information about the ITEM_INFO array layout documented in SYMBOL/DATABRIDGE/INTERFACE and returned by several entry points.

    Value Description
    II_ENTRY_SIZE The size in words of the ITEM_INFO array
    Field Description
    II_ITEM_NUM The item number of the item
    II_PARENT_NUM The item number of the group that the item is in
    II_DATA_TYPE The data item type, such as ALPHA, REAL, and so on

    Possible types are as follows:

    Type and Description
    • DBV_LINK: For link (IS IN...)
    • DBV_IMAG: For binary byte values
    • DBV_TYPE: For RECORD TYPE
    • DBV_BFLD: For FIELD of BOOLEANs
    • DBV_GRP: For GROUP
    • DBV_BOOL: For BOOLEAN
    • DBV_FLD: For FIELD
    • DBV_ALPH: For ALPHA
    • DBV_DECI: For NUMBER (I)
    • DBV_DECF: For NUMBER (I,J)
    • DBV_BINI For REAL (I)
    • DBV_BINF For REAL (I,J)
    • DBV_BFLT: For REAL
    • DBV_WIDE For KANJI (16-bit characters)
    II_REQUIRED Indicates whether the data item is required or not

    If the item is required, it may not be NULL.
    II_NAME_SIZE The length of the name
    II_DECL_LEN The length of the item specified in the declaration
    II_SCALING The numeric scaling factor, which specifies how many digits are to the right of the assumed decimal point
    II_RAWOFFSET 0 indicates II_OFFSET is relative to the user record.

    1 indicates II_OFFSET is relative to the original, raw (nonuser) record. This is used primarily for link items, which are not in the user record.
    II_OFFSET The digit offset to data
    II_SIZE The digit size of the data
    II_OCCURS The declared occurrences
    II_DIMS The number of subscripts the data item requires
    II_SIGNED Indicates that the numeric item is signed
    II_DESCENDING Indicates that the item is a descending key

    This field is valid only if the Accessory is calling an entry point that returns information about key items.
    II_DEPEND_NUM The occurs-depending-on ITEM_NUM

    For example, if the DASDL has ADDR-LINES OCCURS 4 DEPENDING ON NUMLINES, then this field would contain the ITEM_NUM of NUM-LINES.
    II_DS_ITEM_NUM The corresponding ITEM_NUM in the data set (if this is a remap)
    II_LINK_DS_NUM The target data set number of a link
    II_LINK_SET_NUM The target set number of a link

    If the item is a link, 0 indicates that the link is an AA. All other values indicate that the link is a foreign key of this set.
    II_FORMAT IIF_DEFAULT—Default value, unspecified

    IIF_DAYS_SINCE_1900—Number of days since 1/1/1900 as a NUMBER (n)

    IIF_LINC_DATE—Number of days since 1/1/1957 as an ALPHA (n)

    IIF_TIME_6—Timestamp

    IIF_TIME_7—Day of the week, date, and time

    IIF_TIME_60—Time zone, Julian date, time of day in hundredths of a second

    Various date formats as follows:

    NOTE: DDD is a number between 1–366 for Julian dates.

    MMM is a three-letter abbreviation for the month (JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, and DEC).

    Formats
    • IIF_YYDDD
    • IIF_YYMMMDD
    • IIF_DDMMYY
    • IIF_DDMMYY
    • IIF_YYYYDDD
    • IIF_YYYYMMDD
    • IIF_MMDDYY
    • IIF_YYMMDD
    • IIF_DDMMYYYY
    • IIF_DDMMYYYY

    IIF_HHMMSS—Time of day

    IIF_TIME_1—Time of day in sixtieths of a second

    IIF_TIME_11—Time of day in 2.4 microseconds
    Various combined date and time formats as follows:

    NOTE: DDD is a number between 1–366 for Julian dates.

    MMM is a three-letter abbreviation for the month (JAN, FEB, MAR, APR, MAY, JUN, JUL, AUG, SEP, OCT, NOV, and DEC).
    • IIF_YYDDDHHMMSS
    • IIF_DDMMYYHHMMSS
    • IIF_MMDDYYYYHHMMSS
    • IIF_HHMMSSYYDDD
    • IIF_HHMMSSMMDDYY
    • IIF_YYMMDDHHMMSS
    • IIF_HHMMSSDDMMYYYY
    • IIF_MMDDYYHHMMSS
    • IIF_HHMMSSYYMMDD
    • IIF_DDMMYYYYHHMMSS
    • IIF_HHMMSSYYYYMMDD
    • IIF_HHMMSSDDMMYY
    • IIF_HHMMSSYYYYDDD
    • IIF_YYYYMMDDHHMMSS
    • IIF_YYYYDDDHHMMSS
    • IIF_HHMMSSMMDDYYYY

    IIF_NUMERIC—ALPHA containing only the characters 0–9

    IIF_ALPHANUMERIC—NUMBER that should be represented as a character string on the client system
    II_NAME The item name (for 3 words), else 0

    STATE_INFO Layout

    The following table provides additional information about the STATE_INFO array layout as it is documented in SYMBOL/DATABRIDGE/INTERFACE and returned by several entry points.

    Field Description
    SI_STRNUM The DMSII structure number of the data set
    SI_RECTYPE The variable format record type
    SI_AFN The audit file number of the data set's current audit location
    SI_ABSN The audit block serial number of the data set's current audit location
    SI_SEG The audit file segment number of the data set's current audit location
    SI_INX The word index in the audit block of the data set's current audit location
    SI_TIME The timestamp (in TIME (6) format) of the data set's current audit location
    SI_MODE Possible values are as follows:
    • DBV_MODE_CLONE—Indicates that the table needs to be cloned
    • DBV_MODE_FIXUP—Indicates the fixup phase of cloning
    • DBV_MODE_NORMAL—Indicates normal audit processing
    • DBV_MODE_REORG—Indicates that the table needs to be reorganized
    • DBV_MODE_PURGE—Indicates that the table needs to be purged
    SI_FORMAT_LEVEL The data set format update level
    SI_TABLE_LEVEL The client table format update level
    SI_ITEM_COUNT The number of data items
    SI_OPTIONS The SI_REC_OPTIONS record processing options
    SI_NO_LINKS The field that tells DBEngine not to return any updates to link values
    SI_REORG_NOTIFY The field that requests a documentation record from DBEngine after the Accessory encounters a reorganization discontinuity for the data set.

    Possible values are as follows:
    • DBV_REORG_DEFAULT—Sends a reorg document record if the DBV_OP_DOC global option is set
    • DBV_REORG_IGNORE—Requests that no reorg document records be sent
    • DBV_REORG_SEND—Requests that all reorg document records be sent
    SI_MODIFIES The field that indicates which images of modifies should be sent

    Possible values are as follows:
    • DBV_MOD_DEFAULT—Indicates that the Accessory should use the "global" modifies setting
    • DBV_MOD_AI_ONLY—Indicates that the Accessory should send only the after-image of the modification
    • DBV_MOD_BI_AI—Indicates that the Accessory should send both the before- and after-images of the modification
    SI_UI_MASK The values returned in UPDATE_INFO [UI_MASK] on every update

    See UPDATE_INFO Layout for these values.
    SI_HOST_INFO Engine-defined information to be returned to DBSELECT
    SI_ENTRY_SIZE The size in words of the STATE_INFO array

    DATABASE_INFO Layout

    The following table provides additional information about the DATABASE_INFO array layout as it is documented in SYMBOL/DATABRIDGE/INTERFACE and returned by the DBDATABASEINFO entry point.

    Field Description
    DBI_UPDATE_LEVEL The database update level
    DBI_UPDATE_TS The database update timestamp
    DBI_MAX_STRNUM The last structure number used
    DBI_TIMESTAMP The database timestamp
    DBI_NAME The database name (for 3 words)
    DBI_USERCODE The database usercode (for 3 words)
    DBI_OPTIONS Various run-time options and values.

    DBI_FLAT indicates a FileXtract (flat file) database.

    DBI_RDB indicates an RDB (Remote Database) database.

    DBI_ACTIVE indicates database is being updated.

    DBI_ITRANS indicates setting of INDEPENDENTTRANS DASDL option.

    DBI_ADDRCHECK indicates setting of the ADDRESSCHECK DASDL option.

    DBI_MAXWORKERS indicates the maximum number of Extract Workers allowed.
    DBI_CURR_AFN The current (active) audit file number
    DBI_CURR_ABSN The current audit block serial number
    DBI_MAX_RECSIZE Maximum dataset record size in words
    DBI_MAX_COMPACT Maximum COMPACT data record size
    DBI_MAXWORKERS Maximum number of EXTRACT workers
    Value Description
    DBI_INFO_SIZE The size in words of the DATABASE_INFO array

    DATASET_INFO Layout

    The following table provides additional information about the DATASET_INFO array layout as it is documented in SYMBOL/DATABRIDGE/INTERFACE and returned by several entry points.

    Field Description
    DI_STRNUM The DMSII structure number
    DI_RECTYPE The DMSII record type number
    DI_FORMAT_LEVEL The data set format update level
    DI_RECSZ_WORDS The size of the data set record in words
    DI_RECSZ_BYTES The size of the data set record in bytes
    DI_PARENT_STRNUM The structure number of the parent data set if this data set is embedded, else 0
    DI_NUM_CHILDREN The number of supported (visible to the Databridge Administrative Console) child (embedded) data sets that this data set has
    DI_DS_STRNUM The base data set structure number

    This is the same as DI_STRNUM unless this is a REMAP.
    DI_SUBTYPE The data set structure type

    Possible values are as follows:
    • DI_STANDARD_V
    • DI_RANDOM_V
    • DI_ORDERED_V
    • DI_UNORDERED_V
    • DI_GLOBAL_V
    • DI_DIRECT_V
    • DI_COMPACT_V
    • DI_RESTART_V
    • DI_VIRTUAL_V
    DI_ITEM_COUNT The number of items in the record layout (relative to the active filter if the DBV_OP_ITEMCOUNT option is enabled)
    DI_MISC_INFO Contains DI_MISC_FLAGS, DI_TARGET_LINKS, and DI_MAX_RECORDS.

    See the remaining items in the table for more information about this field.
    DI_VALID_AA If TRUE, indicates that the absolute address (AA) values (record address) do not change due to normal updates. If this field is TRUE or the DI_STATIC_AA field is true then the value in UPDATE_INFO [UI_AA] is valid
    DI_STATIC_AA If TRUE, indicates that the UPDATE_INFO [UI_AA] value for the record is static

    In this case, the value does not change even if the data set is reorganized.
    DI_ALTERED If TRUE, indicates that the data set/remap was ALTERed using DBGenFormat
    DI_LINKS If TRUE, indicates that the data set has at least one link item; If FALSE, indicates that the data set has no link items
    DI_TARGET_LINKS The number of data sets with links to this data set
    DI_ROW_FILTER The filter has a WHERE clause
    DI_COL_FILTER The filter omits some columns
    DI_INVALID_PAA Parent records do not have valid absolute address (AA) values
    DI_MAX_RECORDS The upper bound on the population of the data set

    This field is 0 if the run-time option DBV_OP_MAXRECS is reset, which is the default.
    DI_NAME The data set name (for 17 bytes)
    DI_NAME_SIZE The length of the data set name given in DI_NAME
    DI_MISC_INFO2 Miscellaneous information containing the remaining fields in this table
    DI_RECTYPE_NUM For variable format datasets item number of the record type item
    DI_USERDATA_OFS Offset to the start of the user-updateable data, in half-bytes
    DI_IMAGE_WORDS Size of an audit record image, in words
    Value Description
    DI_INFO_SIZE The size of the DATASET_INFO array

    SET_INFO Layout

    The following table provides additional information about the SET_INFO array layout as it is documented in SYMBOL/DATABRIDGE/INTERFACE and returned by several entry points.

    Field Description
    XI_STRNUM The DMSII structure number of the set
    XI_DS_STRNUM The DMSII structure number of the target data set
    XI_FORMAT_LEVEL The format update level
    XI_KEYS_COUNT The number of data items in the set's key
    XI_KEYSZ_WORD The size of the key in words
    XI_KEYSZ_DIGITS The size of the key in 4-bit digits
    XI_SUBTYPE The set structure type

    Possible values are as follows:
    • XI_INDEXSEQ_V—Indicates that the index is sequential
    • XI_RANDOM_V—Indicates that the index is random
    • XI_ORDERED_V—Indicates an ordered list
    • XI_UNORDERED_V—Indicates an unordered list
    XI_NAME_SIZE The length of the set name in bytes
    XI_DUPLICATES If TRUE, duplicates are allowed
    XI_KEYCHANGEOK This item is TRUE (key changes allowed) if any of the following options exist in the set:
    • NO DUPLICATES KEYCHANGEOK
    • DUPLICATES
    • DUPLICATES FIRST
    • DUPLICATES LAST
    XI_NAME The name of the set (for 3 words)
    Value Description
    XI_INFO_SIZE The size of the SET_INFO array

    UPDATE_INFO Layout

    The following table provides additional information about the UPDATE_INFO array layout as it is documented in SYMBOL/DATABRIDGE/INTERFACE and returned by several entry points.

    Field UI_MASK bit # Description
    UI_STRNUM 0 The DMSII structure number
    UI_RECTYPE 1 The DMSII variable format record type
    UI_RECSZ_WORDS 2 The size of the record image in words
    UI_UPDATE_TYPE 3 The DBV_xxx indicating the type of change, where xxx is MODIFY, DELETE, and so on.
    UI_MODIFY_F N/A A value of 1 indicates that the create or delete was originally a modify and the Accessory requested before- and afterimages for modifies
    UI_STRIDX 4 The unique index for the data set-recordtype
    UI_MODE 6 The data set mode

    Possible values are as follows (from STATE_INFO [SI_MODE]):
    • DBV_MODE_CLONE—Indicates that the table needs to be cloned
    • DBV_MODE_FIXUP—Indicates the fixup phase of cloning
    • DBV_MODE_NORMAL—Indicates normal audit processing
    • DBV_MODE_REORG—Indicates that the table needs to be reorganized
    • DBV_MODE_PURGE—Indicates that the table needs to be purged
    UI_STACKNBR 5 The stack number of the program making the change
    UI_FORMAT_LEVEL 7 The data set format update level
    UI_AA 8 The record address

    If updates can cause the record address to change, such as in an ORDERED data set, this value is 0.

    The DATASET_INFO [DI_VALID_AA] for this data set is 1 if this field is valid.

    If the DATASET_INFO [DI_STATIC_AA] for this data set is 1, this field contains a static record number (RSN) rather than a record address.
    UI_PARENT_AA 9 The record address of the parent record

    If the DATASET_INFO [DI_STATIC_AA] for the parent data set is 1, this field contains a static record number rather than a record address.
    UI_AFN 10 The audit file number
    UI_ABSN 11 The audit block serial number
    UI_SEG 12 The audit file disk segment
    UI_INX 13 The word offset within the audit block
    UI_TIME 14 The approximate audit time in TIME(6) format

    For extracted (cloned) records, the time the record was read from the database
    UI_OPTIONS 15 Specifies processing/formatting options

    See the remainder of this table for more information about this field.
    UI_WORKER N/A Indicates the Extract Worker number that produced the record
    UI_STATIC_AA N/A If 1, then the addresses in UI_AA and UI_PARENT_AA are static
    UI_PREFILT N/A If 1, then the update was read from a filtered audit file
    UI_BI_AI N/A If 1, then the Accessory requests both before- and afterimages for this update and indicates a single abort reversal
    UI_MASK N/A Tells DBServer which UPDATE_INFO fields to return to the client

    Each bit corresponds to a field.
    Value Description
    UI_INFO_SIZE The size in words of the UPDATE_INFO array

    AUDIT_INFO Layout

    The following table provides additional information about the AUDIT_INFO layout as it is documented in SYMBOL/DATABRIDGE/INTERFACE and returned by the DBOPENAUDIT entry point.

    Field Description
    AI_BLOCKSIZE The maximum audit blocksize in words
    AI_LASTSEG The last segment number
    AI_DBTIMESTAMP The database timestamp
    AI_OPENTIMESTAMP The block 0 timestamp
    AI_AUDITLEVEL The audit level, for example, 7
    AI_MAJORVERSION The major part of SSR, for example, 45
    AI_MINORVERSION The minor part of SSR, for example, 1
    AI_UPDATELEVEL The database update level
    AI_FLAGS Miscellaneous audit flags, as follows:
    • AI_PRIORCLOSEERROR—Indicates a possible error writing the last block of the prior file
    • AI_RECOVERQPT—Indicates DMSII recovers to any QPT rather than to a super quiet point such as a syncpoint
    • AI_CHECKSUMMED—Indicates that the audit blocks have a checksum
    AI_FIRST_ABSN The ABSN of the first data block in the audit file
    AI_MAX_RECSIZE The size of the largest dataset record, in words
    AI_COMPACTSIZE The size of the largest COMPACT dataset record
    AI_INFO_SIZE The size of the AUDIT_INFO layout

    The following two fields comprise the first word of the data portion of a link update:

    Field Description
    LNK_OFS_F The original word offset
    LNK_SZ_F The size of the link update in words

    Audit File Error Subtypes

    The following table provides additional information about the audit file error subtypes as they are documented in SYMBOL/DATABRIDGE/INTERFACE.

    Subtype Description
    UNAVAIL_NO_UPDATE The database has never been updated
    UNAVAIL_ACTIVE The audit file is the active (current) audit file
    UNAVAIL_NO_MORE The active audit file has no more audit available
    UNAVAIL_BAD_AFN Invalid audit file number
    UNAVAIL_EXCLUSIVE Another program has opened the file with EXCLUSIVE=TRUE
    UNAVAIL_NOT_FOUND The audit file is not present
    UNAVAIL_OFFLINE The audit file was moved from disk to tape storage
    UNAVAIL_NO_FAMILY The audit file pack family is not present
    UNAVAIL_UNKNOWN The audit file is unavailable for an unknown reason

    Data Error Types

    The table below provides additional information about the data error types as they are documented in SYMBOL/DATABRIDGE/INTERFACE.

    These errors occur when invalid data is entered.

    Value Description
    DBV_DE_BAD_NUMBER Indicates that the numeric item had undigits (4"ABCDEF").
    DBV_DE_BAD_SIGN Indicates that a signed numeric item had an invalid sign digit. The sign digit should be either 4"C" or 4"D".
    DBV_DE_BAD_ALPHA Indicates that an alpha item had control characters
    DBV_DE_NULL_NUMBER Indicates that a numeric item was NULL
    DBV_DE_NULL_ALPHA Indicates that an alpha item was NULL
    DBV_DE_OVERFLOW Indicates that the numeric item caused an integer overflow

    Processing Limit Types

    The following table provides additional information about the processing limit types as they are documented in SYMBOL/DATABRIDGE/INTERFACE. These values are used by entry points that set processing limits.

    Value Description
    DBV_LIMIT_UNSPECIFIED Indicates that no processing limits are specified
    DBV_LIMIT_BEFORE Indicates that processing stops at the QPT before the limit
    DBV_LIMIT_AFTER Indicates that processing stops at the QPT after the limit

    Statistics Category Values

    The following table provides additional information about the statistics category values as they are documented in SYMBOL/DATABRIDGE/INTERFACE.

    Each of these values corresponds to a set of values in a STATISTICS_INFO array. All times are in units of 2.4 microseconds.

    Value Description
    DBV_STAT_FIRST_TIME The lowest time value
    DBV_STAT_AF_OPEN The time spent opening audit files
    DBV_STAT_AF_CLOSE The time spent closing audit files
    DBV_STAT_AF_READ The time spent reading audit files
    DBV_STAT_CF_OPEN The time spent opening DMSII CONTROL files
    DBV_STAT_CF_CLOSE The time spent closing DMSII CONTROL files
    DBV_STAT_CF_READ The time spent reading DMSII CONTROL files
    DBV_STAT_DF_OPEN The time spent opening DESCRIPTION files
    DBV_STAT_DF_CLOSE The time spent closing DESCRIPTION files
    DBV_STAT_DF_READ The time spent reading DESCRIPTION files
    DBV_STAT_DB_OPEN The time spent opening databases
    DBV_STAT_DB_CLOSE The time spent closing databases
    DBV_STAT_DB_READ The time spent reading databases
    DBV_STAT_DB_WRITE The time spent performing database stores/deletes
    DBV_STAT_PF_OPEN The time spent opening port files
    DBV_STAT_PF_CLOSE The time spent closing port files
    DBV_STAT_PF_READ The time spent waiting for port file reads
    DBV_STAT_PF_WRITE The time spent waiting for port file writes
    DBV_STAT_BT_WAIT The time spent waiting for begin transactions
    DBV_STAT_ET_WAIT The time spent waiting for end transactions
    DBV_STAT_SP_WAIT The time spent waiting for end transaction with syncpoint waits
    DBV_STAT_CB_WAIT The time spent waiting for callbacks
    DBV_STAT_EX_WAIT The time spent waiting for DMSII to return records during an extracts
    DBV_STAT_SLEEP_WAIT The time the program "slept" while waiting for a timer to expire
    DBV_STAT_TG_WAIT The time spend waiting while trying to read updates
    DBV_STAT_LAST_TIME The highest time value
    DBV_STAT_FIRST_SIZE The lowest size value
    DBV_STAT_AA_SIZE The size of the audit areas (regions) read in words
    DBV_STAT_AB_SIZE The size of the audit blocks read in words
    DBV_STAT_AR_SIZE The size of the audit records read in words
    DBV_STAT_PR_SIZE The size of the port messages read in bytes
    DBV_STAT_PW_SIZE The size of the port messages written in bytes
    DBV_STAT_PA_SIZE The size of port messages available for reading in bytes
    DBV_STAT_COMMIT_BLOCKS The number of commits caused by a "CHECKPOINT n BLOCKS" setting
    DBV_STAT_COMMIT_RECORDS The number of commits caused by a "CHECKPOINT n RECORDS" setting
    DBV_STAT_COMMIT_TIME The number of commits caused by a "CHECKPOINT n MINUTES" setting
    DBV_STAT_COMMIT_TRANS The number of commits caused by a "CHECKPOINT n TRANSACTIONS" setting
    DBV_STAT_COMMIT_QPT The number of commits caused by the need to commit at the next quiet point
    DBV_STAT_COMMIT_EOF The number of commits caused by reaching the end of an audit file
    DBV_STAT_CREATES The number of creates per commit
    DBV_STAT_DELETES The number of deletes per commit
    DBV_STAT_MODIFIES The number of modifies per commit
    DBV_STAT_STATE The number of StateInfo updates per commit
    DBV_STAT_DOCS The number of doc records per commit
    DBV_STAT_UPDATES The number of updates per commit
    DBV_STAT_TRANS The number of transactions per commit
    DBV_STAT_LONGTRANS The number of active Long Transacations per commit
    DBV_STAT_LAST_SIZE The highest size value

    STATISTICS_INFO Array Layout

    The following table provides additional information about the STATISTICS_INFO array layout as it is documented in SYMBOL/DATABRIDGE/INTERFACE and returned by the DBSTATISTICS entry point.

    Field Description
    STAT_COUNT The number of data points
    STAT_MIN The minimum time/size
    STAT_MAX The maximum time/size
    STAT_TOTAL The sum of all times/sizes
    Value Description
    STAT_INFO_SIZE The size of STATISTICS_INFO

    FileXtract FileInfo Array Layout

    The following table provides additional information about the FileInfo array layout as it is documented in SYMBOL/DATABRIDGE/INTERFACE and returned by the DBFILEREADER entry point.

    Field Description
    FI_FILENBR The file number

    The maximum value for this field is 65535
    FI_RECLOC The location of the record within the file

    The meaning and layout of this word varies from one FileXtract Reader to another.
    FI_RECTS The timestamp of the returned record
    FI_STRIDX The structure index specified by the FileXtract Reader
    FI_PARAMLEN The length of the FileXtract Reader parameter in bytes
    FI_PARAM The first word of the FileXtract Reader parameter string
    Value Description
    FIV_PARAMLENMAX The maximum length of the FileXtract Reader parameter in bytes
    FIV_INFOSZ The size of the FileInfo array in words

    DBOUTPUTHEAD Procedure Heading

    This define can be used as a heading for any output routines you write. Include the name of your output routine in brackets after DBOUTPUTHEAD. For example:

    DBOUTPUTHEAD [MyWriter]
     begin
     …
     end MyWriter;
    

    Formatting procedures call output routines with the formatted record.

    If the output procedure encounters an error, it should return the appropriate DBMTYPE error code. Otherwise it should return DBM_OK.

    Input Type Definition
    P POINTER The pointer to the formatted record
    CHARS INTEGER The length of the formatted record in bytes
    UPDATE_INFO ARRAY A description of the modification

    For a description of the array, see the UPDATE_INFO Layout.
    RawImage ARRAY The original unformatted record

    DBFORMATHEAD Procedure Heading

    You can use this define as the heading for any formats that you write. Include the name of your formatting routine in brackets after DBFORMATHEAD. For example,

    DBFORMATHEAD [MyFormat]
     begin
     …
     end MyFormat;
     ```
    
    If the formatting procedure encounters an error, it should return the appropriate DBMTYPE error
    code. Otherwise it should return DBM_OK.
    
    | Input | Type | Definition |
    |:------- |:-------- |:-------------- |
    | USERREC | ARRAY | The unformatted data set record from the database or audit trail |
    | UPDATE_INFO | ARRAY | A description of the modification<br><br>For a description of the array, see the [UPDATE_INFO Layout](#update_info-layout). | 
    | CALLBACK | DBMTYPE | The procedure that receives the formatted record<br><br>The formatted record is usually written to a file or sent to a Databridge client. |
    
    <hr>
    
    ## DBTRANSFORMHEAD Procedure Heading
    
    You can use this define as the heading for any update transform procedures you write.
    
    Include the name of your transform routine in brackets after DBTRANSFORMHEAD. For example,
    
    

    DBTRANSFORMHEAD [MyTransform] begin … end MyTransform;

    
    If the transform procedure encounters an error, it should return the appropriate DBMTYPE error
    code. Otherwise it should return DBM_OK.
    
    | Parameter | Type | Definition |
    |:-------- |:-------- |:--------- |
    | UI | ARRAY | A description of the modification<br><br>For a description of the array, see [UPDATE_INFO Layout](#update_layout-info). |
    | BI | ARRAY | The before-image of the record<br><br>This array is valid only for update types DBV_DELETE and DBV_MODIFY. See [Record Change Types](#record-change-types) for a description of these types. |
    | AI | ARRAY | The after-image of the record<br><br>This array is not valid for update type DBV_DELETE. See [Record Change Types](#record-change-types) for a description of this type. |
    | DBFORMAT | PROCEDURE | The formatting procedure the transform procedure calls after the update is transformed<br><br>See [DBFORMATHEAD Procedure Heading](#dbformathead-procedure-heading). |
    | WRITER | PROCEDURE | The procedure that writes the formatted record<br><br>See [DBOUTPUTHEAD Procedure Heading](#dboutputhead-procedure-heading). |
    
    <hr>
    
    ## DBFORMATHEAD Procedure Heading
    
    You can use this define as the heading for any formats that you write. Include the name of your
    formatting routine in brackets after DBFORMATHEAD. For example,
    
    

    DBFORMATHEAD [MyFormat] begin … end MyFormat;

    
    If the formatting procedure encounters an error, it should return the appropriate DBMTYPE error
    code. Otherwise it should return DBM_OK.
    
    | Input | Type | Definition |
    |:--------- |:---------- |:---------------- |
    | USERREC | ARRAY | The unformatted data set record from the database or audit trail |
    | UPDATE_INFO | ARRAY | A description of the modification<br><br>For a description of the array, see the [UPDATE_INFO Layout](update_info-layout). |
    | CALLBACK | DBMTYPE | The procedure that receives the formatted record<br><br>The formatted record is usually written to a file or sent to a Databridge client. |
    
    <hr>
    
    ## DBTRANSFORMHEAD Procedure Heading
    
    You can use this define as the heading for any update transform procedures you write.
    
    Include the name of your transform routine in brackets after DBTRANSFORMHEAD. For example,
    
    

    DBTRANSFORMHEAD [MyTransform] begin … end MyTransform;

    
    If the transform procedure encounters an error, it should return the appropriate DBMTYPE error
    code. Otherwise it should return DBM_OK.
    
    | Parameter | Type | Definition |
    |:--------- |:---- |:------------- |
    | UI | ARRAY | A description of the modification<br><br>For a description of the array, see [UPDATE_INFO Layout](#update_info-layout). |
    | BI | ARRAY | The before-image of the record<br><br>This array is valid only for update types DBV_DELETE and DBV_MODIFY. See [Record Change Types](#record-change-types) for a description of these types. |
    | AI | ARRAY | The after-image of the record<br><br>This array is not valid for update type DBV_DELETE. See [Record Change Types](#record-change-types) for a description of this type. |
    | DBFORMAT | PROCEDURE | The formatting procedure the transform procedure calls after the update is transformed<br><br>See [DBFORMATHEAD Procedure Heading](#dbformathead-procedure-heading). |
    | WRITER | PROCEDURE | The procedure that writes the formatted record<hr><hr>See [DBOUTPUTHEAD Procedure Heading](#dboutputhead-procedure-heading).
    
    <hr>
    
    ## DBFILTERHEAD Procedure Heading
    
    
    You can use this define as the header for any filters that you write. Include the name of your filtering
    routine in brackets after DBFILTERHEAD. For example,
    
    

    DBFILTERHEAD [MyFilter] begin … end MyFilter;

    
    A false return value indicates that the caller should discard the update because it did not satisfy the
    filter condition. Filter procedures return a Boolean result, but additional information can be placed
    in the DBMResultF field of that result. That field must contain a DBMTYPE value describing any error
    encountered.
    
    | Parameter | Type | Definition |
    |:---------- |:----- |:------------ |
    | USERREC | ARRAY | The unformatted data set record from the audit trail |
    | UPDATE_INFO | ARRAY | A description of the modification<br><br>For a description of the array, see [UPDATE_INFO Layout](#update_info-layout). |
    
    <hr>
    
    ## DBERRORMANAGERHEAD Procedure Heading
    
    You can use this define to declare an error handler procedure heading.
    
    Include the name of your output routine in brackets after DBERRORMANAGERHEAD. For example,
    

    DBERRORMANAGERHEAD [MyHandler] begin … end MyHandler; ```

    The procedure should return an EMATYPE result code.

    Parameter Type Definition
    ACCESSORYID AIDTYPE The ID number of the Accessory
    ERRNBR DBMTYPE The error message number
    PERRMSG POINTER The error message text
    ERRMSGLEN REAL The length of the error message

    DBFILEREADERHEAD Procedure Heading.

    Use this define to declare a heading for a FileXtract Reader procedure. A Reader procedure reads a record from a non-DMSII file and returns it to DBEngine, which returns it to an Accessory for processing.

    Include the name of your file reader routine in brackets after DBFILEREADERHEAD. For example,

    DBFILEREADERHEAD [MyReader]
     begin
     …
     end MyReader;
    

    If the file reader procedure encounters an error, it should return the appropriate DBMTYPE error code. Otherwise it should return DBM_OK.

    Parameter Type Definition
    FileInfo ARRAY See FileXtract FileInfo Array Layout for more information
    FileRecord ARRAY Record contents to pass to DBEngine

    File Attribute Mask Bits

    Use the file attribute mask bits in this section when you call the DBFILEATTRIBUTE entry point. These bits correspond to GETSTATUS request type 3 calls.

    For example, to request the creation date and time, use the following mask:

    0 & 1 [CREATIONDATEB:1] & 1 [CREATIONTIMEB:1]

    For a description of each attribute, refer to a Unisys GETSTATUS/SETSTATUS programmer's reference.

    Attribute Mask bit
    CREATIONDATEB 01
    SIZESB 02
    SAVEFACTORB 03
    AREASECTORSB 05
    ROWSINUSEB 07
    FileOrDirB 09
    AREASB 10
    EOFSEGMENTSB 11
    EOFLASTSEGBITSB 12
    ACCESSDATEB 15
    VERSIONB 19
    CYCLEB 20
    TIMESTAMPB 21
    ACCESSTIMEB 25
    USERINFOB 26
    ALTERDATEB 27
    ALTERTIMEB 28
    CREATIONTIMEB 29
    BASEUNITNBRB 30
    ROWSLINKB 33
    ORGANIZATION 34
    STRUCTUREB 40
    FILELENGTHB 41