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 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
  Installation Guides
    z/OS Installation Guide
      Introduction to FOCUS Version 7.7
        Overview of FOCUS 7.7
        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
        Specifying Non-Standard Data Set Names
        Creating a CLIST or Batch Job to Invoke the Installed Version of FOCUS
        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
    FOCUS Scanning Utility: SCANFOC
      Upgrade Considerations Found by SCANFOC
        FOCUS 7.7.06 Upgrade Considerations Found by SCANFOC
        FOCUS 7.7.09 Upgrade Considerations Found by SCANFOC
      Running the FOCUS Scanning Utility
        SCANFOC Running Environments
        Option 1: Reviewing Master Files
        Option 2: Finding a Specific Value
        Option 3: Changing One Value to Another
        Option 5: Scanning for Possible Upgrade Issues
      Launch PDF
    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.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 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
  Installation Guides
    z/OS Installation Guide
      Introduction to FOCUS Version 7.7
        Overview of FOCUS 7.7
        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
        Specifying Non-Standard Data Set Names
        Creating a CLIST or Batch Job to Invoke the Installed Version of FOCUS
        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
    FOCUS Scanning Utility: SCANFOC
      Upgrade Considerations Found by SCANFOC
        FOCUS 7.7.06 Upgrade Considerations Found by SCANFOC
        FOCUS 7.7.09 Upgrade Considerations Found by SCANFOC
      Running the FOCUS Scanning Utility
        SCANFOC Running Environments
        Option 1: Reviewing Master Files
        Option 2: Finding a Specific Value
        Option 3: Changing One Value to Another
        Option 5: Scanning for Possible Upgrade Issues
      Launch PDF
    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.03
  Summary of New Features
    Creating an Active Technologies Report
      Creating an Active HTML Output File
    Reporting Enhancements
      Summarizing Alphanumeric Columns
      Propagating Mixed-Case Column Titles to a HOLD File
      Column Titles for FML and BY ROWS OVER Requests
      Controlling Column Title Underlining
      Improved Support for Multiple DST Operators in the Same Request
      Testing For Null Values in Left Outer Join Requests
      Ignoring ON Phrases for Absent Fields
      Controlling Collation Sequence
      Using Distinct Operators on Multiple Fields
      Multiple Conditional Headings and Footings
      Displaying Summary Lines Above the Data
      Selecting Records Without Wildcard Characters
      TITLE and DESCRIPTION for a Virtual Field
    General Enhancements
      LCWORD3: Converting a Character String to Mixed-Case
      FIYR: Obtaining the Financial Year
      FIQTR: Obtaining the Financial Quarter
      FIYYQ: Converting a Calendar Date to a Financial Date
      Access Restrictions in a Multi-File Structure
      Displaying Absolute Values
      Converting Fields Using the FPRINT Function
      Returning a Date Component as an Integer
      Preventing Procedure Code From Displaying
      Reading Master File Fields Into Dialogue Manager Variables
      Retrieving the Current Date or Date-Time Value in Any Valid Format
    Database Enhancements
      Restricting Access to Values Using WHERE Criteria
      32 Gigabyte XFOCUS Data Sources
    Output Format Enhancements
      Passing FOCUS Dates to Excel 2000/2003
      Hiding Null Columns in ACROSS Groups
      Using Overflow Worksheets for EXL2K Report Output
      Positioning ACROSS Titles on Report Output
      Adding and Configuring Fonts
    Adapter Enhancements
      DEFINE FUNCTION Optimization
      SQL.Function Syntax for Direct DBMS Function Calls
      Optimizing Non-Equality WHERE-based Left Outer Joins
      Optimization of SUBSTR and SUBSTV Functions
      Optimization of DATEADD and HADD Functions for YEAR and MONTH
      IF-THEN-ELSE Optimization Enhancement
      Optimizing IF-THEN-ELSE Using CASE
      Passing the Exact Number of Trailing Blanks to the DBMS
      Capturing Rows Affected by Direct SQL Passthru Commands as Dialogue Manager Variables
      Passing the Equivalent of FOCUS PCT to the SQL Engine
      Using the DPART Function in SQL Generation
      Optimization of the HPART, DPART, HDIFF, HDATE, and DATEDIF Functions
      Passing Virtual Fields Defined as Constants to an SQL Engine
      Improved Error Diagnostics in Expression Generation
      DB2 DSN3SATH Support for CA-ACF2
      CAF Support for SQL Statements With Lengths Greater Than 32K
      Support for DB2 Change Data Capture on z/OS
      Passing the SUBSTR Character Function to SQL
      Support of Multirow-Fetch for DB2 (CAF)
      Support for Oracle BIGINT Data Type
      Support for Oracle Change Data Capture (CDC)
      Enhanced DECIMAL Data Type Support for Oracle
    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
    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 Your System Editor With IEDIT
      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
    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
    Recording and Replaying a FOCUS Session
      Introduction to FOCREPLAY
      Configuring FOCREPLAY
      Recording a FOCUS Session
      Replaying a Recorded FOCUS Session
      Comparing a Recorded Session With a Replayed Session
      Stopping Replay at a Break Point
      Re-recording From the Middle or End of a Script
    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
    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 Hot Screen
      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
      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
    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 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
    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 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: EXL2K, EXL97, EXCEL
      Using PowerPoint Display Format
    Advanced StyleSheet Features
      Positioning a Report Component
      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
      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
      Preserving Virtual Fields During Join Parsing
      Displaying Joined Structures
      Clearing Joined Structures
    Merging Data Sources
      Merging Data
      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 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
    Testing and Debugging With Query Commands
      Using Query Commands
      Displaying Combined Structures
      Displaying Virtual Fields
      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 a Multi-Dimensional Index (MDI)
      Displaying National Language Support
      Displaying LET Substitutions
      Displaying Information About Loaded Files
      Displaying Explanations of Error Messages
      Displaying PF Key Assignments
      Querying PTFs for a Release
      Displaying the Release Number
      Displaying Parameter Settings
      Displaying Parameter Values Categorized by Functional Area
      Displaying Parameters That Cannot Be Set in an Area
      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
    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
  z/OS Installation Guide
    Introduction to FOCUS Version 7.7
      Overview of FOCUS 7.7
      FOCUS 7.7 Allocations
      Editing Library Members
      FAQ About FOCUS 7.7
    Installing or Refreshing FOCUS With ISETUP
      Introduction to ISETUP
      Installing FOCUS Using ISETUP
      Refreshing FOCUS Using ISETUP
      ISETUP Messages
      Specifying Non-Standard Data Set Names
      Creating a CLIST or Batch Job to Invoke the Installed or Refreshed Version of FOCUS
      Moving the Installed or Refreshed 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
      Configuring FOCUS for National Language Support (NLS) Services
      Installing the IEDIT Feature
    User Exits
      User-Coded Password Security Interface
    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
  Data Adapter Documentation
    Relational Data Adapter User's Manual
      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 DB2 Installation Guide
      Before You Begin
        Pre-Installation Requirements
        Maintenance
      Installing the Adapter for DB2 to Use CLI
        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
        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
      Launch PDF
    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 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
  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
    FOCUS 7.7.03 Release Notes
  Summary of New Features
    Creating an Active Technologies Report
      Creating an Active HTML Output File
    Reporting Enhancements
      Summarizing Alphanumeric Columns
      Propagating Mixed-Case Column Titles to a HOLD File
      Column Titles for FML and BY ROWS OVER Requests
      Controlling Column Title Underlining
      Improved Support for Multiple DST Operators in the Same Request
      Testing For Null Values in Left Outer Join Requests
      Ignoring ON Phrases for Absent Fields
      Controlling Collation Sequence
      Using Distinct Operators on Multiple Fields
      Multiple Conditional Headings and Footings
      Displaying Summary Lines Above the Data
      Selecting Records Without Wildcard Characters
      TITLE and DESCRIPTION for a Virtual Field
    General Enhancements
      LCWORD3: Converting a Character String to Mixed-Case
      FIYR: Obtaining the Financial Year
      FIQTR: Obtaining the Financial Quarter
      FIYYQ: Converting a Calendar Date to a Financial Date
      Access Restrictions in a Multi-File Structure
      Displaying Absolute Values
      Converting Fields Using the FPRINT Function
      Returning a Date Component as an Integer
      Preventing Procedure Code From Displaying
      Reading Master File Fields Into Dialogue Manager Variables
      Retrieving the Current Date or Date-Time Value in Any Valid Format
    Database Enhancements
      Restricting Access to Values Using WHERE Criteria
      32 Gigabyte XFOCUS Data Sources
    Output Format Enhancements
      Passing FOCUS Dates to Excel 2000/2003
      Hiding Null Columns in ACROSS Groups
      Using Overflow Worksheets for EXL2K Report Output
      Positioning ACROSS Titles on Report Output
      Adding and Configuring Fonts
    Adapter Enhancements
      DEFINE FUNCTION Optimization
      SQL.Function Syntax for Direct DBMS Function Calls
      Optimizing Non-Equality WHERE-based Left Outer Joins
      Optimization of SUBSTR and SUBSTV Functions
      Optimization of DATEADD and HADD Functions for YEAR and MONTH
      IF-THEN-ELSE Optimization Enhancement
      Optimizing IF-THEN-ELSE Using CASE
      Passing the Exact Number of Trailing Blanks to the DBMS
      Capturing Rows Affected by Direct SQL Passthru Commands as Dialogue Manager Variables
      Passing the Equivalent of FOCUS PCT to the SQL Engine
      Using the DPART Function in SQL Generation
      Optimization of the HPART, DPART, HDIFF, HDATE, and DATEDIF Functions
      Passing Virtual Fields Defined as Constants to an SQL Engine
      Improved Error Diagnostics in Expression Generation
      DB2 DSN3SATH Support for CA-ACF2
      CAF Support for SQL Statements With Lengths Greater Than 32K
      Support for DB2 Change Data Capture on z/OS
      Passing the SUBSTR Character Function to SQL
      Support of Multirow-Fetch for DB2 (CAF)
      Support for Oracle BIGINT Data Type
      Support for Oracle Change Data Capture (CDC)
      Enhanced DECIMAL Data Type Support for Oracle
    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
    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 Your System Editor With IEDIT
      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
    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
    Recording and Replaying a FOCUS Session
      Introduction to FOCREPLAY
      Configuring FOCREPLAY
      Recording a FOCUS Session
      Replaying a Recorded FOCUS Session
      Comparing a Recorded Session With a Replayed Session
      Stopping Replay at a Break Point
      Re-recording From the Middle or End of a Script
    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
    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 Hot Screen
      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
      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
    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 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
    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 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: EXL2K, EXL97, EXCEL
      Using PowerPoint Display Format
    Advanced StyleSheet Features
      Positioning a Report Component
      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
      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
      Preserving Virtual Fields During Join Parsing
      Displaying Joined Structures
      Clearing Joined Structures
    Merging Data Sources
      Merging Data
      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 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
    Testing and Debugging With Query Commands
      Using Query Commands
      Displaying Combined Structures
      Displaying Virtual Fields
      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 a Multi-Dimensional Index (MDI)
      Displaying National Language Support
      Displaying LET Substitutions
      Displaying Information About Loaded Files
      Displaying Explanations of Error Messages
      Displaying PF Key Assignments
      Querying PTFs for a Release
      Displaying the Release Number
      Displaying Parameter Settings
      Displaying Parameter Values Categorized by Functional Area
      Displaying Parameters That Cannot Be Set in an Area
      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
    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
  z/OS Installation Guide
    Introduction to FOCUS Version 7.7
      Overview of FOCUS 7.7
      FOCUS 7.7 Allocations
      Editing Library Members
      FAQ About FOCUS 7.7
    Installing or Refreshing FOCUS With ISETUP
      Introduction to ISETUP
      Installing FOCUS Using ISETUP
      Refreshing FOCUS Using ISETUP
      ISETUP Messages
      Specifying Non-Standard Data Set Names
      Creating a CLIST or Batch Job to Invoke the Installed or Refreshed Version of FOCUS
      Moving the Installed or Refreshed 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
      Configuring FOCUS for National Language Support (NLS) Services
      Installing the IEDIT Feature
    User Exits
      User-Coded Password Security Interface
    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
  Data Adapter Documentation
    Relational Data Adapter User's Manual
      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 DB2 Installation Guide
      Before You Begin
        Pre-Installation Requirements
        Maintenance
      Installing the Adapter for DB2 to Use CLI
        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
        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
      Launch PDF
    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 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
  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
    FOCUS 7.7.03 Release Notes
