Release 8207.27.0
  TIBCO WebFOCUS® 8207.27.0 License Information
  Adapter Reference
  Release Notes
  Overview and Operating Environments
  Creating Reports
  Describing Data
  Developing Applications
  Maintaining Databases
  Using Functions
  Installation Guides
    z/OS Installation Guide
    UNIX/Linux Installation Guide
  Data Adapter Documentation
    Adapter for Db2 Installation Guide
    Relational Data Adapter User's Manual
    Adapter for Teradata Installation Guide
  Supplementary Documentation
    In-Document Analytics User's Guide
    Simultaneous Usage Reference Manual for z/OS
    Host Language Interface User's Manual
  TIBCO WebFOCUS® 8207.27.0 License Information
  Adapter Reference
  Release Notes
  Overview and Operating Environments
  Creating Reports
  Describing Data
  Developing Applications
  Maintaining Databases
  Using Functions
  Installation Guides
    z/OS Installation Guide
    UNIX/Linux Installation Guide
  Data Adapter Documentation
    Adapter for Db2 Installation Guide
    Relational Data Adapter User's Manual
    Adapter for Teradata Installation Guide
  Supplementary Documentation
    In-Document Analytics User's Guide
    Simultaneous Usage Reference Manual for z/OS
    Host Language Interface User's Manual
