274
Infogix Assure Controls Design Guide

Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Draft: For internal review only

Infogix Assure Controls Design Guide

Page 2: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Infogix, the Infogix checkmark logo, Unitech Systems, Inc., Infogix Assure, Infogix Insight, ACR, ACR/Detail, ACR/Summary, ACR/Workbench, ACR/Connector, ACR/Instream, ACR/File, Information Integrity, and Information With Confidence are registered trademarks of Infogix, Inc.

Infogix ACR, Infogix EM, Infogix ER, Infogix Perceive, Infogix Controls, ACR/TransMatch, and The Information Integrity Experts are trademarks of Infogix, Inc.

Any other trademarks or registered trademarks are the property of their respective owners.

Copyright 2005–2011 Infogix, Inc. All rights reserved.

Confidential—Limited distribution to authorized persons only, pursuant to the terms of Infogix, Inc. (FKA Unitech Systems, Inc.) license agreement. This document is protected as an unpublished work and constitutes a trade secret of Infogix, Inc.

This document and the information contained herein are the property of Infogix, Inc. Reproduction or use in whole or in part of this document and the information contained herein by anyone without prior written consent of Infogix, Inc. is prohibited.

Publication Number: 1877

Publication Date: 6/1/11

Page 3: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

3Infogix Assure Controls Design Guide

Contents

Chapter 1 IntroductionWho Should Use This Guide? ................................................................... 9

What’s Covered in This Guide?................................................................. 9

Contacting Customer Support ................................................................. 10

Chapter 2 Getting Started with ControlsBasic Controls Development Steps ..........................................................11

Create Layouts ....................................................................................11Define Result Templates..................................................................... 12Create a Control Entity ....................................................................... 12Create a Control Point ........................................................................ 13Define the Validation Rules and Any Specialized Controls................. 13Test Your Validation Rules .................................................................. 13

What All Rules Writers Should Know ...................................................... 13

Source File, Processing, and Testing Basics .......................................... 15Specifying the Data Sources............................................................... 15Disabling Result Actions While Testing............................................... 16Manually Adding Control Entity Data .................................................. 16Testing from the Interface ................................................................... 18

Chapter 3 Layouts for Data ExtractionLayout Types ........................................................................................... 21

Control Point Overrides to Layouts.......................................................... 22Default Channel Overrides ................................................................. 22Dynamic Paths and URLs for Data Sources....................................... 22

Page 4: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Contents

4 Infogix, Inc.

Chapter 4 Control Entities and Control PointsTypes of Control Entities ......................................................................... 23

Summary Control Entities ................................................................... 24Detail Control Entities ......................................................................... 25Match Data Control Entities ................................................................ 26

Using Express Controls to Create Controls............................................. 27

Types of Control Points .......................................................................... 28Setting Up Control Point Actions ........................................................ 29Balance Control Points (Summary Only) ............................................ 31Single Capture Control Points (Detail Entities Only)........................... 35Multiple Capture Control Points Overview .......................................... 36Multiple Capture Control Points (Detail Entities Only) ........................ 37Multiple Capture Control Points (Match Data Entity Only) .................. 40Reconciliation Control Points (Detail Entities Only) ............................ 43Scan Control Points (Detail only)........................................................ 70Timeliness Control Points (Summary and Detail) ............................... 71

Specialized Controls................................................................................ 71Tracking Controls (Summary and Detail)............................................ 72Latency Controls................................................................................. 72Timeliness Controls ............................................................................ 77Duplicate Source Control (Summary and Detail) ................................ 86Point-to-Point Controls........................................................................ 88

Instances of Control Entities.................................................................... 94Control Entity Instances for Capture Control Points ........................... 95Retention Policies ............................................................................... 99Control Data History ......................................................................... 100Specifying Reruns............................................................................. 100Working with Existing Instances ....................................................... 101

Chapter 5 Writing RulesExtraction Rules .................................................................................... 105

Combining and Merging Control Field Values .................................. 105Work Fields....................................................................................... 108Defining the Extraction...................................................................... 109Defining Multiple Compute Rules ......................................................113Making Extract Rules a Procedure ....................................................114Testing the Extraction ........................................................................115Types of Extraction Rules ..................................................................116Multiple Capture Extracts...................................................................118

Page 5: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Contents

5Infogix Assure Controls Design Guide

Validation Rules......................................................................................118Validation Rule Elements...................................................................119Execute Actions ................................................................................ 124Defining Execute Control Point Actions ............................................ 125Defining Execute Script Actions........................................................ 127Applying Actions ............................................................................... 128Values for Your Validation Rules....................................................... 129Derived Field Values......................................................................... 130Runtime Fields.................................................................................. 131

Storing and Retrieving History for Your Rules ....................................... 135Defining History to Store ................................................................... 135Defining History to Retrieve .............................................................. 135Retrieving History from ACR/Summary ............................................ 136Verifying History for Validation .......................................................... 137

Chapter 6 Alerting Users to ResultsKey Notification Concepts ..................................................................... 139

Inboxes and Notifications.................................................................. 139Results.............................................................................................. 140Result Templates .............................................................................. 141Alerts................................................................................................. 142

Steps to Define Results, Result Actions, and Alerts .............................. 143Set Up Results.................................................................................. 143Assign Results to Validation Rules ................................................... 149Define a Result Template.................................................................. 151Define an Action Type for a Result Action ........................................ 158

Chapter 7 Translation TablesTranslation Table Sources ..................................................................... 161

Internal Table .................................................................................... 161External Table ................................................................................... 162Using Existing Tables........................................................................ 162

Translation Table Types......................................................................... 162Simple Table ..................................................................................... 162Complex Table .................................................................................. 163

Page 6: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Contents

6 Infogix, Inc.

Defining a Simple Table......................................................................... 163Details tab......................................................................................... 164Source tab ........................................................................................ 164Parameters tab ................................................................................. 165Data tab ............................................................................................ 165Using Translated Values From a Simple Table ................................. 167

Defining a Complex Table ..................................................................... 172Details tab......................................................................................... 172Source tab ........................................................................................ 173Parameters tab ................................................................................. 173Data tab ............................................................................................ 174Translations tab ................................................................................ 176Using Translated Values From a Complex Table.............................. 178

Chapter 8 CalendarsDefault Schedule Calendars.................................................................. 184

Infogix Action Rule Processing Schedule ......................................... 184Infogix Delete Alerts Schedule.......................................................... 184Infogix Apply Retention Policy Schedule .......................................... 185Infogix License Check Schedule....................................................... 185

Chapter 9 ReportingTypes of Reports ................................................................................... 187

Formatting Reports................................................................................ 189Setting Presentation Attributes for Control Fields............................. 189Selecting Presentation Attributes on Reports ................................... 190

Control Reports ..................................................................................... 191Specifying Control Reports ............................................................... 193Accessing a Control Report .............................................................. 194

Match Set Audit Reports........................................................................ 194Specifying a Match Set Audit Report ................................................ 195Accessing a Match Set Audit Report ................................................ 196

Recap Reports....................................................................................... 196Specifying a Recap Report ............................................................... 197Accessing a Recap Report ............................................................... 198

Page 7: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Contents

7Infogix Assure Controls Design Guide

User Reports ......................................................................................... 198Specifying a User Report .................................................................. 199Accessing a User Report .................................................................. 201

Reconciliation Task Reports .................................................................. 201Specifying a Reconciliation Task Report........................................... 202Accessing a Reconciliation Task Report........................................... 204

Chapter 10 Cycle ProcessingAbout Cycles and Cycle Processing ..................................................... 205

Relative Cycle Processing..................................................................... 206How to Specify Relative Cycle Retrieval........................................... 208

Variable Cycle Retrieval ........................................................................ 209How to Specify Variable Cycle Retrieval............................................211

Chapter 11 Function ReferenceFunction Listing ..................................................................................... 213

Glossary .........................................................................................261

Index ...............................................................................................271

Page 8: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Contents

8 Infogix, Inc.

Page 9: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

9Infogix Assure Controls Design Guide

1Introduction

This guide is your starting point to develop controls using Infogix Assure®.

Who Should Use This Guide?If you are responsible for any task in the development phase of an Infogix Assure implementation, you should use this guide. This guide provides rules writers and programmers with the instructions and details required to write and test controls.

What’s Covered in This Guide?This Infogix Assure Controls Design Guide provides information that helps rules writers and programmers write and implement controls.

The table below describes each chapter.

Chapter Contents

Chapter 2, “Getting Started with Controls” This chapter provides an overview of controls development. The chapter highlights information to know before you start.

Chapter 3, “Layouts for Data Extraction” This chapter provides information and instructions to define the layouts for your input sources.

Chapter 4, “Control Entities and Control Points” This chapter contains detailed information about control entities and control points.

Chapter 5, “Writing Rules” This chapter contains detailed information to write rules.

Chapter 6, “Alerting Users to Results” This chapter provides steps to define result templates, result actions, and results.

Chapter 7, “Translation Tables” This chapter describes how translation tables work.

Chapter 8, “Calendars” This chapter describes how calendars work.

Chapter 9, “Reporting” This chapter has an overview of the various reports available.

Page 10: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

1 Introduction

Contacting Customer Support

10 Infogix, Inc.

Contacting Customer SupportIf you need assistance, contact Infogix® Customer Support:

U.S. and Canada: Call us at (630) 505-1890 or send a fax to (630) 505-1883. You can also send an email to [email protected].

Outside the U.S. and Canada: Infogix maintains offices around the world. Check our Web site at www.infogix.com for the closest Infogix office or email us at [email protected].

Chapter 10, “Cycle Processing” This chapter has an introduction to relative cycle and variable cycle data retrieval.

Chapter 11, “Function Reference” This chapter provides descriptions of the functions available throughout the product.

Chapter Contents

Page 11: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

11Infogix Assure Controls Design Guide

2 Getting Started with Controls

This chapter describes the basic steps to follow to develop controls, helpful information for understanding Infogix Assure concepts, and background information on processing and testing.

Basic Controls Development StepsThe section provides a brief overview of controls development.

Create LayoutsLayouts describe which values to extract from the input source. Your input source can be any of the following sources:

Files of fixed length records or variable length records that contain fixed length, positional fields

Stream files of continuous data such as delimited files and data accessed at a particular URL, by FTP or HTTP

API data passed to the product through the Web server

Queries of relational databases

Data with XML tags delimiting groups and fields

Data from Microsoft Excel spreadsheets

Financial transaction data defined by ISO 8583 standards

Java .class files in byte code or Java serialized objects

Page 12: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

2 Getting Started with Controls

Basic Controls Development Steps

12 Infogix, Inc.

The graphic below shows the definition of a layout for a fixed length record file with seven fields. These fields are mixed types of text, date, and numeric. After the data is extracted from the input source, it is available for use in controls and reports.

RulesLayoutsNew LayoutLayout typeFields tab

For more information about the types of layouts available, see Chapter 3, “Layouts for Data Extraction.” For information on how to create a specific layout type, see the Infogix Assure Layouts Guide.

Define Result TemplatesDefine one or more result templates to use with your rules.

If a rule detects an error to report, a return code can send a result message to the system. You can use result messages to identify what is out of balance and to outline procedures to correct the situation.

After you define a result template, any validation rule can use the template.

For more information, see Chapter 6, “Alerting Users to Results.”

Create a Control EntityYou must create at least one control entity.

A control entity is a business process or unit of business data targeted by controls. An entity defines the business data to capture and persist for use in controls. A control entity describes the unique properties of the data to capture and specifies when to store, replace, or delete data from the database or short term file storage. A control entity can contain multiple control points that share data from the entity.

For more information, see “Types of Control Entities” on page 23.

Page 13: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Getting Started with Controls 2

What All Rules Writers Should Know

13Infogix Assure Controls Design Guide

Create a Control PointYou must create at least one control point.

A control point specifies the data capture requirements and validations to apply at a specific time or step within the business process.

Typically, data must be extracted from multiple processes for controls to be applied. For each point in the process where data requires extraction or validation, you will need to create a control point.

For more information, see “Types of Control Points ” on page 28.

Define the Validation Rules and Any Specialized ControlsValidation rules perform a value check to determine the integrity of the business object. The following statements express in words some sample validations:

Does the output of the previous step match the input to the current step?

Does the total from File A match the total from File B?

Does the total for this transaction for this month fall within reasonable limits?

Did the output become corrupt in the data transfer between platforms and computers?

For more information, see “Validation Rules” on page 118.

Specialized controls include checking for duplicate input sources or tracking controls to detect missing or overdue transactions. For more information, see “Specialized Controls” on page 71.

Test Your Validation RulesThe product provides a method to test your rules in the user interface by referencing a file and invoking the control point. You can also supply test data in the user interface. For more information, see “Source File, Processing, and Testing Basics” on page 15.

What All Rules Writers Should KnowThe following topics contain helpful information for the person who writes the rules.

Page 14: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

2 Getting Started with Controls

What All Rules Writers Should Know

14 Infogix, Inc.

What input Means in the User InterfaceThe word input, or in for earlier versions, is used in many selection boxes. Use input or in to indicate your data source is the input source. In the graphic below, selecting the data name input displays the layout fields in the Field box.

The usual alternatives to input sources are control fields, cycle numbers, and run numbers. These are referred to as current. Current indicates that the current control entity instance will generate the control fields, cycle numbers, and run numbers. In the graphic below, selecting the data name current displays the fields available in the current instance in the Field box.

Detecting Duplicate Input SourcesSpecialized controls are available to detect duplicate input sources. The controls can verify that the contents of an input file are not a duplicate of any received earlier or not a duplicate of multiple inputs to a single control. For more information, see “Duplicate Source Control (Summary and Detail)” on page 86.

Data Storage

Most data is stored in the Infogix Assure database. Because of their potential size, the system normally stores Control Reports, Match Set Audit Reports, and Match Data control data in the file system on the server rather than in the database.

You can encrypt the data stored on the server. You can also choose to store the reports in the database. For more information about data storage options, see the Infogix Assure System Administrator’s Guide.

Page 15: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Getting Started with Controls 2

Source File, Processing, and Testing Basics

15Infogix Assure Controls Design Guide

Testing Using the User InterfaceYou can test your rules in the user interface, either by entering test data for each field or by specifying the location of sample input data. For more information, see “Testing from the Interface” on page 18.

Default Result TemplatesInfogix Assure uses default result templates to report system-generated results. Infogix Assure provides a number of these “system” templates as part of the application. The system uses system templates when you create controls using the Express Controls feature. You can also use these system templates as examples to create your own user-defined templates. Do not edit the default result templates.

Source File, Processing, and Testing BasicsThis section provides some essential processing background information to help you understand how to test your rules and how the rules will execute after you move them into a production environment.

This section contains the following topics:

Specifying the data sources

Disabling result actions when testing

Manually adding Control Entity data

Testing from the interface

Specifying the Data SourcesYou specify the data sources for a control point on the control point Capture tab. For Reconciliation control points, you specify the sources on the Sources tab. The data sources available depend on the type of control point.

Page 16: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

2 Getting Started with Controls

Source File, Processing, and Testing Basics

16 Infogix, Inc.

In the example below, input data, runtime data, control data, and file monitor are data sources for a Multiple Capture control point.

RulesControlsControl entityControl pointCapture tab

To add a data source for a control point, click Add on the Capture or Sources tab and select the data source. You can override the location of the data source and other properties, as needed. For example, you might want to override the URL specified for an input file when you are ready to move controls from testing into production.

If Infogix Assure is integrated with Infogix ER and the control point is associated with an Infogix ER Reconciliation, an Infogix ER Control Data source can also be selected as a data source.

Disabling Result Actions While TestingYou can temporarily turn off the result actions while testing to avoid sending unintended emails or inbox notifications. To do this, select Rules Result ActionsResult Action name to display the Details tab. Then change the Status to Disabled.

Manually Adding Control Entity Data In a development or test environment, you may want to manually add control entity data to the database to verify the proper functioning of your controls. In production, it may be necessary to add data to replace data lost due to operational problems. It may also be desirable to create data to prime the database, if controls reference prior instances. You must be authorized to add or edit control data in order to make these changes.

Page 17: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Getting Started with Controls 2

Source File, Processing, and Testing Basics

17Infogix Assure Controls Design Guide

Steps to Add Control Entity Data

1. Select ResultsControl DataControl entity nameOpenRun QueryResultsNew. This opens the New Control Entity Data window.

ResultsControl DataControl entity nameRun Query Results New

The fields in this window are the control fields from your control entity.

2. Specify values for each identity control field.

Identity fields are marked with an asterisk and are required. All other control fields are optional.

3. For Retention Policy, select Standard or Alternate.

A standard retention policy is the default policy for how long to retain control data in the database. Control points and validation rule sets can invoke an alternate retention policy to purge unneeded data from the database as soon as possible.

4. Select the control point where the new instance should be created from the Creation Point list.

Page 18: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

2 Getting Started with Controls

Source File, Processing, and Testing Basics

18 Infogix, Inc.

Testing from the InterfaceYou can create control entity instances in the database in a testing environment to verify the proper functioning of your controls. In production, it may be necessary to create an instance to replace one that failed to arrive due to operational problems. It may also be desirable to create an instance to prime the database, if controls reference prior instances.

1. Select RulesControls.

2. Click the name of the control entity that contains the control point to test.

3. Select the control point to test.

4. For Reconciliation and Scan control points, click Test and skip to step 7.

5. To use a sample file as input, click Test and select Capture Processing. Then specify the path to the input file. You can select a file from the last ten files used or choose a file from the test data repository. If you use the same sample file each time you test, select the Disable Source Duplicate Checks option if the Check for Duplicates options is enabled in your rules.

6. To specify control fields manually, click Test and select Direct Input. You will see a list of any control fields that are populated according to extract rules. For more information, see “Extraction Rules” on page 105. Specify the values that you would like the system to use when you test this control point.

Page 19: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Getting Started with Controls 2

Source File, Processing, and Testing Basics

19Infogix Assure Controls Design Guide

7. If this is a retest, select Is Rerun and specify the cycle and run number to rerun. You can also use this option to override a cycle and run number captured from an input file.

For Multiple Capture or Scan control points, you can override the result and control report limits. For Reconciliation control points, you can override result limits.

8. Click Run.

9. Click View Results to see details about the outcome of the test and any reports that were produced.

Page 20: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

2 Getting Started with Controls

Source File, Processing, and Testing Basics

20 Infogix, Inc.

Page 21: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

21Infogix Assure Controls Design Guide

3 Layouts for Data Extraction

Layouts describe the physical and logical structure of data sources and external translation tables. You must define a layout before you set up the control point that will use it. After you define a layout, you can select it for use by any control point in any control entity.

The layout is a map to the input data. You must have a layout for each input source that you plan to use as a source for control data.

Layout TypesThe type of input source determines the type of layout to use.

The following table identifies the layout types available and a description of the input source:

Type Description

Fixed Files with fixed-length data fields or variable-length records that contain fixed-length positional fields.

Delimited Files or other data streams that use a single character, such as a comma, to delimit data fields.

XML Files that use XML tags to delimit groups and fields.

Database Data in a direct JDBC connection or a JNDI name that identifies the JDBC connection JDBC-compliant relational database.

Microsoft Excel Data in a Microsoft Excel spreadsheet.

ISO 8583 Financial transaction data defined by ISO 8583 standards.

Note: The ISO 8583 layout is available only if you are licensed for this feature.

Java Object Data in a Java class file in byte code or from the serialized object.

Page 22: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

3 Layouts for Data Extraction

Control Point Overrides to Layouts

22 Infogix, Inc.

For information on layouts, refer to the Infogix Assure Layouts Guide. The guide contains examples of different input sources and provides step-by-step instructions for creating each layout type.

Control Point Overrides to LayoutsOverrides to layout properties are available at the control point level and at runtime.

Default Channel OverridesWhen you define a layout, you define the properties for that channel. However, these may not be the properties you need for a particular control point. For example, you can define another path or URL for each data source defined for your capture sources.

This is called a default channel override. You can use this feature to define the source location for the following rules:

External translation rules

Control Point data sources

Specific instructions are in online Help.

Dynamic Paths and URLs for Data SourcesAll or part of a path or URL for a data source can be dynamically assigned by acquiring a value from a properties file during control point execution. This feature is useful to dynamically swap data source locations.

For example, if you migrate controls from test to production, you can use this feature to change the location of your translation table files without editing the controls.

The value of a path or URL element is read from a properties file when the control point executes. This properties file is a text-based file that contains named parameters and their values. When the system reads the file, it acquires and applies the value.

Specific instructions are in online Help.

Page 23: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

23Infogix Assure Controls Design Guide

4 Control Entities and Control Points

This chapter provides conceptual information and procedures to create control entities and control points. It includes the following sections:

Types of Control Entities

Using Express Controls to Create Controls

Types of Control Points

Specialized Controls

Instances of Control Entities

If you have not done so already, read Chapter 2, “Getting Started with Controls.”

Types of Control EntitiesA control entity is a business process or unit of business data targeted by controls. It defines the business data to capture and persist for use in controls. A control entity describes the unique properties of the data to capture and specifies when to store, replace, or delete data from the database or short term file storage.

Within the control entity, various definitions, such as control fields, can be shared by multiple control points.

For example, perhaps a simplified view of your process includes three processes with two types of output:

You want to apply controls at the end of process 2 and at the end of process 3. To do this, you must collect data both from process 2 and process 3. Perhaps you also need data that is stored in the database.

Page 24: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

4 Control Entities and Control Points

Types of Control Entities

24 Infogix, Inc.

To create your controls, you first create a control entity to hold the data from process 2 and process 3 and the rules. Within that control entity, all the definitions for the types of rules and the outcome of those rules can be shared.

You add control points to the control entity. Control points specify the data capture requirements and validations to apply at a specific time or step within a business process. In the simple example described above, your rules need two control points: One to collect data at the end of process 2 and one to collect data at the end of process 3. The second control point then also contains the rules to validate the process.

You can create Summary, Detail, or Match Data control entities, which are described in the next sections. You can also choose to have the system create a Detail, Match Data, or Summary control entity using Express Controls (see “Using Express Controls to Create Controls” on page 27).

Summary Control EntitiesSummary control entities are for controls that balance data from multiple sources. The following list describes the capabilities of summary controls:

Represent processes that are cyclical in nature. Summary control entity rules deal with only one occurrence of control data. Each process cycle represents an occurrence of data, which is referred to as an instance. For more information, see “Instances of Control Entities” on page 94.

Verify that information from two different sources, across multiple applications and business processes, meets user-defined business rules. For example, you can perform historical comparisons and detect reporting errors.

Validate information sources before processing to identify duplicate input sources.

Detect corrupt files using the hash capture functions.

Detect overdue files or processes that exceed a predefined time limit.

Page 25: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Control Entities and Control Points 4

Types of Control Entities

25Infogix Assure Controls Design Guide

Detail Control EntitiesDetail control entities are appropriate to apply controls to unique instances of data within a process, such as the record or transaction level. Each unique instance must have a unique identifier. For example, an insurance claim can have a unique claim number. For more information, see “Identity Control Fields for Detail Control Entities” on page 25.

Detail control entity rules can deal with a large number of records or transactions at one time and can apply matching rules:

One-to-One matching

Any-to-Any matching

Detail control entities also share some capabilities with Summary control entities:

Validate information sources before processing to identify duplicate input sources

Detect corrupt files using hash capture functionality

Detect overdue files or processes that exceed a predefined time limit

With Detail control entities, your data must have a unique identifier.

Identity Control Fields for Detail Control Entities

Each Detail control entity must have at least one identity control field, also known as an ID control field. The ID control field is how the product identifies a unique instance of data and typically identifies the business object.

RulesControlsDetail Control EntityFields tab

Page 26: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

4 Control Entities and Control Points

Types of Control Entities

26 Infogix, Inc.

Match Data Control EntitiesMatch Data control entities are appropriate to apply controls limited to short term storage of data and for later use by reconciliation controls. Each unique instance must have a unique identifier. For more information, see “Identity Control Fields for Match Data Control Entities” on page 26.

Match Data control entities differ from Detail and Summary control entities:

ID control fields can be summary or detail ID fields

Control fields can be indexed and at least one control field must have an index number

Only Multiple Capture control points are supported

Data is persisted in files on the server rather than a database

To encrypt the match data stored on the server, work with your System Administrator. See the Infogix Assure System Administrator’s Guide for more information about file storage options.

Match Data control entities also share some capabilities with Detail and Summary control entities:

Validate information sources before processing to identify duplicate input sources

Detect corrupt files using hash capture functionality

Detect overdue files or processes that exceed a predefined time limit

Identity Control Fields for Match Data Control Entities

Each Match Data control entity must have at least one detail identity control field, also known as an ID control field. The detail ID control field is how the product identifies a unique instance of data and typically identifies the business object. For Match Data entities you must specify whether the identity field is a summary or detail type. A summary identity field represents data at the file level, such as the location from which the file originates. A detail identity field represents a unique instance of data within the file.

Page 27: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Control Entities and Control Points 4

Using Express Controls to Create Controls

27Infogix Assure Controls Design Guide

Match Data entities can also specify index numbers for control fields. The index number indicates the sort order for the capture processing for the Match Data entity. Assign an index number to the match control fields that are likely to result in the most matches, that is, to the fields that are the most unique. At least one control field must have an index number. The same index order must be used to set up the first reconciliation task.

RulesControlsMatch Data Control EntityFields tab

Using Express Controls to Create ControlsYou can use Express Controls to automate the creation of Summary or Detail controls. Use Express Controls to complete a series of screens to specify information about the control you want to create. You can also specify information to create one or two control points appropriate for the control entity. Prior to creating the control, a system-generated report displays the potential outputs and allows you to modify the information you specified on any of the screens. Online help provides additional step-by-step instructions. After the control is created, online help provides information about what the next steps in the process are.

To use Express Controls to create a control, do the following:

1. Select RulesControls.

2. Click Express Controls and select one of the following:

Summary Balancing Control

Detail Data Control

Detail Reconciliation Control

Input Files Control

Page 28: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

4 Control Entities and Control Points

Types of Control Points

28 Infogix, Inc.

If your implementation integrates Infogix ER and Infogix Assure, you will also see four additional express controls to coordinate the two products. To get started with controls to support Infogix ER reconciliations, select the ER Solution Template express control.

3. Follow the instructions in the Express online help to create your controls.

Types of Control Points Within your control entities are control points. A control point represents a step or event during your processing where data needed for controls is captured, controls are applied, or reports are generated.

For each type of control entity, you can select a type of control point suited for a particular type of control. The table below provides a summary. All control points are described in detail in the remainder of this section.

Type of Control Point

Description Availability

Balance Detects out-of-balance conditions.

Suitable for processes where runs are distinguished by a date or sequence number and run number, also known as a cycle number.

Summary only

Single Capture Validates summary level data values and individual transactions passed to the product.

Detail only

Scan Acquires data from previous executions of a control entity and performs operations and validations on any instances that meet designated selection criteria.

Detail only

Multiple Capture Reconciles particular data values or combinations of values across files, databases, applications, and reports within a control entity.

Detail and Match Data

Reconciliation Reconciles data from multiple control entities. Detail only

Timeliness Detects processing problems where transactions take excessive time between processes or fail to arrive within a designated period of time.

Summary and Detail

Page 29: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Control Entities and Control Points 4

Types of Control Points

29Infogix Assure Controls Design Guide

Setting Up Control Point ActionsControl point actions can occur at the start and end of control point processing. Control point actions can also set default validation actions for per-instance processing.

To set up control point actions, select More Manage Actions on the control point Details tab. The system displays the Process tab of the Manage Actions window. The Process tab has three sections: When Starts, When Validating, and When Finishes.

RulesControlsControl EntityControl Point MoreManage Actions

When Starts

The When Starts section is available if an Infogix ER Reconciliation is associated with the control point. You can select to send a notification process and status to Infogix ER when the control point starts processing.

Page 30: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

4 Control Entities and Control Points

Types of Control Points

30 Infogix, Inc.

When Validating

The actions in the When Validating section are for per-instance processing. This section does not appear for Reconciliation control points. Actions in the When Validating section are listed below:

Store Control DataSelect Yes to update the control entity and retain values captured at this control point in history. Select No if you do not want to update the current control entity with values captured at this control point. Select Delete to delete the control entity instance when this control point executes.

Generate Control ReportBy default, the system does not generate a control report for Detail control points. To get a report for each instance validated, select Yes. The system does generate control reports for Summary control points.

TrackingIf you are licensed for Tracking controls, use this option to enable or disable these types of controls for the current control point.

Set RetentionThis option controls how long the database retains control entity instances created or updated at this control point. Default assigns the Standard Policy to new control data as subject to standard retention and leaves existing control data unchanged. Select Standard Policy or Alternate Policy to apply a policy specified on the control entity Details tab.

When Finishes

The When Finishes section contains actions to perform at the end of a control point process and are set up on the Actions tab. See “Defining Execute Control Point Actions” on page 125 and “Defining Execute Script Actions” on page 127 for more information on setting up those actions.

To perform an action conditionally, change the Execute option to When. Then, add an expression that specifies when to perform the action. You can use the Add Field button to select a runtime field value to check. For example, you might check a runtime value to determine whether to run a UNIX® script or a Windows® .bat file when the control point finishes. To set up runtime fields, click More Manage Runtime Fields on the control point Details tab.

Notifications are available if the control point is associated with an Infogix ER Reconciliation.

Page 31: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Control Entities and Control Points 4

Types of Control Points

31Infogix Assure Controls Design Guide

The system displays SYSTEM_TRIGGER as an execute control point action if a trigger control point action was set up for the control point in a previous Infogix Assure release. The trigger control point action is automatically converted to SYSTEM_TRIGGER and displays in the When Finishes section. You can edit a SYSTEM_TRIGGER action, but you cannot select this option for a new action.

Balance Control Points (Summary Only)Some information that you need to validate is linear in nature and simple to interpret. You can use Balance control points to validate this type of information.

Balance control points enable you to validate summary level data values. These control points have the following features:

They can balance data from run to run.

They can detect unexpected changes that occur from one control point to another. For more information, see “Point-to-Point Controls” on page 88.

If your process has repetitive cycles where you need to confirm that the results of one cycle are equal to the input of the next cycle, you can create a Summary control entity with a Balance control point.

Steps to Set Up a Balance Control Point

These steps describe how to set up a Balance control point for a Summary control entity.

See the context Help for explanations of individual fields.

1. Select RulesControlsNew Control EntitySummary Entity.

2. Complete the Details tab in the lower pane.

Daily JobMonday

Daily JobMonday

Daily JobWednesday

Daily JobWednesday

Daily JobTuesday

Daily JobTuesday

Daily JobThursday

Daily JobThursday

Daily JobFriday

Daily JobFriday

Cycle 1

$XXXXXX

Daily JobMonday

Daily JobMonday

Daily JobWednesday

Daily JobWednesday

Daily JobTuesday

Daily JobTuesday

Daily JobThursday

Daily JobThursday

Daily JobFriday

Daily JobFriday

Cycle 2

$XXXXXX

Total output from Cycle 1 = Total Input for Cycle 2

Summary Entity: Balance control point

Page 32: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

4 Control Entities and Control Points

Types of Control Points

32 Infogix, Inc.

3. Click the Fields tab and then click Manage Control Fields. The system displays a list of existing control fields.

4. Click New Control Field.

5. In the bottom pane, define a control field to hold your cycle 1 output amount. In this example, the control field is named OutputFromCycle1.

6. Define another field to hold your cycle 2 input amount. In this example, the control field is named InputForCycle2.

7. Define any other fields you need and click Save.

8. Optionally, select a control field and click Edit to define additional parameters.

9. On the Manage Controls page, select your control entity, then select Add Control PointBalance Control Point.

10. Complete the Details tab. In this example the control point is named OutputCycle1.

11. Click the Capture tab and then click AddInput Data.

You can add control data or, if you previously defined a runtime field for this control point, you can add runtime data.

12. Complete the Source tab. This is where you specify your source layout. In this example, the source is OutputFromCycle1.

For information about defining layouts, see the Infogix Assure Layouts Guide.

For information about specifying the location of the source file, see “Specifying the Data Sources” on page 15.

For information about detecting duplicate input sources, see “Duplicate Source Control (Summary and Detail)” on page 86.

13. Click the Work Fields tab and define any required work fields.

Page 33: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Control Entities and Control Points 4

Types of Control Points

33Infogix Assure Controls Design Guide

14. Click the Extract tab. Create a rule that assigns a value to the OutputFromCycle1 field that you created in the previous step. In this example, this value is extracted from a layout field named GLTotal.

For more information, see “Defining the Extraction” on page 109.

15. Click OK, then click Save to save your new control point.

Now you need to create another control point for the input to cycle two.

16. Select your control entity, then select Add Control PointBalance Control Point.

17. Complete the Details tab. In this example, the control point is named InputCycle2.

18. Click the Capture tab and then click AddInput Data.

19. Complete the Source tab for the input to the second cycle. In this example, the source is named InputForCycle2.

20. Click the Extract tab. Create a rule that assigns a value to the InputForCycle2 field you created in the previous step. In this example, this value is extracted from a layout field named GLTotal.

21. Click OK to return to the Capture tab.

22. Click the Validate tab and click Manage Validation Rules Set to display the Validate tab within the Validation Rule window.

The next steps describe the minimum for a basic balancing rule. For more information, see “Validation Rule Elements” on page 119.

23. Click the New Validation Rule Set line to display Name and Validate When fields in the lower pane.

24. Enter a name and click Apply. The upper pane shows the entire Validation rule set selections.

Page 34: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

4 Control Entities and Control Points

Types of Control Points

34 Infogix, Inc.

