TurboIMAGE/XL Database Management System Reference Manual (30391-90012)
Table Of Contents
- 1 Introduction
- 2 Database Structure and Protection
- 3 Defining a Database
- 4 Using the Database
- 5 TurboIMAGE/XL Library Procedures
- Using TurboIMAGE/XL Intrinsics
- DBBEGIN
- DBCLOSE
- DBCONTROL
- DBDELETE
- DBEND
- DBERROR
- DBEXPLAIN
- DBFIND
- DBGET
- DBINFO
- INTRINSIC NUMBER 402
- Syntax
- Parameters
- Discussion
- Mode 101: Item Number
- Mode 102: Item Name
- Mode 103: Items in Database
- Mode 104: Items in Data Set
- Mode 113: BTREEMODE1 and Wildcard Character
- Mode 201: Set Number
- Mode 202: Set Name
- Mode 203: Sets in Database
- Mode 204: Sets with Item
- Mode 205: Set Capacity
- Mode 206: Number of Data Set Chunks
- Mode 207: Size of Data Set Chunks
- Mode 208: Primary and Actual Capacity
- Mode 209: B-Tree Attachment
- Mode 301: Paths
- Mode 302: Key or Search Item
- Mode 401: Logging
- Mode 402: ILR
- Mode 403: Dynamic Roll-Back
- Mode 404: Logging Subsystem Information
- Mode 406: Database Information
- Mode 501: Subsystem Access
- Mode 502: Critical Item Update
- Modes 8nn: Third-Party Indexing
- Mode 901: Language
- DBLOCK
- DBMEMO
- DBOPEN
- DBPUT
- DBUNLOCK
- DBUPDATE
- DBXBEGIN
- DBXEND
- DBXUNDO
- 6 Host Language Access
- Model Program
- ORDERS Database Model Program
- Main Body of Program
- Opening the Database
- Retrieving All the Records on a Chain (with Item Level Locking)
- Retrieving a Data Entry Using a Record Number
- Retrieving Master Data Using a Key Value
- Retrieving Data Serially (with Set Level Locking)
- Adding an Entry
- Updating an Entry
- Deleting an Entry
- Rewinding a Data Set
- Obtaining Database Information
- Obtaining Error Messages and Explanations
- Closing the Database
- C
- COBOL II
- Defining Data Types, Variables, and Intrinsics
- Main Body of Program
- Opening the Database
- Retrieving All the Records on a Chain (with Item Level Locking)
- Retrieving a Data Entry Using a Record Number
- Retrieving Master Data Using a Key Value
- Retrieving Data Serially (with Set Level Locking)
- Adding an Entry
- Updating an Entry
- Deleting an Entry
- Rewinding a Data Set
- Obtaining Database Information
- Obtaining Error Messages and Explanations
- Closing the Database
- FORTRAN 77
- Pascal
- RPG
- 7 Logging and Recovery
- Database Utilities Used in Logging and Recovery
- Recovery Options
- Logical Transactions
- Dynamic Roll-Back Recovery
- Intrinsic Level Recovery
- Logging Preparation
- Step 1--Checking MPE/iX Logging Configuration
- Step 2--Acquiring Logging Capability
- Step 3--Logging to Tape or Disk
- Step 4--Building a Log File for Logging to Disk
- Step 5--Creating the Log Identifier
- Step 6--Setting the Log Identifier
- Step 7--Setting Flags for the Database Backup Copy
- Step 8--Making a Database Backup Copy
- TurboSTORE/iX 7x24 True-Online Backup
- Logging Status
- Logging Maintenance
- Roll-Forward Recovery
- Roll-Back Recovery
- DBRECOV Commands Used with Roll-Forward and Roll-Back Recovery
- Recovery Tables
- Post-Recovery Options
- The Mirror Database
- 8 Using the Database Utilities
- Restructuring the Database with TurboIMAGE/XL Utilities
- Summary of Utility Routines
- Utility Program Operation
- DBLOAD
- DBRECOV
- >CONTROL
- >EXIT
- >FILE
- >RECOVER
- >ROLLBACK
- >RUN
- DBRESTOR
- DBSTORE
- DBUNLOAD
- DBUTIL
- >>ACTIVATE
- >>ADDINDEX
- >>CREATE
- >>DEACTIVATE
- >>DETACH
- >>DISABLE
- >>DROPINDEX
- >>ENABLE
- >>ERASE
- >>EXIT
- >>HELP
- >>MOVE
- >>PURGE
- >>REBUILDINDEX
- >>REDO
- >>RELEASE
- >>SECURE
- >>SET
- >>SHOW
- Syntax
- Parameters
- Example (Show Users)
- Example Discussion
- Example (Show All)
- Example Discussion
- Example (Show Capacity)
- Format of Show Device List
- Example (Show Device)
- Format of Show Indices
- Example (Show Indices)
- Format of Show Locks List
- Example 1 (Show Locks)
- Example 1 Discussion
- Example 2 (Show Locks)
- Example 2 Discussion
- >>VERIFY
- 9 Using a Remote Database
- 10 Internal Structures and Techniques
- 11 B-Tree Indices
- A Error Messages
- B Results of Multiple Access
- C Database Design Considerations
- D Multiple Calls to DBLOCK
- E TurboIMAGE/XL Log Record Formats
- F MPE/iX Log Record Formats
- G Recovery and Logging Quick Reference
- H TurboIMAGE/XL versus TurboIMAGE/V

Contents
9
Obtaining Database Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 260
Obtaining Error Messages and Explanations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
Closing the Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 261
C . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
Defining Data Types, Variables, and Intrinsics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 262
Main Body of Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
Obtaining Error Messages and Explanations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 264
Opening the Database. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
Retrieving All the Records on a Chain (with Item Level Locking). . . . . . . . . . . . . . . . . . . 265
COBOL II . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
Defining Data Types, Variables, and Intrinsics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
Main Body of Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272
Opening the Database. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 273
Retrieving All the Records on a Chain (with Item Level Locking). . . . . . . . . . . . . . . . . . . 273
Retrieving a Data Entry Using a Record Number . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275
Retrieving Master Data Using a Key Value . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 277
Retrieving Data Serially (with Set Level Locking) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 278
Adding an Entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 279
Updating an Entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
Deleting an Entry . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284
Rewinding a Data Set. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
Obtaining Database Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 286
Obtaining Error Messages and Explanations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 287
Closing the Database . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
FORTRAN 77 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
Defining Data Types, Variables, and Intrinsics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 289
Main Body of Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
Obtaining Error Messages and Explanations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 291
Opening the Database. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 292
Retrieving All the Records on a Chain (with Item Level Locking). . . . . . . . . . . . . . . . . . . 293
Pascal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
Defining Data Types, Variables, and Intrinsics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 296
Obtaining Error Messages and Explanations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
Opening the Database. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 299
Retrieving All the Records on a Chain (with Item Level Locking). . . . . . . . . . . . . . . . . . . 300
RPG. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
Defining Data Types, Variables, and Intrinsics. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 303
Main Body of Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 304
Retrieving All the Records on a Chain (with Item Level Locking). . . . . . . . . . . . . . . . . . . 304
Obtaining Error Messages and Explanations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306
Defining Output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 306