Users Guide

Appeon InfoMaker® 2019 R2

FOR WINDOWS

DOCUMENT ID: DC37789-01-1900-01

LAST REVISED: January 10, 2020

Copyright © 2019 Appeon. All rights reserved.

This publication pertains to Appeon software and to any subsequent release until otherwise indicated in new editions or technical notes. Information in this document is subject to change without notice. The software described herein is furnished under a license agreement, and it may be used or copied only in accordance with the terms of that agreement.

Upgrades are provided only at regularly scheduled software release dates. No part of this publication may be reproduced, transmitted, or translated in any form or by any means, electronic, mechanical, manual, optical, or otherwise, without the prior written permission of Appeon Inc.

Appeon and other Appeon products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of Appeon Inc.

SAP and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP and SAP affiliate company.

Java and all Java-based marks are trademarks or registered trademarks of Oracle and/or its affiliates in the U.S. and other countries.

Unicode and the Unicode Logo are registered trademarks of Unicode, Inc.

All other company and product names mentioned may be trademarks of the respective companies with which they are associated.

Use, duplication, or disclosure by the government is subject to the restrictions set forth in subparagraph (c)(ii) of DFARS 52.227-7013 for the DOD and as set forth in FAR 52.227-19(a)-(d) for civilian agencies.

Appeon Inc., 1/F, Shell Industrial Building, 12 Lee Chung Street, Chai Wan District, Hong Kong.


Table of Contents