25. Click next to Validation Checks to expand the section. Then click the New Validation Check Rule line below it to display the New Validation Check fields in the lower pane. This is where you specify the balance type of rule.

26. Be sure Balance Condition is selected, enter a name for the validation check, then click Apply.

The buttons to add fields and operators to your rule are now enabled.

27. Click Add Field to display the field selection text boxes in the lower pane.

28. Select current in the Data Name text box and your first output field in the Field text box. Then click Apply.

29. Add an operator, such as equal (=).

30. Click Add Field again.

Page 35: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Control Entities and Control Points 4

Types of Control Points

35Infogix Assure Controls Design Guide

31. Select current in the Data Name text box and your input field in the Field text box. Then click Apply.

You have now defined a comparison rule that compares the output from the first cycle to the input of the second cycle.

32. Complete any other validation rules requirements, such as defining results for the outcome of the validation. For more information, see Chapter 6, “Alerting Users to Results”.

33. Click OK when you are through defining your validation rules and then save your control point.

Single Capture Control Points (Detail Entities Only)Single capture control points enable you to validate summary level data values and individual records passed to the product by an API. These control points have the following features:

They can balance data from run to run.

They can capture data passed to the product by an API.

They can detect unexpected changes that occur from one control point to another. For more information, see “Point-to-Point Controls” on page 88.

Steps to Set Up a Single Capture Control Point

These steps describe how to set up a Detail control entity and a Single Capture control point that captures data but does not validate it. The assumption in this example is that a later control point captures and validates data by comparing it to the data captured here.

See the context Help for explanations of individual fields.

1. Select RulesControlsNew Control EntityDetail Entity.

2. Complete the Details tab in the lower pane.

3. Click the Fields tab and then click Manage Control Fields.

4. Click New Control Field.

5. Define fields to hold the data you will need for applying validations, including at least one ID (identity) control field. For Detail entities, you must set up at least one ID control field that uniquely identifies control entity instances.

Page 36: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

4 Control Entities and Control Points

Types of Control Points

36 Infogix, Inc.

6. Define any other fields you need. In this example, you need a field to hold your cycle 1 output value. Click Save.

7. Optionally, select a control field and click Edit to add additional parameters.

8. Make sure your new control entity is selected in the top pane, then select Add Control PointSingle Capture Control Point.

9. Complete the Details tab. In this example, the control point is named OutputofFirstCycle.

10. Click the Capture tab and then click AddInput Data.

You can add control data or, if you previously defined a runtime field for this control point, you can add runtime data.

11. Complete the Source tab. This is where you specify your source layout and the location of your source file.

For information about defining layouts, see the Infogix Assure Layouts Guide.

For information about specifying the location of the source file, see “Specifying the Data Sources” on page 15.

For information about detecting duplicate input sources, see “Duplicate Source Control (Summary and Detail)” on page 86.

12. Click the Work Fields tab and define any required work fields.

13. Click the Extract tab and create rules to populate the control fields you created earlier. In this example, the extract rule assigns a value to the OutputofFirstCycle control field. The value is extracted from a layout field named OutputValuefromFirstCycle.

For more information, see “Defining the Extraction” on page 109.

14. Click OK, then click Save to save your new control point.

Multiple Capture Control Points OverviewMultiple Capture control points are available for Detail and Match Data control entities. They both use work fields to assemble data into logical records for validation, apply to cyclical and non-cyclical data, and support a higher volume of data extraction than Single Capture control points.

Page 37: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Control Entities and Control Points 4

Types of Control Points

37Infogix Assure Controls Design Guide

Detail entity Multiple Capture control points:

Can detect unexpected changes that occur from one control point to another. For more information, see “Point-to-Point Controls” on page 88.

Can store history data for control point runs in the database.

Match Data entity Multiple Capture control points:

Store data short term in files intended for later use by reconciliation control points.

Can store history of summary instance for each control point run in the database.

Multiple Capture Control Points (Detail Entities Only)Detail entity Multiple Capture control points enable you to reconcile particular data values or combinations of values across files, databases, applications and reports. Multiple Capture control points can extract data from multiple sources and levels. The extracted data can then be used in validation rules.

Steps to Set Up a Multiple Capture Control Point

These steps describe how to set up a Multiple Capture control point. These steps assume you have already created your Detail control entity.

See the context Help for explanations of individual fields.

1. Select RulesControlsDetail Control EntityAdd Control PointMultiple Capture Control Point. This displays five tabs in the lower pane where you define your new control point.

2. Complete the Details tab in the lower pane.

Multiple Capture Detail Entity: Data Extracted from dissimilar sources

Record ABC 55.00Record XYZ 600.00Record DEF 125.35

Total for all records: XXXXXX.XX

Record ABC 55.00Record XYZ 600.00Record DEF 125.35

Total for all records: XXXXXX.XX

Extracted Value from Report File

Total $XXX.XX for Record ABC: Total $XXX.XX for Record XYZ: Total $XXX.XX for Record DEF:

Database

Total for all records: XXXXXX.XX = Summed total from Oracle database

Page 38: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

4 Control Entities and Control Points

Types of Control Points

38 Infogix, Inc.

3. Click the Capture tab and then click AddInput Data. This displays the New Input Data Source window where you define source information for your new control point.

You can add file monitor data, control data or, if you previously defined a runtime field for this control point, you can add runtime data.

4. Specify a name for the data source.

5. For input data, control data, and runtime data, select a source layout. For file monitor data, specify a base directory and files to include and exclude. Define other fields as necessary.

For information about specifying the location of the source file, see “Specifying the Data Sources” on page 15.

For information about detecting duplicate input sources, see “Duplicate Source Control (Summary and Detail)” on page 86.

For information about defining layouts, see the Infogix Assure Layouts Guide.

Page 39: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Control Entities and Control Points 4

Types of Control Points

39Infogix Assure Controls Design Guide

6. Click the Work Fields tab and define any required work fields.

7. Click the Extract tab. See “Defining the Extraction” on page 109.

8. Click OK to return to the Capture tab.

9. Click the History tab and then click Add to display the New History Data window. This is where you specify data to retrieve from other control runs for use at the current control point.

10. Complete the Details tab:

a. Select the type of retrieval. Select the Computed Control Entity Values option if you need to perform computations (sum, average, or count) on control fields from a specified control run or range of runs. If you select this option, the Fields tab is active.

b. Specify a name for the history.

c. Select a source control entity.

11. Click the Selection tab. On this tab, you must specify either a cycle of the history to retrieve or a When statement or both. History rules create SQL “where” clauses for instance selection.

History rules must include a history value as part of the expression. For example, the rule [history value] accountnum = current.accountnum reads the account number of the current instance and retrieves an instance from history with a matching account number.

You can also use history rules to retrieve non-cyclical data.

12. Specify the cycle of the history to retrieve, if your control entities are cycle based, and then complete the Edit Cycle pane. See Chapter 10, “Cycle Processing” for information about relative cycle and variable cycle options.

13. Optionally, specify a Cycle When condition to retrieve the cycle number based on specified criteria.

Page 40: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

4 Control Entities and Control Points

Types of Control Points

40 Infogix, Inc.

14. Specify a Select Control Data When statement if you need to conditionally retrieve data. If the cycle you select is None, you must specify a Select When rule or choose Select All.

15. Optionally, to include the Cycle When condition for control data selection, select the Include cycle when condition check box.

16. Click the Fields tab if you specified Computed Control Entity Values on the Details tab. If you did not, click OK to return to the History tab and skip the next step.

17. Complete the Fields tab by selecting fields to retrieve and a computation to perform on the retrieved field value. Add as many fields as necessary and click OK to return to the History tab.

18. Click the Validate tab and click Manage Validation Rules Set to display the Validation Rule window.

19. Enter a name in the lower pane and click Apply. The system populates the top pane with the fields you used to create a validation rule.

For more information, see “Validation Rules” on page 118.

After you define your validation rules, click OK to return to the Validate tab.

20. Click Save.

Multiple Capture Control Points (Match Data Entity Only)Multiple Capture control points defined for a Match Data entity enable you to reconcile particular data values or combinations of values across files. They can be used for short term data storage and later use by reconciliation points. These control points have the following features:

They can apply to cyclical or non-cyclical data.

They support a higher volume of data extraction, which allows the performance of multiple reconciliation tasks.

Steps to Set Up a Multiple Capture Control Point

These steps describe how to set up a Match Data Multiple Capture control point. These steps assume you have already created your Match Data control entity.

See the context Help for explanations of individual fields.

1. Select RulesControlsMatch Data EntityAdd Control PointMultiple Capture Control Point. This displays five tabs in the lower pane where you define your new control point.

Page 41: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Control Entities and Control Points 4

Types of Control Points

41Infogix Assure Controls Design Guide

2. Complete the Details tab in the lower pane.

3. Click the Capture tab and then click AddInput Data. On the New Input Data Source window you define the source information for your new control point.

You can add file monitor data, control data, or, if you previously defined a runtime field for this control point, you can add runtime data.

4. Specify a name for the data source.

5. For input data, control data, and runtime data, select a source layout. For file monitor data, specify a base directory and files to include and exclude. Define other fields as necessary.

For information about specifying the location of the source file, see “Specifying the Data Sources” on page 15.

Page 42: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

4 Control Entities and Control Points

Types of Control Points

42 Infogix, Inc.

For information about detecting duplicate input sources, see “Duplicate Source Control (Summary and Detail)” on page 86.

For information about defining layouts, see the Infogix Assure Layouts Guide.

6. Click the Work Fields tab and define any required work fields.

7. Click the Extract tab. For more information, see “Defining the Extraction” on page 109.

8. Click OK to return to the Capture tab.

9. Click the History tab and then click Add to display the New History Data window. This is where you specify data to retrieve from other control runs for use at the current control point.

10. Complete the Details tab:

a. Select the type of retrieval. Select the Computed Control Entity Values option if you need to perform computations (sum, average, or count) on control fields from a specified control run or range of runs. If you select this option, the system displays the Fields tab.

b. Enter a name for the history.

c. Select a source control entity.

11. Click the Selection tab. On this tab, you must specify either a cycle of the history to retrieve or a When statement or both. History rules create SQL “where” clauses for instance selection.

History rules must include a history value as part of the expression. For example, the rule [history value] accountnum = current.accountnum reads the account number of the current instance and retrieves an instance from history with a matching account number.

You can also use history rules to retrieve non-cyclical data.

Page 43: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Control Entities and Control Points 4

Types of Control Points

43Infogix Assure Controls Design Guide

12. Specify the cycle of the history to retrieve, if your control entities are cycle based, and then complete the Edit Cycle pane. See Chapter 10, “Cycle Processing” for information about relative cycle and variable cycle options.

13. Optionally, specify a Cycle When condition to retrieve the cycle number based on specified criteria.

14. Specify a Select Control Data When statement if you need to conditionally retrieve data. If the cycle you select is None, you must specify a Select When rule or choose Select All.

15. Optionally, to include the Cycle When condition for control data selection, select the Include cycle when condition check box.

16. Click the Fields tab if you specified Computed Control Entity Values on the Details tab. Otherwise, click OK to return to the History tab and skip the next step.

17. Complete the Fields tab by selecting fields to retrieve and a computation to perform on the retrieved field value. Add as many fields as necessary and click OK to return to the History tab.

18. Click the Validate tab and click Manage Validation Rules Set to display the Validation Rule window.

19. Enter a name in the lower pane and click Apply. The system populates the top pane with the fields you used to create a validation rule.

For more information, see “Validation Rules” on page 118.

After you define your validation rules, click OK to return to the Validate tab.

20. Click Save.

Reconciliation Control Points (Detail Entities Only)Reconciliation control points can reconcile data from multiple control entities or multiple control point runs for the same entity. Detailed level controls can match up data (such as balances of individual accounts and a corresponding general ledger account), perform computations (such as totaling detailed amounts from a list or table), and reconcile the resulting values.

A Reconciliation control point can perform Match & Merge tasks and Select & Search tasks.

Page 44: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

4 Control Entities and Control Points

Types of Control Points

44 Infogix, Inc.

Match & Merge tasks match up similar transactions from two input sources, apply controls to confirm that no discrepancies exist, and report the results. A one-to-one match limits the match set to pairs of matched items (one record from the left source and one record from the right source). An any-to-any match enables a user to match one or more records from the left source to one or more records from the right source.

Select & Search tasks search for matches in the right source based on data in the left source. You can specify a one to one match which allows one record from the left source to match one record from the right source. A one to many match allows only one record from the left source to match one or more records from the right source. A many to one match allows one or more records from the left source to match only one record from the right source. A many to many match allows one or more records from the left source to match one or more records from the right source.

To perform multiple reconciliation tasks on large volumes of data, you can specify the data captured by a Match Data entity as the source for a reconciliation task. This reconciliation process is less resource-intensive because the Match Data entity does not persist detail information to the database. The control fields for Match Data entity include an index and you must use the same sequence as the indexed fields to set up the fields in the Matches section for the first reconciliation task.

A reconciliation task can use unmatched items from a previous reconciliation task as the source input for the current task. If the source is cyclical, the system uses instances for only the current cycle. You can specify an Exclude expression for the left or right source to discard unwanted data from the left or right source.

A reconciliation task can send unmatched items to another source for further processing.

Page 45: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Control Entities and Control Points 4

Types of Control Points

45Infogix Assure Controls Design Guide

The example below shows two control entities, one for payments and one for the general ledger. Each control entity uses the account number as the ID control field, which uniquely identifies the transaction.

The reconciliation process balances payments from the payment process to payments from the general ledger process. It does this by matching control fields. The Reconciliation match and merge task generates match sets, which is described in “Any to Any Matching” on page 46.

Match & Merge Matching Types

The type of matching that you can perform depends on the task. For Match & Merge tasks, matching is accomplished one to one or any to any.

143263 550.00143475 150.00143475 20.00143518 274.29143760 35.00143760 165.00143760 30.00143760 7.33143789 185.45143897 121.43144001 1510.00144101 18000.00

Control Entity: Payments

One control entityrepresents the

payment process

143475 -170.00143518 -274.29143750 -207.33143789 -185.45143789 -185.45132897 -121.42144001 -1512.00144101 -1600.00243263 -550.43

Control Entity: General ledger

One control entityrepresents the GL

process

Reconciliation:Payment total from payment process = Payment total from general ledger

Values for reconciliation are obtained from more than one control entity

Page 46: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

4 Control Entities and Control Points

Types of Control Points

46 Infogix, Inc.

One to One MatchingA one to one match associates one value with a second value. In our payments example, one payment for an account can be matched to one payment in the general ledger. One to one matching is available for match and merge tasks and select and search tasks.

Any to Any MatchingAn any to any match type generates a match set comprised of zero or more matches on the left to zero or more matches on the right.

An any to any match type allows for an item to be compared to the sum of its parts. In our payments example, all payments by ID control field are totaled and matched to the total for that ID control field from the general ledger.

An any to any match can also allow multiple values to be compared to each other within a validation. In our payments example, all payments by ID control field are totaled in the payments process and matched to the totals for that ID control field in the general ledger process.

143263 550.00143475 150.00143475 20.00143518 274.29143760 35.00143760 165.00143760 30.00143760 7.33143789 185.45143897 121.43144101 1510.00144101 1600.00

Control Entity: Payments

143475 -170.00143518 -274.29143760 207.33143789 -185.45143789 -185.45132897 -121.42144101 1512.00144101 1600.00143263 550.00

Control Entity: General ledger

One to one matching

Page 47: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Control Entities and Control Points 4

Types of Control Points

47Infogix Assure Controls Design Guide

Any to any matching is available only for match and merge tasks.

Select & Search Matching Types

For Select & Search tasks, matching is accomplished one to one, one to many, many to one, or many to many. One to many, many to one, and many to many match types are available only for select and search tasks.

One to Many MatchingA one to many match allows for one value to be compared to one or more values within a validation. In our payments example, one payment by ID control field is matched to one or more ID control fields in the general ledger process.

143263 550.00144101 1510.00143475 20.00143518 274.29143760 35.00143760 165.00143760 30.00143760 7.33143789 185.45143897 121.43143475 150.00144101 1600.00

Control Entity: Payments

143475 -170.00143518 -274.29143760 207.33143789 -185.45143789 -185.45132897 -121.42144101 1512.00144101 1600.00143263 550.00

Control Entity: General ledger

Any to any matching

143263 550.00143475 150.00143475 20.00143518 274.29143760 35.00143760 165.00143760 30.00143760 7.33143789 185.45143897 121.43144101 1510.00144101 18000.00

Control Entity: Payments

143475 -170.00143518 -274.29143760 207.33143789 -185.45143789 -185.45132897 -121.42144101 -1512.00144101 -1600.00143263 550.00

Control Entity: General ledger

One to many matching

Page 48: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

4 Control Entities and Control Points

Types of Control Points

48 Infogix, Inc.

Many to One MatchingA many to one match allows for one or more values to be compared to only one value within a validation. In our payments example, grouping on the ID control field allows multiple payments in the left source can be accumulated and matched to one amount in the general ledger process.

Many to Many MatchingA many to many match allows multiple values to be compared to each other within a validation. In our payments example, all payments by ID control field are totaled in the payments process and matched to the totals for that ID control field in the general ledger process.

143263 550.00143475 150.00143475 20.00143518 274.29143760 35.00143760 165.00143760 30.00143760 7.33143789 185.45143897 121.43144101 1510.00144101 18000.00

Control Entity: Payments

143475 -170.00143518 -274.29143760 207.33143789 -185.45143789 -185.45132897 -121.42144101 -1512.00144101 -1600.00143263 550.00

Control Entity: General ledger

Many to one matching

143263 550.00144101 1510.00143475 20.00143518 274.29143760 35.00143760 165.00143760 30.00143760 7.33143789 185.45143897 121.43143475 150.00144101 1600.00

Control Entity: Payments

143475 -170.00143518 -274.29143760 207.33143789 -185.45143789 -185.45132897 -121.42144101 1512.00144101 1600.00143263 550.00

Control Entity: General ledger

Many to many matching

Page 49: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Control Entities and Control Points 4

Types of Control Points

49Infogix Assure Controls Design Guide

Match Sets

Reconciliation control point match and merge tasks generate match sets as output. The term match sets is a way to describe the set of data obtained from two control entities. When you define the input sources for your reconciliation rules, they are described as the Left Source and the Right Source. The comparison of extracted data between the two input sources is referred to as the match.

RulesControlsDetail EntityReconciliation Control PointTasks tabTask nameMatches tab

Page 50: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

4 Control Entities and Control Points

Types of Control Points

50 Infogix, Inc.

However, all data associated with a left or right source is potentially part of the match set, not just the values used in the defined match. In the previous graphic, the Match statement

right.PS_check_amount,left.CS_claim_amount

compares two extracted values. The match set, however, could also contain more data associated with those payments, such as the account number.

What is included in the match set is controlled with the match set options, described in the next section.

Reconciliation Task Options

In the Task pane, you specify a descriptive name for the reconciliation task to create.

Select options that control how to process and report match sets. The options differ depending on whether the task is a match and merge or select and search task.

To set up a new match and merge task, complete the following details:

RulesControlsDetail EntityReconciliation Control PointTasks tabMatch & Merge TaskMatches tab

To set up a new search and select task, complete the following details:

RulesControlsDetail EntityReconciliation Control PointTasks tabSelect & Search TaskMatches tab

Page 51: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Control Entities and Control Points 4

Types of Control Points

51Infogix Assure Controls Design Guide

TypeFor a Match & Merge task, select One To One to match only one record on the left to only one record on the right. Select Any To Any to match one or more records on the left to one or more records on the right.

For a Select & Search task, select One To One to match only one record on the left to only one record on the right. Select One To Many to match only one record on the left to one or more records on the right. Select Many To One to match one or more records on the left to only one record on the right. Select Many To Many to match one or more records on the left to one or more records on the right.

Search LimitIf search criteria are too general, a search and select task may take too long to complete and produce too many matches. To avoid this problem, specify a search limit. The limit specifies the maximum number of left input source transactions to attempt to match to right input transactions. Accept System Default to use the system limit shown. Select User Defined to specify a different limit for the current task only. A limit such as 1000 generally prevents searches that last more than several minutes. A limit of -1 permits unlimited searches.

This option is available only for a select and search task.

Search Limit Exceeded

Select one of the following options for the action to perform when the search limit, above, is exceeded:

Use system default action performs the search limit exceeded action specified at the system level in the application server properties file.

Generate fatal error halts execution of the control point and reports an error in the result catalog.

Stop task halts execution of the select/search task and reports an error in the result catalog.

This option is available only for a select and search task.

Reconciliation Task ReportSelect All to generate a Reconciliation Task Report that lists summary information and all transaction details. Select All Summaries Only to list only the summary information for all transactions. This option is available only for Match and Merge tasks. Select With Results to limit the report to summary information and only transactions with results. Select None if you do not want to generate the report. For more information, see “Reconciliation Task Reports” on page 201.

Page 52: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

4 Control Entities and Control Points

Types of Control Points

52 Infogix, Inc.

Include instances only on left as match setSelect this option if a transaction from the Left source with no match from the Right source should be reported and available for use by this reconciliation. This makes it possible to apply On Match Set End rules specified on the Validate tab to unmatched Left transactions.

This option is available only for a match and merge task.

Include instances only on right as match setSelect this option if a transaction from the Right source with no match from the Left source should be reported and available for use by this reconciliation. This makes it possible to apply On Match Set End rules specified on the Validate tab to unmatched Right transactions.

The Left Source defaults to the first source listed on the Sources tab. If only two sources exist, the Right Source defaults to the second source. You can designate any data source defined on the tab as the Left Source or the Right Source.

This option is available only for a match and merge task.

Generate match set to Infogix ER reconciliationIf the control point is associated with an Infogix ER Reconciliation, select the option to produce Infogix ER match set output for the matched sets. Infogix ER does not allow a match set where an item is matched to itself.

Generate Match Set Audit ReportSelect the option to generate a Match Set Audit Report that lists each record from the left source that matched a record from the right source. For more information, see “Match Set Audit Reports” on page 194.

This option is available only for a match and merge task.

Page 53: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Control Entities and Control Points 4

Types of Control Points

53Infogix Assure Controls Design Guide

Match & Merge Task Options

After you create the match and merge task, specify how to match up transactions from the left and right input sources. Specify options for the left and right sources and complete the Matches and Match When sections.

RulesControlsDetail EntityReconciliation Control PointTasks tabMatch & Merge TaskMatches tab

Left and Right SourcesVerify that the left source and right source are what you want. The left source defaults to the first source listed on the Sources tab for the control point. The right source defaults to the second source. You can designate any data source defined on the Sources tab as the left or right source.

Page 54: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

4 Control Entities and Control Points

Types of Control Points

54 Infogix, Inc.

Click the left or right source name to see additional options or to choose a different data source.

Unmatched From Select a previous task to use unmatched items from the task as a source for the current task. Only one task can be the recipient of the unmatched items from a prior task. However, you can specify any previous task to provide the unmatched source for the current task. Because you select a specific task for unmatched items, this option offers more flexibility than the option to exclude instances matched from this source by prior tasks.

Output Unmatched ToSelect from a list of control data sources to specify the target source. The reconciliation task sends the unmatched items to this source for further processing.

Exclude instances matched from this source by prior tasksIf you select the left or right source, the system displays this option. Select this option if you want this reconciliation task to attempt to match transactions that were not matched by all previous reconciliation tasks. Use this feature to set up a series of reconciliation tasks that rely on increasingly complex and resource intensive matching logic.

Left Include/Exclude or Right Include/ExcludeOptionally, you can specify items to include or exclude from the left or right source by selecting the appropriate filter type. To change the filter type, select Left Include or Right Include and then choose Include or Exclude in the bottom pane. Use the Add buttons to specify the items to include or exclude.

Page 55: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Control Entities and Control Points 4

Types of Control Points

55Infogix Assure Controls Design Guide

Matches

Match up transactions from the left and right sources.

Matching will not work if these control fields are sometimes null (empty). Use the Left or Right Select tab to set up separate tasks to check for potentially null fields.

Match WhenTo specify a match condition, use the left and right data names and their fields or build an expression. Click When and then use the Add Function, Add Field, Add Operation, and Add Literal buttons to specify the match criteria. The system includes all Automated Match Check matches in the Match When conditions. A Match When expression overrides the match criteria specified in the Matches section.

For example, in the general ledger example, the payments process run includes an account number (143476) that is not in the general ledger process run.

143263 550.00144101 1510.00143475 20.00143518 274.29143760 35.00143760 165.00143760 30.00143760 7.33143789 185.45143897 121.43143476 150.00144101 1600.00

Control Entity: Payments

143475 -170.00143518 -274.29143760 207.33143789 -185.45143789 -185.45132897 -121.42144101 1512.00144101 1600.00143263 550.00

Control Entity: General ledger

Missing match on right side matching

No match in general ledgerfor account number

Page 56: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

4 Control Entities and Control Points

Types of Control Points

56 Infogix, Inc.

Task Rules on the Validate TabOn the Validate tab, you want to write rules that control what happens in the above situation. For example, you want to report a result (return code) if the account number is missing from the general ledger. In this case, you can define a Rule Event of Only Found on Left.

RulesControlsDetail EntityReconciliation Control PointTasks tabTask nameValidate tab

Then, if the rule passes (only found on left), you can choose an action, including generating the Result.

RulesControlsDetail EntityReconciliation Control PointTasks tabTask nameValidate tab

Page 57: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Control Entities and Control Points 4

Types of Control Points

57Infogix Assure Controls Design Guide

Select and Search Task Options

After you create the select and search task, verify the left and right input sources and complete the Group Left Fields and Search Fields sections.

RulesControlsDetail EntityReconciliation Control PointTasks tabSelect & Search TaskMatches tab

Left and Right SourceVerify that the left source and right source are what you want. You can designate any data source defined on the Sources tab as the left or right source.

Page 58: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

4 Control Entities and Control Points

Types of Control Points

58 Infogix, Inc.

Left Include/Exclude or Right Include/ExcludeOptionally, you can specify items to include or exclude from the left or right source by selecting the appropriate filter type. To change the filter type, select Left Include or Right Include and then choose Include or Exclude in the bottom pane. Use the Add buttons to specify the items to include or exclude.

Group Left FieldsChoose a control field to group transactions from the left source. For each group of transactions on the left, a search is performed on the right source. For example, if you group by a customer ID field, for each new ID value, the right source is searched for matches.

The Group Left Fields section is available only for many to one and many to many match types.

Search FieldsSpecify a name for the search and select a search operation.

The search operation has importance for many to many and many to one match types. For example, if there are three records in the left source and you selected a many to one match type, you can accumulate the value of the three records and search for a match in the right source. You could also use the first value, the last value, the minimum value, or the maximum value of the three records to search for a match in the right source.

Optionally, specify the following format values for reports:

Type—Select numeric, currency, text, date, or Boolean.

Decimal Positions—For numeric and currency types, specify how many decimal positions to display.

Decimal Handling—For numeric and currency types, select whether to round or truncate decimals.

Currency Code—For currency amounts, select the currency code to use. Click the icon to select a code from the list. For additional codes, click the link to go to the ISO Currency Code Web site. You can specify any valid ISO currency code.

Use the Add Field, Add Function, Add Operation, and Add Literal buttons to specify the search field.

Page 59: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Control Entities and Control Points 4

Types of Control Points

59Infogix Assure Controls Design Guide

Setting Up a Reconciliation Control Point

The steps below describe how to set up a Reconciliation control point. These steps assume you have already created the Detail control entity that will contain this control point and also the two control entities that will provide the data for reconciliation.

See the context Help for explanations of individual fields.

1. Select RulesControlsDetail Control EntityAdd Control PointReconciliation Control Point. This displays four tabs in the lower pane where you define your new control point.

2. Complete the Details tab in the lower pane.

3. Click the Sources tab and then click AddControl Entity to display the New Source window.

4. Enter a descriptive name for the source control entity. Select the control entity from the list and click OK.

5. Repeat step 3 and step 4 for the second control entity.

Now you are ready to set up match and merge and select and search tasks.

Setting Up a Match & Merge Task

1. Click the Tasks tab.

2. Click Add and select Match & Merge Task. The system displays the Matches tab in the Match & Merge window.

3. Specify a task name, the type of match, and report options. For more information, see “Match & Merge Task Options” on page 53.

4. In the top pane, verify that the Left Source and Right Source are what you want. If not, click the source name and select the source you prefer. You can choose any data source defined on the Sources tab.

5. Click the Left Source or Right Source name to specify additional options for processing unmatched items.

6. Optionally, you can specify items to include or exclude from the left or right source by selecting the appropriate filter type. To change the filter type, select Left or Right Include or Exclude and then choose Include or Exclude in the bottom pane. Use the Add buttons to specify the items to include or exclude.

Page 60: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

4 Control Entities and Control Points

Types of Control Points

60 Infogix, Inc.

7. In the Matches section, click New Match to display control field selection boxes in the lower pane.

8. For each control field, select the left control field and the right control field that you want to match up. Select the Automated Match Check option to include the match in the Match When conditions and then click Apply. If this is the first recon task for matching Match Data entity control fields, you must select the fields in the same index order as the control field sequence for the Match Data entity.

Select the Automated Match Check option to include the match in the Match When conditions.

9. In the Match When section, click When and then use the buttons to specify the condition that must be met to apply the match rules and then click Apply. The system includes all Automated Match Check matches in the Match When conditions. A Match When expression overrides the match criteria specified in the Matches section.

10. Complete the Left and Right Select tabs to retrieve data from a cycle or range other than the current one or to retrieve only a subset of the data that satisfies the match rule. You can specify a Cycle When condition to retrieve the cycle number based on specified criteria.

11. Click the Validate tab and then click the New Task Rule line to display fields in the lower pane where you can select the Rule Event. For more information, see “Validating a Reconciliation Task” on page 65.

12. Click More and select Manage Reconciliation Task Report. On this window, you define what to include in the Reconciliation Task Report. For more information, see Chapter 9, “Reporting”.

13. Click the Results tab. On this tab, you can define what to report to users and what return code to return to the operating system if a validation check fails. For more information, see Chapter 6, “Alerting Users to Results”.

Page 61: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Control Entities and Control Points 4

Types of Control Points

61Infogix Assure Controls Design Guide

14. Click OK when your control point is complete. The Reconciliation Control Point window displays the control point task.

15. To add additional match and merge tasks to the control point, repeat steps 2 through 14.

Page 62: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

4 Control Entities and Control Points

Types of Control Points

62 Infogix, Inc.

Setting Up a Select & Search Task

1. Click the Tasks tab.

2. Click Add and select Select & Search Task. The system displays the Matches tab in the Select & Search window.

RulesControlsDetail EntityReconciliation Control PointTasks tabTask nameMatches tab

3. Specify a task name, the type of match, search limit options, and report options. For more information, see “Select and Search Task Options” on page 57.

4. In the top pane, verify that the Left Source and Right Source are what you want. If not, click the source name and select the source you prefer. You can choose any date source defined on the Sources tab.

5. Optionally, you can specify items to include or exclude from the left or right source by selecting the appropriate filter type. To change the filter type, select Left or Right Include or Exclude and then choose Include or Exclude in the bottom pane. Use the Add buttons to specify the items to include or exclude.

Page 63: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Control Entities and Control Points 4

Types of Control Points

63Infogix Assure Controls Design Guide

6. In the Group Left Fields section, click New Group Left Field and select a control field to group transaction from the left source. Group Left Fields is only available for many to one and many to many match types.

7. In the Search Fields section, click New Search Field. Specify a name for the search and select a search operation. Optionally, specify the format values to use for reports. Use the Add buttons to specify the search field on the left source.

Page 64: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

4 Control Entities and Control Points

Types of Control Points

64 Infogix, Inc.

8. Click the Right Select tab. In the Select Control Data section, specify the right source control field and operation to find matches to the left source.

9. Click Add Field and select the data name current. Select a field from the left source that was specified on the Matches tab.

10. Click the Validate tab and click New Task Rule to display the fields in the lower pane where you can set up the task rule. For more information, see “Validating a Reconciliation Task” on page 65.

Page 65: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Control Entities and Control Points 4

Types of Control Points

65Infogix Assure Controls Design Guide

11. Click the Results tab. On this tab, you can define what to report to users and what return code to return to the operating system if a validation check fails. For more information, see Chapter 6, “Alerting Users to Results”.

12. Click OK when your control point is complete. The Reconciliation Control Point window displays with the control point task added to the list.

13. To add additional select and search tasks to the control point, repeat steps 2 through 13.

Validating a Reconciliation Task

For Reconciliation control points, you set up reconciliation rules, called task rules on the Validate tab. The Validate tab for Reconciliation control points is different than the Validate for other control points.

On the Validate tab, click the New Task Rule line to display fields in the lower pane where you can select the Rule Event.

RulesControlsDetail EntityReconciliation Control PointTasks tabTaskValidate tab

Use these selections to specify rules for specific outcomes of the match sets. You can create rules for every type of event. If you select a Rule Event of On Match Set End, you can select the Rule Type. For explanations of Rule Types, see the context Help.

Page 66: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

4 Control Entities and Control Points

Types of Control Points

66 Infogix, Inc.

For a Balance Check, select the Allow Translation Lookup option to add a Translation section where you can specify a tolerance using a translation rule.

RulesControlsDetail EntityReconciliation Control PointTasks tabSelect & Search TaskValidate tab

Translation—Click Translation and select a translation rule name. The system creates a default Translation Result Name in the format BalanceCheckRuleName_xlt. When you apply the translation, the system displays the translation input parameters. Use the Add buttons to specify a current data field for each input parameter.