Release 7.7.09
  Summary of New Features
    Creating an Active Technologies Report
      Features Added in FOCUS 7.7.03
    Reporting Enhancements
      Features Added in FOCUS 7.7.09
      Features Added in FOCUS 7.7.07
      Features Added in FOCUS 7.7.06
      Features Added in FOCUS 7.7.03
    General Enhancements
      Features Added in FOCUS 7.7.09
      Features Added in FOCUS 7.7.07
      Features Added in FOCUS 7.7.06
      Features Added in FOCUS 7.7.03
    Database Enhancements
      Features Added in FOCUS 7.7.09
      Features Added in FOCUS 7.7.07
      Features Added in FOCUS 7.7.06
      Features Added in FOCUS 7.7.03
    Output Format Enhancements
      Features Added in FOCUS 7.7.07
      Features Added in FOCUS 7.7.06
      Features Added in FOCUS 7.7.03
    Adapter Enhancements
      Features Added in FOCUS 7.7.09
      Features Added in FOCUS 7.7.07
      Features Added in FOCUS 7.7.06
      Features Added in FOCUS 7.7.03
    MODIFY Enhancements
      Features Added in FOCUS 7.7.03
    Raised Limits
      Features Added in FOCUS 7.7.07
      Features Added in FOCUS 7.7.06
      Features Added in FOCUS 7.7.03
    Launch PDF
  Release Notes
    Problems Corrected in FOCUS Release 7709
      Problems Corrected in FOCUS 7709 Gen 1558
      Problems Corrected in FOCUS 7709 Gen 1557
      Problems Corrected in FOCUS 7709 Gen 1554
      Problems Corrected in FOCUS 7709 Gen 1552
      Problems Corrected in FOCUS 7709 Gen 1551
      Problems Corrected in FOCUS 7709 Gen 1550
      Problems Corrected in FOCUS 7709 Gen 1549
      Problems Corrected in FOCUS 7709 Gen 1548
      Problems Corrected in FOCUS 7709 Gen 1547
      Problems Corrected in FOCUS 7709 Gen 1545
      Launch PDF
  Overview and Operating Environments
    Introduction to FOCUS
      What Is FOCUS?
      Who Uses FOCUS?
      FOCUS Language
      Terminal Operator Environment
      FOCUS Concepts
      Features for End Users
      Features for Application Developers
      FOCUS User Aids
      Using Regular Expressions
    Editing Files With TED
      Entering TED
      TED Features
      Creating a File
      TYPE and EDIT Functions
      Accessing the HELP File
      Editing FOCEXECs
      Personalizing TED: PROFILE and PFnn
      Syntax Summary
    Invoking the ISPF Editor on z/OS
      Editing Files With IEDIT
      Installing IEDIT
      Using IEDIT
    Terminal Operator Environment
      Illustrating the Terminal Operator Environment
      Invoking the Terminal Operator Environment
      Activating a Window
      Types of Windows
      Window Commands
    UNIX and Linux Guide to Operations
      How FOCUS Interacts With UNIX
      Overview of a FOCUS Session
      Defining the FOCUS Operating Environment
      Defining and Allocating FOCUS Files
      FOCUS in the UNIX and Linux Environments
      Sending Email From a Procedure
      Configuring, Starting, and Stopping the FOCUS Database Server
    z/OS Guide to Operations
      Introduction to 64-bit FOCUS
      Referencing Files
      Application Files
      Window Files
      Extract Files
      Work Files
      Enabling Use of the zIIP Specialty Engine
      Calling FOCUS Under TSO
      FOCUS Facilities Under TSO
      TSO and FOCUS Interaction
      DYNAM Command
    Using FOCUS as a Client to a Reporting Server
      Client/Server Computing and Middleware
      Using FOCUS to Access Data on a Server
      Remote Execution
      Distributed Execution
    Logging FOCUS Usage: FOCLOG
      Overview of FOCLOG
      Implementing FOCLOG
      Information Captured in the FOCLOG File
      FOCLOG Reporting
    Configuring FOCUS for National Language Support Services
      Introduction to FOCUS National Language Support (NLS) Services
      Detailed NLS Configuration Steps
      Advanced NLS Configuration Options
      Using the NLS Configuration Files
      Using the TSGU to Generate New Transcoding Tables
    Unicode Support
      Unicode Encoding Standards
      Accessing Unicode Data
      Selecting, Reformatting, and Manipulating Characters
      Sort Order Under Unicode
      Added Unicode Support for Master Files, Data Files, and Application Directory Names
      Unicode PDF Output
    Launch PDF
  Creating Reports
    Creating Tabular Reports
      Requirements for Creating a Report
      Creating a Report Request
      Developing Your Report Request
      Including Display Fields in a Report Request
      Referring to Fields in a Report Request
    Displaying Report Data
      Using Display Commands in a Request
      Displaying Individual Values
      Adding Values
      Counting Values
      Expanding Byte Precision for COUNT and LIST
      Maximum Number of Display Fields Supported in a Request
      Manipulating Display Fields With Prefix Operators
    Viewing and Printing Report Output
      Displaying Reports in HotScreen
      Scrolling a Report
      Displaying Reports in the Panel Facility
      Printing Reports
      Displaying Reports in the Terminal Operator Environment
    Sorting Tabular Reports
      Sorting Tabular Reports Overview
      Sorting Rows
      Sorting Columns
      Controlling Display of Sort Field Values
      Reformatting Sort Fields
      Manipulating Display Field Values in a Sort Group
      Creating a Matrix Report
      Controlling Collation Sequence
      Specifying the Sort Order
      Ranking Sort Field Values
      Grouping Numeric Data Into Ranges
      Restricting Sort Field Values by Highest/Lowest Rank
      Sorting and Aggregating Report Columns
      Hiding Sort Values
       Sort Performance Considerations
      Sorting With Multiple Display Commands
      Improving Efficiency With External Sorts
      Hierarchical Reporting: BY HIERARCHY
    Selecting Records for Your Report
      Selecting Records Overview
      Choosing a Filtering Method
      Selections Based on Individual Values
      Selection Based on Aggregate Values
      Applying Selection Criteria to the Internal Matrix Prior to COMPUTE Processing
      Using Compound Expressions for Record Selection
      Using Operators in Record Selection Tests
      Types of Record Selection Tests
      Selections Based on Group Key Values
      Setting Limits on the Number of Records Read
      Selecting Records Using IF Phrases
      Reading Selection Values From a File
      Assigning Screening Conditions to a File
      VSAM Record Selection Efficiencies
    Creating Temporary Fields
      What Is a Temporary Field?
      Defining a Virtual Field
      Creating a Calculated Value
      Assigning Column Reference Numbers
      Using FORECAST in a COMPUTE Command
      Calculating Trends and Predicting Values With FORECAST
      Calculating Trends and Predicting Values With Multivariate REGRESS
      Using Text Fields in DEFINE and COMPUTE
      Creating Temporary Fields Independent of a Master File
    Including Totals and Subtotals
      Calculating Row and Column Totals
      Including Section Totals and a Grand Total
      Including Subtotals
      Recalculating Values for Subtotal Rows
      Summarizing Alphanumeric Columns
      Manipulating Summary Values With Prefix Operators
      Combinations of Summary Commands
      Producing Summary Columns for Horizontal Sort Fields
      Performing Calculations at Sort Field Breaks
      Suppressing Grand Totals
      Conditionally Displaying Summary Lines and Text
    Using Expressions
      Using Expressions in Commands and Phrases
      Types of Expressions
      Creating a Numeric Expression
      Creating a Date Expression
      Creating a Date-Time Expression
      Creating a Character Expression
      Creating a Variable Length Character Expression
      Creating a Logical Expression
      Creating a Conditional Expression
    Customizing Tabular Reports
      Producing Headings and Footings
      Creating Paging and Numbering
      Ignoring ON Phrases for Absent Fields
      Suppressing Fields: SUP-PRINT or NOPRINT
      Reducing a Report's Width: FOLD-LINE and OVER
      Positioning Columns: IN
      Separating Sections of a Report: SKIP-LINE and UNDER-LINE
      Controlling Column Title Underlining Using a SET Command
      Controlling Column Spacing: SET SPACES
      Creating New Column Titles: AS
      Customizing Column Names: SET QUALTITLES
      Column Title Justification
      Customizing Reports With SET Parameters
      Conditionally Formatting Reports With the WHEN Clause
      Controlling the Display of Empty Reports
      Controlling the Generation of Blank Lines in Report Output
    Saving and Reusing Your Report Output
      Saving Your Report Output
      Creating a HOLD File
      Holding Report Output in FOCUS Format
      Controlling Attributes in HOLD Master Files
      Keyed Retrieval From HOLD Files
      Using DBMS Temporary Tables as HOLD Files
      Creating SAVE and SAVB Files
      Creating a PCHOLD File
      Choosing Output File Formats
      Using Text Fields in Output Files
      Creating a Delimited Sequential File
      Saving Report Output in INTERNAL Format
      Creating A Subquery or Sequential File With HOLD FORMAT SQL_SCRIPT
      Creating a Structured HOLD File
    Styling Reports
       Introduction to Styled Reports
      Choosing an Output Format
      Styling Reports With StyleSheets
      Creating a Styled Report
      Styling the Page Layout
      Specifying Font Format in a Report
      Identifying Report Components
      Reusing FOCUS StyleSheet Declarations With Macros
      FOCUS StyleSheet Attribute Inheritance
      Conditionally Formatting in a StyleSheet
    Cascading Style Sheets
      What Are Cascading Style Sheets?
      Cascading Style Sheets and Precedence Rules
      Cascading Style Sheet Formatting Statements: Rules and Classes
      Generating an Internal Cascading Style Sheet
      Working With External Cascading Style Sheets
      Combining CSS Styling With Other Formatting Methods
      Linking to an External Cascading Style Sheet
      FAQ About Using External Cascading Style Sheets
      Troubleshooting Cascading Style Sheets
    Advanced StyleSheet Features
      Positioning a Report Component
      Controlling Column Title Underlining Using a StyleSheet Attribute
      Arranging Pages and Columns on a Page
      Wrapping and Justifying Report Components
      Alignment of Fields in Reports Using OVER in PDF Report Output
      Aligning Heading and Footing Elements
      Support for Repeated Headings and Footings on Panels in PDF Report Output
      Adding Grids and Borders
      Displaying Superscripts On Data, Heading, and Footing Lines
      Adding an Image to a Report
      Linking in a Report
      Working With Mailing Labels and Multi-Pane Pages
    Choosing a Styled Display Format
      Report Display Formats
      Preserving Leading and Internal Blanks in Report Output
      Using Web Display Format: HTML
      Using Print Display Formats: PDF, PS
      Using Excel Display Formats: XLSX, EXL2K, EXL97
      Using PowerPoint PPT Display Format
      PowerPoint
    Handling Records With Missing Field Values
      Irrelevant Report Data
      Missing Field Values
      Handling a Missing Segment Instance
      Setting the NODATA Character String
    Joining Data Sources
      Types of Joins
      How the JOIN Command Works
      Creating an Equijoin
      Using a Conditional Join
      Full Outer Joins for Relational Data Sources
      Reporting Against a Multi-Fact Cluster Synonym
      Invoking Context Analysis for a Star Schema With a Fan Trap
      Adding DBA Restrictions to the Join Condition: SET DBAJOIN
      Preserving Virtual Fields During Join Parsing
      Displaying Joined Structures
      Clearing Joined Structures
    Merging Data Sources
      Merging Data
      Types of MATCH Processing
      MATCH Processing With Common High-Order Sort Fields
      Fine-Tuning MATCH Processing
      Universal Concatenation
      Merging Concatenated Data Sources
      Cartesian Product
    Improving Report Processing
      Rotating a Data Structure for Enhanced Retrieval
      Optimizing Retrieval Speed for FOCUS Data Sources
      Automatic Indexed Retrieval
      Data Retrieval Using TABLEF
      Preserving the Internal Matrix of Your Last Report
      Compiling Expressions
    Creating Financial Reports With Financial Modeling Language (FML)
      Reporting With FML
      Creating Rows From Data
      Supplying Data Directly in a Request
      Performing Inter-Row Calculations
      Referring to Rows in Calculations
      Referring to Columns in Calculations
      Referring to Rows and Columns in Calculations
      Referring to Cells in Calculations
      Using Functions in RECAP Calculations
      Inserting Rows of Free Text
      Adding a Column to an FML Report
      Creating a Recursive Model
      Reporting Dynamically From a Hierarchy
      Customizing a Row Title
      Formatting an FML Report
      Suppressing the Display of Rows
      Saving and Retrieving Intermediate Report Results
      Creating HOLD Files From FML Reports
    Creating a Free-Form Report
      Creating a Free-Form Report
      Designing a Free-Form Report
    Creating Graphs: GRAPH
      Introduction
      Command Syntax
      Graph Forms
      Adjusting Graph Elements
      Special Topics
      Special Graphics Devices
      Command and SET Parameter Summary
    Using SQL to Create Reports
      Supported and Unsupported SQL Statements
      Using SQL Translator Commands
      SQL Translator Support for Date, Time, and Timestamp Fields
      Index Optimized Retrieval
      TABLEF Optimization
      SQL INSERT, UPDATE, and DELETE Commands
    Master Files and Diagrams
      EMPLOYEE Data Source
      JOBFILE Data Source
      EDUCFILE Data Source
      SALES Data Source
      CAR Data Source
      LEDGER Data Source
      FINANCE Data Source
      REGION Data Source
      EMPDATA Data Source
      TRAINING Data Source
      COURSE Data Source
      JOBHIST Data Source
      JOBLIST Data Source
      LOCATOR Data Source
      PERSINFO Data Source
      SALHIST Data Source
      VIDEOTRK, MOVIES, and ITEMS Data Sources
      VIDEOTR2 Data Source
      Gotham Grinds Data Sources
      Century Corp Data Sources
    Error Messages
      Displaying Messages
    Table Syntax Summary and Limits
      TABLE Syntax Summary
      TABLEF Syntax Summary
      MATCH Syntax Summary
      FOR Syntax Summary
      TABLE Limits
    Writing User-Coded Programs to Create HOLD Files
      Arguments Used in Calls to Programs That Create HOLD Files
    Launch PDF
  Describing Data
    Understanding a Data Source Description
      A Note About Data Source Terminology
      What Is a Data Source Description?
      How an Application Uses a Data Source Description
      What Does a Master File Describe?
      Creating a Data Source Description
      Naming a Master File
      What Is in a Master File?
    Identifying a Data Source
      Identifying a Data Source Overview
      Specifying a Data Source Name: FILENAME
      Identifying a Data Source Type: SUFFIX
      Specifying a Code Page in a Master File
      Specifying Byte Order
      Specifying Data Type: IOTYPE
      Providing Descriptive Information for a Data Source: REMARKS
      Specifying a Physical File Name: DATASET
      Storing Localized Metadata in Language Files
    Describing a Group of Fields
      Defining a Single Group of Fields
      Identifying a Logical View: Redefining a Segment
      Relating Multiple Groups of Fields
      Logical Dependence: The Parent-Child Relationship
      Logical Independence: Multiple Paths
      Cardinal Relationships Between Segments
      One-to-One Relationship
      One-to-Many Relationship
      Many-to-Many Relationship
      Recursive Relationships
      Relating Segments From Different Types of Data Sources
      Rotating a Data Source: An Alternate View
      Defining a Prefix for Field Titles
    Describing an Individual Field
      Field Characteristics
      The Field Name: FIELDNAME
      The Field Synonym: ALIAS
      The Displayed Data Type: USAGE
      The Stored Data Type: ACTUAL
      Adding a Geographic Role for a Field
      Null or MISSING Values: MISSING
      Describing an FML Hierarchy
      Validating Data: ACCEPT
      Alternative Report Column Titles: TITLE
      Documenting the Field: DESCRIPTION
      Multilingual Metadata
      Describing a Virtual Field: DEFINE
      Describing a Calculated Value: COMPUTE
      Describing a Filter: FILTER
      Describing a Sort Object: SORTOBJ
      Calling a DEFINE FUNCTION in a Master File
      Using Date System Amper Variables in Master File DEFINEs
      Parameterizing Master and Access File Values Using Variables
      Converting Alphanumeric Dates to FOCUS Dates
    Describing a Sequential, VSAM, or ISAM Data Source
      Sequential Data Source Formats
      Standard Master File Attributes for a Sequential Data Source
      Standard Master File Attributes for a VSAM or ISAM Data Source
      Describing a Multiply Occurring Field in a Free-Format Data Source
      Describing a Multiply Occurring Field in a Fixed-Format, VSAM, or ISAM Data Source
      Redefining a Field in a Non-FOCUS Data Source
      Extra-Large Record Length Support
      Describing Multiple Record Types
      Combining Multiply Occurring Fields and Multiple Record Types
      Establishing VSAM Data and Index Buffers
      Using a VSAM Alternate Index
      Describing a Token-Delimited Data Source
    Describing a FOCUS Data Source
      Types of FOCUS Data Sources
      Designing a FOCUS Data Source
      Describing a Single Segment
      GROUP Attribute
      ACCEPT Attribute
      INDEX Attribute
      Describing a Partitioned FOCUS Data Source
      Multi-Dimensional Index (MDI)
    Defining a Join in a Master File
      Join Types
      Static Joins Defined in the Master File: SEGTYPE = KU and KM
      Using Cross-Referenced Descendant Segments: SEGTYPE = KL and KLU
      Dynamic Joins Defined in the Master File: SEGTYPE = DKU and DKM
      Conditional Joins in the Master File
      Comparing Static and Dynamic Joins
      Joining to One Cross-Referenced Segment From Several Host Segments
      Creating a Single-Root Cluster Master File
      Creating a Multiple-Root Cluster Master File
    Creating a Business View of a Master File
      Grouping Business Logic In a Business View
      Business View DV Roles
    Checking and Changing a Master File: CHECK
      Checking a Data Source Description
      CHECK Command Display
      PICTURE Option
      HOLD Option
    Accessing a FOCUS Data Source: USE
      USE Command
      Specifying a Non-Default File ID
      Identifying New Data Sources to FOCUS
      Accessing Data Sources in Read-Only Mode
      Concatenating Data Sources
      Accessing Simultaneous Usage Data Sources
      Displaying the USE Options in Effect
    Providing Data Source Security: DBA
      Introduction to Data Source Security
      Implementing Data Source Security
      Specifying an Access Type: The ACCESS Attribute
      Limiting Data Source Access: The RESTRICT Attribute
      Controlling the Source of Access Restrictions in a Multi-file Structure
      Adding DBA Restrictions to the Join Condition
      Placing Security Information in a Central Master File
      Summary of Security Attributes
      Hiding Restriction Rules: The ENCRYPT Command
      FOCEXEC Security
    Master Files and Diagrams
      Creating Sample Data Sources
      EMPLOYEE Data Source
      JOBFILE Data Source
      EDUCFILE Data Source
      SALES Data Source
      PROD Data Source
      CAR Data Source
      LEDGER Data Source
      FINANCE Data Source
      REGION Data Source
      COURSES Data Source
      EMPDATA Data Source
      EXPERSON Data Source
      TRAINING Data Source
      COURSE Data Source
      JOBHIST Data Source
      JOBLIST Data Source
      LOCATOR Data Source
      PERSINFO Data Source
      SALHIST Data Source
      PAYHIST File
      COMASTER File
      VIDEOTRK, MOVIES, and ITEMS Data Sources
      VIDEOTR2 Data Source
      Gotham Grinds Data Sources
      Century Corp Data Sources
    Error Messages
      Accessing Error Files
      Displaying Messages
    User Exits for a Non-FOCUS Data Source
      Dynamic and Re-Entrant Private User Exit of the FOCSAM Interface
      User-coded Data Access Modules
      Re-Entrant VSAM Compression Exit: ZCOMP1
    Rounding in FOCUS
      Data Storage and Display
      Rounding in Calculations and Conversions
    File Description Attribute Summary
      Overview of File Descriptions
      Master File Attributes
      Access File Attributes
      Related Commands
    Launch PDF
  Developing Applications
    Customizing Your Environment
      When Do You Use the SET Command?
      Coding a SET Command
      Types of SET Parameters
      SET Parameter Syntax
    Managing Applications
      What Is an Application?
      Application Commands Overview
      Search Path Management Commands
      Application and File Management Commands
      Output Redirection Commands
      Application Metadata Commands and Catalog Metadata
      APP HELP
      Accessing Metadata and Procedures
      Allocating Temporary Files
    Managing Flow of Control in an Application
      Uses for Dialogue Manager
      Dialogue Manager Processing
      Creating a Procedure
      Executing and Terminating a Procedure
      Navigating a Procedure
      Using Variables in a Procedure
      Supplying and Verifying Values for Variables
      Manipulating and Testing Variables
      Using Numeric Amper Variables in Functions
      Debugging a Procedure
      Issuing an Operating System Command
      Dialogue Manager Quick Reference
    Testing and Debugging With Query Commands
      Using Query Commands
      Displaying Combined Structures
      Displaying Virtual Fields
      Displaying the Currency Data Source in Effect
      Displaying Available Fields
      Displaying the File Directory Table
      Displaying Field Information for a Master File
      Displaying Data Source Statistics
      Displaying Defined Functions
      Displaying HOLD Fields
      Displaying JOIN Structures
      Displaying National Language Support
      Displaying LET Substitutions
      Displaying Information About Loaded Files
      Displaying Explanations of Error Messages
      Displaying PF Key Assignments
      Displaying the Release Number
      Displaying Parameter Settings
      Displaying Graph Parameters
      Displaying the Site Code
      Displaying Command Statistics
      Displaying StyleSheet Parameter Settings
      Displaying Information About the SU Machine
      Displaying Data Sources Specified With USE
      Displaying Global Variable Values
      Reporting Dynamically From System Tables
    Defining a Word Substitution
      The LET Command
      Variable Substitution
      Null Substitution
      Multiple-Line Substitution
      Recursive Substitution
      Using a LET Substitution in a COMPUTE or DEFINE Command
      Checking Current LET Substitutions
      Interactive LET Query: LET ECHO
      Clearing LET Substitutions
      Saving LET Substitutions in a File
      Assigning Phrases to Function Keys
    Enhancing Application Performance
      FOCUS Facilities
      Loading a File
      Saving Master Files in Memory for Reuse
      Accessing a FOCUS Data Source
    Working With Cross-Century Dates
      When Do You Use the Sliding Window Technique?
      The Sliding Window Technique
      Applying the Sliding Window Technique
      Defining a Global Window With SET
      Defining a Dynamic Global Window With SET
      Querying the Current Global Value of DEFCENT and YRTHRESH
      Defining a File-Level or Field-Level Window in a Master File
      Defining a Window for a Virtual Field
      Defining a Window for a Calculated Value
      Additional Support for Cross-Century Dates
    Euro Currency Support
      Integrating the Euro Currency
      Converting Currencies
      Creating the Currency Data Source
      Identifying Fields That Contain Currency Data
      Activating the Currency Data Source
      Processing Currency Data
      Querying the Currency Data Source in Effect
      Punctuating Numbers
      Selecting an Extended Currency Symbol
    Designing Windows With Window Painter
      Introduction
      Window Files and Windows
      Integrating Windows and the FOCEXEC
      Tutorial: A Menu-Driven Application
      Window Painter Screens
      Transferring Window Files
    Master Files and Diagrams
      EMPLOYEE Data Source
      JOBFILE Data Source
      EDUCFILE Data Source
      SALES Data Source
      PROD Data Source
      CAR Data Source
      LEDGER Data Source
      FINANCE Data Source
      REGION Data Source
      COURSES Data Source
      EMPDATA Data Source
      EXPERSON Data Source
      TRAINING Data Source
      COURSE Data Source
      JOBHIST Data Source
      JOBLIST Data Source
      LOCATOR Data Source
      PERSINFO Data Source
      SALHIST Data Source
      PAYHIST File
      COMASTER File
      VIDEOTRK, MOVIES, and ITEMS Data Sources
      VIDEOTR2 Data Source
      Gotham Grinds Data Sources
      Century Corp Data Sources
    Error Messages
      Accessing Error Files
      Displaying Messages
    Launch PDF
  Maintaining Databases
    Modifying Data Sources With MODIFY
      Introduction
      Examples of MODIFY Processing
      Additional MODIFY Facilities
      Describing Incoming Data
      Special Responses
      Entering Text Data Using TED
      Reading Selected Portions of Transaction Data Sources: The START and STOP Statements
      Modifying Data: MATCH and NEXT
      Computations: COMPUTE and VALIDATE
      Messages: TYPE, LOG, and HELPMESSAGE
      Case Logic
      Multiple Record Processing
      Advanced Facilities
      MODIFY Syntax Summary
    Designing Screens With FIDEL
      Introduction
      Describing the CRT Screen
      Using FIDEL in MODIFY
      Using FIDEL in Dialogue Manager
      Using the FOCUS Screen Painter
    Creating and Rebuilding a Data Source
      Creating a New Data Source: The CREATE Command
      Rebuilding a Data Source: The REBUILD Command
      Optimizing File Size: The REBUILD Subcommand
      Changing Data Source Structure: The REORG Subcommand
      Indexing Fields: The INDEX Subcommand
      Creating an External Index: The EXTERNAL INDEX Subcommand
      Checking Data Source Integrity: The CHECK Subcommand
      Changing the Data Source Creation Date and Time: The TIMESTAMP Subcommand
      Converting Legacy Dates: The DATE NEW Subcommand
      Creating a Multi-Dimensional Index: The MDINDEX Subcommand
    Directly Editing FOCUS Databases With SCAN
      Introduction
      Entering SCAN Mode
      Moving Through the Database and Locating Records
      Adding Segment Instances
      Moving Segment Instances
      Changing Field Contents
      Deleting Fields and Segments
      Saving Changes Made in SCAN Sessions
      Ending the Session
      Auxiliary SCAN Functions
      Subcommand Summary
    Directly Editing FOCUS Databases With FSCAN
      Introduction
      Entering FSCAN
      Using FSCAN
      The FSCAN Facility and FOCUS Structures
      Scrolling the Screen
      Selecting a Specific Instance by Defining a Current Instance
      Displaying Descendant Segments: The CHILD, PARENT, and JUMP Commands
      Displaying a Single Instance on One Screen: The SINGLE and MULTIPLE Commands
      Modifying the Database
      Repeating a Command: ? and =
      Saving Changes: The SAVE Without Exiting FSCAN Command
      Exiting FSCAN: The END, FILE, QQUIT, and QUIT Commands
      The FSCAN HELP Facility
      Syntax Summary
    Master Files and Diagrams
      Creating Sample Data Sources
      EMPLOYEE Data Source
      JOBFILE Data Source
      EDUCFILE Data Source
      SALES Data Source
      PROD Data Source
      CAR Data Source
      LEDGER Data Source
      FINANCE Data Source
      REGION Data Source
      COURSES Data Source
      EMPDATA Data Source
      EXPERSON Data Source
      TRAINING Data Source
      COURSE Data Source
      JOBHIST Data Source
      JOBLIST Data Source
      LOCATOR Data Source
      PERSINFO Data Source
      SALHIST Data Source
      PAYHIST File
      COMASTER File
      VIDEOTRK, MOVIES, and ITEMS Data Sources
      VIDEOTR2 Data Source
      Gotham Grinds Data Sources
      Century Corp Data Sources
    Error Messages
      Accessing Error Files
      Displaying Messages
    Launch PDF
  Using Functions
    How to Use This Manual
      Available Languages
      Operating Systems
    Introducing Functions
      Using Functions
      Types of Functions
      Character Chart for ASCII and EBCDIC
    Accessing and Calling a Function
      Calling a Function
      Supplying an Argument in a Function
      Calling a Function From a DEFINE, COMPUTE, or VALIDATE Command
      Calling a Function From a Dialogue Manager Command
      Calling a Function From Another Function
      Calling a Function in WHERE or IF Criteria
      Calling a Function in WHEN Criteria
      Calling a Function From a RECAP Command
      Storing and Accessing an External Function
    Simplified Analytic Functions
      FORECAST_MOVAVE: Using a Simple Moving Average
      FORECAST_EXPAVE: Using Single Exponential Smoothing
      FORECAST_DOUBLEXP: Using Double Exponential Smoothing
      FORECAST_SEASONAL: Using Triple Exponential Smoothing
      FORECAST_LINEAR: Using a Linear Regression Equation
      PARTITION_AGGR: Creating Rolling Calculations
      PARTITION_REF: Using Prior or Subsequent Field Values in Calculations
      INCREASE: Calculating the Difference Between the Current and a Prior Value of a Field
      PCT_INCREASE: Calculating the Percentage Difference Between the Current and a Prior Value of a Field
      PREVIOUS: Retrieving a Prior Value of a Field
      RUNNING_AVE: Calculating an Average Over a Group of Rows
      RUNNING_MAX: Calculating a Maximum Over a Group of Rows
      RUNNING_MIN: Calculating a Minimum Over a Group of Rows
      RUNNING_SUM: Calculating a Sum Over a Group of Rows
    Simplified Character Functions
      CHAR_LENGTH: Returning the Length in Characters of a String
      CONCAT: Concatenating Strings
      DIGITS: Converting a Number to a Character String
      GET_TOKEN: Extracting a Token Based on a String of Delimiters
      INITCAP: Capitalizing the First Letter of Each Word in a String
      LAST_NONBLANK: Retrieving the Last Field Value That is Neither Blank nor Missing
      LOWER: Returning a String With All Letters Lowercase
      LPAD: Left-Padding a Character String
      LTRIM: Removing Blanks From the Left End of a String
      PATTERNS: Returning a Pattern That Represents the Structure of the Input String
      POSITION: Returning the First Position of a Substring in a Source String
      REGEX: Matching a String to a Regular Expression
      REPLACE: Replacing a String
      RPAD: Right-Padding a Character String
      RTRIM: Removing Blanks From the Right End of a String
      SPLIT: Extracting an Element From a String
      SUBSTRING: Extracting a Substring From a Source String
      TOKEN: Extracting a Token From a String
      TRIM_: Removing a Leading Character, Trailing Character, or Both From a String
      UPPER: Returning a String With All Letters Uppercase
    Character Functions
      Character Function Notes
      ARGLEN: Measuring the Length of a String
      ASIS: Distinguishing Between Space and Zero
      BITSON: Determining If a Bit Is On or Off
      BITVAL: Evaluating a Bit String as an Integer
      BYTVAL: Translating a Character to Decimal
      CHKFMT: Checking the Format of a String
      CHKNUM: Checking a String for Numeric Format
      CTRAN: Translating One Character to Another
      CTRFLD: Centering a Character String
      EDIT: Extracting or Adding Characters
      GETTOK: Extracting a Substring (Token)
      LCWORD: Converting a String to Mixed-Case
      LCWORD2: Converting a String to Mixed-Case
      LCWORD3: Converting a String to Mixed-Case
      LJUST: Left-Justifying a String
      LOCASE: Converting Text to Lowercase
      OVRLAY: Overlaying a Character String
      PARAG: Dividing Text Into Smaller Lines
      PATTERN: Generating a Pattern From a String
      POSIT: Finding the Beginning of a Substring
      REVERSE: Reversing the Characters in a String
      RJUST: Right-Justifying a Character String
      SOUNDEX: Comparing Character Strings Phonetically
      SPELLNM: Spelling Out a Dollar Amount
      SQUEEZ: Reducing Multiple Spaces to a Single Space
      STRIP: Removing a Character From a String
      STRREP: Replacing Character Strings
      SUBSTR: Extracting a Substring
      TRIM: Removing Leading and Trailing Occurrences
      UPCASE: Converting Text to Uppercase
      XMLDECOD: Decoding XML-Encoded Characters
      XMLENCOD: XML-Encoding Characters
    Variable Length Character Functions
      Overview
      LENV: Returning the Length of an Alphanumeric Field
      LOCASV: Creating a Variable Length Lowercase String
      POSITV: Finding the Beginning of a Variable Length Substring
      SUBSTV: Extracting a Variable Length Substring
      TRIMV: Removing Characters From a String
      UPCASV: Creating a Variable Length Uppercase String
    Character Functions for DBCS Code Pages
      DCTRAN: Translating A Single-Byte or Double-Byte Character to Another
      DEDIT: Extracting or Adding Characters
      DSTRIP: Removing a Single-Byte or Double-Byte Character From a String
      DSUBSTR: Extracting a Substring
      JPTRANS: Converting Japanese Specific Characters
      KKFCUT: Truncating a String
      SFTDEL: Deleting the Shift Code From DBCS Data
      SFTINS: Inserting the Shift Code Into DBCS Data
    Data Source and Decoding Functions
      CHECKMD5: Computing an MD5 Hash Check Value
      CHECKSUM: Computing a Hash Sum
      COALESCE: Returning the First Non-Missing Value
      DB_EXPR: Inserting an SQL Expression Into a Request
      DB_INFILE: Testing Values Against a File or an SQL Subquery
      DB_LOOKUP: Retrieving Data Source Values
      DECODE: Decoding Values
      FIND: Verifying the Existence of a Value in a Data Source
      LAST: Retrieving the Preceding Value
      LOOKUP: Retrieving a Value From a Cross-referenced Data Source
      NULLIF: Returning a Null Value When Parameters Are Equal
    Simplified Date and Date-Time Functions
      DT_CURRENT_DATE: Returning the Current Date
      DT_CURRENT_DATETIME: Returning the Current Date and Time
      DT_CURRENT_TIME: Returning the Current Time
      DTADD: Incrementing a Date or Date-Time Component
      DTDIFF: Returning the Number of Component Boundaries Between Date or Date-Time Values
      DTIME: Extracting Time Components From a Date-Time Value
      DTPART: Returning a Date or Date-Time Component in Integer Format
      DTRUNC: Returning the Start of a Date Period for a Given Date
    Date Functions
      Overview of Date Functions
      Using Standard Date Functions
      DATEADD: Adding or Subtracting a Date Unit to or From a Date
      DATECVT: Converting the Format of a Date
      DATEDIF: Finding the Difference Between Two Dates
      DATEMOV: Moving a Date to a Significant Point
      DATETRAN: Formatting Dates in International Formats
      DPART: Extracting a Component From a Date
      FIQTR: Obtaining the Financial Quarter
      FIYR: Obtaining the Financial Year
      FIYYQ: Converting a Calendar Date to a Financial Date
      TODAY: Returning the Current Date
      Using Legacy Date Functions
      AYM: Adding or Subtracting Months
      AYMD: Adding or Subtracting Days
      CHGDAT: Changing How a Date String Displays
      DA Functions: Converting a Legacy Date to an Integer
      DMY, MDY, YMD: Calculating the Difference Between Two Dates
      DOWK and DOWKL: Finding the Day of the Week
      DT Functions: Converting an Integer to a Date
      GREGDT: Converting From Julian to Gregorian Format
      JULDAT: Converting From Gregorian to Julian Format
      YM: Calculating Elapsed Months
    Date-Time Functions
      Using Date-Time Functions
      HADD: Incrementing a Date-Time Value
      HCNVRT: Converting a Date-Time Value to Alphanumeric Format
      HDATE: Converting the Date Portion of a Date-Time Value to a Date Format
      HDIFF: Finding the Number of Units Between Two Date-Time Values
      HDTTM: Converting a Date Value to a Date-Time Value
      HEXTR: Extracting Components of a Date-Time Value and Setting Remaining Components to Zero
      HGETC: Storing the Current Local Date and Time in a Date-Time Field
      HGETZ: Storing the Current Coordinated Universal Time in a Date-Time Field
      HHMMSS: Retrieving the Current Time
      HHMS: Converting a Date-Time Value to a Time Value
      HINPUT: Converting an Alphanumeric String to a Date-Time Value
      HMIDNT: Setting the Time Portion of a Date-Time Value to Midnight
      HMASK: Extracting Date-Time Components and Preserving Remaining Components
      HNAME: Retrieving a Date-Time Component in Alphanumeric Format
      HPART: Retrieving a Date-Time Component as a Numeric Value
      HSETPT: Inserting a Component Into a Date-Time Value
      HTIME: Converting the Time Portion of a Date-Time Value to a Number
      HTMTOTS or TIMETOTS: Converting a Time to a Timestamp
      HYYWD: Returning the Year and Week Number From a Date-Time Value
    Simplified Conversion Functions
      CHAR: Returning a Character Based on a Numeric Code
      COMPACTFORMAT: Displaying Numbers in an Abbreviated Format
      CTRLCHAR: Returning a Non-Printable Control Character
      FPRINT: Displaying a Value in a Specified Format
      HEXTYPE: Returning the Hexadecimal View of an Input Value
      PHONETIC: Returning a Phonetic Key for a String
      TO_INTEGER: Converting a Character String to an Integer Value
      TO_NUMBER: Converting a Character String to a Numeric Value
    Format Conversion Functions
      ATODBL: Converting an Alphanumeric String to Double-Precision Format
      EDIT: Converting the Format of a Field
      FPRINT: Converting Fields to Alphanumeric Format
      FTOA: Converting a Number to Alphanumeric Format
      HEXBYT: Converting a Decimal Integer to a Character
      ITONUM: Converting a Large Binary Integer to Double-Precision Format
      ITOPACK: Converting a Large Binary Integer to Packed-Decimal Format
      ITOZ: Converting a Number to Zoned Format
      PCKOUT: Writing a Packed Number of Variable Length
      PTOA: Converting a Packed-Decimal Number to Alphanumeric Format
      TSTOPACK: Converting an MSSQL or Sybase Timestamp Column to Packed Decimal
      UFMT: Converting an Alphanumeric String to Hexadecimal
      XTPACK: Writing a Packed Number With Up to 31 Significant Digits to an Output File
    Simplified Numeric Functions
      CEILING: Returning the Smallest Integer Value Greater Than or Equal to a Value
      EXPONENT: Raising e to a Power
      FLOOR: Returning the Largest Integer Less Than or Equal to a Value
      MOD: Calculating the Remainder From a Division
      POWER: Raising a Value to a Power
    Numeric Functions
      ABS: Calculating Absolute Value
      ASIS: Distinguishing Between a Blank and a Zero
      BAR: Producing a Bar Chart
      CHKPCK: Validating a Packed Field
      DMOD, FMOD, and IMOD: Calculating the Remainder From a Division
      EXP: Raising e to the Nth Power
      EXPN: Evaluating a Number in Scientific Notation
      FMLCAP: Retrieving FML Hierarchy Captions
      FMLFOR: Retrieving FML Tag Values
      FMLINFO: Returning FOR Values
      FMLLIST: Returning an FML Tag List
      INT: Finding the Greatest Integer
      LOG: Calculating the Natural Logarithm
      MAX and MIN: Finding the Maximum or Minimum Value
      MIRR: Calculating the Modified Internal Return Rate
      NORMSDST and NORMSINV: Calculating Normal Distributions
      PRDNOR and PRDUNI: Generating Reproducible Random Numbers
      RDNORM and RDUNIF: Generating Random Numbers
      SQRT: Calculating the Square Root
      XIRR: Calculating the Modified Internal Return Rate (Periodic or Non-Periodic)
    Simplified Statistical Functions
      Specify the Partition Size for Simplified Statistical Functions
      CORRELATION: Calculating the Degree of Correlation Between Two Sets of Data
      KMEANS_CLUSTER: Partitioning Observations Into Clusters Based on the Nearest Mean Value
      MULTIREGRESS: Creating a Multivariate Linear Regression Column
      STDDEV: Calculating the Standard Deviation for a Set of Data Values
    Simplified System Functions
      EDAPRINT: Inserting a Custom Message in the EDAPRINT Log File
      ENCRYPT: Encrypting a Password
      GETENV: Retrieving the Value of an Environment Variable
      PUTENV: Assigning a Value to an Environment Variable
    System Functions
      CHECKPRIVS: Retrieving the Privilege State for the Connected User
      CLSDDREC: Closing All Files Opened by the PUTDDREC Function
      FEXERR: Retrieving an Error Message
      FGETENV: Retrieving the Value of an Environment Variable
      FINDMEM: Finding a Member of a Partitioned Data Set
      FPUTENV: Assigning a Value to an Environment Variable
      GETCOOKI: Retrieving a Browser Cookie Value
      GETHEADR: Retrieving an HTTP Header Variable
      GETPDS: Determining If a Member of a Partitioned Data Set Exists
      GETUSER: Retrieving a User ID
      GRPLIST: Retrieving the Group List of the Connected User
      JOBNAME: Retrieving the Current Process Identification String
      MVSDYNAM: Passing a DYNAM Command to the Command Processor
      PUTCOOKI: Submitting a Value to a Browser Cookie
      PUTDDREC: Writing a Character String as a Record in a Sequential File
      SLEEP: Suspending Execution for a Given Number of Seconds
      SPAWN: Creating a Subprocess From a Procedure
      SYSTEM: Calling a System Program
      SYSVAR: Retrieving the Value of a z/OS System Variable
    Creating a Subroutine
      Writing a Subroutine
      Compiling and Storing a Subroutine
      Testing the Subroutine
      Using a Custom Subroutine: The MTHNAM Subroutine
      Subroutines Written in REXX
    ASCII and EBCDIC Codes
      ASCII and EBCDIC Code Chart
    Launch PDF
  Creating HTML5 Charts With FOCUS
    Introduction to FOCUS HTML5 Charts
      FOCUS Charting Overview
      Configuring FOCUS to Generate HTML5 Charts
      Chart Types
      Creating an HTML5 Chart
      Introduction to the FOCUS GRAPH FILE Command
    Understanding Chart Types
      Chart Components
      Controlling the Chart Type
      Chart Type Notes and Sample Charts
    Introduction to JSON Properties for HTML5 Charts
      FOCUS HTML5 JSON Syntax Basics
      Colors and Gradients
      Font Definitions
      Formatting Numbers
      HTML Codes in Strings
      Data Definitions
      Setting Chart Property Values
      Defining a Callback Function to Display Values in Labels
    Chart-Wide Properties
      Chart-Wide Properties Overview
      Controlling Automatic Layout of Ordinal Axis Labels
      Formatting the Chart Border
      Defining How to Handle JavaScript Errors
      Formatting the Chart Frame
      Controlling the Number of Charts in a Horizontal Row
      Showing and Formatting Data Text Labels for All Series
      Defining the Range of Data to Draw in the Chart
      Applying Depth to Charts
      Applying a Color or Gradient to the Draw Area
      Defining Group Labels
      Applying a Bevel to Risers, Markers, and Slices
      Applying a Lightening or Darkening Effect to Successive Risers
      Controlling Space Between Risers in 3D Charts
      Applying a Shadow to Risers and Markers
      Swapping Series and Group Orientation
      Swapping Series, Group, and Label Orientation
    Chart Title Properties
      Chart Title Properties Overview
      Formatting the Chart Footnote
      Formatting the Chart Subtitle
      Formatting the Chart Title
    Legend Properties
      Legend Properties Overview
      Defining the Background Color of the Legend Area
      Formatting the Legend Labels
      Generating a Line Around the Legend Area
      Controlling the Location of the Legend Markers
      Controlling the Size of Legend Markers
      Controlling the Position of the Legend
      Applying a Shadow to the Legend Area
      Formatting the Legend Title
      Controlling the Visibility of the Legend Area
      Controlling the Location of a Free Legend
    Axis Properties
      Axis Properties Overview
      Filling Alternate Segments of Axis Grid Lines With a Specified Color
      Controlling the Appearance of a Numeric Axis Base Line
      Enabling a Logarithmic Scale
      Formatting an Axis Body Line
      Defining Color Bands
      Controlling the Number of Major Grid Lines, Ticks, and Labels
      Synchronizing Y2-Axis Major Grid Lines With Y-Axis Major Grid Lines
      Controlling the Direction of a Numeric Axis
      Formatting the Axis Labels
      Formatting Major Grid Lines and Tick Marks
      Defining the Minimum and Maximum Values on a Numeric Axis
      Formatting Minor Grid Lines and Tick Marks
      Setting the Axis Mode
      Controlling the Format of Numeric Axis Labels
      Reversing the Default Axis Locations
      Formatting an Axis Title
    Series-Specific Properties
      Series-Specific Properties Overview
      Selecting Specific Series
      Selecting Specific Groups
      Defining a Border for Series Risers
      Defining Colors for Series Risers
      Deleting a Slice From a Pie Chart
      Pushing a Slice Away From a Pie Chart
      Assigning Labels to Individual Series
      Defining the Size, Border, Color, Shape, and Rotation of Series Markers
      Defining the Shapes of Risers for a Series in Bar, Line, and Area Charts
      Showing Data Text Labels for Series and Groups
      Defining a Tooltip for Risers
      Drawing a Series Trendline in Bubble and Scatter Charts
      Controlling the Visibility of Individual Series
      Assigning a Series to an Axis
    Chart-Specific Properties
      Bar, Line, and Area Chart Properties (blaProperties)
      Box Plot Properties (boxPlotProperties)
      Bullet Chart Properties (bulletProperties)
      Funnel Chart Properties (funnelProperties)
      Gauge Chart Properties (gaugeProperties)
      Histogram Chart Properties (histogramProperties)
      Parabox Chart Properties (paraboxProperties)
      Pie Chart Properties (pieProperties)
      Polar Charts (polarProperties)
      Tagcloud Chart Properties (tagcloudProperties)
      3D Chart Properties (threedProperties)
      Treemap Chart Properties (treemapProperties)
      Waterfall Chart Properties (waterfallProperties)
    Special Topics
      Animation (introAnimation)
      Annotations
      Color Modes (colorMode)
      Defining a Color Scale (colorScale)
      Drawing Error Bars (errorBars)
      Generating HTML Tooltips (htmlToolTip)
      Defining User Interaction With the Chart (interaction)
      Formatting the Mouse Over Indicator (mouseOverIndicator)
      Drawing Reference Lines (referenceLines)
      Drawing Trendlines in Bubble and Scatter Charts (trendline)
    Lightweight Map Support
      Overview of Lightweight Map Support
      Opening Map Charts in FOCUS
      Introduction to Map Properties
      Incorporating Additional Chart Properties in a Map Chart
    Launch PDF
  Installation Guides
    z/OS Installation Guide
      Introduction to FOCUS Release 7709
        Overview of FOCUS 7709
        FOCUS 7.7 Allocations
        Editing Library Members
        FAQ About FOCUS 7.7
      Installing FOCUS With ISETUP
        Introduction to ISETUP
        Installing FOCUS Using ISETUP
        ISETUP Messages
        Verifying FOCUS Installation
        Specifying Non-Standard Data Set Names
        Creating a CLIST or Batch Job to Invoke the Installed Version of FOCUS
        Generating Sample FOCUS Data Sources
        Moving the Installed Version of FOCUS to Production After Testing
      Installing the FOCUS Licensing File
        Obtaining a Personalized FLICENSE File
      Customizing FOCUS
        Changing the FOCUS Defaults
        Selecting FOCUS Default Startup Options
        Installing HiperFOCUS
        Creating Compiled FOCUS Windows Files
        Installing the Re-entrant FOCUS Modules
        Installing the IBI Subsystem
        Installing the Simultaneous Usage (SU) Facility
        Installing the IEDIT Feature
      Configuring FOCUS for National Language Support Services
        Introduction to FOCUS National Language Support (NLS) Services
        Detailed NLS Configuration Steps
        Advanced NLS Configuration Options
        Using the NLS Configuration Files
        Using the TSGU to Generate New Transcoding Tables
      Interface Installation
        Upgrading and Using an External Password Security System
      Subsystem Sample JCL and Zaps
        SUBSYSNM: Changing the Subsystem Name
        SUBSYSCP: Copying SUBSYSI Into a Separate Library
        SUBSYSIJ: Running SUBSYSI
        SUBSYSP: Sample Cataloged Procedure
      Subsystem Error Messages
        SUBSYSI Error Messages
      Link Pack Area Sample JCL
        JFSALLPA: Allocating Space for the FOCUS LPA Library
        JFSCPLPA: Copying the Reentrant Modules to FOCLPA.LOAD
        JFSDELPA: Deleting the Reentrant Modules From FOCLIB.LOAD
        JFSCPBCK: Restoring the Reentrant Modules to FOCLIB.LOAD
        JFSCPCN1: Control Statements for JFSCPLPA and JFSCPBCK
        JFSDLCN1: SCRATCH Statements Used by Job JFSDELPA
      Launch PDF
    UNIX/Linux Installation Guide
      Installing FOCUS on UNIX and Linux
        Installation Requirements
        Installation and Configuration Directories
        Installing FOCUS
        Verifying Installation
        Startup Options
        Generating a Trace
      Launch PDF
  Data Adapter Documentation
    ADABAS Interface User's Manual and Installation Guide v7.0
      Introducing the Adapter for ADABAS
        Overview of the Adapter for ADABAS
        Operating Environments
        Security
      Getting Started
        Getting Started Under z/OS
      ADABAS Overview and Mapping Considerations
        Adabas Overview
        Mapping ADABAS Structures in the Master File
      The AUTOADBS Facility
        Ease of Use Features
        Documentation in the Master and Access Files
        How to Use the AUTOADBS Facility
        Background Execution
        The Generated Descriptions
        AUTOADBS Sample Sessions
      Describing ADABAS Data Sources to FOCUS
        Overview of Master and Access Files
        Master Files for Adabas
        Access Files for Adabas
        Mapping Adabas Descriptors
        Mapping Adabas Fields That Have Special Characteristics
        Mapping Adabas Files With Variable-Length Records and Repeating Fields
        Using the GROUP Attribute to Cross-Reference Files
      Report Considerations
        Adabas Reporting Considerations
      Adapter Navigation
        Adapter Navigation
      Environment Commands
        ORDER Fields in the Indexed Field List
        Switching the Access Mode Using NOPACCESS
        NEW Synonym Setting for Superdescriptors
        Multifetch and Prefetch
        Controlling Adabas Multifetch for Join Operations
        Adabas Dynamic Database Number
        Controlling Data Retrieval Types
        LA Fields
        Overriding Default Passwords in Specific Files
        PASSRECS Setting for Adapter for Adabas
        Running in 24-bit Mode
        Optimization of the FIND Call Using Non-descriptor Fields
        UNICODE Fields in W-format
      Maintaining Adabas Data Sources
        Activating the Write Adapter
        Adabas Write Examples
        Types of Transaction Processing
        Descriptor Considerations
        Modifying Data
        Referential Integrity
        The MODIFY COMBINE Facility
        The LOOKUP Function
        The FIND Function
        Adapter Error Messages and Adabas Response Codes
        Common User Errors
      The ADABAS WRITE Data Adapter
        Activating the Adabas Write Data Adapter
        Adabas Write Examples
        Types of Transaction Processing
        Descriptor Considerations
        Modifying Data
        Referential Integrity
        The MODIFY COMBINE Facility
        The LOOKUP Function
        The FIND Function
        Data Adapter Error Messages and Adabas Response Codes
        Common User Errors
      Debugging Techniques
        Common Errors and Response Codes
        Tracing Adapter Processing
        Verifying the z/OS Environment
        Verification of Installation and AUTOADBS
        Follow-up
      Adapter Error Messages
        Messages for MVS and CMS
      Sample File Descriptions
        VEHICLES Sample Files
        EMPLOYEES Sample Files
        ACUSTOMR Sample Files
        AMKTORDR Sample Files
      Launch PDF
    CA-Datacom Data Adapter Installation Guide v7.0
    Adapter for CA-IDMS User's Manual v7.7.03
      Introduction to the Adapter for CA-IDMS
        Ease of Use
        Operating Environments
        Efficiency
        Security
        Cross-Environment Access
        Memory Requirements
      Getting Started
        Using the Adapter for CA-IDMS Under z/OS
        Accessing the Adapter for CA-IDMS
        File Descriptions
      IDMS Overview and Mapping Concepts
        Overview of IDMS
        Network Concepts
      Adapter for CA-IDMS Master Files
        Accessing File Descriptions
        Master File Attributes
        Remote Segment Descriptions
        Intra-Record Structures: The OCCURS Segment
      Adapter for CA-IDMS Access Files
        Access File Overview
        Access File Syntax
        Subschema Declaration Attributes
        Segment Attributes for Network Record-Types
        Index Declarations for Network Record-Types
        Dynamically Setting the DBNAME and DICTNAME
      Creating File Descriptions With AUTOIDMS
        AUTOIDMS Prerequisites
        How to Execute AUTOIDMS
        The Descriptions Generated by AUTOIDMS
        How to Restart AUTOIDMS
        AUTOIDMS Sample Sessions
      Adapter for CA-IDMS Reporting Techniques
        The Retrieval Subtree
        Retrieval Sequence
        Effects of Screening Conditions on Retrieval
        Retrieving Short Paths
        File Inversion
        The JOIN Command
      CA-IDMS Record Retrieval Intervals
        Entry Segment Retrieval of Network Records
        Descendant Segment Retrieval of Network Records
        Retrieving LRF-Based Records
      Error Messages and Troubleshooting
        Accessing Adapter Error Messages
        Generating Error Messages Online
        Common Errors and Response Codes
      Adapter for CA-IDMS Samples
        Schema Sample: EMPSCHM
        Network Subschema Sample: EMPSS01
        Master File for Network Sample
        Access File for Network Sample
        Master File for LRF Sample
        Access File for LRF Sample
        Sample of a Partial LRF Record
        EMPFULL Master File
        EMPFULL Access File
        EMPFILE Master File
        EMPFILE Access File
        Sample CA-IDMS Report
      Tracing Adapter Processing
        Using Traces
        Activating, Deactivating, and Querying Traces
        Allocating Traces
        Sample Traces
      Glossary
      Launch PDF
    Adapter for CA-IDMS/DB Installation Guide v7.7.03
      Before You Begin
        Pre-Installation Requirements
        Maintenance
      z/OS Installation Instructions
        Installing the Adapter for IDMS on z/OS
        Installing the AUTOIDMS Facility
        Central Version or Local Mode Access to IDMS
      Launch PDF
    Adapter for Db2 Installation Guide v7.7.06
      Before You Begin
        Pre-Installation Requirements
        Maintenance
        Restricting the Use of Direct SQL Passthru Commands
      Installing the Adapter for Db2 to Use CLI on z/OS
        Create Configuration Files for Access to Db2 Using CLI
        Create a Procedure to Access FOCUS and Verify Adapter Installation
      Installing the Adapter for Db2 to Use CAF on z/OS
        Choose an Installation Option
        Create the BIND Member and Submit the BIND Job
        Identify the Application Plan and Subsystem ID to FOCUS
        Grant Access to the Application Plan
        Grant Access to User Tables
        Create a Procedure to Access FOCUS and Verify Adapter Installation
      Installing the Adapter for Db2 to Use CLI on UNIX
        Creating Configuration Files for Access to Db2 on UNIX Using CLI
        Verifying Adapter Installation
      Launch PDF
    IMS/DB Interface User's Manual and Installation Guide v7.0
      Introduction
        Report Processing
        Environments
        Supported IMS Access Methods
        Ease of Use
        Efficiency
        Security
      IMS Overview and Mapping Concepts
        Overview of IMS Concepts
        Mapping IMS Elements to FOCUS
        Mapping IMS and FOCUS Relationships
      Creating FOCUS Descriptions
        The FOCPSB
        The Master File
        The Access File (DBCTL)
        Creating File Descriptions Using AUTOIMS
      Reporting Efficiencies
        Adapter Optimization
        DL/I Calls
        Record Selection Tests
        The Dynamic JOIN Command
        Retrieval of Unique Segments
        JOINs With Selection Criteria
      Environments
        Fast Path Considerations
        The PSB PROCOPT to Use With the Adapter
        Access to IMS Through DBCTL
        Access to IMS Through the XMI Server
        Access to IMS With FOCUS Loaded by the Region Controller
        Summary Chart
        Environment Switching
      Security
        DBCTL Security
        XMI Server Security
      Sample File Descriptions
        DI21PART Sample
        PATDB01 Sample
        EMPDB Sample
        AIHDAM Sample
      Tracing Adapter Processing
        DLITRACE
        Adapter Traces
      Release Dependent Adapter Features
        The SET IMS Command
        Adapter Environmental Commands
        Describing a Secondary Index Without Auto Index Selection
        Fixed Format FOCPSBs
        Accessing the BMP Extension
      Installation Instructions
        Pre-Installation and Maintenance Requirements
        Basic Installation Steps
        DBCTL Instructions
        XMI Server Instructions
        Run-time Requirements
      Interface Errors and Messages
        Interface Messages
        Common User Errors
      Glossary
      Launch PDF
    Millennium Interface User's Manual and Installation Guide v7.0
    Adapter for Oracle Installation Guide v7.7
      Before You Begin
        Pre-Installation Requirements
        Maintenance
      Installing the Adapter for Oracle
        Create the Adapter Configuration Files
        Identify the Oracle SID
        Grant Access to Oracle Tables and Views
        Create a CLIST or Job to Invoke FOCUS and Verify Adapter Installation
        Upgrading From a FOCUS Release Prior to 7.7
      Launch PDF
    Relational Data Adapter User's Manual v7.7
      Introduction to Adapters for Relational Data Sources
        Adapter Capabilities
        FOCUS and RDBMS Interaction
        The Adapter as an RDBMS Application
        Environment
        Ease of Use
        Efficiency
        Security
      Invoking Relational Adapters
        Getting Started Under z/OS
        Issuing Commands
      Connection, Authentication, and Security
        SQL GRANT and REVOKE
        DB2 Security
        Teradata Login Security
        Oracle Connection Attributes
        FOCUS DBA Security
      Describing Tables to FOCUS
        Creating Master and Access Files
        Master Files
        Access Files
        The OCCURS Segment
      Multi-Table Structures
        Types of Embedded Joins
        Advantages of Multi-table Structures
        Creating a Multi-table Structure
        Multi-field Embedded Equijoins
      Automated Procedures
        Creating File Descriptions
        AUTODB2
        AUTODBC
        Results of the Master File Generation Facilities
        Creating Tables: The CREATE FILE Command
      The Adapter Optimizer
        Optimizing Requests
        Optimization Logic
        Optimizing Record Selection and Projection
        Optimizing Joins
        Optimizing Sorts
        Optimizing Aggregation
        Optimizing DEFINE Fields
        DEFINE FUNCTION Optimization
        Optimizing Function Calls
        The FOCUS EXPLAIN Utility (DB2 and Teradata)
      Advanced Reporting Techniques
        FOCUS and SQL Similarities
        The TABLEF Command
        Creating Tables Using the HOLD Command
        Using the Dynamic JOIN Command
        Controlling Outer Join Optimization
        Missing Rows of Data in Cross-referenced Tables
        JOIN Utilities
        Implementing Search Limits
        Array Blocking for SELECT Requests
        Multiple Retrieval Paths
      Direct SQL Passthru
        Direct SQL Passthru Advantages
        Invoking Direct SQL Passthru
        Issuing Commands and Requests
        Parameterized SQL Passthru
      Controlling Connection Scope
        Invoking Actions in Response to Events
        Understanding Actions
        Action and Event Combinations
        Combinations of SET AUTOaction Commands
        Establishing Different Types of FOCUS Sessions
      Adapter Commands
        Issuing Adapter Commands
        Querying Adapter Parameter Settings
        Parameters That Apply to Multiple Adapters
        Parameters That Apply to DB2 Only
        Parameters That Apply to Teradata Only
        Parameters That Apply to IDMS/SQL Only
        Parameters That Apply to Oracle Only
        Parameters That Apply to MODIFY Only
        Adapter Dialogue Manager Variables
      Maintaining Tables With FOCUS
        Overview of Data Source Maintenance Facilities
        Modifying Data
        The MATCH Command
        The NEXT Command
        INCLUDE, UPDATE, and DELETE Processing
        RDBMS Transaction Control Within MODIFY
        Referential Integrity
        The MODIFY COMBINE Facility
        The LOOKUP Function
        The FIND Function
        Isolation Levels and Locks
        Issuing SQL Commands in MODIFY
        Change Verify Protocol: AUTOCOMMIT ON CRTFORM
        Loading Tables Faster: The MODIFY Fastload Facility
      Static SQL (DB2)
        Static SQL Overview
        Static SQL Requirements
        Creating a Static Procedure for DB2
        Plan Management in DB2
        Resource Restrictions
      Additional Topics
        Status Return Variable: &RETCODE
        Standard FOCUS and Adapter Differences
        Adapter for DB2 Stored Procedure Support (CLI Only)
        Adapter for Oracle Stored Procedure Support
        Adapter for Teradata Stored Procedure and Macro Support
        Default Date Considerations
        Remote Segment Descriptions
        Long Field Name Considerations
        Determining DB2 Decimal Notation at Run-time
        CALLDB2: Invoking Subroutines Containing Embedded SQL
        The DB2 Distributed Data Facility
        DB2 DRDA Support
        Read-only Access to IMS Data From DB2 MODIFY Procedures
      SQL Codes and Adapter Messages
        Common SQL Return Codes for DB2
        Common DBC Return Codes for Teradata
        Common User Errors and Corrections
        Accessing Adapter Messages
      File Descriptions and Tables
        Samples Overview
        ADDRESS Sample
        COURSE Sample
        DEDUCT Sample
        EMPINFO Sample
        FUNDTRAN Sample
        PAYINFO Sample
        SALINFO Sample
        ECOURSE Sample
        EMPADD Sample
        EMPFUND Sample
        EMPPAY Sample
        SALDUCT Sample
        SALARY Sample
        DPBRANCH Sample
        DPINVENT Sample
        DPVENDOR Sample
      Tracing Adapter Processing
        Available Traces
        Activating Trace Components
        Activating the Trace Destination
        Deactivating Trace Components
        Trace Activation and Deactivation Examples
        Querying Traces
        Allocating FSTRACE
      Launch PDF
    Adapter for Teradata Installation Guide v7.0
      Before You Begin
        Pre-Installation Requirements
        Maintenance
      Installing the Adapter for Teradata
        Create the Adapter Configuration Files
        Grant Access to Teradata Tables and Views
        Create a CLIST or Job to Invoke FOCUS and Verify Adapter Installation
        Upgrading From a FOCUS Release Prior to 7.7
      Launch PDF
    VSAM Write Data Adapter User's Manual v7.0
  Supplementary Documentation
    Active Technologies User Guide
      Active Technologies
        Active Technologies Report Overview
        Product Requirements for Using Active Technologies
      Creating Active Technologies Components With FOCUS Syntax
        Creating an Active Technologies Report
      Using an Active Technologies Report
        Navigating Between Pages
        Filtering and Highlighting Data
        Calculating Data
        Sorting Data
        Using Tab Window Navigation
        Controlling Report Display
        Using Data Visualization
        Viewing Data as a Chart
        Using the Grid Tool
        Using the Chart/Rollup Tool
        Using the Pivot Tool
        Saving, Exporting, and E-mailing Active Technologies Reports
      Launch PDF
    Simultaneous Usage Reference Manual for z/OS v7.7.03
      Introduction
        What is Simultaneous Usage?
        How SU Processes Transactions Without COMMIT and ROLLBACK
        The Multi-Threaded SU Reporting Facility
      Operating the FOCUS Database Server
        Starting a FOCUS Database Server
        Using the SU Profile
        Stopping the FOCUS Database Server
        Logging FOCUS Database Server Activity in HLIPRINT
        Calculating Memory Requirements for the FOCUS Database Server
        Protecting FOCUS Databases: the FOCUS/SU Security Interface (SUSI)
      SU and the FOCUS Language
        Using Centrally Controlled Databases
        Using the Multi-Threaded SU Reporting Facility
        Messages From the FOCUS Database Server
        Using MODIFY or Maintain With SU
        Protecting FOCUS Database Server Transactions
        Performance Considerations
        SU Profile Commands for COMMIT and ROLLBACK
      SU and the Host Language Interface (HLI)
        Gaining Access to Centrally Controlled Databases
        The File Communication Block (FCB)
        Closing Centrally Controlled Databases
        Writing Transactions From the Buffer
        Using HLI Control Commands
      Improving Performance
        Storing Central Databases On Disk
        Workload Balancing Techniques for Improving Performance
        Keeping Master Files Open on the FOCUS Database Server
      FOCUS Error Messages
        Accessing Errors Files
        Displaying Messages Online
        Messages and Descriptions
      HLI Status Codes Returned in FCB Word 24
        Status Codes and Explanations
      Launch PDF
  Summary of New Features
    Creating an Active Technologies Report
      Features Added in FOCUS 7.7.03
    Reporting Enhancements
      Features Added in FOCUS 7.7.09
      Features Added in FOCUS 7.7.07
      Features Added in FOCUS 7.7.06
      Features Added in FOCUS 7.7.03
    General Enhancements
      Features Added in FOCUS 7.7.09
      Features Added in FOCUS 7.7.07
      Features Added in FOCUS 7.7.06
      Features Added in FOCUS 7.7.03
    Database Enhancements
      Features Added in FOCUS 7.7.09
      Features Added in FOCUS 7.7.07
      Features Added in FOCUS 7.7.06
      Features Added in FOCUS 7.7.03
    Output Format Enhancements
      Features Added in FOCUS 7.7.07
      Features Added in FOCUS 7.7.06
      Features Added in FOCUS 7.7.03
    Adapter Enhancements
      Features Added in FOCUS 7.7.09
      Features Added in FOCUS 7.7.07
      Features Added in FOCUS 7.7.06
      Features Added in FOCUS 7.7.03
    MODIFY Enhancements
      Features Added in FOCUS 7.7.03
    Raised Limits
      Features Added in FOCUS 7.7.07
      Features Added in FOCUS 7.7.06
      Features Added in FOCUS 7.7.03
    Launch PDF
  Release Notes
    Problems Corrected in FOCUS Release 7709
      Problems Corrected in FOCUS 7709 Gen 1558
      Problems Corrected in FOCUS 7709 Gen 1557
      Problems Corrected in FOCUS 7709 Gen 1554
      Problems Corrected in FOCUS 7709 Gen 1552
      Problems Corrected in FOCUS 7709 Gen 1551
      Problems Corrected in FOCUS 7709 Gen 1550
      Problems Corrected in FOCUS 7709 Gen 1549
      Problems Corrected in FOCUS 7709 Gen 1548
      Problems Corrected in FOCUS 7709 Gen 1547
      Problems Corrected in FOCUS 7709 Gen 1545
      Launch PDF
  Overview and Operating Environments
    Introduction to FOCUS
      What Is FOCUS?
      Who Uses FOCUS?
      FOCUS Language
      Terminal Operator Environment
      FOCUS Concepts
      Features for End Users
      Features for Application Developers
      FOCUS User Aids
      Using Regular Expressions
    Editing Files With TED
      Entering TED
      TED Features
      Creating a File
      TYPE and EDIT Functions
      Accessing the HELP File
      Editing FOCEXECs
      Personalizing TED: PROFILE and PFnn
      Syntax Summary
    Invoking the ISPF Editor on z/OS
      Editing Files With IEDIT
      Installing IEDIT
      Using IEDIT
    Terminal Operator Environment
      Illustrating the Terminal Operator Environment
      Invoking the Terminal Operator Environment
      Activating a Window
      Types of Windows
      Window Commands
    UNIX and Linux Guide to Operations
      How FOCUS Interacts With UNIX
      Overview of a FOCUS Session
      Defining the FOCUS Operating Environment
      Defining and Allocating FOCUS Files
      FOCUS in the UNIX and Linux Environments
      Sending Email From a Procedure
      Configuring, Starting, and Stopping the FOCUS Database Server
    z/OS Guide to Operations
      Introduction to 64-bit FOCUS
      Referencing Files
      Application Files
      Window Files
      Extract Files
      Work Files
      Enabling Use of the zIIP Specialty Engine
      Calling FOCUS Under TSO
      FOCUS Facilities Under TSO
      TSO and FOCUS Interaction
      DYNAM Command
    Using FOCUS as a Client to a Reporting Server
      Client/Server Computing and Middleware
      Using FOCUS to Access Data on a Server
      Remote Execution
      Distributed Execution
    Logging FOCUS Usage: FOCLOG
      Overview of FOCLOG
      Implementing FOCLOG
      Information Captured in the FOCLOG File
      FOCLOG Reporting
    Configuring FOCUS for National Language Support Services
      Introduction to FOCUS National Language Support (NLS) Services
      Detailed NLS Configuration Steps
      Advanced NLS Configuration Options
      Using the NLS Configuration Files
      Using the TSGU to Generate New Transcoding Tables
    Unicode Support
      Unicode Encoding Standards
      Accessing Unicode Data
      Selecting, Reformatting, and Manipulating Characters
      Sort Order Under Unicode
      Added Unicode Support for Master Files, Data Files, and Application Directory Names
      Unicode PDF Output
    Launch PDF
  Creating Reports
    Creating Tabular Reports
      Requirements for Creating a Report
      Creating a Report Request
      Developing Your Report Request
      Including Display Fields in a Report Request
      Referring to Fields in a Report Request
    Displaying Report Data
      Using Display Commands in a Request
      Displaying Individual Values
      Adding Values
      Counting Values
      Expanding Byte Precision for COUNT and LIST
      Maximum Number of Display Fields Supported in a Request
      Manipulating Display Fields With Prefix Operators
    Viewing and Printing Report Output
      Displaying Reports in HotScreen
      Scrolling a Report
      Displaying Reports in the Panel Facility
      Printing Reports
      Displaying Reports in the Terminal Operator Environment
    Sorting Tabular Reports
      Sorting Tabular Reports Overview
      Sorting Rows
      Sorting Columns
      Controlling Display of Sort Field Values
      Reformatting Sort Fields
      Manipulating Display Field Values in a Sort Group
      Creating a Matrix Report
      Controlling Collation Sequence
      Specifying the Sort Order
      Ranking Sort Field Values
      Grouping Numeric Data Into Ranges
      Restricting Sort Field Values by Highest/Lowest Rank
      Sorting and Aggregating Report Columns
      Hiding Sort Values
       Sort Performance Considerations
      Sorting With Multiple Display Commands
      Improving Efficiency With External Sorts
      Hierarchical Reporting: BY HIERARCHY
    Selecting Records for Your Report
      Selecting Records Overview
      Choosing a Filtering Method
      Selections Based on Individual Values
      Selection Based on Aggregate Values
      Applying Selection Criteria to the Internal Matrix Prior to COMPUTE Processing
      Using Compound Expressions for Record Selection
      Using Operators in Record Selection Tests
      Types of Record Selection Tests
      Selections Based on Group Key Values
      Setting Limits on the Number of Records Read
      Selecting Records Using IF Phrases
      Reading Selection Values From a File
      Assigning Screening Conditions to a File
      VSAM Record Selection Efficiencies
    Creating Temporary Fields
      What Is a Temporary Field?
      Defining a Virtual Field
      Creating a Calculated Value
      Assigning Column Reference Numbers
      Using FORECAST in a COMPUTE Command
      Calculating Trends and Predicting Values With FORECAST
      Calculating Trends and Predicting Values With Multivariate REGRESS
      Using Text Fields in DEFINE and COMPUTE
      Creating Temporary Fields Independent of a Master File
    Including Totals and Subtotals
      Calculating Row and Column Totals
      Including Section Totals and a Grand Total
      Including Subtotals
      Recalculating Values for Subtotal Rows
      Summarizing Alphanumeric Columns
      Manipulating Summary Values With Prefix Operators
      Combinations of Summary Commands
      Producing Summary Columns for Horizontal Sort Fields
      Performing Calculations at Sort Field Breaks
      Suppressing Grand Totals
      Conditionally Displaying Summary Lines and Text
    Using Expressions
      Using Expressions in Commands and Phrases
      Types of Expressions
      Creating a Numeric Expression
      Creating a Date Expression
      Creating a Date-Time Expression
      Creating a Character Expression
      Creating a Variable Length Character Expression
      Creating a Logical Expression
      Creating a Conditional Expression
    Customizing Tabular Reports
      Producing Headings and Footings
      Creating Paging and Numbering
      Ignoring ON Phrases for Absent Fields
      Suppressing Fields: SUP-PRINT or NOPRINT
      Reducing a Report's Width: FOLD-LINE and OVER
      Positioning Columns: IN
      Separating Sections of a Report: SKIP-LINE and UNDER-LINE
      Controlling Column Title Underlining Using a SET Command
      Controlling Column Spacing: SET SPACES
      Creating New Column Titles: AS
      Customizing Column Names: SET QUALTITLES
      Column Title Justification
      Customizing Reports With SET Parameters
      Conditionally Formatting Reports With the WHEN Clause
      Controlling the Display of Empty Reports
      Controlling the Generation of Blank Lines in Report Output
    Saving and Reusing Your Report Output
      Saving Your Report Output
      Creating a HOLD File
      Holding Report Output in FOCUS Format
      Controlling Attributes in HOLD Master Files
      Keyed Retrieval From HOLD Files
      Using DBMS Temporary Tables as HOLD Files
      Creating SAVE and SAVB Files
      Creating a PCHOLD File
      Choosing Output File Formats
      Using Text Fields in Output Files
      Creating a Delimited Sequential File
      Saving Report Output in INTERNAL Format
      Creating A Subquery or Sequential File With HOLD FORMAT SQL_SCRIPT
      Creating a Structured HOLD File
    Styling Reports
       Introduction to Styled Reports
      Choosing an Output Format
      Styling Reports With StyleSheets
      Creating a Styled Report
      Styling the Page Layout
      Specifying Font Format in a Report
      Identifying Report Components
      Reusing FOCUS StyleSheet Declarations With Macros
      FOCUS StyleSheet Attribute Inheritance
      Conditionally Formatting in a StyleSheet
    Cascading Style Sheets
      What Are Cascading Style Sheets?
      Cascading Style Sheets and Precedence Rules
      Cascading Style Sheet Formatting Statements: Rules and Classes
      Generating an Internal Cascading Style Sheet
      Working With External Cascading Style Sheets
      Combining CSS Styling With Other Formatting Methods
      Linking to an External Cascading Style Sheet
      FAQ About Using External Cascading Style Sheets
      Troubleshooting Cascading Style Sheets
    Advanced StyleSheet Features
      Positioning a Report Component
      Controlling Column Title Underlining Using a StyleSheet Attribute
      Arranging Pages and Columns on a Page
      Wrapping and Justifying Report Components
      Alignment of Fields in Reports Using OVER in PDF Report Output
      Aligning Heading and Footing Elements
      Support for Repeated Headings and Footings on Panels in PDF Report Output
      Adding Grids and Borders
      Displaying Superscripts On Data, Heading, and Footing Lines
      Adding an Image to a Report
      Linking in a Report
      Working With Mailing Labels and Multi-Pane Pages
    Choosing a Styled Display Format
      Report Display Formats
      Preserving Leading and Internal Blanks in Report Output
      Using Web Display Format: HTML
      Using Print Display Formats: PDF, PS
      Using Excel Display Formats: XLSX, EXL2K, EXL97
      Using PowerPoint PPT Display Format
      PowerPoint
    Handling Records With Missing Field Values
      Irrelevant Report Data
      Missing Field Values
      Handling a Missing Segment Instance
      Setting the NODATA Character String
    Joining Data Sources
      Types of Joins
      How the JOIN Command Works
      Creating an Equijoin
      Using a Conditional Join
      Full Outer Joins for Relational Data Sources
      Reporting Against a Multi-Fact Cluster Synonym
      Invoking Context Analysis for a Star Schema With a Fan Trap
      Adding DBA Restrictions to the Join Condition: SET DBAJOIN
      Preserving Virtual Fields During Join Parsing
      Displaying Joined Structures
      Clearing Joined Structures
    Merging Data Sources
      Merging Data
      Types of MATCH Processing
      MATCH Processing With Common High-Order Sort Fields
      Fine-Tuning MATCH Processing
      Universal Concatenation
      Merging Concatenated Data Sources
      Cartesian Product
    Improving Report Processing
      Rotating a Data Structure for Enhanced Retrieval
      Optimizing Retrieval Speed for FOCUS Data Sources
      Automatic Indexed Retrieval
      Data Retrieval Using TABLEF
      Preserving the Internal Matrix of Your Last Report
      Compiling Expressions
    Creating Financial Reports With Financial Modeling Language (FML)
      Reporting With FML
      Creating Rows From Data
      Supplying Data Directly in a Request
      Performing Inter-Row Calculations
      Referring to Rows in Calculations
      Referring to Columns in Calculations
      Referring to Rows and Columns in Calculations
      Referring to Cells in Calculations
      Using Functions in RECAP Calculations
      Inserting Rows of Free Text
      Adding a Column to an FML Report
      Creating a Recursive Model
      Reporting Dynamically From a Hierarchy
      Customizing a Row Title
      Formatting an FML Report
      Suppressing the Display of Rows
      Saving and Retrieving Intermediate Report Results
      Creating HOLD Files From FML Reports
    Creating a Free-Form Report
      Creating a Free-Form Report
      Designing a Free-Form Report
    Creating Graphs: GRAPH
      Introduction
      Command Syntax
      Graph Forms
      Adjusting Graph Elements
      Special Topics
      Special Graphics Devices
      Command and SET Parameter Summary
    Using SQL to Create Reports
      Supported and Unsupported SQL Statements
      Using SQL Translator Commands
      SQL Translator Support for Date, Time, and Timestamp Fields
      Index Optimized Retrieval
      TABLEF Optimization
      SQL INSERT, UPDATE, and DELETE Commands
    Master Files and Diagrams
      EMPLOYEE Data Source
      JOBFILE Data Source
      EDUCFILE Data Source
      SALES Data Source
      CAR Data Source
      LEDGER Data Source
      FINANCE Data Source
      REGION Data Source
      EMPDATA Data Source
      TRAINING Data Source
      COURSE Data Source
      JOBHIST Data Source
      JOBLIST Data Source
      LOCATOR Data Source
      PERSINFO Data Source
      SALHIST Data Source
      VIDEOTRK, MOVIES, and ITEMS Data Sources
      VIDEOTR2 Data Source
      Gotham Grinds Data Sources
      Century Corp Data Sources
    Error Messages
      Displaying Messages
    Table Syntax Summary and Limits
      TABLE Syntax Summary
      TABLEF Syntax Summary
      MATCH Syntax Summary
      FOR Syntax Summary
      TABLE Limits
    Writing User-Coded Programs to Create HOLD Files
      Arguments Used in Calls to Programs That Create HOLD Files
    Launch PDF
  Describing Data
    Understanding a Data Source Description
      A Note About Data Source Terminology
      What Is a Data Source Description?
      How an Application Uses a Data Source Description
      What Does a Master File Describe?
      Creating a Data Source Description
      Naming a Master File
      What Is in a Master File?
    Identifying a Data Source
      Identifying a Data Source Overview
      Specifying a Data Source Name: FILENAME
      Identifying a Data Source Type: SUFFIX
      Specifying a Code Page in a Master File
      Specifying Byte Order
      Specifying Data Type: IOTYPE
      Providing Descriptive Information for a Data Source: REMARKS
      Specifying a Physical File Name: DATASET
      Storing Localized Metadata in Language Files
    Describing a Group of Fields
      Defining a Single Group of Fields
      Identifying a Logical View: Redefining a Segment
      Relating Multiple Groups of Fields
      Logical Dependence: The Parent-Child Relationship
      Logical Independence: Multiple Paths
      Cardinal Relationships Between Segments
      One-to-One Relationship
      One-to-Many Relationship
      Many-to-Many Relationship
      Recursive Relationships
      Relating Segments From Different Types of Data Sources
      Rotating a Data Source: An Alternate View
      Defining a Prefix for Field Titles
    Describing an Individual Field
      Field Characteristics
      The Field Name: FIELDNAME
      The Field Synonym: ALIAS
      The Displayed Data Type: USAGE
      The Stored Data Type: ACTUAL
      Adding a Geographic Role for a Field
      Null or MISSING Values: MISSING
      Describing an FML Hierarchy
      Validating Data: ACCEPT
      Alternative Report Column Titles: TITLE
      Documenting the Field: DESCRIPTION
      Multilingual Metadata
      Describing a Virtual Field: DEFINE
      Describing a Calculated Value: COMPUTE
      Describing a Filter: FILTER
      Describing a Sort Object: SORTOBJ
      Calling a DEFINE FUNCTION in a Master File
      Using Date System Amper Variables in Master File DEFINEs
      Parameterizing Master and Access File Values Using Variables
      Converting Alphanumeric Dates to FOCUS Dates
    Describing a Sequential, VSAM, or ISAM Data Source
      Sequential Data Source Formats
      Standard Master File Attributes for a Sequential Data Source
      Standard Master File Attributes for a VSAM or ISAM Data Source
      Describing a Multiply Occurring Field in a Free-Format Data Source
      Describing a Multiply Occurring Field in a Fixed-Format, VSAM, or ISAM Data Source
      Redefining a Field in a Non-FOCUS Data Source
      Extra-Large Record Length Support
      Describing Multiple Record Types
      Combining Multiply Occurring Fields and Multiple Record Types
      Establishing VSAM Data and Index Buffers
      Using a VSAM Alternate Index
      Describing a Token-Delimited Data Source
    Describing a FOCUS Data Source
      Types of FOCUS Data Sources
      Designing a FOCUS Data Source
      Describing a Single Segment
      GROUP Attribute
      ACCEPT Attribute
      INDEX Attribute
      Describing a Partitioned FOCUS Data Source
      Multi-Dimensional Index (MDI)
    Defining a Join in a Master File
      Join Types
      Static Joins Defined in the Master File: SEGTYPE = KU and KM
      Using Cross-Referenced Descendant Segments: SEGTYPE = KL and KLU
      Dynamic Joins Defined in the Master File: SEGTYPE = DKU and DKM
      Conditional Joins in the Master File
      Comparing Static and Dynamic Joins
      Joining to One Cross-Referenced Segment From Several Host Segments
      Creating a Single-Root Cluster Master File
      Creating a Multiple-Root Cluster Master File
    Creating a Business View of a Master File
      Grouping Business Logic In a Business View
      Business View DV Roles
    Checking and Changing a Master File: CHECK
      Checking a Data Source Description
      CHECK Command Display
      PICTURE Option
      HOLD Option
    Accessing a FOCUS Data Source: USE
      USE Command
      Specifying a Non-Default File ID
      Identifying New Data Sources to FOCUS
      Accessing Data Sources in Read-Only Mode
      Concatenating Data Sources
      Accessing Simultaneous Usage Data Sources
      Displaying the USE Options in Effect
    Providing Data Source Security: DBA
      Introduction to Data Source Security
      Implementing Data Source Security
      Specifying an Access Type: The ACCESS Attribute
      Limiting Data Source Access: The RESTRICT Attribute
      Controlling the Source of Access Restrictions in a Multi-file Structure
      Adding DBA Restrictions to the Join Condition
      Placing Security Information in a Central Master File
      Summary of Security Attributes
      Hiding Restriction Rules: The ENCRYPT Command
      FOCEXEC Security
    Master Files and Diagrams
      Creating Sample Data Sources
      EMPLOYEE Data Source
      JOBFILE Data Source
      EDUCFILE Data Source
      SALES Data Source
      PROD Data Source
      CAR Data Source
      LEDGER Data Source
      FINANCE Data Source
      REGION Data Source
      COURSES Data Source
      EMPDATA Data Source
      EXPERSON Data Source
      TRAINING Data Source
      COURSE Data Source
      JOBHIST Data Source
      JOBLIST Data Source
      LOCATOR Data Source
      PERSINFO Data Source
      SALHIST Data Source
      PAYHIST File
      COMASTER File
      VIDEOTRK, MOVIES, and ITEMS Data Sources
      VIDEOTR2 Data Source
      Gotham Grinds Data Sources
      Century Corp Data Sources
    Error Messages
      Accessing Error Files
      Displaying Messages
    User Exits for a Non-FOCUS Data Source
      Dynamic and Re-Entrant Private User Exit of the FOCSAM Interface
      User-coded Data Access Modules
      Re-Entrant VSAM Compression Exit: ZCOMP1
    Rounding in FOCUS
      Data Storage and Display
      Rounding in Calculations and Conversions
    File Description Attribute Summary
      Overview of File Descriptions
      Master File Attributes
      Access File Attributes
      Related Commands
    Launch PDF
  Developing Applications
    Customizing Your Environment
      When Do You Use the SET Command?
      Coding a SET Command
      Types of SET Parameters
      SET Parameter Syntax
    Managing Applications
      What Is an Application?
      Application Commands Overview
      Search Path Management Commands
      Application and File Management Commands
      Output Redirection Commands
      Application Metadata Commands and Catalog Metadata
      APP HELP
      Accessing Metadata and Procedures
      Allocating Temporary Files
    Managing Flow of Control in an Application
      Uses for Dialogue Manager
      Dialogue Manager Processing
      Creating a Procedure
      Executing and Terminating a Procedure
      Navigating a Procedure
      Using Variables in a Procedure
      Supplying and Verifying Values for Variables
      Manipulating and Testing Variables
      Using Numeric Amper Variables in Functions
      Debugging a Procedure
      Issuing an Operating System Command
      Dialogue Manager Quick Reference
    Testing and Debugging With Query Commands
      Using Query Commands
      Displaying Combined Structures
      Displaying Virtual Fields
      Displaying the Currency Data Source in Effect
      Displaying Available Fields
      Displaying the File Directory Table
      Displaying Field Information for a Master File
      Displaying Data Source Statistics
      Displaying Defined Functions
      Displaying HOLD Fields
      Displaying JOIN Structures
      Displaying National Language Support
      Displaying LET Substitutions
      Displaying Information About Loaded Files
      Displaying Explanations of Error Messages
      Displaying PF Key Assignments
      Displaying the Release Number
      Displaying Parameter Settings
      Displaying Graph Parameters
      Displaying the Site Code
      Displaying Command Statistics
      Displaying StyleSheet Parameter Settings
      Displaying Information About the SU Machine
      Displaying Data Sources Specified With USE
      Displaying Global Variable Values
      Reporting Dynamically From System Tables
    Defining a Word Substitution
      The LET Command
      Variable Substitution
      Null Substitution
      Multiple-Line Substitution
      Recursive Substitution
      Using a LET Substitution in a COMPUTE or DEFINE Command
      Checking Current LET Substitutions
      Interactive LET Query: LET ECHO
      Clearing LET Substitutions
      Saving LET Substitutions in a File
      Assigning Phrases to Function Keys
    Enhancing Application Performance
      FOCUS Facilities
      Loading a File
      Saving Master Files in Memory for Reuse
      Accessing a FOCUS Data Source
    Working With Cross-Century Dates
      When Do You Use the Sliding Window Technique?
      The Sliding Window Technique
      Applying the Sliding Window Technique
      Defining a Global Window With SET
      Defining a Dynamic Global Window With SET
      Querying the Current Global Value of DEFCENT and YRTHRESH
      Defining a File-Level or Field-Level Window in a Master File
      Defining a Window for a Virtual Field
      Defining a Window for a Calculated Value
      Additional Support for Cross-Century Dates
    Euro Currency Support
      Integrating the Euro Currency
      Converting Currencies
      Creating the Currency Data Source
      Identifying Fields That Contain Currency Data
      Activating the Currency Data Source
      Processing Currency Data
      Querying the Currency Data Source in Effect
      Punctuating Numbers
      Selecting an Extended Currency Symbol
    Designing Windows With Window Painter
      Introduction
      Window Files and Windows
      Integrating Windows and the FOCEXEC
      Tutorial: A Menu-Driven Application
      Window Painter Screens
      Transferring Window Files
    Master Files and Diagrams
      EMPLOYEE Data Source
      JOBFILE Data Source
      EDUCFILE Data Source
      SALES Data Source
      PROD Data Source
      CAR Data Source
      LEDGER Data Source
      FINANCE Data Source
      REGION Data Source
      COURSES Data Source
      EMPDATA Data Source
      EXPERSON Data Source
      TRAINING Data Source
      COURSE Data Source
      JOBHIST Data Source
      JOBLIST Data Source
      LOCATOR Data Source
      PERSINFO Data Source
      SALHIST Data Source
      PAYHIST File
      COMASTER File
      VIDEOTRK, MOVIES, and ITEMS Data Sources
      VIDEOTR2 Data Source
      Gotham Grinds Data Sources
      Century Corp Data Sources
    Error Messages
      Accessing Error Files
      Displaying Messages
    Launch PDF
  Maintaining Databases
    Modifying Data Sources With MODIFY
      Introduction
      Examples of MODIFY Processing
      Additional MODIFY Facilities
      Describing Incoming Data
      Special Responses
      Entering Text Data Using TED
      Reading Selected Portions of Transaction Data Sources: The START and STOP Statements
      Modifying Data: MATCH and NEXT
      Computations: COMPUTE and VALIDATE
      Messages: TYPE, LOG, and HELPMESSAGE
      Case Logic
      Multiple Record Processing
      Advanced Facilities
      MODIFY Syntax Summary
    Designing Screens With FIDEL
      Introduction
      Describing the CRT Screen
      Using FIDEL in MODIFY
      Using FIDEL in Dialogue Manager
      Using the FOCUS Screen Painter
    Creating and Rebuilding a Data Source
      Creating a New Data Source: The CREATE Command
      Rebuilding a Data Source: The REBUILD Command
      Optimizing File Size: The REBUILD Subcommand
      Changing Data Source Structure: The REORG Subcommand
      Indexing Fields: The INDEX Subcommand
      Creating an External Index: The EXTERNAL INDEX Subcommand
      Checking Data Source Integrity: The CHECK Subcommand
      Changing the Data Source Creation Date and Time: The TIMESTAMP Subcommand
      Converting Legacy Dates: The DATE NEW Subcommand
      Creating a Multi-Dimensional Index: The MDINDEX Subcommand
    Directly Editing FOCUS Databases With SCAN
      Introduction
      Entering SCAN Mode
      Moving Through the Database and Locating Records
      Adding Segment Instances
      Moving Segment Instances
      Changing Field Contents
      Deleting Fields and Segments
      Saving Changes Made in SCAN Sessions
      Ending the Session
      Auxiliary SCAN Functions
      Subcommand Summary
    Directly Editing FOCUS Databases With FSCAN
      Introduction
      Entering FSCAN
      Using FSCAN
      The FSCAN Facility and FOCUS Structures
      Scrolling the Screen
      Selecting a Specific Instance by Defining a Current Instance
      Displaying Descendant Segments: The CHILD, PARENT, and JUMP Commands
      Displaying a Single Instance on One Screen: The SINGLE and MULTIPLE Commands
      Modifying the Database
      Repeating a Command: ? and =
      Saving Changes: The SAVE Without Exiting FSCAN Command
      Exiting FSCAN: The END, FILE, QQUIT, and QUIT Commands
      The FSCAN HELP Facility
      Syntax Summary
    Master Files and Diagrams
      Creating Sample Data Sources
      EMPLOYEE Data Source
      JOBFILE Data Source
      EDUCFILE Data Source
      SALES Data Source
      PROD Data Source
      CAR Data Source
      LEDGER Data Source
      FINANCE Data Source
      REGION Data Source
      COURSES Data Source
      EMPDATA Data Source
      EXPERSON Data Source
      TRAINING Data Source
      COURSE Data Source
      JOBHIST Data Source
      JOBLIST Data Source
      LOCATOR Data Source
      PERSINFO Data Source
      SALHIST Data Source
      PAYHIST File
      COMASTER File
      VIDEOTRK, MOVIES, and ITEMS Data Sources
      VIDEOTR2 Data Source
      Gotham Grinds Data Sources
      Century Corp Data Sources
    Error Messages
      Accessing Error Files
      Displaying Messages
    Launch PDF
  Using Functions
    How to Use This Manual
      Available Languages
      Operating Systems
    Introducing Functions
      Using Functions
      Types of Functions
      Character Chart for ASCII and EBCDIC
    Accessing and Calling a Function
      Calling a Function
      Supplying an Argument in a Function
      Calling a Function From a DEFINE, COMPUTE, or VALIDATE Command
      Calling a Function From a Dialogue Manager Command
      Calling a Function From Another Function
      Calling a Function in WHERE or IF Criteria
      Calling a Function in WHEN Criteria
      Calling a Function From a RECAP Command
      Storing and Accessing an External Function
    Simplified Analytic Functions
      FORECAST_MOVAVE: Using a Simple Moving Average
      FORECAST_EXPAVE: Using Single Exponential Smoothing
      FORECAST_DOUBLEXP: Using Double Exponential Smoothing
      FORECAST_SEASONAL: Using Triple Exponential Smoothing
      FORECAST_LINEAR: Using a Linear Regression Equation
      PARTITION_AGGR: Creating Rolling Calculations
      PARTITION_REF: Using Prior or Subsequent Field Values in Calculations
      INCREASE: Calculating the Difference Between the Current and a Prior Value of a Field
      PCT_INCREASE: Calculating the Percentage Difference Between the Current and a Prior Value of a Field
      PREVIOUS: Retrieving a Prior Value of a Field
      RUNNING_AVE: Calculating an Average Over a Group of Rows
      RUNNING_MAX: Calculating a Maximum Over a Group of Rows
      RUNNING_MIN: Calculating a Minimum Over a Group of Rows
      RUNNING_SUM: Calculating a Sum Over a Group of Rows
    Simplified Character Functions
      CHAR_LENGTH: Returning the Length in Characters of a String
      CONCAT: Concatenating Strings
      DIGITS: Converting a Number to a Character String
      GET_TOKEN: Extracting a Token Based on a String of Delimiters
      INITCAP: Capitalizing the First Letter of Each Word in a String
      LAST_NONBLANK: Retrieving the Last Field Value That is Neither Blank nor Missing
      LOWER: Returning a String With All Letters Lowercase
      LPAD: Left-Padding a Character String
      LTRIM: Removing Blanks From the Left End of a String
      PATTERNS: Returning a Pattern That Represents the Structure of the Input String
      POSITION: Returning the First Position of a Substring in a Source String
      REGEX: Matching a String to a Regular Expression
      REPLACE: Replacing a String
      RPAD: Right-Padding a Character String
      RTRIM: Removing Blanks From the Right End of a String
      SPLIT: Extracting an Element From a String
      SUBSTRING: Extracting a Substring From a Source String
      TOKEN: Extracting a Token From a String
      TRIM_: Removing a Leading Character, Trailing Character, or Both From a String
      UPPER: Returning a String With All Letters Uppercase
    Character Functions
      Character Function Notes
      ARGLEN: Measuring the Length of a String
      ASIS: Distinguishing Between Space and Zero
      BITSON: Determining If a Bit Is On or Off
      BITVAL: Evaluating a Bit String as an Integer
      BYTVAL: Translating a Character to Decimal
      CHKFMT: Checking the Format of a String
      CHKNUM: Checking a String for Numeric Format
      CTRAN: Translating One Character to Another
      CTRFLD: Centering a Character String
      EDIT: Extracting or Adding Characters
      GETTOK: Extracting a Substring (Token)
      LCWORD: Converting a String to Mixed-Case
      LCWORD2: Converting a String to Mixed-Case
      LCWORD3: Converting a String to Mixed-Case
      LJUST: Left-Justifying a String
      LOCASE: Converting Text to Lowercase
      OVRLAY: Overlaying a Character String
      PARAG: Dividing Text Into Smaller Lines
      PATTERN: Generating a Pattern From a String
      POSIT: Finding the Beginning of a Substring
      REVERSE: Reversing the Characters in a String
      RJUST: Right-Justifying a Character String
      SOUNDEX: Comparing Character Strings Phonetically
      SPELLNM: Spelling Out a Dollar Amount
      SQUEEZ: Reducing Multiple Spaces to a Single Space
      STRIP: Removing a Character From a String
      STRREP: Replacing Character Strings
      SUBSTR: Extracting a Substring
      TRIM: Removing Leading and Trailing Occurrences
      UPCASE: Converting Text to Uppercase
      XMLDECOD: Decoding XML-Encoded Characters
      XMLENCOD: XML-Encoding Characters
    Variable Length Character Functions
      Overview
      LENV: Returning the Length of an Alphanumeric Field
      LOCASV: Creating a Variable Length Lowercase String
      POSITV: Finding the Beginning of a Variable Length Substring
      SUBSTV: Extracting a Variable Length Substring
      TRIMV: Removing Characters From a String
      UPCASV: Creating a Variable Length Uppercase String
    Character Functions for DBCS Code Pages
      DCTRAN: Translating A Single-Byte or Double-Byte Character to Another
      DEDIT: Extracting or Adding Characters
      DSTRIP: Removing a Single-Byte or Double-Byte Character From a String
      DSUBSTR: Extracting a Substring
      JPTRANS: Converting Japanese Specific Characters
      KKFCUT: Truncating a String
      SFTDEL: Deleting the Shift Code From DBCS Data
      SFTINS: Inserting the Shift Code Into DBCS Data
    Data Source and Decoding Functions
      CHECKMD5: Computing an MD5 Hash Check Value
      CHECKSUM: Computing a Hash Sum
      COALESCE: Returning the First Non-Missing Value
      DB_EXPR: Inserting an SQL Expression Into a Request
      DB_INFILE: Testing Values Against a File or an SQL Subquery
      DB_LOOKUP: Retrieving Data Source Values
      DECODE: Decoding Values
      FIND: Verifying the Existence of a Value in a Data Source
      LAST: Retrieving the Preceding Value
      LOOKUP: Retrieving a Value From a Cross-referenced Data Source
      NULLIF: Returning a Null Value When Parameters Are Equal
    Simplified Date and Date-Time Functions
      DT_CURRENT_DATE: Returning the Current Date
      DT_CURRENT_DATETIME: Returning the Current Date and Time
      DT_CURRENT_TIME: Returning the Current Time
      DTADD: Incrementing a Date or Date-Time Component
      DTDIFF: Returning the Number of Component Boundaries Between Date or Date-Time Values
      DTIME: Extracting Time Components From a Date-Time Value
      DTPART: Returning a Date or Date-Time Component in Integer Format
      DTRUNC: Returning the Start of a Date Period for a Given Date
    Date Functions
      Overview of Date Functions
      Using Standard Date Functions
      DATEADD: Adding or Subtracting a Date Unit to or From a Date
      DATECVT: Converting the Format of a Date
      DATEDIF: Finding the Difference Between Two Dates
      DATEMOV: Moving a Date to a Significant Point
      DATETRAN: Formatting Dates in International Formats
      DPART: Extracting a Component From a Date
      FIQTR: Obtaining the Financial Quarter
      FIYR: Obtaining the Financial Year
      FIYYQ: Converting a Calendar Date to a Financial Date
      TODAY: Returning the Current Date
      Using Legacy Date Functions
      AYM: Adding or Subtracting Months
      AYMD: Adding or Subtracting Days
      CHGDAT: Changing How a Date String Displays
      DA Functions: Converting a Legacy Date to an Integer
      DMY, MDY, YMD: Calculating the Difference Between Two Dates
      DOWK and DOWKL: Finding the Day of the Week
      DT Functions: Converting an Integer to a Date
      GREGDT: Converting From Julian to Gregorian Format
      JULDAT: Converting From Gregorian to Julian Format
      YM: Calculating Elapsed Months
    Date-Time Functions
      Using Date-Time Functions
      HADD: Incrementing a Date-Time Value
      HCNVRT: Converting a Date-Time Value to Alphanumeric Format
      HDATE: Converting the Date Portion of a Date-Time Value to a Date Format
      HDIFF: Finding the Number of Units Between Two Date-Time Values
      HDTTM: Converting a Date Value to a Date-Time Value
      HEXTR: Extracting Components of a Date-Time Value and Setting Remaining Components to Zero
      HGETC: Storing the Current Local Date and Time in a Date-Time Field
      HGETZ: Storing the Current Coordinated Universal Time in a Date-Time Field
      HHMMSS: Retrieving the Current Time
      HHMS: Converting a Date-Time Value to a Time Value
      HINPUT: Converting an Alphanumeric String to a Date-Time Value
      HMIDNT: Setting the Time Portion of a Date-Time Value to Midnight
      HMASK: Extracting Date-Time Components and Preserving Remaining Components
      HNAME: Retrieving a Date-Time Component in Alphanumeric Format
      HPART: Retrieving a Date-Time Component as a Numeric Value
      HSETPT: Inserting a Component Into a Date-Time Value
      HTIME: Converting the Time Portion of a Date-Time Value to a Number
      HTMTOTS or TIMETOTS: Converting a Time to a Timestamp
      HYYWD: Returning the Year and Week Number From a Date-Time Value
    Simplified Conversion Functions
      CHAR: Returning a Character Based on a Numeric Code
      COMPACTFORMAT: Displaying Numbers in an Abbreviated Format
      CTRLCHAR: Returning a Non-Printable Control Character
      FPRINT: Displaying a Value in a Specified Format
      HEXTYPE: Returning the Hexadecimal View of an Input Value
      PHONETIC: Returning a Phonetic Key for a String
      TO_INTEGER: Converting a Character String to an Integer Value
      TO_NUMBER: Converting a Character String to a Numeric Value
    Format Conversion Functions
      ATODBL: Converting an Alphanumeric String to Double-Precision Format
      EDIT: Converting the Format of a Field
      FPRINT: Converting Fields to Alphanumeric Format
      FTOA: Converting a Number to Alphanumeric Format
      HEXBYT: Converting a Decimal Integer to a Character
      ITONUM: Converting a Large Binary Integer to Double-Precision Format
      ITOPACK: Converting a Large Binary Integer to Packed-Decimal Format
      ITOZ: Converting a Number to Zoned Format
      PCKOUT: Writing a Packed Number of Variable Length
      PTOA: Converting a Packed-Decimal Number to Alphanumeric Format
      TSTOPACK: Converting an MSSQL or Sybase Timestamp Column to Packed Decimal
      UFMT: Converting an Alphanumeric String to Hexadecimal
      XTPACK: Writing a Packed Number With Up to 31 Significant Digits to an Output File
    Simplified Numeric Functions
      CEILING: Returning the Smallest Integer Value Greater Than or Equal to a Value
      EXPONENT: Raising e to a Power
      FLOOR: Returning the Largest Integer Less Than or Equal to a Value
      MOD: Calculating the Remainder From a Division
      POWER: Raising a Value to a Power
    Numeric Functions
      ABS: Calculating Absolute Value
      ASIS: Distinguishing Between a Blank and a Zero
      BAR: Producing a Bar Chart
      CHKPCK: Validating a Packed Field
      DMOD, FMOD, and IMOD: Calculating the Remainder From a Division
      EXP: Raising e to the Nth Power
      EXPN: Evaluating a Number in Scientific Notation
      FMLCAP: Retrieving FML Hierarchy Captions
      FMLFOR: Retrieving FML Tag Values
      FMLINFO: Returning FOR Values
      FMLLIST: Returning an FML Tag List
      INT: Finding the Greatest Integer
      LOG: Calculating the Natural Logarithm
      MAX and MIN: Finding the Maximum or Minimum Value
      MIRR: Calculating the Modified Internal Return Rate
      NORMSDST and NORMSINV: Calculating Normal Distributions
      PRDNOR and PRDUNI: Generating Reproducible Random Numbers
      RDNORM and RDUNIF: Generating Random Numbers
      SQRT: Calculating the Square Root
      XIRR: Calculating the Modified Internal Return Rate (Periodic or Non-Periodic)
    Simplified Statistical Functions
      Specify the Partition Size for Simplified Statistical Functions
      CORRELATION: Calculating the Degree of Correlation Between Two Sets of Data
      KMEANS_CLUSTER: Partitioning Observations Into Clusters Based on the Nearest Mean Value
      MULTIREGRESS: Creating a Multivariate Linear Regression Column
      STDDEV: Calculating the Standard Deviation for a Set of Data Values
    Simplified System Functions
      EDAPRINT: Inserting a Custom Message in the EDAPRINT Log File
      ENCRYPT: Encrypting a Password
      GETENV: Retrieving the Value of an Environment Variable
      PUTENV: Assigning a Value to an Environment Variable
    System Functions
      CHECKPRIVS: Retrieving the Privilege State for the Connected User
      CLSDDREC: Closing All Files Opened by the PUTDDREC Function
      FEXERR: Retrieving an Error Message
      FGETENV: Retrieving the Value of an Environment Variable
      FINDMEM: Finding a Member of a Partitioned Data Set
      FPUTENV: Assigning a Value to an Environment Variable
      GETCOOKI: Retrieving a Browser Cookie Value
      GETHEADR: Retrieving an HTTP Header Variable
      GETPDS: Determining If a Member of a Partitioned Data Set Exists
      GETUSER: Retrieving a User ID
      GRPLIST: Retrieving the Group List of the Connected User
      JOBNAME: Retrieving the Current Process Identification String
      MVSDYNAM: Passing a DYNAM Command to the Command Processor
      PUTCOOKI: Submitting a Value to a Browser Cookie
      PUTDDREC: Writing a Character String as a Record in a Sequential File
      SLEEP: Suspending Execution for a Given Number of Seconds
      SPAWN: Creating a Subprocess From a Procedure
      SYSTEM: Calling a System Program
      SYSVAR: Retrieving the Value of a z/OS System Variable
    Creating a Subroutine
      Writing a Subroutine
      Compiling and Storing a Subroutine
      Testing the Subroutine
      Using a Custom Subroutine: The MTHNAM Subroutine
      Subroutines Written in REXX
    ASCII and EBCDIC Codes
      ASCII and EBCDIC Code Chart
    Launch PDF
  Creating HTML5 Charts With FOCUS
    Introduction to FOCUS HTML5 Charts
      FOCUS Charting Overview
      Configuring FOCUS to Generate HTML5 Charts
      Chart Types
      Creating an HTML5 Chart
      Introduction to the FOCUS GRAPH FILE Command
    Understanding Chart Types
      Chart Components
      Controlling the Chart Type
      Chart Type Notes and Sample Charts
    Introduction to JSON Properties for HTML5 Charts
      FOCUS HTML5 JSON Syntax Basics
      Colors and Gradients
      Font Definitions
      Formatting Numbers
      HTML Codes in Strings
      Data Definitions
      Setting Chart Property Values
      Defining a Callback Function to Display Values in Labels
    Chart-Wide Properties
      Chart-Wide Properties Overview
      Controlling Automatic Layout of Ordinal Axis Labels
      Formatting the Chart Border
      Defining How to Handle JavaScript Errors
      Formatting the Chart Frame
      Controlling the Number of Charts in a Horizontal Row
      Showing and Formatting Data Text Labels for All Series
      Defining the Range of Data to Draw in the Chart
      Applying Depth to Charts
      Applying a Color or Gradient to the Draw Area
      Defining Group Labels
      Applying a Bevel to Risers, Markers, and Slices
      Applying a Lightening or Darkening Effect to Successive Risers
      Controlling Space Between Risers in 3D Charts
      Applying a Shadow to Risers and Markers
      Swapping Series and Group Orientation
      Swapping Series, Group, and Label Orientation
    Chart Title Properties
      Chart Title Properties Overview
      Formatting the Chart Footnote
      Formatting the Chart Subtitle
      Formatting the Chart Title
    Legend Properties
      Legend Properties Overview
      Defining the Background Color of the Legend Area
      Formatting the Legend Labels
      Generating a Line Around the Legend Area
      Controlling the Location of the Legend Markers
      Controlling the Size of Legend Markers
      Controlling the Position of the Legend
      Applying a Shadow to the Legend Area
      Formatting the Legend Title
      Controlling the Visibility of the Legend Area
      Controlling the Location of a Free Legend
    Axis Properties
      Axis Properties Overview
      Filling Alternate Segments of Axis Grid Lines With a Specified Color
      Controlling the Appearance of a Numeric Axis Base Line
      Enabling a Logarithmic Scale
      Formatting an Axis Body Line
      Defining Color Bands
      Controlling the Number of Major Grid Lines, Ticks, and Labels
      Synchronizing Y2-Axis Major Grid Lines With Y-Axis Major Grid Lines
      Controlling the Direction of a Numeric Axis
      Formatting the Axis Labels
      Formatting Major Grid Lines and Tick Marks
      Defining the Minimum and Maximum Values on a Numeric Axis
      Formatting Minor Grid Lines and Tick Marks
      Setting the Axis Mode
      Controlling the Format of Numeric Axis Labels
      Reversing the Default Axis Locations
      Formatting an Axis Title
    Series-Specific Properties
      Series-Specific Properties Overview
      Selecting Specific Series
      Selecting Specific Groups
      Defining a Border for Series Risers
      Defining Colors for Series Risers
      Deleting a Slice From a Pie Chart
      Pushing a Slice Away From a Pie Chart
      Assigning Labels to Individual Series
      Defining the Size, Border, Color, Shape, and Rotation of Series Markers
      Defining the Shapes of Risers for a Series in Bar, Line, and Area Charts
      Showing Data Text Labels for Series and Groups
      Defining a Tooltip for Risers
      Drawing a Series Trendline in Bubble and Scatter Charts
      Controlling the Visibility of Individual Series
      Assigning a Series to an Axis
    Chart-Specific Properties
      Bar, Line, and Area Chart Properties (blaProperties)
      Box Plot Properties (boxPlotProperties)
      Bullet Chart Properties (bulletProperties)
      Funnel Chart Properties (funnelProperties)
      Gauge Chart Properties (gaugeProperties)
      Histogram Chart Properties (histogramProperties)
      Parabox Chart Properties (paraboxProperties)
      Pie Chart Properties (pieProperties)
      Polar Charts (polarProperties)
      Tagcloud Chart Properties (tagcloudProperties)
      3D Chart Properties (threedProperties)
      Treemap Chart Properties (treemapProperties)
      Waterfall Chart Properties (waterfallProperties)
    Special Topics
      Animation (introAnimation)
      Annotations
      Color Modes (colorMode)
      Defining a Color Scale (colorScale)
      Drawing Error Bars (errorBars)
      Generating HTML Tooltips (htmlToolTip)
      Defining User Interaction With the Chart (interaction)
      Formatting the Mouse Over Indicator (mouseOverIndicator)
      Drawing Reference Lines (referenceLines)
      Drawing Trendlines in Bubble and Scatter Charts (trendline)
    Lightweight Map Support
      Overview of Lightweight Map Support
      Opening Map Charts in FOCUS
      Introduction to Map Properties
      Incorporating Additional Chart Properties in a Map Chart
    Launch PDF
  Installation Guides
    z/OS Installation Guide
      Introduction to FOCUS Release 7709
        Overview of FOCUS 7709
        FOCUS 7.7 Allocations
        Editing Library Members
        FAQ About FOCUS 7.7
      Installing FOCUS With ISETUP
        Introduction to ISETUP
        Installing FOCUS Using ISETUP
        ISETUP Messages
        Verifying FOCUS Installation
        Specifying Non-Standard Data Set Names
        Creating a CLIST or Batch Job to Invoke the Installed Version of FOCUS
        Generating Sample FOCUS Data Sources
        Moving the Installed Version of FOCUS to Production After Testing
      Installing the FOCUS Licensing File
        Obtaining a Personalized FLICENSE File
      Customizing FOCUS
        Changing the FOCUS Defaults
        Selecting FOCUS Default Startup Options
        Installing HiperFOCUS
        Creating Compiled FOCUS Windows Files
        Installing the Re-entrant FOCUS Modules
        Installing the IBI Subsystem
        Installing the Simultaneous Usage (SU) Facility
        Installing the IEDIT Feature
      Configuring FOCUS for National Language Support Services
        Introduction to FOCUS National Language Support (NLS) Services
        Detailed NLS Configuration Steps
        Advanced NLS Configuration Options
        Using the NLS Configuration Files
        Using the TSGU to Generate New Transcoding Tables
      Interface Installation
        Upgrading and Using an External Password Security System
      Subsystem Sample JCL and Zaps
        SUBSYSNM: Changing the Subsystem Name
        SUBSYSCP: Copying SUBSYSI Into a Separate Library
        SUBSYSIJ: Running SUBSYSI
        SUBSYSP: Sample Cataloged Procedure
      Subsystem Error Messages
        SUBSYSI Error Messages
      Link Pack Area Sample JCL
        JFSALLPA: Allocating Space for the FOCUS LPA Library
        JFSCPLPA: Copying the Reentrant Modules to FOCLPA.LOAD
        JFSDELPA: Deleting the Reentrant Modules From FOCLIB.LOAD
        JFSCPBCK: Restoring the Reentrant Modules to FOCLIB.LOAD
        JFSCPCN1: Control Statements for JFSCPLPA and JFSCPBCK
        JFSDLCN1: SCRATCH Statements Used by Job JFSDELPA
      Launch PDF
    UNIX/Linux Installation Guide
      Installing FOCUS on UNIX and Linux
        Installation Requirements
        Installation and Configuration Directories
        Installing FOCUS
        Verifying Installation
        Startup Options
        Generating a Trace
      Launch PDF
  Data Adapter Documentation
    ADABAS Interface User's Manual and Installation Guide v7.0
      Introducing the Adapter for ADABAS
        Overview of the Adapter for ADABAS
        Operating Environments
        Security
      Getting Started
        Getting Started Under z/OS
      ADABAS Overview and Mapping Considerations
        Adabas Overview
        Mapping ADABAS Structures in the Master File
      The AUTOADBS Facility
        Ease of Use Features
        Documentation in the Master and Access Files
        How to Use the AUTOADBS Facility
        Background Execution
        The Generated Descriptions
        AUTOADBS Sample Sessions
      Describing ADABAS Data Sources to FOCUS
        Overview of Master and Access Files
        Master Files for Adabas
        Access Files for Adabas
        Mapping Adabas Descriptors
        Mapping Adabas Fields That Have Special Characteristics
        Mapping Adabas Files With Variable-Length Records and Repeating Fields
        Using the GROUP Attribute to Cross-Reference Files
      Report Considerations
        Adabas Reporting Considerations
      Adapter Navigation
        Adapter Navigation
      Environment Commands
        ORDER Fields in the Indexed Field List
        Switching the Access Mode Using NOPACCESS
        NEW Synonym Setting for Superdescriptors
        Multifetch and Prefetch
        Controlling Adabas Multifetch for Join Operations
        Adabas Dynamic Database Number
        Controlling Data Retrieval Types
        LA Fields
        Overriding Default Passwords in Specific Files
        PASSRECS Setting for Adapter for Adabas
        Running in 24-bit Mode
        Optimization of the FIND Call Using Non-descriptor Fields
        UNICODE Fields in W-format
      Maintaining Adabas Data Sources
        Activating the Write Adapter
        Adabas Write Examples
        Types of Transaction Processing
        Descriptor Considerations
        Modifying Data
        Referential Integrity
        The MODIFY COMBINE Facility
        The LOOKUP Function
        The FIND Function
        Adapter Error Messages and Adabas Response Codes
        Common User Errors
      The ADABAS WRITE Data Adapter
        Activating the Adabas Write Data Adapter
        Adabas Write Examples
        Types of Transaction Processing
        Descriptor Considerations
        Modifying Data
        Referential Integrity
        The MODIFY COMBINE Facility
        The LOOKUP Function
        The FIND Function
        Data Adapter Error Messages and Adabas Response Codes
        Common User Errors
      Debugging Techniques
        Common Errors and Response Codes
        Tracing Adapter Processing
        Verifying the z/OS Environment
        Verification of Installation and AUTOADBS
        Follow-up
      Adapter Error Messages
        Messages for MVS and CMS
      Sample File Descriptions
        VEHICLES Sample Files
        EMPLOYEES Sample Files
        ACUSTOMR Sample Files
        AMKTORDR Sample Files
      Launch PDF
    CA-Datacom Data Adapter Installation Guide v7.0
    Adapter for CA-IDMS User's Manual v7.7.03
      Introduction to the Adapter for CA-IDMS
        Ease of Use
        Operating Environments
        Efficiency
        Security
        Cross-Environment Access
        Memory Requirements
      Getting Started
        Using the Adapter for CA-IDMS Under z/OS
        Accessing the Adapter for CA-IDMS
        File Descriptions
      IDMS Overview and Mapping Concepts
        Overview of IDMS
        Network Concepts
      Adapter for CA-IDMS Master Files
        Accessing File Descriptions
        Master File Attributes
        Remote Segment Descriptions
        Intra-Record Structures: The OCCURS Segment
      Adapter for CA-IDMS Access Files
        Access File Overview
        Access File Syntax
        Subschema Declaration Attributes
        Segment Attributes for Network Record-Types
        Index Declarations for Network Record-Types
        Dynamically Setting the DBNAME and DICTNAME
      Creating File Descriptions With AUTOIDMS
        AUTOIDMS Prerequisites
        How to Execute AUTOIDMS
        The Descriptions Generated by AUTOIDMS
        How to Restart AUTOIDMS
        AUTOIDMS Sample Sessions
      Adapter for CA-IDMS Reporting Techniques
        The Retrieval Subtree
        Retrieval Sequence
        Effects of Screening Conditions on Retrieval
        Retrieving Short Paths
        File Inversion
        The JOIN Command
      CA-IDMS Record Retrieval Intervals
        Entry Segment Retrieval of Network Records
        Descendant Segment Retrieval of Network Records
        Retrieving LRF-Based Records
      Error Messages and Troubleshooting
        Accessing Adapter Error Messages
        Generating Error Messages Online
        Common Errors and Response Codes
      Adapter for CA-IDMS Samples
        Schema Sample: EMPSCHM
        Network Subschema Sample: EMPSS01
        Master File for Network Sample
        Access File for Network Sample
        Master File for LRF Sample
        Access File for LRF Sample
        Sample of a Partial LRF Record
        EMPFULL Master File
        EMPFULL Access File
        EMPFILE Master File
        EMPFILE Access File
        Sample CA-IDMS Report
      Tracing Adapter Processing
        Using Traces
        Activating, Deactivating, and Querying Traces
        Allocating Traces
        Sample Traces
      Glossary
      Launch PDF
    Adapter for CA-IDMS/DB Installation Guide v7.7.03
      Before You Begin
        Pre-Installation Requirements
        Maintenance
      z/OS Installation Instructions
        Installing the Adapter for IDMS on z/OS
        Installing the AUTOIDMS Facility
        Central Version or Local Mode Access to IDMS
      Launch PDF
    Adapter for Db2 Installation Guide v7.7.06
      Before You Begin
        Pre-Installation Requirements
        Maintenance
        Restricting the Use of Direct SQL Passthru Commands
      Installing the Adapter for Db2 to Use CLI on z/OS
        Create Configuration Files for Access to Db2 Using CLI
        Create a Procedure to Access FOCUS and Verify Adapter Installation
      Installing the Adapter for Db2 to Use CAF on z/OS
        Choose an Installation Option
        Create the BIND Member and Submit the BIND Job
        Identify the Application Plan and Subsystem ID to FOCUS
        Grant Access to the Application Plan
        Grant Access to User Tables
        Create a Procedure to Access FOCUS and Verify Adapter Installation
      Installing the Adapter for Db2 to Use CLI on UNIX
        Creating Configuration Files for Access to Db2 on UNIX Using CLI
        Verifying Adapter Installation
      Launch PDF
    IMS/DB Interface User's Manual and Installation Guide v7.0
      Introduction
        Report Processing
        Environments
        Supported IMS Access Methods
        Ease of Use
        Efficiency
        Security
      IMS Overview and Mapping Concepts
        Overview of IMS Concepts
        Mapping IMS Elements to FOCUS
        Mapping IMS and FOCUS Relationships
      Creating FOCUS Descriptions
        The FOCPSB
        The Master File
        The Access File (DBCTL)
        Creating File Descriptions Using AUTOIMS
      Reporting Efficiencies
        Adapter Optimization
        DL/I Calls
        Record Selection Tests
        The Dynamic JOIN Command
        Retrieval of Unique Segments
        JOINs With Selection Criteria
      Environments
        Fast Path Considerations
        The PSB PROCOPT to Use With the Adapter
        Access to IMS Through DBCTL
        Access to IMS Through the XMI Server
        Access to IMS With FOCUS Loaded by the Region Controller
        Summary Chart
        Environment Switching
      Security
        DBCTL Security
        XMI Server Security
      Sample File Descriptions
        DI21PART Sample
        PATDB01 Sample
        EMPDB Sample
        AIHDAM Sample
      Tracing Adapter Processing
        DLITRACE
        Adapter Traces
      Release Dependent Adapter Features
        The SET IMS Command
        Adapter Environmental Commands
        Describing a Secondary Index Without Auto Index Selection
        Fixed Format FOCPSBs
        Accessing the BMP Extension
      Installation Instructions
        Pre-Installation and Maintenance Requirements
        Basic Installation Steps
        DBCTL Instructions
        XMI Server Instructions
        Run-time Requirements
      Interface Errors and Messages
        Interface Messages
        Common User Errors
      Glossary
      Launch PDF
    Millennium Interface User's Manual and Installation Guide v7.0
    Adapter for Oracle Installation Guide v7.7
      Before You Begin
        Pre-Installation Requirements
        Maintenance
      Installing the Adapter for Oracle
        Create the Adapter Configuration Files
        Identify the Oracle SID
        Grant Access to Oracle Tables and Views
        Create a CLIST or Job to Invoke FOCUS and Verify Adapter Installation
        Upgrading From a FOCUS Release Prior to 7.7
      Launch PDF
    Relational Data Adapter User's Manual v7.7
      Introduction to Adapters for Relational Data Sources
        Adapter Capabilities
        FOCUS and RDBMS Interaction
        The Adapter as an RDBMS Application
        Environment
        Ease of Use
        Efficiency
        Security
      Invoking Relational Adapters
        Getting Started Under z/OS
        Issuing Commands
      Connection, Authentication, and Security
        SQL GRANT and REVOKE
        DB2 Security
        Teradata Login Security
        Oracle Connection Attributes
        FOCUS DBA Security
      Describing Tables to FOCUS
        Creating Master and Access Files
        Master Files
        Access Files
        The OCCURS Segment
      Multi-Table Structures
        Types of Embedded Joins
        Advantages of Multi-table Structures
        Creating a Multi-table Structure
        Multi-field Embedded Equijoins
      Automated Procedures
        Creating File Descriptions
        AUTODB2
        AUTODBC
        Results of the Master File Generation Facilities
        Creating Tables: The CREATE FILE Command
      The Adapter Optimizer
        Optimizing Requests
        Optimization Logic
        Optimizing Record Selection and Projection
        Optimizing Joins
        Optimizing Sorts
        Optimizing Aggregation
        Optimizing DEFINE Fields
        DEFINE FUNCTION Optimization
        Optimizing Function Calls
        The FOCUS EXPLAIN Utility (DB2 and Teradata)
      Advanced Reporting Techniques
        FOCUS and SQL Similarities
        The TABLEF Command
        Creating Tables Using the HOLD Command
        Using the Dynamic JOIN Command
        Controlling Outer Join Optimization
        Missing Rows of Data in Cross-referenced Tables
        JOIN Utilities
        Implementing Search Limits
        Array Blocking for SELECT Requests
        Multiple Retrieval Paths
      Direct SQL Passthru
        Direct SQL Passthru Advantages
        Invoking Direct SQL Passthru
        Issuing Commands and Requests
        Parameterized SQL Passthru
      Controlling Connection Scope
        Invoking Actions in Response to Events
        Understanding Actions
        Action and Event Combinations
        Combinations of SET AUTOaction Commands
        Establishing Different Types of FOCUS Sessions
      Adapter Commands
        Issuing Adapter Commands
        Querying Adapter Parameter Settings
        Parameters That Apply to Multiple Adapters
        Parameters That Apply to DB2 Only
        Parameters That Apply to Teradata Only
        Parameters That Apply to IDMS/SQL Only
        Parameters That Apply to Oracle Only
        Parameters That Apply to MODIFY Only
        Adapter Dialogue Manager Variables
      Maintaining Tables With FOCUS
        Overview of Data Source Maintenance Facilities
        Modifying Data
        The MATCH Command
        The NEXT Command
        INCLUDE, UPDATE, and DELETE Processing
        RDBMS Transaction Control Within MODIFY
        Referential Integrity
        The MODIFY COMBINE Facility
        The LOOKUP Function
        The FIND Function
        Isolation Levels and Locks
        Issuing SQL Commands in MODIFY
        Change Verify Protocol: AUTOCOMMIT ON CRTFORM
        Loading Tables Faster: The MODIFY Fastload Facility
      Static SQL (DB2)
        Static SQL Overview
        Static SQL Requirements
        Creating a Static Procedure for DB2
        Plan Management in DB2
        Resource Restrictions
      Additional Topics
        Status Return Variable: &RETCODE
        Standard FOCUS and Adapter Differences
        Adapter for DB2 Stored Procedure Support (CLI Only)
        Adapter for Oracle Stored Procedure Support
        Adapter for Teradata Stored Procedure and Macro Support
        Default Date Considerations
        Remote Segment Descriptions
        Long Field Name Considerations
        Determining DB2 Decimal Notation at Run-time
        CALLDB2: Invoking Subroutines Containing Embedded SQL
        The DB2 Distributed Data Facility
        DB2 DRDA Support
        Read-only Access to IMS Data From DB2 MODIFY Procedures
      SQL Codes and Adapter Messages
        Common SQL Return Codes for DB2
        Common DBC Return Codes for Teradata
        Common User Errors and Corrections
        Accessing Adapter Messages
      File Descriptions and Tables
        Samples Overview
        ADDRESS Sample
        COURSE Sample
        DEDUCT Sample
        EMPINFO Sample
        FUNDTRAN Sample
        PAYINFO Sample
        SALINFO Sample
        ECOURSE Sample
        EMPADD Sample
        EMPFUND Sample
        EMPPAY Sample
        SALDUCT Sample
        SALARY Sample
        DPBRANCH Sample
        DPINVENT Sample
        DPVENDOR Sample
      Tracing Adapter Processing
        Available Traces
        Activating Trace Components
        Activating the Trace Destination
        Deactivating Trace Components
        Trace Activation and Deactivation Examples
        Querying Traces
        Allocating FSTRACE
      Launch PDF
    Adapter for Teradata Installation Guide v7.0
      Before You Begin
        Pre-Installation Requirements
        Maintenance
      Installing the Adapter for Teradata
        Create the Adapter Configuration Files
        Grant Access to Teradata Tables and Views
        Create a CLIST or Job to Invoke FOCUS and Verify Adapter Installation
        Upgrading From a FOCUS Release Prior to 7.7
      Launch PDF
    VSAM Write Data Adapter User's Manual v7.0
  Supplementary Documentation
    Active Technologies User Guide
      Active Technologies
        Active Technologies Report Overview
        Product Requirements for Using Active Technologies
      Creating Active Technologies Components With FOCUS Syntax
        Creating an Active Technologies Report
      Using an Active Technologies Report
        Navigating Between Pages
        Filtering and Highlighting Data
        Calculating Data
        Sorting Data
        Using Tab Window Navigation
        Controlling Report Display
        Using Data Visualization
        Viewing Data as a Chart
        Using the Grid Tool
        Using the Chart/Rollup Tool
        Using the Pivot Tool
        Saving, Exporting, and E-mailing Active Technologies Reports
      Launch PDF
    Simultaneous Usage Reference Manual for z/OS v7.7.03
      Introduction
        What is Simultaneous Usage?
        How SU Processes Transactions Without COMMIT and ROLLBACK
        The Multi-Threaded SU Reporting Facility
      Operating the FOCUS Database Server
        Starting a FOCUS Database Server
        Using the SU Profile
        Stopping the FOCUS Database Server
        Logging FOCUS Database Server Activity in HLIPRINT
        Calculating Memory Requirements for the FOCUS Database Server
        Protecting FOCUS Databases: the FOCUS/SU Security Interface (SUSI)
      SU and the FOCUS Language
        Using Centrally Controlled Databases
        Using the Multi-Threaded SU Reporting Facility
        Messages From the FOCUS Database Server
        Using MODIFY or Maintain With SU
        Protecting FOCUS Database Server Transactions
        Performance Considerations
        SU Profile Commands for COMMIT and ROLLBACK
      SU and the Host Language Interface (HLI)
        Gaining Access to Centrally Controlled Databases
        The File Communication Block (FCB)
        Closing Centrally Controlled Databases
        Writing Transactions From the Buffer
        Using HLI Control Commands
      Improving Performance
        Storing Central Databases On Disk
        Workload Balancing Techniques for Improving Performance
        Keeping Master Files Open on the FOCUS Database Server
      FOCUS Error Messages
        Accessing Errors Files
        Displaying Messages Online
        Messages and Descriptions
      HLI Status Codes Returned in FCB Word 24
        Status Codes and Explanations
      Launch PDF
