ibi™ WebFOCUS® App Studio Online Help
Introducing ibi™ WebFOCUS® App Studio
What is ibi WebFOCUS App Studio?
Launching ibi WebFOCUS App Studio
Documentation Overview
Navigating in ibi™ WebFOCUS® App Studio
The ibi WebFOCUS App Studio Interface
Initiating ibi WebFOCUS App Studio
Opening the Hamburger Menu of File-Related Commands
Accessing Frequently Used Commands
Developing Applications in the Canvas Area
Accessing Features With the Ribbon
Working With the Environments Tree Panel
Working With the Environments Detail Panel
Viewing File and Folder Properties
Editing Areas of Functionality Using the View Tabs
Customizing the Panels
Creating Reports
Building Reports Overview
Report Types
Launching the Report Wizard
Accessing Reporting Components
Creating Reports Using the Report Canvas
Creating Precision Reports
Joining Data
Blending Data
Styling Reports
Linking Reports with Auto Linking and Auto Drill
Reporting Syntax Summary
Creating Charts and Visualizations
Chart Types
Launching the Chart Wizard
Creating Visualizations
Creating Procedures
Using the Procedure View Panel
Using Dialogue Manager
Displaying Data Sources
Creating HTML Pages
Launching the HTML/Document Wizard
Accessing HTML Page Components
Creating a Widget to Autoplay Control Values
Using Parameters
Viewing Object Attributes
Modifying Object Population Settings
Using Tasks & Animations
Working with Requests & Data Sources
Displaying Applications in Different Languages
Specifying Browser Defaults
Chaining in the HTML Canvas
Using JavaScript Code with HTML Canvas Pages
Creating Responsive Web Pages
Designing Content for Smartphones
Cascading Style Sheet Class Mapping List
Creating Documents
Launching the HTML/Document Wizard
Accessing Document and In-Document Analytic Dashboard Components
Previewing the Document Canvas
Editing Document Canvas Properties
Supporting Template Masters and Slide Layouts in ibi WebFOCUS App Studio-Generated Presentations
Creating Maintain Data Applications
Using the Maintain Data App
Using the Tasks & Animations Panel
Using the Maintain Data Editor
Using Functions in Procedures
Using Variables in Procedures
Using Data Source Stacks in Procedures
Using Import Modules
Executing Other Procedures
Persistent and Non-Persistent Maintain Data Applications
Asynchronous Maintain Data Applications
Migrating Legacy Maintain Procedures to Maintain Data
Creating Esri Maps
Illustrating Trends
Using the ibi WebFOCUS Esri HTML5 Viewer
Creating an Esri Component on an HTML Page
Using Unified Geographic Roles
Configuring a Map Data Layer
Adding a Demographic Layer to a Map
Adding an RSS Feed to an Esri Map
Using Map Widgets
Configuring the Map Menu
Using IbComposer Functions to Invoke Map Menu Options
Configuring Layer Visualizations
Configuring Symbology for a Data Layer
Configuring Symbology for a Point Data Layer
Configuring Symbology for a Polygon Data Layer
Configuring Symbology for a Line Data Layer
Summary of Symbology and Visualizations by Layer Type
Refreshing Markers on an ESRI Map Without Refreshing the Entire Map
Retrieving the Esri Map Viewer Current Extent Coordinates as Variables
Configuring Maps to Interact With Other Components
Adding Before Load and After Load Events
Configuring Geographic Information
Adding an Esri Proxy URL
Installing and Configuring Esri on Premise
Working With Source Control
Using Source Control in ibi WebFOCUS App Studio
Microsoft Team Foundation Server Requirements and Configuration
Creating, Viewing, and Editing Source Syntax
Accessing the Text Editor
Selenium Browser Support
Selenium Browser Tiers
Updating the Selenium Software and Driver Executables
Troubleshooting
Troubleshooting Tips
Troubleshooting Tools
Simplified Analytic Functions
PARTITION_AGGR: Creating Rolling Calculations
PARTITION_REF: Using Prior Field Values in Calculations
Character Functions
Character Function Notes
ARGLEN: Measuring the Length of a String
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
Simplified Character Functions
CHAR_LENGTH: Returning the Length in Characters of a String
CONCAT: Concatenating Strings After Removing Trailing Blanks From the First
DIGITS: Converting a Number to a Character 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
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
UPPER: Returning a String With All Letters Uppercase
Simplified Conversion Functions
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
Data Source and Decoding Functions
DECODE: Decoding Values
LAST: Retrieving the Preceding Value
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
Overview of Date Functions
Using Standard Date Functions
Using Legacy 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
DMY, MDY, YMD: Calculating the Difference Between Two Dates
DOWK and DOWKL: Finding the Day of the Week
DPART: Extracting a Component From a Date
DT Functions: Converting an Integer to a Date
FIQTR: Obtaining the Financial Quarter
FIYR: Obtaining the Financial Year
FIYYQ: Converting a Calendar Date to a Financial Date
GREGDT: Converting From Julian to Gregorian Format
JULDAT: Converting From Gregorian to Julian Format
TODAY: Returning the Current Date
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
HGETC: Storing the Current Local Date and 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
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 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
DTPART: Returning a Date or Date-Time Component in Integer Format
DTRUNC: Returning the Start of a Date Period for a Given Date
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
Numeric Functions
ABS: Calculating Absolute Value
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
INT: Finding the Greatest Integer
LOG: Calculating the Natural Logarithm
MAX and MIN: Finding the Maximum or Minimum Value
NORMSDST and NORMSINV: Calculating Normal Distributions
PRDNOR and PRDUNI: Generating Reproducible Random Numbers
RDNORM and RDUNIF: Generating Random Numbers
SQRT: Calculating the Square Root
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
System Functions
FGETENV: Retrieving the Value of an Environment Variable
GETUSER: Retrieving a User ID
Legal and Third-Party Notices
Launch PDF
Introducing ibi™ WebFOCUS® App Studio
What is ibi WebFOCUS App Studio?
Launching ibi WebFOCUS App Studio
Documentation Overview
Navigating in ibi™ WebFOCUS® App Studio
The ibi WebFOCUS App Studio Interface
Initiating ibi WebFOCUS App Studio
Opening the Hamburger Menu of File-Related Commands
Accessing Frequently Used Commands
Developing Applications in the Canvas Area
Accessing Features With the Ribbon
Working With the Environments Tree Panel
Working With the Environments Detail Panel
Viewing File and Folder Properties
Editing Areas of Functionality Using the View Tabs
Customizing the Panels
Creating Reports
Building Reports Overview
Report Types
Launching the Report Wizard
Accessing Reporting Components
Creating Reports Using the Report Canvas
Creating Precision Reports
Joining Data
Blending Data
Styling Reports
Linking Reports with Auto Linking and Auto Drill
Reporting Syntax Summary
Creating Charts and Visualizations
Chart Types
Launching the Chart Wizard
Creating Visualizations
Creating Procedures
Using the Procedure View Panel
Using Dialogue Manager
Displaying Data Sources
Creating HTML Pages
Launching the HTML/Document Wizard
Accessing HTML Page Components
Creating a Widget to Autoplay Control Values
Using Parameters
Viewing Object Attributes
Modifying Object Population Settings
Using Tasks & Animations
Working with Requests & Data Sources
Displaying Applications in Different Languages
Specifying Browser Defaults
Chaining in the HTML Canvas
Using JavaScript Code with HTML Canvas Pages
Creating Responsive Web Pages
Designing Content for Smartphones
Cascading Style Sheet Class Mapping List
Creating Documents
Launching the HTML/Document Wizard
Accessing Document and In-Document Analytic Dashboard Components
Previewing the Document Canvas
Editing Document Canvas Properties
Supporting Template Masters and Slide Layouts in ibi WebFOCUS App Studio-Generated Presentations
Creating Maintain Data Applications
Using the Maintain Data App
Using the Tasks & Animations Panel
Using the Maintain Data Editor
Using Functions in Procedures
Using Variables in Procedures
Using Data Source Stacks in Procedures
Using Import Modules
Executing Other Procedures
Persistent and Non-Persistent Maintain Data Applications
Asynchronous Maintain Data Applications
Migrating Legacy Maintain Procedures to Maintain Data
Creating Esri Maps
Illustrating Trends
Using the ibi WebFOCUS Esri HTML5 Viewer
Creating an Esri Component on an HTML Page
Using Unified Geographic Roles
Configuring a Map Data Layer
Adding a Demographic Layer to a Map
Adding an RSS Feed to an Esri Map
Using Map Widgets
Configuring the Map Menu
Using IbComposer Functions to Invoke Map Menu Options
Configuring Layer Visualizations
Configuring Symbology for a Data Layer
Configuring Symbology for a Point Data Layer
Configuring Symbology for a Polygon Data Layer
Configuring Symbology for a Line Data Layer
Summary of Symbology and Visualizations by Layer Type
Refreshing Markers on an ESRI Map Without Refreshing the Entire Map
Retrieving the Esri Map Viewer Current Extent Coordinates as Variables
Configuring Maps to Interact With Other Components
Adding Before Load and After Load Events
Configuring Geographic Information
Adding an Esri Proxy URL
Installing and Configuring Esri on Premise
Working With Source Control
Using Source Control in ibi WebFOCUS App Studio
Microsoft Team Foundation Server Requirements and Configuration
Creating, Viewing, and Editing Source Syntax
Accessing the Text Editor
Selenium Browser Support
Selenium Browser Tiers
Updating the Selenium Software and Driver Executables
Troubleshooting
Troubleshooting Tips
Troubleshooting Tools
Simplified Analytic Functions
PARTITION_AGGR: Creating Rolling Calculations
PARTITION_REF: Using Prior Field Values in Calculations
Character Functions
Character Function Notes
ARGLEN: Measuring the Length of a String
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
Simplified Character Functions
CHAR_LENGTH: Returning the Length in Characters of a String
CONCAT: Concatenating Strings After Removing Trailing Blanks From the First
DIGITS: Converting a Number to a Character 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
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
UPPER: Returning a String With All Letters Uppercase
Simplified Conversion Functions
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
Data Source and Decoding Functions
DECODE: Decoding Values
LAST: Retrieving the Preceding Value
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
Overview of Date Functions
Using Standard Date Functions
Using Legacy 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
DMY, MDY, YMD: Calculating the Difference Between Two Dates
DOWK and DOWKL: Finding the Day of the Week
DPART: Extracting a Component From a Date
DT Functions: Converting an Integer to a Date
FIQTR: Obtaining the Financial Quarter
FIYR: Obtaining the Financial Year
FIYYQ: Converting a Calendar Date to a Financial Date
GREGDT: Converting From Julian to Gregorian Format
JULDAT: Converting From Gregorian to Julian Format
TODAY: Returning the Current Date
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
HGETC: Storing the Current Local Date and 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
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 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
DTPART: Returning a Date or Date-Time Component in Integer Format
DTRUNC: Returning the Start of a Date Period for a Given Date
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
Numeric Functions
ABS: Calculating Absolute Value
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
INT: Finding the Greatest Integer
LOG: Calculating the Natural Logarithm
MAX and MIN: Finding the Maximum or Minimum Value
NORMSDST and NORMSINV: Calculating Normal Distributions
PRDNOR and PRDUNI: Generating Reproducible Random Numbers
RDNORM and RDUNIF: Generating Random Numbers
SQRT: Calculating the Square Root
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
System Functions
FGETENV: Retrieving the Value of an Environment Variable
GETUSER: Retrieving a User ID
Legal and Third-Party Notices
Launch PDF
Maintain Data
App Studio Maintain Data Getting Started
Introducing App Studio Maintain Data
Road Map: Where Should You Go?
What Is App Studio Maintain Data?
Overview of Developing App Studio Maintain Data Applications
App Studio Maintain Data Tutorial
Before You Begin
Creating a Domain
Viewing the Structure of a Data Source in the Requests & Data Sources Panel
Designing a Form
Saving Your Work
Running Your Page Locally
Using Radio Buttons
Giving Your Form a New Title
Writing Data to the Data Source
Adding a Form to Display Data From a Data Source
Adding Form Navigation Buttons
Adding Images to Your Application
App Studio Maintain Data Concepts
Set-based Processing
Controlling the Flow of a Procedure
Executing Other Maintain Data Procedures
Forms and Event-driven Processing
Reading From a Data Source
Writing to a Data Source
Transaction Processing
Classes and Objects
Creating an Update Application With Update Assist
Starting Update Assist
Update Assist: Segment & Field Options
Update Assist: Navigation Options
About Your Update Assist Application
Calling an Update Assist Procedure From an App Studio Report
Usage Notes
App Studio Maintain Data Sample Data Sources
Fannames Data Source
Users Data Source
Contact Data Source
Launch PDF
App Studio Maintain Data Language Reference
Language Rules Reference
Case Sensitivity
Specifying Names
Reserved Words
What Can You Include in a Procedure?
Multi-Line Commands
Terminating Command Syntax
Adding Comments
Expressions Reference
Types of Expressions
Writing Numeric Expressions
Writing Date Expressions
Writing Date-Time Expressions
Writing Character Expressions
Writing Logical Expressions
Writing Conditional Expressions
Handling Null Values in Expressions
Command Reference
Language Summary
BEGIN
CALL
CASE
COMMIT
COMPUTE
COPY
DECLARE
DELETE
DESCRIBE
END
EXEC
FocCount
FocCurrent
FocError
FocErrorRow
FocFetch
FocIndex
FocMsg
GOTO
IF
INCLUDE
INFER
MAINTAIN
MATCH
MODULE
NEXT
ON MATCH
ON NEXT
ON NOMATCH
ON NONEXT
PERFORM
REPEAT
REPOSITION
REVISE
ROLLBACK
SAY
SET
showLayer
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
WINFORM SET
Ensuring Transaction Integrity
Transaction Integrity Overview
Why Is Transaction Integrity Important?
Defining a Transaction
Evaluating Whether a Transaction Was Successful
Concurrent Transaction Processing
Ensuring Transaction Integrity for FOCUS Data Sources
Ensuring Transaction Integrity for DB2 Data Sources
Developing Classes and Objects
What Are Classes and Objects?
Defining Classes
Reusing Classes: Class Libraries
Declaring Objects
MNTCON Commands
MNTCON CDN_FEXINPUT
MNTCON COMPILE
MNTCON EX
MNTCON EXIT_WARNING
MNTCON MATCH_CASE
MNTCON RADIO_BUTTON_EMIT_TEXT
MNTCON REMOTESTYLE
MNTCON RUN
Launch PDF
App Studio Maintain Data Getting Started
Introducing App Studio Maintain Data
Road Map: Where Should You Go?
What Is App Studio Maintain Data?
Overview of Developing App Studio Maintain Data Applications
App Studio Maintain Data Tutorial
Before You Begin
Creating a Domain
Viewing the Structure of a Data Source in the Requests & Data Sources Panel
Designing a Form
Saving Your Work
Running Your Page Locally
Using Radio Buttons
Giving Your Form a New Title
Writing Data to the Data Source
Adding a Form to Display Data From a Data Source
Adding Form Navigation Buttons
Adding Images to Your Application
App Studio Maintain Data Concepts
Set-based Processing
Controlling the Flow of a Procedure
Executing Other Maintain Data Procedures
Forms and Event-driven Processing
Reading From a Data Source
Writing to a Data Source
Transaction Processing
Classes and Objects
Creating an Update Application With Update Assist
Starting Update Assist
Update Assist: Segment & Field Options
Update Assist: Navigation Options
About Your Update Assist Application
Calling an Update Assist Procedure From an App Studio Report
Usage Notes
App Studio Maintain Data Sample Data Sources
Fannames Data Source
Users Data Source
Contact Data Source
Launch PDF
App Studio Maintain Data Language Reference
Language Rules Reference
Case Sensitivity
Specifying Names
Reserved Words
What Can You Include in a Procedure?
Multi-Line Commands
Terminating Command Syntax
Adding Comments
Expressions Reference
Types of Expressions
Writing Numeric Expressions
Writing Date Expressions
Writing Date-Time Expressions
Writing Character Expressions
Writing Logical Expressions
Writing Conditional Expressions
Handling Null Values in Expressions
Command Reference
Language Summary
BEGIN
CALL
CASE
COMMIT
COMPUTE
COPY
DECLARE
DELETE
DESCRIBE
END
EXEC
FocCount
FocCurrent
FocError
FocErrorRow
FocFetch
FocIndex
FocMsg
GOTO
IF
INCLUDE
INFER
MAINTAIN
MATCH
MODULE
NEXT
ON MATCH
ON NEXT
ON NOMATCH
ON NONEXT
PERFORM
REPEAT
REPOSITION
REVISE
ROLLBACK
SAY
SET
showLayer
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
WINFORM SET
Ensuring Transaction Integrity
Transaction Integrity Overview
Why Is Transaction Integrity Important?
Defining a Transaction
Evaluating Whether a Transaction Was Successful
Concurrent Transaction Processing
Ensuring Transaction Integrity for FOCUS Data Sources
Ensuring Transaction Integrity for DB2 Data Sources
Developing Classes and Objects
What Are Classes and Objects?
Defining Classes
Reusing Classes: Class Libraries
Declaring Objects
MNTCON Commands
MNTCON CDN_FEXINPUT
MNTCON COMPILE
MNTCON EX
MNTCON EXIT_WARNING
MNTCON MATCH_CASE
MNTCON RADIO_BUTTON_EMIT_TEXT
MNTCON REMOTESTYLE
MNTCON RUN
Launch PDF
Reporting Language
Creating Reports With ibi™ WebFOCUS® Language
Creating Reports Overview
Requirements for Creating a Report
Report Types
Developing Your Report Request
Customizing a Report
Selecting a Report Output Destination
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
Displaying Pop-up Field Descriptions for Column Titles
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
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
Choosing a 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 Word Processing Display Formats: DOC, WP
Saving Report Output in Excel XLSX Format
Using PowerPoint PPT Display Format
Saving Report Output in PPTX Format
Linking a Report to Other Resources
Linking Using StyleSheets
Linking to Another Report
Linking to a URL
Linking to a JavaScript Function
Linking to a Maintain Data Procedure
Multi-Drill Feature With Cascading Menus and User-Defined Styling
Creating Parameters
Linking With Conditions
Linking From a Graphic Image
Specifying a Base URL
Specifying a Target Frame
Creating a Compound Report
Creating a PDF Compound Report With Drill Through Links
Navigating Within an HTML Report
Navigating Sort Groups From a Table of Contents
Adding the HTML Table of Contents Tree Control to Reports
Controlling the Display of Sorted Data With Accordion Reports
Navigating a Multi-Page Report With the WebFOCUS Viewer
Linking Report Pages
Bursting Reports Into Multiple HTML Files
Bursting Reports Overview
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
Reporting Against a Multi-Fact Cluster Synonym
Navigating Joins Between Cluster Synonyms
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
Formatting Reports: An Overview
What Kinds of Formatting Can I Do?
How to Specify Formatting in a Report
Standard and Legacy Formatting
Techniques for Quick and Easy Formatting
Navigating From a Report to Other Resources
Creating and Managing a WebFOCUS StyleSheet
Creating a WebFOCUS StyleSheet
General WebFOCUS StyleSheet Syntax
Reusing WebFOCUS StyleSheet Declarations With Macros
WebFOCUS StyleSheet Attribute Inheritance
Creating Reports With the ENWarm StyleSheet
Controlling Report Formatting
Generating an Internal Cascading Style Sheet for HTML Reports
Selecting a Unit of Measurement
Conditionally Formatting, Displaying, and Linking in a StyleSheet
Including Summary Lines, Underlines, Skipped Lines, and Page Breaks
Conditionally Including Summary Lines, Underlines, Skipped Lines, and Page Breaks
Controlling the Display of Empty Reports
Formatting a Report Using Only StyleSheet Defaults
Identifying a Report Component in a WebFOCUS StyleSheet
Identifying an Entire Report, Column, or Row
Identifying Tags for SUBTOTAL and GRANDTOTAL Lines
Identifying Data
Identifying a Heading, Footing, Title, or FML Free Text
Identifying a Page Number, Underline, or Skipped Line
Using an External Cascading Style Sheet
What Is a Cascading Style Sheet?
Why Use an External Cascading Style Sheet?
Formatting a Report With an External Cascading Style Sheet
Working With an External Cascading Style Sheet
Applying External Cascading Style Sheet Formatting
Combining an External CSS With Other Formatting Methods
Linking to an External Cascading Style Sheet
Inheritance and External Cascading Style Sheets
Using External Cascading Style Sheets With Non-HTML Reports
Requirements for Using an External Cascading Style Sheet
FAQ About Using External Cascading Style Sheets
Troubleshooting External Cascading Style Sheets
Laying Out the Report Page
Selecting Page Size, Orientation, and Color
Setting Page Margins
Positioning a Report Component
Arranging Columns on a Page
Suppressing Column Display
Inserting a Page Break
Inserting Page Numbers
Adding Grids and Borders
Defining Borders Around Boxes With PPTX and PDF Formats
Displaying Superscripts On Data, Heading, and Footing Lines
Adding Underlines and Skipped Lines
Removing Blank Lines From a Report
Adding an Image to a Report
Associating Bar Graphs With Report Data
Working With Mailing Labels and Multi-Pane Pages
Using Headings, Footings, Titles, and Labels
Creating Headings and Footings
Including an Element in a Heading or Footing
Displaying Syntax Components in Heading and Footing Objects
Repeating Headings and Footings on Panels in PDF Report Output
Customizing a Column Title
Controlling Column Title Underlining Using a SET Command
Controlling Column Title Underlining Using a StyleSheet Attribute
Creating Labels to Identify Data
Formatting a Heading, Footing, Title, or Label
Applying Font Attributes to a Heading, Footing, Title, or Label
Adding Borders and Grid Lines
Justifying a Heading, Footing, Title, or Label
Choosing an Alignment Method for Heading and Footing Elements
Aligning a Heading or Footing Element in an HTML, XLSX, EXL2K, PDF, PPTX, or DHTML Report
Aligning a Heading or Footing Element Across Columns in an HTML or PDF Report
Aligning Content in a Multi-Line Heading or Footing
Positioning Headings, Footings, or Items Within Them
Controlling the Vertical Positioning of a Heading or Footing
Placing a Report Heading or Footing on Its Own Page
Formatting Report Data
Specifying Font Format in a Report
Specifying Background Color in a Report
Alternating Background Color By Wrapped Line
Specifying Data Format in a Report
Positioning Data in a Report
Creating a Graph
Content Analysis: Determining Graphing Objectives
The GRAPH Command
Creating an HTML5 Graph
Selecting a Graph Type
Selecting Values for the X and Y Axes
Creating Multiple Graphs
Plotting Dates in Graphs
Refining the Data Set For Your Graph
Displaying Missing Data Values in a Graph
Applying Conditional Styling to a Graph
Linking Graphs to Other Resources
Adding Labels to a Graph
Applying Custom Styling to a Graph
Saving a Graph as an Image File
Printing a Graph
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
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
Improving Report Processing
Rotating a Data Structure for Enhanced Retrieval
Optimizing Retrieval Speed for FOCUS Data Sources
Automatic Indexed Retrieval
Data Retrieval Using TABLEF
Compiling Expressions
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
Referring to Fields in a Report Request
Referring to an Individual Field
Referring to Fields Using Qualified Field Names
Referring to All of the Fields in a Segment
Displaying a List of Field Names
Launch PDF
Describing Data With ibi™ WebFOCUS® Language
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
Creating and Using a Master File Profile
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
Defining a Dimension: WITHIN
Validating Data: ACCEPT
Specifying Acceptable Values for a Dimension
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 WebFOCUS 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
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
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
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
Rounding in WebFOCUS
Data Storage and Display
Rounding in Calculations and Conversions
Launch PDF
Developing Reporting Applications
WebFOCUS Application Logic
Three-Tier Application Logic
Publishing an Application
WebFOCUS Components
Section 508 Accessibility in WebFOCUS
Managing Applications
What Is an Application?
Procedures and Metadata on the Application Tree
Managing Applications and Paths
Application Commands Overview
Search Path Management Commands
Application and File Management Commands
Output Redirection Commands
Application Metadata Commands and Catalog Metadata
APP HELP
Restricting the Use of APP Commands
Accessing Metadata and Procedures
Allocating Temporary Files
Temporary Space Usage and Location
Temporary Disk Space Usage for Non-PDS Deployment
Application Tools
Coding a User Interface
Which Tools Can You Use?
The WebFOCUS Client
Using the Servlet
Using a Dynamic Multiselect Drop-Down List
Enabling Ad Hoc Reporting
Validating a Form With JavaScript
WebFOCUS Autoprompt Facility
Responsive Autoprompt
HTML Autoprompt
Autoprompt Considerations
Defining Parameter-Based Filters
Customizing the Autoprompt Facility
Displaying a Report on the Default WebFOCUS Page
Designing an HTML Page for Report Display
Enhancing a User Interface
Displaying a Report in a Helper Application
Controlling Multiple Reports
Including CSRF Tokens in an HTML Webpage
Adding JavaScript for Drill-Down Reporting
Facilitating Report Manipulation
Using a Cascading Style Sheet to Standardize Display
Displaying a Previously Run Report
Passing a User ID From HTML for a Custom Menu
Managing Flow of Control in an Application
Uses for Dialogue Manager
Dialogue Manager Processing
Creating a Dialogue Manager Procedure
Customizing a Procedure With Variables
Creating a Standard Quote-Delimited String
Creating and Working With Variables
Using Numeric Amper Variables in Functions
Controlling the Execution of a Procedure
Navigating a Procedure
Enhancing an HTML Webpage With a Procedure
Issuing Operating System Commands
Controlling Passwords With Dialogue Manager
Sending a Message to the Application
Testing and Debugging a Dialogue Manager Procedure
Dialogue Manager Syntax Reference
Testing and Debugging a Procedure
Debugging Your Application With 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 Current DDNAMEs Assigned With FILEDEF
Displaying Defined Functions
Displaying HOLD Fields
Displaying JOIN Structures
Displaying National Language Support
Displaying Explanations of Error Messages
Displaying the Current Search Path
Displaying the Release Number
Displaying the Values of a Remote Server
Displaying Parameter Settings
Displaying Graph Parameters
Displaying the Site Code of the Connected Server
Displaying Command Statistics
Displaying StyleSheet Parameter Settings
Displaying Information About the SU Machine
Displaying Data Sources Specified With USE
Displaying Global Variable Values
Identifying the Files Being Used
Reporting Dynamically From System Tables
Accessing a FOCUS Data Source
The USE Command
Identifying a FOCUS Data Source
Using Alternative File Specifications
Identifying a New Data Source
Protecting a Data Source
Concatenating Data Sources
Displaying the Current USE Options
Clearing the USE Options
Customizing Your Environment
When Do You Use the SET Command?
Ways to Issue a SET Command
Coding a SET Command
Types of SET Parameters
SET Parameter Syntax
Defining and Allocating WebFOCUS Files
Allocating WebFOCUS Files
Application Files Under Windows
Extract Files Under Windows
Work Files Under Windows
Determining If A File Exists Under Windows
WebFOCUS Files Under MVS
Application Files Under MVS
Extract Files Under MVS
Work Files Under MVS
Reviewing Attributes of Allocated Files Under MVS
Application Files Under UNIX
Extract Files Under UNIX
Work Files Under UNIX
Determining If a File Exists Under UNIX
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
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
DIFFERENCE: Measuring the Phonetic Similarity Between Character 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
LEFT: Returning Characters From the Left of a Character String
LOWER: Returning a String With All Letters Lowercase
LPAD: Left-Padding a Character String
LTRIM: Removing Blanks From the Left End of a String
OVERLAY: Replacing Characters in 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
POSITION: Returning the Position of a Search String in a Source String
Regular Expression Functions
REPEAT: Repeating a String a Given Number of Times
REPLACE: Replacing a String
RIGHT: Returning Characters From the Right of a Character String
RPAD: Right-Padding a Character String
RTRIM: Removing Blanks From the Right End of a String
SPACE: Returning a String With a Given Number of Spaces
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
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
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
IMPUTE: Replacing Missing Values With Aggregated Values
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
DAYNAME: Returning the Name of the Day From a Date Expression
DT_CURRENT_DATE: Returning the Current Date
DT_CURRENT_DATETIME: Returning the Current Date and Time
DT_CURRENT_TIME: Returning the Current Time
DT_TOLOCAL: Converting Universal Coordinated Time to Local Time
DT_TOUTC: Converting Local Time to Universal Coordinated 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
MONTHNAME: Returning the Name of the Month From a Date Expression
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
Maintain-specific Date and Time Functions
Maintain-specific Standard Date and Time Functions
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
DT_FORMAT: Converting a Date or Date-Time Value to an Alphanumeric String
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
Maintain-specific Light Update Support Functions
IWC.FindAppCGIValue: Retrieving a WebFOCUS Parameter or Variable Value
IWC.GetAppCGIValue: Importing a WebFOCUS Parameter or Variable
Simplified Numeric Functions
ASCII: Returning the ASCII Code for the Leftmost Character in a String
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
LOG10: Calculating the Base 10 Logarithm
MOD: Calculating the Remainder From a Division
POWER: Raising a Value to a Power
ROUND: Rounding a Number to a Given Number of Decimal Places
SIGN: Returning the Sign of a Number
TRUNCATE: Truncating a Number to a Given Number of Decimal Places
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)
Maintain-specific Script Functions
IWCLink: Displaying a URL in a Browser or Frame
IWCSwitchToSecure and IWCSwitchToUnsecure: Turning the Secure Sockets Layer On and Off
IWCTrigger: Calling a Maintain Function From a Script Handler
IWC.FindAppCGIValue: Finding a WebFOCUS Parameter or Variable Value
IWC.GetAppCGIValue: Retrieving a WebFOCUS Parameter or Variable
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
OUTLIER: Identifying Outliers in Numeric Data
RSERVE: Running an R Script
STDDEV: Calculating the Standard Deviation for a Set of Data Values
Machine Learning (Python-based) Functions
ANOMALY_IF: Detecting Outliers
CLASSIFY_BLR: Binary Logistic Regression
CLASSIFY_KNN: K-Nearest Neighbors Classification
CLASSIFY_RF: Random Forest Classification
CLASSIFY_XGB: Extreme Gradient Boosting Classification
REGRESS_KNN: K-Nearest Neighbors Regression
REGRESS_POLY: Polynomial Regression
REGRESS_RF: Random Forest Regression
REGRESS_XGB: Extreme Gradient Boosting Regression
RUN_MODEL and RUN_MODEL2: Running a Saved Python Model
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
SLACK: Posting a Message to a Slack Channel
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
Simplified Geography Functions
Sample Geography Files
GIS_DISTANCE: Calculating the Distance Between Geometry Points
GIS_DRIVE_ROUTE: Calculating the Driving Directions Between Geometry Points
GIS_GEOCODE_ADDR: Geocoding a Complete Address
GIS_GEOCODE_ADDR_CITY: Geocoding an Address Line, City, and State
GIS_GEOCODE_ADDR_POSTAL: Geocoding an Address Line and Postal Code
GIS_GEOMETRY: Building a JSON Geometry Object
GIS_IN_POLYGON: Determining if a Point is in a Complex Polygon
GIS_LINE: Building a JSON Line
GIS_POINT: Building a Geometry Point
GIS_REVERSE_COORDINATE: Returning a Geographic Component
GIS_SERVICE_AREA: Calculating a Geometry Area Around a Given Point
GIS_SERV_AREA_XY: Calculating a Service Area Around a Given Coordinate
SQL Character Functions
LOCATE: Returning the Position of a Substring in a String
SQL Miscellaneous Functions
CHR: Returning the ASCII Character Given a Numeric Code
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 Reports With ibi™ WebFOCUS® Language
Creating Reports Overview
Requirements for Creating a Report
Report Types
Developing Your Report Request
Customizing a Report
Selecting a Report Output Destination
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
Displaying Pop-up Field Descriptions for Column Titles
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
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
Choosing a 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 Word Processing Display Formats: DOC, WP
Saving Report Output in Excel XLSX Format
Using PowerPoint PPT Display Format
Saving Report Output in PPTX Format
Linking a Report to Other Resources
Linking Using StyleSheets
Linking to Another Report
Linking to a URL
Linking to a JavaScript Function
Linking to a Maintain Data Procedure
Multi-Drill Feature With Cascading Menus and User-Defined Styling
Creating Parameters
Linking With Conditions
Linking From a Graphic Image
Specifying a Base URL
Specifying a Target Frame
Creating a Compound Report
Creating a PDF Compound Report With Drill Through Links
Navigating Within an HTML Report
Navigating Sort Groups From a Table of Contents
Adding the HTML Table of Contents Tree Control to Reports
Controlling the Display of Sorted Data With Accordion Reports
Navigating a Multi-Page Report With the WebFOCUS Viewer
Linking Report Pages
Bursting Reports Into Multiple HTML Files
Bursting Reports Overview
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
Reporting Against a Multi-Fact Cluster Synonym
Navigating Joins Between Cluster Synonyms
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
Formatting Reports: An Overview
What Kinds of Formatting Can I Do?
How to Specify Formatting in a Report
Standard and Legacy Formatting
Techniques for Quick and Easy Formatting
Navigating From a Report to Other Resources
Creating and Managing a WebFOCUS StyleSheet
Creating a WebFOCUS StyleSheet
General WebFOCUS StyleSheet Syntax
Reusing WebFOCUS StyleSheet Declarations With Macros
WebFOCUS StyleSheet Attribute Inheritance
Creating Reports With the ENWarm StyleSheet
Controlling Report Formatting
Generating an Internal Cascading Style Sheet for HTML Reports
Selecting a Unit of Measurement
Conditionally Formatting, Displaying, and Linking in a StyleSheet
Including Summary Lines, Underlines, Skipped Lines, and Page Breaks
Conditionally Including Summary Lines, Underlines, Skipped Lines, and Page Breaks
Controlling the Display of Empty Reports
Formatting a Report Using Only StyleSheet Defaults
Identifying a Report Component in a WebFOCUS StyleSheet
Identifying an Entire Report, Column, or Row
Identifying Tags for SUBTOTAL and GRANDTOTAL Lines
Identifying Data
Identifying a Heading, Footing, Title, or FML Free Text
Identifying a Page Number, Underline, or Skipped Line
Using an External Cascading Style Sheet
What Is a Cascading Style Sheet?
Why Use an External Cascading Style Sheet?
Formatting a Report With an External Cascading Style Sheet
Working With an External Cascading Style Sheet
Applying External Cascading Style Sheet Formatting
Combining an External CSS With Other Formatting Methods
Linking to an External Cascading Style Sheet
Inheritance and External Cascading Style Sheets
Using External Cascading Style Sheets With Non-HTML Reports
Requirements for Using an External Cascading Style Sheet
FAQ About Using External Cascading Style Sheets
Troubleshooting External Cascading Style Sheets
Laying Out the Report Page
Selecting Page Size, Orientation, and Color
Setting Page Margins
Positioning a Report Component
Arranging Columns on a Page
Suppressing Column Display
Inserting a Page Break
Inserting Page Numbers
Adding Grids and Borders
Defining Borders Around Boxes With PPTX and PDF Formats
Displaying Superscripts On Data, Heading, and Footing Lines
Adding Underlines and Skipped Lines
Removing Blank Lines From a Report
Adding an Image to a Report
Associating Bar Graphs With Report Data
Working With Mailing Labels and Multi-Pane Pages
Using Headings, Footings, Titles, and Labels
Creating Headings and Footings
Including an Element in a Heading or Footing
Displaying Syntax Components in Heading and Footing Objects
Repeating Headings and Footings on Panels in PDF Report Output
Customizing a Column Title
Controlling Column Title Underlining Using a SET Command
Controlling Column Title Underlining Using a StyleSheet Attribute
Creating Labels to Identify Data
Formatting a Heading, Footing, Title, or Label
Applying Font Attributes to a Heading, Footing, Title, or Label
Adding Borders and Grid Lines
Justifying a Heading, Footing, Title, or Label
Choosing an Alignment Method for Heading and Footing Elements
Aligning a Heading or Footing Element in an HTML, XLSX, EXL2K, PDF, PPTX, or DHTML Report
Aligning a Heading or Footing Element Across Columns in an HTML or PDF Report
Aligning Content in a Multi-Line Heading or Footing
Positioning Headings, Footings, or Items Within Them
Controlling the Vertical Positioning of a Heading or Footing
Placing a Report Heading or Footing on Its Own Page
Formatting Report Data
Specifying Font Format in a Report
Specifying Background Color in a Report
Alternating Background Color By Wrapped Line
Specifying Data Format in a Report
Positioning Data in a Report
Creating a Graph
Content Analysis: Determining Graphing Objectives
The GRAPH Command
Creating an HTML5 Graph
Selecting a Graph Type
Selecting Values for the X and Y Axes
Creating Multiple Graphs
Plotting Dates in Graphs
Refining the Data Set For Your Graph
Displaying Missing Data Values in a Graph
Applying Conditional Styling to a Graph
Linking Graphs to Other Resources
Adding Labels to a Graph
Applying Custom Styling to a Graph
Saving a Graph as an Image File
Printing a Graph
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
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
Improving Report Processing
Rotating a Data Structure for Enhanced Retrieval
Optimizing Retrieval Speed for FOCUS Data Sources
Automatic Indexed Retrieval
Data Retrieval Using TABLEF
Compiling Expressions
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
Referring to Fields in a Report Request
Referring to an Individual Field
Referring to Fields Using Qualified Field Names
Referring to All of the Fields in a Segment
Displaying a List of Field Names
Launch PDF
Describing Data With ibi™ WebFOCUS® Language
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
Creating and Using a Master File Profile
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
Defining a Dimension: WITHIN
Validating Data: ACCEPT
Specifying Acceptable Values for a Dimension
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 WebFOCUS 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
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
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
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
Rounding in WebFOCUS
Data Storage and Display
Rounding in Calculations and Conversions
Launch PDF
Developing Reporting Applications
WebFOCUS Application Logic
Three-Tier Application Logic
Publishing an Application
WebFOCUS Components
Section 508 Accessibility in WebFOCUS
Managing Applications
What Is an Application?
Procedures and Metadata on the Application Tree
Managing Applications and Paths
Application Commands Overview
Search Path Management Commands
Application and File Management Commands
Output Redirection Commands
Application Metadata Commands and Catalog Metadata
APP HELP
Restricting the Use of APP Commands
Accessing Metadata and Procedures
Allocating Temporary Files
Temporary Space Usage and Location
Temporary Disk Space Usage for Non-PDS Deployment
Application Tools
Coding a User Interface
Which Tools Can You Use?
The WebFOCUS Client
Using the Servlet
Using a Dynamic Multiselect Drop-Down List
Enabling Ad Hoc Reporting
Validating a Form With JavaScript
WebFOCUS Autoprompt Facility
Responsive Autoprompt
HTML Autoprompt
Autoprompt Considerations
Defining Parameter-Based Filters
Customizing the Autoprompt Facility
Displaying a Report on the Default WebFOCUS Page
Designing an HTML Page for Report Display
Enhancing a User Interface
Displaying a Report in a Helper Application
Controlling Multiple Reports
Including CSRF Tokens in an HTML Webpage
Adding JavaScript for Drill-Down Reporting
Facilitating Report Manipulation
Using a Cascading Style Sheet to Standardize Display
Displaying a Previously Run Report
Passing a User ID From HTML for a Custom Menu
Managing Flow of Control in an Application
Uses for Dialogue Manager
Dialogue Manager Processing
Creating a Dialogue Manager Procedure
Customizing a Procedure With Variables
Creating a Standard Quote-Delimited String
Creating and Working With Variables
Using Numeric Amper Variables in Functions
Controlling the Execution of a Procedure
Navigating a Procedure
Enhancing an HTML Webpage With a Procedure
Issuing Operating System Commands
Controlling Passwords With Dialogue Manager
Sending a Message to the Application
Testing and Debugging a Dialogue Manager Procedure
Dialogue Manager Syntax Reference
Testing and Debugging a Procedure
Debugging Your Application With 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 Current DDNAMEs Assigned With FILEDEF
Displaying Defined Functions
Displaying HOLD Fields
Displaying JOIN Structures
Displaying National Language Support
Displaying Explanations of Error Messages
Displaying the Current Search Path
Displaying the Release Number
Displaying the Values of a Remote Server
Displaying Parameter Settings
Displaying Graph Parameters
Displaying the Site Code of the Connected Server
Displaying Command Statistics
Displaying StyleSheet Parameter Settings
Displaying Information About the SU Machine
Displaying Data Sources Specified With USE
Displaying Global Variable Values
Identifying the Files Being Used
Reporting Dynamically From System Tables
Accessing a FOCUS Data Source
The USE Command
Identifying a FOCUS Data Source
Using Alternative File Specifications
Identifying a New Data Source
Protecting a Data Source
Concatenating Data Sources
Displaying the Current USE Options
Clearing the USE Options
Customizing Your Environment
When Do You Use the SET Command?
Ways to Issue a SET Command
Coding a SET Command
Types of SET Parameters
SET Parameter Syntax
Defining and Allocating WebFOCUS Files
Allocating WebFOCUS Files
Application Files Under Windows
Extract Files Under Windows
Work Files Under Windows
Determining If A File Exists Under Windows
WebFOCUS Files Under MVS
Application Files Under MVS
Extract Files Under MVS
Work Files Under MVS
Reviewing Attributes of Allocated Files Under MVS
Application Files Under UNIX
Extract Files Under UNIX
Work Files Under UNIX
Determining If a File Exists Under UNIX
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
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
DIFFERENCE: Measuring the Phonetic Similarity Between Character 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
LEFT: Returning Characters From the Left of a Character String
LOWER: Returning a String With All Letters Lowercase
LPAD: Left-Padding a Character String
LTRIM: Removing Blanks From the Left End of a String
OVERLAY: Replacing Characters in 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
POSITION: Returning the Position of a Search String in a Source String
Regular Expression Functions
REPEAT: Repeating a String a Given Number of Times
REPLACE: Replacing a String
RIGHT: Returning Characters From the Right of a Character String
RPAD: Right-Padding a Character String
RTRIM: Removing Blanks From the Right End of a String
SPACE: Returning a String With a Given Number of Spaces
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
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
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
IMPUTE: Replacing Missing Values With Aggregated Values
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
DAYNAME: Returning the Name of the Day From a Date Expression
DT_CURRENT_DATE: Returning the Current Date
DT_CURRENT_DATETIME: Returning the Current Date and Time
DT_CURRENT_TIME: Returning the Current Time
DT_TOLOCAL: Converting Universal Coordinated Time to Local Time
DT_TOUTC: Converting Local Time to Universal Coordinated 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
MONTHNAME: Returning the Name of the Month From a Date Expression
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
Maintain-specific Date and Time Functions
Maintain-specific Standard Date and Time Functions
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
DT_FORMAT: Converting a Date or Date-Time Value to an Alphanumeric String
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
Maintain-specific Light Update Support Functions
IWC.FindAppCGIValue: Retrieving a WebFOCUS Parameter or Variable Value
IWC.GetAppCGIValue: Importing a WebFOCUS Parameter or Variable
Simplified Numeric Functions
ASCII: Returning the ASCII Code for the Leftmost Character in a String
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
LOG10: Calculating the Base 10 Logarithm
MOD: Calculating the Remainder From a Division
POWER: Raising a Value to a Power
ROUND: Rounding a Number to a Given Number of Decimal Places
SIGN: Returning the Sign of a Number
TRUNCATE: Truncating a Number to a Given Number of Decimal Places
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)
Maintain-specific Script Functions
IWCLink: Displaying a URL in a Browser or Frame
IWCSwitchToSecure and IWCSwitchToUnsecure: Turning the Secure Sockets Layer On and Off
IWCTrigger: Calling a Maintain Function From a Script Handler
IWC.FindAppCGIValue: Finding a WebFOCUS Parameter or Variable Value
IWC.GetAppCGIValue: Retrieving a WebFOCUS Parameter or Variable
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
OUTLIER: Identifying Outliers in Numeric Data
RSERVE: Running an R Script
STDDEV: Calculating the Standard Deviation for a Set of Data Values
Machine Learning (Python-based) Functions
ANOMALY_IF: Detecting Outliers
CLASSIFY_BLR: Binary Logistic Regression
CLASSIFY_KNN: K-Nearest Neighbors Classification
CLASSIFY_RF: Random Forest Classification
CLASSIFY_XGB: Extreme Gradient Boosting Classification
REGRESS_KNN: K-Nearest Neighbors Regression
REGRESS_POLY: Polynomial Regression
REGRESS_RF: Random Forest Regression
REGRESS_XGB: Extreme Gradient Boosting Regression
RUN_MODEL and RUN_MODEL2: Running a Saved Python Model
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
SLACK: Posting a Message to a Slack Channel
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
Simplified Geography Functions
Sample Geography Files
GIS_DISTANCE: Calculating the Distance Between Geometry Points
GIS_DRIVE_ROUTE: Calculating the Driving Directions Between Geometry Points
GIS_GEOCODE_ADDR: Geocoding a Complete Address
GIS_GEOCODE_ADDR_CITY: Geocoding an Address Line, City, and State
GIS_GEOCODE_ADDR_POSTAL: Geocoding an Address Line and Postal Code
GIS_GEOMETRY: Building a JSON Geometry Object
GIS_IN_POLYGON: Determining if a Point is in a Complex Polygon
GIS_LINE: Building a JSON Line
GIS_POINT: Building a Geometry Point
GIS_REVERSE_COORDINATE: Returning a Geographic Component
GIS_SERVICE_AREA: Calculating a Geometry Area Around a Given Point
GIS_SERV_AREA_XY: Calculating a Service Area Around a Given Coordinate
SQL Character Functions
LOCATE: Returning the Position of a Substring in a String
SQL Miscellaneous Functions
CHR: Returning the ASCII Character Given a Numeric Code
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