Accumulate If Left or Right—For a Balance Check, select whether to always accumulate amounts or accumulate amounts only when a condition is met.

Count If—For Count Checks, select whether to always count left and right transactions, or to count transactions only when a condition is met.

Page 67: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Control Entities and Control Points 4

Types of Control Points

67Infogix Assure Controls Design Guide

Validate—Specify the condition under which to apply the rule. Click Condition.

Select the type of tolerance: None, Absolute, or Percentage. For a Balance Check that includes a translation lookup, you can select Translation Output Parameter for the source of the translation result. If you select Translation Output Parameter, you can select a parameter value from a list of available translation output parameters.

End of Task—If you select a Rule Event of End of Task Rule, the system displays the End of Task Rule subsection on the Validate tab. You can add an action to perform at the end of the task, based upon the evaluation of the summary data from the current or prior task. For example, you can set up a rule to stop the reconciliation processing if the number of unmatched items for a task exceeds a specified amount at a given point in the process.

Page 68: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

4 Control Entities and Control Points

Types of Control Points

68 Infogix, Inc.

Disabling a Reconciliation Task

For testing purposes, you can disable tasks. If you disable a task, you may need to change other tasks that are dependent on the outcome of the disabled task. In the example below, there are three tasks. Task 2 is dependent on the unmatched data of task 1 and task 3 is dependent on the unmatched data of task 2. All three tasks are currently enabled as indicated by the dashes in the Status column.

RulesControlsDetail EntityReconciliation Control PointTasks tab

1. Select the task to disable.

2. Click Toggle Status. If the task that you disable has another task dependent on its unmatched data, the system displays a warning message and indicates which task requires changes. The status of the selected task is disabled.

3. Select the task that requires edits and click Edit. The system displays the Matches tab on the Reconciliation Rule window.

Page 69: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Control Entities and Control Points 4

Types of Control Points

69Infogix Assure Controls Design Guide

4. Edit the Left and Right Source to correct the Unmatched From field.

5. Click OK. The system displays the Reconciliation Control Point window and task 3 now relies on the unmatched data from task 1.

6. If task 2 is activated again, task 3 will again need to be edited.

Page 70: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

4 Control Entities and Control Points

Types of Control Points

70 Infogix, Inc.

Scan Control Points (Detail only)Scan control points provide a means to selectively validate, delete, and report on data stored in the database. These control points differ from other types of control points in the following ways:

No new data is captured. These control points rely strictly on data captured and stored in the database at previous control points.

They validate and report on database data that meets designated criteria. You can set up a Recap Report to show the data returned by a Scan control point.

They can delete database data that meets designated criteria.

Steps to Set Up Scan Control Points

Follow these steps to set up a Scan control point for an existing Detail control entity.

See the context Help for explanations of individual fields.

1. Select RulesControlsDetail Control EntityAdd Control PointScan Control Point.

2. Complete the Details tab in the lower pane.

3. Click MoreManage Scan Rule to display the Scan Rule for Control Point window.

4. On the Condition tab, you specify which control entity instances to select. You can select a previous cycle or create a conditional selection based on a When statement. You can choose to do both.

5. Specify a cycle:

a. Click None under the Cycle line in the upper pane to display the Edit Cycle fields in the lower pane.

b. Specify which control entity instances to scan; you can specify a cycle or cycles, if applicable.

c. Complete the fields if you use cycle-based processing and click Apply. See Chapter 10, “Cycle Processing” for information.

6. You can create a conditional statement for the relative cycle, for the control data to select, or for both.

Follow the steps below to create a When statement to select the cycle:

a. Click When under Relative Cycle to retrieve the cycle number based on specified criteria.

b. Click Add History Field.

Page 71: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Control Entities and Control Points 4

Specialized Controls

71Infogix Assure Controls Design Guide

c. Select a control field and click Apply.

d. Click Add Operation and select an operator.

e. Click Add Literal, then select a literal type from the drop-down list.

f. Enter a literal in the text box, then click Apply.

7. Optionally, to specify the control data to select, click When under Select Control Data and follow steps b through f above.

8. Optionally, to include the Cycle When condition for control data selection, select the Include cycle when condition check box.

9. Click OK.

Timeliness Control Points (Summary and Detail)A Timeliness control point is where no data is captured and no validation checks are performed. Its sole purpose is to notify users when a control entity instance has failed to arrive or taken longer than expected to arrive when the timeliness check is performed.

Timeliness control points work exclusively with Tracking controls. For more information, see “Tracking Controls (Summary and Detail)” on page 72.

Specialized ControlsFor certain types of information integrity problems, the product provides easy-to-use features to help create your controls. Specialized controls handle the following problems:

Overdue or missing input files. For this type of problem, use tracking controls. This is a licensed module.

Duplicate input files. For this type of problem, use duplicate detection controls. These controls are available for all licenses.

For more information, see “Duplicate Source Control (Summary and Detail)” on page 86.

Page 72: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

4 Control Entities and Control Points

Specialized Controls

72 Infogix, Inc.

Tracking Controls (Summary and Detail)Tracking controls monitor transactions or other unique data items passing through control points. If you are licensed for this feature, a Tracking link appears under the control entity, as shown below.

RulesControlsControl Entity

Between each control point, you can track latency or timeliness or both.

Latency controls track the time lapse between the execution of two control points. Timeliness controls detect when a control entity is missing or overdue.

Latency ControlsLatency controls can track the time lapse between the execution of two control points, and are implemented to detect when processing takes too long between those control points. Latency rules require at least two control points, and both control points must execute in order to capture the time lapse. You must also create a tracking rule to define the latency parameters.

The system calculates the time between the execution of the two control points. The system creates a history item when the first control point executes, and requires the time stamp of the second control point to calculate the time lapse between them. If the second control point executes later than the time designated in the tracking rule, the system sends a notification in the form of a latency error.

A latency error is not generated if both control points do not execute, even if the time specified in the tracking rule is exceeded.

Control Point 1

Control Point 1

Control Point 3

Control Point 3

Control Point 2

Control Point 2

Control Point 4

Control Point 4

Control Point 5

Control Point 5

Process Run

Latency Tracking

Total processing time control 1 to control point 5 < 48 hours

12:00:01 10/10/07 10:30:51 10/11/07

Page 73: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Control Entities and Control Points 4

Specialized Controls

73Infogix Assure Controls Design Guide

Setting Up a Latency Control

This section provides general steps to create a latency control for your control points. These steps apply to setting up only a latency control.

See the context Help for explanations of individual fields.

1. Select RulesControlsControl Entity.

2. Select the Tracking line below the control entity you just selected.

3. In the lower pane, complete the Details tab.

4. Click the Validate tab.

Page 74: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

4 Control Entities and Control Points

Specialized Controls

74 Infogix, Inc.

5. Click Add. The system displays the New Tracking Rule window with the Verify tab selected.

6. Specify a name and description for the latency rule and click Apply.

7. Click the Validate tab and then click New Validate Rule.

8. Specify a name for the new validate rule and click Apply. The system displays a sample rule.

Page 75: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Control Entities and Control Points 4

Specialized Controls

75Infogix Assure Controls Design Guide

9. In the upper pane, click the From and To parts of the rule. Select the From and To control points in the lower pane.

Page 76: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

4 Control Entities and Control Points

Specialized Controls

76 Infogix, Inc.

10. In the upper pane, click the Duration part of the rule to display the duration options in the lower pane.

11. Complete the Duration pane.

a. Select Latency from the Applies to drop-down list.

b. Specify the duration. This is the amount of time it takes a control entity instance to pass between control points.

c. Select a calendar if you want to include or exclude dates.

d. Click Apply.

Page 77: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Control Entities and Control Points 4

Specialized Controls

77Infogix Assure Controls Design Guide

12. In the upper pane, click the Result part of the rule to display options in the lower pane.

13. Specify a return code. This is the code that the system displays in the Inbox results if the latency rule determines the control entity is late.You can also choose a different severity to associate with the rules if the control entity is late.

14. Click Apply, and then click OK.

The latency rule will be in effect the next time the From and To control points you specified execute.

Timeliness ControlsTimeliness controls detect when a control instance is missing or overdue. The Timeliness control checks at a specified time interval (a defined number of seconds, minutes, or hours) for the arrival of the instance at the destination control point.

Timeliness controls utilize a minimum of two control points, but only the first control point (the From control point) may execute. Timeliness controls also require a tracking rule and a special control known as a Timeliness control point where the timeliness parameters are defined.

Based on the parameters, the system expects the control entity instance to pass through the To control point within a specified amount of time after the execution of the From control point. When an instance does not arrive at the To control point within the designated time, an alert is created based on result definitions.

Control Point 1

Control Point 1

Control Point 3

Control Point 3

Control Point 2

Control Point 2

Control Point 4

Control Point 4

Control Point 5

Control Point 5

Process Run

Timeliness Tracking

12:00:01 10/10/07 10:30:51 10/11/07

Arrival recorded Arrival

recorded Arrival

recorded Overdue!

Issue Message

Page 78: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

4 Control Entities and Control Points

Specialized Controls

78 Infogix, Inc.

Unlike Latency controls, Timeliness controls do not require the second control point to execute to know that it never arrived. A timeliness control takes the time stamp created from the first control point execution and calculates the expected time the instance should pass through the second control point. If the time limit is exceeded and the instance has not arrived at the second control point, a timeliness control generates an alert error.

You can apply a calendar to the tracking rule that specifies the dates to include or exclude, and the timing for the execution of the control point. Timeliness controls can be executed on a scheduler. For example, you can create a schedule to check for the arrival of the From control point at the To control point every 30 seconds.

You will not receive a timeliness error if a latency error has already been generated.

Both Latency and Timeliness controls require the first control point to execute in order to run.

Timeliness Control Points and Timeliness Tracking

The timeliness tracking rules work with the Timeliness control point. It is the Timeliness control point that applies the tracking rules to the instances of your control entity.

The Timeliness control point can be invoked in either of the following ways:

You or the scheduler invoke execution of the control point.

The product applies a schedule that you define to determine whether to execute the Timeliness control point. In the graphic below, a custom schedule invokes processing only on weekdays. For more information, see “Calendars” on page 183.

RulesControlsControl EntityTimeliness Control Point Details tab

Page 79: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Control Entities and Control Points 4

Specialized Controls

79Infogix Assure Controls Design Guide

Setting Up a Timeliness Control

This section provides general steps to create a timeliness tracking control for your control points. These steps are appropriate for creating a timeliness control or a combination timeliness and latency controls. If you need to create only a latency control, see “Latency Controls” on page 72.

What You Need Before Starting

You must create a schedule calendar that specifies when to execute the Timeliness control point. You will select this calendar when you create the tracking rule. For more information, see “Calendars” on page 183.

RulesCalendarsSchedule CalendarEdit EventsNew EventSchedule Event

In the Events for Schedule Calendar window, specify when and how often to execute the control point. You can also specify days or timeframes to exclude due to holidays, scheduled system maintenance or downtimes, or other reasons.

You will refer to this calendar when you create your tracking controls.

You must create the control points that you want to track. You will select these control points when you create the tracking rule.

Decide what return code to issue if the system detects a problem.

Steps to Set Up a Timeliness ControlSee the context Help for explanations of individual fields.

1. Select RulesControlsControl EntityAdd Control PointTimeliness Control Point.

Page 80: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

4 Control Entities and Control Points

Specialized Controls

80 Infogix, Inc.

2. Complete the Details tab in the lower pane. Select the Schedule that specifies when the control point is to execute or not execute. Click Save.

3. Select the Tracking line below the control point you just created.

4. In the lower pane, complete the Details tab.

5. Click the Validate tab.

Page 81: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Control Entities and Control Points 4

Specialized Controls

81Infogix Assure Controls Design Guide

6. Click Add. The system displays the New Tracking Rule window with the Verify tab selected.

7. Specify a name and description for the tracking rule and click Apply. If needed, you can also create a conditional statement for when to apply the verify rule.

8. Click the Validate tab and then click New Validate Rule.

Page 82: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

4 Control Entities and Control Points

Specialized Controls

82 Infogix, Inc.

9. In the lower pane, specify a name for your rule and click Apply. The system displays a sample rule.

Page 83: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Control Entities and Control Points 4

Specialized Controls

83Infogix Assure Controls Design Guide

10. In the upper pane, click the From and To parts of the rule. Select the From and To control points in the lower pane.

Page 84: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

4 Control Entities and Control Points

Specialized Controls

84 Infogix, Inc.

11. In the upper pane, click the Duration part of the rule to display duration options in the lower pane.

12. Complete the Duration pane.

a. Select Timeliness or Both Latency and Timeliness from the Applies To drop-down list.

b. Specify the duration.

For timeliness rules, this is the maximum amount of time a transaction should take to pass between the From and To control points. Any amount beyond the specified amount is considered overdue. For latency rules, this is the amount of elapsed time it takes a control entity instance to pass between control points.

Page 85: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Control Entities and Control Points 4

Specialized Controls

85Infogix Assure Controls Design Guide

For more information, see “Tracking Controls (Summary and Detail)” on page 72.

c. Select a calendar if you want to include or exclude dates.

d. Click Apply.

13. In the upper pane, click the Result part of the rule to display result options in the lower pane.

14. Enter a return code. This is the code that the system displays in the Inbox results if the tracking rules determine the control entity is overdue.

You can also choose a different severity to associate with the result if the control entity is overdue.

15. Click Apply, and then click OK.

The tracking rules will be in effect the next time the From control point you specified executes.

Disabling the Tracking Controls

You may need to temporarily disable tracking controls. On the Details tab, the Apply Tracking Rule field indicates whether tracking controls are applied. In the graphic below, the tracking controls are applied.

RulesControlsControl EntityControl PointDetails tab

Page 86: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

4 Control Entities and Control Points

Specialized Controls

86 Infogix, Inc.

To disable tracking controls, complete the following steps:

1. On the Details tab, click More and select Manage Actions. The Manage Actions pop-up window displays the default validations for the control point.

RulesControlsControl EntityControl PointDetails tabMoreManage Actions

2. Under When Validating, select Tracking and select No in the bottom pane.

3. Apply the change and click OK. The system displays the Details tab and Apply Tracking Rule is now set to No.

RulesControlsControl EntityControl PointDetails tab

Duplicate Source Control (Summary and Detail)At each control point, duplicate input sources can be detected on two levels:

Verify that an input file is not a duplicate of any received in the previous X number of days.

Verify that all inputs to a given control point are unique.

Page 87: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Control Entities and Control Points 4

Specialized Controls

87Infogix Assure Controls Design Guide

This feature helps identify accidental reprocessing of input files that can cause information integrity problems or invalid control processing results.

Detecting Duplicate Input Files for a Specific Source

To invoke duplicate source control for a specific input file, select the Check For Duplicates checkbox on the Capture/Source tab for the control point. If you select this option, you also must define how many days prior to the current run to check for duplicates.

In the example below, the product will determine if a current input to the Call Charges control point duplicates any input processed within the last 30 days.

In certain situations, you may want to disregard some duplicate source files. For example, if your system processes files whether or not activity has occurred, periods with no activity can result in files that have only header and trailer records. These files can produce duplicate source errors. You can specify a minimum file size to exclude these files from duplicate checking.

RulesControlsControl EntityControl PointCapture tabSource NameEditSource tab

If a duplicate is detected, the product can generate an exception or skip the duplicate input, as described next.

Generate Exception—This option stops control processing. It is intended for situations where the duplicate input source requires correction and then processing must be rerun.

Skip Source—If a duplicate is detected, that source is not captured. Any other inputs will still be captured. This option is intended for situations where an input may or may not change from one run to another. If the input changes, data from that source will be captured. If it has not changed, it will be skipped. To choose this option, select it from the If Duplicated drop-down list.

Page 88: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

4 Control Entities and Control Points

Specialized Controls

88 Infogix, Inc.

Detecting Duplicate Input Files Across All Input Sources

To detect duplicate input sources for a control run at that control point, select Require data sources to be unique on the Capture tab. This selection will then apply to any source names in the Capture tab list.

For example, in the Source Name list shown in the graphic below, the product will detect whether DataSource1 and DataSource2 are the same file.

RulesControlsControl EntityControl PointCapture tab

Point-to-Point ControlsIf your process balances information from steps within a process, you can specify point-to-point control fields when you define your control point.

Point-to-point controls verify that outputs of one process step arrive intact and unchanged for input into the subsequent step.

Step 1$$$

Step 1$$$

Step 3$$$

Step 3$$$

Step 2$$$

Step 2$$$

Step 4$$$

Step 4$$$

Step 5$$$

Step 5$$$

Process Run

Summary Entity: point-to-point control point

Value from Step 1 = Value for Step 5

Page 89: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Control Entities and Control Points 4

Specialized Controls

89Infogix Assure Controls Design Guide

For example, let’s say your validation rules need to verify that the number of payments in step 1 are the same number of payments in step 5.

Internally, the product qualifies each extracted payments count by the control point name. For the above, the value to check at multiple points, ExtractedPaymentCount, can be qualified by the control point name, as shown below:

ExtractedPaymentCount[Value at Step 1] = ExtractedPaymentCount[Value at Step 5]

Applicability

You can apply this type of point-to-point specification to any of the field types (numbers, text, dates, Boolean), and to the composite field type named total/tally.

You can specify point-to-point controls for the following types of control points:

Summary entity: Balance control point Detail entity: Single Capture control point Detail entity: Multiple Capture control point

Steps to Set Up Point-to-Point Controls

These steps describe how to set up point-to-point controls for a Detail Multiple Capture control point. You can readily adapt them to Detail Single Capture and Summary Balance control points. Point-to-point is not available for Match Data Multiple Capture control points.

See the context Help for explanations of individual fields.

1. Select RulesControlsNew Control EntityDetail Entity.

2. Complete the Details tab in the lower pane.

3. Click the Fields tab and then click Manage Control Fields.

4. Click New Control Field.

Step 1PaymentsExtracted

Step 1PaymentsExtracted

Step 3$$$

Step 3$$$

Step 2$$$

Step 2$$$

Step 4$$$

Step 4$$$

Step 5Processing

complete

Step 5Processing

complete

Process Run

Summary Entity: point-to-point control

ControlsExtract

PaymentsCount

ControlsExtract

PaymentsCount

Validation rule assures no payments lost:

Step 1 Payment Count = Step 5 Payment Count

Page 90: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

4 Control Entities and Control Points

Specialized Controls

90 Infogix, Inc.

5. For your first field, define your ID field. This is required only if you are defining a Detail control point. For more information, see “Identity Control Fields for Detail Control Entities” on page 25.

6. Click Apply and then click OK when you are through.

7. Click New Control Field again. Now you will define fields to hold the data you need for your validation rules.

For each field to include in the point-to-point validation, select the Store Point to Point check box in the New Control Field window.

8. Click Apply and then click OK when your definition is complete.

9. Optionally, to add additional parameters for a control field, select a control field and click Edit.

10. Click Save.

Page 91: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Control Entities and Control Points 4

Specialized Controls

91Infogix Assure Controls Design Guide

11. Select Add Control PointMultiple Capture Control Point.

As noted earlier, you can adapt these instructions to Single Capture control points and Summary Balance control points.

12. Complete the Details tab. This control point is named FirstCapturePoint in a later example.

13. Click the Capture tab and then click Add.

14. Complete the Source tab. For more information, see “Source File, Processing, and Testing Basics” on page 15.

15. Click the Extract tab. You will want to create extraction rules for your ID control field and the point-to-point field you have previously defined.

16. Click OK to return to the Capture tab.

17. Create your second control point. Create the ID control field and point-to-point field extraction rules just as you did for the first control point.

For example, if you created rules to populate the Account Number and Extracted Payment Count fields at the first control point, you will need to create the same ones for this new control point.

18. Verify that your Capture tab for your second control point is displayed in the lower pane, and then click the Validate tab.

Your point-to-point validations must be defined in a control point that will be executed after the first control point. The order in which control points are executed does not depend on the order in which they are defined, but the order in which they are invoked.

In this example, we assume that the second control point you defined will always be executed after the first control point you defined.

Page 92: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

4 Control Entities and Control Points

Specialized Controls

92 Infogix, Inc.

19. Click Manage Validation Rules Set to display the Validation Rule for Control Point window.

In this window, you will define your point-to-point controls.

20. Click New Validation Rule Set, enter a name for your rule set in the lower pane, and then click Apply.

21. In the upper pane, click the arrowhead on the Validate When line so you can see the building blocks for your rules.

22. Click the arrowhead on the Validation Checks line so the New Validation Check Rule is displayed.

Page 93: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Control Entities and Control Points 4

Specialized Controls

93Infogix Assure Controls Design Guide

23. Click the New Validation Check Rule line to display fields in the lower pane where you set up the new rule.

24. For Condition, select Point to Point Condition. This is the rule type. Enter a name for the rule, and click Apply.

The system displays your new rule in the top pane with an input field highlighted in blue. The bottom pane displays a Value list and a Control Point list.

In this pane, you select the value to compare at the current control point to the same value at a prior control point.

The Value list shows the point-to-point fields you have defined for the current control entity. If there is nothing listed, then you did not define point-to-point fields as described in step 7 on page 90.

Correct any errors before you continue.

25. Select the value to compare point to point. Then, select the comparison control point, which must be a control point that executes prior to the current control point. When you are through, click Apply.

26. Repeat the above steps for each point-to-point validation that you want to set up. The graphic below shows the completed rule for the extracted payment count validation.

Page 94: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

4 Control Entities and Control Points

Instances of Control Entities

94 Infogix, Inc.

27. Complete any other validation rule requirements, such as defining results for the outcome of the validation. For more information, see Chapter 6, “Alerting Users to Results”.

28. Click OK after you define your point-to-point validation rules and then save your control entity.

Instances of Control EntitiesAs described in “Types of Control Entities” on page 23, a control entity is a business process or unit of business data targeted by controls. It defines the business data to capture and persist for use in controls. The control entity describes the unique properties of the data to capture and specifies when to store, replace, or delete data from the database.

Every time a Summary or Detail control entity executes, it generates a unique individual instance of data, which is stored in the database. Match Data entities store control data in files on the server.

Individual instances are distinguished by one or more ID control fields or by a cycle and run number or both. Instances can correspond to individual transactions from a single data source or to aggregations of transactions with the same identity values and cycle and run numbers.

The following graphic shows the accumulation of three instances of control entity ABC for control ID 123 generated from three process runs.

When the control entity executes for another control ID, the system generates another instance for that run for that ID.

Step 1Step 1 Step 3Step 3Step 2Step 2

Process Run 12:00:01 10/10/07

First instance = 12:00:01 10/10/07First instance = 12:00:01 10/10/07

Database

Control Entity ABC; Control ID 123

Control Data

Step 1Step 1 Step 3Step 3Step 2Step 2

Process Run 02:46:22 10/10/07

Control Enti ty ABC; Control ID 123

First instance = 12:00:01 10/10/07First instance = 12:00:01 10/10/07

Database

Second instance = 02:46:22 10/10/07Control Data

Step 1Step 1 Step 3Step 3Step 2Step 2

Process Run 16:34:39 10/10/07

Control Entity ABC; Control ID 123

First instance = 12:00:01 10/10/07First instance = 12:00:01 10/10/07

Database

Second instance = 02:46:22 10/10/07

Third instance = 16:34:39 10/10/07

Control Data

Page 95: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Control Entities and Control Points 4

Instances of Control Entities

95Infogix Assure Controls Design Guide

Thus, the database will accumulate instances of each run for each control ID. The following graphic shows how two instances are accumulated for two control IDs, 123 and 456:

Understanding your instance data is critical to the development of your controls. For example, your validation rules may compare data from one instance to another. Or, your validation rules may accumulate data from multiple instances to compare to a total in another instance.

Control Entity Instances for Capture Control PointsWhen you define a single capture or multiple capture control point, you must also define how the product creates or replaces the instances of the control entities. You can specify your choices as part of the control entity definition on the Details tab or as part of the extraction rules. Each is described in this section.

Step 1Step 1 Step 3Step 3Step 2Step 2

Process Run 12:00:01 10/10/07

First instance = 12:00:01 10/10/07First instance for Control ID 123 = 12:00:01 10/10/07

Database

Control Entity ABC; Control ID 123

Control Data

Step 1Step 1 Step 3Step 3Step 2Step 2

Process Run 12:34:20 10/10/07

Control Entity ABC; Control ID 456

First instance = 12:00:01 10/10/07First instance for Control ID 123 = 12:00:01 10/10/07

Database

First instance for Control ID 456 = 12:45:20 10/10/07

Control Data

Page 96: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

4 Control Entities and Control Points

Instances of Control Entities

96 Infogix, Inc.

Data Management Options

On the control entity Details tab, you can specify data management options for cycles and instances. You can override these options when you define the extraction rules for multiple capture control points, as described in “Instance Management for Multiple Capture Control Points” on page 97.

RulesControlsDetail Control EntityMultiple Capture Control PointDetails tab

RulesControlsMatch Data Control EntityMultiple Capture Control PointDetails tab

On the Details tab, Cycle Management works as follows:

Must Create—The system creates a new cycle each time the control point executes. The system computes the cycle and run and, if it determines that the cycle already exists, the system returns an error.

Must Update—Another control point already created the current cycle of control data. If no cycle exists, the product returns an error.

May Create or Update—A cycle may already exist. Otherwise, the system creates a new cycle.

Instance Management works as follows:

Must Create—The system creates a new instance each time the control point executes. The system extracts the identity value and, if it determines that the instance already exists, the system returns an error.

Must Update—The system updates an existing instance of the control entity. If no control entity instance exists, the system returns an error.

May Create or Update—The system updates an existing instance, if one exists. Otherwise, the system creates a new instance.

Page 97: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Control Entities and Control Points 4

Instances of Control Entities

97Infogix Assure Controls Design Guide

The option you select for instance management significantly affects processing time. Must Create takes the fewest resources. The Must Update and the May Create or Update options require more processing time because the system must query the database for existing instances.

Instance Management for Multiple Capture Control Points

For most multiple capture processing situations, the Automatic Multi-Instance Identity Management option on the Capture/Source tab generates instances appropriately for your validation rules. An alternative is to use a Create or Generate Instance extract rule.

RulesControlsDetail Control EntityMultiple Capture Control PointCapture tab Source NameEdit

The Automatic option creates a new control entity instance when an ID (identity) field changes. You must first assign the values for all ID control fields and then assign values for other control fields.

Page 98: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

4 Control Entities and Control Points

Instances of Control Entities

98 Infogix, Inc.

Assign all fields in the same order that the fields are defined at the control entity level. If you select this option, it is not necessary to set up Create and Generate Instance rules on the Extract tab.

Select the Require Non-ID Data for Each Instance option to require each instance to have at least one non-identity field that contains data when automatic multi-instance identity management is enabled. The system will discard any instance that does not meet these criteria and issue a warning to the execution log. If this option is not selected, the system creates an instance for each unique identity field combination, even if there is no associated non-identity field data.

Select the Prevent Null ID Field Assignment option to stop control point processing and issue a fatal error if the system attempts to assign a null value to an identity field when automatic multi-instance identity management is enabled.

In certain file processing situations, you will want to control when the instance is generated, depending on prior Select When conditional statements.

For example, data values for your regular control fields may be extracted before the identity control field. By conditionally controlling instance generation, you can associate the correct identity value with the rest of the control data that was already extracted.

For this situation, you want to use either the Create or Generate Instance extract rule and not select the Automatic Multi-Instance Identity Management option.

In general, however, the Create or Generate Instance extract rules are not necessary if your extract rules correctly extract data and associate it with the correct identity control field.

If you choose the Create extract rule, the option to automatically generate instances is available in the lower pane, as shown below:

RulesControlsControl EntityControl pointCapture tabExtract tabNew Extract RuleCreate

The Automatically generate instance option creates a new instance each time the current extract rule is applied. This option ensures that subsequently extracted data belongs to the instance you are creating. If you do not select this option with the Create extract rule, the system discards the subsequently extracted data.

Page 99: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Control Entities and Control Points 4

Instances of Control Entities

99Infogix Assure Controls Design Guide

The Generate Instance Extract Rule returns the instance of the control entity to the system for further processing. The instance of the entity is only generated if it has a fully defined identity. That is, all identity control fields not assigned by the system must have a non-null value.

Retention PoliciesWhen you define your control entity, you will need to specify a standard retention policy for how long to retain control data stored in the database, reports, and results. Optionally, you can specify an alternate retention policy to purge control data from the database.

You define the retention policies on the Details tab for the control entity.

RulesControlsControl EntityDetails tab

For example, if you specify a standard retention policy of 90 days, the system retains control data, reports, and results for 90 days.

An additional constraint for retention is the minimum number of runs to store. The default minimum number of runs to store is none. The maximum is 99999.

To manually archive the information before the system applies the retention policy, see the Archive Reports Utility section in the Infogix Assure System Administrator's Guide.

If you specify a standard retention policy, you can also specify an alternate policy to purge control data from the database based on particular control outcomes. Validation rules can invoke this policy to purge unneeded or erroneous data from the database on a timely basis. For instance, data that did not pass validation could be purged the following day. For audit purposes, the system retains any associated reports and results according to the standard retention policy.

Page 100: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

4 Control Entities and Control Points

Instances of Control Entities

100 Infogix, Inc.

Control Data HistorySelect a Control Data History option on the control entity Details tab to define what types of data to store in the database for use in future control processing or for audit and analysis purposes. To avoid storing unneeded data and diminishing database performance, select carefully from the following options:

Control Point—Stores data from each control run in the control fields defined for the control entity.

Control Point and Trace—Stores the same data as the Control Point option, plus detailed control trace information. Trace information consists of all data used to apply controls during a control run, such as derived values and the results of intermediate calculations used to arrive at a final validation pass/fail outcome. This option is resource-intensive and should only be applied to control entities requiring detailed analysis and auditing.

None—Does not store control data in the database from any control point runs. Consider using this option for control entities that already produce reports that provide all the information users and auditors require. Do not use this option for control entities that have point-to-point fields or that are referenced by a tracking rule.

Specifying RerunsOccasionally for testing or during production, you might need to rerun a control point. The product returns an error if you rerun a control point that has Must Create or May Create or Update specified for cycle or instance management on the Details tab.

To avoid this error, you must specify Is Rerun when the control point is run. If you test the control point from the user interface, select the Is Rerun checkbox, as shown in the graphic below.

RulesControlsControl EntityControl PointTestDirect Input or Capture Processing

Page 101: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Control Entities and Control Points 4

Instances of Control Entities

101Infogix Assure Controls Design Guide

If you run the control point with the runcp.bat utility, specify the –rerun parameter. For more information on the runcp.bat utility, see the Infogix Assure Operator’s Guide.

If you use cyclical processing and a data management option of Must Create, the rerun option deletes all instance data for the most recent cycle and run and replaces it with data from the new run.

Working with Existing InstancesWhether you can view and possibly add, change, or delete control data in the database depends on your permissions. For information about controlling access to reports and control data, see the Infogix Assure Security Administrator’s Guide.

For Match Data entities, rows in the database represent summary information. You cannot add or edit control data and you can only view the summary instance of the control data. If you delete a summary instance, the system deletes the detailed data.

To browse the database, complete the following steps:

1. Click ResultsControl Data.

The system displays a list of control entities that you are permitted to view.

2. If you would like to narrow the list, click Filter and enter criteria such as control entity name, type, or modified since date.

ResultsControl DataFilter

3. Select the entity you want to view and click the Open icon.

Page 102: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

4 Control Entities and Control Points

Instances of Control Entities

102 Infogix, Inc.

The Data Summary tab appears and displays the total instances of your entity that are stored in the database, and the cycle and run number of the most recent run, if applicable.

ResultsControl DataControl EntityOpenData Summary

4. Click Run Query to view the control entity instances that match the General Criteria shown, or edit the criteria, as needed.

You can change the cycle or run number to all or to a range of interest. You can also filter based on whether an instance was stored under the standard or alternate retention policy.

5. Add Field Criteria if you want to filter instances based on values in one or more control fields.

6. Modify the Display Settings if you want to change the sorting sequence of your query results or display different fields.

Page 103: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Control Entities and Control Points 4

Instances of Control Entities

103Infogix Assure Controls Design Guide

7. Click Run Query when you are satisfied with your criteria.

The Results tab displays a list of instances that match your criteria.

ResultsControl DataControl EntityOpenData SummaryRun Query Results

8. To view details for an instance, select the instance and click View.

The Current tab displays the final (most recent) control values stored in the database for the selected instance.

ResultsControl DataControl EntityOpenData SummaryRun Query Results Instance View

Page 104: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

4 Control Entities and Control Points

Instances of Control Entities

104 Infogix, Inc.

9. Click the History tab to see the control values for the selected instance at each control point.

The control values display side by side for easy comparison.

Page 105: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

105Infogix Assure Controls Design Guide

5 Writing Rules

This chapter provides conceptual information and procedures for writing rules for controls. It includes the following sections:

Extraction rules

Validation rules

Values for your validation rules

Storing and retrieving history for your rules

If you have not done so already, read Chapter 2, “Getting Started with Controls.”

Extraction RulesBefore validation rules can be applied, you must create a layout to map to the input data source and the data needed by the rules must be available in the control fields of the current control entity instance. To populate these control fields, you need to define extraction rules. These rules can directly assign input data to control fields. They can also translate, total, tally, combine, or calculate needed data and then place it in control fields.

On the Extract tab, you can use the copy and paste functionality to create extract rules. For more information on the copy and paste functionality, see the online Help.

Combining and Merging Control Field ValuesExtraction rules can combine or merge control field values captured from multiple transactions. The control fields must have the same identity value, but they can come from one or more sources. You can combine values captured by a single control point or merge values captured by multiple control points.

