Notices Preface Audience for this Guide What you should know to use this Guide What is covered in this Guide tableBASE basics How to call tableBASE Operational considerations Accessing tableBASE Diagnosing errors tableBASE subroutines User exits from tablesONLINE Supplementary material What’s new in Version 7 Features from Version 6 Naming protocol Conventions Used in this Guide Conventions for entering parameters Glossary Additional tableBASE references VTS Manager References Customer Support Training and Professional Services About DataKinetics Introduction Base product tableBASE terminology tableSPACE Region (TSR) VTS (Virtual Table Share) Program Call Server (PC Server) VTS Manager VTS Gate Tables Table organization Indexes and Alternate Indexes Search methods Libraries Protecting tableBASE tables tableBASE basics Getting started with tableBASE Calling protocol Using tableBASE Defining a table Opening a table Populating tableBASE tables Retrieval and update processing Close processing Searching libraries Return values Advanced tableBASE functionality Date-sensitive processing Generations Operational parameters and switches Version control Multitasking batch Sophisticated memory management Summary of tableBASE commands tableBASE command categories by TSR access tableBASE commands Retrieval commands Update commands Table control commands Opening an Alternate Index Open Indirect Library maintenance commands System control commands tableBASE command descriptions Allocate (AL) Banner Retrieval (BN) Create Alternate Index Definition (CA) Change Table Definition (CD) Change Generations (CG) Close Table (CL) Change Name (CN) Change Status (CS) Delete by Count (DC) Dump Definition (DD) Disengage (DE) Delete Generation (DG) Delete by Key (DK) Define New Library (DL) Define Table (DT) Dump Table Contents (DU) Divert (Non-existing) Table (DV) Divert (Existing) Table (DW) Fetch by Count (FC) Fetch Generic (FG) Fetch by Key (FK) Fetch Next by Key (FN) Get Table Definition (GD) Get First (GF) Get Last (GL) Get Next (GN) Get Previous (GP) Invoke Alternate Index (IA) Insert by Count (IC) Insert by Key (IK) List Directory (LD) List Library (LL) List Status (LS) List Open Tables (LT) List VTS Settings (LV) Modify Library Search Order (ML) Empty the Table (MT) Get Next Table Name (NX) Open for Read (OR) Open for Write (OW) Replace by Count (RC) Refresh Table (RF) Replace by Key (RK) Release Table (RL) Rename Table (RN) Set Indirect (SI) Search by Key (SK) Store Table (ST) Un-allocate (UL) Virtual Subsystem (VS) Vary VTS (VV) Eliminate Table (XT) Terminate tableBASE in Region (XX) tableBASE error codes tableBASE parameter description ALT-DEFINITION (12 bytes) 1. ORG (1 byte) 2. METHOD (1 byte) 3. KEY-COUNT (halfword binary) 4. KEY-LOCATION (fullword binary) 5. KEY-SIZE (fullword binary) COMMAND-AREA (72 bytes) 1. COMMAND (2 bytes) 2. TABLE (8 bytes) 3. FOUND (1 byte) 4. INDIRECT-OPEN (1 byte) 5. FILLER (1 byte) 6. ABEND-OVERRIDE (1 byte) 7. ERROR (halfword binary) 8. COUNT (fullword binary) 9. LOCK-LATCH (8 bytes) 10. ROW-OVERRIDE-LENGTH (fullword binary) 11. ROW-ACTUAL-LENGTH (fullword binary) 12. FG-KEY-LENGTH (halfword binary) 13. FUNCTION-ID (halfword binary) 14. FUNCTION-AREA: DATE (8 bytes) 16. START-TBUOW (1 byte) 15. FILLER (19 bytes) 17. RETURNED-ABS-GEN-NO (halfword binary) 18. ERROR-SUBCODE (halfword binary) DATA-TABLE-NAME (8 bytes) DDNAME (8 bytes) DEFINITION-BLOCK (256 bytes) 1. ORG (1 byte) 2. METHOD (1 byte) 3. INDEX (1 byte) 4. SMC (1 byte) 5. RPSWD (8 bytes) 6. WPSWD (8 bytes) 7. RSZ (fullword binary) 8. KSZ (fullword binary) 9. KLOC (fullword binary) 10. ROWS (fullword binary) 11. GENERATIONS (halfword binary) 12. EXP-FACT (halfword binary) 13. LO-DEN (halfword binary) 14. HI-DEN (halfword binary) 15. FILLER (6 bytes) 16. DATE (12 bytes) 17. ABS-GEN-NO (halfword binary) 18. DATASET-NAME (44 bytes) 19. REL-GEN-NO (halfword binary) 20. GENS-PRESENT (halfword binary) 21. ROWS-AT-EXPAND (fullword binary) 22. DDNAME (8 bytes) 23. DATA-TABLE (8 bytes) 24. OPEN-STATUS (1 byte) 25. ALTS-INVOKED (1 byte) 26. VIEW-VERSION (1 byte) 27. FILLER (1 byte) 28. USERID (8 bytes) 29. VIEW-NAME (8 bytes) 30. VIEW-DATE (12 bytes) 31. USER-COMMENTS (16 bytes) 32. VTSNAME (8 bytes) 33. FILLER (68 bytes) DIR-SPEC (9 bytes) 1. TABLE-NAME-MASK (8 bytes) 2. DIRTYPE (1 byte) GENERATION (fullword binary) INDIRECT-OPEN-CRITERION (50 bytes) KEY-AREA (Table Specific) LIB-LIST (80 bytes) LIB-SPACE (8 bytes) LIBRARY-ALLOC (45 bytes) LIST-BLOCK (88 bytes) 1. LIST-FROM (fullword binary) 2. LIST-REQD (fullword binary) 3. LIST-SIZE (fullword binary) 4. LIST-TOTAL (fullword binary) 5. LIST-RETURNED (fullword binary) 6. LIST-TSR-HW (fullword binary) 7. LIST-OPEN-HW (fullword binary) 8. LIST-OPEN-NOW (fullword binary) 9. LIST-TSR-NOW (fullword binary) 10. LIST-TSR-SZ (fullword binary) 11. LIST-STROBE (fullword binary) 12. LIST-TOTAL-HWM (fullword binary) 13. LIST-TOTAL-CALLS (doubleword binary) 14. LIST-MAX-TBLS (fullword binary) 15. FILLER (16 bytes) 16. LIST-TSR-AVAIL (fullword binary) 17. FILLER (8 bytes) NAME-AREA (256 bytes) NEW-GEN-NO (fullword binary) NEW-TABLE-NAME (8 bytes) PASSWORD (8 bytes) RELEASE-LEVEL (16 bytes) ROW-AREA (Table Specific) STATUS-SWITCHES (8 bytes) 1. ABEND (1 byte) 2. WAIT (1 byte) 3. HASH-EMPTIES-RETURNED (1 byte) 4. DEFAULT-OPEN (1 byte) 5. TRACE (1 byte) 6. FILLER (3 bytes) TABLE-AREA TABLE-STATS 1. TABLE-NAME (8 bytes) 2. TABLE-OPEN-STATUS (1 byte) 3. TABLE-LOCAL-VTS (1 byte) 4. TABLE-ALT-INVOKED (1 byte) 5. FILLER (1 byte) 6. TABLE-CALLS (fullword binary) 7. TABLE-SIZE (fullword binary) 8. TABLE-ROWS (fullword binary) 9. TABLE-RWS-BF-EXP (fullword binary) 10. TABLE-DATATBL-VTSNAME (8 bytes) 11. TABLE-UPDATE-CALLS-TRUNC (fullword binary) 12. TABLE-DATE-TIME (12 bytes) 13. FILLER (4 bytes) 14. TABLE-TOTAL-CALLS (doubleword binary) 15. TABLE-UPDATE-CALLS (doubleword binary) 16. TABLE-VTSNAME (8 bytes) TBACC-DEF (32 bytes) TBINDEX-DEF (32 bytes) TB-PARM V5 (64 bytes) 1. TB-PARM-ID (2 bytes) 2. FILLER (2 bytes) 3. TB-VERSION (1 byte) 4. TB-FORMAT (1 byte) 5. FILLER (10 bytes) 6. TB-TPVM (8 bytes) 7. TB-SUBSYSTEM (8 bytes) 8. FILLER (4 bytes) 9. TB-TURBO-ANCHOR (8 bytes) 10. FILLER (20 bytes) TB-PARM V4 (28 bytes) 1. TB-PARM-ID (2 bytes) 2. TB-FUNCTION (2 bytes) 3. TB-VERSION (1 byte) 4. FILLER (3 bytes) 5. TB-SUBSYSTEM (4 bytes) 6. FILLER (8 bytes) 7. TB-DATE (8 bytes) VTS-DATA (60 bytes) 1. FILLER (8 bytes) 2. VTS-VTSFIRST (8 bytes) 3. VTS-VTSLAST (8 bytes) 4. VTS-VTSNAME (8 bytes) 5. VTS-DEFAULT-TSR (8 bytes) 6. VTS-TSRACCESS (1 byte) 7. VTS-RACF-VTS (1 byte) 8. VTS-TSR-KEY-PROTECT (1 byte) 9. FILLER (3 bytes) 10. VTS-GENERATION (2 bytes) 11. VTS-TPVM (8 bytes) 12. VTS-PREFIX (4 bytes) VTS-NAME (8 bytes) tableBASE parameters with C tableBASE coding examples Summary of coding examples Coding conventions COBOL variable names Programming in C with tableBASE Pragma linkage directive Strings Optional parameters Initializing the C data structures Retrieval commands Fetch rows by key Fetch every row Fetch every row from last to first Update commands Insert a new row or replace it Fetch a row and replace it Empty a table Table control commands Define a new table Change the table name and definition in memory Store a new generation Copy a table from one tableBASE library to another Library maintenance commands Delete all generations of a table Rename a table Initialize a tableBASE library System control commands Locate a table from a list of libraries Save and restore current status Sample tableBASE applications Fetch a row from a table Update an existing table Sequentially process all rows in a table Generic search Define a dynamic table to summarize data in memory Access a table that may not exist Establish another key with which to search a table Concatenate tableBASE libraries Temporarily change a list of concatenated tableBASE libraries Access a table indirectly Other language examples ASSEMBLER coding example Environmental interfaces Batch environment MVS compile and link JCL requirements MVS run-time JCL requirements TBLBASE Termination processing Online and multitasking environment considerations Sharing tables Retrieval only Temporary updating True updating: sharing between retrieval and update Example: posting CICS interface Restrictions Default STATUS SWITCHES LOCK-LATCH TBLBASE CICS JCL requirements IMS TM interface Restrictions Default STATUS SWITCHES TBLBASE DB2 stored procedures Restrictions Virtual Table Share (VTS-TSR) VTS management The VTS User Connecting a VTS User to a VTS-TSR VTS User access VTS User messages Customizing tableBASE options Parameters for all tableBASE environments TSR size Strobe interval Parameters that apply to batch only Parameters that apply to CICS only Parameters that apply to VTS only Other parameters Date-Sensitive Processing Found Code Fetch Generic Delimiter tableBASE driver command processor for CICS Security note DK1TDRVC environment Abend Status Libraries accessed Initial settings of the TBLBASE command area DK1TDRVC sign-on screen DK1TDRVC input area The command lines TABLE FOUND, ERR, and ERRSUBCD I Field A Field COUNT LOCK field ROW SZ KEY SZ FUNC ID FUNC PARM GEN ERRSUBCD Parameter lines 1:, 2:, and 3: Message line Ruler line Special functions Mode Switch – PA2/PA1 Help Browse or edit Data conversion , , Traversing tables , Leaving DK1TDRVC Edit switch DK1TDRVC commands Complete listing of DK1TDRVC commands tableBASE commands DRIVER commands Print (PR) List Generic (LG) List Directory (LD) Get Hex (GH) Replace Hex (RH) Set Subsystem (SS) Data conversion commands >T and >L commands >H command >D, >I and >N commands >S command GH and RH commands Data conversion parameters >F command Date-sensitive processing TBDRIVER command processor for Batch/TSO How to invoke TBDRIVER (DK1TDRV) TBDRIVER (DK1TDRV) commands Examples JCL to execute TBDRIVER Example using Alternate Indexes SP command example Error diagnosis tableBASE user errors Abnormal terminations tableBASE internal errors TBDUMP Diagnostic Information Thread Management Area (TMA) Thread Work Area (TWA) Communication Management Area (CMA) Common Management Extension Area (CME) Command Trace Area tableBASE subroutines Subroutine TBACC Summary of TBACC commands Command descriptions TBACC parameters Calling TBACC Table definition parameter description Warnings and restrictions Sample COBOL program code using TBACC Subroutine TBINDX Summary of TBINDX commands Command descriptions TBINDX parameters Calling TBINDX from COBOL Table definition parameter description Warnings and restrictions Sample COBOL program using TBINDX Subroutine DKTBNAME Parameter description Three operating modes COBOL examples using DKTBNAME tablesONLINE/ISPF exit programming Allocating user load libraries Structure of an exit program HOOK-PARAMETER-AREA-1 HOOK-PARAMETER-AREA-2 Writing an exit program Field-level exit programs Row-level exit programs Table-level exit programs tablesONLINE/CICS exit programming Interacting with tablesONLINE/CICS STIF indicator I/O indicator Before/After indicator Bypass Action indicator Update indicators Program Operating Mode Item Action flag Duplicate Keys Allowed indicator IXF Exit indicator IQU exit Top-level control structure for an exit Before Action exits Data validation Replacing tablesONLINE/CICS action After Action exits TOA exit tablesONLINE/CICS system exits Command Line/Line Command processing exits Command Line exits Line Command exits BYPASS-ACTION-IND summary Constructing an exit program Operational integrity Control structure Sample exit program The EXITWS copybook The EXITPARM copybook Exit program scenarios Security Making rows invisible to some users Interfacing Field-level data validation Misused field exits Cross-field validation Salary range checking Timing is critical Journaling Complex synchronization System synchronization tableBASE run-time options ALLOW_TB_LIB_IO—Allow tableBASE Library I/O CICSJRNL—CICS Journal File ID DATERTNX—Date-Sensitive Processing Found Code FGDELIM—Fetch Generic Delimiter HASH_HI_DEN_LIM—High Density Limit for Hash Indexes HASH_LOW_DEN_LIM—Low Density Limit for Hash Indexes LDS—Linear Data Set Use LIBnn, ML—tableBASE Library List LISTOPTIONS—List Parameter Options LOCKTIMERC—Lock Timer Wait Value LOCKTIMEWTO—Lock Timer Message Wait Value MAXNMTAB—Maximum Number of Tables MTRETAIN—Retain Rows and Index Areas MULTITASKING—Multitasking MULTOPNX—Multiple Alternate Index OVRRIDES—Allow Changes to Status Switches RACF_LIBACCESS—Perform Checks on Protected Libraries RACF_VTS—Perform Checks on SAF Interface Protected VTS-TSRs STROBE—Strobe Interval STROBEMETHOD—Strobe Method SUPPRESS_DUMPS—Suppress tableBASE Messages and Dumps SWITCHES—Status Switches TABLEWAITRC—Table Open Enqueue Wait Time TABLEWAITWTO—Table Open Enqueue Report Time TPVM—VTS Group Manager Use TSR_ALGORITHM—Optimize TSR Usage TSR_KEY_PROTECT—Hardware Key Protection for VTS-TSRs TSR_WARNING_FREQ—Frequency of TSR Allocation Warnings TSR_WARNING_PCT—Percentage of TSR Allocation for Warning Activation TSRACCESS—Read Only (RO) or Read Write (RW) TSR Access TSRSIZE—tableSPACE Region Size USEREXITS—User Exits VTSFIRST, VTSLAST—VTS Search Sequence VTSNAME—Specifying the Name of a VTS-TSR VTSPREFIX—VTS Prefix Definition ZEROROWS—Zero Data Table Rows on De-allocation TBOPT dataset coding Hints and suggestions tableBASE space requirements FK for duplicate keys Optimizing table access High-speed processing without EDF Date-sensitive processing Access Register mode VSAM tableBASE libraries and LSR pools Considerations for working with large tables tableBASE libraries Linked tables and TB-PARM Performance and TB-PARM Application performance with TBASEV or TBCALLV Limitations of duplicate key support Compatibility with previous releases of tableBASE API changes Release 5.0 enhancements Release 5.1 enhancements Version 6 enhancements Version 7 enhancements tableBASE messages tableBASE return codes tableBASE messages and codes for VTS Agent, CICS, Batch, etc. TBEXEC error messages tablesONLINE/CICS error messages tablesONLINE/ISPF error messages Other error messages Sample tableBASE COBOL call template MODELPGM TBTMPLAT Home / Documentation Archive / tableBASE Programming Guide / Environmental interfaces / IMS TM interface Restrictions Some commands are not supported in the IMS TM environment. These commands are: AL – Allocate library UL – De-allocate library DL – Define library. Doc navigation Default STATUS SWITCHES >