Release 7.6
  Summary of New Features
    Performance Enhancements
      Features Added in FOCUS 7.6.1
      Features Added in FOCUS 7.6.10
    Reporting Enhancements
      Features Added in FOCUS 7.6.1
      Features Added in FOCUS 7.6.2
      Features Added in FOCUS 7.6.3
      Features Added in FOCUS 7.6.7
      Features Added in FOCUS 7.6.9
      Features Added in FOCUS 7.6.11
    Output Format Enhancements
      Features Added in FOCUS 7.6.1
      Features Added in FOCUS 7.6.5
      Features Added in FOCUS 7.6.7
      Features Added in FOCUS 7.6.9
      Features Added in FOCUS 7.6.11
      Features Added in FOCUS 7.6.12
      Features Added in FOCUS 7.6.13
    General Enhancements
      Features Added in FOCUS 7.6.1
      Features Added in FOCUS 7.6.3
      Features Added in FOCUS 7.6.4
      Features Added in FOCUS 7.6.5
      Features Added in FOCUS 7.6.7
      Features Added in FOCUS 7.6.9
      Features Added in FOCUS 7.6.13
    Database Enhancements
      Features Added in FOCUS 7.6.1
      Features Added in FOCUS 7.6.5
      Features Added in FOCUS 7.6.9
    MODIFY Enhancements
      Loading Fixed Format Sequential Files Using MODIFY
      MODIFY FIXFORM Support for Multiple Text Fields
      Controlling Whether FIXFORM Input Fields Are Conditional
    Adapter Enhancements
      Features Added in FOCUS 7.6.1
      Features Added in FOCUS 7.6.11
      Features Added in FOCUS 7.6.12
    Raised Limits
      Features Added in FOCUS 7.6.1
      Features Added in FOCUS 7.6.9
      Features Added in FOCUS 7.6.13
    FOCREPLAY: Recording and Playing Back a FOCUS Session
      Overview of FOCREPLAY
      Configuring FOCREPLAY
      Recording a FOCUS Session
      Replaying a Recorded FOCUS Session
      Comparing a Recorded Session With a Replayed Session
      Stopping Replay at a Break Point
      Re-recording From the Middle or End of a Script
    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
    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 Your System Editor With IEDIT
      Editing Files With IEDIT
      IEDIT Facilities on CMS
      Installing IEDIT on z/OS
      Installing IEDIT on CMS
      Using IEDIT on CMS
      Using IEDIT on z/OS
    Terminal Operator Environment
      Illustrating the Terminal Operator Environment
      Invoking the Terminal Operator Environment
      Activating a Window
      Types of Windows
      Window Commands
    CMS Guide to Operations
      Referencing Files
      Application Files
      Extract Files
      Work Files
      FOCUS Facilities Under CMS
    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
    Recording and Replaying a FOCUS Session
      Introduction to FOCREPLAY
      Configuring FOCREPLAY
      Recording a FOCUS Session
      Replaying a Recorded FOCUS Session
      Comparing a Recorded Session With a Replayed Session
      Stopping Replay at a Break Point
      Re-recording From the Middle or End of a Script
    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
    Storing Terminal Lines in Memory: The Session Monitor
      Session Monitor Overview
      Displaying the Session Monitor Stack
      Saving Session Monitor Lines
      Transferring FOCUS Commands to the TED Editor
    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 Hot Screen
      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
      Manipulating Display Field Values in a Sort Group
      Creating a Matrix Report
      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
    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
      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
      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 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
    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 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
    Working With Styled Output Formats
      Working With HTML Reports
      Working With Excel 2000 and Excel 97 Reports
      Working With PostScript and PDF Reports
    Advanced StyleSheet Features
      Positioning a Report Component
      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
      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
      Preserving Virtual Fields During Join Parsing
      Displaying Joined Structures
      Clearing Joined Structures
    Merging Data Sources
      Merging Data
      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
      Producing Multiple Outputs in One Pass of a Data Source (Pooled Tables)
    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
      TABLE Syntax Summary
      TABLEF Syntax Summary
      MATCH Syntax Summary
      FOR Syntax Summary
    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
      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
      Using the LOCATION Attribute
      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
      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
    Testing and Debugging With Query Commands
      Using Query Commands
      Displaying Combined Structures
      Displaying Virtual Fields
      Displaying Available Fields
      Displaying the File Directory Table
      Displaying Field Information for a Master File
      Displaying Data Source Statistics
      Displaying Defined Functions
      Displaying HiperBudget Limits and Usage
      Displaying HOLD Fields
      Displaying JOIN Structures
      Displaying a Multi-Dimensional Index (MDI)
      Displaying National Language Support
      Displaying LET Substitutions
      Displaying Information About Loaded Files
      Displaying Explanations of Error Messages
      Displaying PF Key Assignments
      Querying PTFs for a Release
      Displaying the Release Number
      Displaying Parameter Settings
      Displaying Parameter Values Categorized by Functional Area
      Displaying Parameters That Cannot Be Set in an Area
      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
    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 (z/OS Only)
      Enhancing File Management With HiperFOCUS
    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 Character 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
      Character Functions for AnV Fields
      Character Functions for DBCS Code Pages
    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
      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 a Value From a Lookup Data Source
      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 and Time Functions
      Date and Time Function Notes
      Date and Time Function Terminology
      Using Standard Date and Time 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
      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 in Numeric Format
      HSETPT: Inserting a Component Into a Date-Time Value
      HTIME: Converting the Time Portion of a Date-Time Value to a Number
      HYYWD: Returning the Year and Week Number From a Date-Time Value
      TIMETOTS: Converting a Time to a Timestamp
      TODAY: Returning the Current Date
      Using Legacy Date Functions
      AYM: Adding or Subtracting Months to or From Dates
      AYMD: Adding or Subtracting Days to or From a Date
      CHGDAT: Changing How a Date String Displays
      DA Functions: Converting a 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
    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
      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
      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 and NORMSINV: Calculating 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
      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
      HHMMSS: Retrieving the Current Time
      MVSDYNAM: Passing a DYNAM Command to the Command Processor
      SLEEP: Suspending Execution for a Given Number of Seconds
      TODAY: Returning the Current Date
    Input/Output Functions
      PUTDDREC and CLSDDREC: Opening, Closing, and Writing Files
    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
  Installation Guides
    z/OS Installation Guide Version 7.6.10
      Features and Components
        Mainframes and Operating Systems
        Installed Features
        The FOCUS Libraries
        Data Set Naming Conventions
        Virtual Storage Requirements for FOCUS and SU
      Refreshing or Upgrading FOCUS With ISETUP
        How to Choose Between the Refresh and Upgrade Functions
        About the ISETUP Procedure
        Overview of the ISETUP Procedure
        Using ISETUP
      Basic Installation Steps
        Allocate Disk Space for FOCUS Libraries
        Unload the FOCUS Distribution Tape
        Install the FOCUS Site Code
        Select FOCUS Default Startup Options
        Test the Basic FOCUS System
        Install Link-Edited User Exits and Change Defaults
        Install the Re-entrant FOCUS Modules
        Re-block the FOCUS Modules
        Install High-Resolution Graphics for 3270 Type Terminals
        Install the IBI Subsystem
        Install the Simultaneous Usage (SU) Facility
        Create TSO Logon Procedures and Allocation CLISTs
      Installing the FOCUS Licensing File
        Obtaining a Personalized FLICENSE File
      Customizing FOCUS
        Changing the FOCUS Defaults
        Installing HiperFOCUS
        Installing the FOCUS Menu
        Installing the FOCUS ToolKit
        Configuring z/OS FOCUS for National Language Support (NLS) Services
        Installing the IEDIT Feature
      User Exits
        Usage Accounting Exit: UACCT
        Data Set Naming Enforcement (DSNCHK)
        User-Coded Password Security Interface
      Interface Installation
        Installing and Using an External Password Security System
        Installing the ICU Interface
        Installing the FOCCALC Graphics Facility
      Maintenance
        FOCUS Release Numbering
        The Release Signature
        Corrections to Reported Problems
        Release Tapes
        Load Libraries and Maintenance Libraries
        Applying Maintenance on z/OS
        The FOCMAP Utility
      Subsystem Sample JCL and Zaps
        SUBSYSNM: Changing the Subsystem Name
        SUBSYSCP: Copying SUBSYSI Into a Separate Library
        SUBSYSIJ: Running SUBSYSI
        SUBSYSIH: Starting the Subsystem and Initializing HiperBUDGET
        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
    z/OS Installation Guide Version 7.6.11
      Features and Components
        Mainframes and Operating Systems
        Installed Features
        The FOCUS Libraries
        Data Set Naming Conventions
        Virtual Storage Requirements for FOCUS and SU
      Refreshing or Upgrading FOCUS With ISETUP
        How to Choose Between the Refresh and Upgrade Functions
        About the ISETUP Procedure
        Overview of the ISETUP Procedure
        Using ISETUP
      Basic Installation Steps
        Allocate Disk Space for FOCUS Libraries
        Unload the FOCUS Distribution Tape
        Install the FOCUS Site Code
        Select FOCUS Default Startup Options
        Test the Basic FOCUS System
        Install Link-Edited User Exits and Change Defaults
        Install the Re-entrant FOCUS Modules
        Re-block the FOCUS Modules
        Install High-Resolution Graphics for 3270 Type Terminals
        Install the IBI Subsystem
        Install the Simultaneous Usage (SU) Facility
        Create TSO Logon Procedures and Allocation CLISTs
      Installing the FOCUS Licensing File
        Obtaining a Personalized FLICENSE File
      Customizing FOCUS
        Changing the FOCUS Defaults
        Installing HiperFOCUS
        Installing the FOCUS Menu
        Installing the FOCUS ToolKit
        Configuring z/OS FOCUS for National Language Support (NLS) Services
        Installing the IEDIT Feature
      User Exits
        Usage Accounting Exit: UACCT
        Data Set Naming Enforcement (DSNCHK)
        User-Coded Password Security Interface
      Interface Installation
        Installing and Using an External Password Security System
        Installing the ICU Interface
        Installing the FOCCALC Graphics Facility
      Maintenance
        FOCUS Release Numbering
        The Release Signature
        Corrections to Reported Problems
        Release Tapes
        Load Libraries and Maintenance Libraries
        Applying Maintenance on z/OS
        The FOCMAP Utility
      Subsystem Sample JCL and Zaps
        SUBSYSNM: Changing the Subsystem Name
        SUBSYSCP: Copying SUBSYSI Into a Separate Library
        SUBSYSIJ: Running SUBSYSI
        SUBSYSIH: Starting the Subsystem and Initializing HiperBUDGET
        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
    z/OS Installation Guide Version 7.6.13
      Features and Components
        Mainframes and Operating Systems
        Installed Features
        The FOCUS Libraries
        Data Set Naming Conventions
        Virtual Storage Requirements for FOCUS and SU
      Refreshing or Upgrading FOCUS With ISETUP
        How to Choose Between the Refresh and Upgrade Functions
        About the ISETUP Procedure
        Overview of the ISETUP Procedure
        Using ISETUP
      Basic Installation Steps
        Allocate Disk Space for FOCUS Libraries
        Unload the FOCUS Distribution Tape
        Install the FOCUS Site Code
        Select FOCUS Default Startup Options
        Test the Basic FOCUS System
        Install Link-Edited User Exits and Change Defaults
        Install the Re-entrant FOCUS Modules
        Re-block the FOCUS Modules
        Install High-Resolution Graphics for 3270 Type Terminals
        Install the IBI Subsystem
        Install the Simultaneous Usage (SU) Facility
        Create TSO Logon Procedures and Allocation CLISTs
      Installing the FOCUS Licensing File
        Obtaining a Personalized FLICENSE File
      Customizing FOCUS
        Changing the FOCUS Defaults
        Installing HiperFOCUS
        Installing the FOCUS Menu
        Installing the FOCUS ToolKit
        Configuring z/OS FOCUS for National Language Support (NLS) Services
        Installing the IEDIT Feature
      User Exits
        Usage Accounting Exit: UACCT
        Data Set Naming Enforcement (DSNCHK)
        User-Coded Password Security Interface
      Interface Installation
        Installing and Using an External Password Security System
        Installing the ICU Interface
        Installing the FOCCALC Graphics Facility
      Maintenance
        FOCUS Release Numbering
        The Release Signature
        Corrections to Reported Problems
        Release Tapes
        Load Libraries and Maintenance Libraries
        Applying Maintenance on z/OS
        The FOCMAP Utility
      Subsystem Sample JCL and Zaps
        SUBSYSNM: Changing the Subsystem Name
        SUBSYSCP: Copying SUBSYSI Into a Separate Library
        SUBSYSIJ: Running SUBSYSI
        SUBSYSIH: Starting the Subsystem and Initializing HiperBUDGET
        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
    CMS Installation Guide
      Features and Components
        Operating System
        Installed Features
        Virtual Machine Size Requirements
        DASD Requirements
        Shared Storage
        External Sort Considerations
      Basic Installation
        Installation Overview
        Define FOCUS Production and Maintenance Disks
        Unload the FOCUS Distribution Cartridge
        Download the FOCUS Files Electronically
        Modify the CMS EXEC That Generates FOCUS
        Install the FOCUS Site Code
        Select FOCUS Default Startup Options
        Generate FOCUS
        Test the Generated Version of FOCUS
        Move FOCUS to the Production Disk
        Test FOCUS on the Production Disk
        Link User IDs to the Production Disk
      Customizing FOCUS
        Changing FOCUS Limits
        Installing the FOCUS Menu
        Installing the FOCUS Toolkit
        Installing HiperFOCUS
        Installing FOCUS StyleSheets
        Configuring CMS FOCUS for NLS Services
      User Exits
        Usage Accounting Exit: UACCT
        Installing an External Password Security System
      Interface Installation
        Installing the FOCCALC Graphics Facility
        Considerations for Running the ICU Interface
      Maintenance
        FOCUS Release Numbering
        The Release Signature
        FOCUS Release Information
        Corrections to Reported Problems
        The Online Release Information
        Release Distribution Media
        Service Packs
        How to Apply an Individual PTF
      Common Mistakes During FOCUS Installation
        Possible Problem List
      User Written Subroutines
        Generating LOADLIB Members: The GENSUBLL EXEC
      Language Environment Support
        Language Environment Support
      Launch PDF
    CA-Datacom Data Adapter Installation Guide
      Introduction
        Before You Begin
        Pre-installation and Maintenance Requirements
      Installing the CA-Datacom Data Adapter
        Distribution Tape Contents
        Unload the Distribution Tape
        Create the User Requirements Table (URT) Access Modules
        Prepare the Run-time Libraries
        Allocate the Datacom Data Adapter Load Library
        Install the AUTODATACOM Facility
        Customize the FOCUS CLIST or JCL
        Verify the Data Adapter Installation
      Launch PDF
    CA-IDMS Data Adapter Installation Guide
      Before You Begin
        Pre-installation and Maintenance Requirements
      Installing the IDMS Data Adapter (MVS Only)
        Distribution Tape Contents
        Installation Process
        Getting Started Under MVS
        Accessing IDMS in Central Version and Local Mode
      Installing the IDMS Data Adapter (CMS Only)
        Getting Started Under CMS
        Preparing the IDMS Environments (Local and Central Version - CMS)
        Run-Time (CMS)
        Accessing the Data Adapter (CMS)
        Installing the AUTOIDMS Facility (CMS)
      User Written Exits
        IDMS ZBIND Exit (MVS Only)
        IDMS ZREADY Exit (MVS Only)
        IDMS ZBIND Exit (CMS Only)
        IDMS ZREADY Exit (CMS Only)
      Launch PDF
    Adapter for Oracle Installation Guide
       Before You Begin
        Pre-Installation Requirements
        Maintenance
       z/OS Instructions
        Installing the Adapter for Oracle on z/OS
        Meeting the Adapter Run-Time Requirements
       z/VM Instructions
        Installing the Adapter for Oracle on z/VM
        Meeting the Adapter Run-Time Requirements
        Special Installation Considerations
        Common Errors
      Launch PDF
  Data Adapter Documentation
    Relational Data Adapter User's Manual
      Introduction to Relational Data Adapters
        Relational Data Adapter Capabilities
        FOCUS and RDBMS Interaction
        The Data Adapter as an RDBMS Application
        Environment
        Ease of Use
        Efficiency
        Security
      Invoking Relational Data Adapters
        Getting Started Under MVS
        Getting Started Under VM/CMS
        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 Segments
      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 and AUTOSQL
        AUTODBC
        Results of the Master File Generation Facilities
        Creating Tables: The CREATE FILE Command
      The Data Adapter Optimizer
        Optimizing Requests
        Optimization Logic
        Optimizing Record Selection and Projection
        Optimizing Joins
        Optimizing Sorts
        Optimizing Aggregation
        Optimizing DEFINE Fields
        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
        Missing Rows of Data in Cross-referenced Tables
        JOIN Utilities
        Implementing Search Limits
        Oracle 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
      Environmental Commands
        Issuing Data Adapter Commands
        Querying Data Adapter Parameter Settings
        Parameters That Apply to Multiple Data 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
        Data 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
        Modifying Tables Without Primary Keys (DB2 for VM)
        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 and DB2 for VM)
         Static SQL Overview
        Static SQL Requirements
        Creating a Static Procedure for DB2
        Plan Management in DB2
        Creating a Static Procedure for DB2 for VM
        Using the SQL COMPILE and SQL RUN Facilities
        Resource Restrictions
      Additional Topics
        Status Return Variable: &RETCODE
        Default Date Considerations
        Standard FOCUS and Data Adapter Differences
        Remote Segment Descriptions
        Long Field Name Considerations
        Oracle Data Adapter Stored Procedure Support
        Differences Between the DB2 and DB2 for VM Data Adapters
        Querying the DB2 or DB2 for VM SYSCOLUMNS Catalog
        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 Data Adapter Messages
        Common SQL Return Codes for DB2 and DB2 for VM
        Common DBC Return Codes for Teradata
        Common User Errors and Corrections
        Accessing Data Adapter Messages
      File Descriptions and Tables
        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 Data Adapter Processing
        Available Traces
        Activating Traces
        Deactivating Traces
        Trace Activation and Deactivation Examples
        Querying Traces
        Allocating FSTRACE
      Launch PDF
    ADABAS Interface User's Manual and Installation Guide
      Introduction
        Operating Environments
        Security
      Getting Started
        Getting Started Under MVS
        Getting Started Under CMS
      ADABAS Overview and Mapping Considerations
        Overview of ADABAS
        ADABAS Files
        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
      Describing ADABAS Files to FOCUS
        Master Files
        Access Files
      Report Considerations
        File Navigation Techniques
        Selection Considerations
        Using the JOIN Command to Process Multiple Files
        Optimization With Null-suppression for CALLTYPE=RL
        Optimization on Group Fields
        Test on Group Field With Numerics
      Interface Navigation
        Entry Segment Retrieval of ADABAS Records
        Descendant Periodic Groups and Multi-value Fields
        Descendant ADABAS Records
      Environment Commands
        Multifetch and Prefetch Options
        ADABAS Dynamic Database Number
        Overriding Default Passwords in Specific Files
        Running in 24-bit Mode
        Optimization of the FIND Call Using Non-descriptor Fields
      Debugging Techniques
        Common Errors and Response Codes
        Using Traces
        Verifying the MVS Environment
        Verifying the CMS Environment
        Verification of Installation and AUTOADBS
        Follow-up
      Installation Instructions
        Pre-installation and Maintenance Requirements
        Installing the ADABAS Interface in MVS
        Installing the ADABAS Interface in CMS
      Interface 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-IDMS Data Adapter User's Manual
      Introduction to the CA-IDMS Data Adapter
        Ease of Use
        Operating Environments
        Efficiency
        Security
        Cross-Environment Access
        Core Requirements
      Getting Started
        Using the CA-IDMS Data Adapter Under MVS
        Using the CA-IDMS Data Adapter Under CMS
        Accessing the CA-IDMS Data Adapter
        File Descriptions
      IDMS Overview and Mapping Concepts
        Overview of IDMS
        Network Concepts
      CA-IDMS Data Adapter Master Files
        Accessing File Descriptions
        Master File Attributes
        Remote Segment Descriptions
        Intra-Record Structures: The OCCURS Segment
      CA-IDMS Data Adapter 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
      CA-IDMS Data Adapter 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 CA-IDMS Data Adapter Error Files
        Generating Error Messages Online
        Common Errors and Response Codes
      CA-IDMS Data Adapter 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 CA-IDMS Data Adapter Processing
        Using Traces
        Allocating Traces
        Activating, Deactivating, and Querying Traces
        Sample Traces
      Launch PDF
    IMS/DB Interface User's Manual and Installation Guide
      Introduction
        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
      Reporting Efficiencies
        Interface Optimization
        DL/I Calls
        Record Selection Tests
        The Dynamic JOIN Command
        Retrieval of Unique Segments
        JOINs With Selection Criteria
      Environments
        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 Interface Processing
        DLITRACE
        Interface Traces
      Release Dependent Interface Features
        The SET IMS Command
        Interface Environmental Commands
        Describing a Secondary Index Without Auto Index Selection
        Fixed Format FOCPSBs
        Accessing the BMP Extension
        Accessing IMS Databases From CMS
      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
    VSAM Write Data Adapter User's Manual
      Introduction
        Operating Environment Considerations
      Describing VSAM Data Sources to FOCUS
        Simple ISAM and Key-Sequenced VSAM Data Sources
        Complex and Key-Sequenced VSAM Data Sources
        Advanced Topics
      Maintaining VSAM Data Sources
        The IDCAMS Utility Program
        Accessing VSAM Data Sources
        Simultaneous Usage (SU) Mode for VSAM Data Sources in MVS
        Modifying Records: The MATCH and NEXT Statements
        Accessing Fields in Joined Data Structures With LOOKUP
        Modifying Multiple Data Sources: The COMBINE Facility
        Controlling the Current Record Position With REPOSITION
        Looping Through Files With REPEAT
        Modifying Variable-Length OCCURS Segments
        Modifying Fixed-Length OCCURS Segments
        Modifying Data Sources With Unrelated Records
      Debugging Techniques
      User Exits for Non-FOCUS Data Sources
        The Dynamic and Re-Entrant GNTINT Private User Exit
        User-coded Data Access Modules
        Re-Entrant VSAM Compression Exit: ZCOMP1
      Launch PDF
  Supplementary Documentation
    Simultaneous Usage Reference for CMS v7.6
      Introduction
        What is Simultaneous Usage?
        SU Communications
        How SU Processes Transactions
      Operating the Sink Machine
        Directory Requirements
        FILEDEFs
        Using the SU Profile
        Starting a Sink Machine
        Server Commands
        Stopping a Sink Machine
        Logging Activity in the HLIPRINT File
        Tracing Sink Machine Processing
        Security Considerations
        Multi-Threaded HLI/SU Reporting Facility
      SU and the FOCUS Language
        Using Centrally Controlled Databases
        Messages From the Sink Machine
        MODIFY and Maintain Facility Considerations
        Protecting Sink Transactions
        Performance Considerations
        SU Profile Commands for COMMIT and ROLLBACK
      SU and the Host Language Interface (HLI)
        Creating an HLI Module
        The File Communication Block (FCB)
        Closing Centrally Controlled Databases
        Writing Transactions From the Buffer
        Stopping a Sink Machine Using HLI Control Commands
        Communications Protocol
      Improving Performance
        Storing Central Databases On Disk
        Keeping Master Files Open on the Sink Machine
      FOCUS Error Messages
        Messages and Descriptions
      HLI Status Codes Returned in FCB Word
        Status Codes and Explanations
      Launch PDF
    Simultaneous Usage Reference for z/OS v7.6
      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 Using 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
        Status Codes and Explanations
      Launch PDF
    SiteAnalyzer for FOCUS VM and MVS Installation and Operations v7.6
      What Is SiteAnalyzer?
        SiteAnalyzer for Decision Support Analysis
        Uses for SiteAnalyzer: Performance Analysis
        Data Access Management and Performance Analysis
        Sample Data Access Questions
        How SiteAnalyzer Works
        SiteAnalyzer Administration
      Installing SiteAnalyzer for FOCUS VM
        Resource Prerequisites
        SiteAnalyzer Files Created During Installation
        Prerequisite Tasks
        Installation and Configuration Steps
        Starting the Sink Machine
        Starting SiteAnalyzer
        Stopping Usage Monitoring
        Reinstallation Considerations
      Installing SiteAnalyzer for FOCUS MVS
        Resource Prerequisites
        Dataset Prerequisites
        SiteAnalyzer Files Created During Installation
        Prerequisite Task
        Installation and Configuration Steps
        Starting SiteAnalyzer
        Stopping Usage Monitoring
        Reinstallation Considerations
        Running SiteAnalyzer in a Multi-LPAR Environment
      Usage Monitoring
        The Usage Monitoring Administrator
        Monitored Records Maintenance
      Displaying Reports
        Report Manager
        SiteAnalyzer Report Groups
        Report Display Options
        Custom Reports
        Report Descriptions
      Troubleshooting
        Potential Situations and Solutions
      A. Usage Monitoring and Administrative Databases Field Descriptions
        Administrative Databases
        SmartMode Administrative Databases
        Usage Monitoring Databases
        SmartMode Usage Monitoring Database
      Launch PDF
    SmartMode for FOCUS VM and MVS Installation and Operations v7.6
      Introducing SmartMode
        What Is SmartMode?
        SmartMode Administration
      Installing SmartMode for FOCUS VM
        Resource Prerequisites
        SmartMode Files Created During Installation
        Prerequisite Tasks
        Installation and Configuration Steps
        Starting the Sink Machine
        Starting SmartMode
        Stopping Usage Monitoring
        Reinstallation Considerations
      Installing SmartMode for FOCUS MVS
        Software Prerequisites
        Dataset Prerequisites
        SmartMode Files Created During Installation
        Prerequisite Tasks
        Installation and Configuration Steps
        Starting SmartMode
        Stopping Usage Monitoring
        Reinstallation Considerations
        Usage Accounting and APF Authorization
        Running SmartMode in a Multi-LPAR Environment
      Usage Monitoring
        The Usage Monitoring Administrator
        Monitoring by Database
        Global Monitoring
        Database Monitor/Govern Maintenance
        Monitored Records Maintenance
      Governing
        Resource Usage Limits - Shifts and Thresholds
        Building Rules
        Governing
        Custom Rules
        Using the ACTIVATE Command
      Displaying Reports
        The Reports Menu
      Troubleshooting
        Potential Situations and Solutions
      A. Usage Monitoring and Administrative Databases Field Descriptions
        Administrative Databases
        SmartMode Administrative Databases
        Usage Monitoring Databases
        SmartMode Usage Monitoring Database
      B. Business Rule Language Reference
        Using the Business Rule Language
        BRL Factual Information
      Launch PDF
    MSO Installation & Technical Reference Guide v7.2
      MSO Features and Components
        MSO Installation Requirements
        MSO Features
        Failure Processing
        MSO FOCUS Operation
        SmartMode for FOCUS
        HiperFOCUS
      Preparing for MSO
        MSO Issues
        OS/390 Issues
      MSO Technical Description
        Technical Overview
        CICS Access to MSO
        MSO Resource Manager
        The FastLoad Facility
        Internal APF Authorization
      MSO Capacity Planning and Performance
        Virtual Memory Requirements
        Region Size
        Real Memory Requirements
        MVS Performance Group Recommendations
        Data Set Allocation Limitations
      The MSO Configuration File
        Global Configuration
        Connectivity Options
        MSO Console Security
        MSO Diagnostic Facilities
        The Service Block
        MSO Load Balancing Configuration Parameters
        Obsolete Configuration File Commands
      Installing MSO
        Installing FOCUS
        System Programmer Tasks
        File Set Up
        Basic MSO Customization
        Installing MSO Components
        Installing Exits and Zaps
      Load Balancing
        MSO Load Balancing Configuration Parameters
        Load Balancing Logon Procedures
        Operational Troubleshooting
        Operational Benefits of MSO Load Balancing
      MSO/CICS Installation
        Preparing for Installation
        Installation Steps
        Installation Testing
        Operations
        End-User Issues
        Technical Description
        Troubleshooting
      Testing and Logging on to MSO
        VTAM Access
        CICS Access
        TSO Access
        Accessing Multiple MSO Regions
      MSO Usage Accounting
        Enabling Usage Accounting
        Processing SMF Records Using FOCUS
        SMF Fields Recorded
        Modifying and Redirecting SMF Records
      MSO Operator Commands
        MVS Operator Commands
        Examples of MSO Operator Commands
      MSO Security
        RACF Security for MSO
        CA-ACF2 Security for MSO
        CA-TOP SECRET Security for MSO
      The MSO Console
        Installation
        Operation
      Common Installation Problems and Solutions
        Diagnosing Installation Problems
        Diagnosing Storage Problems
        Diagnosing System Failures
        Applying Maintenance
      Site-Specific Customizations
        Exits
        User Written Subroutines
        ZAPs
        Environmental Subroutines and MSOINFO
      MSO/CICS Cooperative Processing
        MSO FOCEXEC Cooperative Processing Service
        MSO/CICS Cooperative Processing Services
        CMSORCV Function Codes
      Sample JCL for Installing MSO and CICS
        Sample JCL for Installing MSO
        Sample JCL for Installing CICS
      Installing MSO-Supported Data Adapters
      Security Implementation for DB2
        Steps for Modifying DSN3SATH
        Modifying DSN3SATH
      Glossary of Terms
        MSO Glossary of Terms
      Launch PDF
    COBOL FD Translator for S/390 User's Manual & Installation Guide Release 3.0
      Using the COBOL FD Translator
        Translator Prerequisites
        Isolating the COBOL FD
        Executing the COBOL FD Translator
        Entering Selections
        Generating the Master File
        Customizing the Master File
      Translator Options and Examples
        Fieldname Information
        Special Options Input andOutput
        Field Formatting
        Multiple Records as Input
        Maximum Number of Fields
        Year 2000
      Translator Reports
        Header Page
        Audit Report
        Message Report
        Debugging Report
      Warning and Error Messages
      Installation Instructions
        Pre-installation and Maintenance Requirements
        Installing COBOL FD Translator in MVS
        Installing COBOL FD Translator in VM/CMS
      Batch Execution
        MVS Batch
        VM/CMS Execution
      Using TED to Edit or Isolate the COBOL FD
      Launch PDF
  Summary of New Features
    Performance Enhancements
      Features Added in FOCUS 7.6.1
      Features Added in FOCUS 7.6.10
    Reporting Enhancements
      Features Added in FOCUS 7.6.1
      Features Added in FOCUS 7.6.2
      Features Added in FOCUS 7.6.3
      Features Added in FOCUS 7.6.7
      Features Added in FOCUS 7.6.9
      Features Added in FOCUS 7.6.11
    Output Format Enhancements
      Features Added in FOCUS 7.6.1
      Features Added in FOCUS 7.6.5
      Features Added in FOCUS 7.6.7
      Features Added in FOCUS 7.6.9
      Features Added in FOCUS 7.6.11
      Features Added in FOCUS 7.6.12
      Features Added in FOCUS 7.6.13
    General Enhancements
      Features Added in FOCUS 7.6.1
      Features Added in FOCUS 7.6.3
      Features Added in FOCUS 7.6.4
      Features Added in FOCUS 7.6.5
      Features Added in FOCUS 7.6.7
      Features Added in FOCUS 7.6.9
      Features Added in FOCUS 7.6.13
    Database Enhancements
      Features Added in FOCUS 7.6.1
      Features Added in FOCUS 7.6.5
      Features Added in FOCUS 7.6.9
    MODIFY Enhancements
      Loading Fixed Format Sequential Files Using MODIFY
      MODIFY FIXFORM Support for Multiple Text Fields
      Controlling Whether FIXFORM Input Fields Are Conditional
    Adapter Enhancements
      Features Added in FOCUS 7.6.1
      Features Added in FOCUS 7.6.11
      Features Added in FOCUS 7.6.12
    Raised Limits
      Features Added in FOCUS 7.6.1
      Features Added in FOCUS 7.6.9
      Features Added in FOCUS 7.6.13
    FOCREPLAY: Recording and Playing Back a FOCUS Session
      Overview of FOCREPLAY
      Configuring FOCREPLAY
      Recording a FOCUS Session
      Replaying a Recorded FOCUS Session
      Comparing a Recorded Session With a Replayed Session
      Stopping Replay at a Break Point
      Re-recording From the Middle or End of a Script
    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
    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 Your System Editor With IEDIT
      Editing Files With IEDIT
      IEDIT Facilities on CMS
      Installing IEDIT on z/OS
      Installing IEDIT on CMS
      Using IEDIT on CMS
      Using IEDIT on z/OS
    Terminal Operator Environment
      Illustrating the Terminal Operator Environment
      Invoking the Terminal Operator Environment
      Activating a Window
      Types of Windows
      Window Commands
    CMS Guide to Operations
      Referencing Files
      Application Files
      Extract Files
      Work Files
      FOCUS Facilities Under CMS
    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
    Recording and Replaying a FOCUS Session
      Introduction to FOCREPLAY
      Configuring FOCREPLAY
      Recording a FOCUS Session
      Replaying a Recorded FOCUS Session
      Comparing a Recorded Session With a Replayed Session
      Stopping Replay at a Break Point
      Re-recording From the Middle or End of a Script
    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
    Storing Terminal Lines in Memory: The Session Monitor
      Session Monitor Overview
      Displaying the Session Monitor Stack
      Saving Session Monitor Lines
      Transferring FOCUS Commands to the TED Editor
    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 Hot Screen
      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
      Manipulating Display Field Values in a Sort Group
      Creating a Matrix Report
      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
    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
      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
      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 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
    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 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
    Working With Styled Output Formats
      Working With HTML Reports
      Working With Excel 2000 and Excel 97 Reports
      Working With PostScript and PDF Reports
    Advanced StyleSheet Features
      Positioning a Report Component
      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
      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
      Preserving Virtual Fields During Join Parsing
      Displaying Joined Structures
      Clearing Joined Structures
    Merging Data Sources
      Merging Data
      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
      Producing Multiple Outputs in One Pass of a Data Source (Pooled Tables)
    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
      TABLE Syntax Summary
      TABLEF Syntax Summary
      MATCH Syntax Summary
      FOR Syntax Summary
    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
      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
      Using the LOCATION Attribute
      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
      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
    Testing and Debugging With Query Commands
      Using Query Commands
      Displaying Combined Structures
      Displaying Virtual Fields
      Displaying Available Fields
      Displaying the File Directory Table
      Displaying Field Information for a Master File
      Displaying Data Source Statistics
      Displaying Defined Functions
      Displaying HiperBudget Limits and Usage
      Displaying HOLD Fields
      Displaying JOIN Structures
      Displaying a Multi-Dimensional Index (MDI)
      Displaying National Language Support
      Displaying LET Substitutions
      Displaying Information About Loaded Files
      Displaying Explanations of Error Messages
      Displaying PF Key Assignments
      Querying PTFs for a Release
      Displaying the Release Number
      Displaying Parameter Settings
      Displaying Parameter Values Categorized by Functional Area
      Displaying Parameters That Cannot Be Set in an Area
      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
    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 (z/OS Only)
      Enhancing File Management With HiperFOCUS
    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 Character 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
      Character Functions for AnV Fields
      Character Functions for DBCS Code Pages
    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
      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 a Value From a Lookup Data Source
      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 and Time Functions
      Date and Time Function Notes
      Date and Time Function Terminology
      Using Standard Date and Time 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
      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 in Numeric Format
      HSETPT: Inserting a Component Into a Date-Time Value
      HTIME: Converting the Time Portion of a Date-Time Value to a Number
      HYYWD: Returning the Year and Week Number From a Date-Time Value
      TIMETOTS: Converting a Time to a Timestamp
      TODAY: Returning the Current Date
      Using Legacy Date Functions
      AYM: Adding or Subtracting Months to or From Dates
      AYMD: Adding or Subtracting Days to or From a Date
      CHGDAT: Changing How a Date String Displays
      DA Functions: Converting a 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
    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
      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
      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 and NORMSINV: Calculating 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
      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
      HHMMSS: Retrieving the Current Time
      MVSDYNAM: Passing a DYNAM Command to the Command Processor
      SLEEP: Suspending Execution for a Given Number of Seconds
      TODAY: Returning the Current Date
    Input/Output Functions
      PUTDDREC and CLSDDREC: Opening, Closing, and Writing Files
    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
  Installation Guides
    z/OS Installation Guide Version 7.6.10
      Features and Components
        Mainframes and Operating Systems
        Installed Features
        The FOCUS Libraries
        Data Set Naming Conventions
        Virtual Storage Requirements for FOCUS and SU
      Refreshing or Upgrading FOCUS With ISETUP
        How to Choose Between the Refresh and Upgrade Functions
        About the ISETUP Procedure
        Overview of the ISETUP Procedure
        Using ISETUP
      Basic Installation Steps
        Allocate Disk Space for FOCUS Libraries
        Unload the FOCUS Distribution Tape
        Install the FOCUS Site Code
        Select FOCUS Default Startup Options
        Test the Basic FOCUS System
        Install Link-Edited User Exits and Change Defaults
        Install the Re-entrant FOCUS Modules
        Re-block the FOCUS Modules
        Install High-Resolution Graphics for 3270 Type Terminals
        Install the IBI Subsystem
        Install the Simultaneous Usage (SU) Facility
        Create TSO Logon Procedures and Allocation CLISTs
      Installing the FOCUS Licensing File
        Obtaining a Personalized FLICENSE File
      Customizing FOCUS
        Changing the FOCUS Defaults
        Installing HiperFOCUS
        Installing the FOCUS Menu
        Installing the FOCUS ToolKit
        Configuring z/OS FOCUS for National Language Support (NLS) Services
        Installing the IEDIT Feature
      User Exits
        Usage Accounting Exit: UACCT
        Data Set Naming Enforcement (DSNCHK)
        User-Coded Password Security Interface
      Interface Installation
        Installing and Using an External Password Security System
        Installing the ICU Interface
        Installing the FOCCALC Graphics Facility
      Maintenance
        FOCUS Release Numbering
        The Release Signature
        Corrections to Reported Problems
        Release Tapes
        Load Libraries and Maintenance Libraries
        Applying Maintenance on z/OS
        The FOCMAP Utility
      Subsystem Sample JCL and Zaps
        SUBSYSNM: Changing the Subsystem Name
        SUBSYSCP: Copying SUBSYSI Into a Separate Library
        SUBSYSIJ: Running SUBSYSI
        SUBSYSIH: Starting the Subsystem and Initializing HiperBUDGET
        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
    z/OS Installation Guide Version 7.6.11
      Features and Components
        Mainframes and Operating Systems
        Installed Features
        The FOCUS Libraries
        Data Set Naming Conventions
        Virtual Storage Requirements for FOCUS and SU
      Refreshing or Upgrading FOCUS With ISETUP
        How to Choose Between the Refresh and Upgrade Functions
        About the ISETUP Procedure
        Overview of the ISETUP Procedure
        Using ISETUP
      Basic Installation Steps
        Allocate Disk Space for FOCUS Libraries
        Unload the FOCUS Distribution Tape
        Install the FOCUS Site Code
        Select FOCUS Default Startup Options
        Test the Basic FOCUS System
        Install Link-Edited User Exits and Change Defaults
        Install the Re-entrant FOCUS Modules
        Re-block the FOCUS Modules
        Install High-Resolution Graphics for 3270 Type Terminals
        Install the IBI Subsystem
        Install the Simultaneous Usage (SU) Facility
        Create TSO Logon Procedures and Allocation CLISTs
      Installing the FOCUS Licensing File
        Obtaining a Personalized FLICENSE File
      Customizing FOCUS
        Changing the FOCUS Defaults
        Installing HiperFOCUS
        Installing the FOCUS Menu
        Installing the FOCUS ToolKit
        Configuring z/OS FOCUS for National Language Support (NLS) Services
        Installing the IEDIT Feature
      User Exits
        Usage Accounting Exit: UACCT
        Data Set Naming Enforcement (DSNCHK)
        User-Coded Password Security Interface
      Interface Installation
        Installing and Using an External Password Security System
        Installing the ICU Interface
        Installing the FOCCALC Graphics Facility
      Maintenance
        FOCUS Release Numbering
        The Release Signature
        Corrections to Reported Problems
        Release Tapes
        Load Libraries and Maintenance Libraries
        Applying Maintenance on z/OS
        The FOCMAP Utility
      Subsystem Sample JCL and Zaps
        SUBSYSNM: Changing the Subsystem Name
        SUBSYSCP: Copying SUBSYSI Into a Separate Library
        SUBSYSIJ: Running SUBSYSI
        SUBSYSIH: Starting the Subsystem and Initializing HiperBUDGET
        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
    z/OS Installation Guide Version 7.6.13
      Features and Components
        Mainframes and Operating Systems
        Installed Features
        The FOCUS Libraries
        Data Set Naming Conventions
        Virtual Storage Requirements for FOCUS and SU
      Refreshing or Upgrading FOCUS With ISETUP
        How to Choose Between the Refresh and Upgrade Functions
        About the ISETUP Procedure
        Overview of the ISETUP Procedure
        Using ISETUP
      Basic Installation Steps
        Allocate Disk Space for FOCUS Libraries
        Unload the FOCUS Distribution Tape
        Install the FOCUS Site Code
        Select FOCUS Default Startup Options
        Test the Basic FOCUS System
        Install Link-Edited User Exits and Change Defaults
        Install the Re-entrant FOCUS Modules
        Re-block the FOCUS Modules
        Install High-Resolution Graphics for 3270 Type Terminals
        Install the IBI Subsystem
        Install the Simultaneous Usage (SU) Facility
        Create TSO Logon Procedures and Allocation CLISTs
      Installing the FOCUS Licensing File
        Obtaining a Personalized FLICENSE File
      Customizing FOCUS
        Changing the FOCUS Defaults
        Installing HiperFOCUS
        Installing the FOCUS Menu
        Installing the FOCUS ToolKit
        Configuring z/OS FOCUS for National Language Support (NLS) Services
        Installing the IEDIT Feature
      User Exits
        Usage Accounting Exit: UACCT
        Data Set Naming Enforcement (DSNCHK)
        User-Coded Password Security Interface
      Interface Installation
        Installing and Using an External Password Security System
        Installing the ICU Interface
        Installing the FOCCALC Graphics Facility
      Maintenance
        FOCUS Release Numbering
        The Release Signature
        Corrections to Reported Problems
        Release Tapes
        Load Libraries and Maintenance Libraries
        Applying Maintenance on z/OS
        The FOCMAP Utility
      Subsystem Sample JCL and Zaps
        SUBSYSNM: Changing the Subsystem Name
        SUBSYSCP: Copying SUBSYSI Into a Separate Library
        SUBSYSIJ: Running SUBSYSI
        SUBSYSIH: Starting the Subsystem and Initializing HiperBUDGET
        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
    CMS Installation Guide
      Features and Components
        Operating System
        Installed Features
        Virtual Machine Size Requirements
        DASD Requirements
        Shared Storage
        External Sort Considerations
      Basic Installation
        Installation Overview
        Define FOCUS Production and Maintenance Disks
        Unload the FOCUS Distribution Cartridge
        Download the FOCUS Files Electronically
        Modify the CMS EXEC That Generates FOCUS
        Install the FOCUS Site Code
        Select FOCUS Default Startup Options
        Generate FOCUS
        Test the Generated Version of FOCUS
        Move FOCUS to the Production Disk
        Test FOCUS on the Production Disk
        Link User IDs to the Production Disk
      Customizing FOCUS
        Changing FOCUS Limits
        Installing the FOCUS Menu
        Installing the FOCUS Toolkit
        Installing HiperFOCUS
        Installing FOCUS StyleSheets
        Configuring CMS FOCUS for NLS Services
      User Exits
        Usage Accounting Exit: UACCT
        Installing an External Password Security System
      Interface Installation
        Installing the FOCCALC Graphics Facility
        Considerations for Running the ICU Interface
      Maintenance
        FOCUS Release Numbering
        The Release Signature
        FOCUS Release Information
        Corrections to Reported Problems
        The Online Release Information
        Release Distribution Media
        Service Packs
        How to Apply an Individual PTF
      Common Mistakes During FOCUS Installation
        Possible Problem List
      User Written Subroutines
        Generating LOADLIB Members: The GENSUBLL EXEC
      Language Environment Support
        Language Environment Support
      Launch PDF
    CA-Datacom Data Adapter Installation Guide
      Introduction
        Before You Begin
        Pre-installation and Maintenance Requirements
      Installing the CA-Datacom Data Adapter
        Distribution Tape Contents
        Unload the Distribution Tape
        Create the User Requirements Table (URT) Access Modules
        Prepare the Run-time Libraries
        Allocate the Datacom Data Adapter Load Library
        Install the AUTODATACOM Facility
        Customize the FOCUS CLIST or JCL
        Verify the Data Adapter Installation
      Launch PDF
    CA-IDMS Data Adapter Installation Guide
      Before You Begin
        Pre-installation and Maintenance Requirements
      Installing the IDMS Data Adapter (MVS Only)
        Distribution Tape Contents
        Installation Process
        Getting Started Under MVS
        Accessing IDMS in Central Version and Local Mode
      Installing the IDMS Data Adapter (CMS Only)
        Getting Started Under CMS
        Preparing the IDMS Environments (Local and Central Version - CMS)
        Run-Time (CMS)
        Accessing the Data Adapter (CMS)
        Installing the AUTOIDMS Facility (CMS)
      User Written Exits
        IDMS ZBIND Exit (MVS Only)
        IDMS ZREADY Exit (MVS Only)
        IDMS ZBIND Exit (CMS Only)
        IDMS ZREADY Exit (CMS Only)
      Launch PDF
    Adapter for Oracle Installation Guide
       Before You Begin
        Pre-Installation Requirements
        Maintenance
       z/OS Instructions
        Installing the Adapter for Oracle on z/OS
        Meeting the Adapter Run-Time Requirements
       z/VM Instructions
        Installing the Adapter for Oracle on z/VM
        Meeting the Adapter Run-Time Requirements
        Special Installation Considerations
        Common Errors
      Launch PDF
  Data Adapter Documentation
    Relational Data Adapter User's Manual
      Introduction to Relational Data Adapters
        Relational Data Adapter Capabilities
        FOCUS and RDBMS Interaction
        The Data Adapter as an RDBMS Application
        Environment
        Ease of Use
        Efficiency
        Security
      Invoking Relational Data Adapters
        Getting Started Under MVS
        Getting Started Under VM/CMS
        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 Segments
      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 and AUTOSQL
        AUTODBC
        Results of the Master File Generation Facilities
        Creating Tables: The CREATE FILE Command
      The Data Adapter Optimizer
        Optimizing Requests
        Optimization Logic
        Optimizing Record Selection and Projection
        Optimizing Joins
        Optimizing Sorts
        Optimizing Aggregation
        Optimizing DEFINE Fields
        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
        Missing Rows of Data in Cross-referenced Tables
        JOIN Utilities
        Implementing Search Limits
        Oracle 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
      Environmental Commands
        Issuing Data Adapter Commands
        Querying Data Adapter Parameter Settings
        Parameters That Apply to Multiple Data 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
        Data 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
        Modifying Tables Without Primary Keys (DB2 for VM)
        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 and DB2 for VM)
         Static SQL Overview
        Static SQL Requirements
        Creating a Static Procedure for DB2
        Plan Management in DB2
        Creating a Static Procedure for DB2 for VM
        Using the SQL COMPILE and SQL RUN Facilities
        Resource Restrictions
      Additional Topics
        Status Return Variable: &RETCODE
        Default Date Considerations
        Standard FOCUS and Data Adapter Differences
        Remote Segment Descriptions
        Long Field Name Considerations
        Oracle Data Adapter Stored Procedure Support
        Differences Between the DB2 and DB2 for VM Data Adapters
        Querying the DB2 or DB2 for VM SYSCOLUMNS Catalog
        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 Data Adapter Messages
        Common SQL Return Codes for DB2 and DB2 for VM
        Common DBC Return Codes for Teradata
        Common User Errors and Corrections
        Accessing Data Adapter Messages
      File Descriptions and Tables
        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 Data Adapter Processing
        Available Traces
        Activating Traces
        Deactivating Traces
        Trace Activation and Deactivation Examples
        Querying Traces
        Allocating FSTRACE
      Launch PDF
    ADABAS Interface User's Manual and Installation Guide
      Introduction
        Operating Environments
        Security
      Getting Started
        Getting Started Under MVS
        Getting Started Under CMS
      ADABAS Overview and Mapping Considerations
        Overview of ADABAS
        ADABAS Files
        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
      Describing ADABAS Files to FOCUS
        Master Files
        Access Files
      Report Considerations
        File Navigation Techniques
        Selection Considerations
        Using the JOIN Command to Process Multiple Files
        Optimization With Null-suppression for CALLTYPE=RL
        Optimization on Group Fields
        Test on Group Field With Numerics
      Interface Navigation
        Entry Segment Retrieval of ADABAS Records
        Descendant Periodic Groups and Multi-value Fields
        Descendant ADABAS Records
      Environment Commands
        Multifetch and Prefetch Options
        ADABAS Dynamic Database Number
        Overriding Default Passwords in Specific Files
        Running in 24-bit Mode
        Optimization of the FIND Call Using Non-descriptor Fields
      Debugging Techniques
        Common Errors and Response Codes
        Using Traces
        Verifying the MVS Environment
        Verifying the CMS Environment
        Verification of Installation and AUTOADBS
        Follow-up
      Installation Instructions
        Pre-installation and Maintenance Requirements
        Installing the ADABAS Interface in MVS
        Installing the ADABAS Interface in CMS
      Interface 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-IDMS Data Adapter User's Manual
      Introduction to the CA-IDMS Data Adapter
        Ease of Use
        Operating Environments
        Efficiency
        Security
        Cross-Environment Access
        Core Requirements
      Getting Started
        Using the CA-IDMS Data Adapter Under MVS
        Using the CA-IDMS Data Adapter Under CMS
        Accessing the CA-IDMS Data Adapter
        File Descriptions
      IDMS Overview and Mapping Concepts
        Overview of IDMS
        Network Concepts
      CA-IDMS Data Adapter Master Files
        Accessing File Descriptions
        Master File Attributes
        Remote Segment Descriptions
        Intra-Record Structures: The OCCURS Segment
      CA-IDMS Data Adapter 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
      CA-IDMS Data Adapter 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 CA-IDMS Data Adapter Error Files
        Generating Error Messages Online
        Common Errors and Response Codes
      CA-IDMS Data Adapter 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 CA-IDMS Data Adapter Processing
        Using Traces
        Allocating Traces
        Activating, Deactivating, and Querying Traces
        Sample Traces
      Launch PDF
    IMS/DB Interface User's Manual and Installation Guide
      Introduction
        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
      Reporting Efficiencies
        Interface Optimization
        DL/I Calls
        Record Selection Tests
        The Dynamic JOIN Command
        Retrieval of Unique Segments
        JOINs With Selection Criteria
      Environments
        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 Interface Processing
        DLITRACE
        Interface Traces
      Release Dependent Interface Features
        The SET IMS Command
        Interface Environmental Commands
        Describing a Secondary Index Without Auto Index Selection
        Fixed Format FOCPSBs
        Accessing the BMP Extension
        Accessing IMS Databases From CMS
      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
    VSAM Write Data Adapter User's Manual
      Introduction
        Operating Environment Considerations
      Describing VSAM Data Sources to FOCUS
        Simple ISAM and Key-Sequenced VSAM Data Sources
        Complex and Key-Sequenced VSAM Data Sources
        Advanced Topics
      Maintaining VSAM Data Sources
        The IDCAMS Utility Program
        Accessing VSAM Data Sources
        Simultaneous Usage (SU) Mode for VSAM Data Sources in MVS
        Modifying Records: The MATCH and NEXT Statements
        Accessing Fields in Joined Data Structures With LOOKUP
        Modifying Multiple Data Sources: The COMBINE Facility
        Controlling the Current Record Position With REPOSITION
        Looping Through Files With REPEAT
        Modifying Variable-Length OCCURS Segments
        Modifying Fixed-Length OCCURS Segments
        Modifying Data Sources With Unrelated Records
      Debugging Techniques
      User Exits for Non-FOCUS Data Sources
        The Dynamic and Re-Entrant GNTINT Private User Exit
        User-coded Data Access Modules
        Re-Entrant VSAM Compression Exit: ZCOMP1
      Launch PDF
  Supplementary Documentation
    Simultaneous Usage Reference for CMS v7.6
      Introduction
        What is Simultaneous Usage?
        SU Communications
        How SU Processes Transactions
      Operating the Sink Machine
        Directory Requirements
        FILEDEFs
        Using the SU Profile
        Starting a Sink Machine
        Server Commands
        Stopping a Sink Machine
        Logging Activity in the HLIPRINT File
        Tracing Sink Machine Processing
        Security Considerations
        Multi-Threaded HLI/SU Reporting Facility
      SU and the FOCUS Language
        Using Centrally Controlled Databases
        Messages From the Sink Machine
        MODIFY and Maintain Facility Considerations
        Protecting Sink Transactions
        Performance Considerations
        SU Profile Commands for COMMIT and ROLLBACK
      SU and the Host Language Interface (HLI)
        Creating an HLI Module
        The File Communication Block (FCB)
        Closing Centrally Controlled Databases
        Writing Transactions From the Buffer
        Stopping a Sink Machine Using HLI Control Commands
        Communications Protocol
      Improving Performance
        Storing Central Databases On Disk
        Keeping Master Files Open on the Sink Machine
      FOCUS Error Messages
        Messages and Descriptions
      HLI Status Codes Returned in FCB Word
        Status Codes and Explanations
      Launch PDF
    Simultaneous Usage Reference for z/OS v7.6
      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 Using 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
        Status Codes and Explanations
      Launch PDF
    SiteAnalyzer for FOCUS VM and MVS Installation and Operations v7.6
      What Is SiteAnalyzer?
        SiteAnalyzer for Decision Support Analysis
        Uses for SiteAnalyzer: Performance Analysis
        Data Access Management and Performance Analysis
        Sample Data Access Questions
        How SiteAnalyzer Works
        SiteAnalyzer Administration
      Installing SiteAnalyzer for FOCUS VM
        Resource Prerequisites
        SiteAnalyzer Files Created During Installation
        Prerequisite Tasks
        Installation and Configuration Steps
        Starting the Sink Machine
        Starting SiteAnalyzer
        Stopping Usage Monitoring
        Reinstallation Considerations
      Installing SiteAnalyzer for FOCUS MVS
        Resource Prerequisites
        Dataset Prerequisites
        SiteAnalyzer Files Created During Installation
        Prerequisite Task
        Installation and Configuration Steps
        Starting SiteAnalyzer
        Stopping Usage Monitoring
        Reinstallation Considerations
        Running SiteAnalyzer in a Multi-LPAR Environment
      Usage Monitoring
        The Usage Monitoring Administrator
        Monitored Records Maintenance
      Displaying Reports
        Report Manager
        SiteAnalyzer Report Groups
        Report Display Options
        Custom Reports
        Report Descriptions
      Troubleshooting
        Potential Situations and Solutions
      A. Usage Monitoring and Administrative Databases Field Descriptions
        Administrative Databases
        SmartMode Administrative Databases
        Usage Monitoring Databases
        SmartMode Usage Monitoring Database
      Launch PDF
    SmartMode for FOCUS VM and MVS Installation and Operations v7.6
      Introducing SmartMode
        What Is SmartMode?
        SmartMode Administration
      Installing SmartMode for FOCUS VM
        Resource Prerequisites
        SmartMode Files Created During Installation
        Prerequisite Tasks
        Installation and Configuration Steps
        Starting the Sink Machine
        Starting SmartMode
        Stopping Usage Monitoring
        Reinstallation Considerations
      Installing SmartMode for FOCUS MVS
        Software Prerequisites
        Dataset Prerequisites
        SmartMode Files Created During Installation
        Prerequisite Tasks
        Installation and Configuration Steps
        Starting SmartMode
        Stopping Usage Monitoring
        Reinstallation Considerations
        Usage Accounting and APF Authorization
        Running SmartMode in a Multi-LPAR Environment
      Usage Monitoring
        The Usage Monitoring Administrator
        Monitoring by Database
        Global Monitoring
        Database Monitor/Govern Maintenance
        Monitored Records Maintenance
      Governing
        Resource Usage Limits - Shifts and Thresholds
        Building Rules
        Governing
        Custom Rules
        Using the ACTIVATE Command
      Displaying Reports
        The Reports Menu
      Troubleshooting
        Potential Situations and Solutions
      A. Usage Monitoring and Administrative Databases Field Descriptions
        Administrative Databases
        SmartMode Administrative Databases
        Usage Monitoring Databases
        SmartMode Usage Monitoring Database
      B. Business Rule Language Reference
        Using the Business Rule Language
        BRL Factual Information
      Launch PDF
    MSO Installation & Technical Reference Guide v7.2
      MSO Features and Components
        MSO Installation Requirements
        MSO Features
        Failure Processing
        MSO FOCUS Operation
        SmartMode for FOCUS
        HiperFOCUS
      Preparing for MSO
        MSO Issues
        OS/390 Issues
      MSO Technical Description
        Technical Overview
        CICS Access to MSO
        MSO Resource Manager
        The FastLoad Facility
        Internal APF Authorization
      MSO Capacity Planning and Performance
        Virtual Memory Requirements
        Region Size
        Real Memory Requirements
        MVS Performance Group Recommendations
        Data Set Allocation Limitations
      The MSO Configuration File
        Global Configuration
        Connectivity Options
        MSO Console Security
        MSO Diagnostic Facilities
        The Service Block
        MSO Load Balancing Configuration Parameters
        Obsolete Configuration File Commands
      Installing MSO
        Installing FOCUS
        System Programmer Tasks
        File Set Up
        Basic MSO Customization
        Installing MSO Components
        Installing Exits and Zaps
      Load Balancing
        MSO Load Balancing Configuration Parameters
        Load Balancing Logon Procedures
        Operational Troubleshooting
        Operational Benefits of MSO Load Balancing
      MSO/CICS Installation
        Preparing for Installation
        Installation Steps
        Installation Testing
        Operations
        End-User Issues
        Technical Description
        Troubleshooting
      Testing and Logging on to MSO
        VTAM Access
        CICS Access
        TSO Access
        Accessing Multiple MSO Regions
      MSO Usage Accounting
        Enabling Usage Accounting
        Processing SMF Records Using FOCUS
        SMF Fields Recorded
        Modifying and Redirecting SMF Records
      MSO Operator Commands
        MVS Operator Commands
        Examples of MSO Operator Commands
      MSO Security
        RACF Security for MSO
        CA-ACF2 Security for MSO
        CA-TOP SECRET Security for MSO
      The MSO Console
        Installation
        Operation
      Common Installation Problems and Solutions
        Diagnosing Installation Problems
        Diagnosing Storage Problems
        Diagnosing System Failures
        Applying Maintenance
      Site-Specific Customizations
        Exits
        User Written Subroutines
        ZAPs
        Environmental Subroutines and MSOINFO
      MSO/CICS Cooperative Processing
        MSO FOCEXEC Cooperative Processing Service
        MSO/CICS Cooperative Processing Services
        CMSORCV Function Codes
      Sample JCL for Installing MSO and CICS
        Sample JCL for Installing MSO
        Sample JCL for Installing CICS
      Installing MSO-Supported Data Adapters
      Security Implementation for DB2
        Steps for Modifying DSN3SATH
        Modifying DSN3SATH
      Glossary of Terms
        MSO Glossary of Terms
      Launch PDF
    COBOL FD Translator for S/390 User's Manual & Installation Guide Release 3.0
      Using the COBOL FD Translator
        Translator Prerequisites
        Isolating the COBOL FD
        Executing the COBOL FD Translator
        Entering Selections
        Generating the Master File
        Customizing the Master File
      Translator Options and Examples
        Fieldname Information
        Special Options Input andOutput
        Field Formatting
        Multiple Records as Input
        Maximum Number of Fields
        Year 2000
      Translator Reports
        Header Page
        Audit Report
        Message Report
        Debugging Report
      Warning and Error Messages
      Installation Instructions
        Pre-installation and Maintenance Requirements
        Installing COBOL FD Translator in MVS
        Installing COBOL FD Translator in VM/CMS
      Batch Execution
        MVS Batch
        VM/CMS Execution
      Using TED to Edit or Isolate the COBOL FD
      Launch PDF