The combine and merge options are available for Balance, Single Capture, and Multiple Capture control points. The merge option is not available for Match Data entities. You can set these options when you create individual extraction rules or by clicking the Capture button on the Capture tab for the control point. For control fields updated by direct input (without extract rules), you must specify combine and merge options from the Capture tab.

Page 106: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

5 Writing Rules

Extraction Rules

106 Infogix, Inc.

Combine Options

To combine values captured at the current control point from the Capture tab, click Capture and choose Edit Combine.

RulesControlsControl EntityControl PointCapture tabCaptureEdit Combine

The following combine options are available:

Accumulate adds together all values from transactions with the same identity value. This option applies to numeric, currency, and total/tally values only.

Replace Always replaces a control field's value each time a new value is captured from a transaction with the same identity value. The control field's value will be replaced with a null value if that is what is captured.

Replace First sets a control field to the first non-null value from the current control point for transactions with the same identity value.

Replace Last sets a control field to the last non-null value from the current control point for transactions with the same identity value.

Maximum sets a control field to the maximum non-null value from the current control point for transactions with the same identity value. Boolean true is greater than Boolean false, and lowercase letters are greater than uppercase letters. For example aaa is greater than AAA.

Minimum sets a control field to the minimum non-null value from the current control point for transactions with the same identity value. Boolean false is less than Boolean true, and uppercase letters are less than lowercase letters. For example AAA is less than aaa.

At Multiple Capture control points, turn off the combine feature if you do not plan to combine values. This will save significantly on processing overhead. To turn off combining, select the Bypass option in the Combine window.

Page 107: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Writing Rules 5

Extraction Rules

107Infogix Assure Controls Design Guide

ExampleSuppose four transactions containing orders for parts pass through a control point. The table below shows order quantities for Part 123. Depending on the Combine option selected, the Order Quantity control field will contain a different value at the end of the control run.

Merge Options

To merge values captured at multiple control points, go to the Capture tab for the current control point, click Capture, and choose Edit Merge.

RulesControlsControl EntityControl PointCapture tabCaptureEdit Merge

Merge settings determine whether or not control field values from prior control points are persisted to the current control point. The following merge options are available:

None indicates the current control point does not update the control field. None is the default for any control field that does not have an extract rule. The system persists the control field value from prior control points.

Replace resets the control field to its value at the current control point, if any. Replace is the default for any control field that has an extract rule. If the current control point does not update the control field, the system persists the control field value from prior control points.

Combine Option

Part Number

(Identity Value)

Order Quantity Final Value of Order Qty Control Field for Part 123Order 1 Order 2 Order 3 Order 4

Accumulate 123 null 5 10 null 15

Replace Always

123 null 5 10 null null

Replace First 123 null 5 10 null 5

Replace Last 123 null 5 10 null 10

Replace Minimum

123 null 5 10 null 5

Replace Maximum

123 null 5 10 null 10

Page 108: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

5 Writing Rules

Extraction Rules

108 Infogix, Inc.

Maximum sets a control field to the greatest, final non-null value of the field at the current or prior control point. Boolean true is greater than Boolean false, and lowercase letters are greater than uppercase letters. For example, aaa is greater than AAA.

Minimum sets a control field to the lesser of the final non-null values of the field at the current or prior control point. Boolean false is less than Boolean true, and uppercase letters are less than lowercase letters. For example, AAA is less than aaa.

Accumulate adds the control values from the current control point to the value from the prior control point.

Work FieldsFor multiple capture, single capture, and balance control points, you can create work fields. These are optional storage fields that temporarily store data for use in extraction rules. You can use a single work field to store all the fields from a particular layout or sublayout. You can also use work fields to store individual values, such as values captured from an input source, or the results of computations. Work fields are optional and are defined on the Work Fields tab. Define any work fields you need before defining your extraction rules so they will be available for selection on the Extract tab. The Work Fields and Extract tabs are available only after you define a layout to map to the input data source.

RulesControlsControl EntityControl PointCapture tabSource NameEdit Work Fields tab

Types of Work Fields

Layout Data—Stores all the data from a layout or sublayout in a single variable. If you select this type of work field, you can also specify if the layout or sublayout occurs once or multiple times. Choose multiple when creating a work field for lines within a list.

Text—If you create a text work field, you can also choose to use blank as the default.

Page 109: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Writing Rules 5

Extraction Rules

109Infogix Assure Controls Design Guide

Numeric—If you create a numeric work field, you can choose to use a default value as well as the number of decimals. If you specify decimal handling, you can choose to truncate or round the work field to the specified number of decimal places. By default, the final decimal position is rounded up if the input data has more decimal positions than the work field. Truncate is the other option.

Date—If you create a date work field, you can choose to use the current date as the default.

Boolean—If you create a Boolean work field, you can choose to use TRUE or FALSE as the default.

Defining the ExtractionThese steps are for defining the extraction rules for any type of control point that can capture data.

1. Click the Capture tab and then click AddInput Data to display the Capture window.

2. Click the Extract tab.

On this tab, you specify what data the current control point should place in the control fields defined for the current control entity.

Notice that this tab contains a When Layout Type section for the layout you selected on the Source tab of the Capture window. If your layout contains sublayouts, a separate section for each of these also appears.

Page 110: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

5 Writing Rules

Extraction Rules

110 Infogix, Inc.

For example, in the graphic below, the source layout, individual claim, has one sublayout: Claim. The sublayout is identified by the colon (:) before the sublayout name.

If you are defining a Multiple Capture control point, your Extract tab will also include the Procedures, On Begin, and On End sections shown above. See “Work Fields” on page 108.

3. Select a section and click the plus icon on the button bar between the upper and lower panes. This expands the section in the upper pane so you can see conditional selection and extract rules.

Page 111: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Writing Rules 5

Extraction Rules

111Infogix Assure Controls Design Guide

a. Click the name of your layout. The lower pane displays a field where you can specify a name for your input data.

b. Optionally, enter a meaningful data name or use the default of “in” for input. Click Apply.

c. Click Condition. The lower pane displays a processing option of Processing is complete if condition is met.

Use this option unless you are creating multiple Select When conditions for the same layout type. When the option is enabled for a Select When condition and the condition is met, no more Select When conditions will be evaluated for the layout. When the option is not enabled, the next Select When condition will be evaluated.

d. Click true next to Condition. The lower pane displays options for when to apply the extract rules.

e. To always apply the extract rules, accept the default condition of true.

To apply the extract rules selectively, change the literal to a text or numeric value and then use the Add Function, Add Field, Add Operation, and Add Literal buttons to specify the condition that must be met for the extract rules to be applied.

For more information about functions, see Chapter 11, “Function Reference.”

Page 112: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

5 Writing Rules

Extraction Rules

112 Infogix, Inc.

f. Click New Extract Rule. The lower pane displays a drop-down list where you can specify an extract rule.

Select an extract rule to see information about how the rule works with an example.

To generate Compute extract rules for multiple control fields at the same time, click Extract Express. See “Defining Multiple Compute Rules” on page 113.

Extract rules can assign values to control fields within the current control entity. For more information, see “Types of Extraction Rules” on page 116. Some completed extract rules for the Auto Policy layout are shown below.

4. Repeat the steps to define extraction rules for each layout or sublayout that maps data you need for validation rules. Click OK when complete.

Page 113: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Writing Rules 5

Extraction Rules

113Infogix Assure Controls Design Guide

Defining Multiple Compute RulesYou can use the Extract Express feature to accelerate the creation of extract rules. You can create simple Compute rules; for more complex rules, you can generate the first part of the rule and then complete the rules manually.

Complete the following steps to create Compute rules for multiple control fields at the same time:

1. On the Extract tab, click New Extract Rule.

2. Click Extract Express.

The system displays the control fields for the current entity, in the order that the fields are defined for the entity. The list does not include Total/Tally type fields.

3. Select the check box next to the Include heading to generate an extract rule for each control field.

Optionally, select the check box for each field that requires an extract rule.

4. In the Field drop-down list, select the source layout field for extraction.

If a layout field with the same name exists, regardless of case, the system maps to the field automatically. You can override the mapping.

Optionally, you can choose not to map to layout fields, which generates a partial rule.

5. Click OK to generate a simple Compute rule for each control field that you mapped.

For control fields that are included but not mapped, the system generates the first part of the Compute rule. You can manually add functions, literals, and operators.

Page 114: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

5 Writing Rules

Extraction Rules

114 Infogix, Inc.

Making Extract Rules a ProcedureA procedure is a reusable set of extract rules. You can write a procedure first or you can use a complex set of Select When, When Condition, or Default extract rules to make a procedure. In the example below, you can make the extract rules into a procedure that can be reused.

On the Extract tab, you can use the copy and paste functionality to create procedures. For more information on the copy and past functionality, see the online Help.

To make extract rules a procedure, complete the following steps:

1. Complete one of the following actions: Under Select When, click Condition. Under Evaluate, click When Condition or Default.

2. Click More and select Make Procedure.

3. Specify a unique name for the procedure and click Apply.

The extract rules become a procedure in the procedure section and an Invoke Procedure rule calls the newly created procedure.

Page 115: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Writing Rules 5

Extraction Rules

115Infogix Assure Controls Design Guide

Testing the ExtractionYou can test the extraction rules defined for an input source, which enables you to correct any extraction errors early in the process. You can perform this test for Single Capture, Multiple Capture, and Balance control points.

The test generates an extraction trace report that shows the capture process for the field values, the evaluation process for the rules, and other information for the selected input source.

1. Select an input source on the Capture tab.

2. Click Test Source.

3. On the Test Source window, in the Record Limit field, specify the number of input records or rows to extract.

The limit is 1000 records.

4. Specify the path or URL for the input source.

You can select a file from the last ten files used or choose a file from the test data repository.

5. If runtime fields exist, specify the values for the runtime fields.

6. Click Run to perform the extraction test.

If an error occurs that prevents the extraction, the system issues an error message and does not create a trace report.

a. Click the View link for additional information about the error.

b. Click View/Email Error Details to view a detailed error report and to email the report to Infogix and other specified email addresses.

7. Click View Results to see the extraction trace report for the input source.

Page 116: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

5 Writing Rules

Extraction Rules

116 Infogix, Inc.

Types of Extraction RulesThe table below provides a summary of the types of extraction rules, how they are used, and their options. Rule types with an asterisk (*) are only available for Multiple Capture control points.

Extract Rule Description

Assignment Directly copies a value (such as the value in a layout field or the result of a translation) to a control field. There are three assignment options that determine when a value will be stored or replaced in the control field: Always, First, and Last. For layout fields, Always assigns the current value to the control field. First assigns the first non-null value extracted during this control run, at any prior control point through the current control point. Last assigns the last (most recent) non-null value extracted at this or prior control points.

Cycle Assignment

If the Cycle option on the control entity Details tab is set to Extracted, use this type of rule to assign a date or some other unique number to the cycle control field of the current control entity. Cycle numbers help to uniquely identify control runs. To select the layout field to use as a cycle number source, click the right side of the cycle assignment rule.

Tally Counts the number of occurrences of records/ transactions that meet the When Layout Type and Select When criteria. Accumulates (adds) or decrements (subtracts) this count to or from a control field.

Sum Adds all occurrences of a layout field that meets the When Layout Type and Select When criteria, above. Accumulates (adds) or decrements (subtracts) this total to or from a control field.

Total and Tally Performs both the Sum and Tally transformations on all occurrences of a layout field that meets the When Layout Type and Select When criteria, above. Accumulates (adds) or decrements (subtracts) these results from a control field. One control field stores both the sum and tally.

Translate Specifies values (such as values extracted from layout fields) to translate and the translation table to use. See Chapter 7, “Translation Tables.”

Page 117: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Writing Rules 5

Extraction Rules

117Infogix Assure Controls Design Guide

Compute Enables you to construct a freeform expression using your choice of building blocks available on the button bar. For example, you can use this capability to perform calculations on values extracted from layout fields, and then place the result in a control field. See Chapter 11, “Function Reference.”

Add to Work Field List

Applies to work fields defined as having multiple occurrences on the Work Fields tab. Allows you to collect up a number of input records into a list, so you can apply functions against them once the list is complete.

Create * Creates a new instance of the control entity. Has the same effect as selecting Automatic Multi-Instance Identity Management on the Source tab. To generate the last instance, use a corresponding Generate Instance rule following the Create rule or in the On End section.

Generate Instance *

Returns the instance of the control entity to the system for further processing (merge, history data, validation, etc.). The instance of the entity is only generated if it has a fully defined identity. That is, all identity control fields not assigned by the system must have a non-null value. Has the same effect as selecting Automatic Multi-Instance Identity Management on the Source tab. Use this rule type in conjunction with Create.

Empty Work Field List

Use in conjunction with Add To Work Field List, above. After building a list and extracting the needed data from it, use this operation to empty it out. Emptying a list is a mandatory step so the list doesn't grow to contain everything in the input source.

Evaluate Use to build "if/else, if/else" logic for a series of extract rules. The structure is:

evaluate when a=b (detailed extract rules)

when x=y (detailed extract rules)

otherwise (detailed extract rules)

The list of whens will be evaluated. The first when condition that is met will have its extract rules applied. If none of the when conditions are met, the system will perform the extract rules specified for otherwise.

Invoke Procedure

Invokes a reusable extraction procedure.

Extract Rule Description

Page 118: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

5 Writing Rules

Validation Rules

118 Infogix, Inc.

Multiple Capture ExtractsIn addition to extraction definitions, the Extract tab for a Multiple Capture control point includes several special sections.

The first special section is for reusable procedures. A procedure is a set of instructions that can be executed in response to a request. If you plan to use the same set of instructions multiple times, create a reusable procedure. For example, you might want to use the same procedure to extract data from multiple sublayouts. Then you can specify the procedure name each place where it is required.

The On Begin section provides a place to set an initial state, before any data is processed or any extract rules are applied. For example, you can use a Boolean expression to indicate that before processing begins, a particular field should be set to true.

The On End section allows you to set a final state, after the last record is read.

Validation RulesValidation rules are the controls to apply at a given control point to assess the accuracy of your processes. Validation rules are available for all types of control points except Timeliness. These rules are specified on the Validate tab after you add a validation rule set.

On the Validate tab, you can use the copy and paste functionality to create validation rules. For more information on the copy and paste functionality, see the online Help.

Work Field Compute

Same as Compute, above, except the results are placed in work fields instead of in control fields.

* Only available for Multiple Capture control points.

Extract Rule Description

Page 119: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Writing Rules 5

Validation Rules

119Infogix Assure Controls Design Guide

Validation Rule ElementsAfter you add a validation rule set, the Validate tab has the following elements that you can define. Note that the Validate tab for Reconciliation control points is different. See “Validating a Reconciliation Task” on page 65 for details.

RulesControlsControl EntityControl PointValidate tab Validation Rule set

Validate When—A statement of when the validation rule is executed. If you do not want to execute it every time the control point is executed, define a conditional statement to invoke execution.

Derived Fields—Create values to use in rules by combining or calculating control fields and history values. See “Values for Your Validation Rules” on page 129.

Validation Checks—These are the comparison statements that perform the actual validation.

When Passed, When Failed, When Complete— Define what should be done for each of these situations.

Each of these elements except Derived Fields is described in the remainder of this section.

Determine When the Validation Applies

Specify if the validation rule is to execute each time processing is invoked for the control point or when a condition is met.

Page 120: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

5 Writing Rules

Validation Rules

120 Infogix, Inc.

Validation can be conditional or unconditional. To choose unconditional, select Always from the Validate When drop-down list. To choose conditional, select When.

RulesControlsControl EntityControl PointValidate tab Manage Validation Rules SetNew Validation Check Rule

Use the Add Field, Add Function, Add Operation, and Add Literal buttons to specify when to apply the validations. The graphic below shows a Validate When expression that makes the validation conditional upon the extracted check number.

Choose the Validation Condition

When you create a new validation check, you must select a condition that describes the type of validation check: balance or point to point. A point-to-point validation check is a specialized type of control. See “Point-to-Point Controls” on page 88 for an explanation and instructions.

For all other validation checks, choose Balance Condition.

RulesControlsControl EntityControl PointValidate tab Manage Validation Rules SetNew Validation Check Rule

Tolerances for Validation Checks

If you are specifying a numeric comparison, you can specify a type and amount of tolerance within which the comparison is considered TRUE. You cannot specify a tolerance amount for a text comparison.

Page 121: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Writing Rules 5

Validation Rules

121Infogix Assure Controls Design Guide

The following describes the types of tolerances you can specify:

None—No tolerance.

Absolute—The comparison is evaluated using the amount you specify in the Tolerance Value field. If the result of the evaluation is within plus or minus of the tolerance value, then the comparison is evaluated as equal.

The following shows an example of a formula to be evaluated with an absolute tolerance:

current.amount_at_creation = current.amount_at_completion) +/- $5

The table below shows some sample evaluations and the outcomes:

Percentage—The maximum allowable absolute value of the difference between the two sides of the validation, expressed as a percentage of the left side. Specify the percentage in the Tolerance Value field.

The following shows an example of a formula to be evaluated with a percentage tolerance:

current.amount-at-creation = current.amount-at-completion) +/- 1%

The table below shows some sample evaluations and the outcomes:

Determine What Derived Fields, if Any, to Use in Your Rules

You can create derived fields to use in validation rules if you need to combine or perform calculations on control fields, history fields, and/or other derived fields.

Left side value

Right side value

Tolerance calculation TRUE or FALSE evaluation

67,000 67,005 67,000 = 67,005 +/- $5 TRUE

79,000 78,994 79,000 = 78,994 +/- $5 FALSE

53,000 53,000 53,000 = 53,000 +/- $5 TRUE

Left side value

Right side value

Tolerance calculation1% Tolerance

TRUE or FALSE evaluation

67,000 67,670 67,000 = 67,670 +/- 1% 670 TRUE

10,000 9,899 10,000 = 9,899 +/- 1% 100 FALSE

53,000 53,000 53,000 = 53,000 +/- 1% 530 TRUE

Page 122: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

5 Writing Rules

Validation Rules

122 Infogix, Inc.

To create a derived field, select New Derived Rule and use the Add Field, Add Function, Add Operation, and Add Literal buttons to define the rule. For more information, see Chapter 11, “Function Reference.”

Determine the Validation Checks

The validations are what actually perform the checking of values to determine the integrity of your process. Validations consist of an expression and a result. Values in the expressions can come from the following sources:

Control fields that are part of a control entity instance Derived fields Runtime fields

See “Values for Your Validation Rules” on page 129 for more information.

Determine What Happens When the Rule Passes

For each rule you define, you choose an action to be performed based on the results of the rule. The table that follows describes the types of actions from which you can choose.

When Passed, When Failed, and When Complete Rule Selections

Type of Rule Description

Result Specify a result based on the evaluation of the rule. See Chapter 6, “Alerting Users to Results.”

Action Initiates an execute control point action or an execute script action. Actions are set up on the Actions tab.

Control Field Change

Assigns a new value to a control field at the current control point. Use this feature to update control data for exceptions rather than for high volume updates. This feature changes the value of a control field based on the evaluation of the rule. This will make the value available for use by other control entities, or by future control points or future runs of this control entity. You can also use this feature to make a value available for reporting or to store a value in the database for future audit or analysis purposes.

For reconciliation tasks, if the left or right input sources are Match Data entities, the action is available but the control field is not assigned a new value.

Page 123: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Writing Rules 5

Validation Rules

123Infogix Assure Controls Design Guide

New Validation Rule Set

Creates a new set of rules to execute.

Store Control Data Stores the current instance of the control entity. This overrides the Store Control Data option selected on the control point Details tab.

Delete Control Data Deletes the current instance of the control entity. This overrides the Store Control Data option selected on the control point Details tab.

Generate Report Produce a Control Report. This overrides the Generate Control Report option selected on the control point Details tab. See Chapter 9, “Reporting.”

Skip Report Skips the Control Report. This overrides the Generate Control Report option selected on the control point Details tab. See Chapter 9, “Reporting.”

Set Retention Policy

Lets you apply an Alternate Retention Policy specified on the control entity Details tab. The alternate policy can delete control data from the database on a different schedule than the standard policy. It does not delete associated reports or results. See “Retention Policies” on page 99.

Cancel Trigger Stops automatic execution of any Trigger Control Point specified on the control point Details tab.

Generate Export Data

Controls whether control data and an optional computed value are exported to an external database if the current validation rules pass, fail, or complete.

Infogix ER Set Work Date

This rule is only available if the control point is associated with an Infogix ER Reconciliation.

Sends a work date to Infogix ER that tells Infogix ER that all subsequent data and processing belong to that date.

When Passed, When Failed, and When Complete Rule Selections

Type of Rule Description

Page 124: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

5 Writing Rules

Validation Rules

124 Infogix, Inc.

Execute ActionsTwo execute action types are available: execute control point and execute script. An execute control point action defines a control entity and a control point to execute and indicates whether to provide the data through the capture process or the direct input method. An execute script action defines a user-created script and optional parameters to execute as an action.

You can apply an execute action on the Validate tab for a balance, single capture, multiple capture, or scan control point. You can apply the action in the When Passed, When Failed, and When Complete sections on the tab. You can set up the action to execute immediately after the system performs the validation or you can specify that the system trigger the action at a later time.

You can apply an execute action on the control point details Manage Actions Process tab for a balance, single capture, multiple capture, scan, or reconciliation control point. You can apply the action in the When Finishes section on the tab. Actions can execute always or conditionally. To perform an action conditionally, you need to add an expression that specifies when to perform the action.

For scan and multiple capture control points, you can limit the number of validation actions to allow. Specify the execute action limit on the Details tab for the control point. The default number is 100 and the maximum number allowed is 1000.

Page 125: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Writing Rules 5

Validation Rules

125Infogix Assure Controls Design Guide

If the number of actions exceeds the specified limit, processing continues but the system does not send any further alerts. You can see this information when you view results by control point; the Summary and Results tabs show whether the system bypassed any validation actions. You can view the result details to see the action limit and the number of executions that were bypassed.

You can define a runtime field to bypass execute actions for a control point test.

Defining Execute Control Point ActionsYou can define an action that executes a control point run based on the validation logic for the current control entity instance. You can determine whether to trigger the control point execution for validation rules that pass or fail. You can also define an execute control point action to occur at the end of control point process.

1. Choose one of the following navigation paths: For validation actions, select RulesControlsControl

EntityControl PointValidate tab Manage Validation Rules SetActions tab.

For control point actions, select RulesControlsControl EntityControl PointMore Manage ActionsActions tab.

2. Click New Action. In the lower pane, select Execute Control Point and click Apply.

3. Specify the following information for the action.

a. Specify a name for the action.

b. Specify the control entity for which to execute a control run.

c. Specify the control point triggered by the action.

d. If available, specify whether to use the capture or direct input method and then specify the parameters.

e. If the file to capture is located on the client-side, select the Execute control point capture on invoking client option to execute the control point capture on the invoking client, instead of the server.

Page 126: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

5 Writing Rules

Validation Rules

126 Infogix, Inc.

f. Use the Hours, Minutes, Seconds, or Days fields to specify the exact time to trigger the action.

Optionally, select a duration calendar to specify days or time periods during which the action will execute.

To trigger the action immediately, leave the time and day fields blank and specify None for the calendar.

4. In the top pane, expand the Actions section.

5. Specify cycle and run overrides, if applicable, and whether the run is a rerun.

6. The system displays the following values, which you can override with a different value. If runtime fields are defined for the control point, the system

displays the runtime fields. For an execute control point action with a capture method, the

system lists the input sources for the control point. For an execute control point action with the direct input method,

the system lists the control fields that are merged by the trigger control point.

Page 127: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Writing Rules 5

Validation Rules

127Infogix Assure Controls Design Guide

After you define the action, you can choose that action on the appropriate tab. If you defined the action as a validation action, you can apply it on the Validate tab. If you defined the action as a control point action, you can apply it on the Process tab.

Defining Execute Script ActionsYou can define an action that executes a user-defined script based on the validation logic for the current control entity instance. For example, you can execute a script that deletes files that you no longer need or that moves the files to another location. You can also define an execute script action to occur at the end of a control point process.

Scripts are located in a folder that is defined by the Infogix Assure property EXECUTE_SCRIPTS_HOME. This variable is defined in the build.install.appserver.properties file when Infogix Assure is installed.

1. Choose one of the following navigation paths: For validation actions, select RulesControlsControl

EntityControl PointValidate tab Manage Validation Rules SetActions tab.

For control point actions, select RulesControlsControl EntityControl PointMore Manage ActionsActions tab.

2. Click New Action. In the lower pane, select Execute Script and click Apply.

3. Specify the following information for the execute script action and then click Apply.

a. Specify a name for the action

b. Specify the name of the user-created script located in the scripts home folder.

c. Use the Hours, Minutes, Seconds, or Days fields to specify the time delay for the action. Optionally, specify a duration calendar to specify days or time periods during which the action will execute. To trigger the action immediately, leave the time and day fields blank and specify None for the calendar.

4. In the top pane, expand the Actions section.

Page 128: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

5 Writing Rules

Validation Rules

128 Infogix, Inc.

5. Optionally, click New Parameter to specify a parameter name and argument.New Parameter options display in the bottom pane.

6. Specify a name for the parameter and an argument.

7. As appropriate, select the check box to indicate that the parameter value is a file.

8. Use the Add Field, Add Function, Add Operation, and Add Literal buttons to specify the value of the parameter. Click Apply.

9. Click New Parameter and repeat steps 6 through 8 to add additional parameters as necessary.

Applying ActionsAfter you define an action, you can choose that action on the appropriate tab. If you defined a validation action, apply it on the Validate tab.

Page 129: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Writing Rules 5

Validation Rules

129Infogix Assure Controls Design Guide

If you defined a control point action, apply it on the Manage Actions Process tab. To perform a control point action conditionally, change the Execute option to When on the Process tab. Then, add an expression that specifies when to perform the action.

You can use the Add Field button to select a runtime field value to check. For example, you might check a runtime value to determine whether to run a UNIX script or a Windows .bat file when the control point finishes.

To set up runtime fields, click More Manage Runtime Fields on the control point Details tab.

Values for Your Validation RulesA value is some form of data, such as data from your application. By using values in validations, you can construct rules that test the information integrity of your applications.

Page 130: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

5 Writing Rules

Validation Rules

130 Infogix, Inc.

You can obtain or define the following types of values:

Derived Field ValuesUse derived fields if you need to combine or perform calculations on control field values, history values, and/or other derived fields and use the resulting value in a rule. You may require the same derived field for a number of different validation checks. For example, suppose you need a value that is composed of (Daily Processing Total - Daily Accounts Receivable Total) + Daily Credits Received, for use in four different validation checks. Rather than recreate that expression four different times, it is easier to create the expression one time, and store it as a value with its own name. Then you can easily use the derived field name in all four validation checks.

RulesControlsControl EntityControl PointValidate tabManage Validation Rules Set New Validation Rule SetNew Derived Rule

Type of Value Description

Current Control Field

Can include control field values captured directly from layout fields in your input source. These values are assigned to control fields by extraction rules. For more details, see “Extraction Rules” on page 105. You can also combine or merge input values from multiple transactions and assign the resulting values to control fields. See “Combining and Merging Control Field Values” on page 105.

History Values from other control entities, prior runs of the current entity, and ACR/Summary history values retrieved through ACR/Connector. For more details on history values, see “Defining History to Retrieve” on page 135 and “Retrieving History from ACR/Summary” on page 136.

Derived A combination of extracted values, history values, calculations, results of functions, or other derived fields.

Page 131: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Writing Rules 5

Validation Rules

131Infogix Assure Controls Design Guide

When you complete the Derived Field Rule fields and click Apply, the Add Field, Add Function, Add Operation, and Add Literal buttons are enabled. Use these buttons to define your derived field. See Chapter 11, “Function Reference” for a listing of available functions.

Runtime Fields Runtime fields acquire their values during execution of a control point. This feature lets you alter control point rule behavior with execution time values:

Runtime values in conditional extraction rules can dynamically change which values are extracted for use in validation rules

Runtime values in advanced SQL queries can dynamically change a query for a database. Your SQL query for the database layout must include parameters identified as editable. These will appear as question marks (?) in the query.

The following list describes some of the ways that runtime fields can be used:

Provide a cycle number for a control point execution

Provide a business name or unit name

Provide a value to use as an upper or lower limit in a validation rule expression

Dynamically override the parameters in an SQL query based on the contents of a data file

Dynamically acquire data from a database based on last load time or current load time

Bypass an execute action for a control point test

Provide a value for a control point action definition

Build an expression for a validation action

Provide a value for a result field

Runtime fields are valid only for Balance, Scan, Single Capture, Multiple Capture, or Reconciliation control points.

Page 132: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

5 Writing Rules

Validation Rules

132 Infogix, Inc.

How Runtime Fields Acquire Their Values

Runtime fields acquire their values when the control point is executed. These values can be acquired either or both of the following ways:

A parameter to the runcp utility when it is executed. The runcp utility is what executes the control point. Runcp can be executed as a command line utility or as a batch utility.

Extracted when the control point is executed. Runtime field extraction occurs before the extraction defined on the Capture tab for a control point.

Runcp Utility—The runcp utility is what executes the control point. The -rtfield and the -rtfile parameters are specifically for identifying runtime field values.

The -rtfield parameter is used to identify a single field value. The following shows the syntax:

runcp -entity control-entity-name -point control-point-name -rtfield name-of-field=value

For example, if your field is named business_unit and the value you want to pass is electronics, then you would enter the following:

runcp -entity control-entity-name -point control-point-name -rtfield business_unit=electronics

The -rtfile parameter identifies a file that contains the value or values. The following shows the syntax:

runcp -entity control-entity-name -point control-point-name -rtfile d:\path\filename.txt

where D: is the drive, and filename.txt is the name of the file containing the runtime fields.

If any element of your path has a space in it (such as file name.txt), then enclose the entire path in quotes (such as ("d:\path\file name.txt").)

For example, if your file contains runtime fields for company_name and business_unit, the file would contain the following text:

company_name=abc_corporationbusiness_unit=electronics

Extraction—Runtime fields may acquire values during extraction processing. A runtime source defined on the Capture tab for a control point is processed before the other capture sources. Values obtained through this source override any value supplied for the same field by -rtfile or -rtfield.

Page 133: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Writing Rules 5

Validation Rules

133Infogix Assure Controls Design Guide

More information about executing the runcp utility is in the Infogix Assure Operator’s Guide.

Order of Precedence for Multiple Parameters

You may want to specify a runtime value in more than one way and permit one to override the other. The following is the order of precedence for determining which runtime value is used:

Any newly captured runtime value overrides any previously acquired value.

A value passed with the runcp utility and the -rtfield parameter overrides a value in the property file named with the -rtfile parameter.

A value extracted during control point processing overrides a value supplied by the -rtfile or -rtfield parameters.

Defining a Runtime Field

These steps describe how to crate a runtime field and then assign it to a control field. Your control field must be defined to use these steps.

1. Select RulesControlsControl EntityControl PointDetails tab MoreManage Runtime Fields. This selection is available for Single Capture, Multiple Capture, Scan, Balance, and Reconciliation control points.

2. Click New Runtime Field.

3. Complete the New Runtime Field pane and then click Apply. Define as many fields as you need. When through, click OK to return to the Details tab.

If you do not define a default value and the value is not passed as a parameter during control point execution or extracted during control point processing, then a null value will be used as the value.

Page 134: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

5 Writing Rules

Validation Rules

134 Infogix, Inc.

Parameters for Predefined Runtime Fields

You can set up runtime fields to bypass execute actions. If Infogix Assure integration is enabled and configured with Infogix ER, you can also bypass Infogix ER Notification and Infogix ER Set Work Date actions for a control point test. You must use the following names, which are case-sensitive, and the Boolean field type.

Defining a Runtime Field Extraction

These steps describe how to define a runtime field extraction.

1. Select RulesControlsControl EntityControl PointCapture tab.

2. Click AddRuntime Data to open the New Runtime Data Source window.

3. Complete the Source tab.

4. Click the Extract tab.

Now you can define conditional extractions for additional fields. For example, perhaps your runtime field extracts “Bank ABC.” You can now define additional conditional extractions based on this value.

5. Expand your extraction definition and select New Extract Rule. This displays the Add Extract Rule pane.

6. Select Assignment and then click Apply.

7. Click in the first text box next to Assignment in the upper pane. This changes the lower pane to display our defined runtime fields.

8. Click a runtime field and then click Apply.

9. Click in the text box next to the runtime field you just applied.

10. Select a type of control field in the Data Name text box in the lower pane.

11. Select the field to assign to the runtime field and click Apply.

12. Continue assigning additional runtime fields as necessary, then click OK.

Name Type Description

Bypass1ExecuteActions Boolean Bypass any execute actions defined for the control point.

Bypass2NotifyERActions Boolean Bypass any Infogix ER Notifications defined for the control point.

Bypass3SetERWorkDateAction Boolean Bypass an Infogix ER Set Work Date action defined for the control point.

Page 135: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Writing Rules 5

Storing and Retrieving History for Your Rules

135Infogix Assure Controls Design Guide

Storing and Retrieving History for Your RulesYour rules may require data from other control entities or from prior runs of the same control entity. This data can be stored in the database, as history data. Once stored, you can retrieve this history data for use in validation rules. A simple example is to compare a value from a previous control run to the value captured in the current run:

Total value input today = total value output from yesterday

Defining History to StoreThe option to define the control data history to store is set at the control entity level. Select RulesControlsControl Entity and click the Control Data History drop down list to select an option. See the context Help for explanations of the control data history options.

