Caché Programming Orientation Guide
Contents
[Home]  [Next]
InterSystems: The power behind what matters   
Class Reference   
Search:    

Preface : 
 
 
Chapter 1: 
  1.1 Introduction
1.2 Routines
1.3 Classes
1.4 Introduction to Globals
1.4.1 Ways to Access Data
1.4.2 Implications of Using Globals
1.5 Caché SQL
1.6 Macros
1.7 Include Files
1.8 How These Code Elements Work Together
Chapter 2: 
  2.1 Routines
2.2 Procedures, Functions, and Subroutines
2.3 Variables
2.3.1 Variable Names
2.3.2 Variable Types
2.3.3 Variable Length
2.3.4 Variable Existence
2.4 Variable Availability and Scope
2.4.1 Summary of Variable Scope
2.4.2 The NEW Command
2.5 Multidimensional Arrays
2.5.1 Basics
2.5.2 Structure Variations
2.5.3 Use Notes
2.6 Operators
2.6.1 Familiar Operators
2.6.2 Unfamiliar Operators
2.7 Commands
2.7.1 Familiar Commands
2.7.2 Commands for Use with Multidimensional Arrays
2.8 Special Variables
2.8.1 $SYSTEM Special Variable
2.9 Locking and Concurrency Control
2.9.1 Basics
2.9.2 The Lock Table
2.9.3 Locks and Arrays
2.9.4 Introduction to Lock Types
2.10 System Functions
2.10.1 Value Choice
2.10.2 Existence Functions
2.10.3 List Functions
2.10.4 String Functions
2.10.5 Working with Multidimensional Arrays
2.10.6 Character Values
2.10.7 $ZU Functions
2.11 Date and Time Values
2.11.1 Local Time
2.11.2 UTC Time
2.11.3 Date and Time Conversions
2.11.4 Details of the $H Format
2.12 Using Macros and Include Files
2.13 Using Routines and Subroutines
2.13.1 Passing Variables by Value or by Reference
2.14 Potential Pitfalls
2.15 For More Information
Chapter 3: 
  3.1 Objects and Properties
3.2 Methods
3.2.1 Instance Methods
3.2.2 Class Methods
3.2.3 Methods and Variable Scope
3.3 Class Constants (Parameters)
3.4 Class Definitions and Types
3.5 Inheritance
3.5.1 Terminology and Basics
3.5.2 Example
3.5.3 Use of Inherited Class Members
3.5.4 Use of Subclasses
3.6 Classes as Containers of Methods
3.7 Abstract Classes
Chapter 4: 
  4.1 Class Names and Packages
4.2 Basic Contents of a Class Definition
4.3 Class Name Shortcuts
4.4 Class Parameters
4.5 Properties
4.5.1 Specifying Property Keywords
4.6 Properties Based on Data Types
4.6.1 Data Type Classes
4.6.2 Overriding Parameters of Data Type Classes
4.6.3 Using Instance Variables
4.6.4 Using Other Property Methods
4.7 Methods
4.7.1 Specifying Method Keywords
4.7.2 References to Other Class Members
4.7.3 References to Methods of Other Classes
4.7.4 References to Current Instance
4.7.5 Method Arguments
4.8 Special Kinds of Methods
4.8.1 Call Methods
4.8.2 Method Generators
4.9 Class Queries
4.10 XData Blocks
4.11 Macros and Include Files in Class Definitions
4.12 Inheritance Rules in Caché
4.12.1 Inheritance Order
4.12.2 Primary Superclass
4.12.3 Most-Specific Type Class
4.12.4 Overriding Methods
4.13 For More Information
Chapter 5: 
  5.1 Introduction to Caché Object Classes
5.2 Basic Features of Object Classes
5.3 OREFs
5.4 Stream Interface Classes
5.4.1 Stream Classes
5.4.2 Example
5.5 Collection Classes
5.5.1 List and Array Classes for Use As Standalone Objects
5.5.2 List and Arrays as Properties
5.6 Useful ObjectScript Functions
5.7 For More Information
Chapter 6: 
  6.1 Introduction
6.2 Caché SQL
6.2.1 Where You Can Use Caché SQL
6.2.2 Object Extensions to SQL
6.3 Special Options for Persistent Classes
6.4 SQL Projection of Persistent Classes
6.4.1 Demonstration of the Object-SQL Projection
6.4.2 Basics of the Object-SQL Projection
6.4.3 Classes and Extents
6.5 Object IDs
6.5.1 How an ID Is Determined
6.5.2 Accessing an ID
6.6 Storage
6.6.1 A Look at a Storage Definition
6.6.2 Globals Used by a Persistent Class
6.6.3 Default Structure for a Stored Object
6.6.4 Notes
6.7 Options for Creating Persistent Classes and Tables
6.8 Accessing Data
6.9 A Look at Stored Data
6.10 Storage of Generated Code for Caché SQL
6.11 For More Information
Chapter 7: 
  7.1 Introduction to Namespaces and Databases