Release 7.7.07
  Summary of New Features
    Creating an Active Technologies Report
      Features Added in FOCUS 7.7.03
    Reporting Enhancements
      Features Added in FOCUS 7.7.07
      Features Added in FOCUS 7.7.06
      Features Added in FOCUS 7.7.03
    General Enhancements
      Features Added in FOCUS 7.7.07
      Features Added in FOCUS 7.7.06
      Features Added in FOCUS 7.7.03
    Database Enhancements
      Features Added in FOCUS 7.7.07
      Features Added in FOCUS 7.7.06
      Features Added in FOCUS 7.7.03
    Output Format Enhancements
      Features Added in FOCUS 7.7.07
      Features Added in FOCUS 7.7.06
      Features Added in FOCUS 7.7.03
    Adapter Enhancements
      Features Added in FOCUS 7.7.07
      Features Added in FOCUS 7.7.06
      Features Added in FOCUS 7.7.03
    MODIFY Enhancements
      Features Added in FOCUS 7.7.03
    Raised Limits
      Features Added in FOCUS 7.7.07
      Features Added in FOCUS 7.7.06
      Features Added in FOCUS 7.7.03
    Launch PDF
  Overview and Operating Environments
    Introduction to FOCUS
      What Is FOCUS?
      Who Uses FOCUS?
      FOCUS Language
      Terminal Operator Environment
      FOCUS Concepts
      Features for End Users
      Features for Application Developers
      FOCUS User Aids
      Using Regular Expressions
    Editing Files With TED
      Entering TED
      TED Features
      Creating a File
      TYPE and EDIT Functions
      Accessing the HELP File
      Editing FOCEXECs
      Personalizing TED: PROFILE and PFnn
      Syntax Summary
    Invoking the ISPF Editor on z/OS
      Editing Files With IEDIT
      Installing IEDIT
      Using IEDIT
    Terminal Operator Environment
      Illustrating the Terminal Operator Environment
      Invoking the Terminal Operator Environment
      Activating a Window
      Types of Windows
      Window Commands
    UNIX and Linux Guide to Operations
      How FOCUS Interacts With UNIX
      Overview of a FOCUS Session
      Defining the FOCUS Operating Environment
      Defining and Allocating FOCUS Files
      FOCUS in the UNIX and Linux Environments
      Sending Email From a Procedure
      Configuring, Starting, and Stopping the FOCUS Database Server
    z/OS Guide to Operations
      Referencing Files
      Application Files
      Window Files
      Extract Files
      Work Files
      Enabling Use of the zIIP Specialty Engine
      Calling FOCUS Under TSO
      FOCUS Facilities Under TSO
      TSO and FOCUS Interaction
      DYNAM Command
    Using FOCUS as a Client to a Reporting Server
      Client/Server Computing and Middleware
      Using FOCUS to Access Data on a Server
      Remote Execution
      Distributed Execution
    Logging FOCUS Usage: FOCLOG
      Overview of FOCLOG
      Implementing FOCLOG
      Information Captured in the FOCLOG File
      FOCLOG Reporting
    Configuring FOCUS for National Language Support Services
      Introduction to FOCUS National Language Support (NLS) Services
      Detailed NLS Configuration Steps
      Advanced NLS Configuration Options
      Using the NLS Configuration Files
      Using the TSGU to Generate New Transcoding Tables
    Unicode Support
      Unicode Encoding Standards
      Accessing Unicode Data
      Selecting, Reformatting, and Manipulating Characters
      Sort Order Under Unicode
      Added Unicode Support for Master Files, Data Files, and Application Directory Names
      Unicode PDF Output
    Launch PDF
  Creating Reports
    Creating Tabular Reports
      Requirements for Creating a Report
      Creating a Report Request
      Developing Your Report Request
      Including Display Fields in a Report Request
      Referring to Fields in a Report Request
    Displaying Report Data
      Using Display Commands in a Request
      Displaying Individual Values
      Adding Values
      Counting Values
      Expanding Byte Precision for COUNT and LIST
      Maximum Number of Display Fields Supported in a Request
      Manipulating Display Fields With Prefix Operators
      Changing the Format of a Report Column
    Viewing and Printing Report Output
      Displaying Reports in HotScreen
      Scrolling a Report
      Displaying Reports in the Panel Facility
      Printing Reports
      Displaying Reports in the Terminal Operator Environment
    Sorting Tabular Reports
      Sorting Tabular Reports Overview
      Sorting Rows
      Sorting Columns
      Reformatting Sort Fields
      Manipulating Display Field Values in a Sort Group
      Creating a Matrix Report
      Controlling Collation Sequence
      Specifying the Sort Order
      Ranking Sort Field Values
      Grouping Numeric Data Into Ranges
      Restricting Sort Field Values by Highest/Lowest Rank
      Sorting and Aggregating Report Columns
      Hiding Sort Values
      Sorting With Multiple Display Commands
      Improving Efficiency With External Sorts
      Hierarchical Reporting: BY HIERARCHY
    Selecting Records for Your Report
      Selecting Records Overview
      Choosing a Filtering Method
      Selections Based on Individual Values
      Selection Based on Aggregate Values
      Using Compound Expressions for Record Selection
      Using Operators in Record Selection Tests
      Types of Record Selection Tests
      Selections Based on Group Key Values
      Setting Limits on the Number of Records Read
      Selecting Records Using IF Phrases
      Reading Selection Values From a File
      Assigning Screening Conditions to a File
      VSAM Record Selection Efficiencies
    Creating Temporary Fields
      What Is a Temporary Field?
      Defining a Virtual Field
      Creating a Calculated Value
      Assigning Column Reference Numbers
      Calculating Trends and Predicting Values With FORECAST
      Calculating Trends and Predicting Values With Multivariate REGRESS
      Using Text Fields in DEFINE and COMPUTE
      Creating Temporary Fields Independent of a Master File
    Including Totals and Subtotals
      Calculating Row and Column Totals
      Including Section Totals and a Grand Total
      Including Subtotals
      Recalculating Values for Subtotal Rows
      Summarizing Alphanumeric Columns
      Manipulating Summary Values With Prefix Operators
      Combinations of Summary Commands
      Producing Summary Columns for Horizontal Sort Fields
      Performing Calculations at Sort Field Breaks
      Suppressing Grand Totals
      Conditionally Displaying Summary Lines and Text
    Using Expressions
      Using Expressions in Commands and Phrases
      Types of Expressions
      Creating a Numeric Expression
      Creating a Date Expression
      Creating a Date-Time Expression
      Creating a Character Expression
      Creating a Variable Length Character Expression
      Creating a Logical Expression
      Creating a Conditional Expression
    Customizing Tabular Reports
      Producing Headings and Footings
      Creating Paging and Numbering
      Ignoring ON Phrases for Absent Fields
      Suppressing Fields: SUP-PRINT or NOPRINT
      Reducing a Report's Width: FOLD-LINE and OVER
      Positioning Columns: IN
      Separating Sections of a Report: SKIP-LINE and UNDER-LINE
      Controlling Column Title Underlining Using a SET Command
      Controlling Column Spacing: SET SPACES
      Creating New Column Titles: AS
      Customizing Column Names: SET QUALTITLES
      Column Title Justification
      Customizing Reports With SET Parameters
      Conditionally Formatting Reports With the WHEN Clause
      Controlling the Display of Empty Reports
      Controlling the Generation of Blank Lines in Report Output
    Saving and Reusing Your Report Output
      Saving Your Report Output
      Creating a HOLD File
      Holding Report Output in FOCUS Format
      Controlling Attributes in HOLD Master Files
      Keyed Retrieval From HOLD Files
      Saving and Retrieving HOLD Files
      Using DBMS Temporary Tables as HOLD Files
      Creating SAVE and SAVB Files
      Creating a PCHOLD File
      Choosing Output File Formats
      Using Text Fields in Output Files
      Creating a Delimited Sequential File
      Saving Report Output in INTERNAL Format
      Creating a Subquery or Sequential File With HOLD FORMAT SQL_SCRIPT
      Creating a Structured HOLD File
    Styling Reports
      Introduction to Styled Reports
      Choosing an Output Format
      Styling Reports With StyleSheets
      Creating a Styled Report
      Styling the Page Layout
      Specifying Font Format in a Report
      Identifying Report Components
      Reusing FOCUS StyleSheet Declarations With Macros
      FOCUS StyleSheet Attribute Inheritance
      Conditionally Formatting in a StyleSheet
    Cascading Style Sheets
      What Are Cascading Style Sheets?
      Cascading Style Sheets and Precedence Rules
      Cascading Style Sheet Formatting Statements: Rules and Classes
      Generating an Internal Cascading Style Sheet
      Working With External Cascading Style Sheets
      Combining CSS Styling With Other Formatting Methods
      Linking to an External Cascading Style Sheet
      FAQ About Using External Cascading Style Sheets
      Troubleshooting Cascading Style Sheets
    Choosing a Styled Display Format
      Report Display Formats
      Preserving Leading and Internal Blanks in Report Output
      Using Web Display Format: HTML
      Using Print Display Formats: PDF, PS
      Using Excel Display Formats: XLSX, EXL2K, EXL97, EXCEL
      Using PowerPoint Display Format
      Using PowerPoint PPTX Display Format
    Advanced StyleSheet Features
      Positioning a Report Component
      Controlling Column Title Underlining Using a StyleSheet Attribute
      Arranging Pages and Columns on a Page
      Wrapping and Justifying Report Components
      Alignment of Fields in Reports Using OVER in PDF Report Output
      Aligning Heading and Footing Elements
      Support for Repeated Headings and Footings on Panels in PDF Report Output
      Adding Grids and Borders
      Displaying Superscripts On Data, Heading, and Footing Lines
      Adding an Image to a Report
      Linking in a Report
      Working With Mailing Labels and Multi-Pane Pages
    Handling Records With Missing Field Values
      Irrelevant Report Data
      Missing Field Values
      Handling a Missing Segment Instance
      Setting the NODATA Character String
    Joining Data Sources
      Types of Joins
      How the JOIN Command Works
      Creating an Equijoin
      Using a Conditional Join
      Full Outer Joins for Relational Data Sources
      Adding a New Fact To Multi-Fact Synonyms: JOIN AS_ROOT
      Joining From a Multi-Fact Synonym
      Invoking Context Analysis for a Star Schema With a Fan Trap
      Adding DBA Restrictions to the Join Condition: SET DBAJOIN
      Preserving Virtual Fields During Join Parsing
      Displaying Joined Structures
      Clearing Joined Structures
    Merging Data Sources
      Merging Data
      Types of MATCH Processing
      MATCH Processing With Common High-Order Sort Fields
      MATCH Processing Without a Common High-Order Sort Field
      Fine-Tuning MATCH Processing
      Universal Concatenation
      Merging Concatenated Data Sources
      Cartesian Product
    Improving Report Processing
      Rotating a Data Structure for Enhanced Retrieval
      Optimizing Retrieval Speed for FOCUS Data Sources
      Automatic Indexed Retrieval
      Data Retrieval Using TABLEF
      Preserving the Internal Matrix of Your Last Report
      Compiling Expressions
    Creating Financial Reports With Financial Modeling Language (FML)
      Reporting With FML
      Creating Rows From Data
      Supplying Data Directly in a Request
      Performing Inter-Row Calculations
      Referring to Rows in Calculations
      Referring to Columns in Calculations
      Referring to Cells in Calculations
      Using Functions in RECAP Calculations
      Inserting Rows of Free Text
      Adding a Column to an FML Report
      Creating a Recursive Model
      Reporting Dynamically From a Hierarchy
      Customizing a Row Title
      Formatting an FML Report
      Suppressing the Display of Rows
      Saving and Retrieving Intermediate Report Results
      Creating HOLD Files From FML Reports
    Creating a Free-Form Report
      Creating a Free-Form Report
      Designing a Free-Form Report
    Creating Graphs: GRAPH
      Introduction
      Command Syntax
      Graph Forms
      Adjusting Graph Elements
      Special Topics
      Special Graphics Devices
      Command and SET Parameter Summary
    Using SQL to Create Reports
      Supported and Unsupported SQL Statements
      Using SQL Translator Commands
      SQL Translator Support for Date, Time, and Timestamp Fields
      Index Optimized Retrieval
      TABLEF Optimization
      SQL INSERT, UPDATE, and DELETE Commands
    Master Files and Diagrams
      Creating Sample Data Sources
      EMPLOYEE Data Source
      JOBFILE Data Source
      EDUCFILE Data Source
      SALES Data Source
      PROD Data Source
      CAR Data Source
      LEDGER Data Source
      FINANCE Data Source
      REGION Data Source
      COURSES Data Source
      EMPDATA Data Source
      EXPERSON Data Source
      TRAINING Data Source
      COURSE Data Source
      JOBHIST Data Source
      JOBLIST Data Source
      LOCATOR Data Source
      PERSINFO Data Source
      SALHIST Data Source
      PAYHIST File
      COMASTER File
      VIDEOTRK, MOVIES, and ITEMS Data Sources
      VIDEOTR2 Data Source
      Gotham Grinds Data Sources
      Century Corp Data Sources
    Error Messages
      Accessing Error Files
      Displaying Messages
    Table Syntax Summary and Limits
      TABLE Syntax Summary
      TABLEF Syntax Summary
      MATCH Syntax Summary
      FOR Syntax Summary
      TABLE Limits
    Writing User-Coded Programs to Create HOLD Files
      Arguments Used in Calls to Programs That Create HOLD Files
    Launch PDF
  Describing Data
    Understanding a Data Source Description
      A Note About Data Source Terminology
      What Is a Data Source Description?
      How an Application Uses a Data Source Description
      What Does a Master File Describe?
      Creating a Data Source Description
      Naming a Master File
      What Is in a Master File?
    Identifying a Data Source
      Identifying a Data Source Overview
      Specifying a Data Source Name: FILENAME
      Identifying a Data Source Type: SUFFIX
      Providing Descriptive Information for a Data Source: REMARKS
      Specifying a Physical File Name: DATASET
    Describing a Group of Fields
      Defining a Single Group of Fields
      Identifying a Logical View: Redefining a Segment
      Relating Multiple Groups of Fields
      Logical Dependence: The Parent-Child Relationship
      Logical Independence: Multiple Paths
      Cardinal Relationships Between Segments
      One-to-One Relationship
      One-to-Many Relationship
      Many-to-Many Relationship
      Recursive Relationships
      Relating Segments From Different Types of Data Sources
      Rotating a Data Source: An Alternate View
    Describing an Individual Field
      Field Characteristics
      The Field Name: FIELDNAME
      The Field Synonym: ALIAS
      The Displayed Data Type: USAGE
      The Stored Data Type: ACTUAL
      Null or MISSING Values: MISSING
      Describing an FML Hierarchy
      Validating Data: ACCEPT
      Online Help Information: HELPMESSAGE
      Alternative Report Column Titles: TITLE
      Documenting the Field: DESCRIPTION
      Multilingual Metadata
      Describing a Virtual Field: DEFINE
      Parameterizing Master and Access File Values Using Variables
      Describing a Filter: FILTER
      Describing a Calculated Value: COMPUTE
      Converting Alphanumeric Dates to FOCUS Dates
    Describing a Sequential, VSAM, or ISAM Data Source
      Sequential Data Source Formats
      Standard Master File Attributes for a Sequential Data Source
      Standard Master File Attributes for a VSAM or ISAM Data Source
      Describing a Multiply Occurring Field in a Free-Format Data Source
      Describing a Multiply Occurring Field in a Fixed-Format, VSAM, or ISAM Data Source
      Redefining a Field in a Non-FOCUS Data Source
      Extra-Large Record Length Support
      Describing Multiple Record Types
      Combining Multiply Occurring Fields and Multiple Record Types
      Establishing VSAM Data and Index Buffers
      Using a VSAM Alternate Index
      Describing a Token-Delimited Data Source
      Reading a Complex Data Source With a User-Written Procedure
    Describing a FOCUS Data Source
      Types of FOCUS Data Sources
      Designing a FOCUS Data Source
      Describing a Single Segment
      GROUP Attribute
      ACCEPT Attribute
      INDEX Attribute
      Describing a Partitioned FOCUS Data Source
      Multi-Dimensional Index (MDI)
    Defining a Join in a Master File
      Join Types
      Static Joins Defined in the Master File: SEGTYPE = KU and KM
      Using Cross-Referenced Descendant Segments: SEGTYPE = KL and KLU
      Dynamic Joins Defined in the Master File: SEGTYPE = DKU and DKM
      Comparing Static and Dynamic Joins
      Joining to One Cross-Referenced Segment From Several Host Segments
    Checking and Changing a Master File: CHECK
      Checking a Data Source Description
      CHECK Command Display
      PICTURE Option
      HOLD Option
    Accessing a FOCUS Data Source: USE
      USE Command
      Specifying a Non-Default File ID
      Identifying New Data Sources to FOCUS
      Accessing Data Sources in Read-Only Mode
      Concatenating Data Sources
      Accessing Simultaneous Usage Data Sources
      Displaying the USE Options in Effect
    Providing Data Source Security: DBA
      Introduction to Data Source Security
      Implementing Data Source Security
      Specifying an Access Type: The ACCESS Attribute
      Limiting Data Source Access: The RESTRICT Attribute
      Controlling the Source of Access Restrictions in a Multi-file Structure
      Placing Security Information in a Central Master File
      Summary of Security Attributes
      Hiding Restriction Rules: The ENCRYPT Command
      FOCEXEC Security
      Program Accounting/Resource Limitation
      Absolute File Integrity
    Master Files and Diagrams
      Creating Sample Data Sources
      EMPLOYEE Data Source
      JOBFILE Data Source
      EDUCFILE Data Source
      SALES Data Source
      PROD Data Source
      CAR Data Source
      LEDGER Data Source
      FINANCE Data Source
      REGION Data Source
      COURSES Data Source
      EMPDATA Data Source
      EXPERSON Data Source
      TRAINING Data Source
      COURSE Data Source
      JOBHIST Data Source
      JOBLIST Data Source
      LOCATOR Data Source
      PERSINFO Data Source
      SALHIST Data Source
      PAYHIST File
      COMASTER File
      VIDEOTRK, MOVIES, and ITEMS Data Sources
      VIDEOTR2 Data Source
      Gotham Grinds Data Sources
      Century Corp Data Sources
    Error Messages
      Accessing Error Files
      Displaying Messages
    User Exits for a Non-FOCUS Data Source
      Dynamic and Re-Entrant Private User Exit of the FOCSAM Interface
      User-coded Data Access Modules
      Re-Entrant VSAM Compression Exit: ZCOMP1
    Rounding in FOCUS
      Data Storage and Display
      Rounding in Calculations and Conversions
    File Description Attribute Summary
      Overview of File Descriptions
      Master File Attributes
      Access File Attributes
      Related Commands
    Launch PDF
  Developing Applications
    Customizing Your Environment
      The SET Command
      Types of SET Parameters
      SET Parameter Syntax
    Managing Applications
      What Is an Application?
      Application Commands Overview
      Search Path Management Commands
      Application and File Management Commands
      Output Redirection Commands
      Application Metadata Commands and Catalog Metadata
      APP HELP
      Accessing Metadata and Procedures
      Allocating Temporary Files
      Temporary Disk Space Usage
    Testing and Debugging With Query Commands
      Using Query Commands
      ? COMBINE
      ? DEFINE
      ?F
      ? FDT
      ?FF
      ? FILE
      ? FUNCTION
      ? HOLD
      ? JOIN
      Displaying a Multi-Dimensional Index (MDI)
      ? LANG
      Displaying LET Substitutions
      Displaying Information About Loaded Files
      Displaying Explanations of Error Messages
      Displaying PF Key Assignments
      ? RELEASE
      ? SET
      ? SET NOT
      ? SET GRAPH
      ? SITECODE
      ? STAT
      ? STYLE
      ? SU
      ? USE
      Displaying Global Variable Values
      Reporting Dynamically From System Tables
    Managing Flow of Control in an Application
      Uses for Dialogue Manager
      Dialogue Manager Processing
      Creating a Procedure
      Executing and Terminating a Procedure
      Navigating a Procedure
      Using Variables in a Procedure
      Supplying and Verifying Values for Variables
      Manipulating and Testing Variables
      Using Numeric Amper Variables in Functions
      Debugging a Procedure
      Issuing an Operating System Command
      Dialogue Manager Quick Reference
    Defining a Word Substitution
      The LET Command
      Variable Substitution
      Null Substitution
      Multiple-Line Substitution
      Recursive Substitution
      Using a LET Substitution in a COMPUTE or DEFINE Command
      Checking Current LET Substitutions
      Interactive LET Query: LET ECHO
      Clearing LET Substitutions
      Saving LET Substitutions in a File
      Assigning Phrases to Function Keys
    Enhancing Application Performance
      FOCUS Facilities
      Loading a File
      Compiling a MODIFY Request
      Saving Master Files in Memory for Reuse
      Accessing a FOCUS Data Source
    Working With Cross-Century Dates
      When Do You Use the Sliding Window Technique?
      The Sliding Window Technique
      Applying the Sliding Window Technique
      Defining a Global Window With SET
      Defining a Dynamic Global Window With SET
      Querying the Current Global Value of DEFCENT and YRTHRESH
      Defining a File-Level or Field-Level Window in a Master File
      Defining a Window for a Virtual Field
      Defining a Window for a Calculated Value
      Additional Support for Cross-Century Dates
    Euro Currency Support
      Integrating the Euro Currency
      Converting Currencies
      Creating the Currency Data Source
      Identifying Fields That Contain Currency Data
      Activating the Currency Data Source
      Processing Currency Data
      Querying the Currency Data Source in Effect
      Punctuating Numbers
      Selecting an Extended Currency Symbol
    Designing Windows With Window Painter
      Introduction
      Window Files and Windows
      Integrating Windows and the FOCEXEC
      Tutorial: A Menu-Driven Application
      Window Painter Screens
      Transferring Window Files
    Master Files and Diagrams
      Creating Sample Data Sources
      EMPLOYEE Data Source
      JOBFILE Data Source
      EDUCFILE Data Source
      SALES Data Source
      PROD Data Source
      CAR Data Source
      LEDGER Data Source
      FINANCE Data Source
      REGION Data Source
      COURSES Data Source
      EMPDATA Data Source
      EXPERSON Data Source
      TRAINING Data Source
      COURSE Data Source
      JOBHIST Data Source
      JOBLIST Data Source
      LOCATOR Data Source
      PERSINFO Data Source
      SALHIST Data Source
      PAYHIST File
      COMASTER File
      VIDEOTRK, MOVIES, and ITEMS Data Sources
      VIDEOTR2 Data Source
      Gotham Grinds Data Sources
      Century Corp Data Sources
    Error Messages
      Accessing Error Files
      Displaying Messages
    Launch PDF
  Maintaining Databases
    Introduction to Maintain
      Using Maintain to Manage Data
      Accessing Data Sources
      Working With Maintain Procedures
      Maintain Performance
    Maintain Concepts
      Set-based Processing
      Controlling the Flow of a Procedure
      Executing Other Maintain Procedures
      Winforms and Event-driven Processing
      Reading From a Data Source
      Writing to a Data Source
      Transaction Processing
      Defining a Transaction
      Ensuring Transaction Integrity for FOCUS Data Sources
      Classes and Objects
    Tutorial: Coding a Procedure
      Content of the Tutorial
      Two Ways to Follow the Tutorial
      Building the Sample Application
      Step 1: Beginning and Ending the Procedure
      Step 2: Selecting Records
      Step 3: Collecting Transaction Values
      Step 4: Writing Transactions to the Data Source
      Step 5: Issuing the Procedure
      Step 6: Browsing Through a Stack and Using Triggers
      Step 7: Displaying and Editing an Entire Stack in a Winform
    Tutorial: Painting a Procedure
      Step 1: Creating a New Winform
      Defining the Winform's Properties
      Saving Your Work and Exiting
      Step 2: Adding Fields
      Step 3: Adding a Grid
      Step 4: Adding Text
      Step 5: Adding Buttons and Triggers
      Step 6: Coding Triggers and Other Functions
      Step 7: Running the Maintain Request
    Using the Winform Painter
      Using the Painter
      Files Used by the Winform Painter
      Saving and Exiting Your Work
      Using the Design Screen
      File Menu
      Edit Menu
      Forms Menu
      Objects Menu
      Cases Menu
      Help Menu
      Using Triggers, Button Short Cuts, and System Actions
    Language Rules Reference
      Case Sensitivity
      Specifying Names
      Reserved Words
      What Can You Include in a Procedure?
      Multi-line Commands
      Terminating a Command's Syntax
      Adding Comments
    Command Reference
      Language Summary
      BEGIN
      CALL
      CASE
      COMMIT
      COMPILE
      COMPUTE
      COPY
      DECLARE
      DELETE
      DESCRIBE
      END
      EX
      FocCount
      FocCurrent
      FocError
      FocErrorRow
      FocFetch
      FocIndex
      GOTO
      IF
      INCLUDE
      INFER
      MAINTAIN
      MATCH
      MNTCON CDN_FEXINPUT
      MNTCON COMPILE
      MNTCON EX
      MNTCON MATCH_CASE
      MNTCON RUN
      MODULE
      NEXT
      ON MATCH
      ON NEXT
      ON NOMATCH
      ON NONEXT
      PERFORM
      RECOMPILE
      REPEAT
      REPOSITION
      REVISE
      ROLLBACK
      RUN
      SAY
      SET
      SetCursor
      SetScroll
      STACK CLEAR
      STACK SORT
      SYS_MGR
      SYS_MGR.DBMS_ERRORCODE
      SYS_MGR.ENGINE
      SYS_MGR.FOCSET
      SYS_MGR.GET_INPUTPARAMS_COUNT
      SYS_MGR.GET_NAMEPARM
      SYS_MGR.GET_POSITIONPARM
      SYS_MGR.PRE_MATCH
      TYPE
      UPDATE
      Winform
    Expressions Reference
      Types of Expressions You Can Write
      Writing Numeric Expressions
      Writing Date Expressions
      Writing Date-Time Expressions
      Writing Alphanumeric Expressions
      Writing Logical Expressions
      Writing Conditional Expressions
      Handling Null Values in Expressions
    Modifying Data Sources With MODIFY
      Introduction
      Examples of MODIFY Processing
      Additional MODIFY Facilities
      Describing Incoming Data
      Special Responses
      Entering Text Data Using TED
      Reading Selected Portions of Transaction Data Sources: The START and STOP Statements
      Modifying Data: MATCH and NEXT
      Computations: COMPUTE and VALIDATE
      Messages: TYPE, LOG, and HELPMESSAGE
      Case Logic
      Multiple Record Processing
      Advanced Facilities
      MODIFY Syntax Summary
    Designing Screens With FIDEL
      Introduction
      Describing the CRT Screen
      Using FIDEL in MODIFY
      Using FIDEL in Dialogue Manager
      Using the FOCUS Screen Painter
    Creating and Rebuilding a Data Source
      Creating a New Data Source: The CREATE Command
      Rebuilding a Data Source: The REBUILD Command
      Optimizing File Size: The REBUILD Subcommand
      Changing Data Source Structure: The REORG Subcommand
      Indexing Fields: The INDEX Subcommand
      Creating an External Index: The EXTERNAL INDEX Subcommand
      Checking Data Source Integrity: The CHECK Subcommand
      Changing the Data Source Creation Date and Time: The TIMESTAMP Subcommand
      Converting Legacy Dates: The DATE NEW Subcommand
      Creating a Multi-Dimensional Index: The MDINDEX Subcommand
    Directly Editing FOCUS Databases With SCAN
      Introduction
      Entering SCAN Mode
      Moving Through the Database and Locating Records
      Adding Segment Instances
      Moving Segment Instances
      Changing Field Contents
      Deleting Fields and Segments
      Saving Changes Made in SCAN Sessions
      Ending the Session
      Auxiliary SCAN Functions
      Subcommand Summary
    Directly Editing FOCUS Databases With FSCAN
      Introduction
      Entering FSCAN
      Using FSCAN
      The FSCAN Facility and FOCUS Structures
      Scrolling the Screen
      Selecting a Specific Instance by Defining a Current Instance
      Displaying Descendant Segments: The CHILD, PARENT, and JUMP Commands
      Displaying a Single Instance on One Screen: The SINGLE and MULTIPLE Commands
      Modifying the Database
      Repeating a Command: ? and =
      Saving Changes: The SAVE Without Exiting FSCAN Command
      Exiting FSCAN: The END, FILE, QQUIT, and QUIT Commands
      The FSCAN HELP Facility
      Syntax Summary
    Master Files and Diagrams
      Creating Sample Data Sources
      EMPLOYEE Data Source
      JOBFILE Data Source
      EDUCFILE Data Source
      SALES Data Source
      PROD Data Source
      CAR Data Source
      LEDGER Data Source
      FINANCE Data Source
      REGION Data Source
      COURSES Data Source
      EMPDATA Data Source
      EXPERSON Data Source
      TRAINING Data Source
      COURSE Data Source
      JOBHIST Data Source
      JOBLIST Data Source
      LOCATOR Data Source
      PERSINFO Data Source
      SALHIST Data Source
      PAYHIST File
      COMASTER File
      VIDEOTRK, MOVIES, and ITEMS Data Sources
      VIDEOTR2 Data Source
      Gotham Grinds Data Sources
      Century Corp Data Sources
    Error Messages
      Accessing Error Files
      Displaying Messages
    Launch PDF
  Using Functions
    Introducing Functions
      Using Functions
      Types of Functions
      Character Chart for ASCII and EBCDIC
    Accessing and Calling a Function
      Calling a Function
      Supplying an Argument in a Function
      Calling a Function From a DEFINE, COMPUTE, or VALIDATE Command
      Calling a Function From a Dialogue Manager Command
      Calling a Function From Another Function
      Calling a Function in WHERE or IF Criteria
      Calling a Function in WHEN Criteria
      Calling a Function From a RECAP Command
      Storing and Accessing an External Function
    Character Functions
      Character Function Notes
      ARGLEN: Measuring the Length of a String
      ASIS: Distinguishing Between Space and Zero
      BITSON: Determining If a Bit Is On or Off
      BITVAL: Evaluating a Bit String as an Integer
      BYTVAL: Translating a Character to Decimal
      CHKFMT: Checking the Format of a String
      CTRAN: Translating One Character to Another
      CTRFLD: Centering a Character String
      EDIT: Extracting or Adding Characters
      GETTOK: Extracting a Substring (Token)
      LCWORD: Converting a String to Mixed-Case
      LCWORD2: Converting a String to Mixed-Case
      LCWORD3: Converting a String to Mixed-Case
      LJUST: Left-Justifying a String
      LOCASE: Converting Text to Lowercase
      OVRLAY: Overlaying a Character String
      PARAG: Dividing Text Into Smaller Lines
      PATTERN: Generating a Pattern From a String
      POSIT: Finding the Beginning of a Substring
      REVERSE: Reversing the Characters in a String
      RJUST: Right-Justifying a Character String
      SOUNDEX: Comparing Character Strings Phonetically
      SPELLNM: Spelling Out a Dollar Amount
      SQUEEZ: Reducing Multiple Spaces to a Single Space
      STRIP: Removing a Character From a String
      STRREP: Replacing Character Strings
      SUBSTR: Extracting a Substring
      TRIM: Removing Leading and Trailing Occurrences
      UPCASE: Converting Text to Uppercase
    Variable Length Character Functions
      Overview
      LENV: Returning the Length of an Alphanumeric Field
      LOCASV: Creating a Variable Length Lowercase String
      POSITV: Finding the Beginning of a Variable Length Substring
      SUBSTV: Extracting a Variable Length Substring
      TRIMV: Removing Characters From a String
      UPCASV: Creating a Variable Length Uppercase String
    Character Functions for DBCS Code Pages
      DCTRAN: Translating A Single-Byte or Double-Byte Character to Another
      DEDIT: Extracting or Adding Characters
      DSTRIP: Removing a Single-Byte or Double-Byte Character From a String
      DSUBSTR: Extracting a Substring
      JPTRANS: Converting Japanese Specific Characters
    Maintain-specific Character Functions
      CHAR2INT: Translating a Character Into an Integer Value
      INT2CHAR: Translating an Integer Value Into a Character
      LCWORD and LCWORD2: Converting a Character String to Mixed-Case
      LENGTH: Determining the Length of a Character String
      LJUST: Left-Justifying a Character String (Maintain)
      LOWER: Converting a Character String to Lowercase
      MASK: Extracting or Adding Characters
      MNTGETTOK: Extracting Tokens From a String Function
      NLSCHR: Converting Characters From the Native English Code Page
      OVRLAY: Overlaying a Character String (Maintain)
      POSIT: Finding the Beginning of a Substring (Maintain)
      RJUST: Right-Justifying a Character String (Maintain)
      SELECTS: Decoding a Value From a Stack
      STRAN: Substituting One Substring for Another
      STRCMP: Comparing Character Strings
      STRICMP: Comparing Character Strings and Ignoring Case
      STRNCMP: Comparing Character Substrings
      STRTOKEN: Extracting a Substring Based on Delimiters
      SUBSTR: Extracting a Substring (Maintain)
      TRIM: Removing Trailing Occurrences (Maintain)
      TRIMLEN: Determining the Length of a String Excluding Trailing Spaces
      UPCASE: Converting Text to Uppercase (Maintain)
    Data Source and Decoding Functions
      DB_LOOKUP: Retrieving Data Source Values
      DECODE: Decoding Values
      FIND: Verifying the Existence of a Value in a Data Source
      LAST: Retrieving the Preceding Value
      LOOKUP: Retrieving a Value From a Cross-referenced Data Source
    Date Functions
      Overview of Date Functions
      Using Standard Date Functions
      DATEADD: Adding or Subtracting a Date Unit to or From a Date
      DATECVT: Converting the Format of a Date
      DATEDIF: Finding the Difference Between Two Dates
      DATEMOV: Moving a Date to a Significant Point
      DATETRAN: Formatting Dates in International Formats
      DPART: Extracting a Component From a Date
      FIYR: Obtaining the Financial Year
      FIQTR: Obtaining the Financial Quarter
      FIYYQ: Converting a Calendar Date to a Financial Date
      TODAY: Returning the Current Date
      Using Legacy Date Functions
      AYM: Adding or Subtracting Months
      AYMD: Adding or Subtracting Days
      CHGDAT: Changing How a Date String Displays
      DA Functions: Converting a Legacy Date to an Integer
      DMY, MDY, YMD: Calculating the Difference Between Two Dates
      DOWK and DOWKL: Finding the Day of the Week
      DT Functions: Converting an Integer to a Date
      GREGDT: Converting From Julian to Gregorian Format
      JULDAT: Converting From Gregorian to Julian Format
      YM: Calculating Elapsed Months
    Date-Time Functions
      Using Date-Time Functions
      HADD: Incrementing a Date-Time Value
      HCNVRT: Converting a Date-Time Value to Alphanumeric Format
      HDATE: Converting the Date Portion of a Date-Time Value to a Date Format
      HDIFF: Finding the Number of Units Between Two Date-Time Values
      HDTTM: Converting a Date Value to a Date-Time Value
      HEXTR: Extracting Components of a Date-Time Value and Setting Remaining Components to Zero
      HGETC: Storing the Current Date and Time in a Date-Time Field
      HHMMSS: Retrieving the Current Time
      HINPUT: Converting an Alphanumeric String to a Date-Time Value
      HMIDNT: Setting the Time Portion of a Date-Time Value to Midnight
      HMASK: Extracting Components of a Date-Time Field and Preserving Remaining Components
      HNAME: Retrieving a Date-Time Component in Alphanumeric Format
      HPART: Retrieving a Date-Time Component as a Numeric Value
      HSETPT: Inserting a Component Into a Date-Time Value
      HTIME: Converting the Time Portion of a Date-Time Value to a Number
      HTMTOTS or TIMETOTS: Converting a Time to a Timestamp
      HYYWD: Returning the Year and Week Number From a Date-Time Value
    Maintain-specific Date and Time Functions
      Maintain-specific Standard Date and Time Functions
    Format Conversion Functions
      ATODBL: Converting an Alphanumeric String to Double-Precision Format
      EDIT: Converting the Format of a Field
      FPRINT: Converting Fields to Alphanumeric Format
      FTOA: Converting a Number to Alphanumeric Format
      HEXBYT: Converting a Decimal Integer to a Character
      ITONUM: Converting a Large Binary Integer to Double-Precision Format
      ITOPACK: Converting a Large Binary Integer to Packed-Decimal Format
      ITOZ: Converting a Number to Zoned Format
      PCKOUT: Writing a Packed Number of Variable Length
      PTOA: Converting a Packed-Decimal Number to Alphanumeric Format
      UFMT: Converting an Alphanumeric String to Hexadecimal
      XTPACK: Writing a Packed Number With Up to 31 Significant Digits to an Output File
    Numeric Functions
      ABS: Calculating Absolute Value
      ASIS: Distinguishing Between a Blank and a Zero
      BAR: Producing a Bar Chart
      CHKPCK: Validating a Packed Field
      DMOD, FMOD, and IMOD: Calculating the Remainder From a Division
      EXP: Raising e to the Nth Power
      EXPN: Evaluating a Number in Scientific Notation
      FMLINFO: Returning FOR Values
      FMLLIST: Returning an FML Tag List
      FMLFOR: Retrieving FML Tag Values
      FMLCAP: Retrieving FML Hierarchy Captions
      INT: Finding the Greatest Integer
      LOG: Calculating the Natural Logarithm
      MAX and MIN: Finding the Maximum or Minimum Value
      MIRR: Calculating the Modified Internal Return Rate
      NORMSDST: Calculating Standard Cumulative Normal Distribution
      NORMSINV: Calculating Inverse Cumulative Normal Distribution
      PRDNOR and PRDUNI: Generating Reproducible Random Numbers
      RDNORM and RDUNIF: Generating Random Numbers
      SQRT: Calculating the Square Root
      XIRR: Calculating the Modified Internal Return Rate (Periodic or Non-Periodic)
    System Functions
      CLSDDREC: Closing All Files Opened by the PUTDDREC Function
      FEXERR: Retrieving an Error Message
      FINDMEM: Finding a Member of a Partitioned Data Set
      GETPDS: Determining If a Member of a Partitioned Data Set Exists
      GETUSER: Retrieving a User ID
      MVSDYNAM: Passing a DYNAM Command to the Command Processor
      PUTDDREC: Writing a Character String as a Record in a Sequential File
      SLEEP: Suspending Execution for a Given Number of Seconds
      SYSVAR: Retrieving the Value of a z/OS System Variable
    Creating a Subroutine
      Writing a Subroutine
      Compiling and Storing a Subroutine
      Testing the Subroutine
      Using a Custom Subroutine: The MTHNAM Subroutine
      Subroutines Written in REXX
    Launch PDF
  Creating HTML5 Charts With FOCUS
    Introduction to FOCUS HTML5 Charts
      FOCUS Charting Overview
      Configuring FOCUS to Generate HTML5 Charts
      Chart Types
      Creating an HTML5 Chart
      Introduction to the FOCUS GRAPH FILE Command
    Understanding Chart Types
      Chart Components
      Controlling the Chart Type
      Chart Type Notes and Sample Charts
    Introduction to JSON Properties for HTML5 Charts
      FOCUS HTML5 JSON Syntax Basics
      Colors and Gradients
      Font Definitions
      Formatting Numbers
      HTML Codes in Strings
      Data Definitions
      Setting Chart Property Values
      Defining a Callback Function to Display Values in Labels
    Chart-Wide Properties
      Chart-Wide Properties Overview
      Controlling Automatic Layout of Ordinal Axis Labels
      Formatting the Chart Border
      Defining How to Handle JavaScript Errors
      Formatting the Chart Frame
      Controlling the Number of Charts in a Horizontal Row
      Showing and Formatting Data Text Labels for All Series
      Defining the Range of Data to Draw in the Chart
      Applying Depth to Charts
      Applying a Color or Gradient to the Draw Area
      Defining Group Labels
      Applying a Bevel to Risers, Markers, and Slices
      Applying a Lightening or Darkening Effect to Successive Risers
      Controlling Space Between Risers in 3D Charts
      Applying a Shadow to Risers and Markers
      Swapping Series and Group Orientation
      Swapping Series, Group, and Label Orientation
    Chart Title Properties
      Chart Title Properties Overview
      Formatting the Chart Footnote
      Formatting the Chart Subtitle
      Formatting the Chart Title
    Legend Properties
      Legend Properties Overview
      Defining the Background Color of the Legend Area
      Formatting the Legend Labels
      Generating a Line Around the Legend Area
      Controlling the Location of the Legend Markers
      Controlling the Size of Legend Markers
      Controlling the Position of the Legend
      Applying a Shadow to the Legend Area
      Formatting the Legend Title
      Controlling the Visibility of the Legend Area
      Controlling the Location of a Free Legend
    Axis Properties
      Axis Properties Overview
      Filling Alternate Segments of Axis Grid Lines With a Specified Color
      Controlling the Appearance of a Numeric Axis Base Line
      Enabling a Logarithmic Scale
      Formatting an Axis Body Line
      Defining Color Bands
      Controlling the Number of Major Grid Lines, Ticks, and Labels
      Synchronizing Y2-Axis Major Grid Lines With Y-Axis Major Grid Lines
      Controlling the Direction of a Numeric Axis
      Formatting the Axis Labels
      Formatting Major Grid Lines and Tick Marks
      Defining the Minimum and Maximum Values on a Numeric Axis
      Formatting Minor Grid Lines and Tick Marks
      Setting the Axis Mode
      Controlling the Format of Numeric Axis Labels
      Reversing the Default Axis Locations
      Formatting an Axis Title
    Series-Specific Properties
      Series-Specific Properties Overview
      Selecting Specific Series
      Selecting Specific Groups
      Defining a Border for Series Risers
      Defining Colors for Series Risers
      Deleting a Slice From a Pie Chart
      Pushing a Slice Away From a Pie Chart
      Assigning Labels to Individual Series
      Defining the Size, Border, Color, Shape, and Rotation of Series Markers
      Defining the Shapes of Risers for a Series in Bar, Line, and Area Charts
      Showing Data Text Labels for Series and Groups
      Defining a Tooltip for Risers
      Drawing a Series Trendline in Bubble and Scatter Charts
      Controlling the Visibility of Individual Series
      Assigning a Series to an Axis
    Chart-Specific Properties
      Bar, Line, and Area Chart Properties (blaProperties)
      Box Plot Properties (boxPlotProperties)
      Bullet Chart Properties (bulletProperties)
      Funnel Chart Properties (funnelProperties)
      Gauge Chart Properties (gaugeProperties)
      Histogram Chart Properties (histogramProperties)
      Parabox Chart Properties (paraboxProperties)
      Pie Chart Properties (pieProperties)
      Polar Charts (polarProperties)
      Tagcloud Chart Properties (tagcloudProperties)
      3D Chart Properties (threedProperties)
      Treemap Chart Properties (treemapProperties)
      Waterfall Chart Properties (waterfallProperties)
    Special Topics
      Animation (introAnimation)
      Annotations
      Color Modes (colorMode)
      Defining a Color Scale (colorScale)
      Drawing Error Bars (errorBars)
      Generating HTML Tooltips (htmlToolTip)
      Defining User Interaction With the Chart (interaction)
      Formatting the Mouse Over Indicator (mouseOverIndicator)
      Drawing Reference Lines (referenceLines)
      Drawing Trendlines in Bubble and Scatter Charts (trendline)
    Lightweight Map Support
      Overview of Lightweight Map Support
      Opening Map Charts in FOCUS
      Introduction to Map Properties
      Incorporating Additional Chart Properties in a Map Chart
    Launch PDF
  UNIX/Linux Installation Guide
    Installing FOCUS on UNIX and Linux
      Installation Requirements
      Installation and Configuration Directories
      Installing FOCUS
      Verifying Installation
      Startup Options
      Generating a Trace
    Launch PDF
  Data Adapter Documentation
    ADABAS Interface User's Manual and Installation Guide v7.0
      Introducing the Adapter for ADABAS
        Overview of the Adapter for ADABAS
        Operating Environments
        Security
      Getting Started
        Getting Started Under z/OS
      ADABAS Overview and Mapping Considerations
        Adabas Overview
        Mapping ADABAS Structures in the Master File
      The AUTOADBS Facility
        Ease of Use Features
        Documentation in the Master and Access Files
        How to Use the AUTOADBS Facility
        Background Execution
        The Generated Descriptions
        AUTOADBS Sample Sessions
      Describing ADABAS Data Sources to FOCUS
        Overview of Master and Access Files
        Master Files for Adabas
        Access Files for Adabas
        Mapping Adabas Descriptors
        Mapping Adabas Fields That Have Special Characteristics
        Mapping Adabas Files With Variable-Length Records and Repeating Fields
        Using the GROUP Attribute to Cross-Reference Files
      Report Considerations
        Adabas Reporting Considerations
      Adapter Navigation
        Adapter Navigation
      Environment Commands
        ORDER Fields in the Indexed Field List
        Switching the Access Mode Using NOPACCESS
        NEW Synonym Setting for Superdescriptors
        Multifetch and Prefetch
        Controlling Adabas Multifetch for Join Operations
        Adabas Dynamic Database Number
        Controlling Data Retrieval Types
        LA Fields
        Overriding Default Passwords in Specific Files
        PASSRECS Setting for Adapter for Adabas
        Running in 24-bit Mode
        Optimization of the FIND Call Using Non-descriptor Fields
        UNICODE Fields in W-format
      Maintaining Adabas Data Sources
        Activating the Write Adapter
        Adabas Write Examples
        Types of Transaction Processing
        Descriptor Considerations
        Modifying Data
        Referential Integrity
        The MODIFY COMBINE Facility
        The LOOKUP Function
        The FIND Function
        Adapter Error Messages and Adabas Response Codes
        Common User Errors
      The ADABAS WRITE Data Adapter
        Activating the Adabas Write Data Adapter
        Adabas Write Examples
        Types of Transaction Processing
        Descriptor Considerations
        Modifying Data
        Referential Integrity
        The MODIFY COMBINE Facility
        The LOOKUP Function
        The FIND Function
        Data Adapter Error Messages and Adabas Response Codes
        Common User Errors
      Debugging Techniques
        Common Errors and Response Codes
        Tracing Adapter Processing
        Verifying the z/OS Environment
        Verification of Installation and AUTOADBS
        Follow-up
      Adapter Error Messages
        Messages for MVS and CMS
      Sample File Descriptions
        VEHICLES Sample Files
        EMPLOYEES Sample Files
        ACUSTOMR Sample Files
        AMKTORDR Sample Files
      Launch PDF
    CA-Datacom Data Adapter Installation Guide v7.0
    Adapter for CA-IDMS User's Manual v7.7.03
      Introduction to the Adapter for CA-IDMS
        Ease of Use
        Operating Environments
        Efficiency
        Security
        Cross-Environment Access
        Memory Requirements
      Getting Started
        Using the Adapter for CA-IDMS Under z/OS
        Accessing the Adapter for CA-IDMS
        File Descriptions
      IDMS Overview and Mapping Concepts
        Overview of IDMS
        Network Concepts
      Adapter for CA-IDMS Master Files
        Accessing File Descriptions
        Master File Attributes
        Remote Segment Descriptions
        Intra-Record Structures: The OCCURS Segment
      Adapter for CA-IDMS Access Files
        Access File Overview
        Access File Syntax
        Subschema Declaration Attributes
        Segment Attributes for Network Record-Types
        Index Declarations for Network Record-Types
        Dynamically Setting the DBNAME and DICTNAME
      Creating File Descriptions With AUTOIDMS
        AUTOIDMS Prerequisites
        How to Execute AUTOIDMS
        The Descriptions Generated by AUTOIDMS
        How to Restart AUTOIDMS
        AUTOIDMS Sample Sessions
      Adapter for CA-IDMS Reporting Techniques
        The Retrieval Subtree
        Retrieval Sequence
        Effects of Screening Conditions on Retrieval
        Retrieving Short Paths
        File Inversion
        The JOIN Command
      CA-IDMS Record Retrieval Intervals
        Entry Segment Retrieval of Network Records
        Descendant Segment Retrieval of Network Records
        Retrieving LRF-Based Records
      Error Messages and Troubleshooting
        Accessing Adapter Error Messages
        Generating Error Messages Online
        Common Errors and Response Codes
      Adapter for CA-IDMS Samples
        Schema Sample: EMPSCHM
        Network Subschema Sample: EMPSS01
        Master File for Network Sample
        Access File for Network Sample
        Master File for LRF Sample
        Access File for LRF Sample
        Sample of a Partial LRF Record
        EMPFULL Master File
        EMPFULL Access File
        EMPFILE Master File
        EMPFILE Access File
        Sample CA-IDMS Report
      Tracing Adapter Processing
        Using Traces
        Activating, Deactivating, and Querying Traces
        Allocating Traces
        Sample Traces
      Glossary
      Launch PDF
    Adapter for CA-IDMS/DB Installation Guide v7.7.03
      Before You Begin
        Pre-Installation Requirements
        Maintenance
      z/OS Installation Instructions
        Installing the Adapter for IDMS on z/OS
        Installing the AUTOIDMS Facility
        Central Version or Local Mode Access to IDMS
      Launch PDF
    Adapter for Db2 Installation Guide v7.7.06
      Before You Begin
        Pre-Installation Requirements
        Maintenance
        Restricting the Use of Direct SQL Passthru Commands
      Installing the Adapter for Db2 to Use CLI on z/OS
        Create Configuration Files for Access to Db2 Using CLI
        Create a Procedure to Access FOCUS and Verify Adapter Installation
      Installing the Adapter for Db2 to Use CAF on z/OS
        Choose an Installation Option
        Create the BIND Member and Submit the BIND Job
        Identify the Application Plan and Subsystem ID to FOCUS
        Grant Access to the Application Plan
        Grant Access to User Tables
        Create a Procedure to Access FOCUS and Verify Adapter Installation
      Installing the Adapter for Db2 to Use CLI on UNIX
        Creating Configuration Files for Access to Db2 on UNIX Using CLI
        Verifying Adapter Installation
      Launch PDF
    IMS/DB Interface User's Manual and Installation Guide v7.0
      Introduction
        Report Processing
        Environments
        Supported IMS Access Methods
        Ease of Use
        Efficiency
        Security
      IMS Overview and Mapping Concepts
        Overview of IMS Concepts
        Mapping IMS Elements to FOCUS
        Mapping IMS and FOCUS Relationships
      Creating FOCUS Descriptions
        The FOCPSB
        The Master File
        The Access File (DBCTL)
        Creating File Descriptions Using AUTOIMS
      Reporting Efficiencies
        Adapter Optimization
        DL/I Calls
        Record Selection Tests
        The Dynamic JOIN Command
        Retrieval of Unique Segments
        JOINs With Selection Criteria
      Environments
        Fast Path Considerations
        The PSB PROCOPT to Use With the Adapter
        Access to IMS Through DBCTL
        Access to IMS Through the XMI Server
        Access to IMS With FOCUS Loaded by the Region Controller
        Summary Chart
        Environment Switching
      Security
        DBCTL Security
        XMI Server Security
      Sample File Descriptions
        DI21PART Sample
        PATDB01 Sample
        EMPDB Sample
        AIHDAM Sample
      Tracing Adapter Processing
        DLITRACE
        Adapter Traces
      Release Dependent Adapter Features
        The SET IMS Command
        Adapter Environmental Commands
        Describing a Secondary Index Without Auto Index Selection
        Fixed Format FOCPSBs
        Accessing the BMP Extension
      Installation Instructions
        Pre-Installation and Maintenance Requirements
        Basic Installation Steps
        DBCTL Instructions
        XMI Server Instructions
        Run-time Requirements
      Interface Errors and Messages
        Interface Messages
        Common User Errors
      Glossary
      Launch PDF
    Millennium Interface User's Manual and Installation Guide v7.0
    Adapter for Oracle Installation Guide v7.7
      Before You Begin
        Pre-Installation Requirements
        Maintenance
      Installing the Adapter for Oracle
        Create the Adapter Configuration Files
        Identify the Oracle SID
        Grant Access to Oracle Tables and Views
        Create a CLIST or Job to Invoke FOCUS and Verify Adapter Installation
        Upgrading From a FOCUS Release Prior to 7.7
      Launch PDF
    Relational Data Adapter User's Manual v7.7
      Introduction to Adapters for Relational Data Sources
        Adapter Capabilities
        FOCUS and RDBMS Interaction
        The Adapter as an RDBMS Application
        Environment
        Ease of Use
        Efficiency
        Security
      Invoking Relational Adapters
        Getting Started Under z/OS
        Issuing Commands
      Connection, Authentication, and Security
        SQL GRANT and REVOKE
        DB2 Security
        Teradata Login Security
        Oracle Connection Attributes
        FOCUS DBA Security
      Describing Tables to FOCUS
        Creating Master and Access Files
        Master Files
        Access Files
        The OCCURS Segment
      Multi-Table Structures
        Types of Embedded Joins
        Advantages of Multi-table Structures
        Creating a Multi-table Structure
        Multi-field Embedded Equijoins
      Automated Procedures
        Creating File Descriptions
        AUTODB2
        AUTODBC
        Results of the Master File Generation Facilities
        Creating Tables: The CREATE FILE Command
      The Adapter Optimizer
        Optimizing Requests
        Optimization Logic
        Optimizing Record Selection and Projection
        Optimizing Joins
        Optimizing Sorts
        Optimizing Aggregation
        Optimizing DEFINE Fields
        DEFINE FUNCTION Optimization
        Optimizing Function Calls
        The FOCUS EXPLAIN Utility (DB2 and Teradata)
      Advanced Reporting Techniques
        FOCUS and SQL Similarities
        The TABLEF Command
        Creating Tables Using the HOLD Command
        Using the Dynamic JOIN Command
        Controlling Outer Join Optimization
        Missing Rows of Data in Cross-referenced Tables
        JOIN Utilities
        Implementing Search Limits
        Array Blocking for SELECT Requests
        Multiple Retrieval Paths
      Direct SQL Passthru
        Direct SQL Passthru Advantages
        Invoking Direct SQL Passthru
        Issuing Commands and Requests
        Parameterized SQL Passthru
      Controlling Connection Scope
        Invoking Actions in Response to Events
        Understanding Actions
        Action and Event Combinations
        Combinations of SET AUTOaction Commands
        Establishing Different Types of FOCUS Sessions
      Adapter Commands
        Issuing Adapter Commands
        Querying Adapter Parameter Settings
        Parameters That Apply to Multiple Adapters
        Parameters That Apply to DB2 Only
        Parameters That Apply to Teradata Only
        Parameters That Apply to IDMS/SQL Only
        Parameters That Apply to Oracle Only
        Parameters That Apply to MODIFY Only
        Adapter Dialogue Manager Variables
      Maintaining Tables With FOCUS
        Overview of Data Source Maintenance Facilities
        Modifying Data
        The MATCH Command
        The NEXT Command
        INCLUDE, UPDATE, and DELETE Processing
        RDBMS Transaction Control Within MODIFY
        Referential Integrity
        The MODIFY COMBINE Facility
        The LOOKUP Function
        The FIND Function
        Isolation Levels and Locks
        Issuing SQL Commands in MODIFY
        Change Verify Protocol: AUTOCOMMIT ON CRTFORM
        Loading Tables Faster: The MODIFY Fastload Facility
      Static SQL (DB2)
        Static SQL Overview
        Static SQL Requirements
        Creating a Static Procedure for DB2
        Plan Management in DB2
        Resource Restrictions
      Additional Topics
        Status Return Variable: &RETCODE
        Standard FOCUS and Adapter Differences
        Adapter for DB2 Stored Procedure Support (CLI Only)
        Adapter for Oracle Stored Procedure Support
        Adapter for Teradata Stored Procedure and Macro Support
        Default Date Considerations
        Remote Segment Descriptions
        Long Field Name Considerations
        Determining DB2 Decimal Notation at Run-time
        CALLDB2: Invoking Subroutines Containing Embedded SQL
        The DB2 Distributed Data Facility
        DB2 DRDA Support
        Read-only Access to IMS Data From DB2 MODIFY Procedures
      SQL Codes and Adapter Messages
        Common SQL Return Codes for DB2
        Common DBC Return Codes for Teradata
        Common User Errors and Corrections
        Accessing Adapter Messages
      File Descriptions and Tables
        Samples Overview
        ADDRESS Sample
        COURSE Sample
        DEDUCT Sample
        EMPINFO Sample
        FUNDTRAN Sample
        PAYINFO Sample
        SALINFO Sample
        ECOURSE Sample
        EMPADD Sample
        EMPFUND Sample
        EMPPAY Sample
        SALDUCT Sample
        SALARY Sample
        DPBRANCH Sample
        DPINVENT Sample
        DPVENDOR Sample
      Tracing Adapter Processing
        Available Traces
        Activating Trace Components
        Activating the Trace Destination
        Deactivating Trace Components
        Trace Activation and Deactivation Examples
        Querying Traces
        Allocating FSTRACE
      Launch PDF
    Adapter for Teradata Installation Guide v7.0
      Before You Begin
        Pre-Installation Requirements
        Maintenance
      Installing the Adapter for Teradata
        Create the Adapter Configuration Files
        Grant Access to Teradata Tables and Views
        Create a CLIST or Job to Invoke FOCUS and Verify Adapter Installation
        Upgrading From a FOCUS Release Prior to 7.7
      Launch PDF
    VSAM Write Data Adapter User's Manual v7.0
  Supplementary Documentation
    Simultaneous Usage Reference Manual for z/OS v7.7.03
      Introduction
        What is Simultaneous Usage?
        How SU Processes Transactions Without COMMIT and ROLLBACK
        The Multi-Threaded SU Reporting Facility
      Operating the FOCUS Database Server
        Starting a FOCUS Database Server
        Using the SU Profile
        Stopping the FOCUS Database Server
        Logging FOCUS Database Server Activity in HLIPRINT
        Calculating Memory Requirements for the FOCUS Database Server
        Protecting FOCUS Databases: the FOCUS/SU Security Interface (SUSI)
      SU and the FOCUS Language
        Using Centrally Controlled Databases
        Using the Multi-Threaded SU Reporting Facility
        Messages From the FOCUS Database Server
        Using MODIFY or Maintain With SU
        Protecting FOCUS Database Server Transactions
        Performance Considerations
        SU Profile Commands for COMMIT and ROLLBACK
      SU and the Host Language Interface (HLI)
        Gaining Access to Centrally Controlled Databases
        The File Communication Block (FCB)
        Closing Centrally Controlled Databases
        Writing Transactions From the Buffer
        Using HLI Control Commands
      Improving Performance
        Storing Central Databases On Disk
        Workload Balancing Techniques for Improving Performance
        Keeping Master Files Open on the FOCUS Database Server
      FOCUS Error Messages
        Accessing Errors Files
        Displaying Messages Online
        Messages and Descriptions
      HLI Status Codes Returned in FCB Word 24
        Status Codes and Explanations
      Launch PDF
  Summary of New Features
    Creating an Active Technologies Report
      Features Added in FOCUS 7.7.03
    Reporting Enhancements
      Features Added in FOCUS 7.7.07
      Features Added in FOCUS 7.7.06
      Features Added in FOCUS 7.7.03
    General Enhancements
      Features Added in FOCUS 7.7.07
      Features Added in FOCUS 7.7.06
      Features Added in FOCUS 7.7.03
    Database Enhancements
      Features Added in FOCUS 7.7.07
      Features Added in FOCUS 7.7.06
      Features Added in FOCUS 7.7.03
    Output Format Enhancements
      Features Added in FOCUS 7.7.07
      Features Added in FOCUS 7.7.06
      Features Added in FOCUS 7.7.03
    Adapter Enhancements
      Features Added in FOCUS 7.7.07
      Features Added in FOCUS 7.7.06
      Features Added in FOCUS 7.7.03
    MODIFY Enhancements
      Features Added in FOCUS 7.7.03
    Raised Limits
      Features Added in FOCUS 7.7.07
      Features Added in FOCUS 7.7.06
      Features Added in FOCUS 7.7.03
    Launch PDF
  Overview and Operating Environments
    Introduction to FOCUS
      What Is FOCUS?
      Who Uses FOCUS?
      FOCUS Language
      Terminal Operator Environment
      FOCUS Concepts
      Features for End Users
      Features for Application Developers
      FOCUS User Aids
      Using Regular Expressions
    Editing Files With TED
      Entering TED
      TED Features
      Creating a File
      TYPE and EDIT Functions
      Accessing the HELP File
      Editing FOCEXECs
      Personalizing TED: PROFILE and PFnn
      Syntax Summary
    Invoking the ISPF Editor on z/OS
      Editing Files With IEDIT
      Installing IEDIT
      Using IEDIT
    Terminal Operator Environment
      Illustrating the Terminal Operator Environment
      Invoking the Terminal Operator Environment
      Activating a Window
      Types of Windows
      Window Commands
    UNIX and Linux Guide to Operations
      How FOCUS Interacts With UNIX
      Overview of a FOCUS Session
      Defining the FOCUS Operating Environment
      Defining and Allocating FOCUS Files
      FOCUS in the UNIX and Linux Environments
      Sending Email From a Procedure
      Configuring, Starting, and Stopping the FOCUS Database Server
    z/OS Guide to Operations
      Referencing Files
      Application Files
      Window Files
      Extract Files
      Work Files
      Enabling Use of the zIIP Specialty Engine
      Calling FOCUS Under TSO
      FOCUS Facilities Under TSO
      TSO and FOCUS Interaction
      DYNAM Command
    Using FOCUS as a Client to a Reporting Server
      Client/Server Computing and Middleware
      Using FOCUS to Access Data on a Server
      Remote Execution
      Distributed Execution
    Logging FOCUS Usage: FOCLOG
      Overview of FOCLOG
      Implementing FOCLOG
      Information Captured in the FOCLOG File
      FOCLOG Reporting
    Configuring FOCUS for National Language Support Services
      Introduction to FOCUS National Language Support (NLS) Services
      Detailed NLS Configuration Steps
      Advanced NLS Configuration Options
      Using the NLS Configuration Files
      Using the TSGU to Generate New Transcoding Tables
    Unicode Support
      Unicode Encoding Standards
      Accessing Unicode Data
      Selecting, Reformatting, and Manipulating Characters
      Sort Order Under Unicode
      Added Unicode Support for Master Files, Data Files, and Application Directory Names
      Unicode PDF Output
    Launch PDF
  Creating Reports
    Creating Tabular Reports
      Requirements for Creating a Report
      Creating a Report Request
      Developing Your Report Request
      Including Display Fields in a Report Request
      Referring to Fields in a Report Request
    Displaying Report Data
      Using Display Commands in a Request
      Displaying Individual Values
      Adding Values
      Counting Values
      Expanding Byte Precision for COUNT and LIST
      Maximum Number of Display Fields Supported in a Request
      Manipulating Display Fields With Prefix Operators
      Changing the Format of a Report Column
    Viewing and Printing Report Output
      Displaying Reports in HotScreen
      Scrolling a Report
      Displaying Reports in the Panel Facility
      Printing Reports
      Displaying Reports in the Terminal Operator Environment
    Sorting Tabular Reports
      Sorting Tabular Reports Overview
      Sorting Rows
      Sorting Columns
      Reformatting Sort Fields
      Manipulating Display Field Values in a Sort Group
      Creating a Matrix Report
      Controlling Collation Sequence
      Specifying the Sort Order
      Ranking Sort Field Values
      Grouping Numeric Data Into Ranges
      Restricting Sort Field Values by Highest/Lowest Rank
      Sorting and Aggregating Report Columns
      Hiding Sort Values
      Sorting With Multiple Display Commands
      Improving Efficiency With External Sorts
      Hierarchical Reporting: BY HIERARCHY
    Selecting Records for Your Report
      Selecting Records Overview
      Choosing a Filtering Method
      Selections Based on Individual Values
      Selection Based on Aggregate Values
      Using Compound Expressions for Record Selection
      Using Operators in Record Selection Tests
      Types of Record Selection Tests
      Selections Based on Group Key Values
      Setting Limits on the Number of Records Read
      Selecting Records Using IF Phrases
      Reading Selection Values From a File
      Assigning Screening Conditions to a File
      VSAM Record Selection Efficiencies
    Creating Temporary Fields
      What Is a Temporary Field?
      Defining a Virtual Field
      Creating a Calculated Value
      Assigning Column Reference Numbers
      Calculating Trends and Predicting Values With FORECAST
      Calculating Trends and Predicting Values With Multivariate REGRESS
      Using Text Fields in DEFINE and COMPUTE
      Creating Temporary Fields Independent of a Master File
    Including Totals and Subtotals
      Calculating Row and Column Totals
      Including Section Totals and a Grand Total
      Including Subtotals
      Recalculating Values for Subtotal Rows
      Summarizing Alphanumeric Columns
      Manipulating Summary Values With Prefix Operators
      Combinations of Summary Commands
      Producing Summary Columns for Horizontal Sort Fields
      Performing Calculations at Sort Field Breaks
      Suppressing Grand Totals
      Conditionally Displaying Summary Lines and Text
    Using Expressions
      Using Expressions in Commands and Phrases
      Types of Expressions
      Creating a Numeric Expression
      Creating a Date Expression
      Creating a Date-Time Expression
      Creating a Character Expression
      Creating a Variable Length Character Expression
      Creating a Logical Expression
      Creating a Conditional Expression
    Customizing Tabular Reports
      Producing Headings and Footings
      Creating Paging and Numbering
      Ignoring ON Phrases for Absent Fields
      Suppressing Fields: SUP-PRINT or NOPRINT
      Reducing a Report's Width: FOLD-LINE and OVER
      Positioning Columns: IN
      Separating Sections of a Report: SKIP-LINE and UNDER-LINE
      Controlling Column Title Underlining Using a SET Command
      Controlling Column Spacing: SET SPACES
      Creating New Column Titles: AS
      Customizing Column Names: SET QUALTITLES
      Column Title Justification
      Customizing Reports With SET Parameters
      Conditionally Formatting Reports With the WHEN Clause
      Controlling the Display of Empty Reports
      Controlling the Generation of Blank Lines in Report Output
    Saving and Reusing Your Report Output
      Saving Your Report Output
      Creating a HOLD File
      Holding Report Output in FOCUS Format
      Controlling Attributes in HOLD Master Files
      Keyed Retrieval From HOLD Files
      Saving and Retrieving HOLD Files
      Using DBMS Temporary Tables as HOLD Files
      Creating SAVE and SAVB Files
      Creating a PCHOLD File
      Choosing Output File Formats
      Using Text Fields in Output Files
      Creating a Delimited Sequential File
      Saving Report Output in INTERNAL Format
      Creating a Subquery or Sequential File With HOLD FORMAT SQL_SCRIPT
      Creating a Structured HOLD File
    Styling Reports
      Introduction to Styled Reports
      Choosing an Output Format
      Styling Reports With StyleSheets
      Creating a Styled Report
      Styling the Page Layout
      Specifying Font Format in a Report
      Identifying Report Components
      Reusing FOCUS StyleSheet Declarations With Macros
      FOCUS StyleSheet Attribute Inheritance
      Conditionally Formatting in a StyleSheet
    Cascading Style Sheets
      What Are Cascading Style Sheets?
      Cascading Style Sheets and Precedence Rules
      Cascading Style Sheet Formatting Statements: Rules and Classes
      Generating an Internal Cascading Style Sheet
      Working With External Cascading Style Sheets
      Combining CSS Styling With Other Formatting Methods
      Linking to an External Cascading Style Sheet
      FAQ About Using External Cascading Style Sheets
      Troubleshooting Cascading Style Sheets
    Choosing a Styled Display Format
      Report Display Formats
      Preserving Leading and Internal Blanks in Report Output
      Using Web Display Format: HTML
      Using Print Display Formats: PDF, PS
      Using Excel Display Formats: XLSX, EXL2K, EXL97, EXCEL
      Using PowerPoint Display Format
      Using PowerPoint PPTX Display Format
    Advanced StyleSheet Features
      Positioning a Report Component
      Controlling Column Title Underlining Using a StyleSheet Attribute
      Arranging Pages and Columns on a Page
      Wrapping and Justifying Report Components
      Alignment of Fields in Reports Using OVER in PDF Report Output
      Aligning Heading and Footing Elements
      Support for Repeated Headings and Footings on Panels in PDF Report Output
      Adding Grids and Borders
      Displaying Superscripts On Data, Heading, and Footing Lines
      Adding an Image to a Report
      Linking in a Report
      Working With Mailing Labels and Multi-Pane Pages
    Handling Records With Missing Field Values
      Irrelevant Report Data
      Missing Field Values
      Handling a Missing Segment Instance
      Setting the NODATA Character String
    Joining Data Sources
      Types of Joins
      How the JOIN Command Works
      Creating an Equijoin
      Using a Conditional Join
      Full Outer Joins for Relational Data Sources
      Adding a New Fact To Multi-Fact Synonyms: JOIN AS_ROOT
      Joining From a Multi-Fact Synonym
      Invoking Context Analysis for a Star Schema With a Fan Trap
      Adding DBA Restrictions to the Join Condition: SET DBAJOIN
      Preserving Virtual Fields During Join Parsing
      Displaying Joined Structures
      Clearing Joined Structures
    Merging Data Sources
      Merging Data
      Types of MATCH Processing
      MATCH Processing With Common High-Order Sort Fields
      MATCH Processing Without a Common High-Order Sort Field
      Fine-Tuning MATCH Processing
      Universal Concatenation
      Merging Concatenated Data Sources
      Cartesian Product
    Improving Report Processing
      Rotating a Data Structure for Enhanced Retrieval
      Optimizing Retrieval Speed for FOCUS Data Sources
      Automatic Indexed Retrieval
      Data Retrieval Using TABLEF
      Preserving the Internal Matrix of Your Last Report
      Compiling Expressions
    Creating Financial Reports With Financial Modeling Language (FML)
      Reporting With FML
      Creating Rows From Data
      Supplying Data Directly in a Request
      Performing Inter-Row Calculations
      Referring to Rows in Calculations
      Referring to Columns in Calculations
      Referring to Cells in Calculations
      Using Functions in RECAP Calculations
      Inserting Rows of Free Text
      Adding a Column to an FML Report
      Creating a Recursive Model
      Reporting Dynamically From a Hierarchy
      Customizing a Row Title
      Formatting an FML Report
      Suppressing the Display of Rows
      Saving and Retrieving Intermediate Report Results
      Creating HOLD Files From FML Reports
    Creating a Free-Form Report
      Creating a Free-Form Report
      Designing a Free-Form Report
    Creating Graphs: GRAPH
      Introduction
      Command Syntax
      Graph Forms
      Adjusting Graph Elements
      Special Topics
      Special Graphics Devices
      Command and SET Parameter Summary
    Using SQL to Create Reports
      Supported and Unsupported SQL Statements
      Using SQL Translator Commands
      SQL Translator Support for Date, Time, and Timestamp Fields
      Index Optimized Retrieval
      TABLEF Optimization
      SQL INSERT, UPDATE, and DELETE Commands
    Master Files and Diagrams
      Creating Sample Data Sources
      EMPLOYEE Data Source
      JOBFILE Data Source
      EDUCFILE Data Source
      SALES Data Source
      PROD Data Source
      CAR Data Source
      LEDGER Data Source
      FINANCE Data Source
      REGION Data Source
      COURSES Data Source
      EMPDATA Data Source
      EXPERSON Data Source
      TRAINING Data Source
      COURSE Data Source
      JOBHIST Data Source
      JOBLIST Data Source
      LOCATOR Data Source
      PERSINFO Data Source
      SALHIST Data Source
      PAYHIST File
      COMASTER File
      VIDEOTRK, MOVIES, and ITEMS Data Sources
      VIDEOTR2 Data Source
      Gotham Grinds Data Sources
      Century Corp Data Sources
    Error Messages
      Accessing Error Files
      Displaying Messages
    Table Syntax Summary and Limits
      TABLE Syntax Summary
      TABLEF Syntax Summary
      MATCH Syntax Summary
      FOR Syntax Summary
      TABLE Limits
    Writing User-Coded Programs to Create HOLD Files
      Arguments Used in Calls to Programs That Create HOLD Files
    Launch PDF
  Describing Data
    Understanding a Data Source Description
      A Note About Data Source Terminology
      What Is a Data Source Description?
      How an Application Uses a Data Source Description
      What Does a Master File Describe?
      Creating a Data Source Description
      Naming a Master File
      What Is in a Master File?
    Identifying a Data Source
      Identifying a Data Source Overview
      Specifying a Data Source Name: FILENAME
      Identifying a Data Source Type: SUFFIX
      Providing Descriptive Information for a Data Source: REMARKS
      Specifying a Physical File Name: DATASET
    Describing a Group of Fields
      Defining a Single Group of Fields
      Identifying a Logical View: Redefining a Segment
      Relating Multiple Groups of Fields
      Logical Dependence: The Parent-Child Relationship
      Logical Independence: Multiple Paths
      Cardinal Relationships Between Segments
      One-to-One Relationship
      One-to-Many Relationship
      Many-to-Many Relationship
      Recursive Relationships
      Relating Segments From Different Types of Data Sources
      Rotating a Data Source: An Alternate View
    Describing an Individual Field
      Field Characteristics
      The Field Name: FIELDNAME
      The Field Synonym: ALIAS
      The Displayed Data Type: USAGE
      The Stored Data Type: ACTUAL
      Null or MISSING Values: MISSING
      Describing an FML Hierarchy
      Validating Data: ACCEPT
      Online Help Information: HELPMESSAGE
      Alternative Report Column Titles: TITLE
      Documenting the Field: DESCRIPTION
      Multilingual Metadata
      Describing a Virtual Field: DEFINE
      Parameterizing Master and Access File Values Using Variables
      Describing a Filter: FILTER
      Describing a Calculated Value: COMPUTE
      Converting Alphanumeric Dates to FOCUS Dates
    Describing a Sequential, VSAM, or ISAM Data Source
      Sequential Data Source Formats
      Standard Master File Attributes for a Sequential Data Source
      Standard Master File Attributes for a VSAM or ISAM Data Source
      Describing a Multiply Occurring Field in a Free-Format Data Source
      Describing a Multiply Occurring Field in a Fixed-Format, VSAM, or ISAM Data Source
      Redefining a Field in a Non-FOCUS Data Source
      Extra-Large Record Length Support
      Describing Multiple Record Types
      Combining Multiply Occurring Fields and Multiple Record Types
      Establishing VSAM Data and Index Buffers
      Using a VSAM Alternate Index
      Describing a Token-Delimited Data Source
      Reading a Complex Data Source With a User-Written Procedure
    Describing a FOCUS Data Source
      Types of FOCUS Data Sources
      Designing a FOCUS Data Source
      Describing a Single Segment
      GROUP Attribute
      ACCEPT Attribute
      INDEX Attribute
      Describing a Partitioned FOCUS Data Source
      Multi-Dimensional Index (MDI)
    Defining a Join in a Master File
      Join Types
      Static Joins Defined in the Master File: SEGTYPE = KU and KM
      Using Cross-Referenced Descendant Segments: SEGTYPE = KL and KLU
      Dynamic Joins Defined in the Master File: SEGTYPE = DKU and DKM
      Comparing Static and Dynamic Joins
      Joining to One Cross-Referenced Segment From Several Host Segments
    Checking and Changing a Master File: CHECK
      Checking a Data Source Description
      CHECK Command Display
      PICTURE Option
      HOLD Option
    Accessing a FOCUS Data Source: USE
      USE Command
      Specifying a Non-Default File ID
      Identifying New Data Sources to FOCUS
      Accessing Data Sources in Read-Only Mode
      Concatenating Data Sources
      Accessing Simultaneous Usage Data Sources
      Displaying the USE Options in Effect
    Providing Data Source Security: DBA
      Introduction to Data Source Security
      Implementing Data Source Security
      Specifying an Access Type: The ACCESS Attribute
      Limiting Data Source Access: The RESTRICT Attribute
      Controlling the Source of Access Restrictions in a Multi-file Structure
      Placing Security Information in a Central Master File
      Summary of Security Attributes
      Hiding Restriction Rules: The ENCRYPT Command
      FOCEXEC Security
      Program Accounting/Resource Limitation
      Absolute File Integrity
    Master Files and Diagrams
      Creating Sample Data Sources
      EMPLOYEE Data Source
      JOBFILE Data Source
      EDUCFILE Data Source
      SALES Data Source
      PROD Data Source
      CAR Data Source
      LEDGER Data Source
      FINANCE Data Source
      REGION Data Source
      COURSES Data Source
      EMPDATA Data Source
      EXPERSON Data Source
      TRAINING Data Source
      COURSE Data Source
      JOBHIST Data Source
      JOBLIST Data Source
      LOCATOR Data Source
      PERSINFO Data Source
      SALHIST Data Source
      PAYHIST File
      COMASTER File
      VIDEOTRK, MOVIES, and ITEMS Data Sources
      VIDEOTR2 Data Source
      Gotham Grinds Data Sources
      Century Corp Data Sources
    Error Messages
      Accessing Error Files
      Displaying Messages
    User Exits for a Non-FOCUS Data Source
      Dynamic and Re-Entrant Private User Exit of the FOCSAM Interface
      User-coded Data Access Modules
      Re-Entrant VSAM Compression Exit: ZCOMP1
    Rounding in FOCUS
      Data Storage and Display
      Rounding in Calculations and Conversions
    File Description Attribute Summary
      Overview of File Descriptions
      Master File Attributes
      Access File Attributes
      Related Commands
    Launch PDF
  Developing Applications
    Customizing Your Environment
      The SET Command
      Types of SET Parameters
      SET Parameter Syntax
    Managing Applications
      What Is an Application?
      Application Commands Overview
      Search Path Management Commands
      Application and File Management Commands
      Output Redirection Commands
      Application Metadata Commands and Catalog Metadata
      APP HELP
      Accessing Metadata and Procedures
      Allocating Temporary Files
      Temporary Disk Space Usage
    Testing and Debugging With Query Commands
      Using Query Commands
      ? COMBINE
      ? DEFINE
      ?F
      ? FDT
      ?FF
      ? FILE
      ? FUNCTION
      ? HOLD
      ? JOIN
      Displaying a Multi-Dimensional Index (MDI)
      ? LANG
      Displaying LET Substitutions
      Displaying Information About Loaded Files
      Displaying Explanations of Error Messages
      Displaying PF Key Assignments
      ? RELEASE
      ? SET
      ? SET NOT
      ? SET GRAPH
      ? SITECODE
      ? STAT
      ? STYLE
      ? SU
      ? USE
      Displaying Global Variable Values
      Reporting Dynamically From System Tables
    Managing Flow of Control in an Application
      Uses for Dialogue Manager
      Dialogue Manager Processing
      Creating a Procedure
      Executing and Terminating a Procedure
      Navigating a Procedure
      Using Variables in a Procedure
      Supplying and Verifying Values for Variables
      Manipulating and Testing Variables
      Using Numeric Amper Variables in Functions
      Debugging a Procedure
      Issuing an Operating System Command
      Dialogue Manager Quick Reference
    Defining a Word Substitution
      The LET Command
      Variable Substitution
      Null Substitution
      Multiple-Line Substitution
      Recursive Substitution
      Using a LET Substitution in a COMPUTE or DEFINE Command
      Checking Current LET Substitutions
      Interactive LET Query: LET ECHO
      Clearing LET Substitutions
      Saving LET Substitutions in a File
      Assigning Phrases to Function Keys
    Enhancing Application Performance
      FOCUS Facilities
      Loading a File
      Compiling a MODIFY Request
      Saving Master Files in Memory for Reuse
      Accessing a FOCUS Data Source
    Working With Cross-Century Dates
      When Do You Use the Sliding Window Technique?
      The Sliding Window Technique
      Applying the Sliding Window Technique
      Defining a Global Window With SET
      Defining a Dynamic Global Window With SET
      Querying the Current Global Value of DEFCENT and YRTHRESH
      Defining a File-Level or Field-Level Window in a Master File
      Defining a Window for a Virtual Field
      Defining a Window for a Calculated Value
      Additional Support for Cross-Century Dates
    Euro Currency Support
      Integrating the Euro Currency
      Converting Currencies
      Creating the Currency Data Source
      Identifying Fields That Contain Currency Data
      Activating the Currency Data Source
      Processing Currency Data
      Querying the Currency Data Source in Effect
      Punctuating Numbers
      Selecting an Extended Currency Symbol
    Designing Windows With Window Painter
      Introduction
      Window Files and Windows
      Integrating Windows and the FOCEXEC
      Tutorial: A Menu-Driven Application
      Window Painter Screens
      Transferring Window Files
    Master Files and Diagrams
      Creating Sample Data Sources
      EMPLOYEE Data Source
      JOBFILE Data Source
      EDUCFILE Data Source
      SALES Data Source
      PROD Data Source
      CAR Data Source
      LEDGER Data Source
      FINANCE Data Source
      REGION Data Source
      COURSES Data Source
      EMPDATA Data Source
      EXPERSON Data Source
      TRAINING Data Source
      COURSE Data Source
      JOBHIST Data Source
      JOBLIST Data Source
      LOCATOR Data Source
      PERSINFO Data Source
      SALHIST Data Source
      PAYHIST File
      COMASTER File
      VIDEOTRK, MOVIES, and ITEMS Data Sources
      VIDEOTR2 Data Source
      Gotham Grinds Data Sources
      Century Corp Data Sources
    Error Messages
      Accessing Error Files
      Displaying Messages
    Launch PDF
  Maintaining Databases
    Introduction to Maintain
      Using Maintain to Manage Data
      Accessing Data Sources
      Working With Maintain Procedures
      Maintain Performance
    Maintain Concepts
      Set-based Processing
      Controlling the Flow of a Procedure
      Executing Other Maintain Procedures
      Winforms and Event-driven Processing
      Reading From a Data Source
      Writing to a Data Source
      Transaction Processing
      Defining a Transaction
      Ensuring Transaction Integrity for FOCUS Data Sources
      Classes and Objects
    Tutorial: Coding a Procedure
      Content of the Tutorial
      Two Ways to Follow the Tutorial
      Building the Sample Application
      Step 1: Beginning and Ending the Procedure
      Step 2: Selecting Records
      Step 3: Collecting Transaction Values
      Step 4: Writing Transactions to the Data Source
      Step 5: Issuing the Procedure
      Step 6: Browsing Through a Stack and Using Triggers
      Step 7: Displaying and Editing an Entire Stack in a Winform
    Tutorial: Painting a Procedure
      Step 1: Creating a New Winform
      Defining the Winform's Properties
      Saving Your Work and Exiting
      Step 2: Adding Fields
      Step 3: Adding a Grid
      Step 4: Adding Text
      Step 5: Adding Buttons and Triggers
      Step 6: Coding Triggers and Other Functions
      Step 7: Running the Maintain Request
    Using the Winform Painter
      Using the Painter
      Files Used by the Winform Painter
      Saving and Exiting Your Work
      Using the Design Screen
      File Menu
      Edit Menu
      Forms Menu
      Objects Menu
      Cases Menu
      Help Menu
      Using Triggers, Button Short Cuts, and System Actions
    Language Rules Reference
      Case Sensitivity
      Specifying Names
      Reserved Words
      What Can You Include in a Procedure?
      Multi-line Commands
      Terminating a Command's Syntax
      Adding Comments
    Command Reference
      Language Summary
      BEGIN
      CALL
      CASE
      COMMIT
      COMPILE
      COMPUTE
      COPY
      DECLARE
      DELETE
      DESCRIBE
      END
      EX
      FocCount
      FocCurrent
      FocError
      FocErrorRow
      FocFetch
      FocIndex
      GOTO
      IF
      INCLUDE
      INFER
      MAINTAIN
      MATCH
      MNTCON CDN_FEXINPUT
      MNTCON COMPILE
      MNTCON EX
      MNTCON MATCH_CASE
      MNTCON RUN
      MODULE
      NEXT
      ON MATCH
      ON NEXT
      ON NOMATCH
      ON NONEXT
      PERFORM
      RECOMPILE
      REPEAT
      REPOSITION
      REVISE
      ROLLBACK
      RUN
      SAY
      SET
      SetCursor
      SetScroll
      STACK CLEAR
      STACK SORT
      SYS_MGR
      SYS_MGR.DBMS_ERRORCODE
      SYS_MGR.ENGINE
      SYS_MGR.FOCSET
      SYS_MGR.GET_INPUTPARAMS_COUNT
      SYS_MGR.GET_NAMEPARM
      SYS_MGR.GET_POSITIONPARM
      SYS_MGR.PRE_MATCH
      TYPE
      UPDATE
      Winform
    Expressions Reference
      Types of Expressions You Can Write
      Writing Numeric Expressions
      Writing Date Expressions
      Writing Date-Time Expressions
      Writing Alphanumeric Expressions
      Writing Logical Expressions
      Writing Conditional Expressions
      Handling Null Values in Expressions
    Modifying Data Sources With MODIFY
      Introduction
      Examples of MODIFY Processing
      Additional MODIFY Facilities
      Describing Incoming Data
      Special Responses
      Entering Text Data Using TED
      Reading Selected Portions of Transaction Data Sources: The START and STOP Statements
      Modifying Data: MATCH and NEXT
      Computations: COMPUTE and VALIDATE
      Messages: TYPE, LOG, and HELPMESSAGE
      Case Logic
      Multiple Record Processing
      Advanced Facilities
      MODIFY Syntax Summary
    Designing Screens With FIDEL
      Introduction
      Describing the CRT Screen
      Using FIDEL in MODIFY
      Using FIDEL in Dialogue Manager
      Using the FOCUS Screen Painter
    Creating and Rebuilding a Data Source
      Creating a New Data Source: The CREATE Command
      Rebuilding a Data Source: The REBUILD Command
      Optimizing File Size: The REBUILD Subcommand
      Changing Data Source Structure: The REORG Subcommand
      Indexing Fields: The INDEX Subcommand
      Creating an External Index: The EXTERNAL INDEX Subcommand
      Checking Data Source Integrity: The CHECK Subcommand
      Changing the Data Source Creation Date and Time: The TIMESTAMP Subcommand
      Converting Legacy Dates: The DATE NEW Subcommand
      Creating a Multi-Dimensional Index: The MDINDEX Subcommand
    Directly Editing FOCUS Databases With SCAN
      Introduction
      Entering SCAN Mode
      Moving Through the Database and Locating Records
      Adding Segment Instances
      Moving Segment Instances
      Changing Field Contents
      Deleting Fields and Segments
      Saving Changes Made in SCAN Sessions
      Ending the Session
      Auxiliary SCAN Functions
      Subcommand Summary
    Directly Editing FOCUS Databases With FSCAN
      Introduction
      Entering FSCAN
      Using FSCAN
      The FSCAN Facility and FOCUS Structures
      Scrolling the Screen
      Selecting a Specific Instance by Defining a Current Instance
      Displaying Descendant Segments: The CHILD, PARENT, and JUMP Commands
      Displaying a Single Instance on One Screen: The SINGLE and MULTIPLE Commands
      Modifying the Database
      Repeating a Command: ? and =
      Saving Changes: The SAVE Without Exiting FSCAN Command
      Exiting FSCAN: The END, FILE, QQUIT, and QUIT Commands
      The FSCAN HELP Facility
      Syntax Summary
    Master Files and Diagrams
      Creating Sample Data Sources
      EMPLOYEE Data Source
      JOBFILE Data Source
      EDUCFILE Data Source
      SALES Data Source
      PROD Data Source
      CAR Data Source
      LEDGER Data Source
      FINANCE Data Source
      REGION Data Source
      COURSES Data Source
      EMPDATA Data Source
      EXPERSON Data Source
      TRAINING Data Source
      COURSE Data Source
      JOBHIST Data Source
      JOBLIST Data Source
      LOCATOR Data Source
      PERSINFO Data Source
      SALHIST Data Source
      PAYHIST File
      COMASTER File
      VIDEOTRK, MOVIES, and ITEMS Data Sources
      VIDEOTR2 Data Source
      Gotham Grinds Data Sources
      Century Corp Data Sources
    Error Messages
      Accessing Error Files
      Displaying Messages
    Launch PDF
  Using Functions
    Introducing Functions
      Using Functions
      Types of Functions
      Character Chart for ASCII and EBCDIC
    Accessing and Calling a Function
      Calling a Function
      Supplying an Argument in a Function
      Calling a Function From a DEFINE, COMPUTE, or VALIDATE Command
      Calling a Function From a Dialogue Manager Command
      Calling a Function From Another Function
      Calling a Function in WHERE or IF Criteria
      Calling a Function in WHEN Criteria
      Calling a Function From a RECAP Command
      Storing and Accessing an External Function
    Character Functions
      Character Function Notes
      ARGLEN: Measuring the Length of a String
      ASIS: Distinguishing Between Space and Zero
      BITSON: Determining If a Bit Is On or Off
      BITVAL: Evaluating a Bit String as an Integer
      BYTVAL: Translating a Character to Decimal
      CHKFMT: Checking the Format of a String
      CTRAN: Translating One Character to Another
      CTRFLD: Centering a Character String
      EDIT: Extracting or Adding Characters
      GETTOK: Extracting a Substring (Token)
      LCWORD: Converting a String to Mixed-Case
      LCWORD2: Converting a String to Mixed-Case
      LCWORD3: Converting a String to Mixed-Case
      LJUST: Left-Justifying a String
      LOCASE: Converting Text to Lowercase
      OVRLAY: Overlaying a Character String
      PARAG: Dividing Text Into Smaller Lines
      PATTERN: Generating a Pattern From a String
      POSIT: Finding the Beginning of a Substring
      REVERSE: Reversing the Characters in a String
      RJUST: Right-Justifying a Character String
      SOUNDEX: Comparing Character Strings Phonetically
      SPELLNM: Spelling Out a Dollar Amount
      SQUEEZ: Reducing Multiple Spaces to a Single Space
      STRIP: Removing a Character From a String
      STRREP: Replacing Character Strings
      SUBSTR: Extracting a Substring
      TRIM: Removing Leading and Trailing Occurrences
      UPCASE: Converting Text to Uppercase
    Variable Length Character Functions
      Overview
      LENV: Returning the Length of an Alphanumeric Field
      LOCASV: Creating a Variable Length Lowercase String
      POSITV: Finding the Beginning of a Variable Length Substring
      SUBSTV: Extracting a Variable Length Substring
      TRIMV: Removing Characters From a String
      UPCASV: Creating a Variable Length Uppercase String
    Character Functions for DBCS Code Pages
      DCTRAN: Translating A Single-Byte or Double-Byte Character to Another
      DEDIT: Extracting or Adding Characters
      DSTRIP: Removing a Single-Byte or Double-Byte Character From a String
      DSUBSTR: Extracting a Substring
      JPTRANS: Converting Japanese Specific Characters
    Maintain-specific Character Functions
      CHAR2INT: Translating a Character Into an Integer Value
      INT2CHAR: Translating an Integer Value Into a Character
      LCWORD and LCWORD2: Converting a Character String to Mixed-Case
      LENGTH: Determining the Length of a Character String
      LJUST: Left-Justifying a Character String (Maintain)
      LOWER: Converting a Character String to Lowercase
      MASK: Extracting or Adding Characters
      MNTGETTOK: Extracting Tokens From a String Function
      NLSCHR: Converting Characters From the Native English Code Page
      OVRLAY: Overlaying a Character String (Maintain)
      POSIT: Finding the Beginning of a Substring (Maintain)
      RJUST: Right-Justifying a Character String (Maintain)
      SELECTS: Decoding a Value From a Stack
      STRAN: Substituting One Substring for Another
      STRCMP: Comparing Character Strings
      STRICMP: Comparing Character Strings and Ignoring Case
      STRNCMP: Comparing Character Substrings
      STRTOKEN: Extracting a Substring Based on Delimiters
      SUBSTR: Extracting a Substring (Maintain)
      TRIM: Removing Trailing Occurrences (Maintain)
      TRIMLEN: Determining the Length of a String Excluding Trailing Spaces
      UPCASE: Converting Text to Uppercase (Maintain)
    Data Source and Decoding Functions
      DB_LOOKUP: Retrieving Data Source Values
      DECODE: Decoding Values
      FIND: Verifying the Existence of a Value in a Data Source
      LAST: Retrieving the Preceding Value
      LOOKUP: Retrieving a Value From a Cross-referenced Data Source
    Date Functions
      Overview of Date Functions
      Using Standard Date Functions
      DATEADD: Adding or Subtracting a Date Unit to or From a Date
      DATECVT: Converting the Format of a Date
      DATEDIF: Finding the Difference Between Two Dates
      DATEMOV: Moving a Date to a Significant Point
      DATETRAN: Formatting Dates in International Formats
      DPART: Extracting a Component From a Date
      FIYR: Obtaining the Financial Year
      FIQTR: Obtaining the Financial Quarter
      FIYYQ: Converting a Calendar Date to a Financial Date
      TODAY: Returning the Current Date
      Using Legacy Date Functions
      AYM: Adding or Subtracting Months
      AYMD: Adding or Subtracting Days
      CHGDAT: Changing How a Date String Displays
      DA Functions: Converting a Legacy Date to an Integer
      DMY, MDY, YMD: Calculating the Difference Between Two Dates
      DOWK and DOWKL: Finding the Day of the Week
      DT Functions: Converting an Integer to a Date
      GREGDT: Converting From Julian to Gregorian Format
      JULDAT: Converting From Gregorian to Julian Format
      YM: Calculating Elapsed Months
    Date-Time Functions
      Using Date-Time Functions
      HADD: Incrementing a Date-Time Value
      HCNVRT: Converting a Date-Time Value to Alphanumeric Format
      HDATE: Converting the Date Portion of a Date-Time Value to a Date Format
      HDIFF: Finding the Number of Units Between Two Date-Time Values
      HDTTM: Converting a Date Value to a Date-Time Value
      HEXTR: Extracting Components of a Date-Time Value and Setting Remaining Components to Zero
      HGETC: Storing the Current Date and Time in a Date-Time Field
      HHMMSS: Retrieving the Current Time
      HINPUT: Converting an Alphanumeric String to a Date-Time Value
      HMIDNT: Setting the Time Portion of a Date-Time Value to Midnight
      HMASK: Extracting Components of a Date-Time Field and Preserving Remaining Components
      HNAME: Retrieving a Date-Time Component in Alphanumeric Format
      HPART: Retrieving a Date-Time Component as a Numeric Value
      HSETPT: Inserting a Component Into a Date-Time Value
      HTIME: Converting the Time Portion of a Date-Time Value to a Number
      HTMTOTS or TIMETOTS: Converting a Time to a Timestamp
      HYYWD: Returning the Year and Week Number From a Date-Time Value
    Maintain-specific Date and Time Functions
      Maintain-specific Standard Date and Time Functions
    Format Conversion Functions
      ATODBL: Converting an Alphanumeric String to Double-Precision Format
      EDIT: Converting the Format of a Field
      FPRINT: Converting Fields to Alphanumeric Format
      FTOA: Converting a Number to Alphanumeric Format
      HEXBYT: Converting a Decimal Integer to a Character
      ITONUM: Converting a Large Binary Integer to Double-Precision Format
      ITOPACK: Converting a Large Binary Integer to Packed-Decimal Format
      ITOZ: Converting a Number to Zoned Format
      PCKOUT: Writing a Packed Number of Variable Length
      PTOA: Converting a Packed-Decimal Number to Alphanumeric Format
      UFMT: Converting an Alphanumeric String to Hexadecimal
      XTPACK: Writing a Packed Number With Up to 31 Significant Digits to an Output File
    Numeric Functions
      ABS: Calculating Absolute Value
      ASIS: Distinguishing Between a Blank and a Zero
      BAR: Producing a Bar Chart
      CHKPCK: Validating a Packed Field
      DMOD, FMOD, and IMOD: Calculating the Remainder From a Division
      EXP: Raising e to the Nth Power
      EXPN: Evaluating a Number in Scientific Notation
      FMLINFO: Returning FOR Values
      FMLLIST: Returning an FML Tag List
      FMLFOR: Retrieving FML Tag Values
      FMLCAP: Retrieving FML Hierarchy Captions
      INT: Finding the Greatest Integer
      LOG: Calculating the Natural Logarithm
      MAX and MIN: Finding the Maximum or Minimum Value
      MIRR: Calculating the Modified Internal Return Rate
      NORMSDST: Calculating Standard Cumulative Normal Distribution
      NORMSINV: Calculating Inverse Cumulative Normal Distribution
      PRDNOR and PRDUNI: Generating Reproducible Random Numbers
      RDNORM and RDUNIF: Generating Random Numbers
      SQRT: Calculating the Square Root
      XIRR: Calculating the Modified Internal Return Rate (Periodic or Non-Periodic)
    System Functions
      CLSDDREC: Closing All Files Opened by the PUTDDREC Function
      FEXERR: Retrieving an Error Message
      FINDMEM: Finding a Member of a Partitioned Data Set
      GETPDS: Determining If a Member of a Partitioned Data Set Exists
      GETUSER: Retrieving a User ID
      MVSDYNAM: Passing a DYNAM Command to the Command Processor
      PUTDDREC: Writing a Character String as a Record in a Sequential File
      SLEEP: Suspending Execution for a Given Number of Seconds
      SYSVAR: Retrieving the Value of a z/OS System Variable
    Creating a Subroutine
      Writing a Subroutine
      Compiling and Storing a Subroutine
      Testing the Subroutine
      Using a Custom Subroutine: The MTHNAM Subroutine
      Subroutines Written in REXX
    Launch PDF
  Creating HTML5 Charts With FOCUS
    Introduction to FOCUS HTML5 Charts
      FOCUS Charting Overview
      Configuring FOCUS to Generate HTML5 Charts
      Chart Types
      Creating an HTML5 Chart
      Introduction to the FOCUS GRAPH FILE Command
    Understanding Chart Types
      Chart Components
      Controlling the Chart Type
      Chart Type Notes and Sample Charts
    Introduction to JSON Properties for HTML5 Charts
      FOCUS HTML5 JSON Syntax Basics
      Colors and Gradients
      Font Definitions
      Formatting Numbers
      HTML Codes in Strings
      Data Definitions
      Setting Chart Property Values
      Defining a Callback Function to Display Values in Labels
    Chart-Wide Properties
      Chart-Wide Properties Overview
      Controlling Automatic Layout of Ordinal Axis Labels
      Formatting the Chart Border
      Defining How to Handle JavaScript Errors
      Formatting the Chart Frame
      Controlling the Number of Charts in a Horizontal Row
      Showing and Formatting Data Text Labels for All Series
      Defining the Range of Data to Draw in the Chart
      Applying Depth to Charts
      Applying a Color or Gradient to the Draw Area
      Defining Group Labels
      Applying a Bevel to Risers, Markers, and Slices
      Applying a Lightening or Darkening Effect to Successive Risers
      Controlling Space Between Risers in 3D Charts
      Applying a Shadow to Risers and Markers
      Swapping Series and Group Orientation
      Swapping Series, Group, and Label Orientation
    Chart Title Properties
      Chart Title Properties Overview
      Formatting the Chart Footnote
      Formatting the Chart Subtitle
      Formatting the Chart Title
    Legend Properties
      Legend Properties Overview
      Defining the Background Color of the Legend Area
      Formatting the Legend Labels
      Generating a Line Around the Legend Area
      Controlling the Location of the Legend Markers
      Controlling the Size of Legend Markers
      Controlling the Position of the Legend
      Applying a Shadow to the Legend Area
      Formatting the Legend Title
      Controlling the Visibility of the Legend Area
      Controlling the Location of a Free Legend
    Axis Properties
      Axis Properties Overview
      Filling Alternate Segments of Axis Grid Lines With a Specified Color
      Controlling the Appearance of a Numeric Axis Base Line
      Enabling a Logarithmic Scale
      Formatting an Axis Body Line
      Defining Color Bands
      Controlling the Number of Major Grid Lines, Ticks, and Labels
      Synchronizing Y2-Axis Major Grid Lines With Y-Axis Major Grid Lines
      Controlling the Direction of a Numeric Axis
      Formatting the Axis Labels
      Formatting Major Grid Lines and Tick Marks
      Defining the Minimum and Maximum Values on a Numeric Axis
      Formatting Minor Grid Lines and Tick Marks
      Setting the Axis Mode
      Controlling the Format of Numeric Axis Labels
      Reversing the Default Axis Locations
      Formatting an Axis Title
    Series-Specific Properties
      Series-Specific Properties Overview
      Selecting Specific Series
      Selecting Specific Groups
      Defining a Border for Series Risers
      Defining Colors for Series Risers
      Deleting a Slice From a Pie Chart
      Pushing a Slice Away From a Pie Chart
      Assigning Labels to Individual Series
      Defining the Size, Border, Color, Shape, and Rotation of Series Markers
      Defining the Shapes of Risers for a Series in Bar, Line, and Area Charts
      Showing Data Text Labels for Series and Groups
      Defining a Tooltip for Risers
      Drawing a Series Trendline in Bubble and Scatter Charts
      Controlling the Visibility of Individual Series
      Assigning a Series to an Axis
    Chart-Specific Properties
      Bar, Line, and Area Chart Properties (blaProperties)
      Box Plot Properties (boxPlotProperties)
      Bullet Chart Properties (bulletProperties)
      Funnel Chart Properties (funnelProperties)
      Gauge Chart Properties (gaugeProperties)
      Histogram Chart Properties (histogramProperties)
      Parabox Chart Properties (paraboxProperties)
      Pie Chart Properties (pieProperties)
      Polar Charts (polarProperties)
      Tagcloud Chart Properties (tagcloudProperties)
      3D Chart Properties (threedProperties)
      Treemap Chart Properties (treemapProperties)
      Waterfall Chart Properties (waterfallProperties)
    Special Topics
      Animation (introAnimation)
      Annotations
      Color Modes (colorMode)
      Defining a Color Scale (colorScale)
      Drawing Error Bars (errorBars)
      Generating HTML Tooltips (htmlToolTip)
      Defining User Interaction With the Chart (interaction)
      Formatting the Mouse Over Indicator (mouseOverIndicator)
      Drawing Reference Lines (referenceLines)
      Drawing Trendlines in Bubble and Scatter Charts (trendline)
    Lightweight Map Support
      Overview of Lightweight Map Support
      Opening Map Charts in FOCUS
      Introduction to Map Properties
      Incorporating Additional Chart Properties in a Map Chart
    Launch PDF
  UNIX/Linux Installation Guide
    Installing FOCUS on UNIX and Linux
      Installation Requirements
      Installation and Configuration Directories
      Installing FOCUS
      Verifying Installation
      Startup Options
      Generating a Trace
    Launch PDF
  Data Adapter Documentation
    ADABAS Interface User's Manual and Installation Guide v7.0
      Introducing the Adapter for ADABAS
        Overview of the Adapter for ADABAS
        Operating Environments
        Security
      Getting Started
        Getting Started Under z/OS
      ADABAS Overview and Mapping Considerations
        Adabas Overview
        Mapping ADABAS Structures in the Master File
      The AUTOADBS Facility
        Ease of Use Features
        Documentation in the Master and Access Files
        How to Use the AUTOADBS Facility
        Background Execution
        The Generated Descriptions
        AUTOADBS Sample Sessions
      Describing ADABAS Data Sources to FOCUS
        Overview of Master and Access Files
        Master Files for Adabas
        Access Files for Adabas
        Mapping Adabas Descriptors
        Mapping Adabas Fields That Have Special Characteristics
        Mapping Adabas Files With Variable-Length Records and Repeating Fields
        Using the GROUP Attribute to Cross-Reference Files
      Report Considerations
        Adabas Reporting Considerations
      Adapter Navigation
        Adapter Navigation
      Environment Commands
        ORDER Fields in the Indexed Field List
        Switching the Access Mode Using NOPACCESS
        NEW Synonym Setting for Superdescriptors
        Multifetch and Prefetch
        Controlling Adabas Multifetch for Join Operations
        Adabas Dynamic Database Number
        Controlling Data Retrieval Types
        LA Fields
        Overriding Default Passwords in Specific Files
        PASSRECS Setting for Adapter for Adabas
        Running in 24-bit Mode
        Optimization of the FIND Call Using Non-descriptor Fields
        UNICODE Fields in W-format
      Maintaining Adabas Data Sources
        Activating the Write Adapter
        Adabas Write Examples
        Types of Transaction Processing
        Descriptor Considerations
        Modifying Data
        Referential Integrity
        The MODIFY COMBINE Facility
        The LOOKUP Function
        The FIND Function
        Adapter Error Messages and Adabas Response Codes
        Common User Errors
      The ADABAS WRITE Data Adapter
        Activating the Adabas Write Data Adapter
        Adabas Write Examples
        Types of Transaction Processing
        Descriptor Considerations
        Modifying Data
        Referential Integrity
        The MODIFY COMBINE Facility
        The LOOKUP Function
        The FIND Function
        Data Adapter Error Messages and Adabas Response Codes
        Common User Errors
      Debugging Techniques
        Common Errors and Response Codes
        Tracing Adapter Processing
        Verifying the z/OS Environment
        Verification of Installation and AUTOADBS
        Follow-up
      Adapter Error Messages
        Messages for MVS and CMS
      Sample File Descriptions
        VEHICLES Sample Files
        EMPLOYEES Sample Files
        ACUSTOMR Sample Files
        AMKTORDR Sample Files
      Launch PDF
    CA-Datacom Data Adapter Installation Guide v7.0
    Adapter for CA-IDMS User's Manual v7.7.03
      Introduction to the Adapter for CA-IDMS
        Ease of Use
        Operating Environments
        Efficiency
        Security
        Cross-Environment Access
        Memory Requirements
      Getting Started
        Using the Adapter for CA-IDMS Under z/OS
        Accessing the Adapter for CA-IDMS
        File Descriptions
      IDMS Overview and Mapping Concepts
        Overview of IDMS
        Network Concepts
      Adapter for CA-IDMS Master Files
        Accessing File Descriptions
        Master File Attributes
        Remote Segment Descriptions
        Intra-Record Structures: The OCCURS Segment
      Adapter for CA-IDMS Access Files
        Access File Overview
        Access File Syntax
        Subschema Declaration Attributes
        Segment Attributes for Network Record-Types
        Index Declarations for Network Record-Types
        Dynamically Setting the DBNAME and DICTNAME
      Creating File Descriptions With AUTOIDMS
        AUTOIDMS Prerequisites
        How to Execute AUTOIDMS
        The Descriptions Generated by AUTOIDMS
        How to Restart AUTOIDMS
        AUTOIDMS Sample Sessions
      Adapter for CA-IDMS Reporting Techniques
        The Retrieval Subtree
        Retrieval Sequence
        Effects of Screening Conditions on Retrieval
        Retrieving Short Paths
        File Inversion
        The JOIN Command
      CA-IDMS Record Retrieval Intervals
        Entry Segment Retrieval of Network Records
        Descendant Segment Retrieval of Network Records
        Retrieving LRF-Based Records
      Error Messages and Troubleshooting
        Accessing Adapter Error Messages
        Generating Error Messages Online
        Common Errors and Response Codes
      Adapter for CA-IDMS Samples
        Schema Sample: EMPSCHM
        Network Subschema Sample: EMPSS01
        Master File for Network Sample
        Access File for Network Sample
        Master File for LRF Sample
        Access File for LRF Sample
        Sample of a Partial LRF Record
        EMPFULL Master File
        EMPFULL Access File
        EMPFILE Master File
        EMPFILE Access File
        Sample CA-IDMS Report
      Tracing Adapter Processing
        Using Traces
        Activating, Deactivating, and Querying Traces
        Allocating Traces
        Sample Traces
      Glossary
      Launch PDF
    Adapter for CA-IDMS/DB Installation Guide v7.7.03
      Before You Begin
        Pre-Installation Requirements
        Maintenance
      z/OS Installation Instructions
        Installing the Adapter for IDMS on z/OS
        Installing the AUTOIDMS Facility
        Central Version or Local Mode Access to IDMS
      Launch PDF
    Adapter for Db2 Installation Guide v7.7.06
      Before You Begin
        Pre-Installation Requirements
        Maintenance
        Restricting the Use of Direct SQL Passthru Commands
      Installing the Adapter for Db2 to Use CLI on z/OS
        Create Configuration Files for Access to Db2 Using CLI
        Create a Procedure to Access FOCUS and Verify Adapter Installation
      Installing the Adapter for Db2 to Use CAF on z/OS
        Choose an Installation Option
        Create the BIND Member and Submit the BIND Job
        Identify the Application Plan and Subsystem ID to FOCUS
        Grant Access to the Application Plan
        Grant Access to User Tables
        Create a Procedure to Access FOCUS and Verify Adapter Installation
      Installing the Adapter for Db2 to Use CLI on UNIX
        Creating Configuration Files for Access to Db2 on UNIX Using CLI
        Verifying Adapter Installation
      Launch PDF
    IMS/DB Interface User's Manual and Installation Guide v7.0
      Introduction
        Report Processing
        Environments
        Supported IMS Access Methods
        Ease of Use
        Efficiency
        Security
      IMS Overview and Mapping Concepts
        Overview of IMS Concepts
        Mapping IMS Elements to FOCUS
        Mapping IMS and FOCUS Relationships
      Creating FOCUS Descriptions
        The FOCPSB
        The Master File
        The Access File (DBCTL)
        Creating File Descriptions Using AUTOIMS
      Reporting Efficiencies
        Adapter Optimization
        DL/I Calls
        Record Selection Tests
        The Dynamic JOIN Command
        Retrieval of Unique Segments
        JOINs With Selection Criteria
      Environments
        Fast Path Considerations
        The PSB PROCOPT to Use With the Adapter
        Access to IMS Through DBCTL
        Access to IMS Through the XMI Server
        Access to IMS With FOCUS Loaded by the Region Controller
        Summary Chart
        Environment Switching
      Security
        DBCTL Security
        XMI Server Security
      Sample File Descriptions
        DI21PART Sample
        PATDB01 Sample
        EMPDB Sample
        AIHDAM Sample
      Tracing Adapter Processing
        DLITRACE
        Adapter Traces
      Release Dependent Adapter Features
        The SET IMS Command
        Adapter Environmental Commands
        Describing a Secondary Index Without Auto Index Selection
        Fixed Format FOCPSBs
        Accessing the BMP Extension
      Installation Instructions
        Pre-Installation and Maintenance Requirements
        Basic Installation Steps
        DBCTL Instructions
        XMI Server Instructions
        Run-time Requirements
      Interface Errors and Messages
        Interface Messages
        Common User Errors
      Glossary
      Launch PDF
    Millennium Interface User's Manual and Installation Guide v7.0
    Adapter for Oracle Installation Guide v7.7
      Before You Begin
        Pre-Installation Requirements
        Maintenance
      Installing the Adapter for Oracle
        Create the Adapter Configuration Files
        Identify the Oracle SID
        Grant Access to Oracle Tables and Views
        Create a CLIST or Job to Invoke FOCUS and Verify Adapter Installation
        Upgrading From a FOCUS Release Prior to 7.7
      Launch PDF
    Relational Data Adapter User's Manual v7.7
      Introduction to Adapters for Relational Data Sources
        Adapter Capabilities
        FOCUS and RDBMS Interaction
        The Adapter as an RDBMS Application
        Environment
        Ease of Use
        Efficiency
        Security
      Invoking Relational Adapters
        Getting Started Under z/OS
        Issuing Commands
      Connection, Authentication, and Security
        SQL GRANT and REVOKE
        DB2 Security
        Teradata Login Security
        Oracle Connection Attributes
        FOCUS DBA Security
      Describing Tables to FOCUS
        Creating Master and Access Files
        Master Files
        Access Files
        The OCCURS Segment
      Multi-Table Structures
        Types of Embedded Joins
        Advantages of Multi-table Structures
        Creating a Multi-table Structure
        Multi-field Embedded Equijoins
      Automated Procedures
        Creating File Descriptions
        AUTODB2
        AUTODBC
        Results of the Master File Generation Facilities
        Creating Tables: The CREATE FILE Command
      The Adapter Optimizer
        Optimizing Requests
        Optimization Logic
        Optimizing Record Selection and Projection
        Optimizing Joins
        Optimizing Sorts
        Optimizing Aggregation
        Optimizing DEFINE Fields
        DEFINE FUNCTION Optimization
        Optimizing Function Calls
        The FOCUS EXPLAIN Utility (DB2 and Teradata)
      Advanced Reporting Techniques
        FOCUS and SQL Similarities
        The TABLEF Command
        Creating Tables Using the HOLD Command
        Using the Dynamic JOIN Command
        Controlling Outer Join Optimization
        Missing Rows of Data in Cross-referenced Tables
        JOIN Utilities
        Implementing Search Limits
        Array Blocking for SELECT Requests
        Multiple Retrieval Paths
      Direct SQL Passthru
        Direct SQL Passthru Advantages
        Invoking Direct SQL Passthru
        Issuing Commands and Requests
        Parameterized SQL Passthru
      Controlling Connection Scope
        Invoking Actions in Response to Events
        Understanding Actions
        Action and Event Combinations
        Combinations of SET AUTOaction Commands
        Establishing Different Types of FOCUS Sessions
      Adapter Commands
        Issuing Adapter Commands
        Querying Adapter Parameter Settings
        Parameters That Apply to Multiple Adapters
        Parameters That Apply to DB2 Only
        Parameters That Apply to Teradata Only
        Parameters That Apply to IDMS/SQL Only
        Parameters That Apply to Oracle Only
        Parameters That Apply to MODIFY Only
        Adapter Dialogue Manager Variables
      Maintaining Tables With FOCUS
        Overview of Data Source Maintenance Facilities
        Modifying Data
        The MATCH Command
        The NEXT Command
        INCLUDE, UPDATE, and DELETE Processing
        RDBMS Transaction Control Within MODIFY
        Referential Integrity
        The MODIFY COMBINE Facility
        The LOOKUP Function
        The FIND Function
        Isolation Levels and Locks
        Issuing SQL Commands in MODIFY
        Change Verify Protocol: AUTOCOMMIT ON CRTFORM
        Loading Tables Faster: The MODIFY Fastload Facility
      Static SQL (DB2)
        Static SQL Overview
        Static SQL Requirements
        Creating a Static Procedure for DB2
        Plan Management in DB2
        Resource Restrictions
      Additional Topics
        Status Return Variable: &RETCODE
        Standard FOCUS and Adapter Differences
        Adapter for DB2 Stored Procedure Support (CLI Only)
        Adapter for Oracle Stored Procedure Support
        Adapter for Teradata Stored Procedure and Macro Support
        Default Date Considerations
        Remote Segment Descriptions
        Long Field Name Considerations
        Determining DB2 Decimal Notation at Run-time
        CALLDB2: Invoking Subroutines Containing Embedded SQL
        The DB2 Distributed Data Facility
        DB2 DRDA Support
        Read-only Access to IMS Data From DB2 MODIFY Procedures
      SQL Codes and Adapter Messages
        Common SQL Return Codes for DB2
        Common DBC Return Codes for Teradata
        Common User Errors and Corrections
        Accessing Adapter Messages
      File Descriptions and Tables
        Samples Overview
        ADDRESS Sample
        COURSE Sample
        DEDUCT Sample
        EMPINFO Sample
        FUNDTRAN Sample
        PAYINFO Sample
        SALINFO Sample
        ECOURSE Sample
        EMPADD Sample
        EMPFUND Sample
        EMPPAY Sample
        SALDUCT Sample
        SALARY Sample
        DPBRANCH Sample
        DPINVENT Sample
        DPVENDOR Sample
      Tracing Adapter Processing
        Available Traces
        Activating Trace Components
        Activating the Trace Destination
        Deactivating Trace Components
        Trace Activation and Deactivation Examples
        Querying Traces
        Allocating FSTRACE
      Launch PDF
    Adapter for Teradata Installation Guide v7.0
      Before You Begin
        Pre-Installation Requirements
        Maintenance
      Installing the Adapter for Teradata
        Create the Adapter Configuration Files
        Grant Access to Teradata Tables and Views
        Create a CLIST or Job to Invoke FOCUS and Verify Adapter Installation
        Upgrading From a FOCUS Release Prior to 7.7
      Launch PDF
    VSAM Write Data Adapter User's Manual v7.0
  Supplementary Documentation
    Simultaneous Usage Reference Manual for z/OS v7.7.03
      Introduction
        What is Simultaneous Usage?
        How SU Processes Transactions Without COMMIT and ROLLBACK
        The Multi-Threaded SU Reporting Facility
      Operating the FOCUS Database Server
        Starting a FOCUS Database Server
        Using the SU Profile
        Stopping the FOCUS Database Server
        Logging FOCUS Database Server Activity in HLIPRINT
        Calculating Memory Requirements for the FOCUS Database Server
        Protecting FOCUS Databases: the FOCUS/SU Security Interface (SUSI)
      SU and the FOCUS Language
        Using Centrally Controlled Databases
        Using the Multi-Threaded SU Reporting Facility
        Messages From the FOCUS Database Server
        Using MODIFY or Maintain With SU
        Protecting FOCUS Database Server Transactions
        Performance Considerations
        SU Profile Commands for COMMIT and ROLLBACK
      SU and the Host Language Interface (HLI)
        Gaining Access to Centrally Controlled Databases
        The File Communication Block (FCB)
        Closing Centrally Controlled Databases
        Writing Transactions From the Buffer
        Using HLI Control Commands
      Improving Performance
        Storing Central Databases On Disk
        Workload Balancing Techniques for Improving Performance
        Keeping Master Files Open on the FOCUS Database Server
      FOCUS Error Messages
        Accessing Errors Files
        Displaying Messages Online
        Messages and Descriptions
      HLI Status Codes Returned in FCB Word 24
        Status Codes and Explanations
      Launch PDF