Defining History to RetrieveTo retrieve history data from the product database, select RulesControlsControl EntityControl PointHistory tabAdd. This displays a Details tab where you can specify history retrieval information. You can specify the following types:

Entire Control Entity—Retrieves all control fields for a particular control entity and control run.

Computed Control Entity Values—Retrieves selected control fields, and if specified, performs computations.

On the Selection tab, you can specify conditional logic for the retrieval of history. Once the history data to retrieve is defined, you can use it in your validation rules.

Page 136: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

5 Writing Rules

Storing and Retrieving History for Your Rules

136 Infogix, Inc.

Retrieving History from ACR/Summary ACR/Summary is an Infogix product that verifies the accuracy of data in your current or history files, databases, and reports. ACR/Summary history data can be retrieved for use with your validation rules if you also have ACR/Connector installed. ACR/Connector makes it possible for you to access history data from ACR/Summary on the platform of your choice.

Before you can retrieve history data from ACR/Summary, Infogix Assure must be configured to work with ACR/Connector. This is normally part of the Infogix Assure installation process for organizations that have ACR/Connector.

To set up history retrieval from ACR/Summary, you must know the following information about your ACR/Summary jobs and ACR/Connector server nodes:

ACR/Connector server node name

ACR/Summary job name, step, and qualifier

Cycle information

Required field name to use in the rules

To enter your ACR/Summary field definitions, select RulesControls Control entityControl pointHistory tabAdd ACR/Summary. This will display a Details tab where you can specify history retrieval information.

RulesControlsControl EntityControl PointHistory tabAdd ACR/Summary

Page 137: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Writing Rules 5

Storing and Retrieving History for Your Rules

137Infogix Assure Controls Design Guide

You can specify the following types of retrievals:

Entire ACR/Summary Record—Retrieves all ACR/Summary history items for a particular run.

Computed ACR/Summary Values—Retrieves selected ACR/Summary history items, and (optionally) accumulates them.

On the Fields tab, you can specify which history items to retrieve and set up history fields to store them.

Once you have defined the ACR/Summary history to retrieve, you can use it in your validation rules.

Verifying History for ValidationIf you use history data in your validation rules, you need to verify that the data is available before the validation rules execute.

The Verify tab lists all current and history data that has been specified as an input to the current control point. On this tab, you define an action for each input if it is missing.

RulesControlsControl EntityControl PointValidate tabValidation Rule SetVerify tab

By default, if current control entity data or history data is missing, a missing input result is generated and validation processing for the current control point is not performed. The name of this default result is MissingInputEx.

Page 138: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

5 Writing Rules

Storing and Retrieving History for Your Rules

138 Infogix, Inc.

The default code passed to the operating system for this result is 12. If you want to perform validation despite missing inputs, you must select current in the top pane and in the bottom pane check Default All.

For each set of history data, you can specify one or more of the following actions to perform instead of the default result:

Substitute other values, for the missing history values. You cannot substitute values for missing current data.

Produce a result other than the default. See “Results” on page 140.

You can also create a derived field that can be checked by a validation rule. In the top pane, select the data you want to verify. In the bottom pane, select Default All and specify a derived field name. This creates a derived field containing a Boolean value that is set to True if the input exists or False if the input does not. Check this value when creating Validate When conditions on the Validate tab.

RulesControlsControl EntityControl PointValidate tabValidation Rule SetVerify tab History name

Page 139: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

139Infogix Assure Controls Design Guide

6 Alerting Users to Results

This chapter discusses the ways you can alert users to control processing results and provide them with detailed information needed for analysis and audit trail purposes.

The following sections are included:

Key notification concepts

Steps for defining results, result templates, result actions, and alerts

Key Notification ConceptsThis section reviews notification concepts that will help you understand the relationships between notification elements.

Inboxes and notifications

Results

Result templates

Alert actions

Inboxes and NotificationsNotifications tell a user or user group about a control failure or other processing situation, such as execution of a control point. Users can receive notifications in the form of inbox alerts, email messages, pager alerts, or a combination.

For the knowledge worker, inbox alerts are the primary focus while using the product.

Inbox

Page 140: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

6 Alerting Users to Results

Key Notification Concepts

140 Infogix, Inc.

Clicking an inbox alert displays a description and the details of the associated control result in the lower pane. In many cases, links are provided to further details, such as data captured when the control was applied.

InboxSubject

ResultsA result consists of the control processing details and an optional return code reported to users based on the outcome of a particular validation check, a validation rule set, or a reconciliation task rule.

Results can be generated when any of the following events occur:

A validation passes A validation fails A validation completes History data needed for validation is missing A reconciliation task rule passes A reconciliation task rule fails

You can assign a result template, a return code, or both to a result.

Return codes appear in results reported to users and can be passed to an external application or job scheduler to indicate the results of control processing. A return code must be between 0 and 255.

A control point may generate multiple results if multiple validations are performed. Validation outcomes that are not mutually exclusive could also generate multiple results. For example, results could be generated when a validation fails and when it completes.

For Multiple Capture, Scan, and Reconciliation control points, you can limit the number of result to allow for a control point run. Specify the limit on the Details tab for the control point. At run time, you can override the limit. See “Testing Using the User Interface” on page 15.

Page 141: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Alerting Users to Results 6

Key Notification Concepts

141Infogix Assure Controls Design Guide

Even though a control point may produce more than one return code, only the highest code generated is reported. When and how the return code is reported depends on how the control point is executed:

If the control point is executed using the runcp.bat utility, then the code is the return code from that control run.

If a control point is executed using Web Services in synchronous mode, then the code is returned as part of the Web Services response from the server after the control point is executed.

If a control point is executed using Web Services in asynchronous mode, then a cookie is returned as soon as the request is received on the server. This cookie can be used later on to retrieve the return code once the control point completes execution.

More information about Web Services and the cookie are in the Infogix Assure Application Programming Interface Guide.

Result TemplatesThe details that are reported to users are defined in result templates.

A result template specifies what information, such as control field data, to provide to users when a particular control outcome occurs. You can define a result template at the time that you create a validation rule or a reconciliation task rule. You can also define result templates independently from the validation rules.

After you define a result template, you can use it at any control point to define what supporting information to supply to users when a particular control outcome occurs.

The result template includes a severity to indicate how serious the result is. Severities range from informational, to warning, error, or fatal. How these are assigned and interpreted for your rules is determined by the rules writer in collaboration with knowledge workers who are analyzing the results.

See “Define a Result Template” on page 151.

Page 142: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

6 Alerting Users to Results

Key Notification Concepts

142 Infogix, Inc.

AlertsAn alert is a type of action that you can assign to a result action. If you would like to automatically alert specific users or groups when a particular result occurs, you should create an alert.

RulesResult ActionsNew Result ActionActions tab RulesResult ActionsActionActions tab

Alerts include a description that appears in a user’s inbox or email subject line.

RulesResult ActionsNew Result ActionDetails tab RulesResult ActionsActionDetails tab

Page 143: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Alerting Users to Results 6

Steps to Define Results, Result Actions, and Alerts

143Infogix Assure Controls Design Guide

You can send alerts to everyone in a predefined group or to individual users.

RulesResult ActionsNew Result ActionActions tab Add Alert RulesResult ActionsActionActions tabAlert

You can set an expiration period for individual alerts. Once the expiration period has elapsed, the alert is automatically deleted from users’ inboxes.

Users can also specify how long they want to retain alerts by selecting SystemPreferences. The system will automatically delete alerts based on the preference specified by the user or the expiration time specified by the rules writer, whichever comes first.

Steps to Define Results, Result Actions, and AlertsThis section provides basic steps for defining results, result actions, and alerts, so you can learn the basic sequence. You do not have to define them in this order. These tasks include the following:

Set up results for validation rule sets or reconciliation task rules

Assign results

Define a result template

Define a result action rule

If you have not done so already, read “Key Notification Concepts” on page 139.

Set Up ResultsAfter you create a control entity and control point, you can set up results for validation rule sets or reconciliation tasks. You can set up a result from the Validate tab or from the Results tab. See “Define a Result from the Validate Tab” on page 144 or “Define a Result from the Results Tab” on page 146.

Page 144: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

6 Alerting Users to Results

Steps to Define Results, Result Actions, and Alerts

144 Infogix, Inc.

On the Details tab for a Multiple Capture, Scan, or Reconciliation control point, you can specify the maximum number of results to allow for a control point run. You can override the limits at run time. See “Testing Using the User Interface” on page 15.

Define a Result from the Validate Tab

You can assign a result and perform simple group and field assignments from the Validate tab.

1. Access the Validate tab from one of the following paths: RulesControlsControl EntityControl PointValidate tabManage Validation Rules Set

RulesControlsControl EntityReconciliation Control PointTasks tabTaskValidate tab

2. Apply a new validation check rule, a task rule, or an action for a when pass, fail, or complete condition.

3. Apply Result for the type.

4. Click Add Result.

5. Click New Result.

Page 145: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Alerting Users to Results 6

Steps to Define Results, Result Actions, and Alerts

145Infogix Assure Controls Design Guide

The system displays the New Result window.

6. Specify a descriptive name for the result.

7. Optionally, specify a return code.

The return code is a numeric code between 0 and 255. The system passes the code to users and to other applications or job schedulers when the result occurs. See “Results” on page 140 for more information.

8. Optionally, select a result template.

You must specify either a return code or a result template. You can specify both.

You can define a result template at the time that you define the result. See “Define a Result Template for a Result” on page 152.

9. If you selected a result template, click Show Assignments.

Page 146: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

6 Alerting Users to Results

Steps to Define Results, Result Actions, and Alerts

146 Infogix, Inc.

10. Follow the online help to assign data names to the group names and the result template fields to the control fields or the match set fields.

By default, the system reports details included in the result template to users when a result occurs. If the names match, the system indicates that the assignment is automatic.

11. Click OK to save the settings and exit the New Result window.

12. On the Validate tab, apply the newly defined result.

13. Add more results for use with the current validation rule set, if needed. When you are through, click OK to return to the Validate tab for the control point or to the Tasks tab for a Reconciliation control point.

To assign an alternate value for a result, such as a derived value, assign the value on the Results tab.

Define a Result from the Results Tab

You can set up a result from the Validate tab and then access the Results tab to assign alternate values, such as a derived field for the result. The instructions below set up the result and assign its values from the Results tab.

1. Access the Results tab from one of the following paths:

RulesControlsControl EntityControl PointValidate tabManage Validation Rules SetResults tab

RulesControlsControl EntityReconciliation Control PointTasks tabTaskResults tab

Page 147: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Alerting Users to Results 6

Steps to Define Results, Result Actions, and Alerts

147Infogix Assure Controls Design Guide

2. Click New Result.

The system displays the New Result window.

3. Specify a descriptive name for the result.

4. Optionally, specify a return code.

The return code is a numeric code between 0 and 255. The system passes the code to users and to other applications or job schedulers when the result occurs. See “Results” on page 140 for more information.

5. Optionally, select a result template.

You must specify either a return code or a result template. You can specify both.

You can define a result template at the time that you define the result. See “Define a Result Template for a Result” on page 152.

6. If you selected a result template, click Show Assignments.

Page 148: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

6 Alerting Users to Results

Steps to Define Results, Result Actions, and Alerts

148 Infogix, Inc.

7. Follow the online help to assign data names to the group names and the result template fields to the control fields or the match set fields.

By default, the system reports details included in the result template to users when a result occurs. If the names match, the system indicates that the assignment is automatic.

8. Click OK to save the settings and exit the New Result window.

9. On the Results tab, look for the name of a group of control data or match set data beneath the result name. Expand the display to see all available fields.

10. Select any field and use the Add Field, Add Function, Add Operation, and Add Literal buttons to assign alternate values.

11. When you complete the assignment of values on the Results tab, click OK to return to the Validate tab for the control point or to the Tasks tab for a Reconciliation control point.

Page 149: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Alerting Users to Results 6

Steps to Define Results, Result Actions, and Alerts

149Infogix Assure Controls Design Guide

Assign Results to Validation RulesYou can assign existing results to validation checks, to the overall outcome of these checks, or to reconciliation task outcomes. The instructions below apply a result to a validation check.

1. Access the Validate tab from one of the following paths: RulesControlsControl EntityControl PointValidate tabManage Validation Rules Set

RulesControlsControl EntityReconciliation Control PointTasks tabTaskValidate tab

2. Select an existing validation check on the Validate tab or create a new one.

3. Select the rightmost field of the validation check.

4. Click Add Result and select the result to use in the bottom pane.

The list displays previously defined results.

5. Click Apply.

The system displays the applied result to the right of the validation check.

Page 150: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

6 Alerting Users to Results

Steps to Define Results, Result Actions, and Alerts

150 Infogix, Inc.

6. To return a result based on the cumulative outcome of a validation rule set, locate the when passed, when failed, or when complete outcome for which to assign the result.

Beneath the outcome, click the appropriate rule.

7. In the bottom pane, apply Result for the rule type.

8. Click Add Result and select the result to use from the list in the bottom pane.

Page 151: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Alerting Users to Results 6

Steps to Define Results, Result Actions, and Alerts

151Infogix Assure Controls Design Guide

9. Click Apply.

The system displays the result for the outcome that you selected in the top pane.

10. Repeat the instructions as many times as necessary.

You can assign results for all outcomes of the validation rule sets, if desired.

11. When you are done, click OK and then click Save.

Define a Result TemplateYou can define a result template at the time that you define a result for a validation rule set or a reconciliation task rule. When you choose this option, the system displays the current data names and fields and you can automatically assign these to result template groups and fields. You can also define a result template from the Rules menu. See “Define a Result Template for a Result” on page 152 or “Define a Result Template from the Rules Menu” on page 155.

Page 152: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

6 Alerting Users to Results

Steps to Define Results, Result Actions, and Alerts

152 Infogix, Inc.

Define a Result Template for a Result

These steps describe how to define a result template at the time that you define a new result.

1. At the time that you select a result template for the result, click New Result Template on the Select Result Template window.

The system displays the New Result Template window. For instructions to define a result, see “Set Up Results” on page 143.

To create a result template similar to an existing template, select the result template and click Duplicate.

2. Define the following details for the result template:

a. Specify a name.

b. Indicate the severity level to report.

c. Specify a subject line to deliver for alerts.

d. If the Security Profile field displays, assign a security profile of your choice or accept the system default. The security profile controls which users and groups can access the result template.

Page 153: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Alerting Users to Results 6

Steps to Define Results, Result Actions, and Alerts

153Infogix Assure Controls Design Guide

3. Click Edit Groups & Fields.

The system displays the data names and fields for the current control entity or the current match set.

4. Select the check box next to the Data Names and Fields heading to create groups and fields for all data names and field names, or select only those fields to include.

Hint: Include all groups and fields and then clear the check box for those fields to exclude. The system creates a group if at least one field for a data name is selected.

Page 154: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

6 Alerting Users to Results

Steps to Define Results, Result Actions, and Alerts

154 Infogix, Inc.

5. Click Next.

The system displays the automatically-assigned groups and fields on the Groups & Fields for Result Template window.

6. Edit the groups and fields as needed.

Follow the online help to add or edit groups and fields.

7. After you have made any necessary changes to the result template groups and fields, click OK to return to the New Result Template window.

8. Optionally, click More and then select Edit Advanced Subject.

9. Within the subject line, include variable values for the fields that you defined:

a. Within the text for the subject line, position the cursor where you want to insert a field.

Page 155: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Alerting Users to Results 6

Steps to Define Results, Result Actions, and Alerts

155Infogix Assure Controls Design Guide

b. Select the group and field and click Insert.

Curly braces indicate where a field has been inserted. The braces will not appear in the alert or email subject line. The system substitutes the current value of the inserted fields in the actual subject line at runtime. You can also insert the result value or the result difference value for this result.

10. Save your new result template.

Define a Result Template from the Rules Menu

These steps describe how to define a result template from the Rules menu. You then use the template with alert actions and validation rules.

1. Select RulesResultsNew Result Template.

2. Define the following details for the result template:

a. Specify a name.

b. Indicate the severity level to report.

c. Specify a subject line to deliver for alerts.

Page 156: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

6 Alerting Users to Results

Steps to Define Results, Result Actions, and Alerts

156 Infogix, Inc.

d. If the Security Profile field displays, assign a security profile of your choice or accept the system default. The security profile controls which users and groups can access the result template.

3. Click Edit Groups & Fields.

4. Add groups for the result template.

a. Click Add Group.

b. Specify a name for the group.

c. Specify a user-friendly name to display to users when they view this result template.

d. Indicate that the group occurs once.

Note that only Infogix Assure default templates use the Multiple option.

e. Apply the information for each group and repeat step 4 for each group that you add.

Page 157: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Alerting Users to Results 6

Steps to Define Results, Result Actions, and Alerts

157Infogix Assure Controls Design Guide

5. Add fields within the groups.

Any fields you create here can be inserted in the Advanced Subject line for an alert.

a. Select the group to contain the new field.

b. Click Add Field.

c. Specify the exact name of a control field or ACR/Summary history item or enter a name if you don’t know the name.

You can also set up fields as placeholders to display derived fields or other data that is not part of the current control entity. You can assign values to any placeholder fields when you associate result templates with control point validations.

d. Specify a user-friendly name to display to users when they view this result template.

e. Indicate whether to display this field as text, a number, or a date.

f. Apply the information for each field and repeat step 5 for each field that you add.

6. After you add the groups and fields, click OK to return to the New Result Template window.

7. Optionally, click More and then select Edit Advanced Subject.

8. Within the subject line, include variable values for the fields that you defined:

a. Within the text for the subject line, position the cursor where you want to insert a field.

Page 158: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

6 Alerting Users to Results

Steps to Define Results, Result Actions, and Alerts

158 Infogix, Inc.

b. Select the group and field and click Insert.

Curly braces indicate where a field has been inserted. The braces will not appear in the alert or email subject line. The system substitutes the current value of the inserted fields in the actual subject line at runtime. You can also insert the result value or the result difference value for this result.

9. Save your new result template.

Define an Action Type for a Result ActionInfogix Assure includes a default result action that is installed during the installation process. You can assign an alert or log action to the default result action. The system applies the default rule to generated results that do not have an associated result action rule. The system also applies the default rule to results that have an associated result action rule that does not override the default result action.

These steps describe how to define a result action that alerts users with a notification in their inbox.

You can also enable action message logging. For more information, see the online help.

1. Select RulesResult ActionsNew Result Action.

Page 159: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Alerting Users to Results 6

Steps to Define Results, Result Actions, and Alerts

159Infogix Assure Controls Design Guide

2. Complete the Details tab. The Security Profile field displays only if you are a rules writer with security manager or security administrator authority..

3. Click the Apply To tab. Click the Add button to display the Add Control Point and/or Result Template window.

In this window, you will select both result templates and control points.

4. Apply the result action to a result template, a control point, or a combination of the two. To see and select control points, expand the control entities by clicking the adjacent folder icon.

Page 160: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

6 Alerting Users to Results

Steps to Define Results, Result Actions, and Alerts

160 Infogix, Inc.

5. Click OK to return to the Result Action pane.

6. Add as many result templates and/or control points as necessary by repeating steps 3 through 5.

7. Click the Actions tab and then click Add Alert to display the Add Alert window.

In this window, assign the recipients of the notifications.

Also assign an expiration timing, such as two days or two weeks. Once the specified time period has elapsed, the notification will be deleted from the users’ inboxes.

8. Click OK to return to the Actions tab.

9. Click Save.

Page 161: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

161Infogix Assure Controls Design Guide

7 Translation Tables

When you are applying controls to data from one or more input sources, you may also need to look up data in an additional source in order to perform validations. For example, if one input source uses two-letter abbreviations for states and another uses numbers, you might use a translation table to determine the number that corresponds to each two-letter abbreviation. This would enable you to match up data from the two sources.

Translation tables can use simple or complex rules. A simple translation table translates an input value to an output value. Complex tables use conditional translation logic to translate multiple input values into one or many output values.

Once set up, the same translation tables can be used by any control entity when you define your extraction rules. They will be available for selection from the Extract tab.

You can duplicate an existing translation table to create a new table.

Translation Table SourcesA translation can use an internal or external table as the source. Depending on the nature of the data that you are translating, an internal table can require a significant amount of maintenance. Some organizations reserve internal tables for data that never changes. For dynamic information, they rely on external tables. Your organization will have to determine which type of table best serves your needs.

Internal TableYou create and maintain an internal table within the Infogix Assure application. When you create an internal table, you define the columns in the table and then enter the rows of data. When you create the columns, they are listed in alphabetical order, rather than the order in which they were entered. When you add the rows of data, pay attention to the column names to make sure you put the data in the correct columns.

Page 162: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

7 Translation Tables

Translation Table Types

162 Infogix, Inc.

External TableAn external table resides in a location outside of the Infogix Assure application. If you have an existing table or database that contains the information you need, you can reference the existing source rather than recreating the information in an internal table. An update to data in an external table does not require that you modify the rules and definitions in the user interface.

External tables can be maintained in an ODBC/JDBC™-compliant relational database, or a file containing fixed, line sequential, or delimited records. External tables can be shared with other applications as a single source of translations.

For an external table, you must define a layout in the Infogix Assure application so data can be extracted.

Using Existing TablesIf you have existing tables or databases that contain the information you need, you can reference them instead of creating all new tables. Data in an external table can be updated as needed without modifying the rules and definitions in the user interface.

Translation Table TypesTranslation tables can be simple or complex.

Simple TableThe basic type of translation table is a simple one that translates an input value to an output value. To set up this type of table, you can enter the input and output data directly in the user interface or you can reference an external table.

TIP: When using Microsoft Excel® spreadsheets as an input or translation source in the Infogix Assure application, make sure that the formatting designations within Infogix Assure match those in the Microsoft Excel spreadsheet. Formatting mismatches between Infogix Assure and Microsoft Excel can yield unpredictable or erroneous results.

Page 163: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Translation Tables 7

Defining a Simple Table

163Infogix Assure Controls Design Guide

The sample table below performs this type of simple translation. The input is a state abbreviation and the output is a state code.

Complex TableComplex translation tables can convert multiple input values to one or many output values by using conditional translation logic. They also offer conditional translation based on values found in one or more input fields/columns. You can check multiple conditions to determine which values to output.

For each set of translations to perform, you can set up multiple conditions to check, and evaluate them in a specified sequence. For example, you can set up a complex translation table to look up a tax rate for a state and county combination.

Defining a Simple TableWhen you define a simple translation table, complete the information on the Details, Source, Parameters, and Data tabs.

The content of each tab is described in the following sections. The contents of the tabs are completed using the example of translating a state abbreviation to a state code. That is followed by an example of the translation table used in an extract rule.

State Abbreviation State Code

AK 1

AL 2

AR 3

AZ 4

CA 5

Page 164: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

7 Translation Tables

Defining a Simple Table

164 Infogix, Inc.

Details tabSelect RulesTranslationsNew Table. On the Details tab, specify a name for the table. If the Security Profile field displays, assign a security profile of your choice or accept the system default. The security profile controls which users and groups can access the table definition.

RulesTranslationsNew TableDetails tab

Source tabIf you are referencing an external table, select External as the table type on the Source tab. Then, click the adjacent icon to select the table’s layout from the layout list. The layout must be defined before you can select it. For more information on defining layouts, see the Infogix Assure Layouts Guide.

RulesTranslationsNew TableSource tab

To create a table directly in the user interface, select Internal.

When you create a layout, you typically specify a production path. If you need to override that path for testing purposes, select the Override Default Channel check box. Click Edit Override Parameters. In the pop-up window, click Edit Path/URL and specify the test path or URL to the input source.

Page 165: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Translation Tables 7

Defining a Simple Table

165Infogix Assure Controls Design Guide

When testing is complete and you are ready to move the control that utilizes the translation table into production, return to the Source tab and clear the check box.

Parameters tabSimple tables have one input parameter and one output parameter. These parameters are used when extracting, translating, and assigning data to control fields at a control point. You use the input parameter to pass in the input value to translate. The output parameter temporarily stores the output value resulting from translation. You can then assign this value to a control field.

Specify names for the table input and output parameters on the Parameters tab. To avoid confusion later when using a translation table, follow the recommended naming standard for the parameters and start the input name with in_ and the output name with out_.

RulesTranslationsNew TableParameters tab

Data tabThe Data tab lets you indicate which column of your table contains input values and which column contains output values. Column 1 is the input and Column 2 is the output.

If you are referencing an external table, select the input and output column names from the drop-down lists. These names come from the layout you selected on the Source tab.

Page 166: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

7 Translation Tables

Defining a Simple Table

166 Infogix, Inc.

If you are creating an internal table, enter names of your choice for both columns.

RulesTranslationsNew TableData tab

Then, click Add Rows. The Data window displays, where you can enter the data for your internal table. Notice that the input and output column names you just entered display in this window.

To start populating your table, enter a pair of input and output values in the lower pane and click Apply.

RulesTranslationsNew TableData tab Add Rows

Page 167: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Translation Tables 7

Defining a Simple Table

167Infogix Assure Controls Design Guide

To add more pairs of values, click New Row and enter the values in the lower pane and click Apply. When you are done entering the rows of data, click OK.

RulesTranslationsNew TableData tab Add Rows

Using Translated Values From a Simple TableOnce a translation table is defined, you can use it to translate or look up data. The procedure on the following pages explains how to use translations for control points that capture data. You set up these translations on the Capture/Extract tab of the control point.

Page 168: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

7 Translation Tables

Defining a Simple Table

168 Infogix, Inc.

Sample Equation

In the next section, you are creating an extract rule with a translation equation. The example below contains a translation equation example with descriptions of each element in the equation.

Adding a Translation to an Extract Rule

1. Select RulesControlsControl EntityControl PointCapture tabSource NameEditExtract tab.

2. In the appropriate section of the tab (such as When Layout Type/Select When), click New Extract Rule.

Page 169: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Translation Tables 7

Defining a Simple Table

169Infogix Assure Controls Design Guide

3. On the Extract Rule drop-down list, select Translate as the rule type to add, and click Apply.

A template for the translate rule displays in the upper pane. In this rule, you will select the translation table to use and specify a name for the translation result.

4. Click the From field. In the bottom pane, click the icon adjacent to the Translation Rule field to select the name of your translation table, and click Apply.

5. Click the Save Result As field. In the bottom pane, specify a Result Name for the translation result, and click Apply. This named result is available for selection in a later step, when you assign it to the output parameter.

In this example the result name is Temp.

6. Click the input parameter name below the Translate expression.

Page 170: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

7 Translation Tables

Defining a Simple Table

170 Infogix, Inc.

7. Use the Add Field, Add Function, Add Operation, and Add Literal buttons to map the input data to be translated to the input parameter.

a. Click Add Field. The lower pane displays available sources of data.

b. Click the name of your input data. In this example, the default data name, in, is selected. The Field list now shows the layout fields defined for your input data source.

c. Select the input field containing the input value to translate from the Field list. Click Apply to assign it to the input parameter of the table.

So far, you have identified the input data to be translated and specified a name for the translated output result. Next, you must assign the translated output to a control field so it will be available for future use when applying controls.

Assigning the Translated Value to a Control Field

These steps store the result of the translation in a control field, which you can then use in your validation rules.

1. Click New Extract Rule.

Page 171: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Translation Tables 7

Defining a Simple Table

171Infogix Assure Controls Design Guide

2. In the bottom pane, select Assignment as the rule type, and click Apply.

A template for an Assignment extract rule displays in the top pane.

3. Click the field next to Assignment. The bottom pane changes to show available control fields. In this pane, you can select the control field where you want to store the translated data.

4. Select the control field where you want to place the translated value and click Apply.

5. Click the next field, which already contains “in.” for input. The lower pane displays available sources of data.

6. Select the translation result name from the Data Name list. Then, select the translation table output parameter from the Field list and click Apply to assign it. In this example, the data name Temp was defined in the translate rule created in step 5.

Page 172: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

7 Translation Tables

Defining a Complex Table

172 Infogix, Inc.

Your completed translate and assignment rules will appear in the top pane.

Defining a Complex TableWhen you define a complex translation table, complete the information on the Details, Source, Parameters, Data, and Translations tabs. The content of each tab is described in the following sections.

The contents of the tabs are completed using the example of a complex translation table used to find the tax rate for a state and county combination. That is followed by an example of the translation table used in an extract rule.

Details tabSelect RulesTranslationsNew Complex Table. On the Details tab, specify a name for your table. If the Security Profile field displays, assign a security profile of your choice or accept the system default. The security profile controls which users and groups can access the table definitions.

When you create a complex table, you need to specify whether the table will use an embedded database or a dynamic query in memory.

RulesTranslationsNew Complex TableDetails tab

Page 173: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Translation Tables 7

Defining a Complex Table

173Infogix Assure Controls Design Guide

If you are setting up an internal table directly in the user interface, select the Embedded Database option. You will enter the data for the table on the Data tab and it will become part of your rules.

If you are referencing an external table in a database, select Embedded Database to query the database as you are setting up your rules. The data brought back from the database query will become part of your rules and will not change, even if the content of the external database changes later.

If you prefer to query an external database at runtime, select the Dynamic Query in Memory option instead. This enables your controls to always reference the latest version of the table.

Source tabIf you are using an external table, select External as the table type on the Source tab. Then, click the icon adjacent to Source Layout to select the table’s layout from the layout list. The layout must be defined before you can select it. For more information on defining layouts, see the Infogix Assure Layouts Guide.

When you create a layout, you typically specify a production path. If you need to override that path for testing purposes, select the Override Default Channel check box. Click Edit Override Parameters. In the pop-up window, click Edit Path/URL and specify the test path or URL to the input source. When testing is complete and you are ready to move the control that utilizes the translation table into production, return to the Source tab and clear the check box.

If you are creating a table directly in the user interface, select Internal as the table type.

RulesTranslationsNew TableSource tab

Parameters tabComplex tables can have multiple input and output parameters. You use the input parameters to pass in the input values to translate. The output parameters temporarily store the output values resulting from translation.

Page 174: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

7 Translation Tables

Defining a Complex Table

174 Infogix, Inc.

If you are setting up an external table, give the input parameters the same names that the SQL query uses. Verify the name of the table layout selected on the Source tab. To see the SQL query, click RulesLayouts, select the layout, and view the query on the layout’s SQL Query tab.

For an internal table, specify names for the input and output parameters on the Parameters tab. In this example, there are two input parameters: a county and a state. The output parameter is the sales tax rate for that county/state combination.

To avoid confusion later when using a translation table, follow the recommended naming standard for the parameters and start the input name with in_ and the output name with out_.

RulesTranslationsNew Complex TableParameters tab

Data tabThe Data tab lets you name or select the table columns needed for translating input values to output values.

If you are referencing an external table, click Add Column and select a column names from the drop-down lists. These names come from the layout you selected on the Source tab.

Page 175: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Translation Tables 7

Defining a Complex Table

175Infogix Assure Controls Design Guide

If you are creating an internal table, click Add Column and enter a name of your choice for every input and output column you will need. In this example, the internal table has three columns: County, State, and TaxRate.

RulesTranslationsNew Complex TableData tab

To start populating your table, click Add Rows. The Data window displays, where you can enter the data for your internal table. Notice that the column names you just entered display in this window.

RulesTranslationsNew Complex TableData tab Add Rows

Page 176: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

7 Translation Tables

Defining a Complex Table

176 Infogix, Inc.

To start populating your table, enter a value for each column in the lower pane and click Apply. Then, click New Row to enter another row of data in the table, and click Apply.

Translations tabComplex translations require a few more steps to set up than simple translations. When you set up the table itself, there is an additional Translations tab to complete. When you set up extract rules, you may need to assign input data to multiple input and output parameters. This tab is where you set up translation rules for using the table.

RulesTranslationsNew Complex TableTranslations tab

Translation rules perform conditional translation based on values found in one or more input fields and columns. Conditional translations assign translation outputs when specified conditions are met. The following describes a possible conditional translation:

When a condition is met,

Assign outputs

Otherwise, perform the next condition and if met,

Assign outputs

Otherwise, when (nothing matches)

Assign outputs

Page 177: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Translation Tables 7

Defining a Complex Table

177Infogix Assure Controls Design Guide

The steps that follow describe how to set up the Translations tab for a sales tax lookup table. The table contains three columns: County, State, and Tax Rate. The name of a county and state are input in order to look up the sales tax rate for that county/state combination. The tax rate for the selected county and state is the output/translated value.

1. On the Translations tab, click Add. The Translations window displays where you add condition rules.

2. In the lower pane of the window, specify a descriptive name for the translation rule you are creating. Click Apply.

RulesTranslationsNew Complex TableTranslations tabAdd

3. Use the Add Input, Add Column, Add Operation, and Add Literal buttons as needed to create a conditional translation rule. In the example below, the rule says to perform translation when a table row is found where the County column contains the same value as the in_County input parameter AND the State column contains the same value as the in_State input parameter.

Hint: Use the Add Operation button to add “and” and parentheses to this rule.

4. Specify the translation to apply when the condition stated by the conditional rule is met. Click the arrowhead next to Then Translate and click New Translate Rule.

Page 178: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

7 Translation Tables

Defining a Complex Table

178 Infogix, Inc.

5. Select the output parameter from the list that displays in the bottom pane and click Apply. This output parameter will contain the translation result.

6. Click Add Column and select the table column containing the output value. In this example, the TaxRate column contains the output value. Recall that the purpose of the table is to look up the tax rate associated with the state and county in the other two columns of the same table row.

7. Click Apply. The completed conditional rule and the actual translation to perform appear in the top pane.