Release 7.3
  Summary of New Features
  Overview and Operating Environments
  Creating Reports
  Describing Data
  Developing Applications
  Maintaining Databases
  Using Functions
  FOCUS for Mainframe CMS Installation Guide
  FOCUS for Mainframe z/OS, OS/390, and MVS Installation Guide
  Summary of New Features
  Overview and Operating Environments
  Creating Reports
  Describing Data
  Developing Applications
  Maintaining Databases
  Using Functions
  FOCUS for Mainframe CMS Installation Guide
  FOCUS for Mainframe z/OS, OS/390, and MVS Installation Guide
Release 7.2
  Summary of New Features
  Overview and Operating Environments
  Creating Reports
  Describing Data
  Developing Applications
  Maintaining Databases
  Using Functions
  FOCUS for S/390 CMS Installation Guide
  FOCUS for S/390 OS/390 and MVS Installation Guide
  Summary of New Features
  Overview and Operating Environments
  Creating Reports
  Describing Data
  Developing Applications
  Maintaining Databases
  Using Functions
  FOCUS for S/390 CMS Installation Guide
  FOCUS for S/390 OS/390 and MVS Installation Guide
Release 7.1
  Summary of New Features
  Overview and Operating Environments
  Creating Reports
  Describing Data
  Developing Applications
  Maintaining Databases
  FOCUS for S/390 CMS Installation Guide
  FOCUS for S/390 OS/390 and MVS Installation Guide
  Summary of New Features
  Overview and Operating Environments
  Creating Reports
  Describing Data
  Developing Applications
  Maintaining Databases
  FOCUS for S/390 CMS Installation Guide
  FOCUS for S/390 OS/390 and MVS Installation Guide
Release 7.0
  Summary of New Features
  Overview and Operating Environments
  Creating Reports
  Describing Data
  Developing Applications
  Maintaining Databases
  FOCUS for S/390 CMS Installation Guide
  FOCUS for IBM Mainframe MVS/TSO Installation Guide
  Summary of New Features
  Overview and Operating Environments
  Creating Reports
  Describing Data
  Developing Applications
  Maintaining Databases
  FOCUS for S/390 CMS Installation Guide
  FOCUS for IBM Mainframe MVS/TSO Installation Guide
TIBCO FOCUS®