7.1.1 Locks, Globals, and Namespaces
7.2 Database Basics
7.2.1 Database Configuration
7.2.2 Database Features
7.2.3 Database Portability
7.3 System-Supplied Databases
7.4 System-Supplied Namespaces
7.5 Custom Items in CACHESYS
7.6 What Is Accessible in Your Namespaces
7.6.1 System Globals in Your Namespaces
7.7 Stream Directory
7.8 For More Information
Chapter 8: 
  8.1 Introduction
8.1.1 Security Elements Within Caché
8.1.2 Secure Communications to and From Caché
8.2 Caché Applications
8.3 Caché Authorization Model
Chapter 9: 
  9.1 Introduction
9.2 Caché Locales and National Language Support
9.3 Default I/O Tables
9.4 Files and Character Encoding
9.5 Manually Translating Characters
Chapter 10: 
  10.1 Management Portal
10.1.1 Accessing the Portal
10.2 Studio
10.2.1 Starting Studio
10.2.2 Orientation
10.2.3 Documents (“Files”)
10.2.4 Integration with Source Control
10.2.5 Other Environmental Options
10.3 Terminal
10.3.1 Starting the Terminal
10.3.2 Orientation
10.3.3 Environmental Options
10.3.4 Using the Terminal
10.3.5 Common Keyboard Accelerators
10.4 System Qualifiers and Flags
10.4.1 Viewing the Current Default Qualifiers and Flags
10.4.2 Changing the Defaults
10.4.3 Key Flags
10.4.4 Historical Note
10.5 InterSystems Classes and Routines
10.6 InterSystems Class Reference (Documatic)
10.6.1 Accessing the InterSystems Class Reference
10.6.2 A Quick Look at the InterSystems Class Reference
10.7 Tools for Debugging
10.7.1 Studio Debugger
10.7.2 ZBREAK
10.7.3 ^%STACK
10.7.4 Trace Statements
10.7.5 Audit Log
10.7.6 System Logs
10.8 For More Information
Chapter 11: 
  11.1 Support for Long String Operations
11.1.1 Enabling Long String Operations
11.2 Settings for Caché SQL
11.3 Use of IPv6 Addressing
11.4 Configuring a Server Programmatically
11.5 For More Information
Chapter 12: 
  12.1 Finding Definitions of Code Elements
12.1.1 Finding a Class Member in Studio
12.1.2 Finding a Class Member in the InterSystems Class Reference
12.1.3 Finding Subclasses in the InterSystems Class Reference
12.1.4 Finding a Macro in Studio
12.2 Defining Databases
12.3 Defining Namespaces
12.4 Mapping a Global
12.5 Mapping a Routine
12.6 Mapping a Package
12.7 Generating Test Data
12.7.1 Extending %Populate
12.7.2 Using Methods of %Populate and %PopulateUtils
12.8 Removing Stored Data
12.9 Resetting Storage
12.10 Browsing a Table
12.11 Executing an SQL Query
12.12 Examining Object Properties
12.13 Viewing Globals
12.14 Displaying INT Code
12.15 Testing a Query and Viewing a Query Plan
12.16 Viewing the Query Cache
12.17 Building an Index
12.18 Using the Tune Table Facility
12.19 Moving Code from One Database to Another
12.20 Moving Data from One Database to Another
12.21 Renaming a Class
12.22 For More Information
 
Appendix A: 
  A.1 Non-Alphanumeric Characters in the Middle of “Words”
A.2 . (One Period)
A.3 .. (Two Periods)
A.4 # (Pound Sign)
A.5 Dollar Sign ($)
A.6 Percent Sign (%)
A.7 Caret (^)
A.8 Other Forms
Appendix B: 
  B.1 Namespaces
B.1.1 Namespace Names to Avoid
B.2 Databases
B.2.1 Database Names to Avoid
B.3 Local Variables
B.3.1 Local Variable Names to Avoid
B.4 Global Variables
B.4.1 Global Variable Names to Avoid
B.5 Routines and Labels
B.5.1 Reserved Routine Names for Your Use
B.6 Classes
B.6.1 Class Names to Avoid
B.7 Class Members
B.7.1 Member Names to Avoid
B.8 Custom Items in CACHESYS
Appendix C: 
  C.1 Long String Limit
C.2 Class Limits
C.3 Class and Routine Limits
C.4 Other Programming Limits
Appendix D: 
  D.1 Representations of Numbers
D.1.1 Decimal Format
D.1.2 $DOUBLE Format
D.1.3 SQL Representations
D.2 Choosing a Numeric Format
D.3 Converting Numeric Representations
D.3.1 Strings
D.3.2 Decimal to $DOUBLE
D.3.3 $DOUBLE to Decimal
D.3.4 Decimal to String
D.4 Operations Involving Numbers
D.4.1 Arithmetic
D.4.2 Comparison
D.4.3 Boolean Operations
D.5 Summary of Changes Introduced in Version 2008.2
D.6 Exact Representation of Values
D.7 See Also