Using Translated Values From a Complex TableThe example that follows describes how to set up and use a sales tax lookup table. The table contains three columns: County, State, and Tax Rate. The name of a county and state are input in order to look up the sales tax rate for that county/state combination. The tax rate for the selected county and state is the output/translated value.

You can refer to an example of a translation equation with descriptions of each element in the equation on page 168.

Adding a Translation to an Extract Rule

1. Select RulesControlsControl EntityControl PointCapture tabSource NameExtract tab.

2. Click New Extract Rule in the section of the tab where you want to add the translate rule.

3. Select Translate as the type of rule to create.

Page 179: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Translation Tables 7

Defining a Complex Table

179Infogix Assure Controls Design Guide

4. Specify the translation table to use and a name for the translated output result. In this example, the name of the table is TaxRateLookupTable and the result name is TEMP.

5. The names of the input parameters defined for the translation table automatically appear as part of the translate rule. Click the first parameter.

6. Click Add Field to assign input data to the first input parameter. The bottom pane displays available sources of data. Click the name of your input data. In this example, input is selected. The Field list shows the fields defined for that input data source.

7. Select the input field containing the data you want to assign to the first input parameter. Click Apply.

8. Specify which input fields to use to populate any other input parameters listed for the translation table.

Page 180: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

7 Translation Tables

Defining a Complex Table

180 Infogix, Inc.

So far, you have identified the input data to translate and specified a name for the translated output result. Next, you must assign the translated output to a control field so it will be available for future use when applying controls.

Assigning the Translated Value to a Control Field

These steps store the result of the translation in a control field, which you can then use in your validation rules.

1. Beneath the Translate rule you just defined, click New Extract Rule.

2. Select Assignment as the rule type, then click Apply.

3. Click the field next to Assignment. The bottom pane changes to show available control fields. In this pane, you can select the control field where you want to store the translated data.

4. Select the control field and click Apply. In this example, we want to store the lookup result in the TAX_RATE field.

5. Click the next field, which already contains “input.” The bottom pane displays data sources for the current control point.

Page 181: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Translation Tables 7

Defining a Complex Table

181Infogix Assure Controls Design Guide

6. Select the translation result name from the Data Name list. Then, select the translation table output parameter from the Field list and click Apply. In this example, the data name is TEMP and the field name is out_TaxRate.

Your completed translate and assignment rules will appear in the upper pane. The example below displays three extract rules.

Note: If you are using Automatic Multi Instance Identity Management for your capture source, you must assign values to identify control fields first. When creating extract rules, the ID control fields must be listed first unless one or more translated outputs are assigned to the ID control fields.

Page 182: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

7 Translation Tables

Defining a Complex Table

182 Infogix, Inc.

Page 183: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

183Infogix Assure Controls Design Guide

8 Calendars

Calendars enable you to schedule control point execution and define time periods for applying Tracking controls. There are two types of calendars:

Schedule calendars specify when to execute control points.

Duration calendars specify when to apply Tracking controls. For example, you could include weekdays but not weekends and holidays, or exclude one-time or recurring system down times. You can also use duration calendars to exclude days or time spans from schedule calendars and to specify days or time periods during which the action will execute.

Once defined, schedule calendars can be referenced by any control point.

A security profile is associated with a calendar. The system displays the Security Profile field for persons in a Security Manager or Security Admin role. You must be an Administrator to create a calendar. The default security profile is associated with a new calendar, unless you are in a role that allows you to select a different profile.

Based on the security profile permissions associated with the calendar, you can edit (change and delete) and view calendars.

To create a calendar, select RulesCalendarsNew Calendar. Then select the type of calendar to create. Use the context Help for assistance with any field.

RulesCalendarsNew Calendar Schedule Calendar

Click Edit Events to set up dates and time spans on the calendar.

Page 184: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

8 Calendars

Default Schedule Calendars

184 Infogix, Inc.

Default Schedule CalendarsInfogix Assure includes the following default schedule calendars:

Infogix Action Rule Processing Schedule

Infogix Delete Alerts Schedule

Infogix Apply Retention Policy Schedule

Infogix License Check Schedule

Be sure that you understand the impact on your system if you edit a default schedule calendar.

Infogix Action Rule Processing ScheduleThe default Infogix Action Rule Processing Schedule is a specialized schedule calendar that regularly checks for result action rules. The result action rule schedule specifies when and how often to send email notifications to users alerting them to control processing results.

Result action rule processing typically runs regularly throughout every processing day.

RulesCalendarsInfogix Action Rule Processing ScheduleEdit EventsEvent

Infogix Delete Alerts ScheduleThe Infogix Delete Alerts Schedule deletes expired alerts based on your specifications. Alert deletion typically runs once a day when the system load is low.

Page 185: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Calendars 8

Default Schedule Calendars

185Infogix Assure Controls Design Guide

Infogix Apply Retention Policy ScheduleThe Infogix Apply Retention Policy Schedule automatically applies retention processing based on your specifications. Typically, retention processing runs once a day when the system load is low.

Infogix License Check ScheduleThe Infogix License Check Schedule specifies how often to check for upcoming license expirations and notify specified users. Typically, license checking occurs once a week on Wednesday at 8 am and users receive weekly notifications beginning 90 days prior to license expiration. See the Licensing help topic for more information.

Page 186: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

8 Calendars

Default Schedule Calendars

186 Infogix, Inc.

Page 187: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

187Infogix Assure Controls Design Guide

9 Reporting

This chapter provides a summary of the types of reports that are available for Infogix Assure.

Access to reports and control data is controlled by the security administrator. If you generate a report, only those who have permission to view the report can access it.

For information about controlling access to reports, see the Infogix Assure Security Administrator’s Guide.

For information about viewing the reports, see the Getting Started for Business Analysts.

Types of ReportsThe following types of reports are available depending on your permissions:

Audit History Report—provides a system-wide view of change events. This report is available only to the Internal Auditor and Superuser groups.

Control Report—summarizes the results of a control point run for a single capture, multiple capture, balance, or scan control point.

Match Set Audit Report—provides a report of match set outputs from a reconciliation control point task to verify results during reconciliation rules development and for long term audit archival.

Recap Report—lists instances validated by a control point run, with counts of results by severity. The report also provides a link to the associated Control Report for each instance, if one was produced. The report is available for multiple capture and scan control points.

Reconciliation Task Report—summarizes reconciliation results for match sets validated at the current reconciliation control point.

User Report—lists instances validated, customized with optional details such as field values, labels, counts, and totals. The report can be sorted by one or more fields of interest and is available for multiple capture and scan control points.

Definition Report—displays the rules that are defined for a control entity, control point, tracking rule, layout, result template, translation, calendar, or result action.

Page 188: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

9 Reporting

Types of Reports

188 Infogix, Inc.

Referenced By Report—lists other control entities, control points, and validation actions that depend on the current control entity or control entities and result actions that use result templates.

References Report—lists the dependencies of a control entity, layout, translation, or calendar.

Result Catalog Report—lists the control point run results for the selected result catalog.

Security Profile Report—Lists the permissions and users or groups that are assigned to a security profile. Two versions of the report exist: a Security Profile Permissions Report and a Security Profile User Report. These reports are available to a Superuser or Security Administrator.

Control Reports, Match Set Audit Reports, Recap Reports, Reconciliation Task Reports, and User Reports require user action to set up or generate. Definition Reports, Referenced By Reports, References Reports, Result Catalog Reports, and Audit History Reports are readily available for a selected item.

To access the Definition Reports, Referenced By Reports, and References Reports, select a control entity or control point and then click More and select the desired report.

To access the Result Catalog Report, click ResultsBy Control Point and select a result catalog in the top pane. In the bottom pane, click Generate and select whether to view the report on screen or print it.

Page 189: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Reporting 9

Formatting Reports

189Infogix Assure Controls Design Guide

Control Reports, Match Set Audit Reports, Recap Reports, Reconciliation Task Reports, and User Reports are described in more detail in this chapter. The table below shows which of these reports are available by control entity and control point type.

Formatting ReportsControl Reports, Match Set Audit Reports, User Reports, and Reconciliation Task Reports can be customized with report titles and column formatting. When you format one of the reports, you can use a control field’s presentation attributes.

Setting Presentation Attributes for Control FieldsWhen control fields are defined for a control entity, default presentation attributes can be set to include a column label, column width, alignment, and padding. The default presentation attributes for the control field can be used when formatting a report or can be overridden with other values. Presentation fields are not available for Summary control entities.

Control Entity

Control PointControl Report

Match Set Audit

Report

Recap and User

Reports

Recon Task Report

Summary Balancing X

Timeliness

Detail Single Capture X

Multiple Capture X X

Scan X X

Reconciliation X X X

Timeliness

Match Data Multiple Capture X X

Page 190: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

9 Reporting

Formatting Reports

190 Infogix, Inc.

The example below contains the default presentation attributes for a control field. Check the Define Presentation Attributes check box to edit the values.

RulesControlsControl EntityControl Point Fields TabAdd

Selecting Presentation Attributes on ReportsIf a control field has presentation attributes defined and selected, the attributes are used for that field in the various reports. When you format a report, you can choose to use the default presentation attributes or you can choose to set different values for that report.

Page 191: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Reporting 9

Control Reports

191Infogix Assure Controls Design Guide

In the Define User Report window below, the presentation attributes for the selected fields will be used in the User Report.

RulesControlsControl EntityControl PointCapture TabMoreDefine User Report

To change the default presentation attributes, clear the Use Default check box and change the label, alignment, size, and padding as necessary. Check the Characters Remaining tally for the remaining number of characters available. A negative number indicates that the report is too wide for the selected paper size. The size and padding or the paper size can be adjusted to accommodate the report.

If no default presentation settings exist for the control field, the system disables the check box.

Control ReportsThe Control Report summarizes validation information and results from a Detail, Summary, and Match Data control point execution. It includes the following information:

Control fields at this control point

Derived fields used in control processing

Validation checks applied and their outcomes

Notifications and other actions performed based on control results

Page 192: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

9 Reporting

Control Reports

192 Infogix, Inc.

The application stores Control Reports in the file system on the server rather than in the database. Work with your System Administrator to encrypt the reports stored on the server or to store the reports in the database. For more information about file storage options, see the Infogix Assure System Administrator’s Guide.

The following is an example of a Control Report.

InboxResults CatalogControl Report

ResultsBy Control PointResult CatalogReports tabReport titleView Report

Page 193: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Reporting 9

Control Reports

193Infogix Assure Controls Design Guide

Specifying Control ReportsTo specify that a Control Report should be generated each time the control point executes, select RulesControls Control Entity Control Point Details tab More Manage Actions. On the Process tab, set the Generate Control Report option to Yes.

RulesControlsControl EntityControl PointDetails tabMore Manage Actions

To override the Control Report option selected on the control point Details tab, select the Generate Report or Skip Report option when a validation rule set passes, fails, or completes.

RulesControlsControl EntityControl PointValidate tabSelect Validation Rule Set When Passed/Failed/Complete Rule

On the Details tab for Multiple Capture and Scan control points, you can set the limit for the number of control reports to allow for a control point run. You can override the limits at run time. See “Testing Using the User Interface” on page 15.

Page 194: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

9 Reporting

Match Set Audit Reports

194 Infogix, Inc.

Accessing a Control ReportTo access a Control Report, select Results By Control Point Result Catalog Reports tab Report Title.

ResultsBy Control PointResult CatalogReports tab

Match Set Audit ReportsA Match Set Audit Report contains the match set output from a reconciliation control point task. The report contains each record from the left source that was successfully matched to a record from the right source. The report provides an audit trail of transactions that were matched by the system. Because the volume of matched transactions can be quite large, the report displays in a simple text format.

The system stores Match Set Audit Reports in the file system on the server rather than in the database. Work with your System Administrator to encrypt the reports stored on the server or to store the reports in the database. For more information about file storage options, see the Infogix Assure System Administrator’s Guide.

Page 195: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Reporting 9

Match Set Audit Reports

195Infogix Assure Controls Design Guide

Specifying a Match Set Audit ReportTo set up a Match Set Audit Report to generate each time a reconciliation control point task executes, click RulesControlsControl EntityReconciliation Control PointTasks tabAdd. On the Matches tab in the bottom pane, select the Generate Match Set Audit Report option.

RulesControlsControl EntityReconciliation Control PointTask tabEdit

To specify the contents of the Match Set Audit Report, click MoreManage Match Set Audit Report.

RulesControlsControl EntityReconciliation Control PointTask tabName of taskEditMatches tabMoreManage Match Set Audit Report

Match Set Audit Report Options

This section describes some basic report options. See the context Help for more information about individual options.

Page 196: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

9 Reporting

Recap Reports

196 Infogix, Inc.

Report Name—The system inserts the parameter {TASK} in the field. You can also include characters and runtime fields within curly brackets. For example, a report name that includes the task and runtime field ClientX is written: {TASK} for {runtime.ClientX}.

Report Titles—You can specify up to two lines for a report title to help your users understand the purpose of the report. You can also include runtime fields within curly brackets. For example, a report name that includes the runtime field ClientX is written: Report for {runtime.ClientX}.

Group By—You can specify a left/right source from the drop-down list to group the report information.

Accessing a Match Set Audit ReportTo view whether a Match Set Audit Report exists, select ResultsBy Control PointResult Catalog. Select the Reports tab to view existing Match Set Audit reports. You can view or print the report from outside Assure. For information on where Assure reports are stored, refer to the System Administrator’s Guide.

Recap ReportsA Recap Report lists instances processed by a scan or multiple capture control point run. For each instance validated, the report provides counts of results by severity and a link to the Control Report, if one was produced. The report can include all control entity instances processed, or only those that produced results. The report is useful for control points that process multiple instances, so that users do not have to review multiple Control Reports to find out processing results.

The report includes the names of the control entity and the control point, the date and time of the control point run, the cycle and run numbers, return code, and total instances validated.

Page 197: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Reporting 9

Recap Reports

197Infogix Assure Controls Design Guide

Specifying a Recap ReportTo set up a Recap Report to generate each time a control point executes, click MoreDefine Recap Report on any of the tabs for the control point. Specify Recap Report options in the Define Recap Report window.

RulesControlsDetail EntityMultiple Capture Control PointMoreDefine Recap Report

Recap Report Options

This section describes some basic report options. See the context Help for more information about individual options.

Report Name—The report name includes a parameter, {CP}, which inserts the name of the control point. To customize the Report Name, replace this parameter or include runtime fields and text. For runtime fields, insert the parameter {runtime.xxx} where xxx is the name of the runtime field. Define the runtime field before you run the control point.

Report Titles—Optionally, you can customize the Report Title Line 1 and 2 titles that appear in the report header. Like the Report Name, above, the title lines can include text as well as optional parameters for the name of the control point and for runtime fields. When you run the report, the title lines appear in the report header, for example, Month_End_Validations for Acme Company. The title lines can differ from the Report Name.

Report Instance For—Choose whether to report all control entity instances or only specific results. If you choose With Results, select the lowest severity level to report. The report displays instances of the selected severity level or greater. Choose None if you do not need the report.

Page 198: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

9 Reporting

User Reports

198 Infogix, Inc.

Generating the report can affect performance and increase database storage requirements. For information about instances, see “Instances of Control Entities” on page 94.

Accessing a Recap ReportTo access a Recap Report, select ResultsBy Control PointResult CatalogReports tabRecap Report. This displays your summary.

ResultsBy Control PointResult CatalogReports tabRecap ReportView Report

To access the Control Report from the Recap Report, click the View link in the Report column. The View link displays if the option to generate a Control Report is set to Yes for the control point. For more information, see “Setting Up Control Point Actions” on page 29.

You can generate the report in PDF, formatted text, or CSV format. The generated report reflects the current filters.

User ReportsThe User Report is a customizable listing of instances validated by multiple capture and scan control points. You can sort the report by field values and result severity, specify key breaks, and display field and result totals and counts.

Page 199: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Reporting 9

User Reports

199Infogix Assure Controls Design Guide

The User Report can also provide detailed supporting information, such as specified control field values, for all instances or only instances that produce results of given severities. In addition, the report can include use- specified validation fields with values that vary based on validation outcomes.

Specifying a User ReportTo set up a User Report to generate each time a control point executes, click MoreDefine User Report on any of the tabs for the control point. Specify User Report options in the Define User Report window.

RulesControlsDetail EntityMultiple Capture Control PointMoreDefine User Report

User Report Options

This section describes some basic report options. See the context Help for more information about individual options.

Report Name—The report name includes a parameter, {CP}, which inserts the name of the control point. To customize the Report Name, replace this parameter or include runtime fields and text. For runtime fields, insert the parameter {runtime.xxx} where xxx is the name of the runtime field. Define the runtime field before you run the control point.

Report Contents—Choose Summary Only to list subtotals and counts for specified control fields, validation fields, and result types. Choose Detail and Summary to list instances validated, and supporting control data, validation fields, validation results, subtotals, and counts.

Page 200: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

9 Reporting

User Reports

200 Infogix, Inc.

Report Titles—Optionally, you can customize the Report Title Line 1 and 2 titles that appear in the report header. Like the Report Name, above, the title lines can include text as well as optional parameters for the name of the control point and for runtime fields. When you run the report, the title lines appear in the report header, for example, Month_End_Validations for Acme Company. The title lines can differ from the Report Name.

Report Instance For—Choose whether to report all control entity instances or only specific results. If you choose With Results, select the lowest severity level to report. The report displays instances of the selected severity level or greater. Choose None if you do not need the report. Generating the report can affect performance and increase database storage requirements. For information about instances, see “Instances of Control Entities” on page 94.

Field—To report summary or detail level information for control fields, click Add Field and complete the properties in the bottom pane. Select the Key Break option for a field if you want to sort and display instance data by each unique value of that field.

Validation Field—To report summary or detail level information for validation fields, click Add Validation Field and complete the properties in the bottom pane. Validation fields are user specified fields that appear on the User Report and contain values that vary based on validation outcomes.

After you define validation fields on the User Report, assign values to them on the Validate tab for the current control point. Add When Passed/Failed/Complete rules to validation rule sets and select User Report Validation Field as the rule type.

Label—To specify labels for counts and sums, click Add Label and complete the properties in the bottom pane.

Result Count—To report validation results by instance and totals for numeric fields by result severity, click Add Result Count and complete the properties in the bottom pane.

To resequence the columns on the report, highlight a column and click the Move up or down button. To delete a column, highlight the column and click Remove.

Page 201: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Reporting 9

Reconciliation Task Reports

201Infogix Assure Controls Design Guide

Accessing a User ReportTo access a User Report, select ResultsBy Control PointResult CatalogReports tabUser Report. This displays your report.

ResultsBy Control PointResult CatalogReports tabUser ReportView Report

You can generate the report in PDF, formatted text, or CSV format. The generated report reflects the current filters.

Reconciliation Task ReportsThe Reconciliation Task Report summarizes the results of reconciliations. The Reconciliation Summary section of the report shows total result counts, by severity, for the entire reconciliation run.

Page 202: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

9 Reporting

Reconciliation Task Reports

202 Infogix, Inc.

The Match Set Details section of the report shows the data that was matched up from the left and right inputs to the reconciliation. See “One to Many Matching” on page 47 for more information.

ResultsBy Control PointResult CatalogReports tabReconciliation Task Report titleView Report

Specifying a Reconciliation Task ReportTo specify that a Reconciliation Task Report should be generated, you must select one of the Reconciliation Task Report options on the Matches tab when defining the tasks for the Reconciliation control point. See “One to Many Matching” on page 47 for more information.

Page 203: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Reporting 9

Reconciliation Task Reports

203Infogix Assure Controls Design Guide

To specify the layout of the report, click More and select Manage Reconciliation Task Report.

RulesControlsDetail Control EntityReconciliation control pointTasks tabName of taskEdit MoreManage Reconciliation Task Report

Reconciliation Task Report Options

This section describes some basic report options. See the context Help for more information about individual options.

Report Name—The system inserts the parameter {TASK} in the field. You can also include characters and runtime fields within curly brackets. For example, a report name that includes the task and runtime field ClientX is written: {TASK} for {runtime.ClientX}.

Page 204: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

9 Reporting

Reconciliation Task Reports

204 Infogix, Inc.

Report Titles—You can specify up to two lines for a report title to help your users understand the purpose of the report. You can also include runtime fields within curly brackets. For example, a report name that includes the runtime field ClientX is written: Report for {runtime.ClientX}.

Accessing a Reconciliation Task ReportTo view a Reconciliation Task Report, select ResultsBy Control Point Result CatalogReports tabReconciliation.

Page 205: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

205Infogix Assure Controls Design Guide

10 Cycle Processing

This chapter discusses the use of cycles within the product and how to use cycle-related features of relative cycle and variable cycle data retrieval.

Relative cycle and variable cycle options control the selection of history data from previous executions of control points. Those control points can be in the current control entity being processed or another.

These concepts and options are discussed in the following sections:

About cycles and cycle processing Relative cycle processing Variable cycle processing

About Cycles and Cycle ProcessingA cycle is a recurring sequence of control point execution. Each occurrence is assigned a unique cycle number.

A cycle number is a date or sequence number plus a run number. The run number helps you tell apart multiple control runs that occur within the same cycle, such as two runs on the same date.

How to Specify Cycle ProcessingYou must specify a cycle for Summary control entities. Cycles are optional for Detail entities. You can specify how the system should determine the cycle on the control entity Details tab:

RulesControlsControl EntityDetails tab

Page 206: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

10 Cycle Processing

Relative Cycle Processing

206 Infogix, Inc.

You can select any of the following ways for the system to assign a cycle number:

None—For Detail entities, cycles are optional. If a cycle will help you distinguish control entity instances, choose one of the cycle assignment options below. Otherwise, choose None and use identity control fields to distinguish control entities in the database and in results.

Current Date—Uses the current system date when the run occurs as the cycle number.

Extracted—Extracts a date from an input source, such as a date in a file.

Most Recent Cycle— Use this option to determine which cycle to use as the most recent cycle, if the current cycle is not found.

You also need to specify the run option:

One Run Per Cycle—Select this option if only one control run will occur per cycle, such as one run on any given day.

Multiple Runs Per Cycle—Select this option to have sequential run numbers assigned automatically or based on the next run number of this or another control entity. Select the control entity to reference with the drop-down list.

Most Recent Run—Select this option to use the same run number as the most recent run of another control entity (normally, the control entity specified for Cycle - Most Recent Run). Select the control entity to reference with the drop-down list.

Relative Cycle ProcessingRelative cycle processing allows your controls to retrieve data from previous cycles based on a comparison of the current cycle to previous cycles.

Page 207: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Cycle Processing 10

Relative Cycle Processing

207Infogix Assure Controls Design Guide

For example, perhaps you have a control point that executes daily and then a weekly control point that executes on Friday after all daily control points are complete. The weekly control point requires data from the daily control points.

The current cycle is always classified as 0, the previous cycle is -1, the one previous to that is -2, and so forth.

So, to retrieve a history value from a run four cycles in the past, you would choose a relative cycle of -4. For a control point running on Friday, the relative cycle for Thursday would be -1; for Wednesday, it would be - 2, as shown below.

You can specify a Cycle When clause to determine the relative cycle based on this selection criteria.

For example, you want the most recent processing information for all payroll information in the current instance. The cycle with the most recent payroll information for each employee varies. Some employees are paid weekly and others are paid bi-monthly. You can specify that you want the most recent data, that is, cycle -1, for each employee ID. Based on the employee ID, the system determines the most recent relative cycle that contains the data for each employee.

Daily - MondayDaily - Monday

Daily - TuesdayDaily - Tuesday

Daily - WednesdayDaily - Wednesday

Daily - ThursdayDaily - Thursday

Daily - FridayDaily - Friday

Weekly – FridayTotals the daily executions

M + T + W + TH + F

Weekly – FridayTotals the daily executions

M + T + W + TH + F

Weekly control point uses five relative cycles

Typical processing week

Friday daily control point execution must complete prior to Friday weekly control point execution

Daily Job - MondayDaily Job - Monday

Daily Job - TuesdayDaily Job - Tuesday

Daily Job - WednesdayDaily Job - Wednesday

Daily Job - ThursdayDaily Job - Thursday

Daily Job - FridayDaily Job - Friday

Relative Cycle Processing

0 (current)

-1

-2

-3

-4Relative Cycle

Page 208: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

10 Cycle Processing

Relative Cycle Processing

208 Infogix, Inc.

You can specify additional criteria to select the control data. For example, you can request the information for only those employees in a particular department. You can also include the Cycle When criteria to select the control data.

How to Specify Relative Cycle RetrievalTo specify relative cycle retrieval, select it on the Edit Cycle pane on the History tab:

RulesControlsControl EntityControl PointHistory tabAddSelection tab

The remaining relative cycle fields specify which data to retrieve.

Most Recent Cycle—This field specifies the cycle to use as the current cycle, if the current cycle is not found.

If you leave the Most Recent Cycle check box unchecked, the product retrieves history relative to the cycle/run of the current entity against which the rules are executing. If you select this check box, the system uses the most recent cycle that is less than the current cycle number as the zero (0) relative cycle.

Relative Cycle—Once you select Relative Cycle, you must also specify the relative cycle to retrieve in the Relative Cycle field.

The graphic below compares how these two options work when retrieving data when the current cycle is not found.

Daily Job - MondayDaily Job - Monday

Daily Job - TuesdayDaily Job - Tuesday

Daily Job - WednesdayDaily Job - Wednesday

Daily Job - ThursdayDaily Job - Thursday

Daily Job - FridayDaily Job - Friday

Relative cycle processing when the current cycle is not available

Friday weekly job uses relative cycle processing of -4

Statusof cycle

Use most recent cycle

Do not use most recent cycle

Available options for when the current cycle is not found

Wednesday is usedas cycle 0

Friday is usedas cycle 0

Weekly Job - FridayWeekly Job - Friday

Not available

Not available

Available

Available

Available

Page 209: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Cycle Processing 10

Variable Cycle Retrieval

209Infogix Assure Controls Design Guide

In the example, the Friday control point needs to retrieve from a relative cycle of -4, but Thursday’s and Friday’s cycles are not available. The most recent cycle setting determines which data will be retrieved. Without the most recent cycle selection, Friday’s cycle will be used regardless of the fact that the control point did not run.

Range—Retrieves data from a range of cycles.

Variable Cycle RetrievalVariable cycle ranges allow you to control the retrieval of history data based on the cycle of another control entity. This is unlike relative cycle processing, which relies exclusively upon the cycle of the control entity for which the control point is executing.

The purpose of variable cycle retrieval is to accommodate situations where the run date and time of other control points that provide the history data are different than usual.

For example, you might have a Balance control point that executes weekly using the history data from control points that execute daily:

Daily - MondayDaily - Monday

Daily - TuesdayDaily - Tuesday

Daily - WednesdayDaily - Wednesday

Daily - ThursdayDaily - Thursday

Daily - FridayDaily - Friday

Weekly – FridayTotals the daily values

M + T + W + TH + F

Weekly – FridayTotals the daily values

M + T + W + TH + F

Weekly job uses five relative cycles

Range: -5 to -1 (Last five days)

Typical processing week

-5

-4

-3

-2

-1

Friday daily control point must execute prior to Friday weekly control point

Relative Cycle Number for Daily Control Point

Page 210: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

10 Cycle Processing

Variable Cycle Retrieval

210 Infogix, Inc.

However, the daily job might not run every day—perhaps Thursday and Friday are holidays. In our example, if the “five relative cycles” were used for input to the weekly job, the job would use input data from Thursday and Friday of the prior week.

By using variable cycle retrieval, you could specify that only the daily job cycles that have run since the last time the weekly job ran will be picked up by the weekly job and used in balancing.

In this case, the weekly job provides the variable cycle reference for selecting the daily jobs.

Daily - MondayDaily - Monday

Daily - TuesdayDaily - Tuesday

Daily - WednesdayDaily - Wednesday

HolidayHoliday

HolidayHoliday

Weekly– FridayTotals the daily jobsM + T + W + TH + F

Weekly– FridayTotals the daily jobsM + T + W + TH + F

Weekly control point should use only Monday, Tuesday, and Wednesday in this situation

Processing week with holiday

Daily - ThursdayDaily - Thursday

Daily - FridayDaily - FridayWithout variable cycle processing, five relative cycles picks up Thursday and Friday from prior week

-5

-4

-3

-2

-1

Relative Cycle Number for Daily Control Point

Daily - MondayDaily - Monday

Daily - TuesdayDaily - Tuesday

Daily - WednesdayDaily - Wednesday

HolidayHoliday

HolidayHoliday

-3

-2

-1

-5

-4

Daily - ThursdayDaily - Thursday

Daily - FridayDaily - Friday

Relative Cycle Number for Daily Control Point

Weekly - FridayWeekly - Friday

Weekly - FridayWeekly - Friday

Relative Cycle Number for Weekly Control Point

-1

Requirements: Retrieve last five cycles of daily control point, but not if they are farther back than -1 of the weekly control point.

Cycle specifications for above:Cycle: Variable cycle Range: From -5 to -1Variable control entity: Weekly control point

Variable cycle: -1

Variable cyclerefers to the weekly controlpoint

Page 211: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Cycle Processing 10

Variable Cycle Retrieval

211Infogix Assure Controls Design Guide

How to Specify Variable Cycle RetrievalTo specify variable cycle retrieval, select Variable Cycle Range from the Cycle drop-down list when defining history for a control point.

RulesControlsControl EntityControl PointHistory tabAddSelection tab

Then specify the variable control entity and variable cycle.

Variable Control Entity—Determines which cycles to retrieve for the control entity specified on the control entity Details tab, based on which cycles are available for a second control entity. Specify the second control entity to reference when determining the cycles to retrieve.

Variable Cycle—Specifies which cycle to retrieve for the variable control entity in the selection list. Normally, for matching purposes, this will be the same as the Range To cycle.

Page 212: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

10 Cycle Processing

Variable Cycle Retrieval

212 Infogix, Inc.

Page 213: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

213Infogix Assure Controls Design Guide

11Function Reference

This chapter lists the functions available in the user interface. These functions are computer subroutines designed to accomplish specific tasks using your data as input.

Functions are available in the user interface when you build an expression.

Function ListingThis section lists and describes functions available in the product in alphabetical order.

abort_if

boolean abort_if ( boolean condition, text error_message )

Conditionally aborts control execution.

Arguments:

condition - The abort condition to be evaluated.error_message - The error message to be included in the thrown exception when abort condition is met.

Returns:

True if the abort condition is not met; otherwise throws an error that stops execution.

Example:

@abort_if( @delete( 'C:/killdir/mycename.mycpname' ), 'Abort signal detected')

abs

value abs ( value value )

Produces the absolute value of a numeric or big numeric value.

Arguments:

value - The value for which the absolute value is desired.

Returns:

The absolute value of the parameter.

Example:

@abs(current.SomeValue)

Page 214: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

11 Function Reference

Function Listing

214 Infogix, Inc.

amp

text amp ( )

Generate ampersand (&) character

Returns:

Text containing the ampersand character

Example:

'This'+@amp()+'that'

apost

text apost ( )

Generate apostrophe character

Returns:

Text containing the apostrophe character

Example:

'O'+@apost()+'Mally'

bk

text bk ( )

Generate backslash (\) character

Returns:

Text containing the backslash character

Example:

'some'+@bk()+'folder'

bk

text bk ( text following_text )

Generate backslash (\) character

Arguments:

following_text - Text value to append after the backslash

Returns:

Text containing the backslash character and following text

Example:

@t_matches(in.field, 'hello'+@bk('s+')+'world')

blank

text blank ( bigNumeric number_of_blanks )

Generates blank (' ') character(s).

Page 215: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Function Reference 11

Function Listing

215Infogix Assure Controls Design Guide

Arguments:

number_of_blanks - The number of blank characters to produce.

Returns:

Text of the specified number of blanks.

Example:

@blank(5) = ' '

blank

text blank ( )

Generates blank (' ') character(s).

Returns:

Text containing configured number of blanks (defaults to one).

Example:

@t_isblank( @blank() ) = true

boolvar

value boolvar ( boolean boolean_result )

Retrieves the variance value of any comparison (boolean) result value.

Arguments:

boolean_result - A boolean value produced from a comparison like a = b.

Returns:

The variance (a - b) if available, otherwise a null value.

Example:

@boolvar(someDerivedBoolean)

boolvar

value boolvar ( )

Retrieves the variance value of any comparison (boolean) result value.

Returns:

The variance of the most recent validation comparison if available, otherwise a null value.

Example:

@boolvar()

Page 216: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

11 Function Reference

Function Listing

216 Infogix, Inc.

cal_firstfrom

date cal_firstfrom ( text calendar, date startTime )

If the given date time value is included by the given calendar, return it, otherwise find the next start time in the calendar

Arguments:

calendar - The Day or Duration Calendar name to use for lookupstartTime - The start time

Returns:

The start time to use

Example:

@cal_firstfrom('ICING Work Hours', current.SLA_StartTime)

cal_fromtime

date cal_fromtime ( text calendar, date endTime, text duration )

Compute the start time given an end time and duration using a calendar

Arguments:

calendar - The Day or Duration Calendar nameendTime - The end timeduration - The duration specification in PnYnMnDTnHnMnS format

Returns:

The start time

Example:

@cal_fromtime('Work Hours', current.SLA_EndTime, 'P1D')

cal_included

boolean cal_included ( text calendar, date time )

Check if the given date time value is included by the given calendar

Arguments:

calendar - The name of calendartime - The time value

Returns:

A boolean value, true if included, false otherwise

Example:

@cal_included('ICING Work Hours', current.SLA_StartTime)

Page 217: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Function Reference 11

Function Listing

217Infogix Assure Controls Design Guide

