HPlogo

KSAM/3000 Reference Manual: HP 3000 MPE/iX Computer Systems

» 

Technical documentation

Complete book in PDF
» Feedback

 » Table of Contents

HP Part Number: 32650-90386

Edition: Edition 02

Published: Printed in U.S.A. 08/86


Table of Contents

PREFACE
1 INTRODUCING KSAM/3000
OVERVIEW
FILE STRUCTURE
FILE ACCESS
KSAM/3000 FEATURES
MULTIPLE KEYS
DUPLICATE KEYS
GENERIC KEYS
APPROXIMATE MATCH
DATA RECORD FORMAT
HOW TO USE KSAM FILES
CREATING A KSAM FILE
WRITING RECORDS TO A KSAM FILE
RETRIEVING RECORDS FROM A KSAM FILE
UPDATING RECORDS IN A KSAM FILE
POSITIONING IN A KSAM FILE
DELETING RECORDS FROM A KSAM FILE
REORGANIZING A KSAM FILE
SHARED ACCESS TO KSAM FILES
RECOVERY AND ANALYSIS OF KSAM FILES
USING FILE EQUATIONS WITH KSAM FILES
HOW TO USE THIS MANUAL
RPG PROGRAMMER
COBOL II PROGRAMMER
COBOL PROGRAMMER
SPL PROGRAMMER
FORTRAN PROGRAMMER
BASIC PROGRAMMER
ALL PROGRAMMERS
2 USING KSAM UTILITIES
OVERVIEW
KSAMUTIL UTILITY
RUNNING KSAMUTIL
EXITING FROM KSAMUTIL
HELP
REQUESTING HELP
BUILD
PARAMETERS
KEY DESCRIPTION
CREATING A KSAM FILE
ERASE
PARAMETERS
CLEARING A KSAMFILE
PURGE
PARAMETERS
PURGING A KSAM FILE
RENAME
PARAMETERS
RENAMING A KSAM FILE
SAVE
PARAMETERS
SAVING A KSAM FILE
VERIFY
PARAMETERS
DISPLAY KSAM FILE CHARACTERISTICS
TERMINATING THE >VERIFY COMMAND
DIRECTING VERIFY OUTPUT TO LINE PRINTER
USING VERIFY FOR RECOVERY
KEYSEQ
PARAMETERS
VERIFY KEY SEQUENCE
KEYDUMP
PARAMETERS
DUMPING THE KEY FILE
DUMPING A SUBSET OF THE KEY FILE
SORTING DUMP BY RECORD POINTER
KEYINFO
PARAMETERS
REQUESTING KEY FILE INFORMATION
RECOVERING AFTER SYSTEM FAILURE
USING KSAMUTIL IN BATCH MODE
FCOPY UTILITY
RUNNING FCOPY
EXITING FROM FCOPY
FCOPY FROM COMMAND
PARAMETERS
KSAM OPTIONS
USING FCOPY
FCOPY WITH KEY = OPTIONS.
COPYING VARIABLE-LENGTH KSAM FILES
:STORE AND :RESTORE COMMANDS
STORE
PARAMETERS
USING THE :STORE COMMAND
RESTORE
PARAMETERS
USING THE :RESTORE COMMAND
3 USING KSAM FILES IN COBOL PROGRAMS
OVERVIEW
CALLING A KSAM PROCEDURE
FILETABLE PARAMETER
FILETABLE
EXAMPLE
STATUS PARAMETER
STATUS
STATUS
USING STATUS
KSAM LOGICAL RECORD POINTER
SHARED ACCESS
CKCLOSE
PARAMETERS
USING CKCLOSE
EXAMPLES
CKDELETE
PARAMETERS
USING CKDELETE
EXAMPLES
CKERROR
PARAMETERS
USING CKERROR
CKLOCK
PARAMETERS
USING CKLOCK
EXAMPLES
CKOPEN
PARAMETERS
USING CKOPEN
EXAMPLES
CKOPENSHR
PARAMETERS
USING CKOPENSHR
CKREAD
PARAMETERS
USING CKREAD
EXAMPLE
CKREADBYKEY
PARAMETERS
USING CKREADBYKEY
EXAMPLES
CKREWRITE
PARAMETERS
USING CKREWRITE
EXAMPLES
CKSTART
PARAMETERS
USING CKSTART
EXAMPLES
CKUNLOCK
PARAMETERS
USING CKUNLOCK
EXAMPLES
CKWRITE
PARAMETERS
USING CKWRITE
EXAMPLES
EXAMPLES OF KSAM FILE ACCESS FROM COBOL PROGRAM
EXAMP1. SEQUENTIAL WRITE
EXAMP2. SEQUENTIAL READ
EXAMP3. RANDOM UPDATE
4 USING KSAM FILES IN SPL PROGRAMS
KSAM FILE SYSTEM INTRINSICS
CALLING INTRINSICS FROM SPL
KSAM INTRINSIC SUMMARY
INTRINSIC FORMAT
KSAM RECORD POINTERS
SHARED ACCESS
INTRINSIC NUMBER 10
PARAMETERS
CONDITION CODES
SPECIAL CONSIDERATIONS
INTRINSIC NUMBER 9
PARAMETERS
CONDITION CODES
SPECIAL CONSIDERATIONS
USING FCLOSE
INTRINSIC NUMBER 13
PARAMETERS
CONDITION CODES
SPECIAL CONSIDERATIONS
USING FCONTROL
INTRINSIC NUMBER 307
PARAMETERS
CONDITION CODES
USING FERRMSG
INTRINSIC NUMBER 302
PARAMETERS
CONDITION CODES
SPECIAL CONSIDERATIONS
USING FFINDBYKEY
INTRINSIC NUMBER 301
PARAMETERS
CONDITION CODES
SPECIAL CONSIDERATIONS
USING FFINDN
INTRINSIC NUMBER 11
PARAMETERS
CONDITION CODES
USING FGETINFO
INTRINSIC NUMBER 303
PARAMETERS
CONDITION CODES
USING FGETKEYINFO
INTRINSIC NUMBER 15
PARAMETERS
CONDITION CODES
SPECIAL CONSIDERATIONS
USING FLOCK
INTRINSIC NUMBER 1
FUNCTIONAL RETURN
PARAMETERS
CONDITION CODES
USING FOPEN
OPENING A NEW FILE
OPENING AN EXISTING FILE
INTRINSIC NUMBER 6
PARAMETERS
CONDITION CODES
SPECIAL CONSIDERATIONS
USING FPOINT
INTRINSIC NUMBER 2
FUNCTIONAL RETURN
PARAMETERS
CONDITION CODES
SPECIAL CONSIDERATIONS
USING FREAD
INTRINSIC NUMBER 304
FUNCTIONAL RETURN
PARAMETERS
CONDITION CODES
USING FREADBYKEY
INTRINSIC NUMBER 305
FUNCTIONAL RETURN
PARAMETERS
CONDITION CODES
USING FREADC
INTRINSIC NUMBER 7
PARAMETERS
CONDITION CODES
SPECIAL CONSIDERATIONS
USING FREADDIR
INTRINSIC NUMBER 19
PARAMETERS
CONDITION CODES
SPECIAL CONSIDERATIONS
USING FREADLABEL
INTRINSIC NUMBER 12
INTRINSIC NUMBER 18
INTRINSIC NUMBER 306
PARAMETERS
CONDITION CODES
SPECIAL CONSIDERATIONS
USING FREMOVE
INTRINSIC NUMBER 17
INTRINSIC NUMBER 14
PARAMETERS
CONDITION CODES
SPECIAL CONSIDERATIONS
USING FSETMODE
INTRINSIC NUMBER 5
PARAMETERS
CONDITION CODES
SPECIAL CONSIDERATIONS
USING FSPACE
INTRINSIC NUMBER 16
PARAMETERS
CONDITION CODES
SPECIAL CONSIDERATIONS
USING FUNLOCK
INTRINSIC NUMBER 4
PARAMETERS
CONDITION CODES
SPECIAL CONSIDERATIONS
USING FUPDATE
SHARED ACCESS.
UPDATING RECORDS WITH DUPLICATE KEYS.
INTRINSIC NUMBER 3
PARAMETERS
CONDITION CODES
SPECIAL CONSIDERATIONS
USING FWRITE
INTRINSIC NUMBER 8
INTRINSIC NUMBER 20
PARAMETERS
CONDITION CODES
SPECIAL CONSIDERATIONS
USING FWRITELABEL
INTRINSIC NUMBER 308
FUNCTIONAL RETURN
CONDITION CODES
USING HP32208
5 USING KSAM FILES IN FORTRAN PROGRAMS
OVERVIEW
CALLING FILE SYSTEM INTRINSICS
CALLING COBOL PROCEDURES
CREATING A KSAM FILE WITH A CALL TO FOPEN
DEFINING KSAMPARAM
CALLING FOPEN
CREATING A KSAM FILE WITH KSAMUTIL
OPENING A KSAM FILE WITH A COBOL PROCEDURE
WRITING TO A KSAM FILE
READING A KSAM FILE IN KEY ORDER
PRIMARY KEY SEQUENCE
ALTERNATE KEY SEQUENCE
RANDOM ORDER
READING A KSAM FILE IN CHRONOLOGICAL ORDER
6 USING KSAM FILES IN BASIC PROGRAMS
OVERVIEW
CALLING A KSAM PROCEDURE
OPTIONAL PARAMETERS
STATUS PARAMETER
KSAM LOGICAL RECORD POINTER
SHARED ACCESS
BKCLOSE
PARAMETERS
USING BKCLOSE
BKDELETE
PARAMETERS
USING BKDELETE
BKERROR
PARAMETERS
USING BKERROR
BKLOCK
PARAMETERS
USING BKLOCK
BKOPEN
PARAMETERS
USING BKOPEN
BKREAD
PARAMETERS
USING BKREAD
BKREADBYKEY
PARAMETERS
USING BKREADBYKEY
BKREWRITE
PARAMETERS
USING BKREWRITE
BKSTART
PARAMETERS
USING BKSTART
BKUNLOCK
PARAMETERS
USING BKUNLOCK
BKVERSION
PARAMETERS
USING BKVERSION
BKWRITE
PARAMETERS
USING BKWRITE
A ERROR MESSAGES AND RECOVERY PROCEDURES
B KSAM/3000 INTERNAL STRUCTURE AND TECHNIQUES
OVERVIEW
KSAM FILE STRUCTURE
B-TREE STRUCTURE
KSAM KEY FILE STRUCTURE
RELATION OF KEY TO DATA FILE
KSAM FILE SIZE
KEY BLOCK SIZE
KEY FILE SIZE
KSAM EXTRA DATA SEGMENTS
NUMBER OF EXTRA DATA SEGMENTS
EXTRA DATA SEGMENT SIZE
EXTRA DATA SEGMENTS WITH SHARED ACCESS
C ASCII CHARACTER SET IN COLLATING SEQUENCE
D CONVERSION TO KSAM FILES
USING KSAMUTIL AND FCOPY
USING RTOKSAM
E RECOVERY FROM SYSTEM FAILURE
OVERVIEW
END-OF-FILE ON KSAM FILES
DATA FILE
KEY FILE
END-OF-FILE AND THE EXTRA DATA SEGMENT
NORMAL OPERATION - FILE IS CLOSED
SYSTEM FAILURE - FILE IS OPEN
SITUATIONS IN WHICH RECOVERY IS REQUIRED
EXAMPLE OF FILE RECOVERY
RELOADING A KSAM FILE
EXPAND KEY BLOCK BUFFER AREA
F NATIVE LANGUAGE SUPPORT AND KSAM
OVERVIEW
CREATING KSAM FILES WITH KSAMUTIL
ERROR MESSAGES
CREATING KSAM FILES PROGRAMMATICALLY
MODIFYING KSAM FILES
GENERIC KEYS
USING FCOPY WITH NLS KSAM FILES
COPYING FROM A KSAM FILE TO ANOTHER KSAM FILE
CHANGING THE LANGUAGE ATTRIBUTE OF A KSAM FILE
MOVING NLS KSAM FILES TO PRE-NLS MPE