Release 7.7.06
  Summary of New Features
    Creating an Active Technologies Report
      Features Added in FOCUS 7.7.03
    Reporting Enhancements
      Features Added in FOCUS 7.7.06
      Features Added in FOCUS 7.7.03
    General Enhancements
      Features Added in FOCUS 7.7.06
      Features Added in FOCUS 7.7.03
    Database Enhancements
      Features Added in FOCUS 7.7.06
      Features Added in FOCUS 7.7.03
    Output Format Enhancements
      Features Added in FOCUS 7.7.06
      Features Added in FOCUS 7.7.03
    Adapter Enhancements
      Features Added in FOCUS 7.7.06
      Features Added in FOCUS 7.7.03
    MODIFY Enhancements
      Features Added in FOCUS 7.7.03
    Raised Limits
      Features Added in FOCUS 7.7.06
      Features Added in FOCUS 7.7.03
    Launch PDF
  New Feature Highlights
    Reporting Language Enhancements
    Adapter Enhancements
    Launch PDF
  Logging FOCUS Usage: FOCLOG
    Overview of FOCLOG
    Implementing FOCLOG
    Information Captured in the FOCLOG File
    FOCLOG Reporting
    Launch PDF
  Overview and Operating Environments
    Introduction to FOCUS
      What Is FOCUS?
      Who Uses FOCUS?
      FOCUS Language
      Terminal Operator Environment
      FOCUS Concepts
      Features for End Users
      Features for Application Developers
      FOCUS User Aids
      Using Regular Expressions
    Editing Files With TED
      Entering TED
      TED Features
      Creating a File
      TYPE and EDIT Functions
      Accessing the HELP File
      Editing FOCEXECs
      Personalizing TED: PROFILE and PFnn
      Syntax Summary
    Invoking the ISPF Editor on z/OS
      Editing Files With IEDIT
      Installing IEDIT
      Using IEDIT
    Terminal Operator Environment
      Illustrating the Terminal Operator Environment
      Invoking the Terminal Operator Environment
      Activating a Window
      Types of Windows
      Window Commands
    UNIX and Linux Guide to Operations
      How FOCUS Interacts With UNIX
      Overview of a FOCUS Session
      Defining the FOCUS Operating Environment
      Defining and Allocating FOCUS Files
      FOCUS in the UNIX and Linux Environments
      Sending Email From a Procedure
      Configuring, Starting, and Stopping the FOCUS Database Server
    z/OS Guide to Operations
      Referencing Files
      Application Files
      Window Files
      Extract Files
      Work Files
      Enabling Use of the zIIP Specialty Engine
      Calling FOCUS Under TSO
      FOCUS Facilities Under TSO
      TSO and FOCUS Interaction
      DYNAM Command
    Using FOCUS as a Client to a Reporting Server
      Client/Server Computing and Middleware
      Using FOCUS to Access Data on a Server
      Remote Execution
      Distributed Execution
    Logging FOCUS Usage: FOCLOG
      Overview of FOCLOG
      Implementing FOCLOG
      Information Captured in the FOCLOG File
      FOCLOG Reporting
    Configuring FOCUS for National Language Support Services
      Introduction to FOCUS National Language Support (NLS) Services
      Detailed NLS Configuration Steps
      Advanced NLS Configuration Options
      Using the NLS Configuration Files
      Using the TSGU to Generate New Transcoding Tables
    Unicode Support
      Unicode Encoding Standards
      Accessing Unicode Data
      Selecting, Reformatting, and Manipulating Characters
      Sort Order Under Unicode
      Added Unicode Support for Master Files, Data Files, and Application Directory Names
      Unicode PDF Output
    Launch PDF
  Creating Reports
    Creating Tabular Reports
      Requirements for Creating a Report
      Creating a Report Request
      Developing Your Report Request
      Including Display Fields in a Report Request
      Referring to Fields in a Report Request
    Displaying Report Data
      Using Display Commands in a Request
      Displaying Individual Values
      Adding Values
      Counting Values
      Expanding Byte Precision for COUNT and LIST
      Maximum Number of Display Fields Supported in a Request
      Manipulating Display Fields With Prefix Operators
      Changing the Format of a Report Column
    Viewing and Printing Report Output
      Displaying Reports in HotScreen
      Scrolling a Report
      Displaying Reports in the Panel Facility
      Printing Reports
      Displaying Reports in the Terminal Operator Environment
    Sorting Tabular Reports
      Sorting Tabular Reports Overview
      Sorting Rows
      Sorting Columns
      Reformatting Sort Fields
      Manipulating Display Field Values in a Sort Group
      Creating a Matrix Report
      Controlling Collation Sequence
      Specifying the Sort Order
      Ranking Sort Field Values
      Grouping Numeric Data Into Ranges
      Restricting Sort Field Values by Highest/Lowest Rank
      Sorting and Aggregating Report Columns
      Hiding Sort Values
      Sorting With Multiple Display Commands
      Improving Efficiency With External Sorts
      Hierarchical Reporting: BY HIERARCHY
    Selecting Records for Your Report
      Selecting Records Overview
      Choosing a Filtering Method
      Selections Based on Individual Values
      Selection Based on Aggregate Values
      Using Compound Expressions for Record Selection
      Using Operators in Record Selection Tests
      Types of Record Selection Tests
      Selections Based on Group Key Values
      Setting Limits on the Number of Records Read
      Selecting Records Using IF Phrases
      Reading Selection Values From a File
      Assigning Screening Conditions to a File
      VSAM Record Selection Efficiencies
    Creating Temporary Fields
      What Is a Temporary Field?
      Defining a Virtual Field
      Creating a Calculated Value
      Assigning Column Reference Numbers
      Calculating Trends and Predicting Values With FORECAST
      Calculating Trends and Predicting Values With Multivariate REGRESS
      Using Text Fields in DEFINE and COMPUTE
      Creating Temporary Fields Independent of a Master File
    Including Totals and Subtotals
      Calculating Row and Column Totals
      Including Section Totals and a Grand Total
      Including Subtotals
      Recalculating Values for Subtotal Rows
      Summarizing Alphanumeric Columns
      Manipulating Summary Values With Prefix Operators
      Combinations of Summary Commands
      Producing Summary Columns for Horizontal Sort Fields
      Performing Calculations at Sort Field Breaks
      Suppressing Grand Totals
      Conditionally Displaying Summary Lines and Text
    Using Expressions
      Using Expressions in Commands and Phrases
      Types of Expressions
      Creating a Numeric Expression
      Creating a Date Expression
      Creating a Date-Time Expression
      Creating a Character Expression
      Creating a Variable Length Character Expression
      Creating a Logical Expression
      Creating a Conditional Expression
    Customizing Tabular Reports
      Producing Headings and Footings
      Creating Paging and Numbering
      Ignoring ON Phrases for Absent Fields
      Suppressing Fields: SUP-PRINT or NOPRINT
      Reducing a Report's Width: FOLD-LINE and OVER
      Positioning Columns: IN
      Separating Sections of a Report: SKIP-LINE and UNDER-LINE
      Controlling Column Title Underlining Using a SET Command
      Controlling Column Spacing: SET SPACES
      Creating New Column Titles: AS
      Customizing Column Names: SET QUALTITLES
      Column Title Justification
      Customizing Reports With SET Parameters
      Conditionally Formatting Reports With the WHEN Clause
      Controlling the Display of Empty Reports
      Controlling the Generation of Blank Lines in Report Output
    Saving and Reusing Your Report Output
      Saving Your Report Output
      Creating a HOLD File
      Holding Report Output in FOCUS Format
      Controlling Attributes in HOLD Master Files
      Keyed Retrieval From HOLD Files
      Saving and Retrieving HOLD Files
      Using DBMS Temporary Tables as HOLD Files
      Creating SAVE and SAVB Files
      Creating a PCHOLD File
      Choosing Output File Formats
      Using Text Fields in Output Files
      Creating a Delimited Sequential File
      Saving Report Output in INTERNAL Format
      Creating a Subquery or Sequential File With HOLD FORMAT SQL_SCRIPT
      Creating a Structured HOLD File
    Styling Reports
      Introduction to Styled Reports
      Choosing an Output Format
      Styling Reports With StyleSheets
      Creating a Styled Report
      Styling the Page Layout
      Specifying Font Format in a Report
      Identifying Report Components
      Reusing FOCUS StyleSheet Declarations With Macros
      FOCUS StyleSheet Attribute Inheritance
      Conditionally Formatting in a StyleSheet
    Cascading Style Sheets
      What Are Cascading Style Sheets?
      Cascading Style Sheets and Precedence Rules
      Cascading Style Sheet Formatting Statements: Rules and Classes
      Generating an Internal Cascading Style Sheet
      Working With External Cascading Style Sheets
      Combining CSS Styling With Other Formatting Methods
      Linking to an External Cascading Style Sheet
      FAQ About Using External Cascading Style Sheets
      Troubleshooting Cascading Style Sheets
    Choosing a Styled Display Format
      Report Display Formats
      Preserving Leading and Internal Blanks in Report Output
      Using Web Display Format: HTML
      Using Print Display Formats: PDF, PS
      Using Excel Display Formats: XLSX, EXL2K, EXL97, EXCEL
      Using PowerPoint Display Format
      Using PowerPoint PPTX Display Format
    Advanced StyleSheet Features
      Positioning a Report Component
      Controlling Column Title Underlining Using a StyleSheet Attribute
      Arranging Pages and Columns on a Page
      Wrapping and Justifying Report Components
      Alignment of Fields in Reports Using OVER in PDF Report Output
      Aligning Heading and Footing Elements
      Support for Repeated Headings and Footings on Panels in PDF Report Output
      Adding Grids and Borders
      Displaying Superscripts On Data, Heading, and Footing Lines
      Adding an Image to a Report
      Linking in a Report
      Working With Mailing Labels and Multi-Pane Pages
    Handling Records With Missing Field Values
      Irrelevant Report Data
      Missing Field Values
      Handling a Missing Segment Instance
      Setting the NODATA Character String
    Joining Data Sources
      Types of Joins
      How the JOIN Command Works
      Creating an Equijoin
      Using a Conditional Join
      Full Outer Joins for Relational Data Sources
      Adding a New Fact To Multi-Fact Synonyms: JOIN AS_ROOT
      Joining From a Multi-Fact Synonym
      Invoking Context Analysis for a Star Schema With a Fan Trap
      Adding DBA Restrictions to the Join Condition: SET DBAJOIN
      Preserving Virtual Fields During Join Parsing
      Displaying Joined Structures
      Clearing Joined Structures
    Merging Data Sources
      Merging Data
      Types of MATCH Processing
      MATCH Processing With Common High-Order Sort Fields
      MATCH Processing Without a Common High-Order Sort Field
      Fine-Tuning MATCH Processing
      Universal Concatenation
      Merging Concatenated Data Sources
      Cartesian Product
    Improving Report Processing
      Rotating a Data Structure for Enhanced Retrieval
      Optimizing Retrieval Speed for FOCUS Data Sources
      Automatic Indexed Retrieval
      Data Retrieval Using TABLEF
      Preserving the Internal Matrix of Your Last Report
      Compiling Expressions
    Creating Financial Reports With Financial Modeling Language (FML)
      Reporting With FML
      Creating Rows From Data
      Supplying Data Directly in a Request
      Performing Inter-Row Calculations
      Referring to Rows in Calculations
      Referring to Columns in Calculations
      Referring to Cells in Calculations
      Using Functions in RECAP Calculations
      Inserting Rows of Free Text
      Adding a Column to an FML Report
      Creating a Recursive Model
      Reporting Dynamically From a Hierarchy
      Customizing a Row Title
      Formatting an FML Report
      Suppressing the Display of Rows
      Saving and Retrieving Intermediate Report Results
      Creating HOLD Files From FML Reports
    Creating a Free-Form Report
      Creating a Free-Form Report
      Designing a Free-Form Report
    Creating Graphs: GRAPH
      Introduction
      Command Syntax
      Graph Forms
      Adjusting Graph Elements
      Special Topics
      Special Graphics Devices
      Command and SET Parameter Summary
    Using SQL to Create Reports
      Supported and Unsupported SQL Statements
      Using SQL Translator Commands
      SQL Translator Support for Date, Time, and Timestamp Fields
      Index Optimized Retrieval
      TABLEF Optimization
      SQL INSERT, UPDATE, and DELETE Commands
    Master Files and Diagrams
      Creating Sample Data Sources
      EMPLOYEE Data Source
      JOBFILE Data Source
      EDUCFILE Data Source
      SALES Data Source
      PROD Data Source
      CAR Data Source
      LEDGER Data Source
      FINANCE Data Source
      REGION Data Source
      COURSES Data Source
      EMPDATA Data Source
      EXPERSON Data Source
      TRAINING Data Source
      COURSE Data Source
      JOBHIST Data Source
      JOBLIST Data Source
      LOCATOR Data Source
      PERSINFO Data Source
      SALHIST Data Source
      PAYHIST File
      COMASTER File
      VIDEOTRK, MOVIES, and ITEMS Data Sources
      VIDEOTR2 Data Source
      Gotham Grinds Data Sources
      Century Corp Data Sources
    Error Messages
      Accessing Error Files
      Displaying Messages
    Table Syntax Summary and Limits
      TABLE Syntax Summary
      TABLEF Syntax Summary
      MATCH Syntax Summary
      FOR Syntax Summary
      TABLE Limits
    Writing User-Coded Programs to Create HOLD Files
      Arguments Used in Calls to Programs That Create HOLD Files
    Launch PDF
  Describing Data
    Understanding a Data Source Description
      A Note About Data Source Terminology
      What Is a Data Source Description?
      How an Application Uses a Data Source Description
      What Does a Master File Describe?
      Creating a Data Source Description
      Naming a Master File
      What Is in a Master File?
    Identifying a Data Source
      Identifying a Data Source Overview
      Specifying a Data Source Name: FILENAME
      Identifying a Data Source Type: SUFFIX
      Providing Descriptive Information for a Data Source: REMARKS
      Specifying a Physical File Name: DATASET
    Describing a Group of Fields
      Defining a Single Group of Fields
      Identifying a Logical View: Redefining a Segment
      Relating Multiple Groups of Fields
      Logical Dependence: The Parent-Child Relationship
      Logical Independence: Multiple Paths
      Cardinal Relationships Between Segments
      One-to-One Relationship
      One-to-Many Relationship
      Many-to-Many Relationship
      Recursive Relationships
      Relating Segments From Different Types of Data Sources
      Rotating a Data Source: An Alternate View
    Describing an Individual Field
      Field Characteristics
      The Field Name: FIELDNAME
      The Field Synonym: ALIAS
      The Displayed Data Type: USAGE
      The Stored Data Type: ACTUAL
      Null or MISSING Values: MISSING
      Describing an FML Hierarchy
      Validating Data: ACCEPT
      Online Help Information: HELPMESSAGE
      Alternative Report Column Titles: TITLE
      Documenting the Field: DESCRIPTION
      Multilingual Metadata
      Describing a Virtual Field: DEFINE
      Parameterizing Master and Access File Values Using Variables
      Describing a Filter: FILTER
      Describing a Calculated Value: COMPUTE
      Converting Alphanumeric Dates to FOCUS Dates
    Describing a Sequential, VSAM, or ISAM Data Source
      Sequential Data Source Formats
      Standard Master File Attributes for a Sequential Data Source
      Standard Master File Attributes for a VSAM or ISAM Data Source
      Describing a Multiply Occurring Field in a Free-Format Data Source
      Describing a Multiply Occurring Field in a Fixed-Format, VSAM, or ISAM Data Source
      Redefining a Field in a Non-FOCUS Data Source
      Extra-Large Record Length Support
      Describing Multiple Record Types
      Combining Multiply Occurring Fields and Multiple Record Types
      Establishing VSAM Data and Index Buffers
      Using a VSAM Alternate Index
      Describing a Token-Delimited Data Source
      Reading a Complex Data Source With a User-Written Procedure
    Describing a FOCUS Data Source
      Types of FOCUS Data Sources
      Designing a FOCUS Data Source
      Describing a Single Segment
      GROUP Attribute
      ACCEPT Attribute
      INDEX Attribute
      Describing a Partitioned FOCUS Data Source
      Multi-Dimensional Index (MDI)
    Defining a Join in a Master File
      Join Types
      Static Joins Defined in the Master File: SEGTYPE = KU and KM
      Using Cross-Referenced Descendant Segments: SEGTYPE = KL and KLU
      Dynamic Joins Defined in the Master File: SEGTYPE = DKU and DKM
      Comparing Static and Dynamic Joins
      Joining to One Cross-Referenced Segment From Several Host Segments
    Checking and Changing a Master File: CHECK
      Checking a Data Source Description
      CHECK Command Display
      PICTURE Option
      HOLD Option
    Accessing a FOCUS Data Source: USE
      USE Command
      Specifying a Non-Default File ID
      Identifying New Data Sources to FOCUS
      Accessing Data Sources in Read-Only Mode
      Concatenating Data Sources
      Accessing Simultaneous Usage Data Sources
      Displaying the USE Options in Effect
    Providing Data Source Security: DBA
      Introduction to Data Source Security
      Implementing Data Source Security
      Specifying an Access Type: The ACCESS Attribute
      Limiting Data Source Access: The RESTRICT Attribute
      Controlling the Source of Access Restrictions in a Multi-file Structure
      Placing Security Information in a Central Master File
      Summary of Security Attributes
      Hiding Restriction Rules: The ENCRYPT Command
      FOCEXEC Security
      Program Accounting/Resource Limitation
      Absolute File Integrity
    Master Files and Diagrams
      Creating Sample Data Sources
      EMPLOYEE Data Source
      JOBFILE Data Source
      EDUCFILE Data Source
      SALES Data Source
      PROD Data Source
      CAR Data Source
      LEDGER Data Source
      FINANCE Data Source
      REGION Data Source
      COURSES Data Source
      EMPDATA Data Source
      EXPERSON Data Source
      TRAINING Data Source
      COURSE Data Source
      JOBHIST Data Source
      JOBLIST Data Source
      LOCATOR Data Source
      PERSINFO Data Source
      SALHIST Data Source
      PAYHIST File
      COMASTER File
      VIDEOTRK, MOVIES, and ITEMS Data Sources
      VIDEOTR2 Data Source
      Gotham Grinds Data Sources
      Century Corp Data Sources
    Error Messages
      Accessing Error Files
      Displaying Messages
    User Exits for a Non-FOCUS Data Source
      Dynamic and Re-Entrant Private User Exit of the FOCSAM Interface
      User-coded Data Access Modules
      Re-Entrant VSAM Compression Exit: ZCOMP1
    Rounding in FOCUS
      Data Storage and Display
      Rounding in Calculations and Conversions
    File Description Attribute Summary
      Overview of File Descriptions
      Master File Attributes
      Access File Attributes
      Related Commands
    Launch PDF
  Developing Applications
    Customizing Your Environment
      The SET Command
      Types of SET Parameters
      SET Parameter Syntax
    Managing Applications
      What Is an Application?
      Application Commands Overview
      Search Path Management Commands
      Application and File Management Commands
      Output Redirection Commands
      Application Metadata Commands and Catalog Metadata
      APP HELP
      Accessing Metadata and Procedures
      Allocating Temporary Files
      Temporary Disk Space Usage
    Testing and Debugging With Query Commands
      Using Query Commands
      ? COMBINE
      ? DEFINE
      ?F
      ? FDT
      ?FF
      ? FILE
      ? FUNCTION
      ? HOLD
      ? JOIN
      Displaying a Multi-Dimensional Index (MDI)
      ? LANG
      Displaying LET Substitutions
      Displaying Information About Loaded Files
      Displaying Explanations of Error Messages
      Displaying PF Key Assignments
      ? RELEASE
      ? SET
      ? SET NOT
      ? SET GRAPH
      ? SITECODE
      ? STAT
      ? STYLE
      ? SU
      ? USE
      Displaying Global Variable Values
      Reporting Dynamically From System Tables
    Managing Flow of Control in an Application
      Uses for Dialogue Manager
      Dialogue Manager Processing
      Creating a Procedure
      Executing and Terminating a Procedure
      Navigating a Procedure
      Using Variables in a Procedure
      Supplying and Verifying Values for Variables
      Manipulating and Testing Variables
      Using Numeric Amper Variables in Functions
      Debugging a Procedure
      Issuing an Operating System Command
      Dialogue Manager Quick Reference
    Defining a Word Substitution
      The LET Command
      Variable Substitution
      Null Substitution
      Multiple-Line Substitution
      Recursive Substitution
      Using a LET Substitution in a COMPUTE or DEFINE Command
      Checking Current LET Substitutions
      Interactive LET Query: LET ECHO
      Clearing LET Substitutions
      Saving LET Substitutions in a File
      Assigning Phrases to Function Keys
    Enhancing Application Performance
      FOCUS Facilities
      Loading a File
      Compiling a MODIFY Request
      Saving Master Files in Memory for Reuse
      Accessing a FOCUS Data Source
    Working With Cross-Century Dates
      When Do You Use the Sliding Window Technique?
      The Sliding Window Technique
      Applying the Sliding Window Technique
      Defining a Global Window With SET
      Defining a Dynamic Global Window With SET
      Querying the Current Global Value of DEFCENT and YRTHRESH
      Defining a File-Level or Field-Level Window in a Master File
      Defining a Window for a Virtual Field
      Defining a Window for a Calculated Value
      Additional Support for Cross-Century Dates
    Euro Currency Support
      Integrating the Euro Currency
      Converting Currencies
      Creating the Currency Data Source
      Identifying Fields That Contain Currency Data
      Activating the Currency Data Source
      Processing Currency Data
      Querying the Currency Data Source in Effect
      Punctuating Numbers
      Selecting an Extended Currency Symbol
    Designing Windows With Window Painter
      Introduction
      Window Files and Windows
      Integrating Windows and the FOCEXEC
      Tutorial: A Menu-Driven Application
      Window Painter Screens
      Transferring Window Files
    Master Files and Diagrams
      Creating Sample Data Sources
      EMPLOYEE Data Source
      JOBFILE Data Source
      EDUCFILE Data Source
      SALES Data Source
      PROD Data Source
      CAR Data Source
      LEDGER Data Source
      FINANCE Data Source
      REGION Data Source
      COURSES Data Source
      EMPDATA Data Source
      EXPERSON Data Source
      TRAINING Data Source
      COURSE Data Source
      JOBHIST Data Source
      JOBLIST Data Source
      LOCATOR Data Source
      PERSINFO Data Source
      SALHIST Data Source
      PAYHIST File
      COMASTER File
      VIDEOTRK, MOVIES, and ITEMS Data Sources
      VIDEOTR2 Data Source
      Gotham Grinds Data Sources
      Century Corp Data Sources
    Error Messages
      Accessing Error Files
      Displaying