The InfoMaker Environment
Working with InfoMaker
About InfoMaker
What you can do using InfoMaker
Reports
Queries
Forms
Data pipelines
Database management
The InfoMaker environment
About the PowerBar
About wizards
Working with libraries
Setting the current library
Working with objects
Creating new objects
Opening existing objects
Running or previewing objects
Working in painters
Opening painters
Painter summary
Using views in painters
Using pop-up menus
Defining colors
Working with tools
Using property pages
Using toolbars
Toolbar basics
Drop-down toolbars
Controlling the display of toolbars
Moving toolbars using the mouse
Customizing toolbars
Creating new toolbars
Using report wizards
Using the To-Do List
Using online Help
Customizing keyboard shortcuts
Using the file editor
Setting file editing properties
Editing activities
Changing fonts
Accessing shared queries stored on a network
Defining libraries for user-defined form styles
Using the Query Governor
Accessing the Query Governor
Using the Query Governor
How your InfoMaker environment is managed
About the registry
About the initialization file
Starting InfoMaker from the command line
Working with Libraries
About libraries
About InfoMaker libraries and special files
Creating new libraries
About the Library painter
Working with libraries
Displaying libraries and objects
Using the pop-up menu
Controlling columns that display in the List view
Selecting objects
Filtering the display of objects
Filtering the display of libraries and folders
Working in the current library
Changing the current library
Opening and previewing objects
Copying, moving, and deleting objects
Setting the root
Moving back, forward, and up one level
Modifying comments
Deleting libraries
Optimizing libraries
Regenerating library entries
Rebuilding libraries
Migrating libraries
Creating a library directory report
Working with Databases
Managing the Database
Working with database components
Managing databases
Using the Database painter
Modifying database preferences
Logging your work
Creating and deleting a SQL Anywhere database
Working with tables
Creating a new table from scratch
Creating a new table from an existing table
Specifying column definitions
Specifying table and column properties
Altering a table
Cutting, copying, and pasting columns
Closing a table
Dropping a table
Viewing pending SQL changes
Printing the table definition
Exporting table syntax
About system tables
Creating and editing temporary tables
Working with keys
Working with indexes
Working with database views
Manipulating data
Retrieving data
Modifying data
Sorting rows
Filtering rows
Viewing row information
Importing data
Printing data
Saving data
Creating and executing SQL statements
Building and executing SQL statements
Customizing the editor
Controlling access to the current database
Working with Data Pipelines
About data pipelines
Defining a data pipeline
Piping extended attributes
Creating a data pipeline
Modifying the data pipeline definition
Choosing a pipeline operation
Dependency of modifications on pipeline operation
When execution stops
Piping blob data
Changing the destination and source databases
Correcting pipeline errors
Saving a pipeline
Using an existing pipeline
Pipeline examples
Reports
Defining Reports
About reports
Choosing a presentation style
Using the Tabular style
Using the Freeform style
Using the Grid style
Using the Label style
Using the N-Up style
Using the Group style
Using the Composite style
Using the Graph and Crosstab styles
Using the OLE 2.0 style
Using the RichText style
Using the TreeView style
Building a report 
Selecting a data source
Using Quick Select
Selecting a table
Selecting columns
Specifying sorting criteria
Specifying selection criteria
Using SQL Select
Selecting tables and views
Selecting columns
Displaying the underlying SQL statement
Joining tables
Using retrieval arguments
Referencing retrieval arguments
Specifying selection, sorting, and grouping criteria
Using Query
Using External
Using Stored Procedure
Choosing report-wide options
Generating and saving a report 
About the extended attribute system tables and reports
Saving the report
Modifying an existing report
Defining queries
Previewing the query
Saving the query
Modifying a query
What's next
Enhancing Reports
Working in the Report painter 
Understanding the Report painter Design view
Using the Report painter toolbars
Using the Properties view in the Report painter
Selecting controls in the Report painter
Resizing bands in the Report painter Design view
Using zoom in the Report painter
Undoing changes in the Report painter
Using the Preview view of a report 
Retrieving data
Modifying data
Importing data into a report
Using print preview
Printing data
Working in a grid report
Saving data in an external file
Saving the data as PDF
Saving the data in HTML Table format
Working with PSR files
Modifying general report properties
Changing the report style
Setting colors in a report
Setting gradients and background pictures in a report
Setting transparency properties for a report
Specifying properties of a grid report
Specifying pointers for a report
Defining print specifications for a report
Modifying text in a report
Naming controls in a report
Using borders in a report
Specifying variable-height bands in a report
Modifying the data source of a report
Storing data in a report using the Data view
What happens at runtime
Retrieving data
Prompting for retrieval criteria in a report
Retrieving rows as needed
Saving retrieved rows to disk
Working with Controls in Reports
Adding controls to a report
Adding columns to a report
Adding text to a report
Adding drawing controls to a report
Adding a group box to a report
Adding pictures to a report
Adding computed fields to a report
Adding buttons to a report
Adding graphs to a report
Adding InkPicture controls to a report
Adding OLE controls to a report
Adding reports to a report
Adding table blob controls to a report
Adding tooltips to a DataWindow control
Reorganizing controls in a report 
Displaying boundaries for controls in a report
Using the grid and the ruler in a report
Deleting controls in a report
Moving controls in a report
Copying controls in a report
Resizing controls in a report
Aligning controls in a report
Equalizing the space between controls in a report
Equalizing the size of controls in a report
Sliding controls to remove blank space in a report
Positioning controls in a report
Rotating controls in a report
Displaying and Validating Data
About displaying and validating data
Presenting the data
Validating data
About display formats
Working with display formats
Working with display formats in the Database painter
Working with display formats in the Report painter and Form painter
Defining display formats
Number display formats
String display formats
Date display formats
Time display formats
About edit styles
Working with edit styles
Working with edit styles in the Database painter
Working with edit styles in the Form or Report painter
Defining edit styles
The Edit edit style
The DropDownListBox edit style
The CheckBox edit style
The RadioButtons edit style
The EditMask edit style
The DropDownDataWindow edit style
The RichText edit style
The InkEdit edit style
Defining a code table
How code tables are implemented
How code tables are processed
Validating user input
About validation rules
Understanding validation rules
Working with validation rules
Defining validation rules
Defining a validation rule in the Database painter
Defining a validation rule in the Form painter
How to maintain extended attributes
Filtering, Sorting, and Grouping Rows
Filtering rows
Sorting rows
Suppressing repeating values
Grouping rows
Using the Group presentation style
Defining groups in an existing report
Highlighting Information in Reports and Forms
Highlighting information
Modifying properties when designing
Modifying properties at runtime
Modifying properties conditionally at runtime
Example 1: creating a gray bar effect
Example 2: rotating controls
Example 3: highlighting rows of data
Example 4: changing the size and location of controls
Supplying property values
Background.Color
Border
Brush.Color
Brush.Hatch
Color
Font.Escapement (for rotating controls)
Font.Height
Font.Italic
Font.Strikethrough
Font.Underline
Font.Weight
Format
Height
Pen.Color
Pen.Style
Pen.Width
Pointer
Protect
Timer_Interval
Visible
Width
X
X1, X2
Y
Y1, Y2
Specifying colors
Using Nested Reports
About nested reports
Creating a report using the Composite presentation style
Placing a nested report in another report
Placing a related nested report in another report
Placing an unrelated nested report in another report
Working with nested reports
Adjusting nested report width and height
Changing a nested report from one report to another
Modifying the definition of a nested report
Adding another nested report to a composite report
Supplying retrieval arguments to relate a nested report to its base report
Specifying criteria to relate a nested report to its base report
Using options for nested reports
Exporting and Importing XML Data
About XML
Valid and well-formed XML documents
XML syntax
XML parsing
XML support in the Report painter
The Export/Import Template view for XML
Creating templates
Saving templates
Header and Detail sections
Editing XML templates
XML declaration
Document type declaration
Root element
Controls
InfoMaker expressions
Attributes
Composite and nested reports
CDATA sections
Comments
Processing instructions
Exporting to XML
Setting data export properties
Importing XML
Importing with a template
Default data import
Tracing import
Working with Graphs
About graphs
Parts of a graph
Types of graphs
Using graphs in reports
Placing a graph in a report
Using the graph's Properties view
Changing a graph's position and size
Associating data with a graph
Using the Graph presentation style
Defining a graph's properties
Using the General page in the graph's Properties view
Sorting data for series and categories
Specifying text properties for titles, labels, axes, and legends
Specifying overlap and spacing
Specifying axis properties
Specifying a pointer
Working with Crosstabs
About crosstabs
Two types of crosstabs
Creating crosstabs
Associating data with a crosstab
Specifying the information
Viewing the crosstab
Specifying more than one row or column
Previewing crosstabs
Enhancing crosstabs
Specifying basic properties
Modifying the data associated with the crosstab
Changing the names used for the columns and rows
Defining summary statistics
Cross-tabulating ranges of values
Creating static crosstabs
Using property conditional expressions
Working with TreeViews
TreeView presentation style
Creating a new TreeView report
TreeView creation process
Creating a TreeView report
Adding and deleting TreeView levels
Selecting a tree node and navigating the tree
Sorting rows in a TreeView report
TreeView report Design view
Setting properties for the TreeView report
Setting general TreeView properties
Setting TreeView level properties
Setting detail band properties
TreeView DataWindow examples
Data Explorer sample
Data Linker sample
Working with Rich Text
About rich text
Rich text editors
Using the RichText presentation style
Creating the report
Formatting for RichText objects within the report
Previewing and printing
Formatting keys and toolbars
Using OLE in a Report 
About using OLE in reports
OLE objects and the OLE presentation style
Adding an OLE object to a report 
Using the OLE presentation style
Defining the OLE object
Specifying data for the OLE object
Previewing the report
Activating and editing the OLE object
Changing the object in the control
Using OLE columns in a report 
Creating an OLE column
Forms
Defining Forms
About forms
Creating new forms
Freeform forms
Grid forms
Master/Detail One-To-Many forms
Master/Detail Many-To-One forms
Creating and saving forms
Creating basic forms
Creating a master/detail form
Defining data so that a form can update a database
Generating and saving forms
Working with forms
Running forms
Limiting the retrieved data
Importing data into a form
Saving data in an external file
Printing forms
Actions in forms
Accessing and deleting forms
Controlling Updates in Forms
About controlling updates
What you can do
Specifying the table to update
Specifying the unique key columns
Specifying an identity column
Specifying updatable columns
Specifying the WHERE clause for update/delete
Specifying update when key is modified
Enhancing Forms
About enhancing forms
Working in the Form painter Layout view
Using the Form painter toolbars
Using the pop-up menus in the Form painter
Using the Properties view in the Form painter
Selecting controls in the Form painter
Defining default colors and borders in the Form painter
Printing the form definition
Reorganizing controls in the form
Using the grid in the Form painter
Deleting controls in the Form painter
Moving controls in the Form painter
Copying and pasting controls in the Form painter
Resizing controls in the Form painter
Aligning controls in the Form painter
Equalizing the space between controls in the Form painter
Equalizing the size of controls in the Form painter
Undoing changes in the Form painter
Sliding controls in a form
Modifying general form properties
Specifying a title for a form
Setting colors for a form
Specifying the display of scrollbars for a form
Specifying pointers for a form
Modifying text in a form
Defining the tab order in a form
Using borders in a form
Prompting for retrieval criteria in a form
Modifying the data source of a form
Adding controls to the form
Adding columns to a form
Adding text to a form
Adding computed fields to a form
Adding pictures to a form
Adding command buttons to a form
Adding picture buttons to a form
Adding reports to a form
Adding drawing controls to a form
Highlighting information in a form
Displaying and validating data in a form
Applications
Working with Applications
About applications
Creating an application
Reusing an application
Running an application
Identifying your application
Running a report, form, or pipeline
Managing the toolbar
Managing the open reports, forms, and pipelines
Using the query governor in an application
Using a pipeline in an application
Executing pipelines
Modifying the pipeline object's definition
Starting an application from the command line
Deploying Your Application
About deploying applications
Installing InfoMaker runtime files
Making the data source available
Installing native database interfaces
Installing ODBC and system files
Configuring an ODBC driver
Deploying the SQL Anywhere Desktop Runtime System
OLE DB and ADO.NET database providers
JDBC database interface
Save as PDF and XSL-FO
Installing the executable application and supporting files
Modifying the application's initialization file
Deploying ActiveX controls
Starting the deployed application
Reference
Operators and Expressions
Where you use expressions
Operators used in InfoMaker expressions
Arithmetic operators in InfoMaker expressions
Relational operators in InfoMaker expressions
Logical operators in InfoMaker expressions
Concatenation operator in InfoMaker expressions
Operator precedence in InfoMaker expressions
Matching text patterns
DataWindow Expression and InfoMaker Functions
Using DataWindow expression and InfoMaker functions
Decimal support in DataWindow expressions
Four examples
Example 1: counting null values in a column
Example 2: counting male and female employees
Example 3: creating a row indicator
Example 4: displaying all data when a column allows nulls
Other examples
Alphabetical list of DataWindow expression and InfoMaker functions
Abs
ACos
Asc
AscA
ASin
ATan
Avg
Bitmap
Case
Ceiling
Char
CharA
Cos
Count
CrosstabAvg
CrosstabAvgDec
CrosstabCount
CrosstabMax
CrosstabMaxDec
CrosstabMin
CrosstabMinDec
CrosstabSum
CrosstabSumDec
CumulativePercent
CumulativeSum
CurrentRow
Date
DateTime
Day
DayName
DayNumber
DaysAfter
Dec
Describe
Exp
Fact
Fill
FillA
First
GetRow
GetText
Hour
If
Int
Integer
IsDate
IsExpanded
IsNull
IsNumber
IsRowModified
IsRowNew
IsSelected
IsTime
Large
Last
LastPos
Left
LeftA
LeftTrim
Len
LenA
Log
LogTen
Long
LookUpDisplay
Lower
Match
Max
Median
Mid
MidA
Min
Minute
Mod
Mode
Month
Now
Number
Page
PageAbs
PageAcross
PageCount
PageCountAcross
Percent
Pi
Pos
PosA
ProfileInt
ProfileString
Rand
Real
RelativeDate
RelativeTime
Replace
ReplaceA
RGB
RichText
RichTextFile
Right
RightA
RightTrim
Round
RowCount
RowHeight
Second
SecondsAfter
Sign
Sin
Small
Space
Sqrt
StDev
StDevP
String
StripRTF
Sum
Tan
Time
Today
Trim
Truncate
Upper
Var
VarP
WordCap
Year
Appendixes
Identifiers
Rules
Reserved words
The Extended Attribute System Tables
About the extended attribute system tables
The extended attribute system tables
Edit style types for the PBCatEdt table