List of Figures

1-1 A Simplified View of the KSAM File Structure
2-1 EDITOR Listing of Job to be Streamed
3-1 Filetable Structure
3-2 Representation of KSAMFILE Used in COBOL Examples
3-3 Sequential Write Using COBOL
3-4 Sequential Read Using COBOL
3-5 Random Update with COBOL
4-1 FCLOSE Example
4-2 FFINDBYKEY Example
4-3 File Position with FFINDN
4-4 FGETINFO Example
4-5 FOPEN Example — Building a KSAM file
4-6 FOPEN Example — Opening an Existing File
4-7 FREAD Example
4-8 FREADBYKEY Example
4-9 FREADC Example
4-10 FREADDIR Example
4-11 FREMOVE Example
4-12 File Position with FSPACE
4-13 FUPDATE Example
4-14 FWRITE Example
5-1 Creating and Writing to KSAM File in FORTRAN
5-2 Opening KSAM File with CKOPEN
5-3 Reading KSAM File in Key Sequence Using FORTRAN
5-4 Reading KSAM File in Chronological Sequence Using FORTRAN
6-1 Closing a KSAM File with BKCLOSE
6-2 Deleting a Record With BKDELETE
6-3 Dynamically Locking a KSAM File with BKLOCK
6-4 Opening KSAM File with BKOPEN
6-5 Reading From a KSAM File with BKREAD
6-6 Reading a Record Located by Key Value with BKREADBYKEY
6-7 Rewriting Record in KSAM File with BKREWRITE
6-8 Positioning Pointer to Least-Valued Record with BKSTART
6-9 Positioning Pointer to Particular Record with BKSTART
6-10 Dynamically Unlocking a KSAM File
6-11 Writing to a KSAM File with BKWRITE
B-1 Two-Level B-Tree Structure
B-2 Split Causes New Level in Tree
B-3 Tree Growth from Two to Three Levels
B-4 KSAM Key File Structure With Two Keys
B-5 Control Block and Key Descriptor Block
B-6 Key Entry Block Structure
B-7 Data File/Key File Relation
B-8 Formula to Determine File Space per Key
B-9 Calculation of Total Key File Size with Two Keys
B-10 Extra Data Segments for Shared Access
B-11 KSAM Extra Data Segment
E-1 KSAM File and an Extra Data Segment
F-1 KSAM File Test Program
F-2 Results Returned By The NLKEYCOMPARE Intrinsic
F-3 Generic Key Searches
F-4 KSAM Recovery Procedure
Feedback to webmaster