cal_nextstart

date cal_nextstart ( text calendar, date startTime )

Return the next calendar event start time given the current time

Arguments:

calendar - The Day or Duration Calendar name to use for lookupstartTime - The current time

Returns:

The next calendar event start time

Example:

@cal_nextstart('ICING Work Hours', current.SLA_StartTime)

cal_timediff

bigNumeric cal_timediff ( text calendar, date fromTime, date toTime )

Computes the number of whole milliseconds between from and to using a calendar

Arguments:

calendar - Calendar namefromTime - from timetoTime - to time

Returns:

The whole number of milliseconds between from and to.

Example:

@cal_timediff('Work Hours Calendar', current.SLA_StartTime, current.SLA_EndTime)

cal_totime

date cal_totime ( text calendar, date startTime, text duration )

Compute the due time given a start time and duration using a calendar

Arguments:

calendar - The Day or Duration Calendar namestartTime - The start timeduration - The duration specification in PnYnMnDTnHnMnS format

Returns:

The due time

Page 218: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

11 Function Reference

Function Listing

218 Infogix, Inc.

Example:

@cal_totime('Work Hours', current.SLA_StartTime, 'P1D')

ckdigit

text ckdigit ( text identifier, text algorithm )

Computes a check digit for an identifier.

Arguments:

identifier - The identifier value to compute the check digit on. May include the check digit if identifier is fixed length.algorithm - The algorithm to use.

Returns:

The computed check digit or an error message beginning with '!ERR'.

Example:

@ckdigit('1234?678', 'CUSIP') = '!ERR02 - Invalid CUSIP character ? at position 5'

ckvalid

boolean ckvalid ( text value_to_validate, text algorithm )

Performs a validity check on an identifier that includes a check digit.

Arguments:

value_to_validate - The identifier value to be checked for validity.algorithm - The algorithm to use.

Returns:

True if the identifier is of a valid length, character composition, and has a valid check digit.

Example:

@ckvalid('hello world', 'CUSIP') = false

curr_decimals

bigNumeric curr_decimals ( text iso_4217_letter_code )

Returns the default number of decimal places (fractional digits) for a given ISO 4217 alphabetic currency code.

Arguments:

iso_4217_letter_code - The (alphabetic) ISO 4217 currency code.

Page 219: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Function Reference 11

Function Listing

219Infogix Assure Controls Design Guide

Returns:

The default number of decimal places, or a null number if the currency code is not recognized.

Example:

2 = @curr_decimals('USD')

cycle

numeric cycle ( )

Returns current cycle number.

Returns:

The current cycle number is returned.

Example:

@cycle()

datapath

text datapath ( object sublayout_instance )

Returns a dot-separated path to the location of the input object within the data.

Arguments:

sublayout_instance - A layout or sublayout instance data name or field.

Returns:

The dot-separated path to the data, or a null value if the instance data does not support a data path location.

Example:

'purchaseOrder.billto' = @datapath(input_address)

date

date date ( text text, numeric pos, numeric len, text format, text pattern )

Computes a DateValue from the text that contains the date value. With position and length specified, extracts a substring first for date computation. Formats can be one of those supported, and if 'user', pattern must also be supplied.

Page 220: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

11 Function Reference

Function Listing

220 Infogix, Inc.

Arguments:

text - Text value containing a datepos - A one-based subscript into the text field at which the date value is foundlen - A length of the substring within text containing the date valueformat - Format: One of: 'ISO8601', 'YrMon', 'User'pattern - Pattern: required when format is 'User', a Java SimpleDateFormat parse string

Returns:

Parsed date as a DateValue

Example:

@date(in.textField, 5, 10, 'User', 'MM-dd-yyyy')

date

date date ( text text, text format, text pattern )

Computes a DateValue from the text that contains the date value. With position and length specified, extracts a substring first for date computation. Formats can be one of those supported, and if 'user', pattern must also be supplied.

Arguments:

text - Text value containing a dateformat - Format: One of: 'ISO8601', 'YrMon', 'User'pattern - Pattern: required when format is 'User', a Java SimpleDateFormat parse string

Returns:

Parsed date as a DateValue

Example:

@date('10-22-1898', 'User', 'MM-dd-yyyy')

date

date date ( text text, text format )

Computes a DateValue from the text that contains the date value. With position and length specified, extracts a substring first for date computation. Formats can be one of those supported, and if 'user', pattern must also be supplied.

Arguments:

text - Text value containing a dateformat - Format: One of: 'ISO8601', 'YrMon', 'User'

Returns:

Parsed date as a DateValue

Page 221: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Function Reference 11

Function Listing

221Infogix Assure Controls Design Guide

Example:

@date('2006-01-01T08:00:00', 'ISO8601')

date_tz

date date_tz ( text input, text pattern, text zone )

Computes a date value in the local time zone from text that contains a date/time value in the specified time zone.

Arguments:

input - The value containing a date and time in the format specified by pattern. Numbers are converted to text as-is, and a date value converts to ISO8601 formatted text.pattern - A Java SimpleDateFormat pattern for the text, or 'ISO8601' for the system format.zone - A Java time zone ID corresponding to the text containing the date/time.

Returns:

A date value in the system's local time zone, or a null value if there was a parse error.

Example:

@date_tz(header.someDateTimeTEXT, 'ISO8601', 'America/Phoenix')

dateminus

date dateminus ( date date, text duration )

Computes a new date value by subtracting a duration from a date.

Arguments:

date - The date value to which the duration is to be applied.duration - A text duration specification in XML Schema format: PnYnMnDTnHnMnS.

Returns:

A new date value of the input date less the indicated duration.

Example:

current.lastWeek = @dateminus( @now(), 'P7D')

dateplus

date dateplus ( date date, text duration )

Computes a new date value by adding a duration to a date.

Page 222: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

11 Function Reference

Function Listing

222 Infogix, Inc.

Arguments:

date - The date value to which the duration is to be applied.duration - A text duration specification in XML Schema format: PnYnMnDTnHnMnS.

Returns:

A new date value of the input date plus the indicated duration.

Example:

current.nextWeek < @dateplus( @now(), 'P7D')

day_of_week

bigNumeric day_of_week ( date the_date )

Produces a numeric value (1-7) for the day of the week in a date value.

Arguments:

the_date - The date for which the day of week is desired.

Returns:

The day of week numeric value (1 = Monday, 7 = Sunday).

Example:

@day_of_week('2010-04-30') = 5 and @fmtdate('2010-04-30', 'EEE') = 'Fri'

daysdiff

bigNumeric daysdiff ( date from, date to )

Computes the number of days between from and to, ignoring any time part of the date value.

Arguments:

from - The first date valueto - The second date value

Returns:

The number of days between from and to. Positive if to is after from, otherwise negative.

Example:

@daysdiff(obj.startDate, obj.finishDate)

delete

boolean delete ( text file_path )

Checks for existence of a file, deleting the file if it exists.

Page 223: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Function Reference 11

Function Listing

223Infogix Assure Controls Design Guide

Arguments:

file_path - The file name to be checked for existence and deleted.

Returns:

True if the file existed; otherwise false.

Example:

@abort_if( @delete( '/killdir/myce.mycp' ), 'Abort signal detected' )

delim_fld_cnt

bigNumeric delim_fld_cnt ( value data )

Returns the number of delimited fields parsed for a given delimited layout instance.

Arguments:

data - A layout instance or a field of the layout instance.

Returns:

The number of fields in the instance; a null value is returned if the input parameter data is not from a delimited layout.

Example:

@delim_fld_cnt( input ) >= 5

display

display display ( text text )

Displays passed in value

Arguments:

text - Text value to display

Returns:

nothing

Example:

@display('abc.myValue')

ER_end_of_day

boolean ER_end_of_day ( numeric ER_recon_state )

Check if an Infogix ER reconciliation is in the state of end_of_day.

Arguments:

ER_recon_state - An Infogix ER reconciliation state.

Page 224: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

11 Function Reference

Function Listing

224 Infogix, Inc.

Returns:

True if the passed in state is end_of_day, otherwise false.

Example:

@ER_end_of_day(@ER_recon_state('MyReconId'))

ER_maintenance

boolean ER_maintenance ( numeric ER_recon_state )

Check if an Infogix ER reconciliation is in the state of maintenance.

Arguments:

ER_recon_state - An Infogix ER reconciliation state.

Returns:

True if the passed in state is maintenance, otherwise false.

Example:

@ER_maintenance(@ER_recon_state('MyReconId'))

ER_model_ready

boolean ER_model_ready ( numeric ER_recon_state )

Check if an Infogix ER reconciliation is in the state of model_ready.

Arguments:

ER_recon_state - An Infogix ER reconciliation state.

Returns:

True if the passed in state is model_ready, otherwise false.

Example:

@ER_model_ready(@ER_recon_state('MyReconId'))

ER_recon_state

numeric ER_recon_state ( text recon_id )

Returns the state of an Infogix ER reconciliation.

Arguments:

recon_id - An Infogix ER reconciliation id.

Returns:

The state value

Example:

@ER_recon_state('MyReconId')

ER_start_of_day

boolean ER_start_of_day ( numeric ER_recon_state )

Page 225: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Function Reference 11

Function Listing

225Infogix Assure Controls Design Guide

Check if an Infogix ER reconciliation is in the state of start_of_day.

Arguments:

ER_recon_state - An Infogix ER reconciliation state.

Returns:

True if the passed in state is start_of_day, otherwise false.

Example:

@ER_start_of_day(@ER_recon_state('MyReconId'))

ER_system_ready

boolean ER_system_ready ( numeric ER_recon_state )

Check if an Infogix ER reconciliation is in the state of system_ready.

Arguments:

ER_recon_state - An Infogix ER reconciliation state.

Returns:

True if the passed in state is system_ready, otherwise false.

Example:

@ER_system_ready(@ER_recon_state('MyReconId'))

exists

boolean exists ( text file_path )

Checks whether a file exists.

Arguments:

file_path - The file name to be tested.

Returns:

True if the file exists; otherwise false.

Example:

@abort_if( @exists( '/killdir/myce.mycp' ), 'Abort signal detected' )

filename

text filename ( text pathname )

Returns the file name component of a full file path, with or without extension.

Arguments:

pathname - A file system path name in UNIX or Windows style.

Page 226: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

11 Function Reference

Function Listing

226 Infogix, Inc.

Returns:

The file name within the path, or null if the input is null.

Example:

@filename('C:/foo/bar.txt') = 'bar.txt'

filename

text filename ( text pathname, boolean with_extension )

Returns the file name component of a full file path, with or without extension.

Arguments:

pathname - A file system path name in UNIX or Windows style.with_extension - Option to include or exclude the file name extension (true to include).

Returns:

Trimmed text value if successful, otherwise a null value.

Example:

@filename('C:/foo/bar.txt', false) = 'bar'

find

boolean find ( list list, boolean expression )

Searches the input list value to determine if any occurrence passes the supplied expression.

Arguments:

list - The list value to be searchedexpression - An expression that evaluates to a BooleanValue. Each occurrence of the list is given the value cache name 'find_list_occ'.

Returns:

True if any object in the list passes the expression; otherwise false.

Example:

@find(myObject.list, @interpret('find_list_occ.field = ' + @apost() + 'foo' + @apost())

fmtdate

text fmtdate ( date date, text pattern )

Produces a formatted date text value using the supplied Java SimpleDateFormat pattern. The supplied local date/time can be adjusted to and formatted in a specified time zone.

Page 227: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Function Reference 11

Function Listing

227Infogix Assure Controls Design Guide

Arguments:

date - A date value to be formatted (in the system time zone).pattern - A Java SimpleDateFormat pattern string, or ISO8601 for the system default pattern.

Returns:

A text value containing the formatted date representation.

Example:

@fmtdate(current.fieldName, 'MM/dd/yyyy')

fmtdate

text fmtdate ( date date, text pattern, text to_zone )

Produces a formatted date text value using the supplied Java SimpleDateFormat pattern. The supplied local date/time can be adjusted to and formatted in a specified time zone.

Arguments:

date - A date value to be formatted (in the system time zone).pattern - A Java SimpleDateFormat pattern string, or ISO8601 for the system default pattern.to_zone - A Java time zone ID for adjusting the value and formatting the date.

Returns:

A text value containing the formatted date representation.

Example:

@fmtdate(current.fieldName, 'yyyy-MM-dd hh:mm a zzz', 'America/Phoenix')

format

text format ( text formatString )

Formats a string by creating a new string based on formatString substituting value cache references where found (surrounded by $ characters). Returns the formatted string.

Arguments:

formatString - The format string to base the output on.

Returns:

The resulting formatted string as a TextValue.

Example:

@format('Hello $namefield$')

Page 228: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

11 Function Reference

Function Listing

228 Infogix, Inc.

gt

text gt ( )

Generates the greater-than (>) character.

Returns:

Text containing the greater-than character.

Example:

@lt() + 'tagname' + @gt()

hoursdiff

bigNumeric hoursdiff ( date from, date to )

Computes the number of whole hours between from and to.

Arguments:

from - The first date valueto - The second date value

Returns:

The whole number of hours between from and to. Positive if to is after from, otherwise negative.

Example:

@hoursdiff(obj.startDate, obj.finishDate)

identity

text identity ( object data_name )

Creates a text value with the concatenated ID field values for a dataname

Arguments:

data_name - The named data to return the ID of

Returns:

A text value of concatenated ID field values like IDf1-IDf2-IDf3.

Example:

'ID of current without cycle info is ' + @identity(current)

identity

text identity ( object data_name, text separators )

Creates a text value with the concatenated ID field values for a dataname

Page 229: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Function Reference 11

Function Listing

229Infogix Assure Controls Design Guide

Arguments:

data_name - The named data to return the ID ofseparators - Separator character(s) to use between ID field values

Returns:

A text value of concatenated ID field values like IDf1-IDf2-IDf3.

Example:

'ID of current without cycle info using my separators is ' + @identity(current, '/')

identity

text identity ( object data_name, text separators, boolean include_cycle )

Creates a text value with the concatenated ID field values for a dataname

Arguments:

data_name - The named data to return the ID ofseparators - Separator character(s) to use between ID field valuesinclude_cycle - Option flag to include the cycle and run part of ID if applicable.

Returns:

A text value of concatenated ID field values like IDf1-IDf2-IDf3.

Example:

'ID of current without cycle info using my separators is ' + @identity(current, '/')

in

boolean in ( text text_value, text in_delim_list )

Tests if a text value equals one of a delimited list of values.

Arguments:

text_value - The text value to test.in_delim_list - The delimited list of values (must start with the delimiter chosen).

Returns:

true if the value is in the list; otherwise false.

Example:

@in(in.someTextField, '|FOO|BAR)

Page 230: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

11 Function Reference

Function Listing

230 Infogix, Inc.

interpret

value interpret ( text expression_text )

Interprets the text of the parameter expression_text as an expression.

Arguments:

expression_text - An expression that results in a text value, to be interpreted as an expression.

Returns:

The value of the interpreted expression; returns a Null value if the expression cannot be interpreted.

Example:

@sum(in.someListOfGroupData, @interpret('sum_list_occ.someNumber'))

is_ER_recon_ready

boolean is_ER_recon_ready ( text recon_id )

Check if an Infogix ER reconciliation is ready for processing.

Arguments:

recon_id - An Infogix ER reconciliation id.

Returns:

True if ready, otherwise false.

Example:

@is_ER_recon_ready('someReconId')

islowval

boolean islowval ( value value )

Tests each byte of the content underlying the value for hex '00' content. Only effective for those values captured/mapped to underlying bytes.

Arguments:

value - The value to be tested

Returns:

False if the value was not established as a reference to bytes. True if the referenced bytes are all hex '00'; otherwise false.

Example:

@islowval(someVcName)

Page 231: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Function Reference 11

Function Listing

231Infogix Assure Controls Design Guide

isnull

boolean isnull ( value value )

Checks whether the value referenced is null.

Arguments:

value - The value to be tested

Returns:

True if the value is null; otherwise false.

Example:

@isnull(someVcName)

isnum

boolean isnum ( text value )

Checks whether each character of the text value (or a substring of it if position and length are indicated) is a digit.

Arguments:

value - The TextValue to be tested

Returns:

True if all characters to be checked are present and contain digits; otherwise false.

Example:

@isnum(someVcName)

isnum

boolean isnum ( text value, numeric pos, numeric len )

Checks whether each character of the text value (or a substring of it if position and length are indicated) is a digit.

Arguments:

value - The TextValue to be testedpos - A one-based subscript within the text value where the numeric value is to be obtained.len - The length of the numeric field within the text field.

Returns:

True if all characters to be checked are present and contain digits; otherwise false.

Example:

@isnum(someVcName, 2, 2)

Page 232: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

11 Function Reference

Function Listing

232 Infogix, Inc.

iso4217_num_to_code

text iso4217_num_to_code ( text three_digit_currency_code )

Converts three digit ISO currency code to three letter ISO currency code.

Arguments:

three_digit_currency_code - The three digit ISO code of currency for which the three letter currency code needs to be found.

Returns:

Three letter ISO currency code.

Example:

@iso4217_num_to_code('840') = 'USD'

list_at

value list_at ( list list, numeric occ_expr, value compute_expr )

Obtains a value at an occurrence of a list

Arguments:

list - The list containing the occurrence. Must be a list of group/sub-layout values.occ_expr - An expression returning a zero-based index value into the list.compute_expr - An expression that may use the list occurrence to produce a value.

Returns:

The computed value from parameter 3 using the list occurrence computed by parameter 2

Example:

@list_at(someRecord.things, 0, list_occ_.someField)

list_at

value list_at ( list list, numeric occ_expr )

Obtains a value at an occurrence of a list

Arguments:

list - The list containing the occurrence. Must be a list of group/sub-layout values.occ_expr - An expression returning a zero-based index value into the list.

Page 233: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Function Reference 11

Function Listing

233Infogix Assure Controls Design Guide

Returns:

The value in the list at the list occurrence computed by parameter 2

Example:

@list_at(someRecord.things, 0)

list_find_occ

bigNumeric list_find_occ ( list list, boolean search_cond )

Searches the input list to locate an occurrence that meets the search condition.

Arguments:

list - The list to be searched.search_cond - An expression that evaluates to true for the occurrence desired. Each occurrence of the list is given the name 'list_find_occ'.

Returns:

The occurrence number found, which may be used with a function like list_at; returns -1 if no occurrence matches the search condition.

Example:

@list_find_occ(myObject.list, @interpret('list_find_occ.field = ' + @apost() + 'foo' + @apost())

list_find_occ

bigNumeric list_find_occ ( list list, boolean search_cond, bigNumeric after_occ )

Searches the input list to locate an occurrence that meets the search condition.

Arguments:

list - The list to be searched.search_cond - An expression that evaluates to true for the occurrence desired. Each occurrence of the list is given the name 'list_find_occ'.after_occ - The occurrence after which to start searching; repeating this function call with the return of the last call finds the next occurrence.

Returns:

The occurrence number found, which may be used with a function like list_at; returns -1 if no occurrence matches the search condition.

Page 234: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

11 Function Reference

Function Listing

234 Infogix, Inc.

Example:

@list_find_occ(myObject.list, @interpret('list_find_occ.field = ' + @apost() + 'foo' + @apost(), work.found_occ)

log

value log ( text message )

Write a message to product log file.

Arguments:

message - The expression that produces the text message to log.

Returns:

The return value from the value expression supplied or true by default.

Example:

@log(abc.myValue)

log

value log ( text message, value value )

Write a message to product log file.

Arguments:

message - The expression that produces the text message to log.value - The expression that produces the value to return from this function. Default is Boolean true.

Returns:

The return value from the value expression supplied or true by default.

Example:

@log(abc.myValue, abc.myValue)

log

value log ( text message, value value, text category, text level )

Write a message to product log file.

Page 235: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Function Reference 11

Function Listing

235Infogix Assure Controls Design Guide

Arguments:

message - The expression that produces the text message to log.value - The expression that produces the value to return from this function. Default is Boolean true.category - The name for logging category. Default is the log function name. level - The logging level: can be INFO, WARN, ERROR, FATAL, DEBUG. Default is INFO.

Returns:

The return value from the value expression supplied or true by default.

Example:

@log('Unexpected value:' + myValue, false, 'com.infogix.capture', 'WARN')

lt

text lt ( )

Generates the less-than (<) character.

Returns:

Text containing the less-than character.

Example:

@lt() + 'tagname' + @gt()

map_get

bigNumeric map_get ( text map_name, value key_value )

Puts a data value into a named map value for a given key

Arguments:

map_name - The name of the map holding the key/value pairskey_value - The key value to associate the data with.

Returns:

Change in size of the map (+1 (added), 0 (replaced) or -1 (deleted)).

Example:

@map_get('my_code_descriptions', 100) = 'Code one hundred desc'

map_put

bigNumeric map_put ( text map_name, value key_value, value data_value )

Puts a data value into a named map value for a given key

Page 236: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

11 Function Reference

Function Listing

236 Infogix, Inc.

Arguments:

map_name - The name of the map holding the key/value pairskey_value - The key value to associate the data with.data_value - The data value for the key. If null, removes the key from the map.

Returns:

Change in size of the map (+1 (added), 0 (replaced) or -1(deleted)).

Example:

@map_put('my_code_descriptions', 100, 'Code one hundred desc' )

matchkey

text matchkey ( object match_info_object )

Format a text value based on the value of match fields

Arguments:

match_info_object - The match info object.

Returns:

A text representation of the match fields values.

Example:

@matchkey( current ) = '00070-12345'

matchkey

text matchkey ( object match_info_object, boolean show_fields_on_right )

Format a text value based on the value of match fields

Arguments:

match_info_object - The match info object.show_fields_on_right - The option to show values from the right hand side (default is false).

Returns:

A text representation of the match fields values.

Example:

@matchkey( current,true ) = '00070-12345/00070-12345'

Page 237: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Function Reference 11

Function Listing

237Infogix Assure Controls Design Guide

matchkey

text matchkey ( object match_info_object, boolean show_fields_on_right, text fields_separator, text side_separator )

Format a text value based on the value of match fields

Arguments:

match_info_object - The match info object.show_fields_on_right - The option to show values from the right hand side (default is false).fields_separator - The optional custom field value separator (default is '-').side_separator - The optional custom side separator ( default is '/').

Returns:

A text representation of the match fields values.

Example:

@matchkey( current,false,':','*' ) = '00070:12345*00070:12345'

max

value max ( value first, value second )

Produces the greater of two values.

Arguments:

first - The first value to test and possibly return.second - The second value to test and possibly return.

Returns:

The first value if it is greater than or equal to the second value, or the second value is null; otherwise, the second value.

Example:

@max(1, 3) = 3

min

value min ( value first, value second )

Produces the lesser of two values.

Arguments:

first - The first value to test and possibly return.second - The second value to test and possibly return.

Page 238: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

11 Function Reference

Function Listing

238 Infogix, Inc.

Returns:

The first value if it is less than or equal to the second value, or the second value is null; otherwise, the second value.

Example:

@min(1, 3) = 1

minsdiff

bigNumeric minsdiff ( date from, date to )

Computes the number of whole minutes between from and to.

Arguments:

from - The first date valueto - The second date value

Returns:

The whole number of minutes between from and to. Positive if to is after from, otherwise negative.

Example:

@minsdiff(obj.startDate, obj.finishDate)

monthsdiff

bigNumeric monthsdiff ( date from, date to )

Computes the number of months between from and to, ignoring any time part of the date value.

Arguments:

from - The first date valueto - The second date value

Returns:

The number of months between from and to. Positive if to is after from, otherwise negative.

Example:

@monthsdiff('20080130', '20080201') = 1

monthsdiff2

bigNumeric monthsdiff2 ( date from, date to_sticky )

Computes the number of months between from and to_sticky, ignoring any time part of the date value.

Arguments:

from - The first date valueto_sticky - The second date value, only determined on first use within an execution context.

Page 239: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Function Reference 11

Function Listing

239Infogix Assure Controls Design Guide

Returns:

The number of months between from and to_sticky. Positive if to_sticky is after from, otherwise negative.

Example:

@monthsdiff2('20080130', '20080201') = 1

msecsdiff

bigNumeric msecsdiff ( date from, date to )

Computes the number of whole milliseconds between from and to.

Arguments:

from - The first date valueto - The second date value

Returns:

The whole number of milliseconds between from and to. Positive if to is after from, otherwise negative.

Example:

@msecsdiff(obj.startDate, obj.finishDate)

notnull

boolean notnull ( value value_to_test )

Checks whether the value referenced is null.

Arguments:

value_to_test - The value to be tested

Returns:

True if the value is not null; otherwise false.

Example:

@notnull(someVcName)

now

date now ( )

Gets a current date/time value.

Returns:

The current operating system time when the function is invoked.

Example:

@now()

Page 240: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

11 Function Reference

Function Listing

240 Infogix, Inc.

now

date now ( boolean use_clock_config )

Gets a current date/time value.

Arguments:

use_clock_config - Use true to return the application configured clock time, use false to return the operating system time.

Returns:

The current system clock or operating system time when the function is invoked.

Example:

@now( true )

nullify

boolean nullify ( value value_to_nullify )

Returns a copy of the specified value, nullified

Arguments:

value_to_nullify - The value to be copied and nullified

Returns:

A null value

Example:

@isnull( @nullify(in.someField) ) = true

nullvalue

value nullvalue ( value field, value defaultExpr )

Gets the value of a field that may be null, substituting the default supplied if that value is null.

Arguments:

field - The value to be obtained (or found to be null).defaultExpr - If field is null, this value is returned instead of null.

Returns:

The field's value or the default value if the field is null.

Example:

@nullvalue(someVcName.someNumberField, 5)

Page 241: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Function Reference 11

Function Listing

241Infogix Assure Controls Design Guide

num_scaled

bigNumeric num_scaled ( bigNumeric unscaled_number, bigNumeric num_places )

Produces a number with the indicated number of decimal places from an unscaled number.

Arguments:

unscaled_number - The unscaled number (no decimal places).num_places - The desired number of decimal places (fractional digits).

Returns:

The numeric value of the unscaled number altered to the specified decimal places.

Example:

123.45 = @num_scaled ( 12345, @curr_decimals('USD') )

num_scaled_curr

bigNumeric num_scaled_curr ( bigNumeric unscaled_number, text iso_curr_code )

Produces a number scaled to the number of decimal places for the ISO 4217 currency number or code.

Arguments:

unscaled_number - The unscaled number (no decimal places).iso_curr_code - The ISO 4217 currency number or code.

Returns:

The numeric value of the unscaled number altered to the specified decimal places.

Example:

123.45 = @num_scaled_curr ( 12345, 'USD' ) and 123.45 = @num_scaled_curr( 12345, '840' )

number

bigNumeric number ( text text, numeric pos, numeric len, numeric precision )

Extracts a numeric value from somewhere within the text value supplied. If precision is specified forces the number to the specified precision.

Page 242: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

11 Function Reference

Function Listing

242 Infogix, Inc.

Arguments:

text - The text value that contains a numeric value somewhere within it.pos - A one-based subscript within the text value where the numeric value is to be obtained.len - The length of the numeric field within the text field.precision - A precision specification (number of decimals, rounding or truncation).

Returns:

NumericValue extracted.

Example:

@number('text 123.45 text', 5, 6, 2)

number

bigNumeric number ( text text, numeric pos, numeric len )

Extracts a numeric value from somewhere within the text value supplied. If precision is specified forces the number to the specified precision.

Arguments:

text - The text value that contains a numeric value somewhere within it.pos - A one-based subscript within the text value where the numeric value is to be obtained.len - The length of the numeric field within the text field.

Returns:

NumericValue extracted.

Example:

@number('text 123.45 text', 5, 6)

number2

bigNumeric number2 ( text containing_text )

Extracts a numeric value from somewhere within the text value supplied, including trailing negative sign (-).

Arguments:

containing_text - The text value that contains a numeric value somewhere within it and a with negative sign at the end.

Returns:

The extracted numeric value, or a null value if there was an extraction error.

Page 243: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Function Reference 11

Function Listing

243Infogix Assure Controls Design Guide

Example:

-123.45 = @number2('text 123.45- text')

number2

bigNumeric number2 ( text containing_text, numeric pos, numeric len )

Extracts a numeric value from somewhere within the text value supplied, including trailing negative sign (-).

Arguments:

containing_text - The text value that contains a numeric value somewhere within it and a with negative sign at the end.pos - A one-based subscript within the text value where the numeric value is to be obtained.len - The length of the numeric field within the text field.

Returns:

The extracted numeric value, or a null value if there was an extraction error.

Example:

-123.45 = @number2('text 123.45- text', 5, 8)

nvparse

object nvparse ( text text_data, text layout_name, text field_separator, text value_separator )

Parses a text value of name-value pairs to produce a layout instance.

Arguments:

text_data - The text value to parse.layout_name - The layout rule name.field_separator - The field separator character.value_separator - The value separator character.

Returns:

An instance of the layout. Fields with the same name as a name-value pair have the corresponding value.

Example:

@nvparse('F1=HELLO|F2=WORLD', work.myObject, '|', '=')

nzdigits

bigNumeric nzdigits ( bigNumeric value, bigNumeric mindigits )

Extracts the set of non-zero digits in a numeric value.

Page 244: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

11 Function Reference

Function Listing

244 Infogix, Inc.

Arguments:

value - The input number.mindigits - The minimum number of non-zero digits that must be found.

Returns:

Numeric value of non-zero digits, or zero if the minimum number of digits is not found.

Example:

@nzdigits(120.34, 4) = 1234 and @nzdigits(120.30, 4) = 0

nzdigits

bigNumeric nzdigits ( bigNumeric value )

Extracts the set of non-zero digits in a numeric value.

Arguments:

value - The input number.

Returns:

Numeric value of non-zero digits, or zero if the minimum number of digits is not found.

Example:

@nzdigits(120000.34) = @nzdigits(12.34)

p2pvalue

value p2pvalue ( object object, text field, text point )

Returns the specified control field value at the specified control point.

Arguments:

object - The control entity.field - The control field name.point - The control point name.

Returns:

The control point value.

Example:

@p2pvalue(someVcName, someField, somePoint)

parse

object parse ( text text_data, text layout_name )

Parses a text value according to a layout to produce a layout instance.

Page 245: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Function Reference 11

Function Listing

245Infogix Assure Controls Design Guide

Arguments:

text_data - The text value to parse.layout_name - The layout rule name to parse the text with.

Returns:

An instance of the layout (or capture fails if the data cannot be parsed).

Example:

@parse(dataRow.xmlColumn, 'My XML Layout Name')

parse

object parse ( text text_data, text layout_name, boolean allow_capture_failure )

Parses a text value according to a layout to produce a layout instance.

Arguments:

text_data - The text value to parse.layout_name - The layout rule name to parse the text with.allow_capture_failure - Supply true to allow extraction failure, false to prevent failure.

Returns:

An instance of the layout (with default values if an error occurred).

Example:

@parse(dataRow.xmlColumn, work.myObject, false)

quot

text quot ( )

Generate quote (") character

Returns:

Text containing the quote character

Example:

@quot() + 'Hello, World!' + @quot()

remainder

bigNumeric remainder ( bigNumeric value, bigNumeric divisor )

Returns the remainder of dividing a number by another number.

Arguments:

value - The input number.divisor - The divisor (cannot be zero).

Page 246: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

11 Function Reference

Function Listing

246 Infogix, Inc.

Returns:

The remainder. Returns a null value if either parameter is a null value.

Example:

@remainder(101.12, 10) = 1.12

run

numeric run ( )

Returns current run number.

Returns:

The current run number is returned.

Example:

@run()

secsdiff

bigNumeric secsdiff ( date from, date to )

Computes the number of whole seconds between from and to.

Arguments:

from - The first date valueto - The second date value

Returns:

The whole number of seconds between from and to. Positive if to is after from, otherwise negative.

Example:

@secsdiff(obj.startDate, obj.finishDate)

srcpath

text srcpath ( value data )

Retrieves the Opened data source Path / URL for any data produced accessing that path.

Arguments:

data - A data name or one of its fields produced by the data source of interest.

Returns:

The path name if available, otherwise a null text value.

Example:

@srcpath( in ) = '/foo/bar.txt'

Page 247: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Function Reference 11

Function Listing

247Infogix Assure Controls Design Guide

stickyvalue

value stickyvalue ( value value )

Computes a value once, and returns the same value for the remainder of the task execution environment.

Arguments:

value - An expression that produces a value.

Returns:

The value produced in the parameter.

Example:

@stickyvalue( @now( ) )

sum

bigNumeric sum ( list list )

Computes a sum of the contents of the list value applying the expression to each occurrence of the list. If precision is specified forces the sum to the indicated precision.

Arguments:

list - The list value to be summed. May be a list of primitive values, in which case there is no expression; or a list of group values in which case expression applies.

Returns:

The computed sum value.

Example:

@sum(some.simpleList)

sum

bigNumeric sum ( list list, text expression )

Computes a sum of the contents of the list value applying the expression to each occurrence of the list. If precision is specified forces the sum to the indicated precision.

Arguments:

list - The list value to be summed. May be a list of primitive values, in which case there is no expression; or a list of group values in which case expression applies.expression - An expression to be evaluated for each occurrence in the list. The list occurrence is given the 'sum_list_occ' name in the value cache, so you refer to fields of the group value as sum_list_occ.amt * sum_list_occ.bar).

Page 248: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

11 Function Reference

Function Listing

248 Infogix, Inc.

Returns:

The computed sum value.

Example:

@sum(some.simpleList, @interpret('sum_list_occ.amt * sum_list_occ.quantity') )

t_after

text t_after ( text text_data, text after )

Extracts sub-strings of text from a text value.

Arguments:

text_data - The text data containing text to extract.after - Matching text after which the sub-string to extract is located.

Returns:

Extracted text, if found, otherwise a null value.

Example:

@t_after('/home/foo/bar/baz.txt', '/home/') = 'foo/bar/baz.txt'

t_after

text t_after ( text text_data, text after, boolean last_match )

Extracts sub-strings of text from a text value.

Arguments:

text_data - The text data containing text to extract.after - Matching text after which the sub-string to extract is located.last_match - if true, selects following the last occurrence of after.

Returns:

Extracted text, if found, otherwise a null value.

Example:

@t_after('/home/foo/bar/baz.txt', '/', true) = 'baz.txt'

t_before

text t_before ( text text_data, text before )

Extracts sub-strings of text from a text value.

Arguments:

text_data - The text data containing text to extract.before - Matching text before which the sub-string to extract is located.

Page 249: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Function Reference 11

Function Listing

249Infogix Assure Controls Design Guide

Returns:

Extracted text, if found, otherwise input parameter1 value.

Example:

@t_before('/home/foo/bar/baz.txt', '/foo/') = '/home'

t_before

text t_before ( text text_data, text before, boolean last_match )

Extracts sub-strings of text from a text value.

Arguments:

text_data - The text data containing text to extract.before - Matching text before which the sub-string to extract is located.last_match - if true, returns text before the last occurrence of before.

Returns:

Extracted text, if found, otherwise input parameter1 value.

Example:

@t_before('/home/foo/bar/baz.txt', '/', true) = '/home/foo/bar'

t_between

text t_between ( text text_data, text after, text before )

Extracts sub-strings of text from a text value.

Arguments:

text_data - The text value containing text to extract.after - Matching text after which the sub-string to extract is located.before - Matching text before which the sub-string to extract is located.

Returns:

Extracted text, if found, otherwise a null value.

Example:

@t_between('X.GETME.Y', 'X.', '.Y') = 'GETME'

t_contains

boolean t_contains ( text text_value, text contains )

Tests if a text value contains another text value.

Page 250: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

11 Function Reference

Function Listing

250 Infogix, Inc.

Arguments:

text_value - The text value to be tested.contains - The text value to test for.

Returns:

True if value of contains is in text_value; otherwise false.

Example:

@t_contains(in.someTextField, 'Information with Confidence')

t_findmatches

text t_findmatches ( text text_value, text match_regexp )

Finds text value matches with a regular expression pattern; may fill a list or layout with matched groups.

Arguments:

text_value - The text value to be tested.match_regexp - The regular expression to find matched groups with.

Returns:

The matched group of text; a null value if not matched.

Example:

'AB12X1' = @t_findmatches('Locate code inside AB12X1 this text', '([A-Z]+' + @bk('d') + '+' + @bk('w') + '*' + @bk('b') + ')')

t_findmatches

bigNumeric t_findmatches ( text text_value, text match_regexp, value list_or_layout )

Finds text value matches with a regular expression pattern; may fill a list or layout with matched groups.

Arguments:

text_value - The text value to be tested.match_regexp - The regular expression to find matched groups with.list_or_layout - The list or layout value to (re)fill.

Returns:

The number of matched groups.

Example:

@t_findmatches('Hello World', '(' + @bk('w') + '+) (' + @bk('w') + '+)', work.matchedWordsList)

Page 251: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Function Reference 11

Function Listing

251Infogix Assure Controls Design Guide

t_isblank

boolean t_isblank ( text text_value )

Tests if a text value contains only spaces.

Arguments:

text_value - The text value to be tested.

Returns:

True if text_value is non-null, and empty or contains only spaces; otherwise false.

Example:

@t_isblank(in.someField)

t_join

text t_join ( text first, text spacer, text second )

Concatenates two text values with a conditionally included spacing text value.

Arguments:

first - The first text value to concatenate. A null value is equated to an empty text value.spacer - The spacing text value (only included if first and second text values are not empty).second - The second text value to concatenate. A null value is equated to an empty text value.

Returns:

The concatenated text.

Example:

@t_join(in.firstName, ' ', @t_join(in.midInit, '. ', in.lastName) ) = 'John Q. Public'

t_length

bigNumeric t_length ( text text_value )

Obtains the length of a text value.

Arguments:

text_value - The text value to take the length of.

Returns:

The length of the text value (zero if null).

Example:

@t_length(in.someTextField) > 0

Page 252: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

11 Function Reference

Function Listing

252 Infogix, Inc.

t_lower

text t_lower ( text text_data )

Converts a text value to lower case.

Arguments:

text_data - The text value to be converted.

Returns:

A lower case text value corresponding to the input parameter.

Example:

@t_lower('Hello') = 'hello'

t_matches

boolean t_matches ( text text_value, text match_regexp )

Tests if a text value matches a regular expression pattern; may fill a list or layout with matched groups.

Arguments:

text_value - The text value to be tested.match_regexp - The regular expression to test for (only evaluated once).

Returns:

True if the pattern matches text_value; otherwise false.

Example:

@t_matches('Information, Logic, and Exchanges; oh my!', 'Info.*gi.*x.*!')

t_matches

boolean t_matches ( text text_value, text match_regexp, value list_or_layout )

Tests if a text value matches a regular expression pattern; may fill a list or layout with matched groups.

Arguments:

text_value - The text value to be tested.match_regexp - The regular expression to test for (only evaluated once).list_or_layout - The list or layout value to (re)fill.

Returns:

True if the pattern matches text_value; otherwise false.

Page 253: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Function Reference 11

Function Listing

253Infogix Assure Controls Design Guide

Example:

@t_matches('Hello World', '(' + @bk('w') + '+) (' + @bk('w') + '+)', work.matchedWordsList)

t_padleading

text t_padleading ( value orig_value, bigNumeric target_length, text pad_text )

Produces a text value of at least the specified length by padding an input value with leading specified text.

Arguments:

orig_value - The original value to be padded.target_length - The length of the text value to be returned.pad_text - An expression that results in a text value, to be used as padding.

Returns:

The padded text value. If the original value is as long or longer than the desired length, the original value is returned.

Example:

@t_padleading('X', 8, '0') = '0000000X'

t_replace

text t_replace ( text input, text to_be_replaced, text replacement, boolean all )

Produce a text value replacing one pattern with another within a given input text value.

Arguments:

input - The input value to perform replacement on.to_be_replaced - A regular expression of the text to be replaced (see java.util.regex.Pattern).replacement - A regular expression of the replacement text (see java.util.regex.Pattern).all - If true, replaces all occurrences; otherwise just the first occurrence is replaced.

Returns:

The input text with any replacements applied.

Example:

@t_replace('foo:and:boo',':', '-', true) = 'foo-and-boo'

Page 254: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

11 Function Reference

Function Listing

254 Infogix, Inc.

t_replace

text t_replace ( text input, text to_be_replaced, text replacement )

Produce a text value replacing one pattern with another within a given input text value.

Arguments:

input - The input value to perform replacement on.to_be_replaced - A regular expression of the text to be replaced (see java.util.regex.Pattern).replacement - A regular expression of the replacement text (see java.util.regex.Pattern).

Returns:

The input text with any replacements applied.

Example:

@t_replace('foo:and:boo','and', 'or') = 'foo:or:boo'

t_split

numeric t_split ( value list_or_layout, text text_value, text split_regexp )

Splits a text value into a list of text values or layout fields based on a regular expression pattern.

Arguments:

list_or_layout - The list or layout value to (re)fill.text_value - The text value to be split.split_regexp - The regular expression to use to split the text.

Returns:

Size of the populated list.

Example:

@t_split(work.textList, 'foo:and:boo', ':')

t_trim

text t_trim ( text text_data )

Trims leading and/or trailing blanks from a text value.

Arguments:

text_data - The text value to be trimmed.

Returns:

Trimmed text value if successful, otherwise a null value.

Page 255: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Function Reference 11

Function Listing

255Infogix Assure Controls Design Guide

Example:

@t_trim('Hello ') = 'Hello'

t_trim

text t_trim ( text text_data, boolean trim_leading, boolean trim_trailing )

Trims leading and/or trailing blanks from a text value.

Arguments:

text_data - The text value to be trimmed.trim_leading - Trim leading blanks option.trim_trailing - Trim trailing blanks option.

Returns:

Trimmed text value if successful, otherwise a null value.

Example:

@t_trim(' World! ', true, false) = 'World! '

t_upper

text t_upper ( text text_data )

Converts a text value to upper case.

Arguments:

text_data - The text value to be converted.

Returns:

An upper case text value corresponding to the input parameter.

Example:

@t_upper('Hello') = 'HELLO'

text

value text ( text text, numeric pos, numeric len )

Extracts a text value from somewhere within the text value supplied.

Arguments:

text - The text value that contains a numeric value somewhere within it.pos - A one-based subscript within the text value where the text value is to be obtained.len - The length of the text field within the text field.

Returns:

TextValue extracted.

Page 256: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

11 Function Reference

Function Listing

256 Infogix, Inc.

Example:

@text('text 123.45 text', 5, 6)

userprop_b

boolean userprop_b ( text prop_file, text prop_name, boolean default_value )

Retrieves a boolean property value from a specified properties configuration file

Arguments:

prop_file - The configuration properties file nameprop_name - The property name to look up in the properties filedefault_value - Default value to return if the property is not found in the file

Returns:

The looked up value (if found), otherwise the default value parameter.

Example:

@userprop_b('my.properties', 'SOME_NAME', true)

userprop_b

boolean userprop_b ( text prop_file, text prop_name )

Retrieves a boolean property value from a specified properties configuration file

Arguments:

prop_file - The configuration properties file nameprop_name - The property name to look up in the properties file

Returns:

The looked up value (if found), otherwise a null value.

Example:

@userprop_b('my.properties', 'SOME_NAME')

userprop_d

date userprop_d ( text prop_file, text prop_name, date default_value )

Retrieves a date property value (ISO8601 format) from a specified properties configuration file

Page 257: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Function Reference 11

Function Listing

257Infogix Assure Controls Design Guide

Arguments:

prop_file - The configuration properties file nameprop_name - The property name to look up in the properties filedefault_value - Default value to return if the property is not found in the file

Returns:

The looked up value (if found), otherwise the default value parameter.

Example:

@userprop_d('my.properties', 'SOME_NAME', @now() )

userprop_d

date userprop_d ( text prop_file, text prop_name )

Retrieves a date property value (ISO8601 format) from a specified properties configuration file

Arguments:

prop_file - The configuration properties file nameprop_name - The property name to look up in the properties file

Returns:

The looked up value (if found), otherwise a null value.

Example:

@userprop_d('my.properties', 'SOME_NAME')

userprop_n

bigNumeric userprop_n ( text prop_file, text prop_name, bigNumeric default_value )

Retrieves a numeric property value from a specified properties configuration file

Arguments:

prop_file - The configuration properties file nameprop_name - The property name to look up in the properties filedefault_value - Default value to return if the property is not found in the file

Returns:

The looked up value (if found), otherwise the default value parameter.

Example:

@userprop_n('my.properties', 'SOME_NAME', 123)

Page 258: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

11 Function Reference

Function Listing

258 Infogix, Inc.

userprop_n

bigNumeric userprop_n ( text prop_file, text prop_name )

Retrieves a numeric property value from a specified properties configuration file

Arguments:

prop_file - The configuration properties file nameprop_name - The property name to look up in the properties file

Returns:

The looked up value (if found), otherwise a null value.

Example:

@userprop_n('my.properties', 'SOME_NAME')

userprop_t

text userprop_t ( text prop_file, text prop_name, text default_value )

Retrieves a text property value from a specified properties configuration file

Arguments:

prop_file - The configuration properties file nameprop_name - The property name to look up in the properties filedefault_value - Default value to return if the property is not found in the file

Returns:

The looked up value (if found), otherwise the default value parameter.

Example:

@userprop_t('my.properties', 'SOME_NAME', 'No Name Defined')

userprop_t

text userprop_t ( text prop_file, text prop_name )

Retrieves a text property value from a specified properties configuration file

Arguments:

prop_file - The configuration properties file nameprop_name - The property name to look up in the properties file

Returns:

The looked up value (if found), otherwise a null value.

Page 259: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Function Reference 11

Function Listing

259Infogix Assure Controls Design Guide

Example:

@userprop_t('my.properties', 'SOME_NAME')

uuidgen

text uuidgen ( )

Generate a UUID text value.

Returns:

Text containing a UUID value.

Example:

@uuidgen() != @uuidgen()

val_ifelse

value val_ifelse ( boolean if_expr, value when_true_value_expr, value when_false_value_expr )

A one-line if-then-else that returns a value of any type

Arguments:

if_expr - A condition to testwhen_true_value_expr - An expression whose value is returned if the condition is truewhen_false_value_expr - An expression whose value is returned if the condition is false

Returns:

The value of either the second or third parameter

Example:

@val_ifelse(@fmtdate(current.someDate, 'MMM') = 'Dec', 'Happy Holidays', 'Have a nice day')

Page 260: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

11 Function Reference

Function Listing

260 Infogix, Inc.

Page 261: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

261Infogix Assure Controls Design Guide

AactionAn action defines a set of instructions to apply when a validation rule set passes, fails, or completes.

administratorAn administrator may manage security, set up result templates and actions, and/or export controls to the production environment.

alertAn alert defines who should be notified when a specific result occurs or when a particular control point produces a result. Configuration parameters and user preferences determine how the alert is delivered.

alternate retention policyIf you specify a standard retention policy for retaining data in the database, you can also specify an alternate policy for control points or validation rule sets to invoke. The alternate policy deletes control data from the database but not results or reports. Invoking an alternate policy makes it possible to purge unneeded data from the database as soon as possible.

API catalogAn API catalog is a result catalog for controls applied to data input via an application program interface. See also result catalog.

API dataAPI data is byte or character data supplied through an API (application program interface).

Audit History ReportAn Audit History Report provides a system-wide view of change events and shows the definitions affected by the event.

BBalance control pointBalance control points validate summary level data values and can detect point-to-point and run-to-run problems. They can retrieve historical information for comparison to current information.

big numericBig numeric is a layout field type for numeric values greater than 15 digits.

Boolean fieldBoolean fields contain a value of true or false and can be set and checked to determine whether or not to apply particular extractions, validations, or results.

business analystA business analyst reviews the results of control processing.

Cchange eventThe system creates an audit trail for events that change rules and control data, other than normal system execution events. Four types of change events exist: import, update, control data change, and execution events.

channelA channel describes the physical attributes and location, such as the path or URL, of an input data source or translation table.

Glossary

Page 262: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Glossary

262 Infogix, Inc.

character/byte stream I/OCharacter/byte stream I/O refers to byte or character data accessed by standard Java input/output methods.

combine The combine feature accumulates or replaces control field values for control entity instances captured at the current control point. Only values for instances that have the same identity fields are combined. Compare to merge.

complex tableComplex tables can convert multiple input values to one or many output values. They also offer conditional translation based on values found in one or more input fields/columns. Compare to simple table.

computed valueComputed ACR/Summary values are one or more history items retrieved from ACR/Summary via ACR/Connector. The history items can be accumulated.

control dataControl data consists of data values stored in control fields in the database or persistent data from a control entity, organized by control entity and control point run. This does not include reports or results of control runs.

control entityA control entity is a business process or unit of business data targeted by controls.

control fieldsEach control entity has its own set of control fields that hold data for applying controls and for reporting, analysis, and audit use. Control points share and update the data in these fields, as needed. See also identity fields.

control pointsControl points are critical points in business information processing where automated controls are used to validate information. These points include anywhere information is input, output, updated, combined, or transferred between platforms, applications, or systems.

Control ReportA Control Report summarizes the validation information and the results for a control point execution.

control valueA control value is the numeric, text, tally, Boolean, or other data value stored in a control field.

controlsControls automate the capture and comparison of control values to validate the information content, process, and system. Controls then trigger automatic responses to the validation results.

controls developerA controls developer identifies control requirements, translates the requirements into business rules, and then sets up, tests, and maintains the rules on an ongoing basis.

CRC32CRC32 is a cyclic redundancy check algorithm that is used to detect file changes during processing.

currentWithin the user interface, current refers to all aspects of a Single Capture, Multiple Capture, Balance, or Scan control point for the control entity instance that is in progress. For example, current can refer to the assignment of control fields, cycle numbers, and run numbers for the entity.

Page 263: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Glossary

263Infogix Assure Controls Design Guide

cycleA cycle number is a sequence number that uniquely identifies a control run and its associated data stored in the database. Cycle numbers are usually dates in the format CCYYMMDD. For control points that execute more than once per day, a run number is also needed.

Ddata digestA data digest is the output of a hashing algorithm. Binary or normalized (text) data digests can be generated using the CRC-32 or MD5 algorithms. See also hashing algorithm.

databaseDatabase may refer to the database where control data and control results are stored. It can also refer to a relational database used as a data source for control processing or translation, or as the destination for exported control data.

database layoutA database layout specifies connection information or the JNDI name for a database used as a data source or external translation table. The layout also specifies column locations, data types, and an SQL query for retrieving data of interest.

decimal positionsDecimal positions are the number of digits that appear to the right of the decimal point for display/reporting purposes.

Definition ReportA Definition Report shows the rules that are defined for a specific item.

delimited fileDelimited files contain variable length data fields separated by commas or other characters.

derived fieldA derived field is a value determined at a control point for use in validation processing or in results reported to users. Derived fields are not stored in the database but they do appear on the Control Report.

Detail entityDetail entities are a type of control entity uniquely distinguished by one or more identity fields. Cycle numbers are optional.

duration calendarDuration calendars specify which days, dates, or timespans to include or exclude for tracking controls, or which days or timespans to exclude from schedule calendars.

dynamic query in memoryWhen creating a complex, external translation table, you can select the dynamic query in memory option to query an external database at runtime. This enables the controls to always reference the latest version of the table. See also complex table.

Eembedded database When creating a complex translation table, you can select the embedded database option to query an external database as part of rule setup. The data brought back from the database query will become part of your rules and will not change. You can also create an embedded database by directly entering data in the user interface. See also complex table.

Page 264: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Glossary

264 Infogix, Inc.

extract ruleAn extract rule selects relevant data from an input source and transforms it in various ways for use in validation rules. You can map data to control fields, create lists, perform calculations, reference translation tables, and combine, total, and tally data.

Extraction Trace ReportAn Extraction Trace Report shows the results of an extraction test for an input data source.

Ffile monitor dataFile monitor data captures information about files within a directory on the file system.

fixed fileFixed files contain fixed length records, or variable length records containing fixed length, positional fields.

functionA function is a computer subroutine designed to accomplish a specific task that uses your data as input.

Hhash captureA hash capture applies a hashing algorithm to a file to create a unique fingerprint in the form of a short binary or text value. This value can be generated and compared before and after the file is input, output, transmitted, or stored to verify that it has not changed. See also data digest.

hashing algorithmA hashing algorithm creates a hash capture value that can be used to determine if a file has unexpectedly changed during processing or transmission.

history dataHistory data refers to control values retrieved from prior control point runs or from ACR/Summary via ACR/Connector.

Iidentity (ID) fieldsIdentity fields are a type of control field that uniquely identify an instance of control data. For example, an account number, date, and time could be identity fields for a credit card transaction. Identity fields are required for Detail entities and optional for Summary entities.

inWithin the user interface, in refers to the input source. On the Extract tab, in is the default value for the input layout.

inboxThe inbox in the user interface is similar to an email inbox. Each user sees a list of alerts in their inbox corresponding to recent control results of interest. Clicking an alert displays details about the control result.

index number fieldsIndex number fields specify the sort order for the capture processing task. An index number is assigned to match control fields that are likely to result in the most matches, that is, to the fields that are the most unique.

Page 265: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Glossary

265Infogix Assure Controls Design Guide

input dataInput data is information that is passed to a control point for control processing. Input data can come from fixed length files, delimited files, databases, XML files, and Microsoft Excel spreadsheets.

instanceAn instance is a unique, individual occurrence of data for a control entity. Individual database instances are distinguished by identity fields and/or cycle and run numbers.

ISO 8583 data sourceThis data source is a Financial Transaction Card Originated Message, as defined by ISO 8583 standards.

JJava Object data sourceA Java Object data source is a Java class file in byte code or a serialized Java object.

LlatencyLatency is how long it takes data to travel from one designated point to another.

latency rulesLatency rules are a type of Tracking control used to compare a specified duration of time to the time it takes data to pass between two designated points.

layoutA layout defines the physical and logical structure of an input data source or translation table. The layout also specifies the access method and location of the data.

leftWithin the user interface, left refers to one of the entity sources for a Reconciliation control point. Left is the default value for the first source listed on the Sources tab.

left selectFor reconciliation tasks, left select criteria specify which control entity data to retrieve when a match rule for the left input source is satisfied.

lenient formatFor numeric or big numeric layout fields, the lenient format option strips out non-numeric characters other than a decimal point.

log actionA log action writes a message to the action log when specific control points execute or results based on specific result templates are generated.

MMatch & Merge taskA Match & Merge task is a Reconciliation control point task used to match up similar transactions from two input sources, apply controls to confirm that no discrepancies exist, and report the results.

Match Data entityMatch Data entities are a type of control entity with control data intended for short term data storage for the capture and matching of high volumes of data and later use by reconciliation control points.

Page 266: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Glossary

266 Infogix, Inc.

match setA match set consists of data from a left and right input source that has been matched up for reconciliation. Instances are matched based on values in one or more control fields. Optionally, you can process a left or right instance without a match.

Match Set Audit ReportA Match Set Audit Report produces match set output for a reconciliation control point task.

MD5MD5 is a message digest algorithm that is used to detect file changes during processing.

mergeThe merge feature accumulates or replaces control field values across multiple control points. Only values for control entity instances that have the same identity fields are merged. Compare to combine.

Microsoft Excel data sourceA Microsoft Excel spreadsheet can be a data source for a control point execution.

Multiple Capture control pointMultiple Capture control points can capture and verify large volumes of data from multiple sources as the data passes through multiple control points.

Nnetworked character/byte stream I/ONetworked character/byte stream I/O is a data access method for input stream byte or character data accessed via URLs with protocols such as ftp or http.

PpermissionA permission defines a particular ability a user may have for a type of object. An example of a permission is the ability to view a control entity rule.

permission setA permission set is a collection of permissions for a type of object. For example, the layout permission set contains permissions to view and edit layouts.

point-to-point controlsPoint-to-point controls verify that outputs of one step within a process arrive intact and unchanged for input into a subsequent step.

RRecap ReportA Recap Report lists instances validated by a control point run, with counts of results by severity. The report also provides a link to the associated Control Report for each instance, if one was produced. The Recap Report is available for Multiple Capture and Scan control points.

Reconciliation control pointA Reconciliation control point reconciles data from multiple control entities. Detailed level controls can match up data (such as balances of individual accounts and a corresponding General Ledger account), perform computations (such as totaling detailed amounts from a list or table), and reconcile the resulting values.

Reconciliation Task ReportA Reconciliation Task Report summarizes the results of a reconciliation task.

Page 267: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Glossary

267Infogix Assure Controls Design Guide

reconciliation tasksReconciliation tasks match up data from two input sources, apply controls to confirm there are no discrepancies, and report the results.

record I/ORecord I/O is a data access method for IBM or Micro Focus COBOL record-oriented inputs.

record typeIf a fixed, delimited, or ISO 8583 data source contains more than one type of logical record, you can define a different layout for each record type. These individual layouts are called record types.

Referenced By ReportA Referenced By Report lists other control entities that depend on the current control entity.

References ReportA References Report lists dependencies for a specified item.

relative cycleWhen retrieving history data for use in validation, you can specify the cycle of the data to retrieve relative to the current cycle. You can also identify a range of cycles.

resultA result consists of the control processing details and return code reported to users when particular validation checks fail or a validation rule set passes, fails, or completes.

result actionsResult actions specify what the system should do when specific control points execute or results based on specific result templates are generated. Examples of result actions include sending inbox alerts or emails to specific users or groups, and writing log messages.

result catalogA result catalog consists of details about the outcome of a control point run, along with links to relevant reports and to control data stored in the database.

Result Catalog ReportA Result Catalog Report provides information about the control run results for a selected result catalog.

result difference valueThis value represents the out-of-balance value for a specific result.

result instance valueThis value tallies the total value of all instances for this result.

result templateA result template specifies what information to provide to users when a particular type of control outcome occurs. The template also defines the severity of the outcome. Result templates are used when defining the results that control point validation rules can trigger.

retention policyA standard retention policy indicates how long to retain control data and associated reports and results for a given control entity. An alternate policy can be invoked by individual control points or validation rule sets to purge unneeded control data from the database on a different schedule.

Page 268: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Glossary

268 Infogix, Inc.

return codeA return code is a numeric code that is associated with a control processing result.

rightWithin the user interface, right refers to one of the entity sources for a Reconciliation control point. Right is the default value for the second source listed on the Sources tab.

right selectFor reconciliation tasks, right select criteria specify which control entity data to retrieve when a match rule for the right input source is satisfied.

rulesRules specify how and when to apply automated controls, including how and when to capture data, apply user-defined validations, store data, generate reports, and perform actions based on validation outcomes.

run Run refers to the execution of control processing for a given control point.

run numberA run number distinguishes a specific run from other runs that occur within the same cycle, such as two runs on the same date.

runtime dataRuntime data dynamically changes values at the time of a control point execution.

run-to-runA run-to-run control rule verifies that outputs from a prior processing run match inputs to the current processing run.

SScan control pointScan control points can apply logic check validations and actions to subsets of control data already processed at a previous control point and stored in the database. They can also trigger actions such as generating reports on data of interest, deleting unwanted data from the database, and initiating automatic execution of subsequent control points.

schedule calendarSchedule calendars trigger system processes and scheduled control point executions.

schedulerThe scheduler enables an administrator to manage recurring and one-time jobs from the user interface.

security profileA security profile defines the groups and users who are granted the permissions in that profile. A security profile can be assigned to any number of objects in the system and derives its permissions from the security profile group.

security profile groupA security profile group defines the permission sets available to all security profiles within the group. Every security profile is based on only one security profile group.

Select & Search taskA Select & Search task is a Reconciliation task used to search for matches in the right source based on data in the left source.

severityResult templates define the severity of a control outcome, from informational (least severe), to error, warning, or fatal (most severe).

Page 269: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Glossary

269Infogix Assure Controls Design Guide

simple tableA simple translation table converts a single input value to a single output value, such as a department name to a department number. You can enter the input and output data directly in the user interface or you can reference an external table. Compare to complex table.

Single Capture control pointSingle capture control points validate summary level data values and individual transactions passed to the system by an API. They are used for Detail control entities. They can detect point-to-point problems within a process and balance data from run to run.

subjectThe subject specified in a result template appears as the subject line or description in inbox and email alerts sent to users.

sublayoutFor fixed and XML data sources, a sublayout identifies a set of fields that you want to uniquely identify for control processing. For all data source types, a sublayout can also define data in a field or column that is in a different format and references another layout.

Summary entitySummary entities are a type of control entity that is batch-oriented and cyclical. Summary entities are distinguished by a cycle and optional run number.

Ttest data repositoryThe test data repository is system-managed location on a server where test data files can be added for testing or execution purposes.

Timeliness control pointA Timeliness control point is a control point where no data is captured and no validation checks are performed. Its sole purpose is to notify users when a control entity instance has failed to arrive within an expected time frame.

Timeliness rulesTimeliness rules are a type of Tracking control used to verify that data arrives at its destination within an expected amount of time after an earlier processing event has taken place. See also Tracking controls.

Tracking controlsTracking controls determine if data arrives late or fails to arrive at all at expected intervals within a process.

Tracking dateA tracking date is a date field used to capture dates and times for use by Tracking controls. You must populate tracking dates by extracting and assigning a date and time to them at the appropriate control point.

translationTranslation is a way to look up data from an additional source when applying validations to one or more input data sources. Translation can facilitate matching up data from multiple sources. Translation can also look up values needed for validation based on one or more values captured from current input sources.

Uuser-defined normalizationFor normalized hash captures, a user can define a rule that filters specified characters.

Page 270: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Glossary

270 Infogix, Inc.

User ReportThe User Report is a customizable listing of instances validated, with optional details such as field values, labels, counts, and totals. The report can be sorted by one or more fields of interest and is available for multiple capture and scan control points.

Vvalidation fieldsValidation fields are user-specified fields that appear on the User Report and contain values that vary based on validation outcomes.

validation rule setA validation rule set is a set of controls to apply at a particular control point. When an entire validation rule set passes, fails, or completes, user specified actions can be performed.

variable cycleA variable cycle specifies a range of previous cycles of history data to retrieve, limited by the occurrence of a specific relative cycle. See also history data and relative cycle.

Wwork fieldsWork fields are optional storage fields for use when extracting data for control points. You can use work fields to store all the fields from a layout or sublayout as a single field. You can also use work fields to store individual values, such as extracted values, the results of computations, and flags or indicators.

XXML fileAn XML file is an input data source or translation table with XML tags delimiting groups and fields.

Page 271: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

271Infogix Assure Controls Design Guide

IndexAACR/Connector 136ACR/Summary, retrieving history 136alerts

adding 160overview 142

any-to-any matching 46automatically generate instance 118

BBalance control points

about 31steps to create 31

balancing run to run 31

Ccalendars

about 183Infogix Apply Retention Policy Schedule

185Infogix Assure Processing Schedule 184Infogix Delete Alerts Schedule 184Infogix Licensee Check Schedule 185system 184timeliness controls 79validation actions 183

channels, overriding 22complex tables

parameters 174complex translation tables

about 172data conversion 174

control entitiesDetail 25instances of, about 94Match Data 26Summary 24

control point actions 29

control pointsBalance 31create or replace instances 95Multiple Capture 37, 40Reconciliation 43Scan 70Single Capture 35Timeliness 71

control reports 191controls

detecting corrupt files 24detecting duplicate input files 87, 88detecting overdue files 24point to point 88, 89

controls designbalancing from run to run 31duplicate source control 86latency controls 72overview of setup 11point to point 31specialized controls 71Timeliness 77

corrupt files, detecting 24customer support 10cycle processing

about 205ranges 209relative cycles 206specifying 205variable cycle 211

Page 272: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Index

272 Infogix, Inc.

Ddata conversions

complex translation tables 174simple translation tables 165

database data storage 100databases

capturing data from 28containing translation references 162control entity instances 94dynamic sources 22retention policies 99

Defining 127derived values 130Detail control entities

ID control fields 25matching rules 25Multiple Capture control points 37overview 25Reconciliation control points 43Scan control points 70Single Capture control points 35Tracking controls 72

duplicate source controlabout 86all input files 88specific input file 87

dynamic paths and URLs 22

Eexecute actions 125

about 124delaying 124execute control point action 125execute script action 127

execute control point action 125execute script action 127external table references 162extraction

combining and merging 105defining 109reusable procedures 118rules 116testing 115

extraction rulesgenerating compute rules 113testing 115

Ffunctions, alphabetical listing 213

Hhistory

storing and retrieving 135verifying 137

IID control fields

Detail entity 25Match Data entity 26

inboxesdefining contents 139severity codes 141

index number control fields 27Infogix product support 10instance management

about 94reruns 100retention policies 99viewing 104

instancesautomatically generate option 97create or replace 97options 96

LLatency controls

about 72setting up 73

layout types 21

Page 273: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Index

273Infogix Assure Controls Design Guide

MMatch Data control entities

index number control fields 27matching rules 26Multiple Capture control points 40

Match Set Audit reports 194match sets 46, 49matching rules 25, 26Multiple Capture control points

about 37, 40instance options 97setup considerations 118steps to create 37, 40variables 108

Ooverdue files, detecting 71Overview Multiple Capture control points 36

Ppaths, dynamic 22point-to-point controls

about 88steps to set up 89

procedures for extraction 109, 115product support 10

RRecap Reports 196, 198Reconciliation control points

about 43any-to-any matching 46Match & Merge task 44match sets 49one-to-one matching 46Select & Search task 44steps to create 59

Reconciliation Task report 201relative cycle processing 206reports

available types 187Control Report 191Match Set Audit Report 194Recap Report 196, 198Reconciliation Task Report 201

reruns 100result actions

alert action 142defining 158disabling during testing 16

result templatesdefining 151overview 141status codes 140

resultsassigning 149overview 140setting up 143

retention policies 99return codes 140runcp.bat utility 132runtime field

defining 133extraction 134

runtime fieldsabout 131predefined 134

SScan control points

about 70steps to set up 70

security profile 152, 156, 159, 164, 172severity codes 141simple translation tables

parameters 165Single Capture control points

about 35steps to create 35

source filesdetecting duplicate input files 87specifying locations 15

specialized controls 71duplicate source detection 86latency 72point-to-point 88Timeliness 77

status codes 140storing data in the database 100Summary control entities 24

Page 274: Infogix Assure Controls Design Guide...Draft: For internal review only Infogix Assure Controls Design Guide

Index

274 Infogix, Inc.

Ttechnical support 10testing

adding test data 16control points 15disabling result actions 16extraction rule 115using interface 18

Timeliness controlsabout 77control points 71disabling 85schedule calendar 79setting up 79

Tracking controls 72translation tables

applying the translated values 167, 176complex translation tables 172data conversion 165external table references 162overriding path or URL 22referencing existing tables 162

UURLs, dynamic 22

Vvalidation actions

limiting 124validation rules

about 118conditions 120derived values 121elements 119history verification 137tolerances 120values to use 129when passed actions 122

variable cycleprocessing 209setting up 211

verifying history 137

Wwork fields 108