c2763750 - Application Development Guide
c2763750 - Application Development Guide
Version 9
SC27-6375-00
IBM Datacap
Version 9
SC27-6375-00
Note
Before using this information and the product it supports, read the information in “Notices” on page 995.
This edition applies to Version 8 Release 1 of Datacap (product number 5725-C15) and to all subsequent releases
and modifications until otherwise indicated in new editions.
© Copyright IBM Corporation 2014.
US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract
with IBM Corp.
Contents
About this guide . . . . . . . . . . xvii Remote scanning . . . . . . . . . . 27
Required hardware and software. . . . . . . xvii TravelDocs: Batch creation with VScan . . . . 27
Prerequisite knowledge . . . . . . . . . . xvii Scanning the sample documents from the
ibm.com and related resources . . . . . . . xvii application images folder . . . . . . . . 28
How to send your comments . . . . . . . xviii Modifying the VScan ruleset. . . . . . . 28
Contacting IBM . . . . . . . . . . . xviii Running VScan to generate a batch . . . . 28
Examining the files in the runtime batch
Datacap application development. . . . 1 folder . . . . . . . . . . . . . . 28
Local scanner setup (optional) . . . . . . . 29
Business Requirements and Application Architecture 1
Creating the scan task in the Datacap Web
Business requirements development . . . . . 1
Client . . . . . . . . . . . . . . 30
General Datacap application architecture . . . . 2
Creating a shortcut for the new scan task . . 30
TravelDocs: Business requirements . . . . . . 3
Running the scan task . . . . . . . . . 31
Document types and page types . . . . . . 3
Page Identification . . . . . . . . . . . . 31
Required document structure . . . . . . . 6
Page identification methods . . . . . . . . 31
Fields for each page type . . . . . . . . 7
Fingerprint matching . . . . . . . . . 32
Permissible field values . . . . . . . . . 9
Structure-based page identification . . . . 34
Business validation rules . . . . . . . . 9
Text matching . . . . . . . . . . . 34
Data export format . . . . . . . . . . 10
Manual page identification . . . . . . . 35
Datacap Studio . . . . . . . . . . . . . 11
Image Enhancement . . . . . . . . . . 35
Quick tour of the user interface . . . . . . . 11
Goal of image enhancement . . . . . . . 35
Starting Datacap Server . . . . . . . . 11
When to complete image enhancement . . . 36
Opening a sample Datacap application . . . 11
TravelDocs: Fingerprint library creation . . . . 36
Panel organization within Datacap Studio . . 12
Changing the fingerprint creation method . . 36
The Rulemanager tab . . . . . . . . . 12
Fingerprint creation for known page types . . 37
The Zones tab . . . . . . . . . . . 13
Creating fingerprint classes . . . . . . 37
The Test tab . . . . . . . . . . . . 14
Adding individual fingerprints . . . . . 37
TravelDocs: Start the TravelDocs application . . 14
TravelDocs: Sample fingerprint image
The application framework . . . . . . . 15
enhancement . . . . . . . . . . . . . 38
Connecting to the application . . . . . . 15
Determining appropriate image-processing
Document hierarchy . . . . . . . . . . . 15
settings . . . . . . . . . . . . . . 38
Document structure . . . . . . . . . . 16
Applying new image-processing settings to
Identification of page types from documents . . 16
enhance the fingerprint images . . . . . . 39
Relation of the document hierarchy to the
TravelDocs: Run a batch through the workflow 39
runtime batch hierarchy . . . . . . . . . 17
Processing a batch . . . . . . . . . . 40
Page type versions . . . . . . . . . . . 17
Runtime batch folder contents . . . . . . 40
TravelDocs: Create the document hierarchy . . . 17
Checking the confidence levels on the runtime
Default document hierarchy . . . . . . . 17
pages . . . . . . . . . . . . . . 41
Creating document types . . . . . . . . 18
Rule Execution . . . . . . . . . . . . . 41
Creating page types . . . . . . . . . 18
Association of rules with objects . . . . . . 42
Specifying the structure of documents and
Example 1: Batch-level rule execution. . . . 42
pages within the batch . . . . . . . . 19
Example 2: Page-level rule execution . . . . 42
Creating data fields. . . . . . . . . . 20
Order of rule execution . . . . . . . . . 43
Specifying the structure of fields on each page 21
Example 1: Page identification rules . . . . 45
Sharing field definitions across the document
Example 2: Validation rules . . . . . . . 45
hierarchy . . . . . . . . . . . . . 22
Summary of order of rule execution . . . . 46
The Datacap workflow . . . . . . . . . . 22
TravelDocs: Stepping a batch through the PageID
Understanding the Datacap workflow . . . . 23
task profile . . . . . . . . . . . . . 46
Workflows, jobs, and tasks . . . . . . . 23
Document assembly . . . . . . . . . . . 47
Task profiles and rulesets . . . . . . . . 24
Structured documents . . . . . . . . . . 47
Rulesets, rules, and actions . . . . . . . 25
Hierarchy-based documents . . . . . . . 47
Document input . . . . . . . . . . . . . 25
Assembling documents . . . . . . . 48
Electronic document input (virtual scanning) . . 26
Creation of the page data files . . . . . . 49
Document conversion . . . . . . . . . 26
Document integrity . . . . . . . . . . 49
Hardcopy document scans . . . . . . . . 27
CheckAllIntegrity action . . . . . . . 50
Local scanning . . . . . . . . . . . 27
Document integrity problem management . . 51
Contents v
Locate the field data . . . . . . . . . 179 Running a batch through the workflow. . . 205
Update the runtime data file with the Analyze the Rulerunner log . . . . . . 205
recognized text . . . . . . . . . . . 180 Disabling Rulerunner logging . . . . . . 206
Text matching for data recognition limitations 181 TravelDocs: Handle document integrity failures 206
TravelDocs: Update the application to use text Moving document creation and integrity
matching . . . . . . . . . . . . . . 181 checking into the PageID task profile . . . 207
Identifying unrecognized pages by using text Creating the CreateDocs task . . . . . . 207
matching . . . . . . . . . . . . . 181 Configuring Rulerunner to run CreateDocs 208
Recognizing data with text matching . . . 182 Running a batch through the workflow. . . 208
Attaching the rules to the document TravelDocs: Identify pages manually . . . . 209
hierarchy . . . . . . . . . . . . . 184 Adding a function for manual page
Running a batch through the workflow. . . 184 identification . . . . . . . . . . . 209
Pattern Matching . . . . . . . . . . . . 185 Updating the Recognize Page ruleset . . . 210
Pattern matching overview . . . . . . . . 185 Adding the conditional branch to the PageID
Considerations for using pattern matching 186 task . . . . . . . . . . . . . . 211
Auto registration with the FindFingerprint Creating the ManualPageID job and task . . 211
action . . . . . . . . . . . . . . 187 Configuring branching and creating a
Anchor objects setup . . . . . . . . . . 188 shortcut . . . . . . . . . . . . . 212
Confidence level setup for pattern matching 188 Configuring the Routing ruleset to handle
Geometric pattern matching . . . . . . . 189 manually identified pages . . . . . . . 213
How the PatternMatch_Identify action works 189 Running a batch through the workflow. . . 213
Multiple anchor objects . . . . . . . . 190 Recognizing the data on the unidentified
pat_RegisterZones action to adjust the page . . . . . . . . . . . . . . 214
positions of individual fields . . . . . . 191 TravelDocs: Generating fingerprints
Text-based pattern matching . . . . . . . 192 automatically . . . . . . . . . . . . 215
How the pat_RecogMatch_Id action works 192 Creating the AutoFingerprint ruleset . . . 215
Determine the runtime field positions by Assigning the rule to each page type . . . 216
using anchor offsets . . . . . . . . . 193 Adding the ruleset to the Verify task profile 216
Field adjustment that is based on multiple Enabling logging for Datacap Web Client . . 216
anchors . . . . . . . . . . . . . 194 Running a batch through the workflow. . . 217
TravelDocs: Use geometric pattern matching to Reviewing the RRS log file . . . . . . . 217
identify pages . . . . . . . . . . . . 194 TravelDocs: Splitting a document from the main
Setting up the pattern match anchor objects 194 batch . . . . . . . . . . . . . . . 218
Updating the PageID rule to use pattern Updating the Routing ruleset to split the
matching . . . . . . . . . . . . . 194 batch . . . . . . . . . . . . . . 218
Running a batch through the workflow. . . 195 Assigning the Batch Splitting rule to the
Reviewing the runtime batch files . . . . 196 Close element of the batch . . . . . . . 219
Workflow automation, routing, and automatic Routing the split document to a supervisor 219
fingerprint generation . . . . . . . . . . 196 Creating the supervisor job . . . . . . 219
Use Rulerunner to automate background tasks 197 Configuring the job router . . . . . . 220
Rulerunner overview . . . . . . . . . 197 Configuring the supervisor shortcuts . . 220
Rulerunner configuration . . . . . . . 197 Running a batch through the workflow. . . 221
Rulerunner operation. . . . . . . . . 198 Datacap Web Client and remote scanning . . . . 222
Rulerunner logging . . . . . . . . . 198 Moving the workflow to Datacap Web Client 222
Conditional branching and splitting to route Scanning images remotely . . . . . . . . 222
documents . . . . . . . . . . . . . 198 Configuring the remote scanning client . . . 223
Branching versus splitting . . . . . . . 199 Implementing a start panel . . . . . . . 223
Condition flags . . . . . . . . . . . 199 Populating drop-down lists on a start
Defining a condition and the associated panel . . . . . . . . . . . . . 224
action . . . . . . . . . . . . . . 200 Running validation rules . . . . . . 224
Jobs to handle special conditions . . . . . 201 Remote virtual scanning . . . . . . . . . 225
Creating a job and task . . . . . . . 202 Verification by using the VeriFine web client . . 225
Automatic fingerprint generation . . . . . . 202 Restructure the batch by using the batch tree
TravelDocs: Automated background processing view (VeriFine) . . . . . . . . . . . 226
with Rulerunner . . . . . . . . . . . 203 Configuring the VeriFine client . . . . . 226
Defining background tasks in Datacap Configuring additional VeriFine settings . . 228
Application Manager . . . . . . . . . 203 Creating custom pages . . . . . . . . 229
Setting up background tasks in Rulerunner Verification, page identification, and registration
Manager . . . . . . . . . . . . . 204 by using AIndex . . . . . . . . . . . 230
Enabling Rulerunner logging . . . . . . 204 Restructure the batch by using the batch tree
Setting up the Job Monitor . . . . . . . 204 view (AIndex) . . . . . . . . . . . 230
Contents vii
@DCO(<property_name>) . . . . . . . . 280 Text . . . . . . . . . . . . . . . 300
@DICT_VALUE(<field>) . . . . . . . . . 280 Zone_Offset . . . . . . . . . . . . . 300
@DICT_WORD(<field>) . . . . . . . . . 281
@DICT_VINDEX(<csv_string>) . . . . . . 281 Application-specific variable reference 301
@DICT_WINDEX(csv_string) . . . . . . . 281 Medical Claims 5010 form configuration
@EMPTY . . . . . . . . . . . . . . 281 parameters . . . . . . . . . . . . . . 301
@PATH(<key>) . . . . . . . . . . . . 281 5010 Institutional form configuration variables 301
@PILOT(<property_name>). . . . . . . . 282 5010 Professional form configuration variables 312
@PROJECTDIR . . . . . . . . . . . . 283
@PROCESSDIR . . . . . . . . . . . . 283
Action library summaries . . . . . . 325
@STRING(<string_value>) . . . . . . . . 283
Global actions . . . . . . . . . . . . . 325
@TIME(<format>) . . . . . . . . . . . 283
Autodoc actions . . . . . . . . . . . 325
@TYPE . . . . . . . . . . . . . . 284
BlankPagesIDBySize . . . . . . . . . 325
CalculateOffset . . . . . . . . . . . 326
Standard Variable Reference . . . . . 285 CreateFingerprint . . . . . . . . . . 326
Variables that are used on all object types . . . . 285 DeleteFingerprint . . . . . . . . . . 327
MAX_TYPES . . . . . . . . . . . . 285 FindBlackFingerprint . . . . . . . . . 327
MESSAGE . . . . . . . . . . . . . 285 FindFingerprint . . . . . . . . . . 328
MIN_TYPES . . . . . . . . . . . . . 285 FindTemplate . . . . . . . . . . . 329
rules . . . . . . . . . . . . . . . 286 MergeCCOs_ByType . . . . . . . . . 330
STATUS . . . . . . . . . . . . . . 286 SetApplicationID . . . . . . . . . . 330
TYPE . . . . . . . . . . . . . . . 287 SetFilter_HostName . . . . . . . . . 331
hr_locale . . . . . . . . . . . . . . 288 SetFilter_PageType . . . . . . . . . 331
Batch variables . . . . . . . . . . . . . 288 SetFingerprint . . . . . . . . . . . 332
LAST_RR_PROFILE . . . . . . . . . . 288 SetFingerprintDir . . . . . . . . . . 332
Document variables . . . . . . . . . . . 288 SetFingerprintFailureThreshold . . . . . 333
DD . . . . . . . . . . . . . . . . 288 SetFingerprintSearchArea . . . . . . . 334
Page variables . . . . . . . . . . . . . 288 SetFingerprintWebServiceURL . . . . . . 335
Confidence . . . . . . . . . . . . . 289 SetMaxOffset . . . . . . . . . . . 336
DATAFILE . . . . . . . . . . . . . 289 SetProblemValue . . . . . . . . . . 336
Fingerprint Created . . . . . . . . . . 289 SetSearchArea . . . . . . . . . . . 337
Image_Offset . . . . . . . . . . . . 289 SetTemplateDir . . . . . . . . . . . 337
IMAGEFILE . . . . . . . . . . . . . 289 UpdateFingerprintStats . . . . . . . . 338
PatternConfidence . . . . . . . . . . . 290 Barcode_P actions . . . . . . . . . . . 338
PD . . . . . . . . . . . . . . . . 290 Get2DCodeBP . . . . . . . . . . . 338
ScanSrcPath . . . . . . . . . . . . . 290 GetAllBarcodesBP . . . . . . . . . . 339
TEMPLATE IMAGE . . . . . . . . . . 290 GetBarcodeBP . . . . . . . . . . . 340
TemplateID . . . . . . . . . . . . . 291 GetDataMatrixCodeBP . . . . . . . . 342
Field variables . . . . . . . . . . . . . 291 IdentifyByBarcodesBP . . . . . . . . 342
DataType . . . . . . . . . . . . . . 291 MatchBarcodeBP . . . . . . . . . . 343
DensityString . . . . . . . . . . . . 291 MatchBarcodePrefixBP . . . . . . . . 344
DICT . . . . . . . . . . . . . . . 292 ReadBarCodeBP . . . . . . . . . . 345
Index . . . . . . . . . . . . . . . 292 SetMinimumConfidenceBP . . . . . . . 346
Label . . . . . . . . . . . . . . . 292 Barcode_X actions . . . . . . . . . . . 346
Lookup . . . . . . . . . . . . . . 293 GetBarCode . . . . . . . . . . . . 346
LookupEx . . . . . . . . . . . . . 293 MatchBarcode . . . . . . . . . . . 347
MaxLength . . . . . . . . . . . . . 294 ReadBarCode . . . . . . . . . . . 348
METRIC . . . . . . . . . . . . . . 294 CC actions . . . . . . . . . . . . . 349
MultiLine . . . . . . . . . . . . . 295 FindFingerprintCC . . . . . . . . . 349
MultiPunch . . . . . . . . . . . . . 295 SetKnowledgeBaseCC . . . . . . . . 349
PatternMatch . . . . . . . . . . . . 295 SetLanguageCC . . . . . . . . . . 350
PictureString . . . . . . . . . . . . 296 SetListenerURLCC. . . . . . . . . . 351
Pos<templateID> . . . . . . . . . . . 297 SetProblemValueCC . . . . . . . . . 351
Position . . . . . . . . . . . . . . 297 UpdateKnowledgeBaseCC . . . . . . . 352
ReadOnly . . . . . . . . . . . . . 297 Cco2cco actions. . . . . . . . . . . . 353
RecogStatus . . . . . . . . . . . . . 298 NormalizeCCO . . . . . . . . . . . 353
RecogType . . . . . . . . . . . . . 298 SetMaxCharacterHeightAVG . . . . . . 355
ReqConf . . . . . . . . . . . . . . 298 SetMaxCharacterHeightTMM . . . . . . 355
SELECT . . . . . . . . . . . . . . 298 CMISClient actions . . . . . . . . . . 356
ShowChar . . . . . . . . . . . . . 299 CMISCreateFolder . . . . . . . . . . 356
Sticky . . . . . . . . . . . . . . . 299
Contents ix
dcpdf_MakePDFDoc . . . . . . . . . 439 FixedLenLJ . . . . . . . . . . . . 479
dcpdf_MaxSizeToReconvert. . . . . . . 441 FixedLenRJ . . . . . . . . . . . . 480
dcpdf_SetApplication. . . . . . . . . 442 GetDATE . . . . . . . . . . . . . 481
dcpdf_SetAuthor . . . . . . . . . . 442 GetProfileString . . . . . . . . . . 481
dcpdf_SetImageBitcount . . . . . . . . 443 GetTime . . . . . . . . . . . . . 482
dcpdf_SetImageCompression . . . . . . 444 LineItem_AddElement . . . . . . . . 483
dcpdf_SetImageGrayscale . . . . . . . 445 LineItem_BlankFields. . . . . . . . . 483
dcpdf_SetImageQuality . . . . . . . . 445 LineItem_ClearElements . . . . . . . . 484
dcpdf_SetImageResolution . . . . . . . 446 LineItem_ExportElements . . . . . . . 485
dcpdf_SetKeywords . . . . . . . . . 447 LineItem_SmartParameter . . . . . . . 485
dcpdf_SetProducer . . . . . . . . . 447 NewLine . . . . . . . . . . . . . 486
dcpdf_SetSubject . . . . . . . . . . 448 PageVariable_ExportValue . . . . . . . 487
dcpdf_SetTitle . . . . . . . . . . . 448 ResetFieldVariables . . . . . . . . . 487
dcpdf_UseAltConversionMethod . . . . . 449 SaveFilePathAsVariable . . . . . . . . 488
Documentum actions . . . . . . . . . . 450 SetCSV . . . . . . . . . . . . . 488
DM_Logon . . . . . . . . . . . . 450 SetElementSeparator . . . . . . . . . 489
DM_SetContentType . . . . . . . . . 451 SetExportPath . . . . . . . . . . . 490
DM_SetFolderName . . . . . . . . . 451 SetExtensionName. . . . . . . . . . 490
DM_SetObjectName . . . . . . . . . 452 SetFileName . . . . . . . . . . . . 491
DM_UploadDocument . . . . . . . . 453 SetFill . . . . . . . . . . . . . . 492
DM_UploadPage . . . . . . . . . . 454 SetFixedLength . . . . . . . . . . . 492
Email actions . . . . . . . . . . . . 454 SetIgnoreFieldStatus . . . . . . . . . 493
SendEMail . . . . . . . . . . . . 454 SetJustified . . . . . . . . . . . . 493
SetAttachment . . . . . . . . . . . 455 SetOMR_Separator . . . . . . . . . 494
SetBlindCarbonCopyRcpts . . . . . . . 455 SetSpaceFill . . . . . . . . . . . . 494
SetCarbonCopyRcpts . . . . . . . . . 456 SetZeroFill . . . . . . . . . . . . 495
SetEmailBody . . . . . . . . . . . 456 Text . . . . . . . . . . . . . . 496
SetMailServer . . . . . . . . . . . 457 Variable_ExportValue . . . . . . . . . 496
SetRecipients . . . . . . . . . . . 458 Variable_IsValue . . . . . . . . . . 497
SetSender. . . . . . . . . . . . . 458 ExportDB actions . . . . . . . . . . . 497
SetSubject . . . . . . . . . . . . 459 AddRecord . . . . . . . . . . . . 497
Equalize actions . . . . . . . . . . . 459 ExportBatchIDToColumn . . . . . . . 498
EqualizeUnbalancedImage . . . . . . . 460 ExportCloseConnection . . . . . . . . 499
Ewsmail actions . . . . . . . . . . . 460 ExportFieldToColumn . . . . . . . . 500
ex_abort_time . . . . . . . . . . . 460 ExportNodeXMLToColumn . . . . . . . 501
ex_done_folder . . . . . . . . . . . 461 ExportOpenConnection . . . . . . . . 502
ex_EMLOption . . . . . . . . . . . 462 ExportPropertyToColumn . . . . . . . 503
ex_ews_version. . . . . . . . . . . 463 ExportSmartParamToColumn . . . . . . 504
ex_HTTP_timeout . . . . . . . . . . 464 ExportToColumn . . . . . . . . . . 505
ex_load_properties_option . . . . . . . 464 SetTableName . . . . . . . . . . . 506
ex_login . . . . . . . . . . . . . 465 ExportXML actions . . . . . . . . . . 507
ex_logout. . . . . . . . . . . . . 466 xml_CommitNode . . . . . . . . . . 507
ex_max_docs . . . . . . . . . . . 467 xml_NewNode . . . . . . . . . . . 507
ex_problem_folder. . . . . . . . . . 468 xml_SaveFile . . . . . . . . . . . 508
ex_scan . . . . . . . . . . . . . 468 xml_SetAttributeValue . . . . . . . . 509
ex_types . . . . . . . . . . . . . 470 xml_SetExportPath . . . . . . . . . 509
ex_wait_time . . . . . . . . . . . 471 xml_SetFileName . . . . . . . . . . 510
Export actions . . . . . . . . . . . . 472 xml_SetNodeValue . . . . . . . . . 510
BatchVariable_ExportValue . . . . . . . 472 FileIO actions . . . . . . . . . . . . 511
BlankFields . . . . . . . . . . . . 472 CheckFreeDiskSpace . . . . . . . . . 511
BlankLines . . . . . . . . . . . . 473 CopyDirectory . . . . . . . . . . . 512
BPilot . . . . . . . . . . . . . . 473 CopyFile . . . . . . . . . . . . . 513
CloseExportFile. . . . . . . . . . . 474 DeleteDirectory. . . . . . . . . . . 514
DCOProperty . . . . . . . . . . . 475 DeleteFile . . . . . . . . . . . . 515
DocumentVariable_ExportValue . . . . . 476 GetFileSize . . . . . . . . . . . . 516
ExportAllFields. . . . . . . . . . . 476 GetProfileString . . . . . . . . . . 517
ExportFieldValue . . . . . . . . . . 477 IsDirectoryPresent . . . . . . . . . . 518
ExportMYValue . . . . . . . . . . 477 IsFilePresent . . . . . . . . . . . . 519
ExportSmartParameter . . . . . . . . 478 IsFileReadOnly . . . . . . . . . . . 520
ExportToBatchDir . . . . . . . . . . 478 IsProfilePresent . . . . . . . . . . . 521
Filler . . . . . . . . . . . . . . 479 RenameFile . . . . . . . . . . . . 522
Contents xi
im_SortByDate . . . . . . . . . . . 605 ReadFPXMLZones. . . . . . . . . . 640
im_StoreEML . . . . . . . . . . . 606 SaveObjectVariable . . . . . . . . . 640
im_types . . . . . . . . . . . . . 606 ScanLineItemDynamic . . . . . . . . 641
im_UseSSL . . . . . . . . . . . . 607 SendOutlookNotification . . . . . . . 641
im_wait_time . . . . . . . . . . . 608 SetDynamicDetailZones . . . . . . . . 642
Imprint actions . . . . . . . . . . . . 609 SetPicChar . . . . . . . . . . . . 642
AnnotateImage . . . . . . . . . . . 609 SetStickyNo . . . . . . . . . . . . 642
ImPrint . . . . . . . . . . . . . 610 SetToDocIDMPTIFF . . . . . . . . . 643
Redact. . . . . . . . . . . . . . 610 SwapImages . . . . . . . . . . . . 643
RedactByRegEx . . . . . . . . . . . 611 SwitchMMDD . . . . . . . . . . . 644
RedactParameters . . . . . . . . . . 612 UpdateFPStats . . . . . . . . . . . 645
SetAdjustedWidth . . . . . . . . . . 613 ValidateVendor . . . . . . . . . . . 645
SetFontName . . . . . . . . . . . 614 WriteErrorMessage . . . . . . . . . 646
SetFontSize . . . . . . . . . . . . 614 IOverlay actions . . . . . . . . . . . 646
SetOpaque . . . . . . . . . . . . 615 Overlay . . . . . . . . . . . . . 646
Intellocate actions . . . . . . . . . . . 615 SetBackgroundImage . . . . . . . . . 647
iloc_AdjustZones . . . . . . . . . . 615 SetDitheringBackground. . . . . . . . 648
iloc_AssignPageType . . . . . . . . . 616 SetHaloBackground . . . . . . . . . 648
iloc_SetDetailZones . . . . . . . . . 617 Locate actions . . . . . . . . . . . . 649
iloc_SetZones . . . . . . . . . . . 617 AddKeyList . . . . . . . . . . . . 649
IsPageDataMissing . . . . . . . . . 618 AggregateKeyList . . . . . . . . . . 650
Invoice actions . . . . . . . . . . . . 619 DefaultValue . . . . . . . . . . . 650
AddToDetailErrorMsg . . . . . . . . 619 FilterIt. . . . . . . . . . . . . . 651
AddToErrorMsg . . . . . . . . . . 619 FindDBList . . . . . . . . . . . . 651
AllMixedCase . . . . . . . . . . . 620 FindDBList_InZone . . . . . . . . . 652
AllowOnlyChars . . . . . . . . . . 620 FindKeyList . . . . . . . . . . . . 653
AlterDatebyDay . . . . . . . . . . 621 FindKeyList_InZone . . . . . . . . . 654
CalculateNotesZone . . . . . . . . . 621 FindLastKeyList . . . . . . . . . . 655
CaptureOpInfo . . . . . . . . . . . 622 FindLastKeyList_InZone. . . . . . . . 656
CheckAndFixDecimal . . . . . . . . 622 FindLastRegEx . . . . . . . . . . . 657
CheckForSticky . . . . . . . . . . . 623 FindLastRegEx_InZone . . . . . . . . 657
CheckFreeDiskSpace . . . . . . . . . 624 FindLastRegExList. . . . . . . . . . 658
ClearErrorMsg . . . . . . . . . . . 624 FindLastRegExList_InZone . . . . . . . 659
CreateFingerprint . . . . . . . . . . 625 FindLastWord . . . . . . . . . . . 660
DetailFix . . . . . . . . . . . . . 625 FindLastWord_InZone . . . . . . . . 661
DoMsgbox . . . . . . . . . . . . 626 FindNextDBList . . . . . . . . . . 661
ExecuteSQLBind . . . . . . . . . . 626 FindNextDBList_InZone . . . . . . . . 662
FindExportImage . . . . . . . . . . 627 FindNextKeyList . . . . . . . . . . 663
FPXMLUsed. . . . . . . . . . . . 627 FindNextKeyList_InZone . . . . . . . 664
GenerateDetails . . . . . . . . . . 628 FindNextRegExList . . . . . . . . . 665
iloc_SetDetailSimple . . . . . . . . . 628 FindNextRegExList_InZone. . . . . . . 666
IncrementBatchVar . . . . . . . . . 629 FindRegExList . . . . . . . . . . . 667
IsChildFieldBlank . . . . . . . . . . 629 FindRegExList_InZone . . . . . . . . 668
IsChildFieldValue . . . . . . . . . . 630 GoAboveWord . . . . . . . . . . . 669
IsCurrentObjValue . . . . . . . . . . 631 GoBelowWord . . . . . . . . . . . 669
IsCurrentObjVariable . . . . . . . . . 631 GoDownLine . . . . . . . . . . . 670
IsFingerPrintClass . . . . . . . . . . 631 GoFirstLine . . . . . . . . . . . . 671
IsInINI . . . . . . . . . . . . . 632 GoFirstWord. . . . . . . . . . . . 671
IsInList . . . . . . . . . . . . . 632 GoLastLine . . . . . . . . . . . . 672
IsMultipageDocument . . . . . . . . 633 GoLastWord . . . . . . . . . . . . 672
IsSinglePageDocument . . . . . . . . 633 GoLeftWord . . . . . . . . . . . . 673
IsStationIDSuffix . . . . . . . . . . 634 GoRightWord . . . . . . . . . . . 674
IsTaskName . . . . . . . . . . . . 634 GoUpLine . . . . . . . . . . . . 674
Is_InCharSet. . . . . . . . . . . . 635 GroupWords . . . . . . . . . . . 675
Is_JobName . . . . . . . . . . . . 636 GroupWordsLEFT . . . . . . . . . . 676
Is_JobNamePrefix . . . . . . . . . . 636 GroupWordsRIGHT . . . . . . . . . 676
LoadCCOFromField . . . . . . . . . 637 IsAlpha . . . . . . . . . . . . . 677
MovePDF . . . . . . . . . . . . 637 IsCurrency . . . . . . . . . . . . 678
OpenConnection . . . . . . . . . . 638 IsDateValue . . . . . . . . . . . . 679
ParseImageName . . . . . . . . . . 638 IsNumber . . . . . . . . . . . . 679
PopulateZNLineItemFieldDynamic . . . . 639 IsValue . . . . . . . . . . . . . 680
Contents xiii
ProcessMoveBatches . . . . . . . . 766 Disconnect . . . . . . . . . . . . 817
ProcessMoveBatchesEx . . . . . . . 767 ImportFaxes . . . . . . . . . . . . 817
ProcessMoveDBRecords . . . . . . . 768 SendAsFax . . . . . . . . . . . . 818
ProcessResetPendingOrNotify . . . . . 770 SetAbortTimeout . . . . . . . . . . 819
ProcessRunSqlQuery . . . . . . . . 771 SetFaxRemovalAfterImport . . . . . . . 820
Logging actions . . . . . . . . . . 772 SetInputFolder . . . . . . . . . . . 821
LogClear . . . . . . . . . . . . 772 SetMaxNumberOfFaxes . . . . . . . . 822
LogConfigure . . . . . . . . . . 773 SetNumberOfRetries . . . . . . . . . 822
LogSendEmail . . . . . . . . . . 774 SetPollingInterval . . . . . . . . . . 823
LogWriteEventLog. . . . . . . . . 775 SetProcessedFaxesFolder. . . . . . . . 824
LogWriteRecordSet . . . . . . . . 776 SetProtocol . . . . . . . . . . . . 825
LogWriteSQLQuery . . . . . . . . 777 SetRetryTimeout . . . . . . . . . . 826
Reporting actions . . . . . . . . . . 777 SetServerName . . . . . . . . . . . 826
ReportQueryTMUsage . . . . . . . 778 SetUserID . . . . . . . . . . . . 827
ReportSetReportingTable . . . . . . 778 SetUserPassword . . . . . . . . . . 828
ReportSetUsageDBTable . . . . . . . 779 SetWindowsAuthentication . . . . . . . 829
OCR_A actions . . . . . . . . . . . . 780 PatternMatch actions . . . . . . . . . . 830
EnableEngineLogsOCR_A . . . . . . . 781 MatchPattern . . . . . . . . . . . 830
OCRA_ConvertImage2BW . . . . . . . 781 pat_RecogMatch_Id . . . . . . . . . 831
RecognizeBarcodeOCR_A . . . . . . . 782 pat_RegisterZones . . . . . . . . . . 832
RecognizeFieldOCR_A . . . . . . . . 782 pat_ReleasePageAnchors . . . . . . . 833
RecognizeFieldVoteOCR_A . . . . . . . 783 PatternMatch_Fingerprint . . . . . . . 833
RecognizePageFieldsOCR_A . . . . . . 784 PatternMatch_Identify . . . . . . . . 834
RecognizePageOCR_A . . . . . . . . 785 PatternMatch_PageType . . . . . . . . 835
RecognizeToALTOOCR_A . . . . . . . 785 SetMatchConfidence . . . . . . . . . 836
RecognizeToPDFOCR_A. . . . . . . . 787 Picture actions . . . . . . . . . . . . 837
ReleaseEngineOCR_A . . . . . . . . 789 PIC_ApplyPictureString . . . . . . . . 837
RotateImageOCR_A . . . . . . . . . 789 PIC_FilterFields . . . . . . . . . . 838
SetAutoRotationOCR_A . . . . . . . . 790 PIC_FormatFields . . . . . . . . . . 839
SetConfCalculationParamsOCR_A . . . . 791 PIC_ReplaceBlankField . . . . . . . . 841
SetFastModeOCR_A . . . . . . . . . 791 PIC_SetPictureCharacter . . . . . . . . 842
OCR_N actions . . . . . . . . . . . . 792 PIC_ValidateField . . . . . . . . . . 842
RecognizePageFieldsOCR_N . . . . . . 792 POLR actions . . . . . . . . . . . . 843
RecognizePageOCR_N . . . . . . . . 793 CallPOLR . . . . . . . . . . . . 843
OCR_S actions . . . . . . . . . . . . 794 Recog_Shared actions. . . . . . . . . . 844
RecognizeDocToPDF . . . . . . . . . 794 AnalyzeImage . . . . . . . . . . . 844
RecognizeFieldOCR_S . . . . . . . . 795 CCONormalization_OFF. . . . . . . . 845
RecognizeFieldVoteOCR_S . . . . . . . 795 CreateTextFile . . . . . . . . . . . 846
RecognizePageFields2CCO_OCR_S . . . . 796 IsBlankPage . . . . . . . . . . . . 847
RecognizePageFieldsOCR_S . . . . . . 797 RecogContinueOnFailure . . . . . . . 848
RecognizePageOCR_S . . . . . . . . 798 RecogOMRThresh . . . . . . . . . . 849
RecognizePageOCR_S_2TextFile . . . . . 799 RecogOMRThreshold . . . . . . . . . 849
RecognizeToFile_OCR_S . . . . . . . . 800 RegisterPageFields. . . . . . . . . . 851
RecognizeToPDF . . . . . . . . . . 801 ReleaseImage . . . . . . . . . . . 852
RotateImage . . . . . . . . . . . . 802 RotateTio . . . . . . . . . . . . . 852
SetEngineTimeout . . . . . . . . . . 803 SetAdjustFieldToChars . . . . . . . . 853
SetFastTradeOffOCR_S . . . . . . . . 805 SetFingerprintRecogPriority . . . . . . 854
SetLegacyDecompositionOCR_S . . . . . 805 SetFullPageRecogArea . . . . . . . . 854
OCR_SR actions . . . . . . . . . . . 806 SetOutOfProcessRecogTimeout . . . . . 855
RecognizeFieldOCR_S . . . . . . . . 806 SetRecogFailureRetryDelay . . . . . . . 856
RecognizeFieldVoteOCR_S . . . . . . . 807 SnapCCOtoDCO . . . . . . . . . . 857
RecognizePageFieldsOCR_S . . . . . . 808 SnapDCOtoCCO . . . . . . . . . . 858
RecognizePageOCR_S . . . . . . . . 808 SnapFieldtoChars . . . . . . . . . . 858
RecognizeToFileOCR_S . . . . . . . . 809 UseOutOfProcessRecog . . . . . . . . 859
RecognizeToPDFOCR_S . . . . . . . . 811 rrunner actions . . . . . . . . . . . . 860
RotateImageOCR_S . . . . . . . . . 812 AbortOnError . . . . . . . . . . . 860
SetEngineTimeoutOCR_S . . . . . . . 813 CheckAllIntegrity . . . . . . . . . . 861
OpenTextFaxServer actions . . . . . . . . 814 CheckDocCount . . . . . . . . . . 861
Connect . . . . . . . . . . . . . 814 CheckPageCount . . . . . . . . . . 862
ContinueOnConnectionError . . . . . . 815 DebugMode_OFF . . . . . . . . . . 862
ContinueOnFaxImportError . . . . . . 816 DebugMode_ON . . . . . . . . . . 863
Contents xv
ReadPageVariableValue . . . . . . . . 935 FindZoneLineItems . . . . . . . . . 968
ReplaceChars . . . . . . . . . . . 936 GetZoneText. . . . . . . . . . . . 969
ReplaceValueAtPosition . . . . . . . . 937 InheritParentPosition . . . . . . . . . 969
ResetField . . . . . . . . . . . . 937 LoadBlockCCO . . . . . . . . . . . 970
RightTruncate . . . . . . . . . . . 938 LoadZones . . . . . . . . . . . . 970
SaveAsCurrentObjVariable . . . . . . . 938 MCCOPositionAdjust. . . . . . . . . 971
SaveAsPageVariable . . . . . . . . . 938 MergeZones . . . . . . . . . . . . 972
SetIsOverrideable . . . . . . . . . . 939 PadZone . . . . . . . . . . . . . 972
SplitFieldValueLeft . . . . . . . . . 940 PopulateZNField . . . . . . . . . . 973
SplitFieldValuePreserveEnd. . . . . . . 940 PopulateZNLineItemField . . . . . . . 973
SplitFieldValuePreserveStart . . . . . . 940 ReadZones . . . . . . . . . . . . 974
SplitFieldValueRight . . . . . . . . . 941 RegisterPage . . . . . . . . . . . 974
SumFields . . . . . . . . . . . . 941 ScanDetails . . . . . . . . . . . . 975
TimeStampField . . . . . . . . . . 942 ScanDetailsByLines . . . . . . . . . 976
TrimSpaces . . . . . . . . . . . . 943 ScanDetailsByVSpace . . . . . . . . . 976
TruncateFromEnd . . . . . . . . . . 943 ScanLineItem . . . . . . . . . . . 977
TruncateFromStart . . . . . . . . . . 944 SetEOL . . . . . . . . . . . . . 977
Vote actions . . . . . . . . . . . . . 944 SetEOL_CRLF . . . . . . . . . . . 978
VoteFld . . . . . . . . . . . . . 944 ZoneBOTTOM_ImageBottom . . . . . . 978
Vscan actions . . . . . . . . . . . . 945 ZoneBOTTOM_LowerBound . . . . . . 979
AddDocument . . . . . . . . . . . 945 ZoneBOTTOM_UpperBound . . . . . . 980
CopyFile . . . . . . . . . . . . . 946 ZoneImage_SaveAs . . . . . . . . . 980
DeleteImageFile . . . . . . . . . . 947 ZoneLEFT_ImageLeft. . . . . . . . . 981
MoveImageFileToDirectory . . . . . . . 947 ZoneLEFT_LeftBound . . . . . . . . 982
Scan . . . . . . . . . . . . . . 948 ZoneLEFT_RightBound . . . . . . . . 982
SearchInSubdirectory . . . . . . . . . 949 ZoneRIGHT_ImageRight . . . . . . . 983
SetAlternateImageNames . . . . . . . 949 ZoneRIGHT_LeftBound . . . . . . . . 983
SetFastMode. . . . . . . . . . . . 950 ZoneRIGHT_RightBound . . . . . . . 984
SetImageType . . . . . . . . . . . 951 ZoneTOP_ImageTop . . . . . . . . . 984
SetMailSourceFolder . . . . . . . . . 951 ZoneTOP_LowerBound . . . . . . . . 985
SetMaxImageFiles . . . . . . . . . . 952 ZoneTOP_UpperBound . . . . . . . . 985
SetMultiPageTiff . . . . . . . . . . 953 Application specific actions. . . . . . . . . 986
SetSortOrder . . . . . . . . . . . 953 Medical Claims actions . . . . . . . . . 986
SetSourceDirectory . . . . . . . . . 954 4010Common . . . . . . . . . . . 986
Web Services actions . . . . . . . . . . 955 4010Institutional . . . . . . . . . . 986
WsCompare . . . . . . . . . . . . 955 4010Professional . . . . . . . . . . 987
WsDownloadFile . . . . . . . . . . 956 5010Common . . . . . . . . . . . 987
WsExecute . . . . . . . . . . . . 956 5010Institutional . . . . . . . . . . 987
WsGetLineItems . . . . . . . . . . 957 5010Professional . . . . . . . . . . 987
WsGetValue . . . . . . . . . . . . 958 MC_Identify. . . . . . . . . . . . 987
WsMessageLineItemPropertyAdd . . . . 958 MC_Validation . . . . . . . . . . . 987
WsMessageLineItemPropertySet . . . . . 959 Datacap Accounts Payable actions . . . . . 989
WsSetHeaderValue . . . . . . . . . 959 APT_Localization . . . . . . . . . . 990
WsSetMessageLineItemProperty . . . . . 960 APTCustom . . . . . . . . . . . . 990
WsSetMessageProperty . . . . . . . . 960 ConcatLineValues . . . . . . . . . . 991
WsSetMessageTemplate . . . . . . . . 961 Documents . . . . . . . . . . . . 991
WsSetResponseNameSpace . . . . . . . 962 FlexID . . . . . . . . . . . . . . 992
WsUploadFile . . . . . . . . . . . 962 Intellocate_Learning . . . . . . . . . 992
WsUrlReplaceValue . . . . . . . . . 963 PageID . . . . . . . . . . . . . 992
WsUrlSet . . . . . . . . . . . . . 963 PreVerifySetup . . . . . . . . . . . 993
Zones actions . . . . . . . . . . . . 964 Redaction . . . . . . . . . . . . 993
AdjustZonesToImageOffset . . . . . . . 964
AnchorPage . . . . . . . . . . . . 964 Notices . . . . . . . . . . . . . . 995
CalculateLocalOffset . . . . . . . . . 965 Trademarks . . . . . . . . . . . . . . 997
CreateBlockCCO . . . . . . . . . . 965 Privacy policy considerations . . . . . . . . 997
FindBlocks_WhiteSpace . . . . . . . . 966
FindDataBlocks. . . . . . . . . . . 966
Index . . . . . . . . . . . . . . . 999
FindLineItems . . . . . . . . . . . 967
FindRegExBlocks . . . . . . . . . . 967
In the practice sections, you create an application called TravelDocs that processes
travel documents - car rental agreements, hotel receipts, and flight tickets. To
follow the instructions and build the application, you must download the sample
image files that are provided. These include several samples of each page type
from different vendors, so you will see how to capture and verify data in a way
that is independent of the location of the data on the page. You can download the
sample images from the same location where you downloaded this information.
Prerequisite knowledge
Familiarity with the following is helpful but not required:
v Basic structured and object oriented programming concepts
v XML
Product support is available on the Web. Click Support from the product Web site
at:
Datacap
http://www.ibm.com/support/entry/portal/Software/
Enterprise_Content_Management/Datacap_Taskmaster_Capture
Knowledge Center
You can view the product documentation on ibm.com. See Knowledge Center at
http://www.ibm.com/support/knowledgecenter/SSZRWV_9.0.0/.
PDF publications
You can view the PDF files online using the Adobe Acrobat Reader for your
operating system. If you do not have the Acrobat Reader installed, you can
download it from the Adobe Web site at http://www.adobe.com.
Consumability survey
Tell us how you feel about the value of quality content by taking the Importance of
High Quality Technical Information survey at the following link:
http://www.ibm.com/survey/oid/wsb.dll/s/ag2c1. If you want to help IBM
make this product easier to install and use, take the Consumability Survey at the
following link: http://www.ibm.com/software/data/info/consumability-survey/.
Contacting IBM
To contact IBM customer service in the United States or Canada, call
1-800-IBM-SERV (1-800-426-7378).
For more information about how to contact IBM, see the Contact IBM Web site at
http://www.ibm.com/contact/us/.
The following topics show how to develop the business requirements for a
Datacap application. They show the general Datacap application architecture so
that you can begin mapping the business requirements to the application model.
Datacap applications vary in their scale and complexity. But they all seek to
capture data from structured documents, which are also known as Forms. The
documents can be printed pages or electronic images, but the data on the page
must be first located and then interpreted with maximum accuracy.
If you are processing various document types, you must decide whether the
documents are pre-sorted or processed as a mixed batch. If they are presorted, you
can simplify implementation by processing each type independently, either with a
separate application or a separate workflow for each type. However, if they are
processed as mixed batches, you need a more sophisticated system of page
identification and document assembly.
Although the goal is to create a fully automated system, there are inevitably points
at which manual intervention is required. The business requirements must specify
how to determine whether the information is accurate and what to do when there
is a problem. After you defined the business requirements, you can design the
application.
Although each Datacap application is different, most include seven basic steps.
Table 1. Flow chart of seven basic steps of an application, from page input to data export
Application step Description
Page input Scan a batch of hardcopy pages or import
electronic documents into your application.
The output from this stage is a batch of
individual TIFF image files. Each page is
initially assigned the page type Other.
Page identification Perform image enhancement to improve the
image quality. Then, determine each page
type, automatically or by displaying it to an
operator for manual identification if
necessary. The goal is to identify the page
type, but not a variant (for example, an
airline ticket, but not a ticket from a specific
airline).
Document assembly Organize the individual page files into a
document according to predefined document
definitions (for example, a form might have
two required pages and an optional
attachment). Run document integrity
confirmation to ensure that each document
satisfies the rules for that document type.
Data recognition On each page, locate the data fields for that
page type (for example, an airline ticket
contains a passenger name, a departure
airport). Then, use a Datacap recognition
engine to obtain the character data for each
field. The recognition engine indicates the
degree of confidence for each character.
Data validation Check the validity of specific fields. For
example, you can check for valid dates, valid
field formats, and correct totals. You can also
complete searches to ensure that a state
abbreviation is valid, or a purchase order
number matches an item in a purchase order
database.
Data verification Display low-confidence data and fields that
failed validation to an operator for
verification, correction, and exception
handling. When the operator submits the
batch, the application runs the validation
rules again to ensure that all data satisfies
the validation criteria.
These documents include car rental receipts, hotel receipts, and air tickets. The
document types and page types are summarized in the table.
Hotel Meals
Other Charges
Flight Air Ticket
To consider each document type, you need to look at the sample images that are
installed in \datacap\traveldocs\images folder.
Car Rental
The car rental documents have one required page and one optional page. Initially,
the application supports documents from three car rental companies: Car Rental
#1, Car Rental #2, and Car Rental #3.
As with the rental agreement pages, the fields are common to all pages, but the
position of each field is different for each variant.
Hotel
The hotel documents have one required page and two optional pages. Initially, the
application supports documents from three hotel chains: Hotel #1, Hotel #2, and
Hotel #3.
The following samples are the optional hotel pages Hotel4.tif and Hotel5.tif.
Vendor: Hotel #3
Item
Date: 10-24-10
Description: Dinner
Cost: $48.81
Item
Date: 10-25-10
Description: Breakfast
Cost: $12.28
Item
Date: 10-25-10
Description: Dinner
Cost: $46.41
Item
Date: 10-26-10
Description: Breakfast
Cost: $12.28
Total Cost: $119.78
Vendor: Hotel #3
Item
Date: 10-24-10
Description: Internet
Cost: $5.95
Item
Date: 10-25-10
Description: Laundry
Cost: $14.00
Item
Date: 10-25-10
Description: Internet
Cost: $5.95
Item
Date: 10-26-10
Description: Parking
Cost: $52.35
Total Cost: $78.25
Flight
Flight documents have one required page and no optional pages. Initially, the
application supports documents from three airlines: Airline #1, Airline #2, and
Airline #3.
The three sample air ticket pages in the \datacap\traveldocs\images folder are
Flight1.tif, Flight2.tif, and Flight3.tif. As with the other pages, these fields
are common to all pages, although the positions of the fields are different for each
page.
Vendor: Airline #1
Outbound From: New York/Newark (EWR)
Outbound To: San Francisco (SFO)
Outbound Date: 24JUL10
Return From: San Francisco (SFO)
Return To: New York/Newark (EWR)
The assumption for the sample application is that you are entering batches of
mixed travel documents with multiple, consecutive pages that are in the correct
order. For example, a batch might include any number of car rental documents,
flight documents, and hotel documents. Also, the pages within each document are
consecutive and in the correct order. If the batch meets the structural requirements,
then the application assembles the documents automatically. However, if the batch
contains orphan pages or pages that do not meet the rules for document integrity,
then operator intervention is required.
In the following example, the batch does not contain any errors, and no operator intervention is required.
Page type Page type Page type Page type Page type Page type Page type Page type Page type
Rental Optional Air Ticket Room Room Meals Rental Optional Air Ticket
Agreement Insurance Receipt Receipt Agreement Insurance
In this second example, the batch contains three errors and requires operator intervention.
Page type Page type Page type Page type Page type Page type Page type Page type Page type
Optional Room Room Air Ticket Meals (2) Rental Optional Optional Air Ticket
Insurance (1) Receipt Receipt Agreement Insurance (3) Insurance (3)
You noted that each variant of a page type includes all of these fields, but the
position of each field is different for each variant. This list summarizes the fields
that you need to capture for each page type.
Hotel document:
v Room Receipt page type fields:
– Vendor
– Arrival_Date
– Departure_Date
– Total_Cost
v Meals page type fields:
– [Item]
- Date
- Description
- Cost
– Total_Cost
v Other Charges page type fields:
– [Item]
- Date
- Category
- Cost
– Total_Cost
Flight document:
v Air Ticket page type fields:
– Vendor
– Outbound_From, Outbound_To, Outbound_Date
– Return_From, Return_To, Return_Date
– Airfare
– Taxes
– Total_Cost
The two car rental pages both include check box options. There is a requirement in
Datacap that each check box option is the child of a parent container field. On the
Rental Agreement page, the three options are each a child of the same parent field.
On the Optional Insurance page, each option has its own parent. The
implementation is a little different depending on which method is used. So, this
tutorial uses one of each method to demonstrate both techniques when you
complete the implementation. The choice is more an implementation decision than
a business decision, although it does affect the format of the export data.
Second, the optional hotel pages include repeating line items, each with the same
structure. You do not know in advance how many items might be on a page.
Datacap includes functionality for handling line item grids that are introduced in
the topic “Handling line item grids” on page 147.
For simplicity purposes in the sample application, you validate some of the fields
only. You selected these fields specifically to demonstrate a few generic but
commonly used techniques when you implement the data validation stage of the
application workflow.
Table 2. Validation rules for sample application fields
Page Field Validation rule
Rental Agreement Total Cost Is the field value in a valid
currency format? Specifically,
is the field numeric with a
two-digit decimal portion?
Optional Insurance Total Cost Is the field value in a valid
currency format? Specifically,
is the field numeric with a
two-digit decimal portion?
Room Receipt Total Cost Is the field value in a valid
currency format? Specifically,
is the field numeric with a
two-digit decimal portion?
Meals Total Cost Is the field value in a valid
currency format? Specifically,
is the field numeric with a
two-digit decimal portion?
Other Charges Total Cost Is the field value in a valid
currency format? Specifically,
is the field numeric with a
two-digit decimal portion?
A validation failure does not necessarily mean that the original page contains
invalid data. It might mean that the recognition engine failed to recognize one or
more characters correctly. Whatever the reason for the error, the application
developer can set the page status to ensure that the page is displayed to an
operator for verification.
Datacap can export data to a text file, an XML file, a database, a Document
Management system, or the input stage of another business application.
This example use case, which exports data only and does not export images, is not
typical, and is used for simplicity. Almost all Datacap applications export images
and documents together with captured data. In most Document Management
systems, the captured data is stored in metadata or index fields that are associated
with each document.
In future tasks, you can export some of the line item grid data too.
Datacap Studio
Datacap Studio is the Datacap application development environment that provides
the tools that you need to develop and test your application.
Datacap Studio contains three main tabs: Rulemanager, Zones, and Test. In
addition, Datacap Studio consists of an application wizard that you use to generate
an application framework, which includes the supporting folder structure and
control files.
You use Datacap Studio extensively to develop the sample TravelDocs application.
Tab Description
Rulemanager This tab is the primary application
development area.
Zones This tab is where you create page
fingerprints and configure recognition zones.
Test This tab provides integrated execution and
debugging tools for testing your application.
You can customize the workplace by reorganizing the panes, removing panes, and
adding panes.
To move a pane:
1. Use the mouse to drag the pane's tab from its current location. You see a set of
insertion points that are located around the window. You can move the pane to
the left, right, top, or bottom of another pane, or to the left, right, top, or
bottom of the window. In the center, you can combine tabs. As you move the
pointer over an insertion point, you see a shaded area that indicates the
corresponding location.
2. Drop the pane on an insertion point to move the pane.
To add a pane, right-click any tab and choose Show tabs. Then, choose from the
available panes. After you add a pane, you can move the new pane.
Before you can work with the application in Datacap Studio, you must connect to
the application.
Document hierarchy
Document hierarchy defines the structure of the documents that you are processing
and how Datacap processes each element within the structure. Document hierarchy
is also referred to as the Setup DCO.
Batch
Document Document
At the top of the document hierarchy is the batch, which refers to all pages of all
document types. Beneath the batch level, the document hierarchy defines:
The document types your application can process
An application can process only one document type, or multiple document
types. For example, the TravelDocs sample application can process car
rental documents, hotel expense documents, and flight documents.
The page types within each document type
Each document can contain only one page type or multiple page types. For
example, the TravelDocs car rental document includes the rental agreement
page and the optional insurance page, while the flight document has only
an air ticket page.
The number and order of pages within each document type
Pages can be required or optional. For example, a car rental document has
two pages at most. The rental agreement page is required and must come
first; and the insurance coverage page is optional.
The data fields within each page type
Data fields can be required or optional. For example, the hotel document's
Other Charges page has fields for expense category, number of items, unit
cost, and total cost.
Before Datacap can begin to extract data, it must identify the individual page
types. Datacap then maps pages to documents, and fields to pages, by using the
information in the document hierarchy. After Datacap identifies the fields and their
locations within each page, it extracts and stores the data in a structured format.
The structured format is known as the runtime batch hierarchy.
The document hierarchy and the runtime batch can be described in object-oriented
terms:
v The document hierarchy defines the document, page, and field classes.
v The runtime batch describes a set of objects that is built from those classes. Each
object has a set of variables that is derived from the parent class, and each
variable has a value.
In the TravelDocs application, the document hierarchy defines the three document
types that include Car_Rental, Hotel, and Flight. The runtime batch might include
two car rental documents, two hotel documents, and two flight documents. Each
runtime document has one or more pages. Each page has the number of fields that
are defined in the document hierarchy for that page type.
The TravelDocs runtime batch hierarchy includes two car rental documents, two
hotel documents, and two flight documents. The car rental documents might be
from different car rental companies. The hotel documents might be from different
hotel chains, and the flight documents might be from different airlines.
For example, the TravelDocs runtime batch has two pages of type
Rental_Agreement. (Review the files Car1.tif and Car3.tif in
\Datacap\TravelDocs\images.) Structurally, the pages contain the same data.
Occasionally, the location of data is not in the same position on different pages. To
identify the location of data, you can create a fingerprint for each variant and store
the field location for each variant in the document hierarchy.
The goal of this part of the tutorial is to create generalized definitions (classes) for
the document types, page types, and fields that the application supports.
In the document hierarchy, the Open and Close nodes define the rules that are
assigned to each element within the hierarchy. For example, the Open node
beneath the page type Other defines the rules and actions that Datacap starts when
it begins processing a page of type Other.
Tip: The terms DCO and document hierarchy are used interchangeably.
2. Expand the tree so that you can see the default document and page types.
3. Select and single-click the Document node to edit the name.
4. Change the name from Document to Car_Rental and press Enter.
Important: You cannot include spaces in any of the document hierarchy node
names.
5. Right-click the TravelDocs batch node and choose Add multiple > >
Documents. Then, type 2 in the box and press Enter.
6. Rename the new documents from Document1 and Document2 to Flight and
Hotel.
7. Click Save.
The business requirements specification defines the following page types for each
document type:
Table 6. Page types for each document type
Document types Page types
Car_Rental Rental_Agreement U
Optional_Insurance U
Hotel Room_Receipt U
Meals x
Other_Charges x
Flight Air_Ticket U
The business requirements specify the following rules for the structure of each
document type:
Table 7. Structural rules for each document type
Document type Number Required? Order
Car Rental Any number per No Any position within
batch batch
Rental Agreement One per document Yes Must be first in
document
Optional Insurance One per document No Cannot be first in
document
Flight Any number per No Any position within
batch batch
Air_Ticket One per document Yes Must be first in
document
Hotel Any number per No Any position within
batch batch
Room_Receipt One per document Yes Must be first in
document
Within the document hierarchy, the following variables define the structure of the
batch. By using these variables, you can define the structure of the batch.
The business requirements specification defines the following fields for each page
type:
Table 10. Fields for each page type
Rental_Agreement Optional_Insurance Air_Ticket Room_Receipt
Vendor x Vendor x Vendor x Vendor x
Pickup_Date U CDW U Outbound_From U Arrival_Date U
Pickup_Location U CDW_Option U Outbound_To U Departure_Date U
Return_Date U PAI U Outbound_Date U Total_Cost U
To simplify the application slightly, you can skip the fields marked x.
This procedure is optional. Specifying the values for all of the fields in the
TravelDocs application is not required for this tutorial because all of the sample
pages comply.
You specify the document, page, and field information in the document hierarchy
panel. Datacap Studio saves this information in the C:\Datacap\application_name\
dco_application_name\application_name.xml file.
Within the document hierarchy file, the object definition specifies the child objects
that are referenced by each parent object. For example, the Room Receipt definition
specifies that a room receipt page has three child fields:
<P type="Room_Receipt">
<V n="rules"></V>
<F type="Arrival_Date" pos="0" min="0" max="0"/>
<F type="Departure_Date" pos="0" min="0" max="0"/>
<F type="Total_Cost" pos="0" min="0" max="0"/>
</P>
This structure allows multiple parent objects to reference the same child object.
In the TravelDocs application, the Rental Agreement, Air Ticket, and Room Receipt
pages all have a Total_Cost field. The first time that you add the Total_Cost field
to a page, Datacap adds the field to the document hierarchy. Later, when you add
the field to the other page types, Datacap displays a message dialog that prompts
you to use the existing reference. If you select Yes, all rules and properties are
inherited.
A job consists of one or more tasks. To process a batch of documents, you must
run the batch through each task in the selected job. Some tasks (for example,
Export) run without operator intervention, whereas others (for example, Verify)
require an operator.
The tasks in the workflow are determined by the job type you select. You can see
the tasks associated with each job type by looking in the Workflow pane on the
Datacap Studio Test tab. The workflow for Main Job includes five tasks: VScan,
PageID, Profiler, Verify, and Export. Each task is linked to a task profile.
In addition to the task profiles that run as part of the Main Job workflow, there are
two other important task profiles the Application Wizard generates:
FingerprintAdd and ImageFix.
Table 12. Additional task profiles
Task Profile Description
FingerprintAdd Generates the fingerprint files when you add
new page types to the application from the
Datacap Studio Zones tab.
ImageFix Runs when you enhance a fingerprint image
using the Image Processing window from the
Zones tab.
The default Main Job workflow uses all of these task profiles, in the order as
shown.
v VScan
v PageID
v Profiler
v Verify
v Export
v FingerprintAdd
v ImageFix
The Imagefix profile runs when you enhance a fingerprint image by using the
Image Processing window from the Zones tab.
Each ruleset defines one or more rules that you can run on specific documents,
pages, or fields, or on the entire batch. The task profile specifies only that certain
rulesets are associated with that profile. Nothing runs until you actually associate a
specific rule with specific document, page, or field, or with the batch, as described
in “Rule Execution” on page 41.
Within each task profile, rulesets run in the order, although a ruleset will not do
anything if the rules in it are not associated with any objects in the document
hierarchy.
Attention: The order of the rulesets within the task profile is important, because
it defines the order in which Datacap runs rules. For example, you cannot check
the integrity of a document before you create the document. So, the CreateDocs
ruleset must come before the Document Integrity ruleset.
Multiple task profiles can reference the same ruleset. For example, the Profiler and
Verify profiles both reference the Validate ruleset because you typically run
validation rules after data recognition, and run the same rules again after
verification by the operator.
The default PageID ruleset has two rules, which are PageID and Set Fingerprint
parameters. You can see the rules that are associated with each ruleset in the
Rulesets panel on the Datacap Studio Rulemanager tab.
Rules are assigned to process specific objects in the document hierarchy (for
example, to analyze and identify each page).
The default PageID rule consists of one function and two actions. The PageID
function first launches the AnalyzeImage action. If AnalyzeImage is successful
(returns True), the function launches the FindFingerprint. If AnalyzeImage fails
(returns False), the function fails and Datacap launches the next function within
the rule. In this case, there is not another function, but you could add an exception
handling function to handle the error. See “Rule Execution” on page 41.
When you login to an application, Datacap Studio searches for and imports the
rulesets from DLLs that are not in the collection.xml file yet. It searches the Rules
folder for the application first, then it searches the central RRS folder. During this
operation, the Update Status bar indicates that the current file is being processed
with a rotating spinner. When the spinner is gone, the operation is finished.
Document input
Datacap works primarily with TIFF image files. So, the first activity in any Datacap
workflow is to convert the documents to TIFF format and insert the documents
into an input repository.
This tutorial examines different ways to place documents into your application for
processing. You can set up a scanner for use with Datacap, which supports both
ISIS and TWAIN scanners. For purposes of demonstration, it is assumed that you
can set up a scanner with an ISIS driver attached to the computer that you are
using. However, you can skip this requirement if you do not have a scanner with
an ISIS driver. In that case, you can follow the virtual scanning examples.
For details about remote scanning with a TWAIN scanner, see “Remote scanning”
on page 27.
Datacap can manage a wide range of document types, including PDF files, fax
files, and Microsoft Office documents. In addition, Datacap can ingest documents
from various sources, including email and fax.
To scan image files from a shared folder on a network, or from a local folder,
configure your application to use VScan actions. For details about VScan actions,
see the Datacap Studio online help for the VScan action library.
The Scan action copies the documents to the target location, and maintains the
original files in the images folder.
Related concepts:
“Exporting data” on page 99
“Datacap Connector actions” on page 101
Document conversion
If your documents are not already in single-page TIFF format, you must convert
them during the first stage of the processing workflow.
The action categories in the Convert library can process various file types.
v Excel
v HTML
v Image files (JPEG, BMP, PNG, and GIF)
v Outlook
v PDF
v RTF
v Multi-page TIFF
v TXT
v Word
v ZIP - extracts image files that can then be converted by other conversion actions
Confirm that your scanner driver is installed and that the scanner is functioning
properly before you attempt to configure Datacap to use the scanner.
Related information:
Starting Fastdocs
Local scanning
When you scan from Datacap Desktop by using a local scanner, the scanned image
files are delivered directly to the application's runtime batch folder. The scan task
is responsible for creating the runtime batch files.
Detailed instructions are provided in “Local scanner setup (optional)” on page 29.
The instructions are specific to the TravelDocs application, but you can generalize
them for any Datacap application.
Remote scanning
You can scan documents into a Datacap application by using the Datacap Web
Client.
The Datacap installation includes sample document images in the images folder of
the application.
To work with the TravelDocs application, use the sample images that are provided,
as summarized in the table.
Datacap stores all of the files that are associated with this batch in the runtime
batch folder.
1. Open the application's most recent batch folder (C:\Datacap\TravelDocs\
batches\< batch_id>). The folder contains the following files:
File Description
TM00000*.tif A copy of each of the original sample image
files (copied from the images folder).
VScan.script A file to aid in debugging.
VScan.xml The runtime document hierarchy that is
generated by the VScan task profile.
Vscan_rrs.log The log file that is generated by the VScan
task profile. The log file contains detailed
descriptions of all the actions that are started
by the task profile and is useful for
troubleshooting. For more information, see
“Datacap log files” on page 141.
PageID.xml A copy of the runtime document hierarchy
ready for use by the next task profile in the
workflow (PageID).
If you do not have a scanner that is attached to your computer, you do not need to
set up a local scanner. If you have a scanner, ensure that the scanner driver is
installed and that the scanner is working before you proceed.
Important: A job can have only one batch creation task. The VScan task and
Scan tasks are both batch creation tasks so you must remove VScan.
6. Select Scan Job and click New to create a new task.
7. In the Selected task details section, enter or select these values for the new
task.
v Name: MyISISscan or MyTWAINscan
v Description: MyISISscan or MyTWAINscan
v Mode: Batch Creation
v Queue to: None
v Store: None
v Program: Datacap Desktop
Attention: To complete remote scanning through the Datacap Web Client,
select Scancl.aspx. You can select Multiple to configure both Datacap
Desktop and Scancl.aspx.
8. Click Create Setup, and then click Setup.
9. Add another Datacap Desktop panel set of key and value fields. Enter the
application name, such as TravelDocs, in the key field and in the value field,
enter either DotScanPanels.ISISScan for ISIS scanners or
DotScanPanels.TWAINScan for TWAIN scanners. Click Save.
10. Select the new task, such as MyISISscan or MyTWAINscan, and press
Ctrl+Up Arrow to move the task to the top of the workflow.
11. Click Apply, and then click OK.
Important: To upload a scanned image to the Datacap server, you also must
complete the Upload task, which you can start on the Operations tab.
3. If you are using Datacap Desktop, complete the Scan task as follows:
a. Start the Datacap Desktop program. On Windows in the Start menu click
IBM Datacap Clients > Datacap Desktop.
b. Enter TravelDocs for the Application. Enter admin for the User and
Password, and enter 1 for the Station. Click Login.
c. Select Scan from the Shortcut menu, and click Start.
d. For the first time that you are using Datacap Desktop with a scanner, or if
you want to change the scanner that you used previously, click Select....
e. Choose the scanner that you want to use, and configure the scanner by
completing one of the following tasks:
v Set the values for functions, such as scan resolution, paper source, color
mode, and others.
v Click Configure and set the options in the scanner driver user interface.
f. In the Datacap Desktop main window, click Scan.
Page Identification
Page identification is one of the first steps in any Datacap application. All
incoming pages are initially assigned the default page type Other. Before Datacap
can assemble those pages into documents and extract data from the pages, it must
determine the correct type for each page.
Additionally, if your application supports only a single-page type, you can assign a
static page type to all incoming pages.
Fingerprint matching
With fingerprint matching, Datacap generates a fingerprint that describes each
incoming page. The fingerprint can include information about the relative densities
of different regions of the page or the location of text on the page.
For example, assume that the incoming page matches the Hotel #1 room receipt.
Datacap assigns the page type called Room_Receipt. It then records the ID of the
matching fingerprint in the runtime batch hierarchy. The match is not exact
because the data on the page is most likely different. However, you are just
looking for the best match possible.
Both of these methods write the resulting information to a CCO file that is stored
with the original TIFF image file in the fingerprint folder for the application.
Remember: The method that you use for creating library fingerprints must be the
same as the method that you use to generate runtime fingerprints during page
identification.
For example, if you decide to use image analysis, you must use image analysis in
both the FingerprintAdd and PageID rulesets.
Important: Do not try to combine these methods because the recognition results
are probably not accurate.
Image analysis
Image analysis uses a pixel-based algorithm to generate a CCO fingerprint file that
represents the relative blackness of different regions of the page.
Full page recognition, as the name suggests, uses the text and location of text on
the page to generate the CCO fingerprint file. Datacap includes three optical
character recognition (OCR) engines, plus one intelligent character recognition
(ICR) engine that you can use to do full page recognition:
OCR_A
ABBYY FineReader OCR engine.
OCR_S
Nuance (formerly ScanSoft) OmniPage OCR engine.
OCR_SR
Newer implementation of the Nuance OmniPage OCR engine.
ICR_C
Open Text RecoStar ICR engine.
Other ICR engines are available as options. As a rule, the OCR engines work well
with machine-printed text, whereas the ICR engine works well with hand-printed
and machine-printed text.
Datacap includes actions libraries for each recognition engine (OCR_A, OCR_S,
OCR_SR, and ICR_C). Each library includes its own version of the full page
recognition action.
The action that is used for all fingerprint matching, regardless of the creation
method, is called FindFingerprint.
You can assign page types that are based on position when application manages
only one page type, or when the document structure is consistent. For example, all
documents are two pages with a main page and a trailing page. For
structure-based identification, use the Set Page Type action.
If a batch contains documents of varying length, you can use separator pages
between documents. For an example that uses barcoded separators, look at the
Datacap Accounts Payable (APT) foundation application that you can run with
Datacap.
When you identify a page by using structure-based identification, the page is not
matched to a fingerprint. Therefore, even though recognition zones are available
for your application to locate data during recognition, the zones are not aligned to
the scanned image. After you identify a page with structure-based methods, the
application can be customized to call CreateFields. When this call is in place,
recognition zones are located wherever they were defined on the original
fingerprint image for that page type. The zone locations are not adjusted for
shifting of the scanned image as they would be if Fingerprint matching were used.
However, this limitation can be mostly overcome in at least two ways. You can
crop and de-skew the image during an image-processing step. You can use
pattern-match anchors to align the zones.
Text matching
To complete page identification by using text matching, you must first complete a
full page recognition. You can then search the recognition results for a string that is
unique to each page type.
In the TravelDocs application, the first function attempts a full page recognition
and searches for the string Pickup on the current page. If the function finds Pickup,
it assigns the page type Rental_Agreement. If the function does not find Pickup, it
fails, and the second function searches for the string Flight. If the second function
finds Flight, it assigns the page type Air_Ticket. If it does not find Flight, the
second function fails, and the third function searches for the string Room. If the
As with the structure-based techniques, when you identify a page by using text
matching, the page is not matched to a fingerprint. Therefore, even though
recognition zones are available for your application to locate data during
recognition, the zones are not aligned to the scanned image. After you identify a
page with text-matching methods, you can customize the application to call
CreateFields. This call locates the recognition zones where they were defined on
the original fingerprint image for that page type. The zone locations are not
adjusted for shifting of the scanned image in the same manner that Fingerprint
matching can adjust locations. However, you can work around this limitation by
using either of two methods: You can crop and de-skew the image during an
image-processing step, or you can use pattern-match anchors to align the zones.
For more information, see “Adding a function for manual page identification” on
page 209.
Image Enhancement
Image enhancement consists of cleaning up images and removing elements that
might produce recognition errors. You must complete any required image
enhancement before page identification.
Important: Some special cases are exceptions to this statement. Rules, or ImageFix
Actions, can do multiple passes of image enhancement, which is also known as
image processing, before or after page identification. The rules can use different
settings for different page types or based on other criteria. The most common use
case is a single pass before page identification. Any image enhancement that is
completed before fingerprint matching must be identical to the image enhancement
that was done on the fingerprint template image when the template was created.
The default image-processing properties are designed to work well with typical
printed pages that use plain black text on a white background. Establishing
settings that work well for the pages your application must handle requires
experimentation. For more information, see “Determining appropriate
image-processing settings” on page 38.
The settings that you establish are stored in the file imagefix.ini in the
application's dco_<application_name> folder.
When you add fingerprints to the fingerprint library, Datacap queries whether to
enhance the image. Typically, you experiment to find settings that work well for all
page types. You can skip image enhancement initially, and then return and
enhance the fingerprint images, after you determined appropriate settings. See
“Applying new image-processing settings to enhance the fingerprint images” on
page 39.
After document input, you use the ImageFix ruleset to apply the same
image-processing settings for image enhancement. The default ImageFix ruleset
includes two rules.
v The first rule (ImageFix Load Settings) reads the image-processing properties
from the settings (.ini) file.
v The second rule (Enhance Image) completes image processing on each page by
using those settings and creates a backup of the original with a .tio extension.
To change the fingerprint creation method, you must edit two of the rulesets that
are defined on the Datacap Studio Rulemanager tab. The FingerprintAdd ruleset
runs whenever you add a fingerprint to the fingerprint library. PageID generates
the runtime fingerprints and matches them to determine the type of each incoming
page. You can modify these rulesets to complete full page recognition instead of
image analysis.
Here, you create a class for each document type: Car_Rental, Hotel, and Flight.
Categorization by document type is not required but provides a useful way to
organize many fingerprints.
After you create the fingerprint classes, you add them to the fingerprint library.
Important: Some special cases are exceptions to this statement. Rules complete
multiple passes of image enhancement before or after page identification by using
different settings for different page types or based on other criteria. The most
common use case is a single pass before page identification. Any image
enhancement that is completed before fingerprint matching must be identical to the
image enhancement completed on the fingerprint template image when the
template was created.
The default image-processing properties are designed to work with typical printed
pages that use plain black text on a white background. One of the sample air ticket
pages contains white text on a black background, which is the most difficult page
to process. This procedure addresses first the page with white text on a black
background.
1. In the Fingerprints pane on the Zones tab, expand the Flight class and select
the third fingerprint (Airline #3).
2. In the Image View pane, click Open image processing settings in the upper
right.
3. Click Run image processing to apply the default image-processing properties,
as defined in the Properties pane.
4. Click Reset image to revert to the original image.
5. In the Properties pane, change the settings as follows:
In terms of implementing the workflow. You did not attach any rules to the
document hierarchy, though some default rules are attached to the default
Processing a batch
For testing purposes, you can process a batch on the Test tab of Datacap Studio.
To process a batch:
1. Open Datacap Studio and click the Test tab.
2. In the Workflow pane, select the VScan task profile under Main Job.
3. Click New to start a new batch.
4. Click Process rules for target object on the main Test tab toolbar.
5. When asked if you want to release the batch, click Advance. The batch is
moved to the next step in the workflow (PageID).
6. Click Process rules for target object on the main Test tab toolbar and wait
while the task profile runs. It might take a few moments because Datacap must
do full page OCR on all the images in the batch.
7. When asked if you want to release the batch, click Advance. The batch is
moved to the next step in the workflow (Profiler).
8. On the Runtime batch hierarchy tab, scroll through the list to see the page
types that are assigned to TM000001, TM000002, and so on.
9. Right-click the running batch button in the Workflow pane and choose Cancel.
You do not run the Profiler task profile until you assign rules.
File Description
TM00000*.tif An image-enhanced version of each of the
sample image files.
TM00000*.tio A copy of each of the original image files.
TM00000*c.xml The results of full page recognition for each
image file.
TM00000*.cco The fingerprint file for each of the image
files.
PageID.xml The runtime document hierarchy that is
generated by the PageID task profile.
pageid_rrs.log The log file that is generated by the PageID
task profile.
VScan.xml The runtime document hierarchy that is
generated by the VScan task profile.
vscan_rrs.log The log file that is generated by the VScan
task profile.
Profiler.xml A copy of the runtime document hierarchy
ready for use by the next task profile in the
workflow (Profiler).
You can see the confidence level for each page in the runtime batch file
(PageID.xml) that is generated by the PageID task profile.
Rule Execution
Rule execution refers to how rules are associated with specific objects in the
document hierarchy and how Datacap processes a batch of documents.
The Datacap workflow moves batches through the workflow from task to task.
Task profiles are implemented as rulesets, which are constructed by using rules
and actions.
You can use the Datacap Studio debugging tools to step through the PageID task
profile and see how Datacap runs the rules.
A ruleset consists of one or more rules that contain functions and actions. When
you run a rule, you are running the functions and actions that are in them.
The following example describes the execution flow that allows actions to run by
using an if, then, else programming model.
The actions that are frequently used to control rules execution flow are rrCompare,
rrCompareNot, GoToNextFunction, and SetReturnValue.
In the default Profiler task profile, the CreateDocs ruleset includes a rule that is
called Create Docs. This rule assembles individual pages into documents that are
based on the structure in the document hierarchy. For example, the TravelDocs car
rental document type has a rental agreement page and an insurance coverage page.
From the object general information, you can observe theses details about the
pages.
Tip: To see the object general information with the rules for each page type within
a document, lock the Document Hierarchy, right-click the page type, and select
Manage variables.
1. The rental agreement page is required (Min=1), and that it is always the first
page (Order=1).
2. There can be only one rental agreement page within each car rental document
(Max=1).
3. The insurance page is optional (Min=0).
The Create Docs rule must run at the batch level because it assembles multiple
document types.
When the Create Docs rule encounters a page of type Rental_Agreement, it creates
a new document in the runtime batch hierarchy. If a rental agreement page is
followed immediately in the batch by an Optional_Insurance page, Datacap adds
the insurance page to the same car rental document. Otherwise, Datacap creates a
new document.
The rule must run at the page level because of these reasons:
v The fields are different for each page type (for example, the TravelDocs rental
agreement page and the optional insurance page have different fields).
v The field positions are different for each variation of the page type. For example,
the Car_Type field is at a different location on the page for each rental car
company.
Tip: To see the variable information for any field, lock the Document Hierarchy,
right-click the field, and choose Manage variables.
The position variables define the position of the field for each of the car rental
agreement forms that are identified during fingerprinting. 678, 695, and 696 are the
fingerprint IDs.
The Document Hierarchy shows that the Recognize Page rule runs at the page
level for each page type.
The rule is not assigned to the page type Other because no fields are defined
forOther.
Two conditions determine whether a rule is run. A rule runs only when it is
associated with a specific object in the document hierarchy. Also, the rule runs only
when the parent ruleset is included in the current task profile.
The position of a rule within its ruleset does not affect when the rule is run.
When you run a task profile that has more than one ruleset, Datacap runs the
rulesets in the order that the Task Profiles pane displays them in Datacap Studio.
For example, the PageID task profile, Datacap first runs the ImageFix ruleset, and
next runs the PageID ruleset.
When Datacap runs a ruleset on a batch, it goes through the runtime batch
hierarchy iteratively. (Page 1 of Document 1, including the two fields, is processed
in its entirety before Datacap proceeds to Page 2 of Document 1.)
Batch
Document Document
Restriction: You can include only one rule from a ruleset in an object's Open
element.
The following example shows a portion of the document hierarchy for the
TravelDocs application. Each object also has a Close element. Datacap runs rules in
the object's Close element when it exits from the object. For objects at the lowest
level of the hierarchy, Close rules run immediately after Open rules. For other
objects, the Close rules do not run until Datacap processes the lower-level objects.
TravelDocs (Batch)
v Open
– (global)
- VScan: VScan
- ImageFix: ImageFix Load Settings
- PageID: Set Fingerprint Params
- CreateDocs: Create Docs
- Document Integrity: Batch Document
- Export: Set Export Params
v Other (Page)
– Open
- (global)
v ImageFix: Enhance Image
v PageID: PageID
v FingerprintAdd: FingerprintAdd
– Close
v Car_Rental (Document)
– Open
– Rental Agreement (Page)
- Open
v (global)
– CreateDocs: Create Fields
– Recognize: Recognize Fields
– Validate: Validate Page
– Routing: Routing Rule 1
– Export: Export Page Fields
v Vendor (Field)
Other page rules run each time Datacap begins processing a page of type Other,
which is the default page type that is initially assigned to all pages. For example, if
you are running the PageID ruleset, Datacap runs the PageID rule, which assigns
the correct type to each page.
For the Car_Rental document, there are no document-level rules in this example.
The Rental_Agreement page rules run each time Datacap begins processing a page
of type Rental_Agreement. For example, if you are running the CreateDocs ruleset,
Datacap starts the Create Fields rule, which creates a page data file. Datacap uses
the page data file to store the data that is captured later by the Recognize ruleset.
The Pickup_Date field rule runs when Datacap is processing a page of type
Rental_Agreement and encounters a field of type Pickup_Date.
The PageID task profile includes a ruleset that is called PageID, which includes a
rule that is called PageID.
The Sync DCO View with Ruleset View button shows which documents, pages,
or fields are associated with the selected rule. For example, if you select the PageID
rule and click Sync DCO View with Ruleset View, Datacap Studio expands the
document hierarchy to show you the objects that are associated with the PageID
rule.
In TravelDocs, the PageID rule is associated only with the page type Other. In this
case, the rule runs whenever Datacap processes a page of type Other while it runs
the PageID task profile. Datacap assigns the Other page type to all incoming pages
as a default because all pages are initially unknown. Datacap runs this rule on all
pages during page identification and, assuming the page matches one of the
known types, assigns the correct type (for example, Rental_Agreement or
Air_Ticket).
The Profiler and Verify task profiles both include the Validate ruleset. In the
TravelDocs application,the Validate ruleset includes a rule that is called Validate
Date, which returns True if a field value conforms to one of the supported date
formats.
In the TravelDocs application, the Validate Date rule is associated with the
Arrival_Date field and Departure_Date field on pages of type Room_Receipt. This
rule runs whenever Datacap processes an Arrival_Date field or Departure_Date
field on a page of type Room_Receipt while it runs the Profiler or Verify task
profile.
For more information, see “Single-stepping through your code” on page 146 and
“Using breakpoints” on page 144.
Document assembly
Datacap identifies incoming pages and assigns the correct page type by using
fingerprint matching or one of the other identification methods. The next step
assembles the batch of individual pages into documents according to the rules that
are defined within the document hierarchy.
In preparation for the recognition phase, you create a runtime data file for each
page.
Structured documents
Structured documents are based on the document hierarchy and include data files.
These documents conform to predefined integrity rules.
Hierarchy-based documents
The document hierarchy defines both the document types that your application
supports and the page types that are associated with each document type.
For example, the TravelDocs document hierarchy defines three document types,
four associated page types, and the generic page type Other.
After page identification assigns the correct page type to each incoming page, your
application uses information in the document hierarchy to determine the
corresponding document. For example, a page of type Rental_Agreement is part of
a car rental document. A page of type Air_Ticket is part of a flight document.
For example, here are the variables that you specified earlier for each of the
TravelDocs pages.
The variables determine that each car rental document must contain one rental
agreement page, and that the page might be followed by an optional insurance
page. If Datacap identifies a rental agreement page that is immediately followed by
an optional insurance page, it groups the two pages as a single document. The
following example is a portion of the runtime data file (PageID.xml) that is
generated after document creation.
<?xml-stylesheet type="text/xsl" href="..\..\dco.xsl"?>
<B id="20100321.011">
<V n="TYPE">TravelDocs</V>
<V n="LAST_RR_TPROFILE">Rulerunner:m:eRun</V>
<D id="20100321.011.01"> <-- Document ID
<V n="TYPE">Car_Rental</V> <-- Document type
<V n="STATUS">0</V>
<P id="TM000001"> <-- Page ID
<V n="TYPE">Rental_Agreement</V> <-- Page type
<V n="STATUS">49</V>
<V n="IMAGEFILE">tm000001.tif</V>
etc.
</P>
<P id="TM000002"> <-- Page ID
<V n="TYPE">Optional_Insurance</V> <-- Page type
<V n="STATUS">49</V>
<V n="IMAGEFILE">tm000002.tif</V>
etc.
</P>
</D>
etc.
Assembling documents:
The Datacap Studio Actions library includes an action to assemble pages into
documents.
Important: You must use this action within a rule that runs at the batch level.
The DCO actions library includes the following action to create a runtime data file
for the current page.
Important: You must run this action within a rule that runs at the page level.
The data file is empty initially, but the CreateFields action uses the document
hierarchy structure to create a shell with an element for each data field. The shell
gets populated later during recognition.
<?xml-stylesheet type="text/xsl" href="..\..\dco.xsl"?>
<P id="TM000001"> <-- Page data file for first page in batch (type Rental_Agreement)
<F id="Pickup_Date"> <-- Pickup_Date field (no data)
<V n="TYPE">Pickup_Date</V>
<V n="Position">0,0,0,0</V>
<V n="STATUS">0</V>
</F>
<F id="Pickup_Location"> <-- Pickup_Location field (no data)
<V n="TYPE">Pickup_Location</V>
<V n="Position">0,0,0,0</V>
<V n="STATUS">0</V>
</F>
etc.
Document integrity
Even though the document hierarchy defines the required structure of the batch,
Datacap might encounter a batch that does not conform to the required structure.
v In the first case, the CreateDocuments action grouped the first optional
insurance page with the preceding rental agreement page. The action also placed
the second insurance page in a separate document of a unidentified type.
v In the second case, the CreateDocuments action again placed the orphaned
insurance page in a document of a unidentified type.
In both cases, the batch does not comply with the document integrity rules that are
defined in the document hierarchy. However, the CreateDocuments action sets the
document status to 0 (OK) and the page status to 49 (ScanOK).
<D id="20100322.007.03">
<V n="TYPE"></V>
<V n="STATUS">0</V> <-- Document status is "OK" (0)
<P id="TM000003">
<V n="TYPE">Optional_Insurance</V>
<V n="STATUS">49</V> <-- Page status is "ScanOK" (49)
etc.
</P>
</D>
etc.
<D id="20100322.007.07">
<V n="TYPE"></V>
<V n="STATUS">0</V> <-- Document status is "OK" (0)
<P id="TM000007">
<V n="TYPE">Optional_Insurance</V>
<V n="STATUS">49</V> <-- Page status is "ScanOK" (49)
etc.
</P>
</D>
CheckAllIntegrity action:
The Datacap Studio rrunner actions library includes the CheckAllIntegrity action
that checks the structural integrity of a batch.
Important: You must run this action within a rule that runs at the batch level.
Note: The Datacap Studio application wizard generates the Profiler task profile
that includes recognition and validation. Therefore, Datacap completes recognition
and validation before the batch branches to the Fixup job. So, some pages might
have Status = 1, which indicates a problem. You cannot complete the Fixup job
unless the Status on all pages is 0, which indicates that there is no problem. You
can configure your application to use two separate task profiles so that Datacap
branches to FixUp before recognition if there are document integrity problems. For
details about using two task profiles, see the topic “Creating the CreateDocs task”
on page 207.
The Batch Route To Fixup function uses these rrunner actions to branch to the
Fixup job.
Before Datacap can branch to the FixUp job, you must configure the settings on the
Document Integrity Failed condition. See the topic “Configuring branching” on
page 54.
File Description
TM00000*.tif An image-enhanced version of each of the
sample image files.
TM00000*.tio A copy of each of the original image files.
TM00000*.xml The page data file for each image file.
TM00000*c.xml The results of full page recognition for each
image file.
TM00000*.cco The fingerprint file for each of the image
files.
Profiler.xml The runtime document hierarchy that is
generated by the Profiler task profile.
Profiler_rrs.log The log file that is generated by the Profiler
task profile
PageID.xml The runtime document hierarchy that is
generated by the PageID task profile.
pageid_rrs.log The log file that is generated by the PageID
task profile.
VScan.xml The runtime document hierarchy that is
generated by the VScan task profile.
vscan_rrs.log The log file that is generated by the VScan
task profile.
Verify.xml A copy of the runtime document hierarchy
ready for use by the next task profile in the
workflow (Verify).
The data file includes all of the fields that are identified for the current page type
in the document hierarchy. Each field has an identifier (ID) and three properties:
TYPE, Position, and Status.
<?xml-stylesheet type="text/xsl" href="..\..\dco.xsl"?>
<P id="TM000001"> <--Page data file for first page in batch (type Rental_Agreement)
<F id="Pickup_Date"> <--Pickup_Date field (no data)
<V n="TYPE">Pickup_Date</V>
<V n="Position">0,0,0,0</V>
<V n="STATUS">0</V>
</F>
<F id="Pickup_Location"> <--Pickup_Location field (no data)
<V n="TYPE">Pickup_Location</V>
<V n="Position">0,0,0,0</V>
<V n="STATUS">0</V>
</F>
etc.
Later, other actions can assign different values to these properties and add
properties as needed.
Configuring branching
The Datacap Studio application wizard generates Document Integrity ruleset that
is configured to identify document integrity problems and send the batch to the
Datacap Desktop Fixup task. However, more setup steps are required in the
Datacap Web Client Administrator tab to configure the required branching.
Data recognition
Data recognition is the stage during which you locate the fields that you want to
capture and then convert the fields into character-based data.
The data that is obtained from recognition is stored in the page data files that you
set up in the document assembly stage.
There are several techniques that you can use to identify pages. The most widely
used is fingerprint matching. If you used fingerprint matching for page
identification, you most likely used the fingerprint images to define the recognition
zones. These zones are the fields that you want to read on each page. If you use
full page recognition, you can obtain the field data directly from the full page
recognition results. Otherwise, you need to run the recognition engine on each
field zone to capture the data.
The other recognition techniques do not use fingerprint zones to locate the field
data. Instead, they use text matching or pattern matching to analyze the page and
identify the fields.
The fingerprint library has a second purpose, which is to identify the position of
each field for each known page type. There can be many variants of each page
type and the position of each field is different for each variant. So you must
identify the recognition zones for each variant.
The pickup date field on the Car Rental #1 page and Car Rental #2 page has the
following zones:
v The Car Rental #1 fingerprint has ID 695, so Pos695 defines the position of the
pickup date field for Car Rental #1.
v The Car Rental #2 fingerprint has ID 678, so Pos678 defines the position of the
pickup date field for Car Rental #2.
You can see the position coordinates for a field by right-clicking the field name in
the Document Hierarchy pane. Choose Manage variables (the document hierarchy
must be locked). Alternatively, you can select the field and look in the Properties
pane.
For every page that Datacap identifies a page as a Car Rental #2 rental agreement,
the pickup date is at coordinates (579,353,943,415).
Important: The coordinates are relative to a reference point on the page. If the
incoming page does not align precisely with the reference page, Datacap calculates
an offset and uses it to determine the actual field positions.
Populating the page data files using full page recognition results
The Datacap Studio Actions library include actions that take the character data
from the fingerprint (CCO) file and apply it to the runtime batch hierarchy.
The value of the locale variable is inherited by to all of the child nodes of the batch
object. Unless a different locale value is assigned to a child node. Then, all of the
child nodes of that object inherit the new locale value. For example, if you add a
locale value to a Document, that locale value is also assigned to the Pages and
fields in that Document. If you then set a different locale value to a Page in the
Document, that new value is also assigned to the fields in that Page.
You can set the locale variable for document processing by the application at the
system level, the application level, or the node level in the application.
By default, the Windows Regional and Language locale is used system wide for all
validations that are done during recognition. Unless the locale variable is set
differently elsewhere.
For applications that use different languages, you can set the locale variable at the
application level in the Datacap Application Manager. This setting is used on the
batch object and is inherited down to of the all child nodes in the batch object.
Setting the locale variable on the application level overrides the Windows Regional
and Language setting.
All of the standard actions, including the Recognition Engine, use the Locale
property setting for the node to which the action is bound. The action property
setting dynamically overrides the locale values that are set at the system,
application, or batch object levels. For example, if the rrSet(en-US,@P.hr_locale)
action is bound on the Page node. That node and its child nodes use the setting for
English US (en-US) locale. Regardless of the locale that is set on the application
level or in the Batch or Document level of the DCO.
Important: The rrSet action must precede the action on the node to which
you want to set the locale property.
e. Using smart parameter syntax, configure the rrSet action to set the hr_locale
variable to the locale value that you want. For example, use
rrSet(en-US,@P.hr_locale) on a Page object or rrSet(en-US,@F.hr_locale) on a
field object. The locale setting is used on all of the subsequent actions in the
ruleset.
f. Click Save to save the changes to the ruleset. The ruleset is published and
unlocked.
A recognition engine can support the recognition of multiple languages. For these
engines, you can set the language that is recognized for the entire page or for each
field on the page. Setting recognition values on the Document and Page levels can
recognize multiple language types within a single application. For example, you
can configure Page A to be recognized in English and Page B to be recognized in
French. Setting locale values at the field level enables multiple language
recognition on a single page.
The language value on the Zones > Properties tab for the recognition engine is
English, even if a value was not set. To confirm that the language value was set to
English, you can check the following DCO variables for the recognition engine:
v OCR/S: s_lg,
v OCR/A: y_lg
v ICR/C: c_cr.
The Recognition Engine actions use the locale property to assign locales to the
node to which the action is bound if the engine-specific recognition language
settings are not set. For example, if the rrSet(en-US,@D.hr_locale) action is bound
on a Document node, that node and its child nodes use the English US (en-US)
locale. Regardless of the locale setting on the application level or in the DCO.
Recognition engines do not necessarily support all of the languages that are
specified in the following language tables.
Use the language codes in the following tables to set the locale on Datacap actions.
For detailed information about Datacap language support, see the Datacap
Language Support techdoc at http://www.ibm.com/support/docview.wss?
&uid=swg27035841
v Pixel threshold evaluation method: This method is more difficult to set up but
is more reliable for drop-out check boxes. The method can also be used to read
filled-in bubbles (O) on a response form. It calculates the percentage of black
pixels within a specified zone and compares the result to a predetermined
threshold value. For example, if the threshold is 20%, any OMR zone with more
than 20% black pixels is considered selected (1). Any zone with 20% or less is
considered not selected (0).
The field setup requirements are the same for both setup check box recognition
techniques.
You defined subfields for the options on the rental agreement page in the
TravelDocs application. When you define the recognition zones, you need to define
the positions of the parent fields and the subfields.
It might seem easier to draw the child field zone within the check box outline.
However, recognition succeeds only if the check boxes on the runtime page align
perfectly with the fingerprint image. Even a slight misalignment can result in a
false positive. The best approach is to draw the recognition zone around the check
box.
If the business requirements indicate that multiple options within the group can be
selected, you must set the MultiPunch variable on the parent field to 1.
The RecogType and MultiPunch variables are not included by default, so you
must add them manually to the parent object, as described later for the TravelDocs
application see “Setting the required variables on the Options and Insurance fields”
on page 71.
You configure the OCR/A settings for specific zones by using the OCR/A tab in
the Properties pane on the Datacap Studio Zones tab. The OCR/A tab is not
displayed by default, but you can activate it by right-clicking any existing tab,
choosing Show tabs, and selecting OCR/A.
Click the OCR/A tab to access the settings that the OCR/A recognition engine uses
when it completes recognition on the selected field.
However, if MultiPunch=0 (or is not specified) then only the zone with the highest
percentage is selected.
For example, if the threshold value is 20 and the background value is 15 then the
high confidence threshold is (2 * 20 - 15) = 25. If you run RecogOMRThreshold
(20,15) on an OMR group field with MultiPunch=1, then the following is true.
v Any zone with more than 25% black pixels is considered selected with high
confidence
v Any zone with between 20% and 25% is considered selected with low
confidence
v Any zone with between 15% and 20% is considered not selected with low
confidence
v Any zone with 15% or less black pixels is considered not selected with high
confidence
In this example:
v The ASCII code for each of the three characters is 70, 66, and 71 respectively.
v The percentage of black pixels for each of the three zones is 22% (70-48), 18%
(66-48), and 23% (71-48), respectively.
After you obtain the percentage values, you can then refer to the original page
image to see if the corresponding check box is selected. This example was obtained
from a page where the first and third options were selected, and the second option
was not selected.
Based on these three check boxes, you set the threshold and background values
somewhere between 18 and 22. (Fractional values are permitted for the threshold
and background parameters.) You can test the values scanning additional pages
and checking their density strings before setting final values.
The RecogOMRThreshold action relies upon pixel counts within the OMR zone. So
it is important that all OMR zones have the same dimensions, or as close as
possible.
Drawing OMR zones on the Datacap Studio Zones tab can sometimes be difficult.
You can establish approximate zone boundaries by drawing the bounding boxes on
the Image View tab. Then edit the coordinates in the Pos variables field in the
Properties pane.
The coordinates correspond to the upper left corner of the bounding box, such as
the x1, y1 coordinate, and the lower right corner (x2, y2). In this example, you
enter x1,y1,x2,y2 in the Pos variable field.
Adding fields to pages in the DCO affects the accuracy of Autofield unless steps
are taken so that Autofield knows how to handle them.
In some cases, such as to store metadata, you need to add a field to a page. If you
are creating a new field on a page, you need to specify that Autofield should not
identify the field for zoning by adding the RecogType variable to the field and
setting its value to 5.
In addition, when adding fields to a page, the new fields will show up in the DCO
in the exact order you arrange them in the hierarchy. However, these fields will be
added to the end of the setup.xml file in the order that they are created. After
adding any new fields to a page, you need to manually edit the setup.xml to put
the fields in the correct order.
When you add a field to the DCO that you do not want to be recognized as a field
on any page, you need to add the Autofield variable to the new field and set its
value to -1.
The Rental_Agreement page type includes an Options field with three subfields:
v Nav_System
v Child_Seat
v Fuel_Service
The default Recognize Page rule uses the information in the document hierarchy to
locate the field zones. It then completes text recognition on those zones by using
OCR_s to extract the data.
In the TravelDocs application, you completed full page OCR during fingerprint
creation and page identification. So, it is not necessary to do OCR again on the
individual fields. Instead, you can use the SnapCCOtoDCO action to take the
recognition data from the runtime fingerprint CCO file and apply it to the runtime
batch hierarchy.
The default setting for check marks is for no bounding box (Clear Background).
Because all of the check marks in the sample images have square bounding boxes,
you must change the Checkmark Type setting in on the OCR/A settings tab. The
settings tabs for the various recognition engines are displayed along the bottom of
the Properties pane on the Datacap Studio Zones tab.
1. Click the Datacap Studio Zones tab.
2. In the Document Hierarchy pane, click Lock DCO.
3. Expand the Rental_Agreement page and select the Options field.
4. Look at the bottom of the Properties pane. If the OCR/A tab is not visible,
right-click any existing tab and choose Show tabs and select the OCR/A option.
5. Click the OCR/A tab.
6. In the Properties pane, scroll down to the OMR section and set the Checkmark
type to Square background.
7. In the Document Hierarchy pane, click Save.
8. Expand the Optional_Insurance page and do the same for the CDW, PAI, PEP,
and ELP fields.
9. In the Document Hierarchy pane, click Save and then click Unlock DCO.
Attention: These values are the starting values, which you can later
recalculate with more accurate values.
9. In the Rulesets pane, click Save. Then, click Lock/Unlock ruleset and choose
Publish Ruleset.
Checking the option values and obtaining the density string values:
To check the option values and obtain the density string values, you must run a
batch in Datacap Studio. Then, open the page data file in the runtime batch folder.
1. Run a batch through the VScan, Page ID, and Profiler task profiles as described
in the “Running a batch through the workflow” on page 85 topic.
2. When the Profiler task is completed and you advance the batch to the Verify
task, expand the first car rental page on the Runtime batch hierarchy tab. You
see the fields and the associated data. The value of the Options field is 001,
indicating that Datacap interpreted the first option as not selected. Datacap
interpreted the second option as not selected, and the third option as
selected.
3. Select the Options field in the runtime batch hierarchy. Then, click the Image
tab in the center pane of Datacap Studio if it is not already visible. The Options
zone is highlighted. The first and second options are not selected, and the third
is selected. In this case Datacap determined the values correctly. However,
depending on the amount of space around the check boxes, your version might
not work. Even if the 20,20 values worked, you must continue to determine
optimum parameter values.
4. Open the most recent runtime batch folder in C:\Datacap\TravelDocs\batches.
Important: Note the three lines that follow the density string line. These lines
represent the three check box options. The values 48 and 49 are the ASCII
values for 0 (not selected) and 1 (selected). The cn attributes represent the
confidence level, where 10 is high confidence and 5 is low confidence.
7. Repeat the steps to check the values for the Insurance options and make a note
of the DensityString value in tm000002.xml.
From tm000002.xml:
CDW: <V n="DensityString">C</V>
PAI: <V n="DensityString">C</V>
PEP: <V n="DensityString">B</V>
ELP: <V n="DensityString">G</V>
By using the density string characters and the corresponding formula, you can
calculate the percentage of black pixels for each OMR zone.
By using the data in first table, you can determine that threshold = 20.5 and
background = 20 represent good values. The (2 * threshold - background)
formula sets the high-confidence threshold at 21, but you can scan more pages and
check their density strings before you set final values.
Result in
runtime
Parent field Subfield Checkbox Percentage filled hierarchy
Options Nav_System Cleared 17% Option: Selected
Confidence:
High
Child_Seat Cleared 19% Option: Not
selected
Confidence:
High
Confidence:
High
Insurance CDW Cleared 19% Option: Selected
Confidence:
High
PAI Cleared 19% Option: Not
selected
Confidence:
High
PEP Cleared 18% Option: Not
selected
Confidence:
High
ELP Checked 23% Option: Not
selected
Confidence:
High
Because the OMR zones that you drew are probably different from the ones that
generated the data in second table, your values are different. Use the density
characters that you obtained to determine appropriate values for the threshold and
background parameters, and update the Recognize OMR Fields rule. Then, run a
new batch and review the results, including the confidence values in the page data
files.
Data Validation
Data validation determines whether captured data complies with the data integrity
rules that are defined in your business requirements.
For example, when you established the business rules for the TravelDocs
application, you tested if the cost fields are in a valid currency format. If the car
type on the rental agreement page is one of a set of predefined values. And if the
total cost on the air ticket page equals the air fare plus taxes.
A validation failure does not necessarily mean that the original page contains
invalid data. It might mean that the recognition engine failed to recognize one or
more characters correctly. You can change the status of the page, which contains
the data that failed validation. This change ensures that the page is displayed to an
operator for verification.
To check whether an expense lies within permitted limits, you might first create a
rule that does the following actions.
v Ensures that the expense field contains numbers in a valid currency format
v Determines whether the value is less than or equal to the maximum permitted
limit
v Does exception handling if the value is invalid or above the permitted limit
You can then attach the rule to the expense field in the document hierarchy.
For example, you cannot test whether an expense lies within allowed limits until
you determine that the field contains a valid currency value.
The business requirements of the application specify valid formats for all of the
fields that your application is testing. The following examples describe the values
of three acceptable currencies as defined by the business requirements for the
TravelDocs application.
v $477.82
v 824.83
v 254.40 USD
The Validations actions library includes several actions that test the format of a
field, including.
For detailed information on these and other actions in the Validations library, select
the action on the Actions Library tab and click Display information.
A calculated field obtains its value from one or more independent fields. For
example, on the TravelDocs air ticket, the total cost equals the airfare plus taxes
and fees.
In the air ticket example, you can use validation to ensure that the total cost is
correct, based on the airfare and tax fields. An error does not necessarily mean that
the value was calculated incorrectly on the original page. It might mean that one of
the values was recognized incorrectly. You can change the status of the page,
which contains the data that failed validation. This change ensures that the page is
displayed to an operator for verification.
The following example returns True if the total cost equals the airfare plus taxes.
CalculateFields("’Total_Cost’ = ’Airfare’ + ’Taxes’")
The fields that you reference must contain number data. Otherwise, the action fails.
The CalculateFields action works only on number fields. If your Validation rule set
includes rules to validate and possibly correct the format of individual fields (for
example, removing a “USD” suffix from a currency field). You must run the
page-level validation after you completed all field-level validations. For example,
The Validate Total Cost rule runs after Datacap finishes processing all of the
child fields on the page.
Datacap uses other status codes, such as 49, which indicates that a page was
scanned successfully. By default, Datacap displays all pages, but you can configure
the TravelDocs application to display only pages with a status of 1. For more
information, see the topic “Page status” on page 91.
Important: When there is a validation failure, Datacap sets all parent objects’
status to 1, including the batch object. For example, if a subfield fails, Datacap
Use of the Status_Preserve_OFF action in the rrunner library to set the status
correctly. This action and the related Status_Preserve_ON action determine
whether validation rules can update an object's status.
In most situations, you want to make sure Status Preserve is turned OFF at the
start of validation.
The default page-level rule Validate Page in the Validate ruleset that is generated
by the Application wizard sets Status Preserve to OFF for you.
The rule is attached to the default page type, but you must attach it manually to
any new pages that you create.
You cannot check the status variable for a page or field from within Datacap
Studio. So, you must read the runtime batch data files:
v You can get the status of each page from the task profile's data file (for example,
Profiler.xml).
v You can get the status of each field from the page data files (for example,
tm000001.xml).
The Lookup library includes actions for connecting to external data sources and
running SQL statements. The available actions include the following.
For an example of how to use an external data source to complete validation, see
the “Use a lookup database to validate the car type” on page 83 topic.
The following rule has two functions and each function has two actions. Suppose
that Function1 contains validation actions and Function2 is there to handle
validation errors.
Rule: Validation rule
Function1: Perform validation
Action1
Action2
Function2: Handle validation errors
Action3
Action4
Using the rules for execution of functions and actions within a rule:
v If Action1 returns False, Datacap skips Action2 and runs Function2.
v If Action1 returns True and Action2 returns False, Datacap runs Function2.
v If Action1 and Action2 both return True, Datacap does not run Function2.
After you create a batch with the updated application, you can examine status
values, and create more recognition zones.
The currency field validation rule that you need to create uses the following
actions.
Action Description
DeleteAllAlpha Deletes all of the letters from the field. Use
this action to remove the USD suffix that are
used by one of the airlines.
DeleteSelectedChars Deletes the specified characters from the
field. Use this action to remove any spaces.
IsFieldCurrency Returns True if the field is a number and
includes a two-digit decimal amount; returns
False otherwise. The action ignores any
leading currency symbol (for example, $).
To add the Validate Currency Field rule to the document hierarchy, you must use
Datacap Studio
The rule that you create to validate the total cost field uses this action.
Action Description
CalculateFields Returns True if the arithmetic expression is
valid; returns False otherwise.
To add the Flight Cost rule to the document hierarchy, you must use Datacap
Studio.
For each car type field, you test the field value and set the field status to 1. There
is a problem if the car type does not match one of the permitted types.
To add the Validate Car Type rule to the document hierarchy, you must use
Datacap Studio.
The Datacap Desktop and Datacap Web Client verification interfaces enable the
population of a drop-down list directly from the database by using an SQL
statement that is embedded in the SELECT variable of the field. You need to create
the variable in Datacap Studio by first unlocking the document hierarchy,
right-clicking the Car_Type field, and choosing Manage Variables. You can then
add the SELECT variable and set it to the following value.
<SQL flist=’Car_Type’ dsn="*/lookupdb:cs">SELECT Car_Type FROM Car_Types</SQL>
An SQL query (SELECT <column> FROM <table>) gets the list of valid car types from
the application's lookup database (dsn="*/lookupdb:cs"). It then creates a
drop-down list in the specified field (flist=’<field>’) that contains the returned
values.
To create a selection list that works for all verification interfaces, you can create a
dictionary that contains the same valid car types (Compact, Standard, Full size,
SUV, and Other). You can then attach the library to the Car_Type field.
After you create the dictionary, you need to attach it to the Car_Type field in
Datacap Studio.
The Profiler.xml file includes the status of each page in the batch.
<D id="20100323.007.01">
<V n="TYPE">Car_Rental</V>
<V n="STATUS">0</V>
<P id="TM000001">
<V n="TYPE">Rental_Agreement</V>
<V n="STATUS">1</V>
etc.
</P>
<P id="TM000002">
<V n="TYPE">Optional_Insurance</V>
<V n="STATUS">0</V>
etc.
</P>
</D>
<D id="20100323.007.02">
<V n="TYPE">Car_Rental</V>
<V n="STATUS">1</V>
<P id="TM000003">
<V n="TYPE">Rental_Agreement</V>
<V n="STATUS">1</V>
etc.
</P>
</D>
etc.
<D id="20100323.007.04">
<V n="TYPE">Flight</V>
<V n="STATUS">1</V>
<P id="TM000006">
<V n="TYPE">Air_Ticket</V>
<V n="STATUS">1</V>
etc.
</P>
</D>
etc.
A status of 0 indicates that there are no problems, and a status of 1 indicates that a
problem exists. The three problem pages that are shown in the preceding have
Status = 1 for different reasons. To see the nature of the problems, review the
individual page files: tm000001.xml, tm000003.xml, and tm000006.xml.
TM000001
All of the fields in TM000001 have Status = 0 (OK), but the pickup date and return
date fields have low confidence characters. By default, any character with a
confidence level below 8 is considered low confidence and is displayed to an
operator for verification.
TM000003
Because you only defined recognition zones for the first fingerprint of each page
type, TM000003 has no data that is associated with any of the fields. Page
TM000003 is the rental agreement page for Car Rental #2 and has no recognition
zones. Fix this problem and then run the batch again.
TM000006
You need to create recognition zones for each of the following fingerprints.
v Rental_Agreement (Car Rental #2)
v Optional_Insurance (Car Rental #2)
v Rental_Agreement (Car Rental #3)
v Optional_Insurance (Car Rental #3)
v Room_Receipt (Hotel #2)
v Room_Receipt (Hotel #3)
v Air_Ticket (Airline #2)
v Air_Ticket (Airline #3)
Important: As you draw the zones, click Save in the Document Hierarchy pane
often.
To get accurate recognition on the check box options, it is important that all the
check box recognition zones on all fingerprints be as close to the same size as
possible. You might find it difficult to make the zones the same size when you
draw zones on the Zones tab. To establish approximate zone boundaries, draw the
bounding boxes on the Image View tab, and then edit the coordinates in the Pos
variables manually in the Properties pane. For more information, see the section
“Implications of using RecogOMRThreshold” in the topic “Using the pixel
threshold evaluation method” on page 64 for more information.
Datacap applications can support any or all verification options simultaneously. All
verification clients access the same job queue. The clients also provide similar
functions, such as identifying and correcting problems, and submitting the batch to
the next stage in the workflow.
Datacap Desktop
Datacap Desktop panels are .NET forms. The default field-at-a-time interface is
generated automatically from the application's document hierarchy.
You can also create custom panels by using the Datacap Desktop panel builder,
which is distributed as a Microsoft Visual Studio project. Custom panels typically
display all of a page's fields simultaneously.
Datacap Web Client generates verification panels automatically from the document
hierarchy. However, it is also possible to create static layouts and add other custom
functions. The web page for the Verifine verification client includes various
components:
v An image pane that displays the current page
v A data entry panel that displays image snippets and controls for checking and
correcting the data fields
v A batch tree view for restructuring the batch
Datacap Web Client is functionally similar to Datacap Desktop in that the operator
must review each problem page, make any necessary corrections, and submit the
batch when complete.
Confidence levels:
During recognition, Datacap assigns a confidence level to each character and OMR
field. Confidence levels range from 1 (lowest confidence) to 10 (highest
confidence).
You can see the confidence level for each character or OMR field in the cn attribute
of the object in the page data file.
<F id="Pickup_Date">
<V n="TYPE">Pickup_Date</V>
<V n="Position">189,403,567,465</V>
<V n="STATUS">0</V>
<C cn="7" cr="205,414,219,439">83</C> <-- ASCII ’T’ [low confidence]
<C cn="4" cr="205,414,219,439">83</C> <-- ASCII ’r’ [low confidence]
<C cn="10" cr="224,423,236,438">117</C> <-- ASCII ’u’ [high confidence]
<C cn="10" cr="241,423,255,438">101</C> <-- ASCII ’e’ [high confidence]
<C cn="10" cr="256,423,266,438">115</C> <-- ASCII ’s’ [high confidence]
<C cn="10" cr="270,434,275,441">44</C> <-- ASCII ’,’ [high confidence]
<C cn="10" cr="334,416,335,438">32</C> <-- ASCII ’ ’ [high confidence]
<C cn="10" cr="288,416,304,438">68</C> <-- ASCII ’D’ [high confidence]
<C cn="10" cr="308,423,320,438">101</C> <-- ASCII ’e’ [high confidence]
etc.
</F>
The confidence level determines how Datacap displays the character and the
parent field within the verification panel:
v The two verification clients display fields that contain low confidence characters
in yellow, where low confidence in this case is anything less than 10.
v Within the field, the Datacap Web Client displays the low confidence characters
in red, while Datacap Desktop highlights the problem characters in yellow
within the image snippet. Low confidence in this case is anything less than 10 or
the field's ReqConf value. (See “Overriding the default confidence value on
specific fields” on page 92.)
Page status:
The confidence level does not directly affect the page status. For example, a page
might have every character with a confidence level of 1 (lowest confidence) but the
page status is 0 (good). To set the page status that is based on the confidence level
of the characters on the page, use the ChkConfidence action.
Routing Rule 1 is assigned to each page in the document hierarchy and works as
follows:
v ChkDCOStatus checks the page status and returns True if the page status is 1. A
status of 1 typically signifies that there is an error on the page. If the action
returns True, function 2 does not run.
v ChkDCOStatus returns False if the page status is 0 (or any other value other
than 1). A status of 0 typically signifies that the page contains no errors. If the
action returns False, function 2 runs.
v ChkConfidence examines the characters on the current page and sets the page
status to 1 if any character has a confidence level of less than 8 (or the ReqConf
value of the field.
Following execution of Routing Rule 1, any page that contains a validation error or
a character with a confidence level less than 8 has Status = 1. You can configure
Datacap to display only pages with Status = 1 as described in “Show validation
failures to an operator” on page 78.
To determine which characters to display in red, the Datacap Web Client uses a
confidence level of 10, unless the field has its own ReqConf value.
Similarly, the ChkConfidence action uses the confidence value that is specified in
parameter 1, unless the field has its own ReqConf value. For example, if you specify
8 as the parameter value but a field has ReqConf=6, ChkConfidence uses the value
6 for that field.
In other situations, you can prevent the operator from overriding validation errors
by using the SetIsOverrideable action.
For example, to prevent the operator from overriding an error in the Validate Car
Type rule, you can insert SetIsOverrideable("False").
Validate Car Type
Validation: Car Type
SetIsOverrideable("False")
OpenConnection("@APPVAR(*.lookupdb:cs)")
ExecuteSQL(""SELECT Car_Type FROM Car_Types WHERE Car_Type=’%s’;",Car_Type")
CloseConnection()
In this case, the operator must select a valid car type from a drop-down menu that
Datacap Desktop displays next to the field that failed validation.
If the operator attempts to submit a page that failed this validation, an error
message is shown.
You need to set the mode to Router for the task that precedes the task that you
want to skip. In this case, the Profiler task precedes the verification task. Also, you
must create a ruleset that includes a condition to cause the skip. Finally, you must
add the ruleset at the end of the Profiler task in Datacap Studio.
1. Start Datacap Web Client and log in to the application that contains that task
to be skipped.
2. Click the Administrator, expand the job that contains the verification task,
and select the task before the verification task. In most applications, the
Profiler task (the task that applies validation rules) precedes the verification.
3. In the Selected task details section, select Router from the menu for the Mode
field.
4. Under Parameters, enter a value, such as Skip for the Returned Conditions
key.
5. Select the condition (Skip), and in the Selected condition details window,
select Jump from the menu for the Spawm type field, and enter 1 for the
Steps field. A value of 1 configures the workflow so that one task is skipped
when the condition is encountered. In this case, the condition is every page
passed validation.
6. Start Datacap Studio and log in to the same application that you configured in
Datacap Web Client in steps 1 - 5.
7. Click the Rulesets tab, lock the rulesets for editing, and add a ruleset with a
name such as Skip Verify.
8. Rename Rule 1 to a name such as Check Confidence.
You can use Datacap Desktop for verification, but you must create dictionaries for
the check box options, and attach the dictionaries to the check box fields.
1. Create the dictionaries for the check box options.
a. On the Datacap Studio Rulemanager tab, Document Hierarchy pane, click
Lock DCO to lock the document hierarchy for editing.
b. Click Dictionaries in the Document Hierarchy pane.
c. Click Edit dictionary and select Add dictionary.
d. Change the dictionary name from <new_dictionary> to Options.
e. Right-click the new dictionary and choose Add word.
f. Change the name from <new word> to Navigation System and the value from
value to Navigation System.
g. Repeat to add Child Seat and Fuel Service to the dictionary.
h. Click Edit dictionary and select Add dictionary.
i. Create another dictionary that is called Checkbox and add one word with the
name Selected and a value Selected.
j. Click Save in the dialog, and then click Save in the Document Hierarchy
pane.
2. Attach the dictionaries to the check box fields.
a. Confirm that the document hierarchy is still locked for editing.
b. Expand the Car_Rental > Rental_Agreement page so that the fields are
visible.
c. Right-click the Options field and choose Manage variables.
d. Click New, enter DICT, and press the Enter key.
e. Enter the value Options, and click Done.
f. Expand the Car_Rental >Optional_Insurance page so that the fields are
visible.
g. Right-click the CDW field and choose Manage variables.
h. Click New, enter DICT, and press the Enter key.
i. Enter the value Checkbox, and click Done.
j. Repeat for the PAI, PEP, and ELP fields.
k. In the Document Hierarchy pane, click Save, and then click Unlock DCO.
For demonstration purposes, run a batch in the Datacap Web Client through the
Profiler task so that the batch is pending verification.
When you start Datacap Desktop and open a batch that is pending verification,
Datacap Desktop defaults to the field-at-a-time interface and displays the first
problem field.
Within Datacap Desktop, you can go directly to the next problem by clicking Next
Problem.
You can display any page in the batch by selecting it in the Batch View pane.
You cannot modify the default field-at-a-time interface. Instead, if you want to
modify the Datacap Desktop interface you must create a custom panel for each
page.
Related information:
Datacap Desktop panel customization
After you review each problem page in a batch and make any necessary
corrections, you can submit the batch.
This task provides an outline of how to set up the Datacap Web Client server by
using Microsoft Information Systems (IIS) 7.5 and Microsoft Windows 7
Professional.
Follow this procedure to use the Datacap Web Client for verification.
1. Set up the Datacap Web Client server:
a. In the Start menu, select IBM Datacap Web > Datacap Web Server
Configuration Tool. The message box notifies you that the IIS components
are installed.
Internet Information Services (IIS) 7.5:Found
IIS Component - IIS Management Console:Found
IIS Component - ASP.NET:Found
IIS Component - ASP:Found
IIS Component - Static Content:Found
b. If the message indicates that you are missing components, open the
Programs and Features window from Windows Control Panel, click Turn
Windows features on or off, and install the missing components.
v The Management Console is under Internet Information Services > Web
Management Tools.
v The ASP and ASP.NET components are located under Internet
Information Services > World Wide Web Services > Application
Development Features.
v The Static Content component is located under Internet Information
Services > World Wide Web Services > Common HTTP Features.
c. After you install the missing components, run the Datacap Web Client
Server Configuration tool again. Then, click OK to continue.
d. In the Datacap Web Client Server Configuration window, click Configure to
set up the Datacap Web Client application in IIS.
e. Start the Internet Information Services (IIS) Manager or type inetmgr).
f. Expand Sites > Default Web Site and confirm that the TaskRun folder
shortcut and the tmweb.net application are visible.
2. Set up the Datacap Web Client:
a. In the Start menu click IBM Datacap Web Datacap Web Server
Configuration Tools
b. Click Configure to set up the security options in Internet Explorer.
3. Create dictionaries for the check box options:
Tip: If you are unable to get past the page with the validation error after
you click OK, click Hold to put the batch on hold. Then, click the
Administrator tab, select the Verify task in the Workflow page, and click
Setup in the Selected task details pane. In the Webpage Dialog Navigation
panel, enter a value of 0,2 for the Done Page Status field.
After you complete the revision and save the setup file, reopen the batch
from the Datacap Web Client Monitor tab by clicking the QID field. For
information about the Done Page Status and other settings, see
“Configuring the VeriFine client” on page 226.
c. When you reach the end of the batch, click OK to finish the batch. The
batch is now marked as pending for export.
For more information about configuring the web verification client, see
“Verification by using the VeriFine web client” on page 225.
Related information:
Datacap Web Client installation and configuration
Data export
Datacap can export data to a text file, an XML file, a database, a Document
Management system, or a custom business process. The default output format is a
text file, but you can use some actions to export data to a database and an XML
file.
The resulting file looks like the following example, where each line represents one
page and the fields are separated by commas.
*****************
Export for batch #20100334.019,12/01/2010,08:47:58 <--- Header information
,Tues, Dec 7, 2010,Boston (BOS),Fri, Dec 10, 2010,Boston (BOS),Compact,001,$345.70
,0,0,0,1
,Mon, Dec 6, 2010,San Francisco (SFO),Fri, Dec 10, 2010,San Francisco (SFO),SUV,010,$489.31
,Boston (BOS),Pittsburgh (PIT),17NOV10,Pittsburgh (PIT),Boston (BOS),21NOV10,313.17,64.56,477.73
,Newark, NJ (EWR),Charlotte, NC (CLT),MON NOV 15, 2010,Charlotte, NC (CLT),Newark, NJ (EWR),WED NOV 17, 2010,$524.76,$53.23,$577.99
,Dec 21, 2010,Dec 24, 2010,$293.03
,Nov 30, 2010,Dec 2, 2010,$243.07
The Export actions library includes actions that are typically used for exporting
captured data to a text file. A few of the key export actions are outlined in the
following table.
.
Export CloseExportFile Closes the export file.
For detailed information on ARSLOAD file formats and how to configure your
Datacap system to export data into Content Manager OnDemand, see
http://www-01.ibm.com/support/docview.wss?uid=swg21502807.
Export to a database
Datacap can export data to any DB2®, Microsoft Access, Microsoft SQL Server, or
Oracle database by using the actions in the ExportDB library
For a complete example, see “Creating the ExportDB ruleset” on page 136.
The ExportXML library includes actions that you can use to write data to an XML
file. Some of the export actions are described in the following table.
For a complete example, see “Creating the ExportXML ruleset” on page 138.
Datacap Connector actions are associated with objects in the Document Hierarchy
at the batch, document, page, or field level through rulesets. For example, to
export objects from a Datacap application to IBM® Content Manager. You configure
rules on the IBMCM Export ruleset to upload Datacap scanned images to IBM
Content Manager.
You can use the IMail or EWSMail input actions to scan incoming email messages
for attachments that can then be imported into document batches. You can use the
Email output actions to send email messages. The Fax actions can import the
content of incoming faxes from a specified fax source into document batches. You
can process email and fax-based batches by using the Datacap standard
Recognition or Verify tasks.
Before you start to configure these actions, verify the Datacap Connector actions
were installed as part of a complete Datacap product installation.
You must have write access to a folder on the repository and privileges to create
and view documents in that folder. Then, you can use the Datacap Connector
Actions to upload documents into the repository.
For more information about rule sets and tasks, see “Task profiles and rulesets” on
page 24.
To integrate Datacap Connector actions into Datacap applications, you add the
actions that you want to use to functions in your rulesets.
The Datacap applications are unique, so you can do some general steps to
incorporate connector actions into an application. You must connect the rules to the
appropriate levels in the DCO.
You can use smart parameters in a key path to access the passwords for the
Datacap Connector actions. See “Reference passwords, connection strings, and
other parameters from your actions” on page 169 for information about storing
action parameters in the .app file.
To export documents and index files into Content repositories and libraries, you
must add the Connector actions to the appropriate Export rulesets.
Open Datacap Studio and use the Export ruleset for the repository or library into
which you want to export documents. For example, to export documents into an
IBM Content Manager, you might use a ruleset named Export To CM. You
configure the ruleset with rules that log on to Content Manager and upload a
document into the repository. These rules might be named Connect to CM and
AddDocument.
The IBM Content Manager Connector actions integrate Datacap applications with
the IBM Content Manager repository.
Use these actions to upload documents and index fields into an IBM Content
Manager repository.
You can configure the IBM Content Manager Connector actions for the following
tasks:
v Log in to the IBM Content Manager server
v Search for an item in the IBM Content Manager repository based on an attribute
and value or item ID that is provided.
v Create a IBM Content Manager document that is based on the type in the
Document Hierarchy as a document or a page
v Add, delete, or replace pages in the IBM Content Manager document as needed
v Set the attribute value on the IBM Content Manager document
v Set the MIME type for the IBM Content Manager document that you are
uploading
v Create an IBM Content Manager folder in the parent folder where you can
upload documents
v Set the attribute value on the IBM Content Manager folder
v Set the path to the IBM Content Manager folder where you are uploading
documents
v Upload the document, page, or directory to the IBM Content Manager server
v Store the item ID of the uploaded IBM Content Manager document or page in
the DCO
v Store the ID of the most recently created IBM Content Manager folder into a
variable of the Document Hierarchy
To configure and run IBM Content Manager Connector actions, your environment
must meet the hardware and software requirements for Datacap, Version 9.0.
The following components must be installed and running on your system before
you can use IBM Content Manager Connector actions to upload images into a IBM
Content Manager repository.
v Datacap Version 9.0 installed and running on either a single computer or a
client/server installation
v Network access to an IBM Content Manager, Version 8.4
The following repository clients must be installed on each Datacap computer that
runs the export ruleset. Export actions are run on Rulerunner in production. Export
actions can also be run in Datacap Studio or Datacap Desktop for development or
test purposes. Computers that run rules must have the appropriate clients, such as
Rulerunner and Datacap Studio, installed on them.
v One of the following IBM DB2 Client options:
Record the system settings that you want to use to configure the IBM Content
Manager Connector actions and have these values available during the
configuration process.
This table describes the parameters that are required for Datacap Connector for
IBM Content Manager actions.
Table 20. Required IBM Content Manager parameter settings
Action Description
Logon Server name, user ID, password
Search Item The attribute name and value or the item ID
of the item for which you want to search in
IBM Content Manager. The item that is
found is set as the current item for the
actions that follow this action in the
application.
Create Item The IBM Content Manager item type, such as
document or page.
New page The pages to add to the existing IBM Content
Manager document
Existing page The existing IBM Content Manager page to
delete or replace.
Set Attribute Value A valid IBM Content Manager item type
equivalent to a Document Class such as
NOINDEX or a predefined Smart Parameter
that contains a valid item type.
Create Folder An IBM Content Manager folder in the
parent folder. This new folder is based on the
item type and the parent folder ID.
Create Folder Attribute Value The attribute name and value of the IBM
Content Manager folder or a predefined
Smart Parameter that contains a valid
attribute name and value.
Set Destination Folder A valid IBM Content Manager destination
folder ID based on the parent folder ID.
Upload Document None
Upload Page None
Store Item In DCO The item ID of the document or page that
you are uploading.
You must create an Export ruleset and configure its rules and functions with IBM
Content Manager Connector actions to upload documents from Datacap
applications into IBM Content Manager.
The following example describes an Export To Content Manager ruleset that logs
on to the IBM Content Manager server and uploads a single page document into
IBM Content Manager.
This ruleset contains the Connect and Upload rules. The Connect rule contains the
Logon function and action. The Upload rule contains the AddPage function with
actions that create the page, set attribute values for the page, upload, and store the
page.
The Datacap Connector for IBM Content Manager Upload actions configure the
connection between the Datacap application and the IBM Content Manager
repository.
These actions are based on the IBM Content Manager Java™ API. If you use the
IBM Content Manager Java APIs, you must install the IBM Information Integrator
for Content connector for Content Manager on the computers where you want to
run these actions.
The examples in the following tables show the sequence in which you must add
the actions to the Export To Content Manager ruleset for the upload scenarios.
The FileNet P8 Connector actions integrate Datacap applications with IBM FileNet
Content Engine.
You can use FileNet P8 Connector actions to upload documents and index fields
into a Content Engine repository.
To use the Secure Socket Layer to encrypt communications between Datacap and
the IBM FileNet P8 repository, you must setup an SSL-encrypted connection in the
FileNet P8 client.
This list describes the main function of the FileNet P8 Connector actions.
v Set up the URL of the Content Engine repository
v Log in to the Content Engine
v Set the class ID of the target location on Content Engine as ObjectStore or
FileStore
v Set a locale that is accepted by the IBM FileNet P8 web service
v Set the object ID for the Object Store on Content Engine
v Set the path to the IBM FileNet P8 folder where you are uploading documents
v Specify the content type that defines the fields within a document library for the
uploaded documents, such as an Invoice
v Create a folder in Content Engine where you can upload documents
v Upload the document, page, or directory into Content Engine
To configure and run FileNet P8 Connector actions, your environment must meet
the hardware and software requirements for Datacap, Version 8.0, 8.0.1, 8.1, and
9.0.
The following repository clients must be installed on each Datacap computer that
runs the export rule set. Export actions are run on Rulerunner in production.
Export actions can also be run in Datacap Studio and Datacap Desktop for
development or test purposes. Computers that run rules must have the appropriate
clients, such as Rulerunner and Datacap Studio, installed on them.
The following repository clients must be installed on the Datacap Web Client that
runs the Datacap export process. These clients are run on Microsoft Windows
operating systems.
v Microsoft Web Service Enhancements 3.0 Runtime
v Access to the Content Engine software package so that you can run the Content
Engine installation to download the CE.NET client
Related information:
Hardware and Software Requirements for IBM Datacap Version 9.0
Record the system settings that you want to use to configure the FileNet P8
Connector actions and have these values available during the configuration
process.
This table describes the parameters that are required for Datacap Connector for
FileNet Content Manager actions.
Table 23. Required IBM FileNet P8 parameter settings
Connector action Description
Set URL The URL for the FileNet P8 web service.
Logon FileNet P8 user ID and password.
Set Target Class ID The value of the Class ID. Use either
ObjectStore or FileStore.
You must create an Export ruleset and configure its rules and functions with
FileNet P8 Connector actions to upload documents from Datacap applications into
Content Engine.
Datacap Connector for FileNet Content Manager actions can upload images from a
Datacap batch to the IBM FileNet Content Server library by using the IBM FileNet
P8 XML web service.
3. Verify the URL and the version of the FileNet P8 Server. For example,
http://myp8server:9080/wsi/FNCEWS40MTOM
4. Add the FileNet P8 Connector actions (FileNetP8.RRX) to the Export rulesets.
The ruleset contains the Connect to CE and AddDocument rules. The Connect to
CE rule contains the Logon function and actions you must run to make the
Export To P8 ruleset
v Connect to CE rule
– Logon function
- FNP8_SetURL("http://MyServer:9080/wsdl/FNCEWS40MTOM")
- FNP8_Login("P8Admin UserID,P8Admin Password")
- FNP8_SetLocale("en_US")
- FNP8_SetTargetClassID("ObjectStore")
- FNP8_SetTargetObjectID("ObjectStoreName")
- FNP8_SetDestinationFolder("/mydestfolder")
v AddDocument rule
– AddPage function
- FNP8_SetDocTitle("@ID")
- FNP8_SetDocType("TIF")
- FNP8_Upload()
The Datacap Connector for IBM Content Manager Upload actions configure the
connection between the Datacap application and the IBM Content Manager
repository.
You use these actions to upload a single page file or an image that contains
multiple pages and their associated index values from Datacap into Content
Engine.
The examples in the following tables describe the sequence in which you must add
the actions to the Export To P8 ruleset for the upload scenarios.
The following list describes the main functions of the Documentum Connector
actions.
v Log in to the Documentum repository
v Specify the content type or format in which to release documents to the
Documentum repository, such as TIF or PDF
The following repository clients must be installed on each Datacap computer that
runs the export ruleset. Export actions are run on Rulerunner in production. Export
actions can also be run in Datacap Studio or Datacap Desktop for development or
test purposes. Computers that run rules must have the appropriate clients, such as
Rulerunner and Datacap Studio, installed on them.
v Datacap Version 8.0, 8.0.1, 9.0, or 9.0 installed and running on either a single
computer or a client/server installation
v Network access to Documentum Foundation Classes 6.6, DFC Version 2.2.5.219
SP2 or later
v Network access to Documentum DFC Runtime Environment: not installed with
Datacap. See the Documentum documentation for information about the
installation, operating system requirements, and configuration. You must restart
the server after you install this component.
Related information:
Hardware and Software Requirements for IBM Datacap Version 9.0
Record the system settings that you want to use to configure the Documentum
Connector actions and have these values available during the configuration
process.
This table describes the parameters that are required for Documentum Connector
actions.
Table 26. Required Documentum Docbase parameter settings
Connector action Description
Logon Domain name, server name, user ID,
password
Set Content Type The content type that is defined in the
repository for the object, for example TIFF,
JPEG, DOC.
Set Folder Name The name of the Datacap folder from which
the file is uploaded.
Set Object Name The Object Name value for the file that you
are uploading to the repository.
Upload Document Upload all of the pages in the document.
Upload Page Upload the selected page from the document.
You must create an Export ruleset and configure its rules and functions with
Documentum Connector actions to upload documents from Datacap applications
into Content Engine.
The ruleset contains the Login and Page Upload rules, functions, and actions. The
Login rule is bound to the batch level. The PageUpload rule is bound to the page
level.
ExportDocumentumByPage ruleset
v Login rule
– Login function
- DM_Logon("dmsrv","userid","password")
v Page Upload rule
– Page Upload function
- DM_SetContentType("tiff")
- DM_SetFolderName("/MyDocument")
- DM_SetObjectName("@ID")
- DM_UploadPage()
The Documentum Connector Upload actions configure the connection between the
Datacap application and the Documentum Docbase repository.
Use the Documentum Connector actions to upload a single page file into
Documentum Docbase. You can also upload an image that contains multiple pages
and their associated index values from Datacap.
You can upload a single document that consists of a multiple TIFF pages by using
the DM_UploadDocument action on the document level.
If you want to merges the pages of the document into multiple TIFF files, you can
use a rule that contains TifMerge actions to combine multiple pages image files
into a file. Then, you can assign that multiple image file to one document. For
more information about TifMerge actions, see the TifMerge reference topic.
You can use a subsequent rule that uploads the multiple page document file to a
specified Documentum repository.
You can create a single RuleSet Type with actions from both actions files, or you
can create rules from different RuleSet Types. In either case, the actions must be
similar to the following sequence.
Related information:
TifMerge
You then use SharePoint Connector actions to upload documents and index fields
into a SharePoint library.
The following list describes the main functions of the SharePoint Connector
actions.
v Log in to the SharePoint library
v Identify and set up the URL of the SharePoint library
v Specify the content type that defines the fields within a document library for the
uploaded documents, such as an Invoice
v Set the format in which to release documents to the SharePoint library, such as
TIF or PDF
v Create a folder in the SharePoint into which you upload documents
To configure and run SharePoint Connector actions, your environment must meet
the hardware and software requirements for Datacap, Version 8.0, 8.0.1, and 9.0.
The repository clients must be installed on each Datacap computer that runs the
export ruleset. Export actions are run on Rulerunner in production. Export actions
can also be run in Datacap Studio or Datacap Desktop for development or test
purposes. Computers that run rules must have the appropriate clients, such as
Rulerunner and Datacap Studio, installed on them.
You must meet the following prerequisites to export images to a SharePoint library:
v Datacap Version 8.0, 8.0.1, 9.0, or 9.0 installed and running on either a single
computer or a client/server installation
v Network access to a SharePoint 2010 Server or a SharePoint 2007 Server with
Microsoft Office SharePoint Services (MOSS) 3.0 installed
v SharePoint URL or HTTP address of every library to which you are releasing
images
v Details about the columns in the library where you are exporting images; such
as the static names of the columns, the column types, and column restraints
v Valid Content Types for each library and the exact spelling of these Content
Types.
v The user ID that logs in to SharePoint is different than the user ID on the
computer where the Export task runs. Then, you need the SharePoint login
credentials.
Related information:
Hardware and Software Requirements for IBM Datacap Version 9.0
Record the system settings that you want to use to configure the SharePoint
Connector actions and have these values available during the configuration
process.
This table describes the parameters that are required for Datacap Connector for
Microsoft SharePoint actions.
Table 29. Required SharePoint Connector parameter settings
Connector action Description
Create Folder The folder in the SharePoint library into
which you import your documents.
Set URL The URL address of the SharePoint library.
Login User ID, password, optional SharePoint
domain.
Set Content Type The name of the Content Type that defines
the fields within a document library for the
uploaded documents, such as an Invoice
You create SharePoint columns at the library level, not at the folder level. Datacap
passes Datacap index values to these columns.
The following table identifies the relationships between SharePoint columns and
the index values passed to SharePoint columns by Datacap.
Create an Export ruleset and configure its rules and functions with SharePoint
Connector actions. Then, you can upload documents from Datacap applications
into a SharePoint library.
Export To SP ruleset
v Connect to SP rule
– Logon function
- SP_Login("userID,password,domain")
- SP_SetURL("http://blue/Docs/Documents/+BatchID+/+@ID")
- SP_CreateFolder("http://blue/Docs/Documents/Test")
- SP_Property("Date,@Value")
v AddDocument rule
– AddPage function
- SP_SetContentType("Invoice")
- SP_SetFileType("jpg")
- SP_Upload()
The SharePoint Connector Upload actions configure the connection between the
Datacap application and the SharePoint library.
The Datacap Connector for Microsoft SharePoint Upload actions configure the
connection between the Datacap application and the SharePoint library. You use
these actions to upload a single page file or an image that contains multiple pages
and their associated index values from Datacap into SharePoint.
The examples in the following tables describe the sequence in which you must add
the actions to the Export To SharePoint ruleset for the upload scenarios.
You use Datacap Connector for FileNet Image Services actions to upload
documents and commit images to an IBM FileNet Image Services library.
The Rulerunner Service task that applies FileNet Image Services Connector rules
and remembers the images that were previously committed to FileNet. When the
Rulerunner Service task runs FileNet Image Services Connector Upload procedures,
these previously uploaded images are not recommitted. The Rulerunner Service
task generates a separate and unique Page file (<upload>.xml) every time it uploads
a FileNet document. When the actions to upload documents and commit images to
an IBM FileNet Image Services components initialize, the task polls the active
batch folder for this Page file. If it does not find the file, it creates a new Page file.
The main function of the FileNet Image Services Connector actions to upload
documents and commit images to an IBM FileNet Image Services library:
v Access and open an IBM FileNet Image Services library
v Create a FileNet document to upload into the library
v Define an Index Map that links FileNet properties to values that are associated
with objects of the Document Hierarchy
v Associate images with FileNet documents
v Upload indexed documents and images for commitment to the library
To you configure and run FileNet Image Services Connector actions, your
environment must meet the hardware and software requirements for Datacap,
Version 8.0, 8.0.1, and 9.0.
The following repository clients must be installed on each Datacap computer that
runs the export ruleset. Export actions are run on Rulerunner in production. Export
actions can also be run in Datacap Studio or Datacap Desktop for development or
test purposes. Computers that run rules must have the appropriate clients, such as
Rulerunner and Datacap Studio, installed on them.
v Datacap Version 8.0, 8.0.1, 9.0, or 9.0 installed and running on either a single
computer or a client/server installation
v IBM FileNet IDM Desktop client
v Network access to the IBM FileNet Image Services library
Related information:
Hardware and Software Requirements for IBM Datacap Version 9.0
Record the system settings that you want to use to configure the FileNet Image
Services Connector actions and have these values available during the
configuration process.
This table describes the parameters that are required for Datacap Connector for
FileNet Image Services actions.
Table 34. Required FileNet Image Services Connector parameter settings
Action Description
Library Initialize (IS) Elements of a previously defined library name by using the
syntax <DefaultIMS>:<domain>:<organization>
For example,
IndexProperty_ID_Date_Component
(FNStart,1040EZ,mmddyy,yyyymmdd)
Index Property Left Justify Name of the FileNet document property to left align and the
maximum size of the value.
You must create an Export ruleset and configure its rules and functions with
FileNet Image Services Connector actions to upload documents from Datacap
applications into a FileNet Image Services library.
You can export documents from an Datacap batch to an IBM FileNet Image
Services library by adding the FileNet Image Services Connector actions to the
Export rulesets.
The ruleset contains the Connect to IS, CreateDocument, and AddDocument rules.
The Connect to IS rule contains the Logon function and actions you must run to
make the connection to the FileNet Image Services library. The AddDocument rule
contains the AddPage function with actions that define the title and format of the
page, and upload the page.
Export To IS ruleset
v Connect to IS rule
– Logon function
- Library_IS_Initialize(ISLibrary:Datacap:FileNet)
- Library_Login("userID,password")
v AddDocument rule
– AddPage function
- NewDocument("1040EZtwo")
- AddFileToDocument(C:\Datacap\MSQW\Process\FNLog.log)
- Upload()
The FileNet Image Services Connector Upload actions configure the connection
between the Datacap application and the FileNet Image Services library.
Use these actions to upload a single page file or a document that contains multiple
pages from Datacap into the FileNet Image Services library.
Email Connector actions create Datacap batches from the documents that you
receive as email attachments. You can also send email notification messages when
specific events occur.
Email Input actions scan an email inbox for incoming mail messages and place
selected messages and attachments into a new Datacap batch for processing.
Datacap supports two methods of accessing a mail server to obtain the image
attachments.
v The actions in IMail.RRX use the Internet Message Access Protocol (IMAP) for
Microsoft Exchange Server, Novell GroupWise, and other mail servers that
provide support for IMAP.
v The actions in EWSMail.RRX use Exchange Web Services (EWS) for Microsoft
Exchange Server. This service is a SOAP-based method of communication.
The Input actions are typically assigned to a Datacap task that is run by an
unattended Rulerunner Service station. These Input actions scan one or more
inboxes and defines the type of attachments to include in the batch. For example,
you can specify only TIFF images or only PDF files, which helps eliminate input of
improper files.
The batch is created when the maximum number of documents is received from
the email servers or a specified time interval elapsed. At the batch level, the
EmailCount is captured. Each document in the batch is associated with one email
message. The document contains a page for each attachment file and variables
with the email Subject, From, To, DateSent, Priority, and Body. In addition, the
IMail actions capture User, and the EWSMail actions capture DateReceived.
When an email is successfully processed and the attachment is input into the
Datacap batch. The email is moved from the inbox to a specified email done folder.
If the attachment is not one of the expected types such as a TIFF file, or there is a
processing problem. The email, and attachment does not become part of the batch
and are moved to a specified email problem folder.
To capture MS Office document attachments and turn them into images that can be
processed by using the Datacap standard Recognition or Verify tasks. You can
license the eDocument Conversion actions and put them in the processing rules of
your application.
If you capture non-image files by using the Email Input actions, the pages that are
created have non-image files that are attached to them. If you capture only the
email body, the page might not have any files that are attached. In either of these
cases, your application must handle these documents and pages. Processing a
batch that contains pages with no images attached by using the standard
recognition actions or the verify task, might not work as you expect.
You configure the Email Send actions for a Datacap task to compose and send
informational email messages under the conditions that you define.
You can send notification emails directly to multiple recipients or use the CC and
BCC options. The subject line can be specified and the email can be sent with or
without attachments. The Send Action is useful when the other actions encounter
exceptions and must notify a user. For example, if an error occurs during data
verification, you can alert an administrator to take the appropriate action. The
items that caused the failure can be attached to the email. If export rules encounter
a problem and a batch is not exported successfully, an email can be composed and
sent that contains the details.
To configure and run Email Connector actions, your environment must meet the
hardware and software requirements for Datacap, Version 8.0, 8.0.1, and 9.0.
The following components must be installed and running on your system before
you can use Email Connector actions:
v Datacap Version 8.0, 8.0.1, 9.0, or 9.0 installed and running on either a single
computer or a client/server installation
To use the Datacap Email Input actions, you must have access to a mail server
with one of the following servers:
v Exchange Web Service (EWS) enabled on Microsoft Exchange. Datacap
recommends that SSL is configured. Use the input actions in EWSMail.RRX.
v Email server that supports IMAP protocol and the mail server and firewall (if
any) have IMAP access that is enabled. SSL is not supported now. Use the input
actions in IMail.RRX.
You must have an email account that you can use for which you know the server
URL, and login user name and password.
The dedicated email account contains an Inbox folder, a Done folder for messages
that are successfully imported, and a Problem folder for messages that encountered
errors. The names that you assign to these folders can be specified by using the
im_done_folder and im_problem_folder, or ex_done_folder and ex_problem_folder
actions.
Optional: set up an inbox that is dedicated to the emails that you intend to
process. If there are preexisting messages in the Inbox, the oldest messages are
processed first.
Record the system settings that you want to use to configure the Email Connector
actions and have these values available during the configuration process.
Each email message that contains one or more of the wanted attachment types
becomes a new Datacap document. Message headers and body, and pages are
created for each of the attachments.
IMail and EWSMail set an EmailCount at the Batch level and at the following
Document level variables for each email message accepted (Done):
TYPE="Document", Message ID, Subject, From, To, DateSent, Priority, Body= User.
IMail also sets the following Page level variables for each attachment:
TYPE="Other", IMAGEFILE=attachment filename.
When you do not use the ex_EMLOption action, EWSMail sets the following Page
level variables for each attachment: TYPE="Other", IMAGEFILE=attachment filename
in batch ATTACHNAME=original attachment filename.
When you use the ex_EMLOption action for EWSMail, pages for attachments are
not created, and variables for those attachments are not set.
Use the actions in IMail.RRX when your mail server uses the Internet Message
Access Protocol (IMAP). These include Microsoft Exchange Server, Novell
GroupWise, and others.
Use the EWSMail Input actions when your mail server is an Microsoft Exchange
mail server, which is configured to allow Exchange Web Service access.
Before you configure these actions, record the appropriate values for your system
and have them available during the configuration process.
Table 37. Required Email Input actions parameter settings
Action IMail.RXX EWSMail.RXX
EWS Version Version of Microsoft
Exchange to use for EWSMail
Input actions
Logon URL of mail server, URL of mail server,
username, and password of username, and password of
the mail account the mail account
Scan None None
This table describes the parameters that are required for Email Sending actions.
Before you configure these actions, record the appropriate values for your system
and have them available during the configuration process.
Table 38. Required Email Sending actions parameter settings
Action Description
Send Email None
Set Attachment Pathname and file name of the file you want
to attach to the current email. Smart
parameters are supported.
Set Blind Carbon Copy Receipts Email addresses that receive a copy of the
email as a blind carbon copy. You can enter
multiple email addresses separated by
commas.
Set Carbon Copy Receipts Email addresses that receive a copy of the
email as a carbon copy. You can enter
multiple email addresses separated by
commas.
Set Mail Body Email message text. Smart parameters are
supported
Set Mail Server IP or DNS address of the outgoing mail
(SMTP) server
Set Recipients Email addresses of the recipients of the email
Set Sender Email address of the sender of the email
Email Connector can actions to scan Email servers that support IMAP protocol or
Exchange Web Service (EWS) for incoming email messages with attachments. You
specify and export the attachments into a batch.
The following example describes a Use EWS ruleset that selects the version of the
EWS Email server to use. The ruleset logs on to the mail server, scans the server
for incoming mail with attachments and imports them into the batch.
The ruleset contains the Connect to EWS and Find Attachment rules. The Connect
to EWS contains the Version and Logon functions and actions you must make the
connection to the wanted version of the Email server. The Find Attachment rule
contains the Scan function with actions that locate the specified attachments and
import them into the batch.
The Email Connector actions connect to the Email servers that support IMAP
protocol or Exchange Web Service (EWS). These actions scan incoming email
messages for attachments that contain the types of attachments that you specify
and import the attachments into a batch.
The examples in the following tables show the sequence in which you must add
the actions to the Export ruleset for the different Email servers.
You can use Fax Connector actions to createDatacap document batches from
incoming faxes. You can also send the contents of a document to a specified fax
number.
The Datacap Connector for Fax actions do the following steps to create document
batches from information that you receive in faxes.
v Set the name of the Fax Server and the user ID and Password to use to connect
to the OpenTextFaxServer
v Specify the protocol to use to connect to the OpenTextFaxServer
v Define the amount time before you stop running a batch, polling interval time,
and the server authentication method.
v Connect to the OpenTextFaxServer
v Configure the maximum number of faxes in a batch and whether to remove
processed faxes from the server
v Import the faxes into the document batch from the OpenTextFaxServer
To configure and run Fax Connector actions, your environment must meet the
hardware and software requirements for Datacap, Version 8.0, 8.0.1, and 9.0.
The following components must be installed and running on your system before
you can use the Fax Connector actions:
v Datacap Version 8.0, 8.0.1, 9.0, or 9.0 installed and running on either a single
computer or a client/server installation
Related information:
Hardware and Software Requirements for IBM Datacap Version 9.0
Record the system settings that you want to use to configure the Fax Connector
actions and have these values available during the configuration process.
This table describes the parameters that are required for the Datacap Connector for
Fax actions.
Table 41. Required Fax Connector actions parameter settings
Action Description
Set Server Name Name of the OpenTextFaxServer
You must create an Export ruleset and configure its rules and functions with Fax
Connector actions to import incoming faxes into a document batch.
The following example describes an Export Fax ruleset that selects the
OpenTextFaxServer to use. The ruleset logs on to the server, and imports the faxes
from the server into the batch.
The ruleset contains the Connect to Fax Server and Import Fax rules. The Connect
to Fax rule contains the Server name, Logon, Protocol, and Connect functions and
the actions that make the connection to the Fax server. The Import Fax rule
contains the Import function with actions that locate the specified attachments and
import them into the batch.
The examples in the following tables show the sequence in which you must add
the actions to the Export ruleset.
Table 42. The sequence of actions to import faxes
Action Description
SetServerName("hostname") Set the name of the OpenTextFaxServer to
which you want to connect.
SetUserID("userid") Set the user ID to use to log in to the
OpenTextFaxServer.
SetUserPassword("Password") Set the Password for the user ID to use to
log in to the OpenTextFaxServer.
SetProtocol("4") Specify the protocol to use to connect to the
OpenTextFaxServer.
A log file contains the results of calling the action and explains why a document
was not created when you upload documents into a repository. The name of the
log file is based on the name of the task, for example export_rss.log.
After the documents are uploaded into a repository, the following file for that
repository is created in the batch directory. This file contains the names of the files
that were uploaded.
Datacap Studio provides help topics with detailed information for all of the
connector actions. The topics include the action library name, description,
parameters, DCO level, returns, and examples for each action.
You can refer to these descriptions when you configure the parameters of the
Connector actions. These actions are specific to the entity into which you are
uploading files. When you configure actions for an application, you must set the
actions for the entity in the sequence in which they are presented in the examples.
3. Right-click on the action for which you want detailed information and select
Information.
Action Parameter
ExportOpenConnection @APPVAR(*/exportdb:cs)
SetTableName Rental_Agreement
ExportBatchIDToColumn BatchID
ExportFieldToColumn Pickup_Date,Pickup_Date
ExportFieldToColumn Pickup_Location,Pickup_Location
7. In the Rulesets pane, click Save. Then, click Lock/Unlock ruleset and choose
Publish ruleset.
To attach the Export Rental Agreement Data rule to the rental agreement page:
1. In the Document hierarchy pane, click Lock DCO for editing.
2. Expand the document hierarchy so the Rental_Agreement page is visible.
Then, select the Rental_Agreement page.
3. In the Rulesets pane, select the Export Rental Agreement Data rule and click
Add to DCO.
4. With the Export Rental Agreement Data rule still highlighted, click Sync DCO
view with Ruleset view. Make sure that the new rule is now included in the
Open element of the rental agreement page.
5. In the Document hierarchy pane, click Save, then click Unlock DCO.
Action Parameter
xml_NewNode @ID,Rental_Agreements
xml_NewNode Pickup_Date,@ID
xml_SetNodeValue Pickup_Date, @P\Pickup_Date
xml_NewNode Pickup_Location,@ID
xml_SetNodeValue Pickup_Location, @P\Pickup_Location
xml_NewNode Return_Date,@ID
xml_SetNodeValue Return_Date, @P\Return_Date
xml_NewNode Return_Location,@ID
xml_SetNodeValue Return_Location, @P\Return_Location
xml_NewNode Car_Type,@ID
xml_SetNodeValue Car_Type, @P\Car_Type
xml_NewNode Options,@ID
xml_SetNodeValue Options, @P\Options
xml_NewNode Total_Cost,@ID
xml_SetNodeValue Total_Cost, @P\Total_Cost
Attention: @ID gets the ID of the current object. @P\ gets the value of the
specified field on the current page.
11. Right-click the ExportXML ruleset and choose Add Rule.
12. Rename the new rule from Rule1 to Close XML File.
13. Rename the default function from Function1 to Close XML.
14. Select and add the action that is shown in the following table to the Close XML
function by clicking Add to function. This action has no parameter.
Action Parameter
xml_SaveFile
15. In the Rulesets pane, click Save. Then, click Lock/Unlock ruleset and choose
Publish ruleset. The finished ruleset looks like the following example.
Application Debugging
Application debugging requires that you review two runtime log files, which are
the Rulerunner Service (RRS) log and the task log. The RRS log provides detailed
information about each action and is most helpful to application developers. The
task log documents internal calls and is used mostly by IBM software support.
Datacap Studio includes integrated debugging functionality through which you can
control the execution environment and monitor your application at runtime.
Additionally, Report Viewer and Rulerunner can generate their own log files.
Rulerunner logging is discussed in the topic “Rulerunner logging” on page 198.
Tip: RRS logging is only useful for tasks that run rules. If your web client is
not associated with a task profile, an RRS log file is not generated.
If you want to generate an RRS log file for tasks that you run from the Datacap
Web Client or for Datacap Desktop tasks, complete the following steps.
1. Start Datacap Rulerunner Manager.
2. Click the Logging tab.
3. Click the RRS log tab and select the logging options that you want.
In the Datacap Web Client, each task generates its own Rulerunner Service log file.
The most recent TravelDocs batches folder contains a log file for each of the task
profiles in the Main Job workflow.
Each log file contains detailed descriptions of the actions that are run by the task
profile and is useful for application troubleshooting.
Example 1
Example 2
In the previous example, the action that is executed successfully and returned true
[line 11]. In this next example, you will introduce an invalid key name in the
action parameter:
SetSourceDir("@APPPATH(imagedir)") <--"imageddir" is not a valid key
This time the batch aborts. If you run the task from the Datacap Studio, you see an
error message.
In this case, you can look at the end of the log file to determine the cause of the
error [line 6].
[1] action SetSourceDirectory (bool=false,bool=false,str="@APPPATH(imagedir)")
[2] 1 Smart Parameter element found
[3] Parsing Smart Parameter element {0} value: "@APPPATH(imagedir)"
[4] @APPPATH key root value: ’imagedir’
[5] @APPPATH looking for workflow key: ’*/dco_TravelDocs/imagedir’
[6] @APPPATH workflow key not found. <--Key not found
[7] @APPPATH looking for appname key: ’*/dco_TravelDocs/imagedir’
[8] @APPPATH appname key not found.
[9] @APPPATH looking for general key: ’*/imagedir’
[10] @APPPATH general key not found.
[11]Smart Parameter return value: ’’
[12] looking for:@APPPATH(imagedir)
[13] Error: Folder ’@APPPATH(imagedir)’ does not exist <--Folder does not exist
[14]Error (385875969=hex:17000001). In CIMainAlgorithm::execute4DCO: Aborting: Action [SetSourceDirectory]
requested abort [api source:]
[15]EXCEPTION: code="385875969" msg="Aborting: Action [SetSourceDirectory]
requested abort" loc="CIMainAlgorithm::execute4DCO" API=""
[16]execute statement On Process End
[17] executing code:
[18] Quit()
To enable RRS logging by application name, add a String Value with the Value
name app_filter to the registry. Then, enter the application name in the Value
data field. For example, if you want to enable logging for the APT application
tasks, add the app_filter value name and enter APT in the Value data field.
To enable RRS logging by task profile, add a String Value with the Value name
tprofile_filter to the registry. Then, enter the task name in the Value data field.
For example, if you want to enable logging for the VScan task, add the
tprofile_filter value name and enter VScan in the Value data field.
v For 32-bit (x86) OS, add the value in the following location.
HKEY_LOCAL_MACHINE\SOFTWARE\Datcap\Rulerunner\RRSLog
v For 64-bit (x64) OS, add the value in the following location.
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Datcap\Rulerunner\RRSLog
If the app_filter Value data field is empty, RRS logging is enabled for all
applications. If the tprofile_filter Value data field is empty, RRS logging is enabled
for all task profiles.
To confirm that the registry log filter is enabled, look in the Rulerunner.log file or
look in the batch.
v The Rulerunner.log file indicates if application or task filtering is enabled for
RRS logging.
v The batch has only the .rrs log files for the filtered task. For example, if you set
the tprofile_filter value to VScan, then only the VScan.rrs logs are in the batch.
Note: You must restart the Rulerunner Service when you add a registry key log
filter or change the value of a log filter.
If you want to generate a task log for Datacap Web Client tasks, you must set the
severity level to 1 or higher (on the scale of 0 to 9). The severity level and the
options in the Datacap Web Client Task setup window determine how much
information is written to the log file. (See “Enable logging for Datacap Web Client
tasks” on page 141).
The task log provides information that is typically most helpful to IBM support
because it documents mostly internal calls.
Using breakpoints
A breakpoint stops a task at a predetermined rule set, rule, or action, or stops the
task when a task starts processing a specific document, page, or field.
Breakpoint types:
There are two types of breakpoints, both of which halt execution when Rulerunner
encounters the specified element.
v Breakpoints: Halts execution when the Rulerunner execution manager
encounters the specified element, regardless of context.
v Full Breakpoints: Halts execution when the Rulerunner execution manager
encounters the specified element within the same context.
You can see the difference in the way the breakpoints are defined by selecting the
Breakpoints tab, which displays all of the defined breakpoints.
Setting breakpoints:
You can set breakpoints for a rule set, rule, function, action, document, page, or
field.
v For rule sets and rules, you can set only breakpoints, not full breakpoints.
v The document, page, or field must exist in the runtime hierarchy before you can
set a breakpoint on it.
To set breakpoints:
1. Set a breakpoint on a rule set, rule, function, or action:
a. Go to the Rulesets pane on the Datacap Studio Test tab.
b. Right-click the item and select Set breakpoint or Set full breakpoint.
2. Set a breakpoint on a document, page, or field:
a. Go to the Runtime batch hierarchy pane on the Datacap Studio Test tab.
b. Right-click the item and select Set breakpoint or Set full breakpoint.
The check box to the left of each breakpoint indicates whether the breakpoint is
enabled or disabled. By default, breakpoints are enabled when you add them.
Table 44. Breakpoints pane checkboxes
Button Description
Enable all breakpoints button Enables all the breakpoints that are displayed
in the Breakpoints pane.
Disable all breakpoints button Disables all the breakpoints that are
displayed in the Breakpoints pane.
Remove selected breakpoints button Removes the highlighted breakpoints. To
select multiple breakpoints, hold down the
Ctrl key.
The Datacap Studio Test tab includes two controls that you can select to halt
processing when any rule or action fails
If an action returns false, you can look in the batch log to see why the action
returned false. (See “Examining log files from the Test tab” on page 147.)
Remember:
v If all actions within a function return True, Datacap skips any remaining
functions in the current rule.
v If an action returns False, Datacap skips any remaining actions within that
function and starts the next function (if there is one).
The Test tab provides UI controls (enabled with tooltips) for stepping through
code:
UI control Description
Step in Steps into the next line of code. If the next line calls a rule or function,
Step in opens the rule or function and halts inside it. If the next line is
an action, Step in opens the action and you must click it again to close
the action.
You can define only one line item in the document hierarchy. At run time, Datacap
expands the runtime hierarchy as needed to accommodate however many line
items it finds.
<P id="TM000001"> <--Page
<F id="Grid_region"> <--Grid region
<F id="Line_item0"> <--First line item
<F id="Item"> etc. </F> <--Item field
<F id="Description"> etc. </F> <--Description field
<F id="Cost"> etc. </F> <--Cost field
</F>
<F id="Line_item1"> <--Second line item
<F id="Item"> etc. </F> <--Item field
<F id="Description"> etc. </F> <--Description field
<F id="Cost"> etc. </F> <--Cost field
</F>
<F id="Line_item2"> <--Third line item
<F id="Item"> etc. </F> <--Item field
These three actions automate the process of reading line item grids. When you are
assigning rules, the key is to make sure that the actions operate at the correct level
in the document hierarchy.
Datacap runs each rule, first on the grid and then on each line item and field in
the grid. As Datacap runs, it builds a data structure in memory. The data gets
written to the page data file upon completion of the current task.
Table 46. Resulting data structures for selected actions
ScanDetails() ScanLineItem() PopulateZNLineItemField()
Runs once only (at the grid Runs once for each line item Runs once for each field
level)
Resulting data structure (in Resulting data structure (in Resulting data structure (in
memory): memory): memory):
Datacap provides many actions for locating text on a page. You can consider these
actions in more detail in the topics about text matching. Typically, when you work
with line item grids, you are searching for the last instance of a word or phrase
like Total or Sales Tax. The Locate actions library has several useful actions,
including the actions in the following table.
For detailed information on these and other actions in the Locate library, select the
action on the Actions Library tab and click Display information.
The The Recognize Grid Total Field rule in the TravelDocs application locates the
last instance of the word Total on the current page. The rule then moves one word
to the right and confirms that the value is a currency value. Finally, the rule
updates the current field in the page data file. The rule must be attached to the
Total field in the document hierarchy.
In the following invoice example, although there are only two line items on the
invoice, Datacap created a third line item for the Total field.
2. You must attach the rule to the line item grid object in the document hierarchy
and ensure that the rule runs after recognition is complete. Use one of the
following methods to attach the rule:
v Include the rule in the Recognize ruleset and attach it to the Close element of
the line item grid object.
v Include the rule within a separate task profile that runs after recognition but
before validation; for example, the Clean ruleset. Attach the rule to the Open
element of the line item grid object.
When you use either method, Datacap recognizes that the Item field in the
third line item has no value. Therefore, Datacap deletes the field, leaving only
the two real line items.
For example, to export the data from an invoice, you typically need:
v A rule to set up the export file or open the database
The following rules are specified for the structure of the new page types:
Within the document hierarchy, the following variables define the structure of the
pages within the document.
You need to add new pages that contain the line item grids to the DCO.
The business requirements specification defines these fields for each new page
type.
Tip: If you create the Meals_Details zone first, you cannot draw the
Meals_Total zone inside it. Therefore, you are drawing the Meals_Total zone
first.
f. Select the Meals_Grid field. Then, draw a bounding box around the grid
items. Because you do not know how many line items there might be on the
actual page images, extend the bounding box to the bottom of the page.
g. Select the Meals_Line_Item field and draw a bounding box around the first
line item.
h. Select the Meals_Line_Item >Date field and draw a box around the date in
the first line item.
i. Repeat to create zones for the Description and Cost fields.
j. In the Document hierarchy pane, click Save.
2. Define the zones on the Other_Charges page.
a. In the Fingerprints pane, select the Other_Charges page.
b. Make sure that the document hierarchy is still locked for editing. Then,
expand the Other_Charges page so that you can see all of the fields and
subfields.
c. Select the Other_Charges_Total field and draw a bounding box around the
total cost beneath the line item grid.
d. Select the Other_Charges_Grid field and draw a bounding box around the
grid items. Extend the bounding box to the bottom of the page as you did
for the Meals page.
e. Select the Other_Charges_Line_Item field and draw a bounding box
around the first line item.
f. Select each of the subfields in turn and draw a bounding box around each
field in the first line item.
g. In the Document hierarchy pane, click Save and then click Unlock DCO.
You used the CalculateFields action earlier when you checked that the total cost of
the air ticket equals the airfare plus taxes.
Previously, you used the action to complete the calculation at the page level
because the page was the next level up in the document hierarchy. In this case, the
next level up in the hierarchy is the line item.
Because of the manner in which Datacap processes line item grids, you cannot
attach calculations to line item objects. Instead, you can create a field for
calculation purposes, for example, Validation, within the line item and attach the
rule to this field.
You need to create a rule to check that the calculations on the Other charges page
are correct.
1. On the Datacap Studio Rulemanager tab, in the Rulesets pane, select the
Validate ruleset and click Lock/Unlock ruleset.
2. Right-click the Validate ruleset and choose Add Rule. Rename the new rule
Validate Other Charge.
3. Under the Validate Other Charge rule, select Function 1.
4. On the Actions library tab, expand the Validations library. Select the
CalculateFields action and click Add to function.
5. In the Rulesets pane, select the CalculateFields action. Then, in the Properties
pane, set strParam as follows:
’Quantity’ * ’Unit_Cost’ = ’Total’
6. Click Save. Then, click Lock/Unlock ruleset and choose Publish ruleset.
You need to create the field that you need to do validation and attach the new rule
to it. In the document hierarchy, this field is a subfield of the
Other_Charges_Line_Item field.
1. In the Document hierarchy pane, click Lock DCO for editing.
2. Expand the Other_Charges page completely, so you can see all the individual
fields.
3. Right-click the Other_Charges_Line_Item field and choose Add > Field. Then,
rename the new field Validation.
4. Select the Validation field. Then, in the Rulesets pane, select the Validate
Other Charge rule and click Add to DCO. Datacap adds the rule to the field's
“Open” element.
5. Click Save.
There are different methods to do this calculation. You can attach the following
rule to the page's Close element:
The reference to Total sums all of the child fields that are labeled Total. The action
then compares the sum to the Other_Charges_Total field.
You can create a validation rule to ensure that the grid total (Other_Charges_Total)
equals the sum of the line item totals (Total).
1. On the Datacap Studio Rulemanager tab, in the Rulesets pane, select the
Validate ruleset and click Lock/Unlock ruleset.
2. Right-click the Validate ruleset and choose Add Rule. Rename the new rule
Validate Other Charges Total.
3. Under the Validate Other Charges Total rule, select Function 1.
4. On the Actions library tab, expand the Validations library. Select the
CalculateFields action and click Add to function.
5. In the Rulesets pane, select the CalculateFields action. Then, in the Properties
pane, set strParam as follows:
’Total’ = ’Other_Charges_Total’
6. Click Save, then click Lock/Unlock ruleset and choose Publish ruleset. Here is
an example of the Validate Other Charges rule:
v Validate Other Charges Total
– Function1
- CalculateFields("’Total’ = ’Other_Charges_Total’")
You must attach the new validation rule to the Other_Charges page's Close
element.
1. Make sure that the document hierarchy is still locked for editing.
2. If necessary, expand the Other_Charges page so you can see the page's Close
element.
3. Select the Close element. Then, in the Rulesets pane, select the Validate Other
Charges Total rule and click Add to DCO. Datacap adds the rule to the Close
element.
4. Click Save and then click Unlock DCO.
The page status is ‘1' (indicating a problem) and the message indicates that the
calculation for the Total_Charges field failed.
6. Open the file tm000013.xml. Notice that there is a calculation failure in the first
line item and that Datacap flags all the fields that are involved in the
calculation.
<F id="Other_Charges_Line_Item0">
<V n="TYPE">Other_Charges_Line_Item</V>
etc.
<F id="Quantity">
etc.
<V n="STATUS">1</V>
<V n="MESSAGE">Failed By Calculate Action On Field <-- Quantity field
'Validation'.</V>
etc.
</F>
<F id="Unit_Cost">
etc.
<V n="STATUS">1</V>
<V n="MESSAGE">Failed By Calculate Action On Field <-- Unit_Cost field
'Validation'.</V>
etc.
</F>
<F id="Total">
etc.
<V n="STATUS">1</V>
<V n="MESSAGE">Failed By Calculate Action On Field <-- Total field
'Validation'.</V>
etc.
</F>
<F id="Validation">
etc.
<V n="STATUS">1</V>
<V n="MESSAGE">Failed Calculation:FormatNumber <-- Validation field
(1 * 4.95 ,8,0,0)=FormatNumber( 9.9,8,0,0)</V>
</F>
</F>
7. In Datacap Studio, cancel the batch when you are done.
This procedure requires that you prepare a batch and place the batch on hold. For
details, see “Preparing a batch for verification” on page 95.
1. In the Start menu, click IBM Datacap Clients and select Datacap Desktop.
2. In the Application field, type TravelDocs.
3. Enter User ID: admin, Password: admin, and Station: 1 and click Login.
4. In the Shortcut field, select Verify and click Start. Then, open the most recent
batch by double-clicking it.
Important: If you want to modify the Datacap Desktop interface, you must
create a custom panel for each page. See Datacap Desktop panel customization.
8. When prompted to continue from the start of the batch, click No and then close
Datacap Desktop.
Related information:
Datacap Desktop panel customization
Exporting to a database
To export the line item grid data to a database, you need to create an export
database table, add rules to the ExportDB ruleset, and attach the rules to the
document hierarchy.
You must use Microsoft Access to add the export database table to the
TravelDocsExport.mdb file. You can skip this procedure if you previously used the
sample Access file because the file that you copied includes the required table.
1. Open the file C:\Datacap\TravelDocs\TravelDocsExport.mdb in Microsoft
Access.
2. Create a table that is called Other_Charges.
3. Create a field for BatchID and for each of the fields that are defined for the
Other Charges page. Make all fields of type Text.
4. Save the new table.
To successfully export line item grid data, you must add rules to the ExportDB
ruleset and then add actions to the functions in these rules.
1. In the Datacap Studio Rulesets pane, select the ExportDB ruleset and click
Lock/Unlock ruleset for editing.
2. Right-click the ExportDB ruleset and choose Add Rule. Rename the new rule
Export Other Open Database.
3. Repeat to create three more rules:
v Export Other Line Item
v Export Other Total
v Export Other Close Database
4. Click the Actions library tab and expand the ExportDB library.
5. Expand the Export Other Open Database rule and select Function1.
Action Parameter
ExportOpenConnection @APPVAR(*/exportdb:cs)
SetTableName Other_Charges
7. Expand the Export Other Line Item rule and select Function1.
8. Select and add each of the actions to Function1 by clicking Add to function,
and then set the action parameters as shown in the table.
Action Parameter
ExportBatchIDToColumn BatchID
ExportFieldToColumn Date,Charge_Date
ExportFieldToColumn Category,Category
ExportFieldToColumn Quantity,Quantity
ExportFieldToColumn Unit_Cost,Unit_Cost
ExportFieldToColumn Total,Total
AddRecord
Action Parameter
ExportBatchIDToColumn BatchID
ExportToColumn Total
AddRecord
11. Expand the Export Other Close Database rule and select Function1.
12. Select and add the action to Function1 by clicking Add to function.
Action Parameter
ExportCloseConnection
13. In the Rulesets pane, click Save. Then, click Lock/Unlock ruleset and choose
Publish ruleset. The following image shows the finished ruleset:
After you add the rules to the ExportDB ruleset, you must attach them to the
document hierarchy.
1. In the Document hierarchy pane, click Lock DCO for editing.
2. Expand the document hierarchy so all of the fields in the Other_Charges page
are visible.
3. Select the Other_Charges page. Then, select the Export Other Open Database
rule and click the Add to DCO.
4. Select the Other_Charges_Line_Item field. Then, select the Export Other Line
Item rule and click Add to DCO.
5. Select the Other_Charges_Total field. Then, select the Export Other Total rule
and click Add to DCO.
6. Select the Other_Charges page's Close element. Then, select the Export Other
Close Database rule and click Add to DCO.
7. In the Document hierarchy pane, click Save and then click Unlock DCO. The
rules are linked to the document hierarchy.
After you run a batch through the workflow, you can open the
TravelDocsExport.mdb file and confirm that the line item grid data was exported to
the Other_Charges table.
1. Click the Datacap Studio Test tab.
2. In the Workflow pane, select the VScan task profile under Main Job.
3. Click New to start a new batch.
4. Click Process rules for target object and Advance to move the batch through
the VScan, PageID, Profiler, Verify, and Export tasks.
5. Open the file C:\Datacap\TravelDocs\TravelDocsExport.mdb and review the
exported data in the Other_Charges table.
Smart parameters
Smart parameters are action arguments that get evaluated at run time.
You used a few smart parameters already in the TravelDocs application. For
example, when you created the ExportXML ruleset you used @BatchID to set the
export file name equal to the ID of the current batch:
xml_SetFileName("@BatchID")
Since the value of @BatchID is different each time you run a batch through the
workflow, you can create a unique export file for each batch.
Datacap provides various special variables (@<variable_name>) that you can use
within smart parameters to access dynamic information at run time. You can use
smart parameters to do the following tasks:
v Get information from the application configuration file
v Get (or set) the value of an object in the document hierarchy (typically a variable
or a field value)
v Get job information such as the task name, ID of the operator who is running
the batch
v Get system information such as the current date, time
Smart parameters can also include strings, navigation elements, and combinations
of strings, navigation elements, and special variables.
You are going to look at smart parameters in more detail. You can update the
TravelDocs application to export the line item grid data to an XML file. This
update requires the use of various smart parameters.
Related information:
Application Manager
Example 1
The following example shows an action with a single smart parameter argument
that includes three smart parameter elements.
SetSourceDirectory("@Appath(vscandimagedir)+\+Input")
Elements are combined by using the ‘+' sign. At run time, Datacap first evaluates
any special variables and then concatenates the elements to create a single string
that becomes the action argument.
07:13:25.53 3 Smart Parameter elements found
07:13:25.53 Parsing Smart Parameter element {0} value: "@APPPATH(vscanimagedir)"
07:13:25.54 @APPPATH key root value: ’vscanimagedir’
07:13:25.54 @APPPATH looking for workflow key: ’*/dco_TravelDocs/vscanimagedir’
07:13:25.54 workflow key found: ’C:\Datacap\TravelDocs\images’
07:13:25.54 Parsing Smart Parameter element {1} value: "\"
07:13:25.54 Parsing Smart Parameter element {2} value: "Input"
07:13:25.54 Smart Parameter return value: ’C:\Datacap\TravelDocs\images’
07:13:25.54 looking for:C:\Datacap\TravelDocs\images\Input
07:13:25.55 Action changes: Directory with source images: C:\Datacap\TravelDocs\images\Input
Example 2
The next example shows an action with two smart parameter arguments. Each
argument includes one smart parameter element:
rrSet ("..\Pickup Location","@B.FieldValue")
The portion of the following log file shows how Datacap evaluates the first
argument by recognizing it as a navigation element. It then goes to the referenced
element within the runtime hierarchy and retrieves the value of the field. In this
example, the action is bound to a field, so ..\Pickup_Location references another
field at the same level on the same page.
Do not attempt to modify this file directly, use the Datacap Application Manager.
You used the Datacap Application Manager to configure the export database. For
more information, see “Configuring the export database” on page 136.
The .app file is stored in the root of the application folder. For example, the
configuration file of the TravelDocs application is C:\Datacap\TravelDocs\
TravelDocs.app:
<app name="TravelDocs" ver="45" modder="localadm.YODA647.DC14.DATACAP"
dt="03/09/12.753 11:41:06.753 " src_ver="1">
<k name="tmservers">
<k name="tms" ip="127.0.0.1" port="2402" retry="3"/>
</k>
<k name="runtime" v="batches"/>
<k name="tmengine" cs="<encoded_connection_string>"/> <-- encoded
<k name="tmadmin" cs="<encoded_connection_string>"/> <-- encoded
<k name="dco_TravelDocs">
<k name="setupdco" v="TravelDocs.xml"/>
<k name="rules" v="rules"/>
<k name="imagefix" v="imagefix.ini"/>
<k name="UseFPXML" v="False"/>
<k name="fingerprintconn" cs="<encoded_connection_string>"/> <-- encoded
<k name="vscanimagedir" v="C:\Datacap\TravelDocs\images"/> <-- encoded
<k name="exportdb" cs="<encoded_connection_string>"/> <-- encoded
</k>
<k name="fingerprint" v="fingerprint"/>
<k name="export" v="export"/>
</app>
Connection strings might contain user names and passwords, so they are encoded
when they are written to the .app file. Datacap encodes and decodes user names
and passwords automatically, so no special handling is required when you access
them from your application by using smart parameters. For information about
storing other action parameters in the .app file as encoded strings, see “Storing
passwords, connection strings, and other parameters in the .app file” on page 167.
Applications can access settings in the configuration file by using the following
special variables:
For detailed information about these and other special variables, see the “Smart
Parameter Special Variable Reference” on page 271.
For each special variable, you specify a key that represents the field that you want
to get from the configuration file. When you used the APPPATH parameter, you
specified export as the key (@APPPATH(export)).
You can use the .app file to store other action parameters as encoded strings. You
can then use smart parameters to access the strings from your actions. You do not
have to specify sensitive information like passwords as action parameters.
v Instead of: ex_login("svr/exch.asmx","user@company.com","secret")
You can also use the .app file to store other action parameters that might not be
sensitive. Action parameters that you do not want to hardcode into your actions.
For example, you might choose to store a machine-specific path as a custom value.
Then, you can change it easily if you move the application to a different computer.
To store passwords, connection strings, and other parameters in the .app file:
1. In the Start menu, select IBM Datacap ServicesDatacap Application Manager.
2. Click the Custom values tab and select your application from the list on the
left.
3. Click Add new value/CS name beneath the field you want to use:
Field Description
General string values Use this field for action parameters you do
not want to hardcode in your actions. Instead
of specifying a machine-specific path as an
action parameter, enter the path here and
reference it from your actions as described in
the next section. Datacap encodes the values
when it saves them to the .app file. Do not
use this field for passwords as the strings are
visible to anyone who is using the Datacap
Application Manager. Use the Advanced
values that are listed in this table.
Data source connection string values Use this field to store data source connection
strings that are not Datacap connection
strings. Type or paste your connection string
into this field and reference it from your
actions as described in the next section.
Datacap data source connection string values Use this field to store Datacap data source
connection strings. Click the[...] to create the
connection string by using Datacap
supported providers and reference it from
your actions as described in the next section.
Advanced values Use this field to store passwords or other
strings you do not want to reveal through
the Datacap Application Manager. Values
that you type here are masked. Reference the
value from your actions as described in the
next section.
4. Enter the value name and the value. Advanced values are masked whereas
other values are not.
5. Close the Datacap Application Manager window.
Attention: If you change any of the settings in the application configuration
file while Datacap Studio is open, click Connection Wizard to reopen your
application. Then, you can run tasks from the Datacap Studio Test tab.
Reconnecting to the application forces Datacap Studio to reload the information
from the application configuration (.app) file.
Related information:
Application Manager
You can get the key path from the help text on the Custom values tab in the
Datacap Application Manager.
The text at the beginning of each section shows how to reference the value from an
action. For example, for values that are defined in the Advanced values section,
use @APPVAR(values/adv/<value_name>). You can reference the value as:
@APPVAR(values/adv/MyPassword1)
The following table shows how to reference the values for each field type.
Field Description
General string values @APPVAR(values/gen/<value_name>
Example: @APPVAR(values/gen/MyParameter1)
Data source connection string values @APPVAR(values/dsn/<value_name>:cs)
Example: @APPVAR(values/dsn/
MyDatabase1:cs)
Datacap data source connection string values @APPVAR(values/tmdsn/<value_name>:cs)
Example: @APPVAR(values/tmdsn/
MyTMDatabase1:cs)
Advanced values @APPVAR(values/adv/<value_name>
Example: @APPVAR(values/adv/MyPassword1)
Attention: The :cs suffix is required to access connection strings that are defined
in the Data source connection string and Datacap data source connection string
fields.
The runtime XML file maps to the Runtime batch hierarchy in the Datacap Studio
Test tab. For example the XML elements B id=, D id=. and P id=, all map to the
Batch , Document, and Page in the batch hierarchy.
You access the information in the runtime hierarchy by using smart parameters.
The @BatchID example and the @ID example describe how to access data in the
following sample runtime batch hierarchy XML from the ExportXML ruleset or
with special variables.
xml_NewNode("@ID,Rental_Agreements") returns
xml_NewNode("@TM000001,Rental_Agreements") .
The @P variable retrieves the value of a field on a current page, as shown in this
sample runtime page data XML file.
<P id=TM00001>
<F id="Pickup_Date">
<V n="TYPE">Pickup_Date</V>
<V n="Position">179,384,543,462</V>
<V n="STATUS">0</V>
<C cn="7" cr="200,416,220,430>84</C> <!-- T -->
<C cn="10" cr="226,425,240,440>117</C> <!-- u -->
<C cn="10" cr="245,425,258,440>101</C> <!-- e -->
<C cn="10" cr="260,425,270,440>115</C> <!-- s -->
<C cn="10" cr="273,435,278,444>44</C> <!-- , -->
<C cn="10" cr="336,419,337,440>32</C> <!-- -->
<C cn="10" cr="290,419,306,440>68</C> <!-- D -->
<C cn="10" cr="310,425,324,440>101</C> <!-- e -->
<C cn="10" cr="325,425,336,440>99</C> <!-- c -->
<C cn="10" cr="370,419,371,444>32</C> <!-- -->
<C cn="10" cr="349,419,363,440>55</C> <!-- 7 -->
<C cn="10" cr="365,435,370,444>44</C> <!-- , -->
<C cn="10" cr="445,419,446,440>32</C> <!-- -->
<C cn="10" cr="381,419,395,440>50</C> <!-- 2 -->
<C cn="10" cr="396,419,411,440>48</C> <!-- 0 -->
<C cn="10" cr="415,419,428,440>49</C> <!-- 1 -->
<C cn="10" cr="430,419,445,440>48</C> <!-- 0 -->
For a full listing of special variables for accessing the runtime hierarchy, see
“Special variables for accessing the runtime hierarchy” on page 273. The following
examples illustrate how to use special variables to access the runtime hierarchy.
Table 47. Special variables for accessing the runtime hierarchy
...by using this special Hierarchy
Access this part of the runtime hierarchy... variable level
<?xml-stylesheet type="text/xsl" href="..\..\dco.xsl"?> Not applicable BATCH
Similarly, you can get most of the field information from the runtime page data file
by using the @ID, @F.<variable_name>, and @P\<field_name> special variables,
for example.
Table 48. Special variables for accessing field data in the runtime hierarchy
...by using this special Hierarchy
Access this part of the runtime hierarchy... variable level
<F id="appdevguide_Pickup_Date"> @ID FIELD
<V n="TYPE">Pickup_Date</V> @F.TYPE FIELD
<V n="Position">179,394,543,462</V> @F.Position FIELD
<V n="STATUS">0</V> @F.STATUS FIELD
<C cn="7" cr="200,416,220,440">84</C> @P\Pickup_Date FIELD
<C cn="10" cr="226,425,240,440">117</C> @P\Pickup_Date FIELD
<C cn="10" cr="245,425,258,440">101</C> @P\Pickup_Date FIELD
<C cn="10" cr="260,425,270,440">115</C> @P\Pickup_Date FIELD
</F> Not applicable FIELD
When you reference a field by specifying just the name of the field, Datacap
retrieves the text value of the field. You can obtain the value of a variable that is
associated with the field by appending .<variable_name>, for example:
..\Car_Type.TYPE.
Examples
The special variables can be used to access the following task and job information.
v The ID and name of the current job
v The ID and name of the current task
v The user name and station that is associated with the job
Datacap includes more special variables for accessing the following information.
v The current date and time
You added functions to the TravelDocs application to export the Other Charge grid
data to a database. For more information, see “Export to a database” on page 100.
You also set up a custom variable to store data within the document hierarchy.
Now, you can export that same data to an XML file.
Action Parameter
xml_NewNode Car_Rentals,BatchID_+@BatchID
xml_NewNode Rental_Agreements,Car_Rentals
xml_NewNode Flights,BatchID_+@BatchID
xml_NewNode Hotels,BatchID_+@BatchID
xml_NewNode Other_Charges,Hotels
8. Expand the Export Other XML Page Node rule and select Function1.
Text matching
You can add flexibility to your applications by using text matching to identify
pages and locate data.
You used fingerprints to identify pages and recognition zones to locate data on
those pages. The one exception was when you used the RegExFind action to locate
the Total Cost field when you process line item grids. You saw in that example
how you can use text matching to locate data that is not in a predictable location
on the page.
To use text matching, you first do full page OCR on the incoming page. You can
then search the recognition results for specific text. For example, if a page contains
the words Car rental agreement, then the chances are high that it is a car rental
agreement page. Similarly, if you locate a string Pickup date, then the chances are
high that beside or below the string is the actual pickup date.
You can identify pages and locate data by using text matching. You can update the
TravelDocs application to identify and process a new car rental agreement page by
using text matching.
You can identify pages by searching the recognition results for a string that is
unique to each page type.
If all of the actions in a function return True, Datacap does not run any other
functions in the current rule. For example, if you get a match on the word Car and
can set the page type successfully. The PageID rule exits without running any of
the other tests
Text matching uses the full page recognition results, so you must do full page OCR
(or ICR) before you run any of the text matching actions. You can then use the
WordFind action to determine whether a specific string is present and the
SetPageType action to set the page type.
Forms typically have a label beside each field. When you locate the label, you can
locate the adjacent data and then update the runtime hierarchy.
In this example, you locate the word Date. Then, you go to the right to obtain the
matching data, and then write the information to the runtime hierarchy.
The Locate library includes the following actions to locate specific text strings on a
page.
For more information on all of the actions in the Locate library, select the action on
the Actions Library tab and click Display information.
For example, one car rental company might use the label Date, another might use
the label Pickup date, while another might use Pickup Date. In this example, you
can use the Locate library regular expression actions, including the following
actions.
One way you can search for any of the three pickup date labels in the previous
example is by using a single regular expression.
RegExFind( "(Date)|(Pickup [Dd]ate) ")
The Locate library regular expression actions use the VBScript regular expression
rules. Some of this usage is described in detail in the following MSDN article
http://msdn.microsoft.com/en-us/library/1400241x%28v=vs.85%29.aspx
Some labels might have more variability than you can address by using regular
expressions. For example, if you are processing invoices from different vendors,
one company might use the label Total Cost, another might use Amount Due, and
another might use Invoice total.
The Locate library provides actions to do text matching by using either a keyword
text file or a database.
In the invoice example, you can include all three labels and any others in a
keyword text file. You can then use FindRegExList to locate the matching field. The
keyword file must be a plain text file with the extension .key. The file must be in
the application dco_application_name folder, unless you specify the full path to an
alternative location. An example file might be named TotalCost.key and include
variations on the theme such as:
v Total Cost
v Total cost
v TOTAL COST
v Amount Due
v Amount due
v AMOUNT DUE
v Total Amount
v Total amount
v TOTAL AMOUNT
v Total amount due
v Total Amount Due
v TOTAL AMOUNT DUE
v Invoice total
v Invoice Total
v INVOICE TOTAL
The locate library action is FindRegExList("TotalCost.key")
Tip: You can also include regular expressions in the keyword list.
The field data is usually to the right of the label, but it might also be above or
below the label. Additionally, you might need to group words together if the data
you are searching for includes spaces.
The full page recognition engine organizes the recognition results in the CCO file
as a coordinate-based grid of lines and words. Each word is assigned a different
position in the grid.
1 2 3 4 5 6 7 8 9 10
1 Car Rental #4
2 Pickup Details Return Details
3 Date: Mon, Jan 10, 2011 Date: Fri, Jan 14, 2011
4 Time: 11:00AM Time: 04:00PM
5 Location: Orlando (MCO) Location: Orlando (MCO)
The TravelDocs Recognize ruleset contains a rule that searches for the word Date
and then goes one word to the right to obtain the data. The GroupWordsRIGHT
action is required because, without it, you would get only the first word (Mon, in
the Car Rental #4 example). The parameter 2 instructs the rule to group words that
are two or fewer character widths apart.
You write data to the runtime hierarchy by using the UpdateField action from the
Locate library. The UpdateField action updates the page data file with the
recognized value and position of the located word.
The CreateFields action is responsible for setting up each field in the runtime
hierarchy. Initially both the field position and the field data are empty, as shown in
the left column on the following example. The right column shows the field after it
is populated by using the UpdateField action. The position information is used
later to display the corresponding image snippet to the operator during
verification.
The most notable limitations of text matching for data recognition are processing
pages that include check box options or line item grids.
To update the TravelDoc application to use text matching, you must determine
which pages to process. Then, you can run data recognition and add the rules to
the document hierarchy.
varTarget = @P.MatchType
Important: The Car and Pickup parameters are tested to avoid mismatches on
insurance pages. The rrSet action sets up a page variable that you must later
identify which pages to process by using text matching.
Attention: If the Identify using Fingerprint function succeeds in identifying
the page, the Identify using Text Match function does not start.
6. In the Rulesets pane, click Save. Then, click Lock/Unlock ruleset and choose
Publish Ruleset.
Avoid running the rules on pages that were identified by using fingerprint
matching. You can use the variable that you set up earlier to determine which
pages use fingerprint matching.
object2 = Text
Locate RegExFind Date
Locate GoRightWord 1
4. Add the actions from the following table to Recognize Pickup Location >
Function1 and set the parameters as shown.
object2 = Text
Locate RegExFind Location
Locate GoRightWord 1
Locate GroupWordsRIGHT 2
Locate UpdateField
5. Add the actions from the following table to Recognize Return Date >
Function1 and set the parameters as shown.
object2 = Text
Locate FindLastRegEx Date
Locate GoRightWord 1
Locate GroupWordsRIGHT 2
Locate UpdateField
6. Add the actions from the following table to Recognize Return Location >
Function1 and set the parameters as shown.
object2 = Text
Locate FindLastRegEx Location
Locate GoRightWord 1
Locate GroupWordsRIGHT 2
Locate UpdateField
7. Add the actions from the following table to Recognize Car Type > Function1
and set the parameters as shown.
object2 = Text
Locate RegExFind Car Type
Locate GoRightWord 1
Locate GroupWordsRIGHT 2
8. Add the actions from the following table to Recognize Total Cost > Function1
and set the parameters as shown.
object2 = Text
Locate RegExFind Total Cost
Locate GoRightWord 1
Locate UpdateField
9. In the Rulesets pane, click Save. Then, click Lock/Unlock ruleset and choose
Publish Ruleset.
Attention: The use of text matching to locate and recognize OMR check box
fields is beyond the scope of this activity. When you run the rule set, it leaves
the OMR options in their default state (‘0').
Pattern Matching
You can use Datacap pattern matching to identify pages and adjust misaligned or
distorted images.
Standard fingerprint matching can compensate for minor page misalignment, but
the offsets it can handle are small. If an incoming page is misaligned relative to the
fingerprint, Datacap might not be able to identify the page. If Datacap does
identify the page successfully, recognition might fail if the fields are not registered
accurately. This issue is most problematic if the page contains OMR or hand print
boxed data. But it can happen with any page, especially if the image is distorted
during copying, scanning, or faxing.
Pattern matching actions use reference patterns, or anchor objects, that you define
on the page fingerprints. The actions try to match those patterns to regions on the
runtime pages. Pattern matching techniques that are available can use:
v Geometric patterns like page registration marks or vendor logos
v Text-based patterns
The anchor objects can act both as identification markers used during page
identification and as reference points used during registration or realignment of the
image.
Whether you use geometric pattern matching or text-based pattern matching, the
basic concept is the same and is illustrated in the following example. Here, the
cross hatched region is the anchor object. In the fingerprint, the anchor is located
1.0 inches from the top and left edge of the page. In the scanned page, the anchor
pattern is 1.5 inches from the top and 1.4 inches from the left edge of the page.
When you are use geometric pattern matching with multiple anchor objects,
Datacap can do interpolate realignment. The field positions are adjusted based on
their proximity to each of the anchor objects.
If your application must handle various page types that are similar, standard
fingerprint identification (FindFingerprint) might generate mismatches. Pattern
matching uses a smaller defined region of the page. You can select an area that is
For pattern matching to work, you must have a good anchor pattern. If you are
using geometric pattern matching, the image must be composed of simple, solid
regions. Images that contain different degrees of shading do not work well for
geometric pattern matching.
For text-based pattern matching, the only requirement is that the text pattern is
unique to the page type.
In certain situations, you might want to do image registration manually. You can
register images by using the AIndex web client. For details, see “Manual page
identification and registration” on page 236.
The following example shows the runtime data for a page that Datacap identified
correctly and registered automatically by using FindFingerprint.
<P id="TM000003">
<V n="TYPE">Air_Ticket</V>
<V n="STATUS">49</V>
<V n="IMAGEFILE">tm000003.tif</V>
<V n="ScanSrcPath">c:\datacap\traveldocs\images\problem_images_page_3.tif</V>
<V n="RecogStatus">0</V>
<V n="Confidence">0.8689438</V> <-- Confidence level high enough for a match
<V n="Image_Offset">-24,-20</V> <-- Offsets calculated automatically by FindFingerprint
<V n="TemplateID">566</V> <-- Matching fingerprint ID
<V n="Fingerprint Created">No</V>
</P>
FindFingerprint calculates the offsets without using anchor objects. However, the
offsets it can handle are small. The CalculateOffset action in the Autodoc library
can increase the size that the offsets it can handle. Increasing the size that offsets
handle can slow down the matching process.
The process for setting up anchor objects is the same for a geometric pattern or a
text-based pattern.
The coordinates of the anchor object and other information are stored in the
document hierarchy. You must create a field-level object to store the details of the
anchor object. Aside from the coordinates of the anchor object, the other key
element is the PatternMatch variable, which identifies the object as a pattern match
anchor. Additionally, you typically set the STATUS variable of the anchor object to
-1 so the field is not displayed during verification.
The following example shows the XML definition of an anchor field. The anchor is
created as follows:
v In Datacap Studio Document Hierarchy pane, you added a field object that is
called Anchor_Object_1 to each page definition.
v The PatternMatch of the anchor object variable is set to 1 to identify the object
as an anchor object.
v On the Zones tab, a recognition zone is drawn around the anchor on each of the
three fingerprints in this example.
<F type="Anchor_Object_1">
<V n="ID">0</V>
<V n="TYPE">Field</V>
<V n="STATUS">-1</V> <!--STATUS = -1 keeps the anchor field hidden-->
<V n="Position">0,0,0,0</V>
<V n="MIN_TYPES">0</V>
<V n="MAX_TYPES">0</V>
<V n="ReqConf">8</V>
<V n="rules"></V>
<V n="PatternMatch">1</V> <!--PatternMatch = 1 defines the object as an anchor-->
<V n="Pos565">183,195,276,282</V> <!--Anchor object coordinates for fingerprint 565-->
<V n="Pos566">636,185,730,284</V> <!--Anchor object coordinates for fingerprint 566-->
<V n="Pos567">1094,185,1181,279</V> <!--Anchor object coordinates for fingerprint 567-->
</F>
You set required confidence level for geometric pattern matching in the ReqConf
variable of the anchor object. You can change the default confidence level by
right-clicking the anchor object in the Document Hierarchy pane and choosing
Manage Variables.
Alternatively, you can change the ReqConf variable through the Properties pane in
the Zone tab.
The pat_RecogMatch_Id action does not use the ReqConf variable. Instead, it uses
the confidence level that is established by using the SetMatchConfidence action.
The following table identifies some of the key actions in the PatternMatch library
that are used for geometric pattern matching.
The Datacap system does not search the entire page. Instead, it searches a region
200 pixels greater in each direction than the zone defined for the anchor object. If it
finds a match that meets the required confidence level, it sets the page type and
computes the offset values.
Tip: You can change the size of the search region by setting the anchor field's
METRIC variable. For example, METRIC=200,300 increases the width by 200 pixels
in each direction and the height by 300 pixels in each direction.
The following RRS log entries, which are taken from pageid_rrs.log, illustrate
how PatternMatch_Identify works.
Created PatternMatch Object
Aquired PM lock
Loading Patterns...
Vendor_Logo : Pattern Found for ’565’ with zone (171,194,563,302)
Vendor_Logo : Pattern Found for ’566’ with zone (678,191,1044,296) 1
Vendor_Logo : Pattern Found for ’567’ with zone (1187,206,1524,286)
Opening ’provider=microsoft.jet.oledb.4.0;data
source=C:\Datacap\TravelDocs\TravelDocsFingerprint.mdb;persist security info=false’
In the following example, Datacap located an anchor object at the upper left and
the lower right of the page. Then, it calculated an offset value for each anchor. It
averaged these values to determine the offset required to bring the page image into
best alignment. It wrote these values to the Image_Offset variable of the page.
RRS log
Matching ID# 570 Conf: 10. X: 280 Y: 274. Search Area: 0,0,564,513 Field ReqConf:8 --> TRUE
Calculated offset is: (100,100) <-- Offset for first anchor object (top left)
Matching ID# 570 Conf: 10. X: 301 Y: 262. Search Area: 1158,1640,1700,2162 Field ReqConf:8 --> TRUE
Calculated offset is: (101,62) <-- Offset for second anchor object (bottom right)
PatternMatch_Identify computes the offset for the entire page and stores the value
in the Image_Offset variable of the page.
<V n="Image_Offset">-100,-81</V>
It also creates the page data file and stores the offset for each anchor in the
Zone_Offset variable of the field.
<V n="Zone_Offset">100,10</V> <-- Offset for first anchor
The following RRS log entries, which are taken from pageid_rrs.log, illustrate
how pat_RegisterZones works.
Created PatternMatch Object
Aquired PM lock
Anchor Anchor_1 found. (1) Looking for offset...
Expected 1384,313,1529,392
Image_Offset
Zone_Offset 81,100 (2)
Anchor Anchor_2 found. (3) Looking for offset...
Expected 697,1988,1006,2074
Image_Offset
Zone_Offset 102,101 (4)
Register using 2 anchors
Set Arrival_Date from Position to 411,405,713,484 to 507,506,812,585
Set Departure_Date from Position to 1154,412,1450,488 to 1246,513,1532,589 (5)
Set Total_Cost from Position to 1150,781,1331,860 to 1242,882,1417,961
(2) It retrieves the zone offset for this field that was computed earlier by
PatternMatch_Identify.
(4) It retrieves the zone offset for this field that was computed earlier by
PatternMatch_Identify.
(5) It uses the two zone offsets to compute the new positions for each of the three
data fields on the current page. It uses an algorithm that takes into account the
proximity of each field to each anchor zone.
You can view the properties for any of the text anchor zones on the Properties tab.
The following action supports page identification and image realignment by using
text-based pattern matching:
For each anchor object, Datacap searches the current page in a region 400 pixels
greater in each direction than the text zone defined in the fingerprint. If it finds a
match that meets the required confidence level, it sets the page type and computes
the offset values.
Restriction: The METRIC variable does not change the size of the search region
that is used by pat_RecogMatch_Id.
The following example shows how the field positions are determined.
<V n="Image_Offset">-100,-101</V>
The value here (-100, -101) is from the same Hotel #3 page in “How the
pat_RecogMatch_Id action works” on page 192. In this example, you can see that
pat_RecogMatch_Id used the offset value from Text_Anchor_2.
Important: The pat_RecogMatch_Id action does not create a page data file and
does not store the individual offset for each anchor field.
Later on, when Datacap runs the ReadZones action, it uses the Image_Offset
value to compute the position of each runtime field, for example:
<F id="Arrival_Date">
<V n="TYPE">Arrival_Date</V>
<V n="Position">511,506,813,585</V>
<V n="STATUS">0</V>
etc.
Compare the field positions that are defined in the fingerprint, which you can see
in the Properties pane, with the field positions in the runtime page file. You can
see how Datacap used the offset value (-100, -101) to compute the position of each
data field.
To update the TravelDoc application to use geometric pattern matching, you set up
the pattern match and anchor objects and update the PageID rule. Then, you can
run a batch through the workflow.
Before, you can define the zones, you must add a field to the document hierarchy
for the anchor object.
You put the pattern matching function at the end so it runs only if standard
fingerprint matching and text matching both fail. You are going to use a new
varTarget = @P.MatchType
varTarget = @P.MatchType
8. In the Rulesets pane, click Save. Then, click Lock/Unlock ruleset and choose
Publish Ruleset.
The manual workflow processing was linear so far. You moved each batch from
task to task in the same sequence, VScan > PageID > Profiler, Export. The one
exception was when a batch was diverted out of the standard workflow and into
the FixUp task to address document integrity problems. You can also do
conditional routing, which can route a batch to a specific job if it requires special
handling. The example that is used is manual page identification, which works if
the automated identification methods fail to recognize a page.
Then, you can configure the TravelDocs application to use Rulerunner for
background task processing. You can also update the application to handle
unidentified pages by routing the batch to a new web client interface called
ProtoId for manual page identification. You add a function to automatically
generate fingerprints for the pages.
Up to now, you initiated each workflow task manually, typically by starting the
task from the Datacap Web Client or from the Datacap Studio Test tab.
Background tasks are tasks that do not require operator intervention. The
TravelDocs application has three background tasks:
v PageID - identifies each page and assigns a page type
v Profiler - combines pages into documents, and does recognition and validation
tasks
v Export - writes structured data to a data repository
Each of these tasks runs a set of rules, updates the runtime batch hierarchy, and
marks the task as complete. The Datacap queuing engine then readies the batch for
the next task in the workflow. If the rules detect any problems, for example, the
batch failed document integrity checking, the task can raise an error condition. You
can divert the task out of the normal processing workflow for special handling.
Routing and exception handling are addressed later. For now, focus on moving a
batch through the standard workflow with as little operator intervention as
possible.
Rulerunner overview
Rulerunner is the Datacap background processing engine.
You can configure Rulerunner to monitor the job queue and start designated
background tasks automatically whenever batches are pending.
For example, in the TravelDocs application, the VScan task and the Verify task are
manual tasks that require an operator. The other three tasks do not require any
manual input, so you can run them in the background under the control of
Rulerunner.
Rulerunner configuration
You must configure Rulerunner to be able to run background tasks without user
intervention.
You do these steps for the TravelDocs application in the “Defining background
tasks in Datacap Application Manager” on page 203 and “Setting up background
tasks in Rulerunner Manager” on page 204 topics.
Rulerunner operation
Rulerunner is configured to monitor job queues for jobs to run in the background.
Rulerunner monitors the job queue of the application that is looking for jobs it is
configured to run. The Datacap Web Client Monitor tab is used to monitor the
queue. But the actual job queue is maintained in the queue table in the Datacap
engine database. By default, the engine database is a Microsoft Access database is
in the root of the application folder. For example, the engine database of the
TravelDocs application is C:\Datacap\TravelDocs\TravelDocsEng.mdb.
Attention: Datacap supports other database types, including DB2, Microsoft SQL
Server and Oracle.
Rulerunner polls the job queue every 10 seconds and looks for pending jobs. When
it finds a pending job, Rulerunner processes the batch. Upon completion, the batch
is ready for the next task in the workflow. In this way, you can move batches
through any number of sequential background tasks automatically.
Rulerunner logging
Rulerunner provides extensive logging options that you can configure by using the
Rulerunner Manager.
The Rulerunner log is needed when you use Rulerunner with the TravelDocs
application. For more information, see “Enabling Rulerunner logging” on page 204
and “Analyze the Rulerunner log” on page 205.
So far, most of the batch processing was done by going through the workflow
linearly.
v VScan > PageID > Profiler > Verify > Export
The one exception was when you used a branch to divert a batch out of the
standard workflow, between the Profiler task and the Verify task. Then, into the
FixUp task to address document integrity problems.
You can also consider conditional branching and splitting and ways to route a
batch or a portion of a batch to a separate job.
When you use branching to route workflows, the entire batch is sent from the
main job to a child job. When the child job completes, the batch returns to the
main job.
When you use splitting to route workflows, documents in the batch are split off
from the parent batch and placed into one or more child batches. The child batches
are sent to a child job for processing and do not return to the main job.
In this diagram, Task 1 in the main job raises a branch condition and sends the
entire batch to Task A in the child job. Task A then returns the batch to Task 2 in
the main job. Task 2 in the main job raises a split condition and creates two child
batches, which are sent to Task B in the child job. The parent batch continues to
Task 3 in the main job.
Condition flags
Branching and splitting are initiated by using a condition flag that is raised during
starting of a rule.
For branching, use the Task_RaiseCondition action to raise the condition flag of
the task.
For splitting, use the SplitBatch action to raise the condition flag of the task
implicitly.
Branching
In the TravelDocs application, the Batch Document Integrity Check ruleset, under
the Document Integrity rule, contains the Batch Route To Fixup function and two
related actions, Task_NumberOfSplits and Task_RaiseCondition. In “Document
assembly” on page 47, you used the Task_RaiseCondition action to raise a
condition flag that determines what happens when the task profile completes. For
example, a Batch Route To Fixup function starts only if CheckAllIntegrity returns
false.
v The Task_NumberOfSplits action is required and specifies the number of jobs to
which the batch is sent before it returns to the main workflow (almost always 1).
A batch can be diverted to the Fixup job so that an operator can fix the document
integrity problem.
Remember: The branch does not occur until the current task profile is completed.
You update the TravelDocs application to branch when pages require manual
identifications.
Splitting
The SplitBatch action implements batch splitting and also raises the condition flag.
Attention: You must run the SplitBatch action at the batch level.
Unlike the branching action, the SplitBatch action does not require a condition
index. The implied condition index is always 0 (the first condition). For example, a
profile task can have three defined conditions, and the SplitBatch action always
raises the first condition, which is Split Condition.
The SplitBatch action uses the document-level variable that is specified in the
action parameter. This action determines whether a document is split off to a child
batch or remains in the parent batch. In this example, you are using a document
variable called Split.
SplitBatch("@D.Split")
This example means any document that has a variable Split with any value
assigned is split off into a child batch. Furthermore, the value of the Split variable
determines into which child batch the document goes. So, documents with <V
n="Split">1</V> go into child batch 1 while documents with <V n="Split">2</V>
go into child batch 2.
Attention: The values do not need to be numbers. Also, if the value of the
variable is the same for all documents, then you get a single child batch.
You implement splitting for the TravelDocs application to split off documents that
contain pages that were not recognized during page identification. For more
information, see “Updating the Routing ruleset to split the batch” on page 218.
Field Description
Spawn type: The following values are available:
v Branch – sends the current batch to the
specified job, then returns to the main
workflow
v Jump – skips the next <steps> tasks in the
main workflow
v Split – used with the SplitBatch action to
send a child batch to the specified job
v Stop – stops processing the batch (status =
“batch stopped”)
Child Job: Determines where the batch is sent. Used for
Branch or Split only. For example, the batch
is sent to Fixup Job.
Parent status: The batch status when the batch returns. Can
be Pending or Hold.
Child status: Can be Pending or Hold.
Steps: v When used with Jump: The number of
workflow tasks to jump
v When used with Branch: The return point
after branching is completed (0 = same
task, 1 = next task, and so on.)
However, you might need to create a new job to handle a specific condition. For
example, if you update the TravelDocs application to identify pages manually.
Since there is no existing job to identify pages manually, you must create a job to
do it. You can then branch to the new job if the batch contains unidentified pages
and then return to the main job when the pages are identified.
Field Description
Name: The task name
Description: Description of the task. For example, a
Verification task might have a description of
Verify with Rule Validation.
Mode The following modes are available:
v Batch creation: Typically for Scan or
virtual scan (VScan) tasks
v Router: Enables job routing (conditional
branching) for the corresponding task
v Normal: Typically for other tasks where
conditions are inapplicable, including such
tasks as page identification, verification,
and export.
Queue by: Defines which user and station can process a
batch that completes this task. The default is
None, which means that there are no
restrictions.
Store: Determines whether to save the user ID or
Station ID that completed the task.
Program: From the drop down menu, select a program,
such as Datacap Desktop, Rulerunner, or
select a web page (.aspx file) for the task.
You can add automatic fingerprint generation function to the Verify task so that an
operator can complete the task. However, you can route a document with
unidentified pages to a supervisor for fingerprint generation. By either method, the
fingerprint and recognition zones are saved and are used the next time that you
encounter a page of the same type.
The batch is now ready for verification. Because verification is a manual step,
you must complete this task before Rulerunner can run the Export task.
9. Verify the batch as you did before by using Datacap Desktop or the Datacap
Web Client.
v When you reach the page with the invalid car type, set the type to Other.
v If a validation failure message is displayed, click OK to override and
continue.
v When you reach the end, click OK to finish the batch.
10. Switch to the Job Monitor and watch the status of the batch as Rulerunner
runs the Export task.
Task: Export
Status: pending > running > Job done
ExecuteCode: Grabbed Job[Main Job]:Task[Profiler] Queue Id:[42]. <--- Grab batch for Profiler
RunGrabbedQNRelease: BatchID [C:\Datacap\TravelDocs\batches\20110067.005].
RunGrabbedQNRelease: Project Path set
to:[C:\Datacap\TravelDocs\dco_TravelDocs\Profiler.set.xml]
RunGrabbedQNRelease: Selected pagefile [PageID.xml]. <--- Read input DCO file
RunGrabbedQNRelease: Read page file
[C:\Datacap\TravelDocs\batches\20110067.005\Rulerunner.xml]. <--- Create output DCO file
RunGrabbedQNRelease: RRS run successful.
RunGrabbedQNRelease: ProcessedPages in Batch:[15]
RunGrabbedQNRelease: Job[Main Job]:Task[Profiler] queue id: [42] ran
batch[20110067.005] and the status is [finished]. <--- Rulerunner complete
ReleaseTheQ: Released batch, status is now [pending]. <--- Batch pending for Verify
ExecuteCode: Grabbed Job[Main Job]:Task[Export] Queue Id:[42]. <--- Grab batch for Export
RunGrabbedQNRelease: BatchID [C:\Datacap\TravelDocs\batches\20110067.005].
RunGrabbedQNRelease: Project Path set
to:[C:\Datacap\TravelDocs\dco_TravelDocs\Export.set.xml]
RunGrabbedQNRelease: Selected pagefile [Verify.xml]. <--- Read input DCO file
RunGrabbedQNRelease: Read page file
[C:\Datacap\TravelDocs\batches\20110067.005\Export.xml]. <--- Create output DCO file
RunGrabbedQNRelease: RRS run successful.
RunGrabbedQNRelease: ProcessedPages in Batch:[15]
RunGrabbedQNRelease: Job[Main Job]:Task[Export] queue id: [42] ran batch[20110067.005]
and the status is [finished]. <--- Export complete
ReleaseTheQ: Released batch, status is now [Job done]. <--- Batch at end of workflow
You must move the document creation task and the integrity checking task out of
the Profiler task profile and into their own task profile. Now, you can correct any
batch integrity problems before the recognition and validation tasks are run.
To move document creation and integrity checking into the PageID task profile:
1. Start Datacap Studio and open the TravelDocs application.
2. On the Rulemanager tab, in the Task Profiles pane, click Unlock task profiles.
3. Expand the Profiler task profile and delete the CreateDocs and Document
Integrity rulesets by clicking Remove.
4. Click Add a new task profile, select Custom, enter CreateDocs, and click OK.
5. Select the new CreateDocs task profile and add the CreateDocs and Document
Integrity rulesets by selecting them in the Rulesets pane and click Add ruleset
to profile at the left of the Task Profiles pane.
6. Click Save and then click Lock task profiles.
After you fix the document integrity problem by deleting the page, processing can
continue as normal.
Remember: The goal here is to demonstrate the routing capabilities of Datacap. So,
deleting the problem page is acceptable. Typically, the corrective action is specified
in the business requirements.
varTarget = @P.MatchType
DCO SetPageStatus 1
rrunner Task_NumberOfSplits 1
rrunner Task_RaiseCondition 0,0
Currently, the ruleset works for pages that are identified by using fingerprint
matching, text matching, or pattern matching.
v For pages that are identified by using fingerprint matching or pattern matching,
you use ReadZone and SnapCCOtoDCO to write the recognition data into the
runtime hierarchy.
v For rental agreement pages that are identified by using text matching. You can
use various text-based matching actions to locate the recognition data and write
it to the runtime hierarchy.
Datacap starts the Recognize Page rule on all page types, even though the rule
works only when the current page has a valid matching fingerprint. With manual
page identification, there is no matching fingerprint. When fingerprint matching
fails, Datacap writes the ID of the closest match into the LC_TemplateID variable
of the page. The ReadZones action uses the recognition zones from this low
confidence fingerprint even though they are not valid. To work around this
problem, you add an action to the Recognize Page rule to enable the rule to exit if
the identification method is manual. Later, when you open the page for
verification, you define the recognition zones manually.
object2 = Manual
If a page has a match type of Manual, the function exits without starting
ReadZones.
3. In the Rulesets pane, click Save.
4. Click Lock/Unlock ruleset and choose Publish Ruleset.
Tip: To see the new Page Identification Failed condition, you might need to
refresh the page by clicking another tab, and returning to the Workflow page.
You only created the condition node for the PageID task. Before, you can
configure the branch, must create the job to use for manual page identification.
Complete the steps that are identified in “Jobs to handle special conditions” on
page 201.
Field Value
Name: ManualPageID Job
Description: Manual Page Identification Job
Priority: 1
Parameters: Leave this field empty.
5. Click Apply.
6. Select the ManualPageID Job and clickNew to create a new task.
7. Enter or select values in the fields for the new task as shown in this table:
Field Value
Name: ManualPageID
Description: Manual Page Identification task
Mode: Normal
Queue by: None
Store: None
Program: ProtoID.aspx
8. Click Apply.
Field Description
Spawn type: Branch
Child Job: ManualPageID Job
Parent status: Pending
Child status: Pending
Steps: 1
b. Under Permissions, click the ManualPageID check box. Confirm that the
other check boxes are cleared.
c. Click Save.
You configured the application to display only pages with Status = 1 to the
operator. Since manually identified pages have no recognition data, there are no
low confidence characters to set the page status to 1. Depending on the way your
validation rules are constructed, you might also have no validation errors.
To ensure that manually identified pages are displayed to an operator, you force
the page status for the pages to 1. You force the status in the Routing ruleset,
which runs immediately after validation.
object2 = Manual
DCO SetPageStatus 1
Important: Make sure that Set Manual Page Status is the first function in the
rule.
5. In the Rulesets pane, click Save.
6. Click Lock/Unlock ruleset and select Publish Ruleset.
Because the image file page fails fingerprint matching, text matching, and pattern
matching, Datacap starts the Identify Manually function. This function causes the
batch to branch to the Manual Page ID task. After you manually identify the page,
processing continues as normal.
You use the Datacap Web Client to recognize the data. But you cannot use Datacap
Desktop.
Now you can update the application to generate fingerprints for unrecognized
pages. When you are finished, run the same batch through the workflow. But this
time the application adds a fingerprint to the fingerprint library and the
recognition zones to the document hierarchy. The next time that the application
encounters an Airline #4 page, the application can use the new fingerprint.
Automatic page identification and field recognition is completed by using the new
fingerprint.
object2 = Manual
AutoDoc SetFingerprintDir @APPPATH(fingerprint)
AutoDoc CreateFingerprint
AutoDoc SetFingerprint @D.TYPE,@P.TYPE
Intellocate iloc_SetZones
The purpose of this function is to ensure that the rule returns True and thus
avoid triggering a validation error.
You must enable the RRS logging in the Verify task Setup dialog in the Datacap
Web Client. You are running the Verify task rules from the Datacap Web Client.
You must set this variable for any document that contains a manually identified
page. The Routing ruleset runs at the end of the Profiler task profile after
recognition and validation tasks are completed.
varTarget = @D.Split
This function assigns the value Yes to a document-level variable called Split,
and creates it if necessary.
This action raises the condition flag and creates a child batch that contains any
documents with the document-level variable Split. In this case, the only
possible value of the variable is Yes. So, all documents are sent to the same
child batch.
6. In the Rulesets pane, click Save. Then, click Lock/Unlock ruleset and choose
Publish Ruleset.
In an earlier section that describes the order of rule execution, you learned that
batch-level rules typically run before page-level rules. (See “Order of rule
execution” on page 43.) However, you also saw how you can attach a rule to the
Close element. The rule runs after Datacap finished processing all lower-level
objects.
To assign the Batch Splitting rule to the Close element of the batch:
1. In the Document Hierarchy pane, click Lock DCO for editing.
2. Expand the document hierarchy so you can see the Close element of the batch.
3. Select the Close element of the batch.
4. In the Rulesets pane, select the Batch Splitting rule and click Add to DCO.
5. In the Document Hierarchy pane, click Save and then click Unlock DCO.
You must create a supervisor job to handle the child batch that you want to split
from the main batch.
After you create the supervisor job, you must configure the job router that is used
to send the documents to the supervisor.
Tip: If you want to refresh the page, click another tab and return to the
Workflow page to confirm that the condition is removed.
4. Select the Profiler task, and under Parameters in the Selected task details
section, enter Split Condition in the Value column for Return Conditions.
5. Click Apply.
6. Refresh the page, expand the Profiler task, and select Split Condition.
7. In the Selected condition details section, configure the values as follows:
Field Value
Spawn type Split
Parent Status Pending
Steps 1
Child Job Supervisor Job
Child Status Pending
After you create the supervisor and configure the job router to send the documents
to the supervisor, you can configure shortcuts for the supervisor.
Before, you run a batch through the workflow, you need to delete the new Airline
#4 fingerprint. So you can process it again as an unrecognized page.
The Datacap Web verification client is discussed in other topics and the manual
page identification client topics. These topics describe some of the other Datacap
Web Client components, including the remote scanning client, other verification
clients, and the Datacap Web Client administration interface.
Datacap includes web components that you can use to administer most of the
workflow from a web browser, including the functions that are listed in the
following table.
averify.aspx
imgEnter.aspx
Verification, manual page identification, and aindex.aspx
manual registration
Manual page identification and fixup ProtoID.aspx
Application administration Standard tmweb.net interface
Job monitoring Standard tmweb.net interface
You specify which option to use in the task setup dialog in the Datacap Web
Client, as described in “Configuring the remote scanning client.” You configure the
remote scan task and the upload task later in the “Creating a remote scan task” on
page 244 and “Configuring the Upload task” on page 246 topics.
To configure scancl.aspx:
1. In the Datacap Web Client, click the Administrator tab, and then click
Workflow.
2. Expand Scan Job and then select MyISScan.
3. In the Selected task details section, click Setup.
4. In the setup dialog (MyISScan.set.xml - Webpage Dialog):
a. Scroll down to the Scan section.
b. Enter a value for the Scan into directory field. The default is
c:\datacap\scan.
c. To enable direct scanning into the batches folder of the application without
using the Upload task, select the Local processing check box. If you do not
select this option, Datacap scans the images to a local folder on the web
client and then uses the Upload task to upload the images to the application
batches folder.
d. Click Save.
As with the remote scanning client, the remote virtual scanning client provides two
upload options:
v Scan the images from the web client directly into the application's batches folder
(Local Processing check box is checked in the task's Setup dialog).
v Scan the images to a local folder on the web client and then upload them to the
application's batches folder (Local Processing check box is not checked in the
task's Setup dialog).
You configure the Local Processing setting by selecting the task in the Workflow
page on the Administrator tab of the Datacap Web Client.
It can also generate custom verification pages by using predefined static layouts
(see “Configuring the VeriFine client” on page 226).
UI Control Description
Check mark (U) on a folder (Split document Splits the current document so the selected
icon) page becomes the first page in a new
document.
Two pages on a folder (Join documents icon) Joins the current document and the previous
document.
Mark for deletion icon (X) Marks the selected document or page for
deletion. Documents are assigned the first
Ignored Page Statuses (IPS) value; pages are
assigned the second IPS value. (See the
section Configuring the page and field status
settings in “Configuring the VeriFine client.”)
Up arrow icon (↑) Moves up the selected page within the
current document.
Down arrow icon (↓) Moves the selected page down within the
current document.
You can use the VeriFine section to assign Image View, Data Entry Panel, and the
Batch View to a specific location on the page.
For information on creating custom static pages for use with VeriFine.aspx, see
“Creating custom pages” on page 229.
The page and field status settings in the Navigation sections (Ignored Page
Status(es), Done Page Statuses, and others) control how VeriFine manages pages
and fields with the specified status values. See the STATUS variable in the
“Standard Variable Reference” on page 285 for a list of commonly used status
values.
Setting Description
Ignored Page Status(es) Determines which pages to ignore. Datacap
does not display a page if it has one of the
specified status values. Additionally, the first
value is assigned to any document you mark
for deletion in the VeriFine tree view pane.
The second value is assigned to any page
you mark for deletion. Do not include any
Validation Statuses or Done Page Statues
value in this list.
Tip: This option loads all page XML files for the current document into a
temporary folder. Use this option for cross-page validations that must access
multiple pages within a document. However, this option adversely affects
system performance.
b. To load images, click the Load all images check box in the Document
startup section.
Tip: This option is enabled by default, and loads all images in a document
when you open that document. Disable this option when you have large
documents that require much time to load all of the images before the first
page is displayed. Enabling this option delays the display of subsequent
pages.
c. To configure the batch tree view, enter values in the DCO Tree View section
for Display variables.
Tip: By default Datacap displays the type and status variables for each
document and page. To add a variable, click the plus sign (+), or to remove
a variable, click the minus sign (-).
d. To customize background field colors, scroll to the Page Processing section,
and in the Background field colors subsection, enter color values for the
following field types:
Important: You must repeat these steps for each custom page layout.
5. Specify the custom panel in the task's setup.xml file.
a. Start the Datacap Web Client and log in the TravelDocs application with the
admin account.
b. Click the Administrator tab, and then click Workflow.
c. Select the Verify task, and click Setup.
d. In the Verify.set.xml - Webpage dialog window, scroll to the Custom web
panels section and click the Use custom web panels check box.
Tip: You can mix custom page layouts with default page layouts. For
example, if your application has 10 page types but you create only two
custom layouts, specify just the two custom layouts. VeriFine uses the
default layout for the remaining page types.
f. Click Save and close the window.
Tip: To revert to the default panels at any time, clear the Use custom web
panels check box and click Save.
6. Open a batch in the Verify task and confirm that the task is using the new
custom panels.
For more information, see “Verifying in multiple passes” on page 231 and “Manual
page identification and registration” on page 236.
AIndex generates verification pages automatically that are based on the document
hierarchy, and includes a toolbar, an image view, a data entry panel, and a batch
tree view. The web page is similar to VeriFine, but AIndex does not display image
snippets in the data entry panel. If you do not require multipass verification,
VeriFine is a better choice for web verification.
The page and field status settings are the same as for the VeriFine client. (See the
“Configuring the page and field status settings” section in the “Configuring the
VeriFine client” on page 226 topic.)
In addition, AIndex supports the following settings that you can use to implement
“Verifying in multiple passes”:
v DCO field alt text index: Specifies the DCO field alternate text index.
v Blind confirm index: Enables automatic double-blind checking that requires
matching another alternate value (specified index) or retyping same value twice.
v Show other alt texts: Specifies whether to display other alternatives as
hyperlinks.
Tip: If you are using a recognition engine to implement the first pass, you
might choose to display only low confidence fields to the operator.
3. For each field, Datacap compares the new value to the initial value. If they
match, Datacap accepts the value; otherwise, the operator must reenter the
value. Only when the operator enters the same value twice in a row does
Datacap accept the value.
v In double-blind verification:
1. An operator (or a recognition engine) enters the initial data values.
2. Datacap displays the page to a second operator but hides the initial values.
The operator enters a new value for each field and Datacap saves all the
values (no comparing).
3. Datacap displays the page to a third operator. Using a feature of AIndex that
displays multiple values, the operator can see both the initial value and the
second value.
4. For fields where the initial value and the second value are different, the
operator must determine which value is correct, or enter a new value:
– Clicking the initial value (or pressing Alt+Shift+A when the field has the
focus) moves the initial value into the data entry field.
Your application can store values from multiple data entry passes in the runtime
page data file.
Datacap can store multiple values in the runtime page data file for any specified
field:
<F id="Vendor">
<V n="TYPE">Vendor</V>
<V n="Position">0,0,0,0</V>
<V n="STATUS">1</V>
<C n="6,8,10" cr="0,0,0,0">68,49,83</C>
<C n="6,8,10" cr="0,0,0,0">97,50,112</C>
<C n="6,8,10" cr="0,0,0,0">116,51,105/C>
</F>
In the task example, the Vendor field has three 3-character values that are
represented by the ASCII characters shown. The first value (AltText[0] = ASCII
68,97,116 = “Data”) is the primary data value.
Your application can use this structure to store values from multiple data entry
passes. However, because data is always captured in AltText[0], you need to move
the data.
The actions that are required to move and copy data are shown in this table.
The action that is used to compare AltText[0] and AltText[1] values is VoteFld.
To implement double blind verification, use the VoteFld action before the page is
displayed to the last operator. If the initial and second values do not match, the
action sets the field status to 1 and the field is displayed in red.
You can specify these settings in the Datacap Web Client Administrator tab,
clicking Workflow, and selecting the relevant task.
In the task.set.xml Webpage Dialog, scroll to the Alternative or blind text section,
and enter the values for the corresponding fields, as needed.
The data for Operator 2 data ('2') is now stored in AltText[0] and the data for
Operator 1 ('1') is in AltText[1]. In this case, the compare fails, and the operator
must enter the same value twice to override the initial value.
Important: You specify the Show other alt texts value and the Blind confirm
index value in the set.xml Webpage dialog for the task in Datacap Web Client.
ClearAltText("0")
Operator 2 (initial state) 1 Show other alt texts = -1
(hide alt text)
Important: You specify the Show other alt texts value and the Blind confirm
index value in the set.xml Webpage dialog for the task in Datacap Web Client.
In the preceding example, PropogateToAltText moves the initial data entry value
(1) from AltText[0] to AltText[1], and ClearAltText removes the value from
AltText[0]. Operator 2 enters a value of 2 and then PropagateToAltText copies the
value of 2 from AltText[0] to AltText[3]. The VoteFld action sets the field status to
'1' (problem) because AltText[0] and AltText[1] do not match, and AIndex
highlights the field. Operator 3 can now do one of three tasks:
v Accept the current AltText[0] value ('2').
v Swap in and accept the AltText[1] value ('1').
v Enter a new value twice. The new value becomes the new AltText[0] value.
The following table shows the result for each of these three actions.
Table 53. Results of the blind example actions
AltText AltText AltText Alternative or blind text
[0] [1] [2] settings
Operator 3 2 (1 ) 2 1 2 Show other alt texts = 2
(show alt text)
(accept AltText[0])
Blind confirm index = 1
(compare)
Operator 3 1 (2 ) 1 1 2 Show other alt texts = 2
(show alt text)
(use AltText[1])
Blind confirm index = 1
(compare)
When you register the page, Datacap displays a floating image of the anchor object
of the page that you align with the actual anchor image on the current page. When
you place the anchor object, Datacap computes the required page offsets that are
used to calculate the positions of the data fields on the page.
Datacap can usually handle page identification and registration for you
automatically, even when the offsets relative to the fingerprint are large (see
“Pattern Matching” on page 185). Using manual page identification and
registration might be useful to you in special situations. However, if you are using
AIndex for manual page identification, you must run the manual page
identification task after the CreateDocs task because AIndex requires a structured
batch. You also need to confirm that each unidentified page is a separate
document. These latter steps are discussed when you update the TravelDocs
application to use AIndex.
Manual anchoring is only enabled for pages that include an anchor field with the
variable Required=1 and where the anchor field's position in the runtime page data
file is undefined or set to 0,0,0,0.
Unidentified pages (pages of type Other) typically do not have a runtime page
data file. So you must first assign a page type. When you assign a page type,
AIndex checks document integrity when you submit the batch. So your documents
and pages must be structured correctly. Additionally, you need to have appropriate
Done Page Statuses, Validation Statuses, Done Field Statuses, and Ignored Field
Statuses values in the task's .set.xml file (see “Configuring the VeriFine client” on
page 226). You do this task later when you update the TravelDocs application to
use AIndex (see “Updating ManualPageID” on page 250).
AVerify client can manage processing tasks such as generating screens, loading
data, and saving data. Therefore, AVerify is a good option if you are processing
high volumes by using multiple web clients that are attached to the same web
server. The server is started only for validations and for saving the XML files.
Aside from this feature, VeriFine is usually a better choice for web verification. The
following table describes the UI controls (and the corresponding tooltip, if
accessible) that are available in AVerify.
To use the AVerify client, select averify.aspx as the value for Program in the Verify
task's setup dialog in the Datacap Web Client.
AVerify uses the same page and field status settings and Rulerunner settings as the
VeriFine client. For more information, see the Configuring the page and field status
settings section in the “Configuring the VeriFine client” on page 226 topic.
A custom panel is referred to as a static panel. To create a static panel, you use
Datacap Web Client Custom Layout Generator.
Tip: To revert to the previous panel, clear the Use custom web panels check
box and click Save.
8. Prepare a batch for verification.
9. Open the batch in AVerify and display at least one instance of each page type.
For each page you open, Datacap creates an HTML file with the layout of the
standard two-column verification panel for that page. The files are named static
page_type>.htm, for example, staticRental_Agreement.htm. The files are saved
in one of the following locations:
v C:\ (the root of the C: drive)
v C:\Users\<username>\AppData\Local\VirtualStore
The HTML file that AVerify exports for each page type defines each of the fields
within a standard two-column table layout. Each cell represents one field and
contains a label, an image snippet, and an edit control.
The HTML within the image snippet and edit control cells contains code that
cannot be modified.
However, you can change the labels, rearrange the cells, remove the image
snippets, and so on.
You control the use of custom (static) panels through the task setup in the Datacap
Web Client.
1. Open the Datacap Web Client and log on to the TravelDocs application.
2. Click the Administrator tab, and click Workflow.
3. Expand Web Job, and click the Verify task.
4. In the Selected task details pane, click Setup.
5. In the Verify.set.xml - Webpage dialog window, scroll to the Custom web
panels section and click the Use custom web panels check box.
6. Under Bind page to ascx panel:
a. In the Panel for field, replace Page_Type by entering Rental_Agreement and
replace panel.htm by entering staticRental_Agreement.htm.
b. Click the + sign to add a second Panel for field.
c. In the second Panel for field, replace Key2 by entering Optional_Insurance
and replace Value2 by entering staticOptional_Insurance.htm.
7. Click Save.
8. Open a batch in AVerify and confirm that AVerify is using the new custom
panels.
9. Optional: To revert to the default panels at any time:
a. Repeat steps 1 - 5 and click Use custom web panels to clear the check box.
b. Under Bind page to ascx panel:
v Click the - sign to remove Optional_Insurance.
v Replace Rental_Agreement by entering Page_Type.
v Replace staticRental_Agreement.htm by entering panel.htm.
c. Click Save.
ImgEnter displays a gray border around each data field. When you click within a
field, the web client displays a data entry edit field. The data entry field displays
the recognized data that you can change. Fields with low confidence characters are
displayed in yellow and fields with validation errors are displayed in red. To use
the ImgEnter client, select ImgEnter.aspx as the Value for Program key in the
Verify task's details pane in the Datacap Web Client. Click the Administrator tab,
click Workflow, and then select Verify in the Web Job.
ImgEnter uses the same page and field status settings and RRS settings as the
VeriFine client. For more information, see the Configuring the page and field status
setting section in the “Configuring the VeriFine client” on page 226 topic.
When you copy a page, Datacap adds a page-level variable to the runtime
hierarchy with the ID of the source page. For example, if you copy page 1, Datacap
adds <V n="Copy">TM000001</V> to the cloned version.
Tip: You can move between thumbnails by using TAB/SHIFT+TAB. You can
display a full page image by clicking the thumbnail or pressing ENTER. For more
information, see “ProtoID web client configuration.”
Inserting pages
The CTRL+M hot key inserts a new page before the selected page. To specify the
type for the new page:
1. In the Datacap Web Client, click the Administrator tab, and click Workflow.
2. Select the task that uses ProtoID.aspx.
3. Click Setup in the Selected task details section.
4. In the task.set.xml Webpage Dialog, scroll down to the Page ID section and
enter the name of an existing page type in the Insert type: field.
For example, if you enter Separator_Page here, and later during subsequent
processing you press CTRL+M, ProtoId inserts a page of type Separator_Page
and assigns the image file blank.tif. If you specify an invalid type, ProtoId
assigns the type of page that is selected when you press CTRL+M.
5. Click Save.
By default, ProtoId lists all available page types in the drop-down list below each
thumbnail image.
If you want to limit the available page types or display aliases, create a dictionary
of available page types in the application's document hierarchy XML file. The
dictionary must have the name PageNames, for example:
<DICT n="PageNames">
<W v="Page_Type_1">Page_Type_1</W>
<W v="Page_Type_2">Page_Type_2</W>
<W v="Page_Type_3">Page_Type_3</W>
</DICT>
By default, ProtoId checks document integrity automatically when you click Done.
You cannot complete the batch if there are integrity problems.
ProtoId uses the same RRS settings as the VeriFine verification client (see
“Verification by using the VeriFine web client” on page 225). The specified task
The ALT+S hot key assigns a super variable to the selected page in the runtime
batch hierarchy, for example:
<P id="TM000001">
<V n="Super">Three</V> <-- Super variable assigned a value of "Three"
<V n="STATUS">0</V>
<V n="TYPE">Rental_Agreement</V>
etc.
To specify the available super variable values, add the values to the Special
Variable values field in the task's Setup dialog in the Datacap Web Client.
For example:
Each time that you press ALT+S , ProtoId assigns the next value in the series. In
this example, the first time you press ALT+S , it assigns a super variable value of
One. The second time, it assigns Two; the third time, it assigns Three; the fourth
time, it removes the Super variable.
You can use super variables to perform additional integrity checking by specifying
a page type with each value, for example:
SuperVars=One|Rental_Agreement,Two|Air_Ticket,Three|Room_Receipt
In addition, you can use the tilde (~) character to indicate values that are not valid
for a specific type, for example:
[PageID]
SuperVars=One|~Rental_Agreement
In this example, integrity checking fails if you assign Super=One to a page that is of
type Rental_Agreement.
Administering an application
You use the Administrator tab in the Datacap Web Client for all administration
tasks. You use this tab to configure your application from any machine on the
network.
The Administrator tab gives you access to a setup window where you can
configure task settings.
Important: The options that are available vary, depending on the program
that you specify for the task. You must click Save in the Webpage dialog to
save the additional configuration settings.
5. Click Apply in the Selected task details pane.
Job monitoring
You can use Monitor tab in the Datacap Web Client to monitor the status of the job
queue.
Tip: To delete an individual batch, click the batch number and then click Delete.
v The Filter label provides finer control over which jobs are displayed
v The Refresh label refreshes the job list (or set the rate to refresh automatically)
v The Default label returns to the default view (all jobs)
You can also use the web Monitor to perform the following tasks:
v Click the QID to run a batch
v Click the batch number to view the batch details, change the batch status, and
optionally delete the batch.
Attention: If you want to run Datacap Web Client from a different machine, run
the WebClientConfig utility on that machine to configure the required Internet
Explorer security settings. You also need to add the Datacap Web Client
(tmweb.net) server as a trusted site.
7. Click Apply.
8. Select the new Scan task and click the Up Arrow to move the task to the top
of the web Job task list.
Attention: If the new task disappears, expand any job with conditions and
you can see the new task again.
9. Click Shortcuts and click New.
10. Enter the shortcut details as follows:
11. Scroll down and under Web Job, check Scan. Then, click Save.
Important: If the web page stops responding, open the Datacap Server
Manager, then stop and restart the server.
Related information:
Add tmweb.net address as a trusted site
Option Description
Name: Upload
Description: Upload from Datacap Web Client
Mode: Auto
5. Scroll to the Web Job option and select Upload. Then, click Save. If the web
page is not responding after you save the shortcut, open the Datacap Server
Manager window, and stop and restart the server.
Option Description
Name: CreateDocs
Description: Create documents
Mode: Normal
Queue by: None
Store: None
Attention: Since a task with the same name exists in the Main Job workflow,
the fields auto-populate after you enter the name.
5. Click Apply.
6. Select the new CreateDocs task and click Up Arrow to move the task between
PageID and Profiler.
Tip: If the new task disappears, expand any job with conditions to see the new
task again.
Tip: To fix the clipped check box outlines, you might need to modify the
image-processing settings based on a scanned page. Due to scanner differences,
your scanned page might be different from the example that is described here.
If the Fuel Service option is not selected, select Fuel Service before proceeding.
3. Click Submit and OK to finish the batch. Then, click OK and Stop.
4. Check the Datacap Web Client Monitor tab and observe Rulerunner complete
the Export task.
However, if you are using AIndex for manual page identification you must run the
manual page identification task after you create a structured batch. You need to
move the branching function out of the PageID task and into the CreateDocs task.
You also need to make sure that each unidentified page is a separate document,
which requires an update to the document hierarchy.
varTarget = @B.ManualID
8. Click Save. Then, click Lock/Unlock ruleset and choose Publish ruleset. The
PageID rule should look like the following example.
The CreateDocs task profile includes two rulesets: CreateDocs and Document
Integrity. Because you need to branch to AIndex after you create the structure
batch, you add the branching function to the Document Integrity ruleset.
object2 = Yes
Attention: This action returns False if the batch variable ManualID is Yes,
which causes the rule to start the Batch Route To Fixup function. The PageID
rule configures this variable to Yes if the batch includes pages that failed
fingerprint matching.
4. Click Save. Then, click Lock/Unlock ruleset and choose Publish ruleset.
Updating ManualPageID
You must configure the ManualPageID task to use aindex.aspx. You also must add
the required page and field status settings and set the template path to point to the
fingerprint folder of the application. Additionally, you must create a rule that runs
if a user changes an existing page status.
The page and field status settings for AIndex are the same as those settings for
VeriFine (see “Configuring the VeriFine client” on page 226).
The Ignored Field Statuses field determines which fields to hide, meaning AIndex
does not display any field that has one of the specified status values.
Because you are using AIndex for manual page identification, there is no field data
and it is not necessary to display a page of empty fields. Therefore, you can hide
all of the fields by entering 0,-1 for the Ignored Field Statuses.
v 0 is the default status of each field when the page data file is created initially
v -1 is typically assigned to anchor fields so that they can be hidden
The Done Field Statuses field determines which fields to hide when the Problem
fields only check box is selected. Because you are hiding all of the fields, it does
not really matter which value you enter. However, you can enter 0 (the standard
setting) for the Done Field Statuses field.
The Done Page Statuses field is used to determine when a batch is complete.
When all of the pages in a batch have one of the specified values, you can
complete the batch. Otherwise, you can put the batch on hold only.
By default, the VScan task assigns a status of 49 on all pages. In the PageID task,
you assign a status of 1 to the batch if it includes pages that failed fingerprint
matching.
When you manually assign a page type in AIndex, AIndex assigns the status that
is specified as the first Validation status value (for example, 0,2,1, where Done
status = 0; Override status = 2; Fail status = 1). You can assign a status of 0, and so
you need to set a value of 0,49 for the Done Page Statuses field. In this manner,
the user can complete the batch only when all of the pages are identified.
Validation statuses:
To set the done status to 0, the override status to 2, and the failed status to 99,
enter a value of 0,2,99 in the Validation Statuses field.
The ManualPageID settings control how AIndex manages pages and fields with the
specified status values.
Option Description
Done Page Statuses 0,49
Validation Statuses 0,2,99
Done Field Statuses 0
Ignored Field Statuses -1,0
Main Task Profile ManualIDValidate
RuleRunner Service Log 3
Batch Log 1
RRS Type LocalRRS
WRRS URL http://127.0.0.1/RRS/
Template Folder C:\Datacap\TravelDocs2\fingerprint
6. Click Save.
The user must click Submit for each changed pageto run the rule. The rule does
not do anything except return True, but this value is enough to cause AIndex to
assign the done status to the page.
1. In Datacap Studio, in the Rulesets pane, right-click TravelDocs2 and choose
Add Ruleset.
2. Change the name of the new ruleset to ManualIDValidate and then select
Function1.
3. Click the Actions library tab and expand the rrunner library.
4. Select the Status_Preserve_OFF action and click Add to function to add the
action to Function1.
5. In the Rulesets pane, click Save. Then click Lock/Unlock ruleset and choose
Publish ruleset.
6. Click the Task profiles tab and then click Lock/Unlock task profiles.
7. Click Add a new task profile, select Custom, type ManualIDValidate, and click
OK.
Tip: You might need to scroll till end of the data entry panel to see the
Submit button. Also, you cannot select multiple options for the Options
groups on the Rental_Agreement pages because the AIndex web client does
not support the MultiPunch variable.
The view of batches in Job Monitor can be restricted to batches that are assigned to
a specific group. The application's rules determine the groups that can view the
batch. Four steps must be completed to filter batches by group in the Job Monitor.
v You must set up your ADSI, LDAP, or LLLDAP group authentication in the
Datacap Server Manager. If LLLDAP is used, the group-based authentication
The batches that you run by selecting Datacap Web Client > Operations > Run
Shortcut can be limited by using additive group filters in the same way that those
batches are limited in Job Monitor. You cannot use exclusive group filters to limit
batches that are run when you select Run Shortcut.
Related information:
LLLDAP group authentication
Creating a custom column in the Job Monitor
Add each ADSI, LDAP, or LLLDAP filtering group to the Custom Values tab of
the Application Manager.
You can define a maximum of 31 additive groups. Each user can be member of
multiple groups. Each batch can be assigned multiple groups and the user must
belong to all of the groups that are assigned to the batch.
You can define up to 32,000 exclusive groups. Each user can be a member of only
one exclusive group and a batch can be assigned to one filter group. You can create
a supervisor group whose members can view all batches with exclusive filters.
1. Open the Application Manager and select the application that you want from
the list of applications.
2. Select the Custom values tab.
3. In the General string values field, add each filter group Value name and
Value.
The group Value Name consists of the word Group followed by a number.
v For additive groups, the number is 0 - 31
v For exclusive groups, the number is 1 - 32767.
Fingerprint Management
Fingerprints are used both for page identification and for specifying recognition
zones. The following topics review basic fingerprint functions, provide more
details about the fingerprint database, and examine an alternative method for
storing zone position information with fingerprint XML (FPXML) files. Later, you
can update the TravelDocs application to use FPXML.
Attention: The method that you use for creating library fingerprints must be the
same as the method you use to generate runtime fingerprints during page
identification.
v An XML file (<fingerprint_id>c.xml) with the recognition results.
You can add new fingerprints and define the recognition zones using actions. You
can also create fingerprints for manually identified pages. (See “Creating the
AutoFingerprint ruleset” on page 215.)
Fingerprint files are stored in the application's fingerprint folder. The location of
this folder is specified in the Datacap Application Manager and stored in the
application configuration (.app) file.
In addition to saving the TIFF and CCO files, Datacap creates an entry for the new
fingerprint in the fingerprint database. (See “The Fingerprint database” on page
258). The fingerprint database is also specified in the .app file.
When you define the field zones in Datacap Studio, Datacap writes the position
information into the document hierarchy. If you are defining the zones during
verification, the iloc_SetZones action does the same. The document hierarchy XML
file example shows the position of the Pickup_Date field for three different
fingerprints:
<F type="Pickup_Date">
<V n="ID">0</V>
<V n="TYPE">Field</V>
<V n="STATUS">0</V>
<V n="POSITION">0,0,0,0</V>
<V n="MIN_TYPES">0</V>
<V n="MAX_TYPES">0</V>
<V n="ReqConf">8</V>
<V n="rules"><in><r id="1" rs="9" </V>
<V n="Pos556">183,402,535,463</V>
<V n="Pos558">568,331,967,389</V>
<V n="Pos560">1199,389,1600,448</V>
</F>
The last three entries in the XML file indicate the Zone position for fingerprints
556, 558, and 560.
It is also possible to store the field position information for each fingerprint in a
separate file. For more information, see “Using fingerprint XML files” on page 259.
This is helpful if your application has many fingerprints.
The connection string for the Fingerprint database is defined through the Datacap
Application Manager and stored in the application configuration file.
Tip: You can see the host ID and reference ID by moving the mouse pointer
over the class name in Datacap Studio.
v PageType: This table defines the name and ID for each page type, for example:
v Template: This table defines the ID, CCO file, TIFF file, host ID (class), and page
type for each fingerprint, for example:
This setup works well when the number of fingerprints is small, but as the number
of fingerprints increases the document hierarchy file gets bigger and the time to
locate the position information increases.
Although the total number of files is increased because each fingerprint now has a
TIFF file, a CCO file, and an XML file, this approach has several benefits:
v The document hierarchy XML file remains small.
v Overall performance can increase.
v It eliminates possible contention if multiple users attempt to add fingerprints
simultaneously.
Enable FPXML
You can add fingerprints using the Datacap Studio Zones tab or by using actions
from a verification panel.
By default, Datacap Studio writes the zone position information to the application's
document hierarchy XML file, but can write to a fingerprint XML file.
After you enable FPXML and restart Datacap Studio, each time you add a
fingerprint or modify an existing fingerprint's zones, Datacap Studio creates or
updates the fingerprint XML file.
Important: Datacap Studio also adds the information to the document hierarchy
XML file since it uses this information to display the zone outlines on the Image
tab.
The FPXML library includes actions for reading and writing zone information
using fingerprint XML files.
For a demonstration of how to use these actions when you update the TravelDocs
application, see the topic“Updating the AutoFingerprint ruleset” on page 262.
With the Fingerprint Maintenance Tool, you can export existing position
information from the document hierarchy and into individual XML files. The
Fingerprint Maintenance Tool is included as an APT-specific utility. However, it is
possible to use the tool with other Datacap applications by following the
instructions that are provided.
Important: If you move existing zone position information out of the document
hierarchy and into FPXML files, you must update the actions that your application
uses to read the zone information. The ReadZones action reads information from
the document hierarchy, whereas the ReadZonesFPX action reads information from
FPXML files.
You need to copy the Fingerprint Maintenance Tool files to your application
directory and configure the tool for use with your application.
1. In the folder C:\Datacap\APT\dco_APT, locate the files Fingerprint Maintenance
Tool.exe and Interop.DCAppleLib.dll.
2. Copy the two files from C:\Datacap\APT\dco_APT to C:\Datacap\<
app_name>\dco_<app_name>, where < app_name> is the name of your application)
3. Using a text editor, create a file that is called Settings.ini in the
C:\Datacap\<app_name>\dco_<app_name> folder and insert the following
information (replace <app_name> with the name of your application):
[Database]
FingerprintDatabase=Provider=Microsoft.Jet.OLEDB.4.0;Data
Source=C:\Datacap\<app_name>\<app_name>Fingerprint.mdb;Persist Security
Info=False
[Paths]
FingerprintDirectory=C:\Datacap\<app_name>\fingerprint
FingerprintBackupDirectory=C:\Datacap\<app_name>\Fingerprint Backup
SetupDCO=C:\Datacap\<app_name>\dco_<app_name>\<app_name>.xml
[FMT]
FilteredSummary=Select
Template.tp_TemplateID,Template.tp_DateAdded,Template.tp_HitCount,Template.tp_L
astHit,Host.hs_RefName FROM Template,Host WHERE host.hs_HostID =
Template.tp_HostID
This procedure removes the zone position information from the document
hierarchy XML file (C:\Datacap\< app_name>\dco_<app_name>\<app_name>.xml).
Make a backup copy of this file before you export.
1. Double-click Fingerprint Maintenance Tool.exe.
2. Confirm that the information displayed at the top of the FMT window is
correct.
3. Click the DCO to FPXML button and click OK to create the FPXML files.
Attention: The WriteZonesFPX action sets the fingerprint host name to the
current document type, the fingerprint host ID to the current page type, and
the fingerprint page type to the current page type.
6. Click Save. Then click Lock/Unlock ruleset and choose Publish Ruleset.
object 2 = Fingerprint
object 2 = Fingerprint
FPXML SetDirectoryFPX @APPPATH(fingerprint)
FPXML ReadZonesFPX
Recog_Shared SnapCCOtoDCO
8. Click Save. Then click Lock/Unlock ruleset and choose Publish Ruleset.
Attention: ReadZonesFPX fails if there is no matching FPXML file and
Datacap runs the Non-FPXML function.
Attention: If you run another batch through the workflow, it runs from end
to end with no branching or splitting because the Airline #4 page is now in
the fingerprint library. This time recognition task profile uses the zone position
information from the fingerprint XML file.
For hardware and software requirements, see System Requirements: Hardware and
Software Requirements for IBM Datacap, Version 9.0.
Important: Ensure that the column names that you are adding to the 9.0
databases match the column names in the 8.0.1 databases.
6. Start Datacap Studio on your workstation by clicking Start> IBM Datacap
Developer Tools > Datacap Studio.
7. In the Datacap Studio startup dialog that prompts you to select an application,
click Close.
8. In Datacap Studio, click the Datacap application wizard icon.
9. In the Application Wizard Overview window, click Next.
10. Select Convert an 8.0.1 application to 9.0 format.
11. In the Source Application window, select the application that you want to
convert.
12. In the 9.0 Target Databases dialog, enter the database information that your
updated application must use.
If you do not have Datacap 8.0.1 installed on a separate computer, you must
convert the Batch Pilot panel before you can upgrade to Datacap Version 9.0.
The layout XML file contains information about each of the standard Datacap
controls that are used. The file includes the control type, control name, position,
and other attributes. The script exports only the following control types.
v dcimage
v dcedit
v combobox
v label
If your form includes other control types, you must manually add them by using
Microsoft Visual Studio.
@APPPATH(<key_path>)
Description
Retrieves the path to a file or folder from the application's configuration (.app) file.
Use the Datacap Application Manager to modify the information that is contained
in this file. Do not edit the file directly.
Syntax
@APPPATH(key_path)
Arguments
key_path Specifies the path through the XML hierarchy to field you want:
v If the field name is unique within the file, you can specify just the field name.
v If the field name is not unique within the file, you must specify the path to the
instance you want. For example, you might have multiple workflows. If you do
not specify the path, you get the first instance. To obtain the path, move the
mouse pointer over the field in the Datacap Application Manager and read the
path from the tooltip.
Examples
You can use @APPPATH to retrieve the following information from the application
configuration file.
@APPVAR(<key_path>)
Description
Attention: Before Datacap 8.0, this parameter returns the value for the specified
variable as defined in the [Variables] section in paths.ini. The .ini file is in the
process folder of the application.
The Datacap Application Manager encrypts the connection strings and decryption
is handled by the standard actions.
Syntax
@APPVAR(key_path[:attribute])
Arguments
key_path - Specifies the path to field you want. See @APPPATH for details.
The easiest way to get the path and attribute is to look in the Datacap Application
Manager:
v On the Application and Datacap tabs, move the mouse pointer over the field
and read the smart parameter value from the tooltip.
v On the Custom Values tab, read the smart parameter value that is displayed in
each section.
Examples
You can use @APPVAR to retrieve the following information from the application
configuration file.
Key
Field name name:attribute Example Notes®
Workflow
fields
Lookup lookupdb:cs @APPVAR(lookupdb:cs) (Workflow 1)
database
Fingerprint fingerprintconn:cs @APPVAR(fingerprintconn:cs) (one workflow)
database
Related tasks:
“Storing passwords, connection strings, and other parameters in the .app file” on
page 167
@BATCHID
Description
Example
In this example, the smart parameter returns the ID of the current batch.
@ID
Description
Returns the value of the id attribute for the current object. For example, if the rule
that contains this special variable is bound to a page, the current object is the
current page.
In this example, the rule that contains the action is bound to a page and the smart
parameter returns the ID of the current page.
@STATUS
Description
Returns the value of the STATUS variable for the current object. STATUS is also a
setup property and might specify a special characteristic (for example, -1 indicates
a hidden field).
Example
In this example, the rule that contains the action is bound to a page and the smart
parameter returns the status of the current page.
@VALUE
Description
Example
In this example, the rule that contains the action is bound to a field and the smart
parameter returns the text of the current field. If the current object is not a field,
@VALUE looks for a value in a variable Text of the calling object.
@VAR(<variable_name>)
Description
In this example, the rule that contains the action is bound to a page. The smart
parameter returns the value of the TYPE variable for the current page.
@P\<field_name>[.<variable_name>]
Description
Finds the parent page of the calling DCO. Then, find the child with the dco_id or
dco_type of the parent page. Then, find the variable of this name on the specified
child of the parent page.
The character values used in the following examples are ASCII codes, but they
might be Unicode as well.
Example
In the first example, the smart parameter returns the text of the Car_Type field on
the current page.
In the second example, the smart parameter returns the value of the TYPE variable
of the Car_Type field.
@F\<field_name>[.<variable_name>]
Description
Returns the text of the specified subfield of the current field, for example, a field
within a line item. Or returns the value of the specified variable of the specified
subfield.
Example
In these examples, the rule that contains the action is bound to a field with
subfields. In the first example, the smart parameter returns the text of the
Unit_Cost subfield of the current field.
In the second example, the smart parameter returns the value of the Unit_Cost
subfield TYPE variable.
@B\<field_name>[.<variable_name>]
Description
Returns the text of the specified field on the current batch, or the value of the
specified variable of the specified field on the current batch.
Example
In this example, the smart parameter returns the value of the TYPE variable for the
current batch.
@D\<field_name>[.<variable_name>]
Description
Returns the text of the specified field on the current document, or the value of the
specified variable of the specified field on the current document.
Example
In this example, the smart parameter returns the value of the TYPE variable for the
current document.
@P.<variable_name>
Description
Example
In this example, the smart parameter returns the value of the TemplateID variable
for the current page.
@F.<variable_name>
Description
Returns the value of the specified variable within the current field.
Example
In this example, the smart parameter returns the value of the TYPE variable for the
current field.
@JOBID
Description
Returns the ID of the current job. This ID is the value that is specified in the ID
field on the Datacap Administrator Workflow tab.
Example
In this example, the smart parameter returns the ID of the current job.
@JOBNAME
Description
Returns the name of the current job. This name is the value that is specified in the
Description field on the Datacap Administrator Workflow tab.
In this example, the smart parameter returns the name of the current job.
@OPERATOR
Description
Returns the user name of the person who ran the job.
Example
In this example, the smart parameter returns the name of the person who ran the
job.
@STATION
Description
Returns the ID of the station that runs the job. This ID is the value that is specified
in the ID field on the Datacap Administrator Workflow tab.
Example
In this example, the smart parameter returns the ID of the station that runs the
current job.
Return value: 1
@TASKID
Description
Returns the ID of the current task. This ID is the value that is specified in the ID
field on the Datacap Administrator Workflow tab.
In this example, the smart parameter returns the ID of the current task.
@TASKNAME
Description
Returns the name of the current task. This name is the value that is specified in the
Description field on the Datacap Administrator Workflow tab.
Example
In this example, the smart parameter returns the name of the current task.
@CHR(<unicode_value>)
Description
Example
@DATE(<format>)
Description
@DCO(<property_name>)
Description
Returns the value of the specified DCO object property. The DCO object is an
internal data structure that contains the current runtime batch hierarchy
information. This information includes the batch ID (ID), batch type (TYPE), batch
status (STATUS), and the full runtime batch hierarchy XML.
Example
In this example, the rule that contains the action is bound to a page. The example
also contains the smart parameter returns the portion of the runtime batch
hierarchy XML for the current page.
@DICT_VALUE(<field>)
Description
This special variable works with OMR fields (RecogType=4) that are bound to a
dictionary. It returns the dictionary values corresponding to the items that are
selected in the specified OMR field.
Example
In this example, the rule that contains the rr_Get action is bound to a page that
contains an OMR field (Options). The OMR field has three subfields and is bound
to the dictionary shown in the XML code. On the current page all three options are
selected, so the return string contains all three dictionary values.
Same as @DICT_VALUE, except this special variable returns the dictionary words
corresponding to the selected items.
@DICT_VINDEX(<csv_string>)
Description
This special variable works with actions bound to an OMR field (RecogType=4)
where the OMR field is bound to a dictionary. The parameter returns a string of
1's and 0's corresponding to the dictionary values you specify as a
comma-separated list.
Example
In this example, the rule that contains the rr_Get action is bound to an OMR field.
The OMR field has three subfields and is bound to the dictionary shown on the
right. The values that are specified correspond to the second and third items in the
dictionary, so the return value is 011. The rr_Get sets the character values on the
three OMR subfields to 0, 1, and 1.
@DICT_WINDEX(csv_string)
Description
Same as @DICT_VINDEX, except the argument for this special variable uses the
dictionary words.
@EMPTY
Description
Example
@PATH(<key>)
Description
Returns the full path for the specified identifier as defined in the [PATHS] section
of paths.ini, in the dco_<app_name> folder of the application. The function that is
Example
In this example, the smart parameter returns the path to the image folder of the
APT application. This folder is defined in the paths.ini file that is shown on the
right.
@PILOT(<property_name>)
Description
Returns the value of the specified Pilot object property. The Pilot object is an
internal data structure that is configured by Datacap at the start of task execution.
It contains the information that is required to run the task. Such as the batch folder
(BATCHDIR), the batch ID (BATCHID), the input DCO file (DCOFILE), the task
priority (PRIORITY)
The PILOT object properties that you can use to get values from Datacap and
provide them to actions are.
v BATCHID
v BATCHDIR
v OPERATOR
v STATION
v CHILDRENQUANTITY
v PRIORITY
v PROJECTPATH
v CAPTION
v PAGESINBATCH
v DOCSINBATCH
v EXPECTEDPAGES
v ADJUSTEDPAGES
v ADJUSTEDDOCS
v JOBNAME
v FORMPROFILE
v DCOFILE
v JOBID
v TASKID
Example
In this example, the smart parameter returns the input DCO file for the current
task.
@PROJECTDIR
Description
Returns the path and file name for the setup (.xml) file of the current task. The
path is relative to the dco_folder of the application.
Example
Action and return value XML example (if applicable)
Action: rr_Get("@PROJECTDIR")
@PROCESSDIR
Description
Example
Action and return value XML example (if applicable)
Action: rr_Get("@PROCESSDIR")
@STRING(<string_value>)
Description
Example
Action and return value XML example (if applicable)
Action: rr_Get("@STRING(MyString)")
@TIME(<format>)
Description
Returns the current time in the format specified. If you do not specify a format like
@TIME(), defaults to HH:MM:SS.
@TYPE
Description
Returns the type of the current object (Batch, Document, Page, or Field)
Example
Action and return value XML example (if applicable)
Action: rr_Get("@TYPE")
MAX_TYPES
Applies to
Applies Does not apply
Setup DCO Runtime DCO
Description
Specifies the maximum number of child object types that can be present at run
time to meet document integrity requirements (0 = no maximum).
MESSAGE
Applies to
Applies Does not apply
Runtime DCO Setup DCO
Description
Example
This example shows an error message that is written to the runtime hierarchy by a
failed validation action.
<V n="MESSAGE">Failed Calculation:377.73=477.73</V>
MIN_TYPES
Applies to
Applies Does not apply
Setup DCO Runtime DCO
Description
Specifies the minimum number of child object types that must be present at
runtime to meet document integrity requirements.
Description
For example, you can map one or more rules to an object in the Document
hierarchy. When you select the rule in the Document hierarchy object to which you
mapped the rule, Datacap Studio displays the DCO.Rule Map in the Properties
tab. The values in the DCO.Rule Map include the Ruleset ID and the Rule name.
The Ruleset ID references the position of the ruleset on the Rulesets tab in
Datacap Studio, and the Rule name references the position of the rule in the
ruleset. For example, if an object is mapped with a rule named Vendor, which is
part of the Validate ruleset, then the Rule name value can be 4 and the Ruleset ID
can be 6. These values mean that the Validate ruleset is in the sixth position in the
Ruleset tab, and the Vendor rule is in the fourth position within the Validate
ruleset. The corresponding line in the Setup DCO is <r id="4" rs="6" />. If the
object is mapped with five different rules, then the Setup DCO can be similar to
this sample:
<in>
<r id="4" rs="6" />
<r id="2" rs="13" />
<r id="9" rs="7" />
<r id="3" rs="14" />
<r id="6" rs="16" />
</in>
Example
This example shows how the XML in the sample is stored in the Setup DCO file.
<V n="rules"><in><r id="4"
rs="6" /><r id="2" rs="13"
/><r id="9" rs="7" /><r
id="3" rs="14" /><r
id="6" rs="16" /></in></V>
STATUS
Applies to
Description
Specifies the status of the object. The status is initially zero or not present in the
Setup DCO. The status is updated at run time depending on the object type and
the rules and actions of the task. Some common status values are shown in this
table with their conventional meanings. Specific applications can use other status
values.
Value Status
51 CannotFindAnchor
52 DontNeedVerification
70 RescanPage
71 VerificationFailed
72 PageOnHold
73 PageOverridden
74 NoData
75 DeletedPage
77 DeleteApproved
79 ReviewPage
128 DeletedDoc
145 ReviewDoc
Example
<V n="STATUS">1</V>
TYPE
Applies to
Applies Does not apply
Setup DCO
Runtime DCO
Description
In the Setup DCO, TYPE specifies the object type (batch, document, page, or field),
for example:
<V n="TYPE">Page</V>
<V n="TYPE">Rental_Agreement</V>
hr_locale
The hr_locale variable specifies the locale value that is used by the recognition
engines to validate currency, numerals, and date data types for localization.
Applies to
Global DCO
Description
The hr_locale variable uses the BCP 47 defined language values for
language-region, language code ID, and locale description. For example, the
hr_locale variable for the English language in the United States, reads en-US, 1033,
English (United States).
Batch variables
These standard variables can be used only on batch object types.
LAST_RR_PROFILE
Applies to
Description
Example
<V n="LAST_RR_TPROFILE">Rulerunner:m:eRun</V>
Document variables
These standard variables can be used only on document object types.
DD
Applies to
Runtime DCO
Description
Used by some scan tasks - DD contains the value that is imprinted on the first
page of the document by a scanner, or an externally assigned document ID.
Page variables
These standard variables can be used only on page object types.
Description
DATAFILE
Applies to
Runtime DCO
Description
Specifies the name of the data XML file that is associated with the page.
DATAFILE is initially blank in the Setup DCO and is assigned at run time (for
example, TM000001.xml).
Fingerprint Created
Applies to
Runtime DCO
Description
Specifies whether or not Datacap added a fingerprint for the page to the
fingerprint library, which happens when fingerprint matching fails and the
argument to the FindFingerprint action is True.
Example
<V n="Fingerprint Created">No</V>
Image_Offset
Applies to
Runtime DCO
Description
Specifies the offset in pixels (x, y) between the runtime page image and the
fingerprint image.
Example
<V n="Image_Offset">-100,-100</V>
IMAGEFILE
Applies to
v Setup DCO
v Runtime DCO
Specifies the name of the associated runtime image file. IMAGEFILE is blank in the
Setup DCO and is assigned at run time.
Example
<V n="IMAGEFILE">tm000010.tif</V>
PatternConfidence
Applies to
Applies Does not apply
Runtime DCO Setup DCO
Description
Specifies the confidence level achieved when pattern matching is used for page
identification.
Example
<V n="PatternConfidence">10</V>
PD
Applies to
Applies Does not apply
Runtime DCO Setup DCO
Description
ScanSrcPath
Applies to
Applies Does Not Apply
Runtime DCO Setup DCO
Description
Used by scan tasks only - specifies the full path and file name to the original
image file.
Example
<V n="ScanSrcPath">c:\datacap\apt\images\input\invoice_0001.tif</V>
TEMPLATE IMAGE
Applies to
Specifies the name of the matching fingerprint (CCO) file. The value is blank in the
Setup DCO and is assigned at runtime.
TemplateID
Applies to
Applies Does not apply
Runtime DCO Setup DCO
Description
Example
<V n="TemplateID">567</V>
Field variables
These standard variables can be used only on field object types.
DataType
Applies to
Setup DCO
Description
Specifies the type of characters the user can enter into the field in the Verify panel.
Use the following codes to specify the allowed data type:
Value Description
0 Alphanumeric
1 Integer
2 Float
3 Date
4 Time
5 Currency
DensityString
Applies to
Runtime DCO
This variable is used for OMR zones, one character per zone, where the character
represents the percentage of black pixels within the zone according to the
following formula.
Character’s ASCII code value = Percentage black pixels + 48
For example, if the zone has 20% black pixels, the result is ASCII code 68 = 'D’.
Example
DICT
Applies to
Setup DCO
Datacap Desktop
Description
Used with selection fields and specifies the name of a dictionary (within this Setup
DCO) containing a list of possible values.
Index
Applies to
Runtime DCO
Description
Used in FormSpec to optionally specify the field's index.
Label
Applies to
Setup DCO
Description
The value of this variable, if specified, defines the label that is displayed beside the
field in verification panels (Datacap Web Client and Datacap Desktop only). If not
Lookup
Applies to
Applies Does not apply
Setup DCO Runtime DCO
Description
Specifies a database lookup statement that gets run during verification when the
user clicks the hyperlinked field label. A list of matching entries from the database
that is specified by the dns attribute is displayed. The selected entry is used to
populate the fields that are specified in the flist attribute.
Example
The following sample Lookup value gets a list of car types from the lookup
database that is specified in the application configuration (.app) file. The sample
code then populates the Car_Type field with the selected value.
<SQL flist=’Car_Type’ dsn="*/lookupdb:cs">SELECT Car_Type FROM Car_Types</SQL>
The next example (from APT) gets a list of matching vendor names, ZIP codes, and
vendor IDs from the application's lookup database. The list is then displayed to the
user. The SQL statement uses the text in the Vendor field as the search string. The
user can then, for example, enter the first letter and see a list of vendor names that
start with that letter. Upon selecting a vendor from the list, it populates the
Vendor, Remittance_Zip, and Vendor_Number fields with the information for the
selected vendor.
Attention: The carriage return in the following example is only for readability; it
is not technically required.
<SQL flist=’Vendor,Remittance_Zip,Vendor_Number’ dsn="*/lookupdb:cs">
SELECT VendorName,VendorZip,VendorID FROM VendorTable WHERE VendorName LIKE ’@@Vendor@@%’</SQL>
Note in this example the special syntax that is required to reference a field value
from the SQL statement: @@Vendor@@%. Note also that WHERE <column> =
'<value>' is not supported.
LookupEx
Applies to
Applies Does not apply
Setup DCO Runtime DCO
Description
Specifies a database lookup statement that gets run during verification when the
user leaves the field (for example, by clicking or moving to the next field).
LookupEx is typically used to populate other fields that are based on current
field's value. The structure of the lookup statement is similar to that of the Lookup
variable.
Example
The sample LookupEx value looks up the vendor name that is based on the ID in
the VendorID field and populates the VendorName field with the result.
Attention: The carriage return in the following example is only for readability; it
is not technically required.
<SQL flist=’VendorName’ dsn="*/lookupdb:cs">
SELECT Vendor FROM VendorTable WHERE VendorID LIKE ’@@VendorID@@%’</SQL>
For more information about the LookupEx variable, see the “Lookup” on page 293
variable.
MaxLength
Applies to
Applies Does not apply
Setup DCO Runtime DCO
Description
Specifies the maximum number of characters the user can type into the field in the
Verify panel.
METRIC
Applies to
Applies Does not apply
Setup DCO Runtime DCO
Specifies the size of the search region that is used during geometric pattern
matching. The dimensions that are specified are relative to the anchor field. For
example, METRIC=200,300 creates a search region 200 pixels larger left and right
and 300 pixels larger above and below.
MultiLine
Applies to
Applies Does not apply
Setup DCO Runtime DCO
Description
When set to ‘1,' Multiline shows the field as a multiline edit field in the Datacap
Desktop Verify pane.
MultiPunch
Applies to
Applies Does not apply
Setup DCO Runtime DCO
Description
Used when the field contains multiple OMR (check box) options. When
MultiPunch is set to ‘1,' multiple selections are allowed; otherwise only one
selection is allowed.
PatternMatch
Applies to
Applies to Does not apply
Setup DCO Runtime DCO
Some PatternMatch actions require anchor fields, which are used to adjust the
image registration. You can identify one or more fields as an anchor field in the
Zones on Datacap Studio.
To identify a field as an anchor field, lock the DCO, right-click the anchor field,
and select Manage Variables. Create the variable PatternMatch, if it does not exist,
and set the value to 1.
When the PatternMatch variable is set to 1, the field is an anchor field for pattern
matching.
PictureString
Applies to
Applies Does not apply
Setup DCO Runtime DCO
Description
Specifies which characters the user can type into the field according to this key.
Example
v PictureString="A" - Any upper/lower case letter or space is allowed (no
numbers or special characters)
v PictureString="" - All characters are allowed (default)
Tip: If you specify more than one-character set code, the first code applies to the
first character that is typed by the user. The second code applies to the second
character that is typed by the user, a third code applies to the third character that
is typed, and so on. The last code applies to all remaining characters that are
typed.
Pos<templateID>
Applies to
Applies Does not apply
Setup DCO Runtime DCO
Description
Specifies the position of the recognition zone for a specific fingerprint image (<
templateID>). This variable uses the upper left and lower right corners of the zone
(x1, y1, x2, y2) to specify the position.
Position
Applies to
Applies
Setup DCO
Runtime DCO
Description
Specifies the field's position by using the upper left and lower right corners (x1, y1,
x2, y2). The value of Position is initially (0,0,0,0) in the Setup DCO and is
populated at run time.
ReadOnly
Applies to
Applies Does not apply
Setup DCO Runtime DCO
Description
When set to "1," the field is read-only in the Verify panel and the user cannot
change the preset or recognized value.
RecogStatus
Applies to
Description
Numeric code set by some recognition actions to indicate status of the operation.
RecogType
Applies to
Description
Specifies the code for the recognition engine to use when reading data from this
field. OMR (check box) fields require RecogType=4 and these fields are the only
ones that typically require this variable.
ReqConf
Applies to
Description
Specifies the field level recognition confidence that is required for all characters
that are populated to the field from a recognition action. Used with validation
actions to flag the field for validation is any character in the recognized result is
lower than this value.
SELECT
Applies to
Applies Does Not Apply
Setup DCO Runtime DCO
Description
Example
This sample Lookup value retrieves a list of car types from the lookup database
that is specified in the application configuration (.app) file. This sample then
populates the list in the Car_Type field.
<SQL flist=’Car_Type’ dsn="*/lookupdb:cs">SELECT Car_Type FROM Car_Types</SQL>
Note that you can populate multiple fields simultaneously (see the Lookup
variable for an example).
ShowChar
Applies to
Applies Does not apply
Setup DCO Runtime DCO
Description
This variable works with the Datacap Web Client (VeriFine.aspx) panel only.
When set to 1, the character zones are displayed in the image snippet of the field
in the Verify panel.
Sticky
Applies to
Applies Does not apply
Setup DCO Runtime DCO
Description
If Sticky is defined for any field (the value is not important), the Verify panel
includes a check box to the left of the field's label. If you select the check box, enter
a value, and submit the page, the field value populates across all pages of that
type in the current batch.
Text
Applies to
Applies Does not apply
Setup DCO
Runtime DCO
Description
If defined for a field (the value must be empty), the field in the Verify panel
becomes sticky. If the user enters a value and submits a page, the field value
populates across all pages of that type in the current batch. The field must be
initially empty for automatic population to work.
Zone_Offset
Applies to
Applies Does not apply
Setup DCO Runtime DCO
Description
Used with anchor fields during geometric pattern matching. Specifies the offset in
pixels (x, y) between the anchor's position on the runtime page image and its
position in the fingerprint image.
Attention: Both
UseCurrentPayer and
UsePreviousPayer can be
used simultainously. Use
Previous takes priority if
both expressions match.
Table 70. N3
Variable Default Description
BuildLog FALSE TRUE/FALSE value. Adds more
detailed RRS logging when
creating N3 segments.
KeepTrailingSeparators FALSE TRUE/FALSE value. Option to
not remove blank trailing
elements from N3 segments.
Table 71. N4
Variable Default Description
BuildLog FALSE TRUE/FALSE value. Adds more
detailed RRS logging when
creating N4 segments.
KeepTrailingSeparators FALSE TRUE/FALSE value. Option to
not remove blank trailing
elements from N4 segments.
Table 91. N3
Variable Default Description
BuildLog FALSE When set to TRUE, this
variable will add more
detailed RRS logging when
creating N3 segments.
KeepTrailingSeparators FALSE When set to TRUE, this
variable will not remove
blank trailing elements from
N3 segments.
POBoxDetect FALSE When set to TRUE this
variable will enable
evaluation of all N3 segments
for POBox values, and will
remap the POBox to the
second address line in the N3
segment if the second line is
blank.
Table 92. N4
Variable Default Description
BuildLog FALSE TRUE/FALSE value. Adds more
detailed RRS logging when
creating N4 segments.
KeepTrailingSeparators FALSE TRUE/FALSE value. Option to
not remove blank trailing
elements from N4 segments.
embedded help, select an action on the Actions Library tab and click the
button.
Descriptions of the available actions are provided in the sections that follow.
Global actions
You can use the global actions with any of the Datacap applications.
Autodoc actions
Use the Autodoc actions to create fingerprints and match pages to fingerprints by
using the local fingerprint service or a web fingerprint service.
The Autodoc actions connect you to a fingerprint service. You run these actions to
specify how to create fingerprints, set up fingerprint matching processes, and
update fingerprint statistics.
BlankPagesIDBySize
Uses the size of the Image file to determine if the file represents a blank page.
Syntax
bool BlankPagesIDBySize(StrParam)
Parameters
Returns
False if any parameter is invalid, or the rule with this action is bound to a Field
object of the Document Hierarchy. Otherwise, True.
Level
Any page with an Image file smaller than the size parameter (in bytes) is assigned
the Page Type value you enter as a parameter.
Example
BlankPagesIDBySize("1000,Blank_Page")
CalculateOffset
Sets the standard Offset value to be used when matching source pages to
fingerprints.
Syntax
()
Returns
False if the action is not applied at the Page level or an error occurs. Otherwise,
True.
Level
Details
CreateFingerprint
Adds the image (TIF) file of the current page and the fingerprint (CCO) file to the
fingerprint library of the application. The resulting fingerprint consists of the
Image file (.tif) of the page and its Processing file (.cco).
Syntax
()
Parameters
None.
Returns
False if the rule with this action is not bound to a Page object of the Document
Hierarchy; if the current page does not have an Image file; or if the fingerprint's
two files cannot be created. Otherwise, True.
Level
Creates a fingerprint for the current source page. The resulting fingerprint will
consist of two files: the page's Image file (.tif) and its Processing file (.cco).
DeleteFingerprint
Removes the image (TIF) file of the current page and the fingerprint (CCO) file
from the fingerprint library of the application.
Syntax
()
Parameters
None.
Returns
Always returns True. Under certain conditions the action will be unable to delete
the fingerprint but will still return True. For example if the action is not applied at
the Page level or if the fingerprint's Image file cannot be found. Please review the
log file if DeleteFingerprint does not perform as expected.
Level
Details
Deletes the Image file (.tif) And Processing file (.cco) of the current page's
fingerprint from the application's fingerprint directory, and its record from the
Fingerprint database.
FindBlackFingerprint
Attempts to match black forms to fingerprints in the fingerprints directory of an
application. If a match does not occur, the action responds according to the
parameters that you enter.
Syntax
(StrParam)
Parameters
Returns
False, if the action is not applied at the Page level or if the first parameter is False
and a fingerprint match does not occur. Otherwise, True.
Level
Details
If a match does not occur, the action responds according to the parameters you
enter.
Example:
AnalyzeImage()
SetSearchArea("0.5")
SetProblemValue("0.7")
SetFingerprintDir("ParentDirectory\Application\fingerprint")
FindBlackFingerprint("True,PageType")
In this sequence, the FindBlackFingerprint action uses only the first 50% of
the fingerprint to search for a match. It accepts a match of 0.7 or higher.
If no match is found, the sequence creates a new fingerprint and stores it
in the location that is specified by the SetFingerprintDir action.
If the parameter is set to False, no fingerprint is created when a match is
not found.
FindFingerprint
Attempts to match the current page to a fingerprint and creates a new fingerprint
if a match does not occur.
Syntax
(StrParam)
Parameters
False if the action is not applied at the Page level, or if the parameter is False and
a fingerprint match does not occur. Otherwise, True. If a new Fingerprint cannot be
added, the action still returns True.
Level
Details
This action attempts to match the current source page to a fingerprint, and creates
a new fingerprint if a match does not occur. Include this action after a rule's
SetSearchArea, SetProblemValue, and SetFingerprintDir actions.
Example
AnalyzeImage()
RotateImage()
RecognizePageOCR_S()
SetSearchArea("0.5")
SetProblemValue("0.7")
SetFingerprintDir("\ParentDirectory\Application\Fingerprint")
FindFingerprint("True,Invoice_Page")
In this example sequence, the FindFingerprint action uses only the first
50% of the current page to search for a match. However, it accepts a match
of 0.7 or higher. If no match is found, the sequence creates a new
fingerprint and stores it in the location that is specified by the
SetFingerprintDir action. If the parameter is set to False, a new fingerprint
is not created when there is no match.
FindTemplate
This action is replaced by FindFingerprint.
Syntax
(StrParam)
Parameters
String boolean value: True if the action is to create a new fingerprint if the current
source page does not match the target fingerprint. False if the action is not to
create a new fingerprint if there is not a match.
Returns
False if the action is not applied at the Page level. Otherwise, True.
Level
Details
Syntax
(StrParam)
Parameters
Comma-separated String values that indicate the Page Types of the Document
Hierarchy objects to be merged.
Returns
False, if a Fingerprint file (.cco) for one of the Page Types is not available.
Otherwise, True.
Level
Details
Merges the Fingerprint files (.cco) associated with Page objects of the Document
Hierarchy.
Example
MergeCCOs_ByType("Invoice_Page,Invoice_Cont")
SetApplicationID
Used with the Fingerprint Service to limit a fingerprint search to the specified
application.
Syntax
(StrParam)
Parameters
String parameter that represents unique Application ID. Smart parameters are
supported.
This value is used to retrieve a correct list of fingerprints that are loaded to the
server.
Returns
Level
Uses this action to specify unique application name, if multiple applications are
using the same Fingerprint Service.
Example
SetFingerprintWebServiceURL(http://’FPSERVERNAME’/fpservice/Service.asmx?WSDL)
SetApplicationID("1040ez")
SetFilter_HostName
Limits a fingerprint match to the specified fingerprint class only.
Syntax
(StrParam)
Parameters
The String value of the Fingerprint Class you want to use as the filter.
Returns
Always True.
Level
Page level.
Details
Sets the Fingerprint Class filter for the identification (matching) algorithm. Smart
Parameters are supported.
SetFilter_PageType
Limits a fingerprint match to the specified page type only.
Syntax
(StrParam)
Parameters
The String value of the Page Type you want to use as the filter.
Returns
Always True.
Level
Sets the Page Type Filter For the identification (matching) algorithm. Smart
Parameters are supported.
The filter will force the fingerprint-matching algorithm to use only fingerprints
associated with that Page Type.
Example
SetFilter_PageType("Invoice_Page")
SetFingerprint
Sets the class and page type after you create a new fingerprint.
Syntax
(StrParam)
Parameters
Returns
Level
Details
After the mandatory Fingerprint Class value and optional Fingerprint Class ID
have been manually assigned by a fingerprint creation task, this action places these
values into the Host table of the application's Fingerprint database - as RefName
and RefID values.
Example
SetFingerprint("@P\VendorName,@P\VendorID")
SetFingerprintDir
Specifies the Fingerprint directory of your application.
Parameters
A String value that specifies the directory's name and path. Smart parameters are
supported. A Drive ID, such as C:\, is optional.
Returns
Always True.
Level
Details
Sets the Fingerprint directory of your application. This directory contains the
application's fingerprints.
Example
SetFingerprintDir("C:\ParentDirectory\Application\Fingerprint")
SetFingerprintFailureThreshold
Specifies the percentage of fingerprint upload failures to ignore when you use the
Fingerprint web service.
Syntax
(StrParam)
Parameters
The batch aborts if the percentage of fingerprints that are failed to load exceeds
this value.
Returns
Otherwise, True.
Details
Uses this action to set the maximum number of fingerprint upload failures to
ignore. If the application has been set using the action SetApplicationID, then the
threshold will be set for that specific application only.
Example
FindFingerprint(True)
SetFingerprintFailureThreshold("10")
SetFingerprintSearchArea
Specifies the portion of the current page that is used during fingerprint matching.
Syntax
()
Parameters
string matchStart
string matchEnd
Parameters
Two parameters:
1. A decimal value from 0.01 (1%) to 1.00 (all) to indicate how much of the page
is to be matched. If the second parameter is empty the first parameter
represents the bottom of the area for matching, starting from the top of the
page. If the second parameter is not empty, the first parameter is the top or
start of the area for matching. For example, a single parameter of 0.5 indicates
that fingerprint matching is limited to the first half of the page (0 - 50%).
Decimal separators must be appropriate for the current locale. In applications
that might be used in locales with different decimal separators, use percentage
notation.
2. Optional: A decimal value from 0.01 (1%) to 1.0 (all) to indicate the end point
on the page to be used for fingerprint matching. If this parameter is supplied,
the fist parameter is the starting point. For example: if the first parameter is 0.6,
and the second parameter is 1.0, the last 40% of the page is used for fingerprint
matching (60-100%).
Attention: In both cases, you can replace a decimal value with a percentage. To
indicate that the value is a percentage, the action can use a number followed by p,
such as 50p to represent 50%.
When you are using the percentage values, the number must be a whole number
and must not contain a decimal separator. Decimal separators must be appropriate
for the current locale. In applications that are used in locales with different decimal
separators, use percentage notation.
False, if the first parameter is missing or is not numeric. Also returns False, if the
second parameter is not numeric. Otherwise, True.
Level
Details
This action uses the numeric values that you supply to determine the portion of
the current page that is used to find a matching fingerprint.
Example
SetFingerprintSearchArea("0.5","")
This example compares lines and words in the upper 50% of the current
page to the lines and words in the same portion of each fingerprint. Notice
that the second parameter is empty.
SetFingerprintSearchArea("0.5","1.0")
This example compares lines and words in the lower 50% of the current
page to the lines and words in the same portion of each fingerprint. You
can replace a parameter's decimal value with a percentage(p) or metric(m)
number.
SetFingerprintWebServiceURL
Specifies the URL that links to the Fingerprint web service.
Syntax
(StrParam)
Parameters
String value specifying the URL that is the link to the Fingerprint Web Service.
Smart parameters are supported.
Returns
Always True.
Level
All levels.
Details
Add SetFingerprintWebService URL with its single parameter to the function and
move so it is prior to SetFingerprintDir action.
Attention: this action is not effective unless the Fingerprint Service has been
installed and configured.
Example
SetFingerprintWebServiceURL("http://www.grandcorp.AR.com/fpservice/")
SetFingerprintDir("\ParentDirectory\Application\Fingerprint")
Syntax
(StrParam)
Parameters
Returns
Level
All levels.
Details
Sets the Maximum Offset value while matching source pages to fingerprints.
This action has no effect when used with the Fingerprint Service. The actual shift is
four times the maximum offset value in pixels (4 * MaxOffset). Increasing this
value improves but slows the matching process.
SetProblemValue
Uses the decimal value that you supply as a parameter to set a minimum
Matching Tolerance Rating.
Syntax
(StrParam)
Parameters
A decimal value from 0.00 (Lowest Tolerance) to 0.99 (Highest Tolerance). The
decimal separator must be appropriate for the locale.
Returns
Level
Uses the decimal value that you supply as a parameter to set a minimum
Matching Tolerance Rating.
Important: A lower rating results in lower tolerance and a greater chance for a
match, but also a greater chance for a False match.
Example
AnalyzeImage()
CreateFields()
RotateImage()
RecognizePageOCR-S()
SetSearchArea("0.5")
SetProblemValue("0.70")
SetFingerprintDir("\ParentDirectory\Application\Fingerprint")
FindFingerprint("True")
SetSearchArea
This action is replaced by SetFingerprintSearchArea.
Syntax
(StrParam)
Parameters
Details
SetTemplateDir
This action should not be used, it will be removed in future versions. This action is
replaced by SetFingerprintDir.
Syntax
(StrParam)
Parameters
String value specifying the directory's name and path. A Drive ID (such as c:\) is
optional.
Returns
Always True.
Level
UpdateFingerprintStats
Updates the fingerprint statistics in the Fingerprint database.
Syntax
()
Parameters
None.
Returns
False if called from any level other than Page level, or the Fingerprint database is
not accessible. Otherwise, True.
Level
Page level.
Details
Use this action to increment the count for the current page and update the
fingerprint statistics in the fingerprint database.
Example
UpdateFingerprintStats()
Barcode_P actions
Use the Barcode_P actions to locate and read PDF-417 barcodes.
The Barcode_P actions recognizes various barcode types, searches the page for all
barcodes and writes them to a list, and reads the value of the barcodes.
Get2DCodeBP
Recognizes PDF-417 codes.
Member of namespace
Barcode_P
Syntax
Get2DCodeBP ()
Parameters
None.
Returns
True if the action is called at the page level or field level. Otherwise, False.
Level
Details
Use this action if your page has PDF-417 codes. Any field must have a Position
assigned when bar code reading is performed. For example the application would
invoke the CreateFields action, and if the field has Position defined in the
Document Hierarchy, it is ready for barcode reading. If anchors or fingerprint
matching are used, ReadZones or other registration may be required to align the
fields correctly.
Example:
Get2DCodeBP()
GetAllBarcodesBP
Searches the current page for all barcodes and writes them to the GetBarCodeList
variable of the calling object.
Member of namespace
Barcode_P
Syntax
GetAllBarcodesBP (StrParam)
Parameters
The separator to use when storing multiple barcodes. The default separator is a
comma.
Returns
True if the action is called at the page level or field level. Otherwise, False.
In addition the calling object's value and variable GetBarCode is filled with the bar
code value. This action also stores barcode information such as confidence,
coordinates, code name, and size. If the barcode settings of the object are set to
read more than one barcode, and more than one barcode is found, barcodes are
also stored in the variable GetBarCodeX where X is the index of the barcode found.
Level
Searches all the barcodes on the current page and stores them in the GetBarCodeList
variable of the calling object. Each barcode value is separated using the string
separator value entered as a parameter.
If the engine does not detect any barcodes, then the variable GetBarCodeList is not
populated nor created.
Example:
GetAllBarcodesBP(",")
GetBarcodeBP
Recognizes arbitrary 1D or 2D codes.
Member of namespace
Barcode_P
Syntax
GetBarcodeBP ()
Parameters
None.
Returns
True, if the action is called at the page level or field level. Otherwise, False.
In addition, the calling object's value and variable GetBarCode is filled with the bar
code value. This action also stores bar code information such as confidence,
coordinates, code name, and size. If the object's bar code settings are set to read
more than one bar code, and more than one bar code is found, bar codes are also
stored in the variable GetBarCodeX where X is the index of the bar code found.
Level
Details
Use this action if your page has 1D or 2D bar codes. Any field must have a
Position assigned when bar code reading is performed. For example, the
application starts the CreateFields action, and if the field has Position defined in
the Document Hierarchy, it is ready for bar code reading. If anchors or fingerprint
matching are used, ReadZones or other registration might be required to align the
fields correctly.
To explicitly tell the engine which bar code types to be read, the field/page being
recognized contains a variable or setup property called bp_tp. If the bp_tp variable
is empty or does not exist, the engine defaults to Unknown. See the information
for Unknown in the valid bar code types.
Multiple types can be read by adding the values of their codes together.
When the bar code type is set to Patch Code, the following string values might be
returned by the engine. The string value depends on the type of Patch Code that is
found:
v Patch 1: 1100
v Patch 2: 1001
v Patch 3: 1010
v Patch 4 / Toggle Patch: 0110
v Patch 6: 0011
v Patch T / Transfer patch: 0101
GetDataMatrixCodeBP
Recognizes Data Matrix codes
Member of namespace
Barcode_P
Syntax
GetDataMatrixCodeBP ()
Parameters
None.
Returns
True if the action is called at the page level or field level. Otherwise, False.
In addition the calling object's value and variable GetBarCode is filled with the bar
code value. This action also stores barcode information such as confidence,
coordinates, code name, and size. If the object's barcode settings are set to read
more than one barcode, and more than one barcode is found, barcodes are also
stored in the variable GetBarCodeX where X is the index of the barcode found.
Level
Details
Use this action if your page or field has Data Matrix codes. Any field must have a
Position assigned when bar code reading is performed. For example the
application would invoke the CreateFields action, and if the field has Position
defined in the Document Hierarchy, it is ready for barcode reading. If anchors or
fingerprint matching are used, ReadZones or other registration may be required to
align the fields correctly.
Example:
GetDataMatrixCodeBP()
IdentifyByBarcodesBP
Updates the current page type if a barcode match is found.
Syntax
(bool IdentifyByBarcodesBP(string barcodePageMappings,
string mappingsDelim, string keyValueSep, bool caseSensitive)
string barcodePageMappings
string mappingsDelim
string keyValueSep
bool caseSensitive
Parameters
keyValueSep: (Optional) Delimiter that is used to separate the barcode value and
the page type in an individual mapping. Default: equals sign (=).
caseSensitive: (Optional) True enforces case sensitivity when you evaluate the list
of barcodes that are found on the page. Default: False.
Returns
Level
Page level
Details
This action searches all of the barcodes that are found on the current page for a
match from the provided mappings by using the GetBarCodeList variable. If a
barcode value is found, this action updates the type of the current page by using
the corresponding input mapping.
The GetAllBarcodesBP action is called if the GetBarCodeList variable does not exist.
If the GetAllBarcodesBP action was called earlier with a string parameter, use an
identical symbol for the mappingsDelim parameter.
If multiple barcode values are found, the page type that is assigned is the first
corresponding value from the GetBarCodeList variable.
Example
IdentifyByBarcodesBP(Separator=Separator_PageAttach=Attachment_Page,,,)
IdentifyByBarcodesBP(Separator=Separator_Page%Attach=Attachment_Page,%,,,)
IdentifyByBarcodesBP(Separator|Separator_Page%Attach|Attachment_Page,%,|,True)
MatchBarcodeBP
Searches all the barcodes on the current page and checks if one of them matches
the value that you entered as a parameter.
Member of namespace
Barcode_P
Parameters
Returns
True if the action is called at the page level or field level and one of the barcode
values on the page matches the parameter value. The parameter value must not be
empty. Otherwise, False.
In addition the calling object's value and variable GetBarCode is filled with the bar
code value. This action also stores barcode information such as confidence,
coordinates, code name, and size. If the object's barcode settings are set to read
more than one barcode, and more than one barcode is found, barcodes are also
stored in the variable GetBarCodeX where X is the index of the barcode found.
Level
Details
Searches all the barcodes on the current page and checks if one of the barcodes
matches the parameter value. If a match occurs, the barcode's value is placed into a
page level variable called GetBarCode. Refer to action GetBarCode for information
regarding barcode configuration in Datacap Studio.
Example:
MatchBarcodeBP("2008")
MatchBarcodePrefixBP
Searches all the barcodes on the current page and checks if one of them matches
the value that you entered as a parameter.
Member of namespace
Barcode_P
Syntax
MatchBarcodePrefixBP (StrParam)
Parameters
Returns
True if the action is called at the page level or field level and one of the barcode
values on the page matches the parameter value. The parameter value must not be
empty. Otherwise, False.
In addition the calling object's value and variable GetBarCode is filled with the bar
code value. This action also stores barcode information such as confidence,
Level
Details
Searches all the barcodes on the current page and checks if one of the barcodes
starts with the parameter value. If a match occurs, the value of the barcode is
placed into a page level variable called GetBarCode.
ReadBarCodeBP
Tests to determine if the first barcode on the current page contains the value that is
specified by the parameter.
Member of namespace
Barcode_P
Syntax
ReadBarCodeBP (StrParam)
Parameters
Returns
True if the first barcode on the page has a value that matches the parameter.
Otherwise, False.
Level
Details
Checks if the current page contains a barcode with the value specified by the
parameter. This action uses the first barcode it encounters. One possible use of this
action is to identify a document's Separator page. Refer to action GetBarCode for
information regarding barcode configuration in Datacap Studio.
Example:
ReadBarCodeBP("Separator")
SetPageType("Separator")
This example looks for a barcode with the value "Separator". If found, the second
action, a DCO action, establishes the page as a Separator page.
Syntax
(bool SetMinimumConfidenceBP(StrParam)
Parameters
An integer value that represents the minimum confidence level that is required for
barcodes that are read by the engine to be accepted. Valid values are in the range
of 1-10. The default value, when this engine is not used, is 7.
Returns
False if the confidence value cannot be set either because it is invalid or if an error
occurs or if the action is called at a level other than page or field. Otherwise, True.
Level
Details
Sets the minimum confidence level that is required for barcodes that are read by
the engine to be accepted.
Example
SetMinimumConfidenceBP(5)
GetBarcodeBP()
Barcode_X actions
Use the Barcode_X actions to locate and read the first barcode on the page.
The Barcode_X actions retrieve the first barcode on a page, searches the page for
that barcode, and reads the value of the barcode.
GetBarCode
Gets the value of the first bar code on the current page or within the current field
zone.
Member of namespace
Barcode_X
Syntax
GetBarCode ()
Parameters
None
Returns
Always True.
Details
Returns the value of any bar code within a zone. A rule set with this action can be
applied to a Page object or Field object of the Document Hierarchy.
When applied to a Page object, the action reads the first bar code that it encounters
on the page and creates a Page-level variable that is called GetBarCode, and places
the bar code's value in the variable.
When applied to the Field object of a zoned field, the action assigns the bar code's
value to the field.
v Barcode_X Datacap Studio Information: Use the Datacap Studio Zones tab to
adjust the BAR/X properties of each bar code zone for optimal recognition.
v Barcode Type: It is important to set this property to the specific type of bar code
that is expected. The default "All" searches for any 3of9, CODABAR, I2of5, Code
128, and Code 93 symbols, and returns spurious data in some cases.
v Orientation: Configures the expected orientation of the bar code. Horizontal is
the normal orientation, where the bars are vertical within the overall symbol,
which is wider than it is tall, and any printed text is below.
v Quality: This property is no longer used.
v Height / Width: This property is no longer used.
v Search Up To: The maximum number of bar codes that are expected within the
field. Default is 1.
v Remove Spaces: If set to “Yes”, any white-space characters are removed from the
final recognized string.
v Skip Recognition: If set to “Yes”, this field is skipped during recognition.
Example:
GetBarCode()
rr_Compare_Not("@VALUE, @EMPTY")
If you need to test that a barcode was read, you can use the action
rr_Compare_Not(). This example shows how to perform that test on the
field level.
MatchBarcode
Searches all the barcodes on the current page and checks if one matches the value
you enter as a parameter.
Member of namespace
Barcode_X
Syntax
MatchBarcode (StrParam)
Parameters
True if the action is called at the page level and one of the barcode values on the
page matches the parameter value. Otherwise, False.
Level
Page level.
Details
Searches all the barcodes on the current page and checks if one of the barcodes
matches the parameter value. If a match occurs, the barcode's value is placed into a
page level variable called GetBarCode. Refer to action GetBarCode for information
regarding barcode configuration in Datacap Studio.
Example
MatchBarCode("2008")
ReadBarCode
Tests to see if the first barcode on the current page contains the specified value.
Member of namespace
Barcode_X
Syntax
ReadBarCode (StrParam)
Parameters
Returns
True if the first barcode on the page has a value that matches the parameter.
Otherwise, False.
Level
Details
Checks if the current page contains a barcode with the value specified by the
parameter. This action uses the first barcode it encounters.
CC actions
Use the CC actions to connect to IBM Content Classification.
The CC actions enable Datacap applications to use the IBM Content Classification
Knowledge Base for fingerprint matching.
FindFingerprintCC
Finds the closest matching fingerprint and assigns the page type to the page.
Member of namespace
CC
Syntax
FindFingerprintCC ()
Returns
Level
Page level.
Details
This action identifies a page using the IBM Content Classification technology. This
technology analyzes the full text of pages and attempts to find match within the
Knowledge Base specified in the SetKnowledgeBaseCC action. If a match is found,
the Page type is populated with the ID of the category that was matched.
Because the matching relies on a page's full text, a full page recognition action
must be called prior to using the FindFingerprintCC action.
Example
RecognizePageOCR_S()
FindFingerprintCC()
SetKnowledgeBaseCC
Sets the name of the CC Knowledge Base to use to classify documents.
Member of namespace
CC
Syntax
SetKnowledgeBaseCC ()
Parameters
KnowledgeBaseName
Type string
Action library summaries 349
Knowledge Base name. Smart parameters are supported.
Parameters
The name of the IBM Content Classification Knowledge Base. This parameter is
required and cannot be empty.
Returns
Level
All.
Details
Sets the name of the IBM Content Classification Knowledge Base to use to classify
documents in an application.
SetLanguageCC
Sets the language used in the specified Knowledge Base.
Member of namespace
CC
Syntax
SetLanguageCC ()
Parameters
LanguageName
Type string
The name of the language used in the specified Knowledge Base
Returns
Always True.
Level
All.
SetListenerURLCC
Sets the URL of the CC Listener that is used for classification.
Member of namespace
CC
Syntax
SetListenerURLCC ()
Parameters
URL Type string
The URL of the CC Listener that will be used for classification. Smart
parameters are supported.
Returns
True if the service URL is successfully set. Otherwise, False. This action does not
test that the CC Listener exists and is running.
Level
All.
Details
This action configures the URL of the IBM Content Classification Listener that is
used for classification, and opens the connection to the IBM Content Classification
Listener.
SetProblemValueCC
Sets the minimum score for fingerprint matching.
CC
Syntax
SetProblemValueCC ()
Parameters
MinScore
Type: double
Minimum score for fingerprint matching. Valid values are fractional values
between zero and one (for example: 0.0 and 1.0)
Returns
True if the parameter value is between the valid range of zero to one (0.0 and 1.0).
Otherwise, False.
Level
All.
Details
When setting up the parameter in your application, use the decimal character from
the system locale defined for the application in the Datacap Application Manager.
For example, when the decimal character is a period, use a value from 0.0 to 1.0.
When the decimal character is a comma, use a value from 0,0 to 1,0.
UpdateKnowledgeBaseCC
Updates the CC Knowledge Base.
Member of namespace
CC
Syntax
UpdateKnowledgeBaseCC ()
Parameters
None.
Level
Page level.
Details
Although training via feedback is not recommended to build the knowledge base,
it is recommended that it is used to submit feedback on classification data returned
on a "trained" category. For instance, let us use a knowledge base that contains 5
categories, 4 of which have been trained. When FindFingerprintCC runs, it will
either return a match or no match. When a match is found, it is recommended to
provide feedback (using UpdateKnowledgeBaseCC) to the knowledge base to
assert that the classification was correct.
In conclusion, this action should be used only for documents where the
classification result was correct, and should only be used during a period of time
until the training on the knowledge base is complete.
Example
FindFingerprintCC()
UpdateKnowledgeBaseCC()
Cco2cco actions
Use the Cco2cco actions to sort and filter the words and lines in a fingerprint CCO
file.
This normalization is only required after full page recognition by an OCR or ICR
action that does not automatically normalize the CCO. The OCR/S, OCR/A, and
ICR/C actions normalize automatically.
NormalizeCCO
The NormalizeCCO action sorts and filters the words and lines in a Fingerprint file
(.cco) that are created by a Recognition engine, for use by navigation and pattern
Member of namespace
Cco2cco
Syntax
NormalizeCCO ()
Returns
Always True.
Level
Page.
Details
This action sorts the words and lines in a Fingerprint file (.cco) created by a
recognition engine, for use by navigation and pattern match actions. The action is
called by full-page recognition actions for ICR/C, OCR/S, and OCR/A. This action
must always be called before the Locate actions or the pat_RecogMatch_ID action
are used to find recognized text on a page.
In this context, the fingerprint is calculated for a particular image in a batch, not in
the Fingerprint database that contains fingerprints for various page types and
layout variations that are defined for a particular application.
There are two types of Fingerprint files. One type is based on the image geometry.
The second type is based on recognized text. The AnalyzeImage action creates a
geometric fingerprint that contains lines and words that are based only on the
black pixels in the image. Full-page recognition actions, such as
RecognizePageOCR_S, RecognizePageICR_C, RecognizePageOCR_A, create a
fingerprint that is based on the results of recognition; that is, both geometry and
text of the recognized characters, words and lines.
The full page recognition actions from the ICR_C, OCR_A, and OCR_S libraries
call NormalizeCCO() automatically unless the action CCONormalization_OFF
(from the Recog_Shared library) is called before recognition. The full page
recognition from the OCR_SR library, however, requires that NormalizeCCO() to be
called manually post recognition.
Example:
SetFingerprintRecogPriority(True)
RecognizePageOCR_S()
NormalizeCCO()
pat_RecogMatch_ID()
SetMaxCharacterHeightAVG
Sets the maximum height of characters, by percentage over the average, that is
allowed by the Cco2cco and NormalizeCCO actions.
Member of namespace
Cco2cco
Syntax
SetMaxCharacterHeightAVG (strParam)
Parameters
One or two digit Integer value sets the percent maximum height of characters
over the average to permit in the CCO. Off by default. Parameter of zero (0) or less
turns off this functionality.
Returns
Always True.
Level
Page.
Details
Example:
SetMaxCharacterHeightAVG(15)
NormalizeCCO()
SetMaxCharacterHeightTMM
Sets the maximum height of characters, by absolute value, that is allowed by the
Cco2cco and NormalizeCCO actions.
Member of namespace
Cco2cco
Syntax
SetMaxCharacterHeightTMM (strParam)
Returns
Always True.
Level
Page.
Details
Example:
SetMaxCharacterHeightTMM(75)
NormalizeCCO()
CMISClient actions
Content Management Interoperability Services (IBM CMIS) is an open standard
that CMISClient actions use to enable communication between Datacap
applications and content management systems over the internet.
CMISCreateFolder
Creates a folder on the CMIS server.
Member of namespace
CMISClient
Syntax
bool CMISCreateFolder(string cmisFolderParentPath, string cmisFolderName)
Parameters
cmisFolderParentPath
Type: string
cmisFolderName
Type: string
Parameters
v cmisFolderParentPath : The path of the parent folder.
v cmisFolderName : The name of the new folder.
Returns
All levels.
Details
Note that objects created on the CMIS server may not be immediately accessible by
the client. For example, the indexing service on your CMIS server may run on a
configured interval, so your new object may not be available until the indexing
service completes. If you are having trouble accessing newly created objects, check
the settings and documentation of your CMIS server to determine when objects
should become available.
Example:
CMISCreateFolder("/MyParent","MyNewFolder")
CMISDeleteFile
Deletes a file on the CMIS server.
Member of namespace
CMISClient
Syntax
bool CMISDeleteFile(string cmisFilePath, bool ignoreFailure)
Parameters
cmisFilePath
Type: string
ignoreFailure
Type: bool
Parameters
v cmisFilePath : The file to delete on the CMIS server. Smart parameters are
supported.
v ignoreFailure : Set to True to ignore any failure so the action will always return
True.
Returns
If ignoreFailure is True, the action always returns True, even if the file could not be
deleted. If ignoreFailure is False, returns True if the file is deleted, otherwise False
is returned.
Level:
All levels.
Details
A delete failure can be ignored by using the ignoreFailure parameter. This allows
actions to continue even if the delete should fail.
Example:
CMISDeleteFile("/MyFolder/MyDoc.txt", false)
This always returns true, even if the file could not be deleted.
CMISDeleteFolder
Deletes a folder on the CMIS server.
Member of namespace
CMISClient
Syntax
bool CMISDeleteFolder(string cmisDirectoryPath, bool ignoreFailure)
Parameters
cmisDirectoryPath
Type: string
ignoreFailure
Type: bool
Parameters
v cmisDirectoryPath : The path of the folder to delete. Smart parameters are
supported.
v ignoreFailure : Set to True to ignore any failure so the action will always return
True.
Returns
If ignoreFailure is True, the action always returns True, even if the folder could not
be deleted. If ignoreFailure is False, the action will return True if the directory is
deleted, otherwise False is returned.
Level
All levels.
Details
The folder must be empty for the delete to be successful. Some, but not all, CMIS
repositories have the notion of a "soft" delete where the deletion is performed at a
later time. You should assume that once the object is deleted, that it is deleted
forever. If an object is deleted, it can only be restored if the repository provides a
mechanism to restore the object.
CMISDoesFileExist
Tests that a file exists on the CMIS server.
Member of namespace
CMISClient
Syntax
bool CMISDoesFileExist(string cmisFilePath, bool existenceResult)
Parameters
cmisFilePath
Type: string
existenceResult
Type: bool
Parameters
v cmisFilePath : The document and path to test for existence. Smart parameters are
supported.
v existenceResult : If True the action will return True when the file exists,
otherwise False is returned. If False the action will return false if the file exists,
otherwise True is returned.
Returns
existenceResult if True, then return True if file exits. If False, return True if file
does not exist.
Level
All levels.
Details
This action tests that the provided file exists in the connected CMIS repository.
This action can be configured to return true if the file exists or return true if the
file does not exist.
Example:
CMISDoesFolderExist("/MyFolder/MyDoc.txt", True)
CMISDoesFolderExist
Tests that a folder exists on the CMIS server.
Member of namespace
CMISClient
Syntax
bool CMISDoesFolderExist(string cmisDirectoryPath, bool existenceResult)
Parameters
cmisDirectoryPath
Type: string
existenceResult
Type: bool
Parameters
v cmisDirectoryPath : The folder and path to test for existence. Smart parameters
are supported.
v existenceResult : If True the action will return True when the folder exists,
otherwise False is returned. If False the action will return False if the folder
exists, otherwise True is returned.
Returns
existenceResult if True, then returns True if folder exits. If False, returns True if
directory does not exist.
Level
All levels.
Details
Tests that the provided directory path exists in the connected CMIS repository. This
action can be configured to return true if the folder exists or return true if the
folder does not exist.
Example:
CMISDoesFolderExist("/MyFolder/AnotherFolder", True)
CMISDownloadFile
Download a file that is on the CMIS server to a local hard disk.
CMISClient
Syntax
bool CMISDownloadFile(string cmisFileToDownload, string fullFileNameTarget)
Parameters
cmisFileToDownload
Type: string
fullFileNameTarget
Type: string
Parameters
v cmisFileToDownload : The file, with the full path, to download from the CMIS
repository.
v fullFileNameTarget : The path and file name for the downloaded file. Smart
parameters are supported for all parameters.
Returns
Level:
All levels.
Details
Downloads a file from the CMIS repository to a local hard disk. The file in the
repository is not changed. If the target file exists, it is overwritten.
Example:
CMISDownloadFile("/MyCMISDir/MyCMISFile.txt", "c:\MyLocalDir\MyLocalFile.txt")
CMISLogDocumentTypes
Logs the document types defined on the CMIS server.
Member of namespace
CMISClient
Syntax
bool CMISLogDocumentTypes()
Parameters
None.
Returns
Always True.
All levels.
Details
This action will query the CMIS server and log all of the server defined document
types to the RRS log, providing that logging is enabled. This is a diagnostic action
and is not intended for use in a production environment, nor is it supported in a
production environment. CMISLogin must be called prior to this action.
CMISLogin
Supply login credentials and connect to the CMIS server.
Member of namespace
CMISClient
Syntax
bool CMISLogin (string atomPubURL, string userID, string password,
string repositoryID)
Parameters
atomPubURL
Type: string
userID
Type: string
password
Type: string
repositoryID
Type: string
Parameters
v atomPubURL : The AtomPub URL for your CMIS compatible repository.
v userID : The logon user ID.
v password : The password.
v repositoryID: Optionally specify the CMIS repository ID.
Returns
All levels.
Details
The password is obtained from the application service and is set by using
the Application Manager.
CMISLogin("http://localhost:8080/alfresco/service/api/cmis",
"MyUserID","@APPVAR(values/adv/cmispassword)","MyRepositoryID")
CMISRefreshClientCache
Refreshes the client-side cache.
Member of namespace
CMISClient
Syntax
bool CMISRefreshClientCache(string milliseconds)
Parameters
milliseconds
Type: string
Parameters
milliseconds : Refreshes the object local cache if it is older than the specified
number of milliseconds. A value of 0 refreshes immediately. A value of -1 disables
this refresh feature and the CMIS interface manages the cache itself. By default,
this refresh is disabled. Smart parameters are supported.
Returns
Always True.
Level
All levels.
Details
CMIS client-side caching first checks the session cache, if an object exists in the
client cache. If the required object is found, that object is used without contacting
the repository. It is possible that it might be a stale object.
Typically this action does not need to be called. It can be called when a specific
application requires a cache refresh. If this action is not called, the CMIS interface
manages the cache as appropriate.
Note: Objects that are created on the CMIS server might not be immediately
accessible by the client. For example, the indexing service on your CMIS server
might run on a configured interval, so a new object might not be available until
the indexing service completes. This refresh setting does not affect components on
the CMIS server, such as the indexing service interval. If you have trouble
accessing newly created objects, check the settings and documentation of your
CMIS server to determine when objects become available.
Example:
CMISRefreshClientCache("1000")
CMISSetDocUploadProperty
Sets the value of a property that belongs to the file that is uploaded.
Member of namespace
CMISClient
Syntax
bool CMISSetDocUploadProperty(string cmisDocProperyName, string cmisDocProperyValue,
string valueType, bool isMulti)
Parameters
cmisDocProperyName
Type: string
cmisDocProperyValue
Type: string
valueType
Type: string
isMulti
Type: bool
Parameters
v cmisDocProperyName : The name of the CMIS property to set.
v cmisDocProperyValue : The value of the specified property.
v valueType : The CMIS type of the value. Must be string, integer, datetime, or
boolean.
v isMulti : True, if the CMIS type is a multi-value type. False, if the CMIS type is
single.
False, if the property cannot be set or the datetime parameter cannot not be
processed. Otherwise, True.
Level
All levels.
Details
This action sets a value to the specified property for files or pages that are
uploaded to the CMIS repository. Use of this action is optional. Standard CMIS
properties are of the form CMIS:xxx. By convention, custom CMIS properties do
not use the CMIS: prefix.
For a Boolean property type, the value must be either True or False.
The datetime type accepts an input string that specifies just the date or the date
and time. The application attempts to parse the input date format based on the
current locale. The action uses the locale set in the Application Service / hr_locale
variable. If that is not set, the current OS locale is used to interpret the date/time.
The action attempts to ignore unrecognized data, if possible. If the month, day, or
year is missing, it attempts to use the values from the current date. If a time is not
specified, then the time is set to 12:00 midnight. It is recommended to provide the
full short date in the correct format for the current locale, and a full 4-digit year, to
reduce the chance of the action guessing values incorrectly. Only Gregorian short
date formats are supported.
This example uses a predefine custom document type and then sets the
author and title properties of the uploaded file.
CMISSetDocUploadType
Sets the type of the file that will be uploaded.
CMISClient
Syntax
bool CMISSetDocUploadType(string cmisDocType)
Parameters
cmisDocType
Type: string
Parameters
cmisDocType : The document type of the uploaded file. Smart parameters are
supported.
Returns
Level
All levels.
Details
This action sets the CMIS document type for the file that will be subsequently
uploaded in a following upload action. Use of this action is optional. If it is not
called, the value of cmis:document is used. To set the document type, this action
must be called before CMISUploadFile or CMISUploadPage.
Standard CMIS properties are of the form CMIS:xxx. By convention, custom CMIS
properties should not use the CMIS: prefix. Calling this action with an empty
string, will reset the value back to the default cmis:document type. Once the
upload is complete, the document type is reset to the default value and this action
will need to be called again to set a custom value for another upload.
If the specified upload type is invalid or not defined on your CMIS server, an error
will occur in the upload action.
Example:
SetCMISDocUploadType("cmisbook:poem")
SetCMISDocUploadProperty("cmisbook:author", "Edgar Allan Poe")
SetCMISDocUploadProperty("cmisbook:poemtitle", "The Raven")
CMISUploadPage("MyFile.txt", "/MyCMISDir", "text/plain")
This example uses a predefined custom document type and then sets the
custom author and title properties of the uploaded file.
CMISSetVersion
Sets the version type of the file that is uploaded.
Member of namespace
CMISClient
Parameters
cmisVersion
Type: string
Parameters
Returns
Always returns True. If the specified type is invalid or if a CMIS connection is not
established, the version type defaults to None.
Level
All levels.
Details
Call this action before the CMISUploadFile action to set the version type of the
uploaded file. The support for versions depends on the target repository. Check
your repository documentation to determine which version types it supports when
you are using the CMIS interface. The supported types might also vary based on
the specific version configuration settings of your repository. This action is
optional. If this action is not called, then the version type of None is used for
uploaded files.
Example:
CMISSetVersion("Major")
CMISUploadFile("C:\MyDir\"MyFile.txt","MyFile.txt","/MyCMISDir","text/plain")
CMISUploadFile
Upload a file to the CMIS server.
Member of namespace
CMISClient
Syntax
bool CMISUploadFile(string fullyQualifiedFileName, string cmisUploadedName,
string cmisUploadDirectory, string mimeType)
Parameters
fullyQualifiedFileName
Type: string
cmisUploadedName
Type: string
Parameters
v fullyQualifiedFileName : The file name to upload with the full path specified.
v cmisUploadedName : The wanted final name of the file in the repository.
v cmisUploadDirectory : The full path for the folder within the repository where
the file is stored.
v mimeType : The mime type of the uploaded file.
Returns
Level
All levels.
Details
This action uploads a file to the configured repository. You can optionally set
properties of the uploaded file using the actions CMISSetDocUploadProperty and
CMISSetDocUploadType.
Note: Objects that are created on the CMIS server might not be immediately
accessible by the client. For example, the indexing service on your CMIS server
might run on a configured interval, so your new object might not be available until
the indexing service completes. If you are not able to access newly created objects,
check the settings and documentation of your CMIS server to determine when
objects are available.
The uploaded file is placed into the \MyCMISDir folder and be given the
mime type of text/plain.
CMISUploadPage
Upload the current DCO page to the CMIS server.
Member of namespace
CMISClient
Syntax
bool CMISUploadPage(string cmisUploadedName, string cmisUploadDirectory,
string mimeType)
Parameters
v cmisUploadedName : The desired final name of the file in the repository.
v cmisUploadDirectory : The full path for the folder within the repository where
the file will be stored.
v mimeType : The mime type of the uploaded file.
Returns
Level
All levels.
Details
This action uploads the current DCO page to the configured repository.
Note: Objects created on the CMIS server may not be immediately accessible. For
example, the indexing service on your CMIS server may run on a configured
interval, so your new object may not be available until the indexing service
completes. If you are having trouble accessing newly created objects, check the
settings and documentation of your CMIS server to determine when objects should
become available.
A record of uploaded files will be placed in the file UploadRecord.xml in the batch
directory.
Example:
SetCMISDocUploadType("cmisbook:poem")
SetCMISDocUploadProperty("cmisbook:author", "Edgar Allan Poe")
SetCMISDocUploadProperty("cmisbook:poemtitle", "The Raven")
CMISUploadPage("MyFile.txt", "/MyCMISDir", "text/plain")
This set of actions sets property values of the page that will be uploaded,
then uploads the page. The current page is placed into the \MyCMISDir
folder and be given the mime type of text/plain.
ColorToBW actions
Use the ColorToBW actions to change the color depth of an image.
The ColorToBW actions can specify the color-to-BW conversion settings and change
the color depth of an image according to these conversion settings.
Syntax
(sParam)
Parameters
C2BW_Convert always produces a TIF image. If the source image has a TIF
extension, use this parameter to provide an extension to use for a backup of the
original file.
If not provided, the parameter defaults to tio. If the source image does not have a
TIF extension, this parameter is ignored and use a TIF extension and the original
image name will not be changed.
Returns
Always True.
Level
All Levels.
Details
Changes the color depth of an image based on a set of defined attributes, creating
a new TIF image.
If action C2BW_SetAttributes is not called first, a black and white image will be
created.
If called at the batch level converts all images. If called at the document level,
images within the document are converted. If called on the page, or field level the
page is converted.
The supported input image formats are TIF (including LZW compression), PNG,
BMP and JPG.
Example
C2BW_SetAttributes("1","0","3")
C2BW_Convert("tic")
C2BW_SetAttributes
Specifies the color-to-BW conversion settings.
Syntax
()
string BitsPerPixel
string Palette
string Dither
Parameters
Returns
Always True.
Level
All levels.
Details
Convert actions
Use the Convert actions to convert various electronic document files into TIFF
image files.
The convert actions can convert files from these formats; Microsoft Excel. HTML,
Microsoft Outlook, PDF, RTF, Text, Microsoft Word.
Common actions
Use the Common actions to define the properties that are used by all of the
conversion libraries for exception handling.
The default behavior is to abort the batch. But you can enable continuing to run
the batch after a failure to increment a variable or to raise a task condition if
workflow routing is configured.
ExceptionSetFileTypes:
Member of namespace
Convert
Syntax
bool ExceptionSetFileTypes(string types)
Parameters
types Type: string
A comma delimited list of the file extensions to monitor.
Returns
Always True.
Level
Any level.
Details
Sets one or more file types to be monitored for special exception handling.
Unspecified file types that encounter processing failures cause an abort without
any further action. If this action is not called or the parameter is blank, then all file
types are monitored.
Example:
ExceptionSetHandler(1)
ExceptionSetFileTypes(.pdf,.doc,.docx,.xls,.xlsx,.txt)
ExceptionSetHandler:
Sets the type of exception handling to use during a batch processing failure.
Member of namespace
Convert
Syntax
bool ExceptionSetHandler(int handler)
Parameters
handler
Type: integer
The type of exception handler.
Returns
Level
Any level.
Details
Use this action to change or reset the abort behavior that is caused by conversion
failures. Avoiding aborts can be useful when an external workflow process is
already in place.
Example:
ExceptionSetHandler(0)
ExceptionSetVariableName:
Member of namespace
Convert
Syntax
bool ExceptionSetVariableName(string varName)
Parameters
varName
Type: string
The variable to increment. Smart parameters are supported.
Returns
Always True.
Level
Any level.
Details
ExceptionSetTaskCondition:
Member of namespace
Convert
Syntax
bool ExceptionSetTaskCondition(int taskCondition)
Parameters
taskCondition
Type: integer
A zero-based task condition index.
Returns
Always True.
Level
Any level.
Details
SetNamePattern:
Member of namespace
Convert
Syntax
bool SetNamePattern(string PatternType)
Parameters
PatternType
Type: string
A single positive numeric value.
Value of 1 or 2.
v 1: Uses the default AlphaDecimal pattern, which consists of 4 pairs of 2
characters from 01 to ZZ.
v 2: Uses a TMxxxxxx pattern where xxxxxx is a number from 000001 to 999999.
Returns
Level
Any level.
Details
Excel actions
Use the Excel actions to convert a Microsoft Excel document file into TIFF image
files.
The Excel actions can resize columns or rows from a table, set page orientation,
create blank pages, and print grid lines when you convert documents from Excel.
Restriction: The actions in the following table work with files from Excel 2000 or
later.
ExcelAutoFitColumns:
Sets the automatic sizing of all columns for Excel Workbook converted to TIFF.
Member of namespace
Convert
Syntax
ExcelAutoFitColumns ()
Parameters
autoFitColumns
Type: bool
Parameters
autoFitColumns : A Boolean value that enables and disables the automatic sizing of
columns in an Excel file.
True: The columns are set to automatically adjust the size based on the content.
Returns
Always True.
Level
Page level.
Details
This enables the auto sizing of columns to shrink or increase the size of the column
to fit all of the data within the column. This action must be called before
ExcelWorkbookToImage. If this action is not called, the setting that was saved in
the original Excel file is used.
Example:
ExcelAutoFitColumns("False")
ExcelWorkbookToImage()
ExcelAutoFitRows:
Sets the automatic sizing of all rows for Excel Workbook converted to TIFF.
Member of namespace
Convert
Syntax
ExcelAutoFitRows ()
Parameters
autoFitRows
Type: bool
Parameters
autoFitRows : A Boolean value that enables and disables the automatic sizing of
rows in an Excel file.
True: The rows are set to automatically adjust the size based on the content.
Returns
Always True.
Level
Page level.
This enables the auto sizing of rows to shrink or increase the size of the row to fit
all of the data within the row. This action must be called before
ExcelWorkbookToImage. If this action is not called, the setting that was saved in
the original Excel file will be used.
Example:
ExcelAutoFitRows("False")
ExcelWorkbookToImage()
ExcelOrientationToLandscape:
Member of namespace
Convert
Syntax
ExcelOrientationToLandscape ()
Parameters
None.
Returns
Always True.
Level
Page level.
Details
The TIFF files created from ExcelWorkbookToImage will all be created with a
landscape orientation. This action must be called before ExcelWorkbookToImage. If
this action is not called, the portrait / landscape setting that was saved in the
original Excel file is used.
Example:
ExcelOrientationToLandscape()
ExcelWorkbookToImage()
ExcelOrientationToPortrait:
Member of namespace
Convert
Syntax
ExcelOrientationToPortrait ()
None.
Returns
Always True.
Level
Page level.
Details
The TIFF files created from ExcelWorkbookToImage will all be created with a
portrait orientation. This action must be called before ExcelWorkbookToImage. If
this action is not called, the portrait / landscape setting that was saved in the
original Excel file is used.
Example:
ExcelOrientationToPortrait()
ExcelWorkbookToImage()
ExcelPrintBlankPage:
Determines if blank pages are created when converting Excel Workbook to TIFF.
Member of namespace
Convert
Syntax
ExcelPrintBlankPage ()
Parameters
blankPage
Type: bool
Parameters
blankPage : A Boolean value that enables or disables creation of blank TIFFs when
there is a blank Excel page.
Returns
Always True.
Level
Page level.
ExcelPrintGridlines:
Member of namespace
Convert
Syntax
ExcelPrintGridlines ()
Parameters
gridlines
Type: bool
Parameters
gridlines : A Boolean value that determines if gridlines are displayed in Excel files
converted to TIFF.
Returns
Always True.
Level
Page level.
Details
The TIFF files created from ExcelWorkbookToImage will all use the specified grid
setting when converted to TIFF. This action must be called before
ExcelWorkbookToImage. If this action is not called, the grid line setting that was
saved in the original Excel file is used.
Example:
ExcelPrintGridlines("False")
ExcelWorkbookToImage()
ExcelPrintQuality:
Convert
Syntax
ExcelPrintQuality ()
Parameters
dpi Type: int
Parameters
dpi : A single positive numeric value for the dots per inch (dpi) of the output
image.
Returns
Level
Page level.
Details
Sets the resolution of the output image for ExcelWorkbookToImage. If this action is
not called, the default value of 200 dpi will be used. Typically, input documents for
recognition are 200 dpi.
Example:
ExcelPrintQuality(200)
ExcelWorkbookToImage()
ExcelScalingFactor:
Member of namespace
Convert
Syntax
ExcelScalingFactor ()
Parameters
percent
Type: int
Parameters
percent: A positive integer that controls the scaling by percentage used when
converting an Excel Workbook to TIFF. For example, a value of 100 means to print
at 100%.
Always True.
Level
Page level.
Details
The TIFF files created from ExcelWorkbookToImage will all use the specified
printing scale value when converted to TIFF. This action must be called before
ExcelWorkbookToImage. If this action is not called, the scaling factor that was
saved in the original Excel file is used.
Example:
ExcelScalingFactor(100)
ExcelWorkbookToImage()
ExcelTiffCompression:
Member of namespace
Convert
Syntax
ExcelTiffCompression ()
Parameters
tiffCompression
Type: string
Parameters
Returns
Always True.
Level
Page level.
Details
ExcelWorkbookToImage:
Converts a page with *.xls or *.xlsx file to a page or pages in TIFF format.
Member of namespace
Convert
Syntax
ExcelWorkbookToImage ()
Parameters
None.
Returns
False if the current page is not an Excel Workbook or if there is a failure in the
conversion.
Level
Page level.
Details
If the current page is an Excel Workbook, the file is converted to multiple TIFF
files, one TIFF file for each page within the Workbook, based on the settings of the
other Excel actions that configure the conversion settings.
Each new TIFF also has a new page created within the application environment
which can be processed by subsequent rules. The original file name from which the
page was extracted is stored in the ParentImage variable, for possible future
reference within your application.
If the configured output image format and compression only supports black and
white, such as CCITT4, colored text is exported as black and background shading
is set to white.
Example:
ExcelPrintQuality(200)
ExcelTiffCompression(CCITT4)
ExcelPrintBlankPage(False)
ExcelWorkbookToImage()
Html actions
Use the Html actions to convert an image file from HTML format to TIFF for
recognition processing by Datacap.
HtmlPrintQuality:
Member of namespace
Convert
Syntax
HtmlPrintQuality ()
Parameters
dpi Type: int
A single positive numeric value for the dots per inch (dpi) of the output
image.
Returns
Level
Page level.
Details
Sets the resolution of the output image for HtmlToImage. If this action is not
called, the default value of 200 dpi is used. Typically, input documents for
recognition are 200 dpi.
Example:
HtmlPrintQuality(200)
HtmlDocumentToImage()
HtmlTiffCompression:
Member of namespace
Convert
Syntax
HtmlTiffCompression ()
Parameters
tiffCompression
Type: string
A parameter of one of the following values to set the TIFF compression:
Returns
Always True.
Level
Page level.
Details
Sets the compression of the output image from HtmlToImage. If this action is not
called, the default value of CCITT4 is used. Typically, input documents for
recognition are black and white with fax compression.
Example:
HtmlTiffCompression(CCITT4)
HtmlToImage()
HtmlToImage:
Converts a page with *.htm or *.html file to a page or pages in TIFF format.
Member of namespace
Convert
Syntax
HtmlToImage ()
Parameters
None.
Returns
False if the current page is not an Html Document or if there is a failure in the
conversion.
Level
Page level.
If the current page is an Html Document, the file is converted to multiple TIFF
files, one TIFF file for each page within the Document, based on the settings of the
other Html actions that configure the conversion settings.
Each new TIFF also has a new page created within the application environment
which can be processed by subsequent rules. The original file name from which the
page was extracted is stored in the ParentImage variable, for possible future
reference within your application.
If the configured output image format and compression only supports black and
white, such as CCITT4, colored text is exported as black. Html table borders will
not be rendered onto output images.
Example:
HtmlPrintQuality(200)
HtmlTiffCompression(CCITT4)
HtmlToImage()
Images actions
Use the Images actions to convert various image formats into a black and white
TIFF image file for recognition processing by Datacap.
The Images actions can specify default DPI settings and image type file extensions
for the images that you want to convert to TIFF.
ImageDefaultDPI:
Sets the default dpi (dots per inch) when converting images that do not have an
embedded dpi value.
Member of namespace
Convert
Syntax
ImageDefaultDPI ()
Parameters
X Type: short
Horizontal dpi (X axis). A positive numeric value normally ranging from
96 to 300
Y Type: short
Vertical dpi (Y axis). A positive numeric value normally ranging from 96 to
300
Returns
False if there is a failure to set the default X or Y dpi value. Otherwise True.
Level
Page level.
Sets the default dpi to use when converting color or grayscale images to TIFF
when the source image does not have a dpi value.
Example:
ImageFileTypesToConvert(".jpg,.jpeg,gif,bmp")
ImageDefaultDPI("200","200")
ImageMonoType(4)
ImageMonoThreshold(9)
ImageToTIFF()
ImageFileTypesToConvert:
Member of namespace
Convert
Syntax
ImageFileTypesToConvert ()
Parameters
fileextensions
Type: string
A CSV string of file extensions that defines the image types that will be
converted.
Parameters
fileextensions : A CSV string of file extensions that defines the image types that
will be converted.
Returns
Always True.
Level
Page level.
Details
Sets the file extension values of image types to convert to TIFF. The file types of
JPEG, BMP, PNG, TIFF and GIF are supported. A period prefixing the extension is
allowed, but not required. Because TIFF is supported, it is possible to use this
action to convert a color TIFF to a Black and White TIFF.
Sets the threshold value when converting Image to 1 bit tiff using threshold type
conversion.
Member of namespace
Convert
Syntax
ImageMonoThreshold ()
Parameters
thresh Type: short
A positive numeric value from 1 to 255.
Parameters
Returns
Always True.
Level
Page level.
Details
Sets the B/W conversion algorithm value to use when converting color or grey
scale images to TIFF with the Threshold method option.
Example:
ImageFileTypesToConvert(".jpg,.jpeg,gif,bmp")
ImageMonoType(4)
ImageMonoThreshold(9)
ImageToTIFF()
ImageMonoType:
Sets the method to use when converting color images to black and white tiffs.
Member of namespace
Convert
Syntax
ImageMonoType ()
Parameters
Mono Type: int
Returns
Always True.
Level
Page level.
Details
Sets the black and white conversion algorithm to use when converting color or
grayscale images to TIFF. If you are using the threshold method, you must also call
the ImageMonoThreshold action prior to converting the image with ImageToTIFF.
For best results, you may need to experiment with the different types of images
that you are expecting to process and select the conversion method that gives you
the best results. If the resulting TIFF images are going to be used in a subsequent
recognition process, pick the technique that works best to output dark, solid
characters with as little background noise, or dithering around the characters, as
possible.
Example:
ImageFileTypesToConvert(".jpg,.jpeg,gif,bmp")
ImageMonoType(1)
ImageToTIFF()
ImageToTIFF:
Member of namespace
Convert
Syntax
ImageToTIFF ()
None.
Returns
False if the current page is not a supported Image type or if there is a failure in
the conversion.
Level
Page level.
Details
If the current page is an Image, the file will be converted to a single TIFF file.
ImageFileTypesToConvert must be used along with ImageToTIFF. Only the image
types set by a previous call to ImageFileTypesToConvert is converted to a TIFF. No
images are converted if ImageFileTypesToConvert has not been set.
Each TIFF will also have a new page created within the application environment
which can be processed by subsequent rules. The original file name from which the
page was extracted is stored in the ParentImage variable, for possible future
reference within your application.
Example:
ImageFileTypesToConvert(".jpg,.jpeg,gif,bmp")
ImageToTIFF()
Outlook actions
Use the Outlook actions to convert the text of a Microsoft Outlook message file to
a TIFF image file and save any attachments to disk. Saved attachments can then be
processed as needed by subsequent actions.
The Outlook actions can specify the image resolution and the compression
algorithm that is used when you convert from Outlook to TIFF.
OutlookMessageToAttachmentOnly:
Extracts attachments from *.msg or *.eml to pages without converting the MSG to
a TIFF.
Member of namespace
Convert
Syntax
OutlookMessageToAttachmentOnly ()
Parameters
None.
True, if the attachments are successfully extracted from the message, or if the
message contains no attachments.
False, if the current page is not an Outlook Message or if there is a failure in the
conversion.
If the number of input files/pages exceeds the maximum that is allowed or if there
is a failure in the conversion, the batch is set to abort.
Level
Page level.
Details
If the current page is an Outlook Message, the attachments within the message are
saved as separate files.
Each attachment or embedded image within the email is removed from the email
and placed on disk. A new page entry is created for each attachment that can be
processed by subsequent rules. The original file name from which the page was
extracted will be stored in the ParentImage variable, for possible future reference
within your application.
Example:
OutlookMessageToAttachmentOnly()
OutlookMessageToImageAndAttachment:
Member of namespace
Convert
Syntax
OutlookMessageToImageAndAttachment ()
Parameters
None.
Returns
False if the current page is not an Outlook Message or if there is a failure in the
conversion.
Page level.
Details
If the current page is an Outlook Message, the file is converted to multiple TIFF
files, one TIFF file for each page within the Message, based on the settings of the
other Outlook actions that configure the conversion settings. A copy of the original
MSG file without attachments is created and converted to TIFF as well.
Each new TIFF also has a new page created within the application environment
which can be processed by subsequent rules. The original file name from which the
page was extracted is stored in the ParentImage variable, for possible future
reference within your application.
Each attachment or embedded image within the e-mail is removed from the e-mail
and placed on disk. A new page entry will be created for each attachment that can
be processed by rules.
If the configured output image format and compression only supports black and
white, such as CCITT4, colored text is exported as black.
Example:
OutlookPrintQuality(200)
OutlookTiffCompression("CCITT4")
OutlookMessageToImageAndAttachment()
OutlookPrintQuality:
Member of namespace
Convert
Syntax
OutlookPrintQuality ()
Parameters
dpi Type: int
Parameters
dpi : A single positive numeric value for the dots per inch (dpi) of the output
image.
Returns
Level
Page level.
OutlookTiffCompression:
Member of namespace
Convert
Syntax
OutlookTiffCompression ()
Parameters
tiffCompression
Type: string
Parameters
Returns
Always True.
Level
Page level.
Details
Pdf actions
Use the Pdf actions to convert an image file from PDF format to TIFF for
recognition processing by Datacap.
PDFBitDepth:
Member of namespace
Convert
Syntax
PDFBitDepth ()
Parameters
p_iVal Type: int
Parameters
Returns
Always True.
Level
Page level.
Details
Sets the bit depth for the output TIFF. The number of bits determine the color
capacity of an image. If this action is not called, a default value of 1 is used. This
action must be called before PDFDocumentToImage.
Example:
PDFBitDepth(1)
PDFDocumentToImage()
PDFCompression:
Member of namespace
Convert
Syntax
PDFCompression ()
Parameters
Returns
Always True.
Level
Page level.
Details
PDFConversionMethod:
Member of namespace
Convert
Syntax
PDFConversionMethod ()
Parameters
p_iVal Type: int
Parameters
Always True.
Level
Page level.
Details
There are two methods that are can be used to convert a PDF to TIFF. The first
method is slightly faster. The second method gives better results. If this action is
not called, PDFDocumentToImage uses the second method by default, which
produces a more accurate output TIFF.
Example:
PDFBitDepth(1)
PDFConversionMethod(2)
PDFDocumentToImage()
PDFDocumentToImage:
Member of namespace
Convert
Syntax
PDFDocumentToImage ()
Parameters
None.
Returns
False if the current page is not a PDF or if there is a failure in the conversion.
Level
Page level.
Details
If the current page is a PDF, the file will be converted to multiple TIFF files, one
TIFF file for each page within the document.
Each new TIFF also has a new page created within the application environment
which can be processed by subsequent rules. The original file name from which the
page was extracted is stored in the ParentImage variable, for possible future
reference within your application.
PDFGrayscale:
Member of namespace
Convert
Syntax
PDFGrayscale ()
Parameters
p_bVal
Type: bool
Parameters
Returns
Always True.
Level
Page level.
Details
Sets the PDF conversion to TIFF so the output images are grayscale. This action
must be called before PDFDocumentToImage. If this action is not called, a default
value of False is used by PDFDocumentToImage.
Example:
PDFGrayscale(True)
PDFDocumentToImage()
PDFHorizontalResolution:
Member of namespace
Convert
Syntax
PDFHorizontalResolution ()
Parameters
p_iVal : A positive numeric value for the horizontal resolution in dots per inch
(DPI).
Returns
Always True.
Level
Page level.
Details
Sets the horizontal resolution for PDF conversion to TIFF. It is recommended that
the horizontal and vertical resolutions be kept the same, creating an isotropic
image. If this action is not called, the default resolution of 200 is used. This action
must be called before PDFDocumentToImage.
Example:
PDFBitDepth(1)
PDFHorizontalResolution(200)
PDFVerticalResolution(200)
PDFDocumentToImage()
PDFQuality:
Member of namespace
Convert
Syntax
PDFQuality ()
Parameters
p_iVal Type: int
Parameters
p_iVal : A positive numeric value between 0 and 100 that determines the image
quality. 100 is the highest quality.
Returns
Always True.
Level
Page level.
This determines the quality of the output TIFF. Choosing a higher value will give
you a better output TIFF, but will increase processing time. This action must be
called before PDFDocumentToImage. If PDFQuality is not called, the default value
of 100 is used.
Example:
PDFBitDepth(1)
PDFQuality(100)
PDFDocumentToImage()
PDFVerticalResolution:
Member of namespace
Convert
Syntax
PDFVerticalResolution ()
Parameters
p_iVal Type: int
Parameters
p_iVal : A positive numeric value for the vertical resolution in dots per inch (DPI).
Returns
Always True.
Level
Page level.
Details
Sets the vertical resolution for PDF conversion to TIFF. It is recommended that the
horizontal and vertical resolutions be kept the same, creating an isotropic image. If
this action is not called, the default resolution of 200 is used. This action must be
called before PDFDocumentToImage.
Example:
PDFBitDepth(1)
PDFHorizontalResolution(200)
PDFVerticalResolution(200)
PDFDocumentToImage()
PdfFRE actions
Use the PdfFRE actions can use the Abbyy FineReader Engine to convert an image
file from PDF format to TIFF for recognition processing by Datacap.
PDFConversionMode:
Member of namespace
Convert
Syntax
bool PDFConversionMode(int mode)
Parameters
mode Type: int
The conversion mode.
Parameters
0: Preserve the color in images. Default. The default Black and White, Color, and
Gray image compression is used unless it is changed by using the
SetCompression() method.
1: Convert all images to Black and White. The default Black and White image
compression is used unless it is changed by using the SetCompression() method.
Returns
Always True.
Level
Any level.
Details
Sets the default image compression mode to use for black and white, gray, and
color images.
Example:
PDFImageCompression(0,16)
PDFImageCompression(1,33)
PDFImageCompression(2,32)
PDFConversionMode(1)
PDFDocumentToImage()
PDFDocumentToImage:
Convert
Syntax
bool PDFDocumentToImage()
Parameters
None
Returns
False if the current page is not a supported image type or if there is a failure in
the conversion.
If the number of input files/pages exceeds the maximum number that is allowed
or if there is a failure in the conversion, the batch is set to abort.
Level
Page level.
Details
If the current page is a PDF, the file is converted to multiple TIFF files, one TIFF
file for each page in the document.
A new page is created in the application environment for each new TIFF file,
which can be processed by subsequent rules. The original file name from which the
page was extracted is stored in the ParentImage variable for future reference in your
application.
Example:
PDFDocumentToImage()
PDFImageCompression:
Sets the default image compression to use for black and white, gray, and color
images.
Member of namespace
Convert
Syntax
bool PDFImageCompression(int ImageType, int compression)
Parameters
imageType
Type: int
The applicable image type.
Parameters
Always True.
Level
Any level.
Details
Sets the default image compression to use for black and white, gray, and color
images.
Example:
PDFImageCompression(0,16)
PDFImageCompression(1,33)
PDFImageCompression(2,32)
PDFConversionMode(1)
PDFDocumentToImage()
PDFImageFileExtension:
Sets the default file extension to use for black and white, gray, and color images.
Member of namespace
Convert
Syntax
bool PDFImageFileExtension(int imageType, string extension)
Parameters
imageType
Type: int
The applicable image type.
extension
Type: int
The image extension.
Parameters
Returns
Always True.
Any level.
Details
Sets the default file extension to use for black and white, gray, and color images.
Example:
PDFImageCompression(1,33)
PDFImageFileExtension(1,".jpeg")
PDFDocumentToImage()
PDFImageFileResolution:
Member of namespace
Convert
Syntax
bool PDFImageFileResolution(int resolution)
Parameters
resolution
Type: int
The resolution to use when you are extracting images.
Parameters
Returns
Always True.
Level
Any level.
Details
Triggers the engine to use algorithms for faster binarization when you save images
from color or grayscale to black and white.
Member of namespace
Convert
Syntax
bool PDFImageUseFastBinarization(bool useFastBinarization)
Parameters
useFastBinarization
Type: bool
Turn Fast Binarization On and OFF.
Parameters
useFastBinarization: True or False. Default is False. When set to True, the engine
uses algorithms to run binarization faster, may result in lower quality images.
Returns
Always True.
Level
Any level.
Details
Triggers the engine to use algorithms for faster binarization when you save images
from color or grayscale to black and white.
Example:
PDFImageCompression(0,16)
PDFImageCompression(1,33)
PDFImageCompression(2,32)
PDFImageUseFastBinarization(true)
PDFConversionMode(1)
PDFDocumentToImage()
Rtf actions
Use the Rtf actions to convert an image file from RTF format to TIFF for
recognition processing by Datacap.
The Rtf actions can specify the output resolution and compression algorithm that is
used when you convert from RTF to TIFF.
RtfPrintQuality:
Convert
Syntax
RtfPrintQuality ()
Parameters
dpi Type: int
A single positive numeric value for the dots per inch (dpi) of the output
image.
Returns
Level
Page level.
Details
Sets the resolution of the output image for RtfToImage. If this action is not called,
the default value of 200 dpi is used. Typically, input documents for recognition are
200 dpi.
Example:
RtfPrintQuality(200)
RtfToImage()
RtfTiffCompression:
Member of namespace
Convert
Syntax
RtfTiffCompression ()
Parameters
tiffCompression
Type: string
A parameter of one of the following values to set the TIFF compression:
Parameters
v NONE : A color image with no compression.
v LZW : A color image using LZW compression.
v CCITT4 : A black and white image with fax CCITT4 compression.
Returns
Always True.
Page level.
Details
Sets the compression of the output image from RtfToImage. If this action is not
called, the default value of CCITT4 is used. Typically, input documents for
recognition are black and white with fax compression.
Example:
RtfTiffCompression(CCITT4)
RtfToImage()
RtfToImage:
Member of namespace
Convert
Syntax
RtfToImage ()
Parameters
None.
Returns
False if the current page is not a Rtf Document or if there is a failure in the
conversion.
Level
Page level.
Details
If the current page is a Rtf Document, the file will be converted to multiple TIFF
files, one TIFF file for each page within the Document, based on the settings of the
other Rtf actions that configure the conversion settings.
Each new TIFF also has a new page created within the application environment
which can be processed by subsequent rules. The original file name from which the
page was extracted is stored in the ParentImage variable, for possible future
reference in your application.
If the configured output image format and compression only supports black and
white, such as CCITT4, colored text is exported as black.
Tiff actions
Use the Tiff action to convert a multi-page TIFF image file into multiple single
page TIFF image files for recognition processing by Datacap.
The Tiff actions can split a multi-page TIFF image file into individual pages and set
the compression method that is used by the SplitMultipageTiff action in the TIFF
output.
SplitMultipageTiff:
Member of namespace
Convert
Syntax
SplitMultipageTiff ()
Parameters
None.
Returns
False if the current page is not a TIFF or if there is a failure in the conversion.
Level
Page level.
Details
If the current page is a TIFF, the file is converted to multiple TIFF files, one TIFF
file for each page within the document. If the input page was a single page TIFF
file, a single page TIFF is still be output.
Each new TIFF also has a new page created within the application environment
which can be processed by subsequent rules. The original file name from which the
page was extracted is stored in the ParentImage variable, for possible future
reference in your application.
If the input TIFF has a bit depth of 1 (black and white), then the output
compression is set to group 4 fax. If the input TIFF has a bit depth greater than 1,
then the output compression is uncompressed.
SplitTIFFCompression:
Member of namespace
Convert
Syntax
SplitTIFFCompression ()
Parameters
compressionTypeColor
Type: int
compressionTypeBW
Type: int
Parameters
Returns
Level
Page level.
Details
Sets the compression of the output image from SplitMultipageTiff. If this action is
not called, the default value of CCITT4 is used for black and white pages and No
compression for color pages.
Example:
SplitTIFFCompression(4,1)
plitMultipageTiff()
Txt actions
Use the Tiff actions to convert an image file from TXT format to TIFF for
recognition processing by Datacap.
TxtFontName:
Adjusts the font name of the text in the image that is output by the TxtToImage
action.
Member of namespace
Convert
Syntax
bool TxtFontName(string fontName)
Parameters
fontName
Type: string
The font name to use in the output image.
Returns
Level
Page level.
Details
Sets the font name for the text in the output image for the TxtToImage action. If
this action is not called, the default value of Times New Roman is used.
Example:
TxtFontName(Courier New)
TxtToImage()
TxtFontSize:
Adjusts the font size of the text in the image that is output by the TxtToImage
action.
Member of namespace
Convert
Syntax
bool TxtFontSize(int fontSize)
Parameters
fontSize
Type: int
The size of the font to use in the output image.
Level
Page level.
Details
Sets the font size for the text in the output image for the TxtToImage action. If this
action is not called, the default value of 10 is used.
Example:
TxtFontSize(12)
TxtToImage()
TxtPrintQuality:
Member of namespace
Convert
Syntax
TxtPrintQuality ()
Parameters
dpi Type: int
A single positive numeric value for the dots per inch (dpi) of the output
image.
Returns
Level
Page level.
Details
Sets the resolution of the output image for TxtToImage. If this action is not called,
the default value of 200 dpi is used. Typically, input documents for recognition are
200 dpi.
Example:
TxtPrintQuality(200)
TxtToImage()
TxtTiffCompression:
Convert
Syntax
TxtTiffCompression ()
Parameters
tiffCompression
Type: string
A parameter of one of the following values to set the TIFF compression:
Parameters
v NONE : A color image with no compression.
v LZW : A color image using LZW compression.
v CCITT4 : A black and white image with fax CCITT4 compression.
Returns
Always True.
Level
Page level.
Details
Sets the compression of the output image from TxtToImage. If this action is not
called, the default value of CCITT4 is used. Typically, input documents for
recognition are black and white with fax compression.
Example:
TxtTiffCompression(CCITT4)
TxtToImage()
TxtToImage:
Member of namespace
Convert
Syntax
TxtToImage ()
Parameters
None.
Returns
Level
Page level.
Details
If the current page is a Txt Document, the file are converted to multiple TIFF files,
one TIFF file for each page within the Document, based on the settings of the other
Txt actions that configure the conversion settings.
Each new TIFF also has a new page created within the application environment
which can be processed by subsequent rules. The original file name from which the
page was extracted is stored in the ParentImage variable, for possible future
reference within your application.
If the configured output image format and compression only supports black and
white, such as CCITT4, colored text is exported as black.
Example:
TxtPrintQuality(200)
TxtTiffCompression(CCITT4)
TxtToImage()
Word actions
Use the Word actions to convert an image file from Microsoft Word format to TIFF
for recognition processing by Datacap.
The Word actions can specify the output resolution and the compression algorithm
that is used when you convert from Word to TIFF.
WordDocumentToImage:
Converts a page with *.doc or *.docx file to a page or pages in TIFF format.
Member of namespace
Convert
Syntax
WordDocumentToImage ()
Parameters
None.
Returns
False if the current page is not a Word Document or if there is a failure in the
conversion.
Level
Page level.
Details
If the current page is a Word Document, the file is converted to multiple TIFF files,
one TIFF file for each page within the Document, based on the settings of the other
Word actions that configure the conversion settings.
Each new TIFF also has a new page created within the application environment
which can be processed by subsequent rules. The original file name from which the
page was extracted is stored in the ParentImage variable, for possible future
reference in your application. If the configured output image format and
compression only supports black and white, such as CCITT4, colored text is
exported as black.
Example:
WordPrintQuality(200)
WordTiffCompression("CCITT4")
WordDocumentToImage()
WordPrintQuality:
Member of namespace
Convert
Syntax
WordPrintQuality ()
Parameters
dpi Type: int
Parameters
dpi : A single positive numeric value for the dots per inch (dpi) of the output
image.
Returns
Level
Page level.
Sets the resolution of the output image for WordDocumentToImage. If this action is
not called, the default value of 200 dpi is used. Typically, input documents for
recognition are 200 dpi.
Example:
WordPrintQuality(200)
WordDocumentToImage()
WordTiffCompression:
Member of namespace
Convert
Syntax
WordTiffCompression ()
Parameters
tiffCompression
Type: string
Parameters
Returns
Always True.
Level
Page level.
Details
Zip actions
Use the Zip actions to extract the images files in a compressed ZIP archive and
convert them to separate TIFF files for recognition by Datacap.
ZipOverwrite:
Member of namespace
Convert
Syntax
ZipOverwrite ()
Parameters
overwrt
Type: bool
Parameters
Returns
Always True.
Level
Page level.
Details
This action must be called before ZipUnPack. If this action is not called, then
ZipUnPack uses the default value of True.
Example:
ChkDCOStatus("49")
ZipOverwrite("True")
ZipUnPack()
SetDCOStatus("75")
ZipPassword:
Sets the password for Password protected archives that will be used by
ZipUnPack.
Member of namespace
Convert
Parameters
pwd Type: string
Parameters
pwd : The password for the archive. Smart parameters are supported.
Returns
Always True.
Level
Page level.
Details
The password provided is used to extract password protected archives. This action
must be called before ZipUnPack.
Example:
ChkDCOStatus("49")
ZipOverwrite("True")
ZipPassword("MySafePassword")
ZipUnPack()
SetDCOStatus("75")
ZipUnPack:
Extracts each file within a compressed file archive into separate files.
Member of namespace
Convert
Syntax
ZipUnPack ()
Parameters
None.
Returns
False, if the current page is not a PDF or if there is a failure in the extraction.
If the number of input files/pages exceeds the maximum that is allowed or if there
is a failure in the extraction, the batch is set to abort.
Page level.
Details
If the current page is compressed, the files that are contained in the archive are
placed into the current batch directory. Each new file also has a new page that is
created within the application environment that can be processed by subsequent
rules. The original file name from which the page was extracted is stored in the
ParentImage variable, for future reference within your application.
Example:
ChkDCOStatus("49")
ZipUnPack()
SetDCOStatus("75")
In this example, the action checks if the current page is the type, Other,
and tries to extract the page. If the extraction is successful, then the current
page was a valid compressed file. The files are extracted from the
compressed file and put in the batch directory. The next action sets the
page status of the compressed file to Deleted. The action does not delete it
from the batch, but stops further processing of the compressed file.
Dcclip actions
Use the Dcclip action to clip a portion of each page image and save it as a separate
TIFF file.
The Dcclip action uses the recognition zone coordinates of the current field and
clips the specified region of each page to a separate TIFF file.
dci_clipfield
During processing, clips the field on the Image file (.tif) of every source page
represented by the bound Field object of the Document Hierarchy and generates a
separate Image file (.tif) displaying the clipped field's contents.
Syntax
(strParam)
Parameters
Remember: The new Image file is represented by a new page in the current
Page file. The Page Type value you assign will be used to identify pages with
clipped fields.
2. The Page Status to be assigned to pages with clipped images of the bound
Field object of the Document Hierarchy.
Attention: Be sure that the status you assign conforms to Page Status
specifications used throughout your application.
Returns
Level
Details
During processing, clips the field on the Image file (.tif) of every source page
represented by the bound Field object of the Document Hierarchy and generates a
separate Image file (.tif) displaying the clipped field's contents.
The action also adds a page representing the new Image file to the current Page
file.
Attention: If the Image ID assigned to the Image file representing the source page
has this format: tm000001.tif. The Image ID of a clipped field's Image file adds one
underscore character and a two digit index and has this format: tm000001_01.tif
The second pair in the batch will have these ID's: tm000002.tif and
tm000002_01.tif. This assumes that a source page has only one clipped field.
Example
dci_clipfield(OfficePens_Page, 0)
DCImageFix actions
Use the DCImageFix actions to clean up and enhance page images.
The image INI settings indicate which processes are run by the ImageEnhance
action. You configure these INI settings on the Zones tab in Datacap Studio.
ImageEnhance
Runs image processing by using pre-configured image enhancement settings,
typically from the imagefix.ini file.
Member of namespace
DCImageFix
Syntax
ImageEnhance(BackupFileExtension)
Parameters
String: BackupFileExtension
Parameters
The file extension that the action is to assign to the backup of the original Image
file. For example: tio.
The extension must be at least one character. If the leading period is provided, at
least one character must follow it. Long name file extensions are allowed.
Level
Details
This example uses a longer file extension, which preserves the original file
type. This extension makes it easier to view the original file without
renaming. An example of the copied file name is "TM000001.tio.tif".
LoadSettings
Loads the image enhancement settings that are used by the ImageEnhance action
to run image processing.
Member of namespace
DCImageFix
Syntax
LoadSettings ()
Parameters
Attention: The action can also use Smart Parameter syntax, such as the
'@PATH(string)' method, to specify the path.
Returns
False if the ImageFix Settings file that you specify as a parameter is not found.
Otherwise, True.
Level
All.
This action loads the settings that the ImageFix action uses to process all images in
the current batch. The action's parameter includes the file's name and complete
path to its location in the application's Process directory. As an alternative, the
parameter can use a smart parameter such as @Path to designate the value of the
path to the same Process directory.
Example:
LoadSettings(C:\ParentDir\Invoice\Process\ImageFix.ini)
ImageEnhance(tio)
Example:
This example loads the settings file using the path denoted by the
ScanFixSettings key that is listed in the Paths.ini file. If the key points to
a relative path, it would be converted to the appropriate full path and then
use that path to find the settings:
LoadSettings(@PATH(ScanFixSettings))
ImageEnhance(tio)
LoadSettings_FingerprintID
Loads the specific ImageFix Settings file (.ini) that corresponds to the Fingerprint
ID of the current page.
Member of namespace
DCImageFix
Syntax
LoadSettings_FingerprintID ()
Parameters
Attention: The action can also use Smart Parameter syntax, such as the
'@PATH(string)' method to specify the path.
Returns
Level
Details
DCO actions
Use the DCO actions to set up and modify the runtime batch hierarchy (runtime
DCO) information.
The DCO actions can create documents, set up the status and type properties of an
object, check the status of an object, and create a page data file for an object.
ChkConfidence
Checks the confidence of all field data on child pages against a minimum
acceptable confidence value (Parameter 1). If any fields in a page contain Low
Confidence data, assigns the Page Status that is specified in Parameter 2 to the
page.
Syntax
(StrParam)
Parameters
Returns
True, if all fields in all source pages are High Confidence. False, if any field has
Low Confidence data, or if the parameters are not Numeric.
Level
All levels. This action operates on the entire batch regardless of the level to which
its rule is bound.
Details
Checks the confidence of all field data on selected pages, which are selected by
Page Status, against a minimum acceptable confidence value (Parameter 1). If any
fields contain Low Confidence data, the page is marked with the status specified
as a parameter.
Syntax
(StrParam)
Parameters
Returns
True, if the DCO status matches the parameter value. Otherwise, False.
Level
All levels.
Details
Confirms that the status of the Document Hierarchy's current object is identical to
the status entered as the parameter.
Example:
ChkDCOStatus(0)
returns True, if the current object has a status equal to 0, and False, if it does not.
ChkDCOStatus(48)
returns True, if the current object has a status equal to 48, and False, if it does not.
ChkDCOType
Confirms that the Type property of the Document Hierarchy's current object is
identical to the type entered as the parameter.
Syntax
(StrParam)
Parameters
The String value of the Type property of the object you're checking.
Returns
True if the value of the DCO Type matches the parameter. Otherwise, False.
Level
All levels.
Details
Confirms that the Type property of the Document Hierarchy's current object is
identical to the type entered as the parameter.
Example:
ChkDCOType(Invoice)
SetPageStatus(1)
ChkIntegrity
Checks that the integrity of the batch, as detailed in the Page file of the current
task, meets the integrity requirements set within the Document Hierarchy (Setup
DCO).
Syntax
()
Parameters
None.
Returns
Level
Details
Checks that the integrity of the batch, as detailed in the Page file of the current
task, meets the integrity requirements set within the Document Hierarchy (Setup
DCO).
Integrity refers to the correct types and numbers of pages within each document in
the batch and the correct order of the pages in each document.
Example:
ChkIntegrity()
ChkLastDCOType
Checks that the Type property of the Document Hierarchy's previous object is
identical to the type entered as the parameter.
Syntax
(StrParam)
Parameters
Returns:
True, if the Type property of the Document Hierarchy's previous object matches the
parameter. Otherwise, False.
All.
Details
Checks that the Type property of the Document Hierarchy's previous object is
identical to the type entered as the parameter. You can use this action to test the
last DCO Type that is encountered so you can take specific subsequent steps that
are based on that type.
The example is applied at the Page level and checks to see whether the previous
Page object's type matches the parameter (Separator).
Example:
ChkLastDCOType(Separator)
SetPageType(Invoice)
SetPageStatus(1)
Applied at the Page level, this sequence checks to see whether the previous
Page object was a Separator page. If so, the type of the current page is set
to Invoice, and its status is set to "1". If the previous document type was
not a separator, the subsequent actions do not execute.
ClearAltText
Clears character and confidence values from the Character Array position specified
by the parameter.
Syntax
(strParam)
Parameters
The index in the Character Array where you want to clear the character and
confidence values. 0 is the first index, followed by 1, etc.
Returns
Always True.
Level
Field level.
Details
Clears character and confidence values from the Character Array position specified
by the parameter. When cleared, the confidence values are set to 10 (high
confidence). (A field in the Data file can hold more than one representation of the
field's value. Values other than the current, visible value are accessed via an index
number. The current value is at index 0, the next value is at index 1. Each
additional value also has corresponding character confidences.)
Note: Most actions only work with characters and confidence values located in the
first position of the Character Array (position 0). The Cleartext action is used with
User Application Web's Advanced Index task, for "Double Blind" data entry.
In this example, all characters at the first index (0) of the Character Array
will be copied to the second index (1). The second action will then clear
character and confidence values from the first index in the Character Array.
ClearDCO
Clears all objects of the Document Hierarchy which are children of the bound
object, and their variables.
Syntax
()
Parameters
None.
Returns
True if all child objects and their variables are removed, otherwise False.
Level
All.
Details
Removes all DCO children and variable references from the bound object.
Example:
CreateFields()
ClearDCO()
Applied at the Page level, the example will first add fields to the page and
then remove them.
CopyPD2DD
Assigns the value in a Page object's PD (Page Data) variable to the Document
object's DD (Doc Data) variable.
Syntax
()
Parameters
None.
Returns
False if the action is not at the Document level, or if the PD variable at page level
has no value. Otherwise, True.
Level
Document level.
Assigns the value in a Page object's PD (Page Data) variable to the Document
object's DD (Doc Data) variable.
Example:
CopyPD2DD()
CountPagesToDocumentVar
Counts the number of pages in the document.
Syntax
bool CountPagesToDocumentVar(StrParam)
Parameters
None
Returns
Always True.
Level
Document level.
Details
This action counts the number of page objects in a document and writes the result
in a document variable.
Example:
CountPagesToDocumentVar("MyVarName")
CreateDocuments
Arranges the contents of a task's Page file (for example, Recognition.xml) into
documents based on the Document Integrity rules (min, max and order) specified
in your application's Document Hierarchy, and assembles documents from the
pages in the batch.
Syntax
()
Parameters
None.
Returns
Level
Arranges the contents of a task's Page file (for example, Recognition.xml) into
documents based on the Document Integrity rules for min, max, and order
properties specified in your application's Document Hierarchy, and assembles
documents from the pages in the batch.
Batches containing existing document structures will cause this action to return
False, with no affect to the existing document structure.
Note: During document creation, temporary IDs are assigned (with a different
format than real Document IDs), and if the action fails, these temporary IDs
remain.
Important: This action is applied at the Batch level, and generally in its own
Ruleset (in a CreateDocs ruleset, for example.)
Example:
CreateDocuments()
CreateFields
Creates the Data file for a page in a batch. The Data file for the first page in the
batch, tm000001, as an example, is tm000001.xml.
Syntax
()
Parameters
None.
Returns
Level
Page level.
Details
Creates the Data file for a page in a batch. The Data file for the first page in the
batch, tm000001, as an example, is tm000001.xml.
This Data file lists all fields for the current page based on the fields listed in the
setup Document Hierarchy. Each field has an ID (for an Invoices page, for
example, the Date field's ID is Date), and three properties with default values:
TYPE, Position, and Status.
Later, actions of various kinds (Locate, Zone, Validation, DCO, etc.) can assign
other values to these properties. These actions can also add properties (variables)
and values to the Data file, or remove properties and values.
Example:
AnalyzeImage()
RotateImageRecognizePageOCR_S()
SetSearchArea(0.5)
This Invoices application sequence sets up the current page for processing,
recognizes the words on the page, associates the page with a fingerprint,
and finally creates a Data file with blank fields for the page.
DeleteFields
Deletes all child fields and characters from calling object of the Document
Hierarchy.
Syntax
()
Parameters
None.
Returns
Level
All.
Details
Deletes all fields and characters that are children of the bound object of the
Document Hierarchy. This action will also remove the Data file (.xml) from the
batch if called from a Page object.
Example:
DeleteFields()
IsDocumentCountMoreThan
Compares the number of documents in a batch with a parameter that you specify
to let you manage the document size of your batches.
Syntax
()
Parameters
Returns
When set to True, returns True if the document count exceeds the value of the
specified parameter. Otherwise, False.
Level
All levels.
Details
This action compares the current batch document with the parameter that is
provided and returns True or False depending on whether the count is exceeded
by the provided parameter or not.
Example:
IsDocumentCountMoreThan(1, true)
This example returns True if there is more than 1 document in the batch
sDocumentCountMoreThan(1, false)
This example returns False if there is more than 1 document in the batch
IsFirstDocumentInBatch
Checks to see if this document is the first document in a batch.
Syntax
bool IsFirstDocumentInBatch()
Parameters
None
Returns
True if the action is on the first document, or an object in the first document.
Otherwise False.
Level
Document level.
Details
This action checks to see if this action is on an object in the first document in a
batch.
JoinPreviousDocument
Specifies the document type to join with the current document.
Syntax
bool JoinPreviousDocument(StrParam)
Parameters
None
Always True.
Level
Details
This action copies the pages of the previously named document into the front of
the current document.
Example:
JoinPreviousDocument("SeparatorDoc")
PropagateToAltText
Copies the character and confidence values from the first index of the Character
Array (index 0) to the index specified by the parameter.
Syntax
(strParam)
Parameters
The index of the Character Array where you want to copy the character and
confidence values. 0 is the first index, followed by 1, etc.
Returns
Always True.
Level
Field level.
Details
Copies the character and confidence values from the first index of the Character
Array (index 0) to the index specified by the parameter. (The character "node" of a
page's Data file is an array that can hold many recognized character values, and
their corresponding confidence values.)
Note: Rules will only work with characters and confidence values located in the
first position of the Character Array (index 0).
The PropagateToAltText action is used with the User Application Web's Advanced
Index task, for "Double Blind" data entry.
Example:
PropagateToAltText(1)
ClearAltText(0)
All characters in the first index of the Character Array will be copied to the
second index. Then, the second action will clear the character and
confidence values from the first index.
Syntax
bool RemoveDocumentStructure()
Parameters
None
Returns
Always True.
Level
Batch level.
Details
This action flattens the document and page hierarchy from the batch. If the batch
consists of multiple documents, each with a set of pages, the document level is
removed and all of the pages become a flat structure. Once complete, there is no
distinction of sets of pages within a document.
Example:
RemoveDocumentStructure()
SetDCOStatus
Assigns a value to the Status property of the current object of the Document
Hierarchy.
Syntax
(StrParam)
Parameters
Returns
Always True.
Level
All.
Details
Assigns a value to the Status property of the current object of the Document
Hierarchy.
Example:
ChkDCOType(Invoice)
SetDCOStatus(1)
SetDCOType
Assigns a value to the Type property of the current object of the Document
Hierarchy.
Syntax
(StrParam)
Parameters
Returns
Always True.
Level
All.
Details
Assigns a value to the Type property of the current object of the Document
Hierarchy.
Example:
ChkLastDCOType(Separator)
SetDCOType(Invoice)
SetDocStatus
Assigns a status to the current document.
Syntax
(StrParam)
Parameters
Typically:
v "0" = Complete.
v "1" = Incomplete.
Returns
False if the ruleset is not bound to a Document object, or the current object is not
a document. Otherwise, True.
Document level.
Details
SetDocumentType
The action assigns a Document Type to the current Document object of the
Document Hierarchy.
Syntax
(StrParam)
Parameters
The value you want to assign as the Document object's Type property.
You can also designate a field in a Page object's Data file, and use its text value to
set the Document Type. Simply enter the name of a valid Field object and
surround it with single quotes. For example: 'Number'.
Returns
False if there are no Document objects in the Data file, or if the parameter is
invalid. Otherwise, True.
Level
Details
Similar to the SetDCOType action but works at the Document, Page or Field level.
The action assigns the Document Type you enter as a parameter to the current
Document object of the Document Hierarchy. You can also use a Field object's
value to set the Document Type. (Refer to the Parameter section.)
Example:
SetDocumentType(’Number’)\
or
SetDocumentType(Invoice_Document)
SetFldConfidence
For a specific field, sets the confidence for all characters in the field to the same
value.
Syntax
(StrParam)
Returns
Level
Field level.
Details
This action unconditionally sets the confidence values for every character within a
field to a specific level. This action can help change confidence levels when the
preceding actions are all successful.
For example, a successful set of calculations that involves one or more fields might
indicate that the confidence level of those fields' values ought to be high,
regardless of the confidence set by the recognition engine. After the success of the
calculation, you can call SetFldConfidence to unconditionally reset the confidence
values of the fields.
The first parameter is the name of the field that has its confidence level set. The
second parameter is the wanted confidence level, between 1 and 10. If the second
parameter is not passed in, 10 is used as the default.
Note: This function supports Smart parameters for the field name. See the
following examples.
Example:
Example 1:
To set all characters in the field "GrossSalary" to a confidence of 9.
SetFldConfidence(@P\GrossSalary,10)
Example 2:
To set all characters in the field "AdjustedPay" to a confidence of 1.
SetFldConfidence(@P\AdjustedPay,1)
Example 3:
In the context of a test run before setting the confidence.
If this calculation works, the application can assume that all of the characters are read correctly
and SetFldConfidence can adjust the fields to high confidence.
Note, you might also want to add a check that the values are all non-zero to eliminate a bad read.
SetFldConfidence("@P\1totalWages,10")
SetFldConfidence("@P\2TaxableInterest,10")
SetFldConfidence("@P\3Unemployment,10")
SetFldConfidence("@P\4AdjustedGross,10")
SetPageFingerprintID
Assigns a value to the FingerprintID property of the selected Page object of the
Document Hierarchy.
Syntax
(StrParam)
Returns
Level
Page level.
Details
Assigns a value to the FingerprintID property of the selected Page object of the
Document Hierarchy.
SetPageStatus
The action assigns a page status to an object of the Document Hierarchy.
Syntax
(StrParam)
Parameters
The Invoices application (as an example) employs three default Page Statuses:
v 49 = ScanOK
v 1 = Incomplete/Not validated
v 0 = Complete
You can define your own statuses by using the Filter tab of a task's Task Settings
dialog.
Returns
Always True.
Level
The action assigns the page status that you enter to the page object of the
Document Hierarchy. The current object can be the page or field. If the current
object is a field object, it sets the page status for its parent page object.
Example:
A scan task might assign Other as the Page Type and 49 as the default
Page Status for every successfully scanned image in the batch.
The following sequence is an example of a rule that converts Other pages
to Invoices pages, and assigns a Page Status to each:
SetPageType(Invoice)
SetPageStatus(1)
SetPageTemplateID
Assigns a value to the FingerprintID property of the selected Page object of the
Document Hierarchy.
Syntax
(strParam)
Parameters
Returns
Level
Page level.
Details
SetPageType
The action assigns a Page Type to the current Page object of the Document
Hierarchy.
Parameters
You can also designate a field in a Page object's Data file, and use its text value to
set the Page Type. Enter the name of a valid Field object and surround it with
single quotation marks. For example: 'PageCode'.
Returns
False, if there are no Page objects in the Page file, or if the parameter is invalid.
Otherwise, True.
Level
Details
Similar to the SetDCOType action, but works at the Page or Field level.
The action assigns the Page Type you enter as a parameter to the current Page
object of the Document Hierarchy. You can also use a Field object's value to set the
Page Type. (See the Parameter section.)
Example:
The application's scan task typically assigns Other as the Page Type and 49
as the default Page Status for every successfully scanned image in the
batch.
The following sequence is an example of a rule that converts Other pages
to Invoices pages, and assigns a Page Status to each:
SetPageType(Invoice)
SetPageStatus(1)
This combination sets the page as an Invoices page, and gives it a status of
1. This means that the page is not validated and must be processed by a
task that applies Validation rules (a Rulerunner Task, for example).
dcpdf actions
Use the dcpdf actions to convert PDF files to TIFF at the start of the workflow. You
can also convert the TIFF files in a document into a PDF file.
The dcpdf actions can specify properties for PDF documents, set bits per pixel
counts for images in PDF documents, and specify the compression method to use
to convert PDF documents to TIFF.
dcpdf_CreateTiffFromPDF
Converts each page of a PDF file into a TIFF file.
Member of namespace
dcpdf
Parameters
None.
Returns
False, if the action is not run at the Batch level; if there are no PDF files in the
batch; or if an error occurs while TIFF files are being created. Otherwise, True.
Level
Batch only.
Details
This action looks for PDF files in the current batch; creates Image files (.tiff) for
each page in the PDF file; and creates one document for the PDF file.
When the action in this example encounters a PDF file in the batch, it
creates a corresponding Image file (.tiff) and gives the Image file the PDF
file’s name.
dcpdf_CreateTiffFromPDF_CreateDocs
Converts each page of a PDF file into a TIFF file and creates a runtime hierarchy.
Member of namespace
dcpdf
Syntax
dcpdf_CreateTiffFromPDF_CreateDocs (strParam)
Parameters
True: Causes a document hierarchy to be created when TIFF pages are created
from a PDF file.
False: A document hierarchy will not be created, making this action operate
exactly like dcpdf_CreateTiffFromPDF.
False, if the action is not run at the Batch level, or if the source PDF file does not
have a minimum number of pages (0). Otherwise, True.
Level
Batch Level.
Details
dcpdf_MakePDFDoc
Creates a PDF document that contains one or more pages of the current document.
Member of namespace
dcpdf
Syntax
bool dcpdf_MakePDFDoc(strParam)
Parameters
True: stores recognized field data that is associated with the TIFF image of each
page in the PDF file to make a searchable PDF. The text data is not visible, but it is
searchable.
False: inserts the image of a page into the PDF file, the recognized text is not
inserted.
The PageTypes parameter is a list of one or more page types to include in the PDF
output. The page types in the list are separated by commas.
Returns
False if the action is not run at the Document level; if there are no pages in the
document; or if an error occurs while the PDF file is being created. Otherwise,
True. If there are pages in the document but none of them match the specified
page type, the action does not create a PDF file and still returns True.
Level
Document Level.
Details
Creates a PDF document that contains one or more pages of a document. The PDF
format can contain only the original image or it can contain the image along with
the recognized text to make the PDF searchable.
Only zoned field text is included if the input parameter is True and is searchable
within the PDF. The searchable text might not accurately reflect the text position
within the original input image. If you need the entire page text to be included as
searchable text, or more accurate alignment, use one of the recognition actions to
create the PDF, such as RecognizeDocToPDF from the OCR_S library.
To include specific page types, set the variable typesToInclude to a comma delimited
list of page types to include in the PDF.
When more than one filter is specified, the following order of precedence takes
place:
v statusToExclude overrides typesToInclude
v typesToInclude overrides typesToExclude
If you are calling the action at the Document level, the types and status filters
apply to both the documents and their child pages.
If you are calling the action at the Page level, the types and status filters apply to
the page only.
These variables must be set before you call the RecognizeToPDFOCR_A action.
Example:
rrSet("75","@D.statusToExclude)
rrSet("Blank","@D.typesToExclude)
dcpdf_SetTitle("MedicalClaims")
dcpdf_SetSubject("Validated")
dcpdf_SetAuthor("Steven Moffat")
dcpdf_SetProducer("Russell Davies")
dcpdf_SetApplication("MClaims")
dcpdf_MakePDFDoc("True")
This example does not include the field text and exports only the page
types of type Main_Page.
dcfpdf_MakePDFDoc("True,Main_Page,Trailing_Page")
This example includes the field text and exports only the page types of
type Main_Page or Trailing_Page.
dcpdf_MaxSizeToReconvert
Causes the dcpdf_CreateTiffFromPDF action to use a different conversion
algorithm if the file that results from the default algorithm exceeds the specified
size.
Member of namespace
dcpdf
Syntax
dcpdf_MaxSizeToReconvert (strParam)
Parameters
Returns
Level
Details
The conversion of PDF to TIFF usually works fast and produces clean images.
From time to time, the resulting TIFF may become unusually large. A reason for
this has been due to the background becoming a dithered light gray background
instead of a pure white. This leads to very large image sizes because compression
is now less efficient. It also could lead to reduced recognition quality.
To compensate for these rare situations, this action can be used to produce a clean
TIFF from a PDF that compresses well. When a TIFF is created from a PDF, the file
size is checked to see if it exceeds the value set by this action. If the file size is
smaller, then is considered a successful conversion. If the file size is larger, then
this alternate method is performed.
dcpdf_SetApplication
Specifies the Application ID property for PDF documents that are generated by the
dcpdf_MakePDFDoc action.
Member of namespace
dcpdf
Syntax
dcpdf_SetApplication (strParam)
Parameters
Returns
Always True.
Level
Details
dcpdf_SetAuthor
Specifies the Author property for PDF documents that are generated by the
dcpdf_MakePDFDoc action.
Member of namespace
dcpdf
Syntax
dcpdf_SetAuthor (strParam)
If you do not call this action, the value will default to Should be a Task Name.
Returns
Always True.
Level
Details
This action attaches the Author’s name (or a related value) to a PDF page or
document generated by a subsequent dcpdf_MakePDFDoc action.
Example:
dcpdf_SetAuthor("Harriet Jones")
dcpdf_SetProducer("Russell Davies")
dcpdf_SetApplication("Invoices")
dcpdf_MakePDFDoc("True")
dcpdf_SetImageBitcount
Sets the bit count, bits per pixel, for images in the PDF document that is generated
by the dcpdf_MakePDFDoc action.
Member of namespace
dcpdf
Syntax
dcpdf_SetImageBitcount (strParam)
Parameters
Numeric value of the BitCount of any image in a PDF document. The action's
acceptable values are:
v 1 for Black and White images (a typical value).
v 8 for Grayscale images.
v 24 for Color images.
Returns
Level
Sets the BitCount of any image identified in a PDF file by an action such as
CreateTiffFromPDF. The value of the parameter for the action typically reflects the
nature of the images in the PDF file. The default value is 1 (Black and white
images).
Attention: The BitCount is the standard number of bits per pixel throughout an
image.
Example:
dcpdf_SetImageBitCount("1") black and white images.
dcpdf_SetImageBitCount("8") grayscale images.
dcpdf_SetImageBitCount("24") color images.
dcpdf_SetImageCompression
Specifies the compression method to use when you convert a PDF file to TIFF.
Member of namespace
dcpdf
Syntax
dcpdf_SetImageCompression (strParam)
Parameters
Returns
Level
Details
Sets the compression that will be used when converting a page from a PDF file to
a TIFF file. Group 4 Fax is the most common compression used for text
recognition. It produces a lossless compressed black and white image. The default
compression value is 4 (CCITT Group 4 fax encoding).
Example:
dcpdf_SetImageCompression("7")
dcpdf_CreateTiffFromPDF("True")
Member of namespace
dcpdf
Syntax
dcpdf_SetImageGrayscale (strParam)
Parameters
Returns
Level
Batch or Document.
Details
Sets a Grayscale flag for images in a PDF file that is generated by an action such as
dcpdf_CreateTiffFromPDF.
This action controls how gray areas of a grayscale image are handled when
converted to black and white. For example, if you have a text document with a
gray background, it is recommended to call this action and pass True. This option
causes the gray area below a predefined tolerance to be converted to white,
producing an image that can be recognized. If you have a grayscale image and this
action is set to False, gray areas are dithered to simulate gray in the resulting TIFF
image. The default value is False.
dcpdf_SetImageQuality
Specifies the image quality to use when you convert a PDF file to TIFF.
Member of namespace
dcpdf
Syntax
dcpdf_SetImageQuality (strParam)
Numeric value, between 1 and 100, of the Image Quality standard for images in
the PDF file.
Returns
Level
Details
This action determines the resulting image quality when creating a TIFF from a
PDF file. A higher number will produce a better looking image, but may require
more processing time. The default value is 100.
Example:
dcpdf_SetImageQuality("75")
dcpdf_CreateTiffFromPDF("True")
dcpdf_SetImageResolution
Specifies the output resolution to use when you convert a PDF file to TIFF.
Member of namespace
dcpdf
Syntax
dcpdf_SetImageResolution (strParam)
Parameters
Returns
Level
Details
This action sets the X and Y resolution for the pages of a PDF that is converted to
TIFF. If this action is not called, the default of 200 x 200 will be used. It is strongly
recommended that the X and Y resolutions are always set the same to produce an
isotropic image, which will allow for better fingerprinting and recognition.
dcpdf_SetKeywords
Specifies a keyword to assign to PDF documents that are generated by the
dcpdf_MakePDFDoc action.
Member of namespace
dcpdf
Syntax
dcpdf_SetKeywords (strParam)
Parameters
If you do not call this action, the keyword value is left blank.
Returns
Always True.
Level
Details
This action assigns a single Keyword to a PDF page or document that is generated
by a subsequent dcpdf_MakePDFDoc action.
dcpdf_SetProducer
Specifies the Producer property for PDF documents that are generated by the
dcpdf_MakePDFDoc action.
Member of namespace
dcpdf
Syntax
dcpdf_SetProducer (strParam)
Parameters
Always True.
Level
Details
Sets the producer value of the PDF document. This action must be called prior to
calling dcpdf_MakePDFDoc. If this action is not called, the value will default to
Producer.
Example:
dcpdf_SetAuthor("Steven Moffat")
dcpdf_SetProducer("Russell Davies")
dcpdf_SetApplication("Invoices")
dcpdf_MakePDFDoc("True")
dcpdf_SetSubject
Specifies the Subject property for PDF documents that are generated by the
dcpdf_MakePDFDoc action.
Member of namespace
dcpdf
Syntax
dcpdf_SetSubject (strParam)
Parameters
Returns
Always True.
Details
The Subject is a searchable value for the page or document. If this action is not
called, the value of the subject is blank in the resulting document.
Example:
dcpdf_SetSubject("HealthClaimDoc")
cpdf_SetAuthor("Harriet Jones")
dcpdf_MakePDFDoc("True")
dcpdf_SetTitle
Specifies the Title property for PDF documents that are generated by the
dcpdf_MakePDFDoc action.
dcpdf
Syntax
dcpdf_SetTitle (strParam)
Parameters
Returns
Always True.
Level
Details
This action sets the Title property of a PDF document generated by a subsequent
dcpdf_MakePDFDoc action.
The Title is a searchable value for the page or document. If this action is not called
prior to dcpdf_MakePDFDoc, the value will default to Untitled.
Example:
dcpdf_SetTitle("NewInvoice")
dcpdf_MakePDFDoc("True")
dcpdf_UseAltConversionMethod
Causes dcpdf_CreateTiffFromPDF to use an alternate conversion algorithm.
Member of namespace
dcpdf
Syntax
dcpdf_UseAltConversionMethod ()
Parameters
None.
Returns
Always True.
Level
There are two internal algorithms that are used to convert a PDF to a TIFF. This
action enables the alternate algorithm. It is recommended that the alternate
algorithm is used. Testing has shown that it produces cleaner TIFF images.
Documentum actions
Use the Documentum actions to upload documents to an EMC Documentum
repository.
DM_Logon
Creates the connection to the Documentum repository into which you can upload
pages and documents.
Syntax
()
Parameters
string sRepositoryDomain
string sRepositoryName
string sUserID
String sPassword
Parameters
v sRepositoryDomain: The machine name for the repository.
v sRepositoryName: The name of the repository.
v sUserID: The userid for logon.
v sPassword: The password
v
Note: Use a Smart parameter to obtain the password from the application service
instead of hardcoding it in the rules.
Returns
This action can be called at any level but is recommended to be called at the batch
level. It must be called only once per task.
Details
Creates the connection to the repository where the pages are uploaded. This action
must be called before DM_UploadPage or DM_UploadDocument. The user ID
must have write permission or files cannot be uploaded.
It is recommended that you create an advanced value in the custom values tab in
the Application Manager to store your password.
Example:
DM_Logon("machinename", "repository", "userid", "password")
This example uses the Smart parameter @APPVAR to obtain the password
from the advanced value section of the application manager. The custom
value name is "MyPassword".
DM_SetContentType
Sets the content type to define in the repository for the object, for example TIFF,
JPEG, DOC.
Syntax
()
Parameters
The repository defined type for this page. Smart parameters are supported.
Returns
Always True.
Level
Any level.
Details
Sets the type for the page to be uploaded. This type must be pre-defined in the
repository. This action does not test that the specified type exists in the repository.
If the specified content type is incorrect, the upload action will report the error.
DM_SetFolderName
Specifies the name of the Documentum folder where Datacap places the uploaded
file on the Documentum system.
Parameters
Repository folder where the file will be uploaded. Smart parameters are supported.
Returns
Always True.
Level
Any level.
Details
The name of the cabinet / folder that will hold the uploaded file. The path
specification to the folder can be specified using a typical folder syntax separated
by forward slashes, such as /folder/anotherfolder/finalfolder. Alternatively, the
target folder can be specified by the object ID of the folder as defined in the
repository, without any slashes.
This action does not confirm that the folder actually exists in the repository. If the
specified content type is incorrect, the upload action will report the error. This
action must be called prior to DM_UploadPage or DM_UploadDocument.
Example:
DM_SetFolderName("/folder1/folder2")
DM_SetContentType("tiff")
DM_SetObjectName("@ID")
DM_UploadPage()
This example uses the object ID of the destination folder in the repository.
DM_SetObjectName
Sets the name of the file that you are uploading as it appears in the Documentum
repository.
Syntax
()
Parameters
The name for the uploaded file as it will appear in repository. Smart parameters
are supported.
Returns
Always True.
Any level.
Details
This action is used to set the name of the uploaded file. This is not the file name as
it exists in the batch, but the final name that will be used when viewed in the
repository.
DM_UploadDocument
Uploads all of the pages in the document.
Syntax
()
Parameters
None.
Returns:
True, if all of the pages within the document are uploaded to the repository.
Otherwise, False.
If any of the files for the document are missing from the batch, it is not considered
an error and the batch will not abort. If the upload to Documentum fails due to a
different reason, the document upload will stop and the batch will be set to abort.
Level
Document level.
Details
This action will upload all of the pages that are attached to a document. An XML
file called DM_Uploaded.xml is created in the batch directory. This file lists all of
pages that have been uploaded.
DM_Logon must have been previously called. Additionally, the destination folder,
final object name and content type must have been previously set. When
uploading a document using this action, all pages must be of the same type.
Example:
DM_SetFolderName("/folder1/folder2")
DM_SetContentType("tiff")
DM_SetObjectName("@ID")
DM_UploadDocument()
Syntax
()
Parameters
None.
Returns
If the file fails to upload or if the file is missing from the batch, the batch will be
set to abort.
Level
Page level.
Details
This action uploads the current page to the repository. An XML file called
DM_Uploaded.xml is created in the batch directory. This file lists all of pages that
have been uploaded.
DM_Logon must have been previously called. Additionally, the destination folder,
final object name and content type must have been previously set.
Example:
DM_SetFolderName("/folder1/folder2")
DM_SetContentType("tiff")
DM_SetObjectName("@ID")
DM_UploadPage()
Email actions
Use the email actions to compose and then send an email by using CDOSYS and
an SMTP server. These actions also support Outlook, which requires the Outlook
user to be logged on to the computer and security prompts might be displayed for
each message.
The Email actions specify path and file name for attachments, email recipients, and
email subject.
SendEMail
Sends an email.
Syntax
()
Parameters
None.
False, if the rule does not include a previous SetRecipients action, or if the email
cannot be sent. Otherwise, True. If the email cannot be sent, the batch is set to
abort.
Level
All levels.
Details
Sends an email that is assembled by previous actions. Typically, this is the final
action in an email rule set. At a minimum, the SetSender and SetRecipients actions
must be called before sending an email.
After the email is sent, this action will discard the contents of the email in memory.
Calls to the email actions after SendEMail causes the creation of a new email
message.
Example:
SetSender("paul@adomain.com")
SetRecipients("lisa@adomain.com,beth@adomain.com")
SetSubject("Document Integrity")
SetEMailBody("Document Page Types and counts are accurate. Thanks for your help.")
SendEMail()
SetAttachment
Adds a file attachment to an email.
Syntax
(StrParamMW)
Parameters
The file’s path, name and extension. Smart Parameters are supported.
Returns
False if the file does not exist or cannot be attached. Otherwise, True.
Level
All levels.
Details
This example attaches the Export file of the current batch to the email.
SetBlindCarbonCopyRcpts
Sets Blind Carbon Copy recipients' email address(es).
Syntax
(StrParam)
The email addresses to receive a copy of the email as a blind carbon copy. You can
enter multiple email addresses separated by commas.
Returns
False if you do not enter an email addresses parameter, if the address is rejected
by the mail system or if the email object cannot be initialized. Otherwise, True.
Level
All levels.
Details
Adds addresses to the Bcc (Blind Carbon Copy) portion of the email’s header.
Example:
SetRecipients("lisa@monarchy.com")
SetBlindCarbonCopyRcpts("james@regency.com")
SetCarbonCopyRcpts
Set Carbon Copy recipients' email address(es).
Syntax
(StrParam)
Parameters
Email addresses to receive a copy of the email as a carbon copy. You can enter
multiple email addresses separated by commas.
Returns
False if you do not enter an email addresses parameter, if the address is rejected
by the mail system or if the email object cannot be initialized. Otherwise, True.
Level
All levels.
Details
SetEmailBody
Sets the text of the email’s body.
Parameters
Returns
Level
All levels.
Details
SetMailServer
Configures the mail server to use for sending mail. Use this action only if you are
sending emails with CDOSYS.
Syntax
(StrParam)
Parameters
Returns
Always True.
Level
All levels.
Details
Sets the address of the outgoing mail (SMTP) server. This server might be the same
mail server that you configure in your mail program. The server must be accessible
from the computer that runs the email actions. This action must be the first action
in an email rule, if the CDOSYS object is being used.
Use this action only if you are sending emails with CDOSYS. To use CDOSYS, this
action must be called before any of the other email actions. If this action is not
called before other email actions, these actions use Outlook for sending emails.
You can use Email actions to direct a task to compose and send emails that contain
information and attachments. Email actions use the Windows CDOSYS library to
send email by your preferred SMTP mail server. The CDOSYS object is included
SetRecipients
Sets email recipients' address(es).
Syntax
(StrParam)
Parameters
Email address(es) of recipient(s). You can either call this action multiple times to
add multiple recipients, or you can enter multiple email addresses separated by
commas.
Returns
False if you do not enter an email addresses parameter, if the address is rejected
by the mail system or if the email object cannot be initialized. Otherwise, True.
Level
All levels.
Details
SetSender
Sets the sending email address.
Syntax
(StrParam)
Parameters
Level
All levels.
Details
Sets the email address of the sender for the current email. When using the
CDOSYS object, use this action. When using the Outlook object, the current email
account is used as the sender.
Example:
SetRecipients("lisa@adomain.com")
SetSender("paul@adomain.com")
SetSubject
Sets the text for the email's Subject field.
Syntax
(StrParamMW)
Parameters
Returns
Level
All levels.
Details
Sets the text for the email Subject field. It is recommended that the subject line be
no longer than 78 characters as this is a common subject line length limitation.
Some systems may support even shorter lengths, truncating the subject. Our
testing has been successful with lengths up to 255 characters. It is recommended to
test your settings and use lengths appropriate for your systems.
Example:
SetSubject("Document Integrity")
Equalize actions
Use the Equalize action to equalize the x and y resolutions of an image.
The Equalize actions convert an image with different x and y resolutions to one
with the same x and y resolutions.
Syntax
(StrParam)
Parameters
Integer value which determines the cut-off point for the resolution which should
be equalized:
Attention: Standard Mode fax resolution in Dots per Inch (DPI) is 204/98; Fine
Mode fax resolution is 204/196.
Returns
False if the parameter is not numeric or if the rule containing the action is not
bound to a Page object of the Document Hierarchy. Otherwise, True.
Level
Details
Resolves differences in the dpi (dots per inch) resolutions along the horizontal (X)
and vertical (Y) planes of one ore more faxed images in a batch.
The action selects images from the batch in response to the parameter you enter,
and produces new images with 200 x 200 dpi.
Example
EqualizeUnbalanceImage(0)
Ewsmail actions
Use the Ewsmail actions to import image file attachments from an Exchange Server
into the current batch by using Exchange Web Service (EWS).
The ex_scan action polls the Exchange Server and imports image attachments until
the batch reaches the specified size (ex_max_docs) or until the wait time
(ex_wait_time) expires.
ex_abort_time
Specifies how long to wait before you stop running the current batch if, for
example, the Exchange Server is unavailable.
Ewsmail
Syntax
ex_abort_time ()
Parameters
nSecs Type: int
Parameters
Returns
Always True.
Level
Batch level.
Details
The action will wait the specified time before returning when an abort occurs. This
action can be useful to prevent a large number of aborted batches due to an abort
condition. For example, if the email server should become unavailable for a time,
the abort timeout will limit the amount of aborted batches until the mail server
becomes available again.
If this action is not called, the default value of 30 seconds will be used.
Example:
ex_wait_time("20")
ex_abort_time("60")
ex_max_docs("200")
ex_scan
ex_done_folder
Specifies the mailbox subfolder to which email messages are moved after the
attachment was imported.
Member of namespace
Ewsmail
Syntax
ex_done_folder ()
Parameters
folder Type: string
Destination folder for successfully imported emails
Returns
Always True.
Level
Batch level.
Details
Specifies the name of the email folder into which successfully imported emails are
placed. This folder must be a subfolder of the email account's Inbox. When an
email is processed and the attachment is imported, the email is moved to the
folder name specified by this action.
ex_EMLOption
Creates a one page document per email containing an .eml file.
Member of namespace
Ewsmail
Syntax
ex_EMLOption ()
Parameters
folder Type: int
Optional - use a nonzero value to store one .eml file per email.
Parameters
folder : Optional - use a nonzero value to store one .eml file per email.
Returns
Always True.
Level
Batch level.
Details
If set, the ex_scan action creates a one page document containing the email and
attachments in an .eml file; no attachment pages are created. When called with a
non-zero parameter, the ex_scan function does not create pages for each
When you use this action, pages for attachments are not created, and variables for
those attachments are not set.
Example:
ex_EMLOption(1)
ex_scan()
ex_ews_version
Select the Exchange Server version.
Member of namespace
Ewsmail
Syntax
ex_ews_version ()
Parameters
version
Type: int
Parameters
Returns
Always True.
Level
Details
If this action is not called at all it uses the default 0, the latest version.
Example:
ex_ews_version(1)
ex_login("mymailserver/Exchange.asmx","Username@Org","password")
Member of namespace
Ewsmail
Syntax
ex_HTTP_timeout (int nSecs)
Parameters
String nSecs
Parameters
Returns
Always True.
Level
Details
The maximum time to wait for an HTTP request or response from Exchange
Server. For example, this may be used by the ex_scan action while trying to ingest
a very large email that may otherwise result in import failing due to the operation
timing out. This timeout is in addition to any server-side timeout configuration
settings.
ex_load_properties_option
Option to flag .
Member of namespace
Ewsmail
Syntax
ex_load_properties_option ()
Parameters
Returns
Always True.
Level
Details
Used to optionally load certain properties at once. If this action is not called, the
default of 0 will be used to load base properties.
Example:
ex_load_properties_option("1")
ex_scan()
This example reduces the number of times you have to access the
Exchange Server because the additional properties are loaded once.
ex_login
Specifies the Exchange Server and mail account
Member of namespace
Ewsmail
Syntax
ex_login ()
Parameters
hostname
Type: string
URL of Exchange Web Service, ends with /Exchange.asmx (Smart
parameters are supported)
username
Type: string
Username@Org for mail account and organization (blank to use Windows
Authentication, Smart parameters are supported)
password
Type: string
Password for mail account (blank if none or Windows Authentication,
Smart parameters are supported )
Returns
Level
Details
Connects to the mail server using the specified account information. Login
credentials are for a Microsoft Exchange mail server.
The mail account must contain an Inbox folder and separate folders for messages
imported (Done) and errors (Problem). The Done and Problem folders must be
subfolders of the email account's Inbox. The names of these folders can be
specified using the ex_done_folder and ex_problem_folder actions.
The Microsoft Exchange Email actions are designed to scan an email Inbox for
incoming mail messages, and place selected messages into a new batch. It is
possible to ignore all messages except those containing specific attachment types.
The actions are typically assigned to a Task that is executed by an unattended
Rulerunner station. Multiple Inboxes can be scanned by stringing together a set of
login/scan/logout actions for each Inbox, or by assigning an Inbox to each input
task.
Example:
ex_login("mymailserver/Exchange.asmx","Username@Org","password")
ex_logout
Disconnect from the mail server
Member of namespace
Ewsmail
Syntax
ex_logout ()
Parameters
None.
Returns
Always True.
Details
Closes the connection to the mail server. Call once for each batch after ex_login
and ex_scan have completed.
Example:
ex_logout()
ex_max_docs
Specifies maximum number of emails to include in a single batch.
Member of namespace
Ewsmail
Syntax
ex_max_docs ()
Parameters
nDocs Type: int
The maximum number of emails in a batch.
Parameters
Returns
Always True.
Level
Details
The import of emails into the batch will stop when this email limit is reached or
when the maximum wait time has been reached. While waiting for new mail to
arrive, the configured mailbox will be polled every two seconds to check for
waiting mail.
If this action is not called, the default value of 100 is used. The actual amount of
emails included in the batch could be less than this maximum.
Note: The value indicates the number of emails with expected attachments that
will be processed. If a waiting email contains an unexpected attachment, it is not
counted against the total maximum count.
It is also possible for an email to contain more than one valid attachment type.
When this happens, it is possible for the number of items input to the batch can be
greater than the number of configured emails. For example, if ex_max_docs is set
This example causes the scan operation to limit the number of emails in a
batch to a maximum of 50.
ex_problem_folder
Specifies folder for problem emails
Member of namespace
Ewsmail
Syntax
ex_problem_folder ()
Parameters
folder Type: string
Destination folder for problem email
Parameters
Returns
Always True.
Level
Batch level.
Details
When an email is processed and the attachment is not one of the expected types,
the email is moved to the folder name specified by this action.
ex_scan
Poll the specified mail server for incoming email with image attachments
Member of namespace
Ewsmail
Parameters
None.
Returns
False if the operation fails, and the action will also pause before returning based
on the configured abort time configured by ex_abort_time. Otherwise, True.
If no selected emails were available, the action returns True and also pauses before
returning based on the wait time configured using ex_wait_time.
Level
Details
Scans emails in the Inbox for specified attachments, imports selected emails with
attachments into the batch. Call once for each batch. A connection to the email
server must have previously been established using the ex_login action.
Each input email (document) will contain the following variables set in the
document hierarchy:
v TYPE : Always set to Document.
v MessageID : The email message ID.
v Subject : The email subject.
v Body : The text within the email.
v DateSent : The sent date stamp on the email.
v From : The email sender.
v To : The email recipients.
v Priority : The state of the email importance flag.
v DateReceived : The received date stamp on the email.
Each email attachment (page) will have the following variables set:
v TYPE : Always set to "Other".
v IMAGEFILE : The name of the attachment as saved on disk.
v ATTACHNAME : The name of the attachment.
Note: If the configured Done or Problem folders do not exist, the email will be
moved to the Deleted Items folder.
Waiting emails are processed in blocks. The amount of emails processed in a block
will be the number of waiting emails, or the number of emails remaining from the
value set in ex_max_docs, up to a maximum of 50. After a block of emails are
processed, the wait time is checked. If the wait time has not been reached and the
Use ex_max_docs to configure the number of emails processed per batch. The
number of items included in the batch can be different than this amount, see
ex_max_docs for more details.
Example:
ex_wait_time("20")
ex_abort_time("40")
ex_max_docs("50")
ex_types("jpg,tif")
ex_scan()
ex_types
Specifies valid image attachment extensions
Member of namespace
Ewsmail
Syntax
ex_types ()
Parameters
extensions
Type: string
Comma-separated list of file image file attachment extensions to import,
with or without period. If a blank extension is supplied, ex_scan will
import messages with no attachments.
Parameters
Returns
Always True.
Level
Batch level.
If this action is called and no attachment types are specified, all emails and any
attachments are added to the batch.
ex_wait_time
Specifies the maximum time to wait for input emails for a single batch.
Member of namespace
Ewsmail
Syntax
ex_wait_time ()
Parameters
nSecs Type: int
Parameters
Returns
Always True.
Level
Details:
The maximum time to wait for input files for a single batch. Used by the ex_scan
action after the first email has been processed to determine how long to wait for
the batch to fill up.
The import of emails into the batch will stop when the wait limit is reached or
when the maximum emails per batch has been reached. While waiting for new
mail to arrive, the mailbox will be polled every two seconds to check for waiting
If this action is not called, the default wait time of 5 seconds will be used.
Example:
ex_wait_time("20")
ex_scan()
This example causes the scan operation to wait for 20 seconds for
additional email, after processing the first email, before finishing the scan
operation.
Export actions
Use the Export actions to set up and write information to the export text file.
The Export actions can setup lineitem values, batch, document and page variables,
path locations, before exporting the information.
BatchVariable_ExportValue
Exports the value contained in the specified batch-level variable.
Syntax
()
Parameters
Returns
Always True.
Level
Any level.
Details
This action will export the value located in the ED Batch variable to your
Export file.
BlankFields
Inserts n blank fields into the Export file, adjacent to the current field.
Syntax
()
Parameters
A number indicating how many blank fields to add to the Export file.
Always True.
Level
All levels.
Details
The BlankFields action adds the number of fields you specify. The fields are blank;
other actions direct the Export task to fill the fields.
Attention: Make sure you call SetCSV, and optionally SetElementSeparator, to set
the separator values as desired for your export file. If either of these actions are not
called before the BlankFields action, blank fields cannot be exported into the file
because the default separator is set to no separator.
Example
SetCSV("TRUE")
BlankFields("12")
BlankLines
Inserts n blank lines into the Export file.
Syntax
()
Parameters
A number n that indicates how many blank lines to add after the current line.
Returns
Always True.
Level
All level.
Details
This action inserts four empty lines, leaving the insertion point for the next
output on the following line. Additional output begins on the fifth line.
BPilot
Exports the value assigned to the Batch Pilot property designated as the parameter.
Syntax
()
The name of the Batch Pilot Property whose value is to be included in the Export
file.
v BatchDir: The name and location of the application’s Batches directory.
v BatchID: The Batch Number of the current batch (20020072.003, for example.)
v JobName: The name of the current User Application job (Main, for example.)
v Operator: The User ID of the operator currently processing the batch.
v PagesInBatch: A count of all pages in the batch.
v DocsInBatch: A count of all documents in the batch. Remember: in most
configurations, a Recognition task reorganizes a batch into a series of documents
and their pages.
v Priority: The processing priority assigned to the current batch (“10” = Low, “1 =
High, “5” = Default). A task selects batches from its queue first according to
Priority.
v Station: The Station ID of the workstation currently processing the batch.
v TaskName: The name of the task with the batch in its queue.
v XtraBatchFieldValue: The value in a custom field you’ve added to the Job
Monitor’s Batch Information Table.
Returns
Level
Any level.
Details
Exports the value assigned to the Batch Pilot property that designated as the
parameter.
Example
NewLine()
Text("BatchID:")
BPilot ("BatchID"
This sequence adds "BatchID:" followed by the current Batch ID into the
Export file. For example: BatchID: 20050019.001
CloseExportFile
Closes the currently opened Export file.
Syntax
()
Parameters
None.
Returns
Always True.
Any level.
Details
This action usually belongs to its own RuleSet (ExportClose, for example), and
applies to the Batch object of the Document Hierarchy. However, it can be used at
any level.
Example
CloseExportFile()
DCOProperty
Exports the value assigned to the DCO property that you designate as the
parameter.
Syntax
()
Parameters
The name of the DCO Property whose value is to be included in the Export file.
v ID: The value of an object’s ID property. For a Batch object, this might be
20020072.003. You can apply this action at any level(s).
v ImageName: The name and location of a Page object’s Image file: for example,
c:\ParentDirectory\Invoices\batches\20030145.001\TM000001.tif.
v Status: The value assigned to an object’s Status property. You can apply this
action at any level(s).
v Type: The value assigned to an object’s Type property. You can apply this action
at any level(s).
Returns
Level
All levels.
Details
Exports the value assigned to the DCO Property that you designate as the
parameter.
Example
NewLine()
Text("Document: ")
DCOProperty("ID")
Syntax
()
Parameters
Returns
Always True.
Level
Details
ExportAllFields
Exports all field values on the current page, including values of Line Item Detail
sub-fields - with exceptions.
Syntax
()
Parameters
None.
Returns
False, if the action is not used at the Page level. Otherwise, True.
Level
Page level.
Details
This action exports all field values of the current page. However, the action does
not export those values of Field objects of the Document Hierarchy with:
1. A setup NOEXPORT variable of "1", or
ExportFieldValue
Exports the specified Field object's value to the Export file.
Syntax
(StrParam)
Parameters
The name of the Field object whose value you want to export.
Returns
Level
Page level.
Details
Exports the specified Field object's value to the Export file. Will only export the last
Field if multiple fields of the same field type are found.
Example
ExportFieldValue("Date")
ExportFieldValue("Number")
ExportFieldValue("Total")
This sequence exports the current values stored in the Date, Number and
Total fields.
ExportMYValue
Exports the current field value to the Export file.
Syntax
()
Parameters
None.
Returns
Always True.
Level
Field level.
ExportSmartParameter
Exports an evaluated smart parameter value to the Export file.
Syntax
()
Parameters
Returns
Always True.
Level
Any level.
Details
Exports an evaluated smart parameter value to the Export file. If the input
parameter is not a smart parameter, it will export an empty field.
Example
The example will export the value of a variable named Expired on field
DueDate which is a child field on the parent page (@P) of the calling node.
ExportSmartParameter("@P\DueDate.Expired")
ExportToBatchDir
Specifies that the path for the current Export file (txt) is the Batch directory.
Syntax
()
Parameters
None.
Returns
Level
All levels.
This action sets the path for the Export file to the current Batch directory.
Filler
Adds a string of identical filler characters to the Export.
Syntax
()
Parameters
Two comma-separated values. The first is a number indicating the total length in
characters of the filler. The second parameter is the filler's character.
The second parameter is optional: if you do not enter a value, the action will use
the most recent Global character setting.
Returns
False if the first parameter is not numeric or if the second parameter is more than
1 character. Otherwise, True.
Level
All levels.
Details
Adds a single filler character to the Export, repeated by the number of times
indicated in the first input parameter. The second parameter cannot be a space.
The filler string is written regardless of the data in the current field. If you wish to
use a space as a filler character, use SetSpaceFill and then call Filler without the
optional second parameter.
Example
Filler("12,n")
The action in the example fills the current field with 12 instances of the
character "n".
FixedLenLJ
Exports a specified number of characters from a field's left end (left-justified).
Syntax
()
Parameters
Returns
False, if either parameter is invalid or if the action is called at the wrong level.
Otherwise, True.
Level
Page level.
Details
FixedLenRJ
Exports a specified number of characters from a field's right end (right-justified).
Syntax
()
Parameters
Returns
False, if either parameter is invalid or if the action is called at the wrong level.
Otherwise, True.
Level
Page level.
Details
Syntax
()
Parameters
"*" stipulates the default mm/dd/yyyy construction. However, you can combine
any of the following String values to define a different format:
v
v d = day of the month, 1-31
v dd = two-digit day, 01-31
v yyyy = four-digit year
v yy = two-digit year
v m = month, 1-12
v mm = two-digit month, 01-12
v ccyy = four-digit year
v y = Julian day of the year
"." and "/" are valid separators.
Returns
Always True.
Level
All levels.
Details
GetProfileString
Accesses a Settings file (.ini) and adds a value in that file to your Export file.
Syntax
()
Parameters
1. The [Section] within the Settings file.
2. The Key entry within the section, with the value you want to retrieve.
3. The name of the Settings file.
False if the settings file cannot be found. Otherwise, True. If the settings file can be
found but the key entry cannot be found within the file, this action will return
True.
Level
All levels.
Details
Accesses a Settings file (.ini), locates the specified key and adds the value of the
key to your Export file. If the key cannot be read from the settings file, an empty
string will be written to the export. If the settings file cannot be found, nothing
will be written to the export.
Important: The action assumes that the Settings file resides in the current batch
directory. If you want the INI file to reside in the Batches directory, specify your
file name with a relative path like this: ..\myfile.ini.
Example
GetProfileString("General,MyValue,Batch.ini")
GetTime
Exports the current Time in the format specified as the parameter.
Syntax
()
Parameters
The parameter specifies the display format for the current time.
* = A single asterisk will use the HH:MM:SS time format. However, you can
combine any of the following String values to define a different format:
v
v m = minute 1-59
v s = second 1-59
v h = 1-23
v mm, min, minute = two-digit minute, 01-59
v ss, sec, second = two-digit second, 01-59
v hh, hr, hour = two-digit hour, 01-23
Returns
Always True.
Level
Any level.
Exports the current Time in the format specified by the input parameter.
Example
GetTime("*")
inserts the current time into the Export file with this format: 07:08:16
GetTime("hh-mm-ss")
inserts the current time into the Export file with this format: 07-08-16
GetTime("ss:mm:hh")
inserts the current time into the Export file with this format: 16:08:07
LineItem_AddElement
Includes the specified Line Item Field object as an element of a Line Item Array.
Syntax
()
Parameters
Returns
Always True.
Level
The parent field that contains the child Line Item field.
Details
This action includes the specified Line Item field object as an element of a Line
Item Array.
A Line Item Array accumulates and organizes captured line item values that are
retrieved from the Data file of a particular page.
Note: A rule that uses this action must be applied to the LINEITEM fields of the
Document Hierarchy.
LineItem_BlankFields
Includes the specified number of blank fields as elements of a Line Item Array.
Parameters
The number of Blank fields to export as part of the Line Item Array.
Returns
Always True.
Level
The parent field that contains the child Line Item field.
Details
This action includes the specified number of Blank Line Item fields as elements of
a Line Item Array.
A Line Item Array accumulates and organizes captured line item values that are
retrieved from the Data file of a particular page.
Attention: A rule that uses this action must be applied to the LINEITEM fields of
the Document Hierarchy.
LineItem_ClearElements
Clears values in the Line Item Array.
Syntax
()
Parameters
None
Returns
Always True.
Level
The parent Field object of the Document Hierarchy that contains a child Line Item
field, such as you may typically find in an invoice application.
This is mainly a housekeeping function you can use to be sure the array does not
contain leftover values.
Example
LineItem_ClearElements()
LineItem_ExportElements
Exports the captured values in a page's Line Item Array that have been populated
with LineItem_AddElement actions.
Syntax
()
Parameters
None.
Returns
Always True.
Level
The parent field that contains the child Line Item sub-fields.
Details
Exports the captured values in a page's Line Item Array that have been populated
with LineItem_AddElement actions.
Example
LineItem_AddElement("Price")
LineItem_AddElement("LineTotal")
LineItem_ExportElements()
NewLine()
This example exports the values included in the Line Item Array to your
Export file.
LineItem_SmartParameter
Add a smart parameter algorithm as an element of a Line Item Array.
Syntax
()
Parameters
Returns
Always True.
The parent field that contains the child Line Item field.
Details
This action permits adding a smart parameter as an element of a Line Item Array
to be evaluated during the Array processing.
A Line Item Array accumulates and organizes captured line item values that are
retrieved from the Data file of a particular page.
Important: A rule that uses this action must be applied to the LINEITEM fields of
the Document Hierarchy.
NewLine
Starts a new line in your Export file.
Syntax
()
Parameters
None.
Returns
Always True.
Level
Any level.
Details
This sequence starts a new line and adds "Export Output" to the beginning
of the line.
Syntax
()
Parameters
Returns
Always True.
Level
Page level.
Details
Exports runtime values assigned to a variable of the bound Page object of the
Document Hierarchy.
Example
PageVariable_ExportValue("TemplateID")
ResetFieldVariables
Resets the variables of the bound Field object of the Document Hierarchy.
Syntax
()
Parameters
None.
Returns
Always True.
Level
Any level.
Details
This action resets some of the export settings that can be independently set by
other actions.
v The default field fill character is reset to a space.
v Field alignment is reset to left.
v The ignore field status is reset to not ignore any fields that are based on the
status.
v Fields are no longer set to a specific length.
SaveFilePathAsVariable
Saves the path and name of your Export file to the variable specified by the
parameter.
Syntax
()
Parameters
Variable name specifying where the Export file name and path will be stored.
Returns
Always True.
Level
All levels.
Details
Saves the path and name of your Export file to the variable specified by the
parameter. If the variable does not exist, it will be created.
Example
SaveFilePathAsVariable("Export_File")
SetCSV
Ensures that all exported values are delimited by a comma separator.
Syntax
()
Parameters
Returns
Always True.
Level
All levels.
This sequence will export the captured values of the Date, Number, and
Total Field objects into your Export file. A comma will be added after each
value to separate the fields.
SetElementSeparator
Ensures that all exported values are delimited by a separator designated as the
parameter.
Syntax
()
Parameters
Returns
Always True.
Level
All levels.
Details
Ensures that all exported values are delimited by a separator designated as the
parameter.
Attention: If you wish to set your own custom separator, SetCSV(FALSE) must be
called prior to exporting fields. If SetCSV(FALSE) is not called, then your custom
element separator will not be used for export.
Example
SetCSV("FALSE")
SetElementSeparator("|")
SetExportPath
Specifies the path to the Export file's location. Alternatively, you can use a Smart
Parameter to identify a Paths.ini file that has a set of path parameters for your
application.
Syntax
()
Parameters
The complete path to the application's Export folder. Smart parameters are
supported.
Returns
Level
All
Details
The action's parameter specifies the path to the Export file's location, or uses a
Smart Parameter to retrieve a path's value from the application's Paths.ini file.
Example
SetExportPath("c:\ParentDirectory\Invoice\Export")
SetExportPath("@APPPATH(export)")
SetExtensionName
Assigns an extension to the current Export file.
Syntax
()
Parameters
The file extension you want to use, including the leading period. If you do not
want a file extension, do not pass any parameter to this action. Disallowed
characters are *><[]"/|\:? and control characters.
Returns
Always True.
Any level.
Details
Assigns an extension to the current Export file. If this action is not called, the
default value of .TXT will be used.
Example
SetFileName("Export_+@BATCHID")
SetExtensionName(".dat")
SetFileName
Assigns a name to the current Export file.
Syntax
()
Parameters
Returns
Always True.
Level
All levels.
Details
Assigns a name to the current Export file. If SetExtensionName is not called, the
file extension defaults to .TXT. If you require a different file extension, use
SetExtensionName.
Example
SetFileName("Export_+@BATCHID")
SetExtensionName(".txt")
In contrast,
SetFileName("@BATCHID")
SetExtensionName(".txt")
Syntax
()
Parameters
Returns
Level
Any level.
Details
Sets the filler character to be used to expand the current value of a field in a flat
file, if the field's allowable length is greater than the length of its current export
value.
SetFixedLength
Uses the Numeric value you enter as a parameter to establish a fixed length of a
value exported from the current field.
Syntax
()
Parameters
Returns
Level
Any level.
Uses the Numeric value you enter as a parameter to establish a fixed length of a
value exported from the current field.
SetIgnoreFieldStatus
Assigns a Numeric value to the application's SetIgnoreStatus variable. Any field
with this status cannot export data to an Export file or database.
Syntax
()
Parameters
A Numeric value that represents the status of fields to be ignored by Export tasks.
Returns
Level
Any level.
Details
This action establishes the status that determines if an Export task will export a
field's value. If the status of the field being exported matches this set value, the
field will not be exported.
This example ensures that runtime values for fields with a "1" status will
not be added to an Export file or update an Export database. (Typically, "1"
denotes a problem field.)
SetJustified
Right-justifies or left-justifies a field's exported values.
Syntax
()
Parameters
Returns
Any level.
Details
SetOMR_Separator
For multi-punch OMR fields, uses the parameter's value as the separator character.
Syntax
()
Parameters
Returns
Always True.
Level
All levels.
Details
For multi-punch OMR fields, uses the parameter's value as the separator character.
When multi-punch fields are exported, you typically do not want to use the same
separator that you are using for fields as these values are typically all within a
single field. This action allows you to specify a custom separator to be used when
exporting. If this action is not called, the default value is a space.
Example
SetOMR_Separator(";")
SetSpaceFill
Specifies the use of the ASCII 32 space as the global filler value to be used to
expand the current value of a field in a flat file, if the field's allowable length is
greater than the length of its current export value.
Syntax
()
Parameters
None.
Always True.
Level
Any level.
Details
Specifies the use of the ASCII 32 space as the global filler value to be used to
expand the current value of a field in a flat file, if the field's allowable length is
greater than the length of its current export value.
Note that the action specifies the use of the ASCII 32 "space" as the filler
character.
SetZeroFill
Sets the ASCII 48 zero as the global filler value to be used to expand the current
value of a field in a flat file, if the field's allowable length is greater than the length
of its current export value.
Syntax
()
Parameters
None.
Returns
Always True.
Level
Any level.
Details
Sets the ASCII 48 zero as the global filler value to be used to expand the current
value of a field in a flat file, if the field's allowable length is greater than the length
of its current export value.
Text
Places a string into the Export file.
Syntax
()
Parameters
Returns
Always True.
Level
Any level.
Details
This action unconditionally adds a string to the export file. No character padding
will be performed on this value.
Example
SetFileName("Export_+@BatchID")
SetExtensionName(".txt")
Text("This line will appear in the export file.")
Variable_ExportValue
Exports the value assigned to a variable of the current object of the Document
Hierarchy.
Syntax
()
Parameters
The name of the variable with the value you want to export.
Returns
Always True.
Level
Any level.
Details
Exports the value assigned to a variable of the current object of the Document
Hierarchy.
Example
Variable_ExportValue("ID")
Variable_IsValue
Checks to see if the parameter value matches the value assigned to a variable of
the current object of the Document Hierarchy.
Syntax
()
Parameters
1. The name of the variable with the value you want to compare.
2. The value you want to match with the variable's value.
Returns
True if the variable's value matches the parameter's value. Otherwise, False.
Level
Any level.
Details
Checks to see if the parameter value matches the value assigned to a variable of
the current object of the Document Hierarchy.
Example
Variable_IsValue("Invoice,Yes")
This action returns True if the value of the current Page object's Invoice
variable is Yes.
ExportDB actions
Use the ExportDB actions to set up and write information to an export database.
You build the record in memory before you commit it to the database by using
AddRecord.
The ExportDB actions open a connection to the database, specify the table to which
the data is exported, and write the batch values to the internal data record.
AddRecord
Inserts assembled data into the database table specified by a previous
SetTableName action.
Syntax
()
Parameters
None.
False if there is no connection to the database; if an error occurs when the action
attempts to add the record to the database; or if a SetTableName action was not
previously used. Otherwise, True.
Level
Details
Important: This action must be placed after earlier actions that gather data, open
the database, and access the correct table.
Example:
SetTableName("Invoice")
ExportFieldToColumn("VendorID,db_Vendor")
ExportFieldToColumn("Number,db_Number")
ExportFieldToColumn("Total,db_Total")
AddRecord()
Note: A return of False means the record may not have been successfully
exported, and needs to be followed by a failure check rule that typically
would call SetTaskStatus(0) (or the rrunner action rr_AbortBatch) to ensure
that the batch aborts.
ExportBatchIDToColumn
Exports the current Batch ID to the database column specified by the parameter.
Syntax
()
Parameters
If this parameter is not specified, quotes will be placed around the value in the
SQL query to update the table.
Setting the value to 1 causes this action to return False if the Table name is invalid;
otherwise the error will not be discovered until the action that performs the DB
insert call, such as an AddRecord action, is called. This value would typically only
be used in a development environment as it will increase processing time.
Setting the value to 3 allows NULL and if the column value is not NULL, the
column value will be surrounded in quotes in the SQL query to update the
database.
Returns
False if the second parameter is set to "1" and the parameters do not identify a
valid database column. Otherwise, True.
Level
Details
Exports the current Batch ID to the database column specified by the parameter.
The action also has an optional Style parameter with two values.
Example:
SetTableName("Export_Results")
ExportBatchIDToColumn("db_BatchID,1,2")
ExportFieldToColumn("Date,db_Date")
ExportFieldToColumn("Total,db_Total")
AddRecord()
ExportCloseConnection
Closes an open connection to your Export database.
Syntax
()
Parameters
None.
Returns
Level
All, but generally used as part of a separate RuleSet at the Batch level.
Details
Usually, this action is placed in a RuleSet that is separate from the RuleSet that
opens the connection and stores the data.
For example this action could be placed into a RuleSet called ExportDBClose, and
attached to a batch level close event which executes after all data has been
exported from the batch to the specified database.
This action closes the previously opened connection to the Export database.
This action is usually part of a separate RuleSet that prevents the need to
repeatedly open the connection to the Export database. (You can open the
connection once in the first RuleSet, export data from all documents and
pages in the batch, then close the connection once in the second RuleSet.)
ExportFieldToColumn
A page-level action that extracts the captured value of a Field object from the Data
file of the current page, and specifies its target location within a table of the Export
database.
Syntax
()
Parameters
If this parameter is not specified, quotes will be placed around the value in the
SQL query to update the table.
Setting the value to 1 causes this action to return False if the Table name is invalid;
otherwise the error will not be discovered until the action that performs the DB
insert call, such as an AddRecord action, is called. This value would typically only
be used in a development environment as it will increase processing time.
Setting this value to 2 allows NULL column values and inserts no quotes around
values (for numeric) in the SQL query to update the database.
Setting the value to 3 allows NULL and if the column value is not NULL, the
column value will be surrounded in quotes in the SQL query to update the
database.
Returns
False if:
1. There is no connection to the database.
2. The database column specified as a parameter does not exist.
3. The Field object identified by the parameter does not exist.
4. A SetTableName action was not used previously.
Otherwise, True.
Level
This is a page-level action that extracts the captured value of a Field object from
the Data file of the current page, and specifies its target location within a table of
the Export database.
Within a rule, this action should run before an AddRecord action, which commits
the data to the database.
Example:
SetTableName("Export_Results")
ExportFieldToColumn("VendorID,db_Number,2")
ExportFieldToColumn("Date,db_Date")
ExportFieldToColumn("Total,db_Total")
AddRecord()
This action exports the captured value of three Field objects from the Data
file of the current page, to corresponding columns of the Export_Results
table, within the open Export database. It also provides the action with an
optional Style value.
ExportNodeXMLToColumn
Exports the value of the XML property of the bound object (node) of the Document
Hierarchy to a column of the Export database.
Syntax
()
Parameters
Setting the value to 1 causes this action to return False if the Table name is invalid;
otherwise the error will not be discovered until the action that performs the DB
insert call, such as an AddRecord action, is called. This value would typically only
be used in a development environment as it will increase processing time.
Setting the value to 3 allows NULL and if the column value is not NULL, the
column value will be surrounded in quotes in the SQL query to update the
database.
False if:
1. There is no connection to the database.
2. The column identified by the parameter does not exist.
3. A SetTableName action was not previously used.
4. The smart parameter path does not point to a valid object of the Document
Hierarchy.
Otherwise, True.
Level
Details
This action exports the value of the XML property of the bound object (node) of
the Document Hierarchy to a column of the Export database.
Example:
ExportNodeXMLToColumn("@P\MyField,MYDBCOLUM")
ExportOpenConnection
Opens a connection to the database specified as the parameter.
Syntax
()
Parameters
The Connection String of the target export database. Use Smart parameters to
avoid clear text passwords in your application.
Returns
Level
Details
A rule that contains this action can apply to any object of the Document Hierarchy,
but it is most often used at the batch level.
Example:
ExportOpenConnection("@APPVAR(values/dsn/exportdb:cs)")
Note: This action must come before any other ExportDB actions. This
example uses smart parameters to obtain the connection string from the
application service where the custom connection string key exportdb was
Note: Although the Oracle and SQL Server examples show the connection
string, it is recommended that a smart parameter is used to obtain the
connection string from the application service, as shown in the first
example, to provide password security and application portability.
ExportPropertyToColumn
Adds the value of a property (variable) of the selected object to a column of the
Export database
Syntax
()
Parameters
Setting the value to 1 causes this action to return False if the Table name is invalid;
otherwise the error will not be discovered until the action that performs the DB
insert call, such as an AddRecord action, is called. This value would typically only
be used in a development environment as it will increase processing time.
Setting this value to 2 allows NULL column values and inserts no quotes around
values (for numeric) in the SQL query to update the database.
Setting the value to 3 allows NULL and if the column value is not NULL, the
column value will be surrounded in quotes in the SQL query to update the
database.
Returns
False if:
1. There is no connection to the Export database.
2. The column of the database does not exist.
3. The property (variable) identified by the parameter does not exist.
4. A SetTableName action was not used previously.
Level
Details
Adds the value of a property (variable) of the selected object to a column of the
Export database.
Example:
SetTableName("Export_Results")
ExportFieldToColumn("VendorID,db_Number")
ExportPropertyToColumn("Status,db_PageStatus,2")
ExportFieldToColumn("Total,db_Total")
AddRecord()
ExportSmartParamToColumn
Adds the evaluated value of a smart parameter to a column of the Export database
Syntax
()
Parameters
Setting the value to 1 causes this action to return False if the Table name is invalid;
otherwise the error will not be discovered until the action that performs the DB
insert call, such as an AddRecord action, is called. This value would typically only
be used in a development environment as it will increase processing time.
Setting this value to 2 allows NULL column values and inserts no quotes around
values (for numeric) in the SQL query to update the database.
Setting the value to 3 allows NULL and if the column value is not NULL, the
column value will be surrounded in quotes in the SQL query to update the
database.
Returns
False if:
1. There is no connection to the database.
2. The column identified by the parameter does not exist.
3. A SetTableName action was not previously used.
Level
Details
Using the database opened by an earlier ExportDB action, this action will store a
value into the specified column for the current row.
The action allows the input value to be specified with a smart parameter.
Example:
ExportSmartParamToColumn("@P\MyField.TYPE,EXPDBCOLUM")
ExportToColumn
A field-level action that exports the captured value of the current Field object from
the page's Data file to a target column within a previously designated table of an
open Export database.
Syntax
()
Parameters
Setting the value to 1 causes this action to return False if the Table name is invalid;
otherwise the error will not be discovered until the action that performs the DB
insert call, such as an AddRecord action, is called. This value would typically only
be used in a development environment as it will increase processing time.
Setting this value to 2 allows NULL column values and inserts no quotes around
values (for numeric) in the SQL query to update the database.
Setting the value to 3 allows NULL and if the column value is not NULL, the
column value will be surrounded in quotes in the SQL query to update the
database.
Returns
False if:
1. There is no connection to the database.
2. The column identified by the parameters does not exist.
3. A SetTableName action was not previously used.
Otherwise, True.
Details
This field-level action exports the captured value of the current Field object from
the page's Data file to a target column within a previously designated table of an
open Export database. Optionally, it can assign a Style to the action.
Example:
Batch Level:
ExportOpenConnection("@APPVAR(values/dsn/exportdb:cs")
SetTableName("Export_Results")
Current field:
ExportToColumn("db_Date,3")
Last Field:
AddRecord()
This example exports the captured value of the Field object to which the
rule applies, from the Data file of the current page to the db_Date column
of the Export_Results table, within the Export database.
It also uses the second, optional parameter value to assign a Style to the
action.
SetTableName
Sets the name of the table in your database to which the data is to be exported.
Syntax
()
Parameters
If the table name is not valid, SetTableName will return False. Note that this value
causes an extra database call so it is typically specified only during development,
not in a production system as it will increase the number of database calls and
running time.
If the second parameter is not specified, this action will always return True.
If the specified table name is in valid, an error will be returned when the current
row is inserted to the database on the next AddRecord call.
Returns
Returns False only if the first parameter contains an invalid table name and a
value of 1 is specified as a second parameter. Otherwise this action always returns
True.
All.
Details
Sets the name of the table in your database to which the data is to be exported.
This action needs to be used before the AddRecord action.
Example:
SetTableName(Export_Results,1)
ExportFieldToColumn(MyDate, db_Date)
AddRecord()
ExportXML actions
Use the ExportXML actions to set up and write information to an export XML file.
The ExportXML actions can create nodes, assign attribute values to nodes, and
specify the path to the storage location and the name of the export XML file.
xml_CommitNode
Commits (closes) current xml node with the xml tag value of the parameter.
Syntax
()
Parameters
Returns
Always True.
Level
All.
Details
This action closes the specified node, which allows a new node with the same tag
to be created at the same hierarchical level in the output xml. This action can use
Smart Parameters.
Example
xml_CommitNode("LineTotal")
Example commits (closes) the current xml node with a Tag Line Total.
xml_NewNode
Creates a child node under the specified parent node, creating the parent node if
necessary.
Syntax
()
Returns
True, if parent node exists. False, if duplicate root node is declared, or parent
NodeID does not exist.
Level
All.
Details
The new NodeID followed by the parent NodeID creates a new Node in the
Export XML file. The action can use Smart Parameters.
The first xml_NewNode action in a rule set creates the root node of the XML file
using the new child NodeID. The parent NodeID must be blank.
Example
xml_SetExportPath("C:\ParentDir\APT")
ml_SetFileName("@BATCHID")
xml_NewNode("B")
ml_SetAttributeValue("B,id,@BATCHID")
The example starts an export XML file that is named the same as the
current batch ID. It has a root node B whose id is assigned the batch ID. It
is expected that more rules continue to build the XML structure. The last
action that was called must call xml_SaveFile to save the export file to
disk.
xml_NewNode("ClaimsData,HCFA")
xml_SaveFile
Commits all unsaved nodes and saves the XML file to disk.
Syntax
()
Parameters
None.
Returns
Details
You must use this action to complete the creation of the export XML file.
Example
xml_SaveFile()
xml_SetAttributeValue
Assigns attributes to a specific node.
Syntax
(StrParam)
Parameters
Returns
Level
All.
Details
The following example shows how creation of an XML for invoice line
items might look.
xml_NewNode("LineItem,Invoice")
xml_SetAttributeValue("LineItem,id,@ID")
xml_NewNode("ItemID,LineItem")
xml_SetNodeValue("IdemID,@F\ItemID")
xml_NewNode("ItemDesc,LineItem")
xml_SetNodeValue("ItemDesc,@F\ItemDesc")
xml_NewNode("Qty,LineItem")
xml_SetNodeValue("Qty,@F\Qty")
xml_CommitNode("LineItem")
xml_SetExportPath
Specifies the full path to the directory that will store the export XML file.
Parameters
Specifies the full path to the directory that stores the export XML file. If this action
is not called, the XML file is saved in the batch directory. Smart parameters are
supported.
Returns
Always True.
Level
All.
Details
This action will only set the path. You will still need to use xml_SetFileName to set
the name of the export file.
Example
xml_SetExportPath("C:\Invoice\ExportXML")
xml_SetFileName("@BatchID")
xml_SetFileName
Specifies the name for the export XML file, which does not include the .xml
extension.
Syntax
bool xml_SetFileName(StrParam)
Parameters
Returns
Always True.
Level
All.
Details
This action is required to set the name of the XML Export file. This action can be
called at any level, but it is usually called at the batch level. If the
xml_SetExportPath action is not called, the file is saved in the batch folder.
Example
xml_SetExportPath("C:\Invoice\ExportXML")
xml_SetFileName("@BatchID")
xml_SetNodeValue
Sets the value of the specified node.
Parameters
Returns
Always True.
Level
All.
Details
Assigns a value to a specific node. The action can use Smart Parameters.
Example
The following example shows how creation of an XML for invoice line
items might look.
xml_NewNode("LineItem,Invoice")
xml_SetAttributeValue("LineItem,id,@ID")
xml_NewNode("ItemID,LineItem")
xml_SetNodeValue("IdemID,@F\ItemID")
xml_NewNode("ItemDesc,LineItem")
xml_SetNodeValue("ItemDesc,@F\ItemDesc")
xml_NewNode("Qty,LineItem")
xml_SetNodeValue("Qty,@F\Qty")
xml_CommitNode("LineItem")
FileIO actions
Use the FileIO actions to do various file system functions.
The FileIO actions can check for available disk space, copy or delete directories,
and write file values to a specified variable.
CheckFreeDiskSpace
Checks the size of the available disk space.
Member of namespace
FileIO
Syntax
CheckFreeDiskSpace(string DriveLetter, string Threshold, string TargetVariable)
string DriveLetter
string Threshold
string TargetVariable
Parameters
DriveLetter: The drive letter to test for available disk space. UNC paths are not
supported.
TargetVariable: Optional. The DCO variable to store the value of the available
disk space.
Returns
False If the threshold is specified and the amount of free disk space is less than
the specified value. If the target variable is provided but cannot be set or if the
drive letter is invalid. Otherwise, True.
Level
Any level.
Details
Checks that the amount of available disk space on drive D is at least 1000
bytes. It also stores the amount of free space in the page level runtime
DCO variable FreeSpace.
CheckFreeDiskSpace("D","@B.MyLimit","")
Only checks that the amount of available disk space on drive D is at least
as much as the value specified in the batch level variable MyLimit.
CheckFreeDiskSpace("D","","@P.FreeSpace")
Stores only the amount of free space in the page level runtime DCO
variable FreeSpace.
CopyDirectory
Copies a directory and its subdirectories
Member of namespace
FileIO
Parameters
SourceDirectory
Type: string
DestDirectory
Type: string
Recursive
Type: bool
Parameters
v SourceDirectory : The path of the directory to copy.
v DestDirectory : The path to the destination directory.
v Recursive : True copies the directory files and subdirectories. False only copies
the files in the initial directory.
Returns
False if a failure occurs when copying a directory. If some of the files have been
copied prior to the failure, those files remain. Otherwise, True.
Level
Any level.
Details
Copies the source directory to the target directory. If the target directory does not
exist, it will be created, however the parent directory does need to exist.
Example
CopyDirectory("C:\MyDir1\MyDir2","C:\MyNewDir",True)
This example copies MyDir2 and all files and subdirectories to C:\MyNewDir.
CopyFile
Copies a file.
Member of namespace
FileIO
Syntax
CopyFile(string sourcefile, string targetfile, bool overwrite)
Parameters
string sourcefile
string targetfile
Parameters
sourcefile: The name and path of the file to copy. Smart parameters are
supported.
targetfile: The target path and file name. Smart parameters are supported.
Returns
Level
All levels.
Details
The file is copied from one location to the specified location. If a file of the same
target name exists in the target directory, the overwrite parameter determines
whether that file is overwritten by the new file. The output directory must exist for
this action to succeed. You can use action IsDirectoryPresent to create the target
directory.
If target file ends with a backslash, meaning only the target directory is specified,
the same file name from the source string is used as the target file.
Because the target file name can be different from the source file, this action allows
the copied file to be renamed in one step. If you want to do a "move" operation,
call the DeleteFile action to remove the source file.
Smart parameters are supported in the source and target file name parameters.
DOS * and ? wildcards are not supported.
Example
CopyFile("C:\MyFile.txt", "c:\temp\+@BATCHID+.txt", true)
This action copies MyFile.txt to the temp directory and give it a new name
of the current batch ID.
CopyFile("@VAR(IMAGEFILE)", "c:\temp\", true)
This action copies the file that is specified by the variable IMAGEFILE and
copies it to the temp directory.
DeleteDirectory
Deletes a directory and optionally deletes subdirectories
Member of namespace
FileIO
Parameters
string Directory
bool Recursive
bool FailureReturnValue
Parameters
Recursive: True deletes the directory and all files and subdirectories. False deletes
only the directory and requires that the directory is empty.
FailureReturnValue: True causes the action to always return True, even if the
delete fails. False causes the action to return False if the directory delete fails.
Returns
If a failure occurs when you delete a directory, the action returns the value of
FailureReturnValue. This result lets you determine whether the action returns True
or False on a directory failure. Depending on the application, it might make sense
to ignore a delete failure so this action can be set to always return True.
Level
Any level.
Details
This example deletes MyDir2 and all files and subdirectories. If the delete
fails, the action still returns True.
DeleteFile
Deletes a file.
Member of namespace
FileIO
Syntax
DeleteFile ()
Parameters:
filename: The name and path of the file to delete. Smart parameters are supported.
Returns
Always True.
Level
All levels.
Details
Deletes the specified file. DOS wildcards are permitted in the file name.
Example
The following example deletes the specific file.
DeleteFile("C:\Temp\DeleteThis.txt")
The following example deletes all of the files in the Temp directory.
DeleteFile("C:\Temp\*.*")
The following example deletes the file name that matches the current batch
ID and has an extension of TXT.
DeleteFile("C:\Temp\@BATCHID+.txt")
GetFileSize
Obtains the size of a file and stores it in the specified variable.
Member of namespace
FileIO
Syntax
GetFileSize ()
Parameters
filename
Type: string
targetVariable
Type: string
Parameters
v filename : The name and path of the file.
v targetVariable : The name of the variable to store the file size. The variable level
must be specified with a Smart Parameter.
Level
All levels.
Details
The size of the specified file will be stored into the specified variable. This can be
helpful to test for problems, such as empty files. Subsequent actions can perform
tests on the stored value and act upon it.
If the specified file is not found, the action will return True and a size of 0 will be
stored into the variable. If any other kind of error occurs, the action will return
False and the variable may or may not be set to 0.
Example
GetFileSize("C:\Temp\MyFile.txt", "@B.MyVariable")
This example sets the file size in the variable MyVariableat the batch level.
GetProfileString
Reads a key value from a settings file.
Member of namespace
FileIO
Syntax
GetProfileString ()
Parameters
filename
Type: string
section
Type: string
key Type: string
targetVariable
Type: string
Parameters
v filename : The INI file name.
v section : The section within the file.
v key : The key within the section.
v targetVariable : The variable where to store the value. The variable level must be
specified with a smart parameter.
True if the settings file exists and the target variable is valid. Otherwise, False.
Level
All levels.
Details
Reads the value from a settings file, typically a .INI file, and stores it into the
variable specified. If the variable does not exist, it will be created. If the key does
not exist but the file does exist, the action will still return true and an empty string
will be stored in the variable. If you need to test for a blank key value, you can use
the IsProfilePresent action.
If you are reading Unicode characters from an INI file, it is required that the file is
in a format that supports Unicode. If the file is not a Unicode format, the Unicode
characters may appear incorrectly when read by GetProfileString or displayed in
an editor. Most file editors will let you chose the type of file encoding. See the help
for your specific editor.
Example
GetProfileString("C:\Settings.ini", "MySection", "MyKey", "@B.MyVariable")
IsDirectoryPresent
Determines if the specified directory exists and optionally creates it.
Member of namespace
FileIO
Syntax
IsDirectoryPresent ()
Parameters
directoryName
Type: string
create Type: bool
testExistence
Type: bool
Parameters
v directoryName : The directory path to test. Smart parameters are allowed.
v create : Specifies if the directory should be created. True creates the directory, if
it does not exist.
v testExistence : Determines if True should be returned if the directory exists or
does not exist.
If testExistence is True, the action will return True if the directory exists or if the
directory did not exist but was successfully created.
If testExistence is False, the action will return True if the directory does not exist.
This allows you to perform negative tests that will return true when a directory
does not exist.
Level
All levels.
Details
Checks for the existence of a directory. Depending on the input parameters, if the
directory does not exist, the action creates the directory. The meaning of the return
value can be changed using the testExistence parameter. This allows rules to
continue if a directory exists or rules can continue if a directory does not exist.
Example
IsDirectoryPresent("c:\temp", true, true)
This example creates the directory C:\temp, if it does not exist, and returns
True if the directory exists or was created successfully.
IsDirectoryPresent("c:\temp", true, false)
This example creates the directory C:\temp, if it does not exist, and returns
False if the directory exists or was created successfully.
IsFilePresent
Determines if the specified file exists.
Member of namespace
FileIO
Syntax
IsFilePresent ()
Parameters
filename
Type: string
testExistence
Type: bool
Parameters
v filename : The file name and path. Smart parameters are allowed.
v testExistence : true tests that the file exists, false tests that the file does not exist.
If testExistence is True, the action will return True if the file exists. If testExistence
is False the action will return True if the file does not exist. If an error occurs, the
action will return False.
Level
All levels.
Details
Checks for the existence of a file. Depending on the testExistence parameter, the
action can return true if a file exists or true if a file does not exist to provide
flexibility when creating rules.
Example
IsFilePresent("C:\MyDir\MyFile.abc", false)
In this example, if the file does not exist, the action returns True and any
subsequent actions are processed.
IsFileReadOnly
Tests the read only attribute of a file.
Member of namespace
FileIO
Syntax
IsFileReadOnly ()
Parameters
filename
Type: string
testForReadOnly
Type: bool
Parameters
v filename : The file name and path of the file to test. Smart parameters are
allowed.
v testForReadOnly : Determines if the action should return true for read-only or
read-write.
Returns
If testForReadOnly is True, the action returns True if the file is read only.
If testForReadOnly is False, the action returns True if the file is not read only.
If an error occurs, or if the file does not exist, the action returns False.
Level
All levels.
if the file myfile.txt is set to read only, the action returns True.
IsFileReadOnly("c:\mydir\myfile.txt", false)
if the file myfile.txt is not set to read only, the action returns True.
IsProfilePresent
Tests that a profile exists and that a specific section and key exists within it.
Member of namespace
FileIO
Syntax
IsProfilePresent ()
Parameters
filename
Type: string
section
Type: string
key Type: string
testExistence
Type: bool
Parameters
v filename : The INI file name.
v section : The section within the file.
v key : The key within the section.
v testExistence : true tests that the it exists, false tests that it does not exist.
The filename, section, and key parameters can accept smart parameters.
Returns
True if testExistence is true and the section and key is found within the profile and
the key has an assigned value. True if testExistence is false and the section or key
is not found within the profile or the key value is blank. Otherwise, False.
Level
All levels.
Details
Checks that a specific section and key exists within a settings file, typically an INI
file. It does not test the value of the key, only that a value exists.
RenameFile
Renames or moves the specified file.
Member of namespace
FileIO
Syntax
RenameFile ()
Parameters
oldName
Type: string
newName
Type: string
overwrite
Type: bool
Parameters
v oldName : The source file name and path. Allows smart parameters.
v newName : The destination file name and path. Allows smart parameters.
v overwrite : Specifies if the destination file should be overwritten. True
overwrites an existing file.
Returns
Level
All levels.
Details
Renames the specified file to the new name. If the directories for the original and
new file names are different, the file will be moved to the new directory. If the
overwrite parameter is true, the file will overwrite an existing file. If overwrite is
false, an existing file will not be overwritten.
Example
RenameFile("C:\MyDir\File1.txt", "C:\MyDir\File2.txt", true)
This example renames the file within the same directory, overwriting any
existing file called File2.txt.
RenameFile("C:\MyDir\File1.txt", "C:\New\File1.txt", true)
This example moves the file from MyDir to New, overwriting any existing
file called File1.txt.
Member of namespace
FileIO
Syntax
SetFileReadOnly ()
Parameters
readonly
Type: bool
filename
Type: string
Parameters
v readonly : true turns on the read only attribute, false turns it off.
v filename : The path and filename. Smart parameters and DOS wildcards are
allowed.
Returns
Always True.
Level
All levels.
Details
Sets a the read only attribute of a file, or a group of files. The read only attribute
can be set or cleared with this action. Standard DOS * and ? wildcards can be used
to affect a change on multiple files at once.
Example
SetFileReadOnly(false, "C:\MyDir\*.*")
SetProfileString
Writes a value to a profile file, typically called an INI file.
Member of namespace
FileIO
Syntax
SetProfileString ()
Parameters
filename
Type: string
Parameters
v filename : The profile file name.
v section : The section within the file.
v key : specifies if the destination file should be overwritten.
v value : The value to write. Smart parameters are supported for each of the input
parameters.
Returns
Level
All levels.
Details
Writes a value to a settings profile, typically a file with an INI extension. The value
is stored in the variable provided as a parameter. If the variable does not exist, it
will be created. If the variable does exist, the current value will be replaced with
the new value. If the file does not exist, the file will be created.
If you are writing Unicode characters to the INI file, it is required that the file exist
and that it is in Unicode format. If the file is not a Unicode format, the Unicode
characters may appear incorrectly when read by GetProfileString or displayed in
an editor. Most file editors will let you chose the type of file encoding. See the help
for your specific editor.
Example
SetProfileString("C:\MyDir\config.ini","MySection","MyKey","Batch+@BATCHID")
SplitFileName
Splits a file name into user specified variables.
Member of namespace
FileIO
Syntax
SplitFileName ()
Parameters
inputFilename
Type: string
rootPathVariable
Type: string
pathVariable
Type: string
Parameters
v inputFilename : The input file name to break into its three logical parts.
v rootPathVariable : The name of the variable to store the root path.
v pathVariable : The name of the variable to store the file path.
v fileVariable : The name of the variable to store the file name without the
extension.
v extVariable : The name of the variable to store the file extension.
Smart parameters are supported for each of the input parameters. For each of the
parameters that accept a variable, the level must be specified with a Smart
Parameter.
It is not necessary to specify a variable name for each part of the path that is split.
Only destination variables for the desired values need to be specified. If you do
not want to store a particular file name part, leave that parameter blank.
Returns
False if the structure of the file name or path is invalid. Otherwise, True. The file
does not need to exist for this action to succeed.
Level
All levels.
Details
This action splits the input file name into its root path, path, file name and the
extension, and place each of the parts into their own variables. The file does not
need to exist.
If the file contains a file extension, the saved file extension will contain a preceding
period.
Example
SplitFileName("C:\Dir1\Dir2\MyFile.abc","@B.FROOT","@B.FPATH", "@B.FNAME","@B.FEXT")
This example splits the file and saves the information into 4 variables at the batch level:
FROOT = "C:\"
FPATH = "C:\Dir1\Dir2"
FNAME = "MyFile"
FEXT = ".abc"
SplitFileName("@VAR(IMAGEFILE)","","","","@B.EXT")
Obtains the value stored in the variable IMAGE file and only saves the file extension into a variable called EXT.
FileNetIDM actions
Use the FileNetIDM actions to upload documents into an FileNet Image Services
library
The FileNetIDM actions integrate Datacap applications with the FileNet Image
Services library. You run these actions to access the FileNet Image Services server,
set up document attributes and folders on the server, and upload documents to the
server for storage.
Syntax
()
Parameters
None.
Returns
False if action is placed at the Batch level, if the current active FileNet document
has already been committed to the Library, or if no documents exist in the batch.
Otherwise, True.
Attention: If the action cannot access the batch’s image files, the action directs the
Rulerunner task to finish with a status of Aborted.
Level
Details
Assigns all images associated within a Document object (or parent Document
object) of the Document Hierarchy to the new FileNet document.
This action is valid for IS libraries only. DS libraries only permit a single associated
file. This action solicits information from the Rulerunner task’s Page file
(upload.xml, for example) as it assigns Image files representing pages linked to a
Document object or child Page objects of the Document Hierarchy to the FileNet
document.
AddFileToDocument
Adds a file to the current FileNet document.
Syntax
()
Parameters
String value of the File name to add to the document and its path. Smart
Parameters are supported.
Returns
False if the specified file is not found, or if the active FileNet document has
already been committed to the library. Otherwise, True.
Level
All levels.
Details
Adds any file you designate as a parameter to the current FileNet document.
If the parameter does not include a path to a folder, the action will use the path to
the current Batches directory as the default. You can also designate a variable of
the bound object of the Document Hierarchy as the source of path’s value by using
the # character followed by the variable’s name. For example: #FilePath.
Example
NewDocument("1040EZtwo")
AddTIFImageToDocument()
AddFileToDocument("C:\Datacap\MQSW\Process\FNLog.log")
This sequence assumes that Datacap logs its FileNet activities and that a
resulting Log file is available for the document.
AddPDFImageToDocument
Adds a PDF image file to the new FileNet document.
Syntax
()
Parameters
None.
Returns
False if no Page component of the calling object is found, batch images cannot be
accessed, or if the active FileNet document has already been committed to the
library. Otherwise, True.
Attention: If the action cannot access the batch’s image files, the action directs the
Rulerunner task to finish with a status of Aborted.
Level
Details
Adds a PDF Image file associated with a Page object of the Document Hierarchy to
the new FileNet document. This action works only if the PDF file is in the
appropriate folder of the application’s Batches directory – and has the same name
as an associated page’s corresponding Tiff Image file.
Example
NewDocument("1040EZtwo")
AddPDFImageToDocument()
AddTIFImageToDocument
Adds a TIF image file to the new FileNet document.
Syntax
()
Parameters
None.
Returns
False, if no Page component of the calling object is found, batch images cannot be
accessed, or if the active FileNet document is already committed to the library.
Otherwise, True.
Attention: If the action cannot access the batch's image files, the action directs the
Rulerunner task to finish with a status of Aborted.
Level
Details
Adds the Image file that is associated with a Page object of the Document
Hierarchy to the new FileNet document.
If a rule that contains this action is bound to a Field object, it adds the Image file
that is associated with the field’s parent Page object. An Upload action must stay
at any level lower than this action.
Example
NewDocument("1040EZtwo")
AddTIFImageToDocument()
This sequence associates the calling component’s bound Image file with a
new FileNet 1040EZtwo document.
CreateFolder
Creates a top-level FileNet folder.
Syntax
()
Parameters
Returns
Details
FileNetDB_ADOConnect
Establishes an ActiveX Data connection object with FileNet.
Syntax
()
Parameters
None.
Returns
Level
All levels.
Details
Establishes an ActiveX Data Connection object (ADO connection) with the specified
FileNet database.
Example
Library_IS_Initialize("DefaultIMS:Domain:FileNet")
LibraryLogin("Admin,AdOK")
FileNetDB_ADOConnect()
FileNETDocID_SaveAsSmartParameter
Assigns the ID of the FileNet document to a variable of the bound object in the
Document Hierarchy.
Syntax
()
Parameters
None.
Returns
False, if no active FileNet document is found or if the active FileNet document has
not been committed. Otherwise, True.
All levels.
Details
Assigns the FileNet document’s ID to the TEXT variable of the bound object of the
Document Hierarchy.
Example
NewDocument("1040EZtwo")
AddAllImagesToDocument()
Upload()
FileNETDocID_SaveAsSmartParameter()
FileNETDocID_SetValue
Assigns the ID of the FileNet document to a child object of the bound object in the
Document Hierarchy.
Syntax
()
Parameters
Returns
False if an active FileNet document is not found; if the active FileNet document
has not been committed; or if the child Field object was not found. Otherwise,
True.
Level
Details
Assigns the FileNet Document’s ID to a child Field object of the bound Document,
Page or parent Field object of the Document Hierarchy.
Example
NewDocument("1040EZtwo")
AddAllImagesToDocument()
Upload()
FileNETDocID_SetValue("DocID")
GetDocuments
Logs the names of the documents in the FileNet collection.
Syntax
()
None.
Returns
Always True.
Level
All levels.
Details
A utility action used to aid debugging, it logs the names of the documents in the
collection. This action is used to help verify the FileNet connection and that
documents have been created. It is recommended that this is used for debugging
and not in a normal production environment.
Example
GetDocuments()
GetTopFolders
Lists the existing top-level folders in the log file of the task.
Syntax
()
Parameters
None.
Returns
Level
All levels.
Details
Lists existing top-level FileNet folders in the current task’s Log file.
Example
GetTopFolders()
IndexProperty_ID_Component
Links the property of the FileNet document to an object of the Document
Hierarchy.
Syntax
()
Returns
False if the FileNet property specified is invalid, or the FileNet Property Collection
does not exist. Otherwise, True.
Attention: If the action returns False, the action directs the Rulerunner task to
finish with a status of Aborted.
Level
Details
This action links the property of the FileNet document to an object of the
Document Hierarchy.
Example
IndexProperty_ID_Component("FNBatch,1040EZ,18")
IndexProperty_ID_Component("FNDoc,1040EZTwo,22")
IndexProperty_ID_Component("FNPageF,Front,12")
IndexProperty_ID_Component("FNPageB,Back,12")
IndexProperty_ID_Component("FNFldLast,Last,18")
IndexProperty_ID_Component("NFldFirst,First,18")
IndexProperty_ID_Component("NFldMI,MI,2")
IndexProperty_ID_DateComponent
Sets up the Date element of the processing index of the FileNet task.
Syntax
()
Parameters
Returns
False if the FileNet property specified is invalid, or the FileNet Property Collection
does not exist. Otherwise, True.
Attention: If the action returns False, the action directs the Rulerunner task to
finish with a status of Aborted.
Level
Details
This element can supply Date information to a Date property of the FileNet
document.
The parameters can use these Date formats: cc Century 20 yy Year 03 yyyy Year
2003 dd Day 29 mm Month 06 Julian Year/Day 03-145
Example
IndexProperty_ID_Date_Component("FNStart,1040EZ,mm/dd/yy,yyyy/mm/dd")
This example re-formats the value of the Batch object’s Start Date and
assigns it to the FNStart property of the FileNet document.
IndexProperty_ID_Value
Assigns a constant value to a particular property of a FileNet document.
Syntax
()
Parameters
Returns
Level
All levels.
IndexProperty_LeftJUSTIFY
Left-justifies a value that is being assigned to a target property of the FileNet
document.
Syntax
()
Parameters
Returns
Level
All levels.
Details
This sequence provides the FNFldData property with a value, then formats
the value before it is actually assigned to the active FileNet document.
IndexProperty_RightJUSTIFY
Right-justifies a value that is being assigned to a target property of the FileNet
document.
Syntax
()
Parameters
Returns
Level
All levels.
Details
This sequence provides the FNFldData property with a value, then formats
the value before it is actually assigned to the active FileNet document.
IndexProperty_SmartParameter
Assigns a constant value to a particular property of a FileNet document.
Syntax
()
Parameters
1. The name of the FileNet document’s target property.
2. The value to assign to the property.
3. The length of the property value (space filled).
Returns
Level
All levels.
Details
Library_DMA_Initialize
Initializes but does not open the FileNet DMA library.
Syntax
()
Parameters
Returns
Note: If the action returns False, the action directs the Rulerunner task to finish
with a status of Aborted.
Level
Details
Do not confuse the Library Name with the local FileNet Neighborhood label. In
some cases, the formal three-part Library Name must be used to properly
configure initialization. Please check your FileNet documentation on how to
discern your formal library name.
Example
Library_DMA_Initialize("DMALibrary:Datacap:FileNet")
This action initializes but does not open the library – see Library_Login.
Library_DS_Initialize
Initializes a previously defined, active Document Services Library.
Syntax
()
Parameters
String value consisting of the three colon-separated elements of the Library Name.
Smart Parameters are supported.
Returns
Level
Details
Do not confuse the Library Name with the local FileNet Neighborhood label. In
some cases, the formal three-part Library Name must be used to properly
configure initialization. Please check your FileNet documentation for guidelines on
designating a formal Library Name.
Example
Library_DS_Initialize("DSLibrary:Datacap:FileNet")
This action initializes but does not open the library – see Library_Login.
Library_IS_Initialize
Initializes a previously defined, active Image Services library.
Syntax
()
Parameters
String value containing the Library name. The Library name will commonly consist
of three, colon-separated elements of the Library Name. In some cases, the short
name can be used. Smart Parameters are supported.
Returns
Attention: If the action returns False, the action directs the Rulerunner task to
finish with a status of Aborted.
Level
Details
In some cases, the formal three-part Library Name should be used to properly
configure initialization. However, there may be some cases where configuring the
library through the IDM Configuration tool first and then passing the short name
could be used. Please check your FileNet documentation for guidelines on
designating a formal Library Name.
Example
Library_IS_Initialize("LibraryName")
This action initializes but does not open the library – see Library_Login.
Syntax
bool Library_Login(StrParam)
Parameters
String values of the User ID and Password, with a comma separator. Smart
Parameters are supported.
Returns
False if an active library is not found, the parameter values are incorrect, or an
error occurs while logging into the library. Otherwise, True.
Attention: If the action returns False, the action directs the Rulerunner task to
finish with a status of Aborted.
Level
Details
Logs into the initialized FileNet library using the User ID and Password parameter
values. You must include this action to access a library. Be sure the Library_Login
action follows one of the Library_Initialize actions.
Example
Library_DS_Initialize("DefaultLib:Datacap:FileNet")
Library_Login("FileNet2,FN2")
Library_IS_Initialize("LibraryName")
Library_Login("@APPVAR(values/gen/ISUser),@APPVAR
(values/adv/ISPassword)")
Library_IS_Initialize("LibraryName")
Library_Login("@STRING(@APPVAR
(values/gen/ISUser),@APPVAR(values/adv/ISPassword))")
Library_LogOff
Closes the FileNet connection to the Image Services library.
Syntax
()
Parameters
None.
Returns
Details
NewDocument
Sets up a new document and assigns a previously defined Document Class to it.
Syntax
()
Parameters
String value of a previously defined FileNet Document Class. Smart Parameters are
supported.
Returns
Attention: If the action returns False, the action directs the Rulerunner task to
finish with a status of Aborted.
Level
All Levels.
Details
Sets up a new FileNet document, and assigns the FileNet Document Class you
specify as an argument to the new FileNet document.
SaveDocToFolder
Saves the document into an existing folder of the open FileNet library.
Syntax
()
String value of the Folder ID, beginning with a forward slash (/) - see the example.
Smart Parameters are supported.
Returns
Attention: If the action cannot access the specified folder, the action directs the
Rulerunner task to finish with a status of Aborted.
Level
All Levels.
Details
Places the committed FileNet document in an existing folder of the open FileNet
library. Although the forward slash (/) character is a standard element of this
action’s parameter, the setup of your FileNet library may mean that the forward
slash is not used. Under exceptional circumstances, this action will have this syntax
– note that a forward slash does not precede the Folder ID:
SaveDocToFolder("1074a").
Example
Library_DS_Initialize("1040Docs")
Library_Login("FileNet2,FN2")
NewDocument("1040EZtwo")
AddAllImagesToDocument()
Upload()
SaveDocToFolder("/1074a")
As the example shows, you can insert this action after adding images and
successfully committing (uploading) the document to the FileNet library.
Upload
Uploads the active FileNet document to the open FileNet library.
Syntax
()
Parameters
None.
Returns
False if the Document object does not exist; if the library object is missing; if all
pages were previously committed; if the active FileNet document has already been
committed to the library; or the upload is unsuccessful. Otherwise, True.
Attention: If the active FileNet document has already been committed, or the
action encounters an error, the action directs the Rulerunner task to finish with a
status of Aborted.
All levels.
Details
Upload_SetNumAttempts
Sets the number of attempts to complete a failed Upload action.
Syntax
()
Parameters
The number of times to retry the FileNet upload upon failure. Smart Parameters
are supported.
Returns
Always True.
Level
All levels.
Details
If the upload action fails, it will be automatically retried. The number of retries can
be controlled with this action. If this action is not called, the default value of 3 will
be used.
Example
Upload_SetNumAttempts("5")
UseIndexes_OFF
Turns off the Rulerunner indexing feature.
Syntax
()
Parameters
None.
Returns
Always True.
Level
All levels.
A rule with action must be applied before a new FileNet document is created.
Example
UserIndexes_OFF()
UseIndexes_ON
Allows the task to access the properties of the FileNet document and provide these
values to the objects in the Document Hierarchy.
Syntax
()
Parameters
None.
Returns
Always True.
Level
All levels.
Details
This status allows the task to access the properties of the FileNet document, and to
provide these properties with values of objects of the Document Hierarchy. True is
the default value for using indexes.
Example
UserIndexes_ON()
IndexProperty_ID_Component("FNDoc,1040EZTwo,12")
A task cannot define or populate indices until a rule with this action
activates the Indexing feature. However, the On status is a default status,
and is in effect unless a UseIndexes_OFF action turns it Off.
FileNet P8 actions
Use the FileNet P8 actions to export data to a FileNet P8 repository.
The FileNet P8 actions integrate Datacap applications with the IBM FileNet P8
repository. You run these actions to access the FileNet P8 server, set up document
attributes and folders on the server, and upload documents to the server for
storage.
FNP8_CreateFolder
Creates a subfolder on a specified target class and object.
Syntax
bool FNP8_CreateFolder(StrParam)
A string value or a predefined Smart Parameter variable which specifies the name
of the folder to create.
Returns
False if the parameter cannot be parsed, the set up information is invalid, or the
folder cannot be created. Otherwise, True.
Attention: If the action returns False, the action directs the Rulerunner task to
finish with a status of Aborted.
Level
All levels.
Details
This action creates a subfolder on a specified target class and object. Like the
Upload actions, this action must be preceded by SetURL, Login and
SetTargetClassID actions.
Example
FNP8_SetDestinationFolder("/1040EZ/Export/")
FNP8_CreateFolder("@BATCHID")
FNP8_Login
Sets the user ID and password for login to the FileNet P8 system.
Syntax
bool FNP8_Login(StrParam)
Parameters
Returns
Details
This action provides the User ID and Password to use when logging in to IBM
FileNet P8.
Example
FNP8_Login("User1,Password1")
FNP8_MultiPageDocs
Sets the upload mode to create a multiple page FileNet P8 document.
Syntax
bool FNP8_MultiPageDocs(StrParam)
Parameters
Returns
Level
All levels
Details
FNP8_SetDestinationFolder
Sets the destination folder for the documents to be uploaded.
Syntax
bool FNP8_SetDestinationFolder(StrParam)
The path to the destination FileNet P8 folder in the selected Object Store where
documents are to be uploaded. For example: \1040EZ\. The default value is the
root folder of the specified target object. Smart parameters are supported.
Attention: The trailing backslash is optional. Subfolders of the root folder do not
need to have a trailing backslash after the name. In some cases, a main folder of
the object store requires a trailing backslash, if the object store is configured for it.
Returns
Level
All levels.
Details
Sets the destination folder for the documents to be uploaded. See also
FNP8_CreateFolder.
FNP8_SetDocClassId
Sets the FileNet P8 document class for the uploaded files.
Syntax
bool FNP8_SetDocClassId(StrParam)
Parameters
Returns
Level
All levels.
Details
Sets the Document Class to be used in FileNet P8 for the documents being
uploaded. If this action is not called, the default value of Document is used.
Example
FNP8_SetDocClassId("Document")
Syntax
bool FNP8_SetDocTitle(StrParam)
Parameters
Returns
Level
All levels.
Details
FNP8_SetFileType
Assigns the file type for the files that are uploaded.
Syntax
bool FNP8_SetFileType(StrParam)
Parameters
A string identifying the file type. If not provided, the value defaults to TIF. Valid
types are tif, jpeg, jpg, jpe, gif, pdf, xls, doc, msg, docx, xlsx, and zip.
Returns
Level
Details
Use this action to identify the file type of the files that will be uploaded to FileNet
P8.
FNP8_SetKeyProperty
Sets the update key to a FileNet document property and its corresponding
property value.
Syntax
bool FNP8_SetKeyProperty(StrParam)
Parameters
Strings values identify a FileNet document class property and its corresponding
property value. The document class property name and its value must exist on the
destination FileNet P8 Object Store. The property value must also be unique
because the call to the FNP8_UpdateProperties action returns only one value.
Smart parameters are allowed for the second parameter.
Returns
Level
Details
This action sets a key that is used by the UpdateProperties action. The key is a
FileNet document property id and its corresponding value. The UpdateProperties
action uses the key to search for an existing FileNet document. If the document is
found, the properties on the document are updated with the values specified in the
SetProperty actions.
Example
FNP8_SetKeyProperty("DCKey,@DCKey")
FNP8_SetProperty("FNProperty,@SomeValue")
FNP8_SetKeyProperty("@FNProperty2,@SomeValue2")
FNP8_UpdateProperties()
FNP8_SetLocale
Identifies the locale on the target FileNet P8 system.
Syntax
bool FNP8_SetLocale(StrParam)
Locale value accepted by the FileNet P8 Web Service. The default value is en_US.
Locales are represented by 2-letter ISO 639 Language Codes and 2-letter ISO 3166
Country Codes separated by a _ character. For example: en_US or de_DE.
Returns
Level
Details
Sets the Locale (the language and language conventions such as date format) used
on the P8 server. This action is only required if the FileNet P8 repository uses a
locale other than US English.
Example
FNP8_SetLocale("en_US")
FNP8_SetMultiValueProperty
Sets the values in a multi-value property.
Syntax
bool FNP8_SetMultiValueProperty(StrParam)
Parameters
Returns
False if the ID or Value parameters are missing or if the specified property is not a
multi-value property. Otherwise True.
Level
All levels.
Details
This action sets the property of a FileNet P8 multi-value property. It can be called
multiple times.
FNP8_SetProperty
Sets the designated FileNet P8 property to a specified value.
Syntax
bool FNP8_SetProperty(StrParam)
Parameters
Returns
Attention: If the action returns False, the action directs the Rulerunner task to
finish with a status of Abort. The task will also abort if more than one value is
assigned to the Smart Parameter variable. If a ruleset calls the FNP8_SetProperty
action more than once, using the same Property ID as the opening parameter,
FileNet P8 assumes that the second parameter is multi-value and assigns that value
to the property.
Level
All levels.
Details
FNP8_SetPropertyEx
Sets the designated FileNet P8 property to a specified value.
Parameters
Returns
Attention: If the action returns False, the action directs the Rulerunner task to
finish with a status of Abort. The task will also abort if more than one value is
assigned to the Smart Parameter variable.
Important: Any ruleset that calls the FNP8_SetPropertyEx action more than once,
using the same Property ID as the opening parameter, the property value will not
create a multivalue property. Unlike the behavior of the FNP8_SetProperty action,
it replaces the existing property value that was set up by any previous ruleset.
Level
All levels.
Details
FNP8_SetRetry
Sets the number of automatic upload retries.
Syntax
bool FNP8_SetRetry(StrParam)
Parameters
A integer value identifies the amount of retries performed if the upload failed.
Smart parameters are supported.
Returns
Details
Use this action to set the amount of retries for the FileNet P8 upload actions. If the
upload to FileNet fails, the upload action will immediately be retried the number
of times specified by the FNP8_SetRetry action.
If this action is not called prior to a FileNet P8 upload action, the default amount
of retries is 0.
Example
FNP8_SetRetry("3")
NP8_Upload()
FNP8_SetTargetClassID
Sets the FileNet P8 document class for uploaded documents.
Syntax
bool FNP8_SetTargetClassID(StrParam)
Parameters
Specifies the repository type. The valid values are ObjectStore and FileStore.
Returns
Level
All levels.
Details
Sets the top-level repository type. If this action is not called, the default value of
ObjectStore is used. FileStore is an alternative repository type.
Example
FNP8_SetTargetClassID("ObjectStore")
FNP8_SetTargetObjectID
Sets the name of the Object Store in which documents are stored.
Syntax
bool FNP8_SetTargetObjectID(StrParam)
Parameters
Level
Details
Provides the name of the Object Store that you wish to store your documents in.
Example
FNP8_SetTargetObjectID("AP_ObjectStore")
FNP8_SetTimeout
Sets the timeout for the FileNet P8 web service in milliseconds.
Syntax
bool FNP8_SetTimeout(StrParam)
Parameters
A single parameter identifying the timeout in milliseconds for the FileNet P8 Web
Service. The default timeout is 600000 milliseconds (600 seconds).
Returns
Level
Details
This action sets the timeout in milliseconds for the FileNet P8 Web Service. This
action should be called before the FNP8_Upload action.
Example
FNP8_SetTimeout(90000)
FNP8_SetUploadMode
Sets the upload mode.
Syntax
bool FNP8_SetUploadMode(StrParam)
Parameters
A string or Smart Parameter identifying the page level variable where file name is
stored. If this action is not called the value defaults to blank and regular upload
logic applied. Smart parameters are supported.
Returns
Always True.
Level
Details
Use this action to identify the files that will be uploaded to FileNet P8.
Example
FNP8_SetUploadMode("ParentImage")
FNP8_Upload()
FNP8_SetURL
Sets the URL for the FileNet P8 Server that is used.
Syntax
bool FNP8_SetURL(StrParam)
Parameters
A single parameter that identifies the URL for the IBM FileNet P8 Server. The IP
port is typically :9080 (IBM WebSphere®) and the URL typically ends in /WSDL.
Returns
Attention: This action returns True whether the URL is to an operating IBM
FileNet P8 Server or not. If not, an error is reported when the Upload or
UploadDir action runs. You can check that the URL is correct and operating by
displaying it in any web browser.
Level
Details
This action sets the URL for the IBM FileNet P8IBM FileNet P8 Server. This action
must be called before any other FileNet P8 upload actions.
Example
FNP8_SetURL("http://myp8server:9080/wsi/FNCEWS40MTOM/")
Syntax
bool FNP8_UpdateProperties()
Parameters
Uses the key specified in the FNP8_SetKeyProperty action to search for an existing
document within a FileNet P8 Case Manager Object Store and updates the P8
document’s properties as specified by the FNP8_SetProperty action.
Returns
True if the update is successful, False if the action is unable to update the
document.
Level
Details
This example will first set the key document property name and value to
search for a document, the next two actions indicate which properties and
values that the FileNet P8 document should be updated with. The
FNP8_UpdateProperties will invoke the actual update. If more than one
document matches the criteria specified in the SetKeyProperty action, only
the first document will be updated.
FNP8_Upload
Uploads the batch images to the FileNet P8 repository.
Syntax
bool FNP8_Upload()
Parameters
None.
Returns
False if the upload is not successful, or the action was applied to the Field level.
Otherwise, True. If successful, each page uploaded will have a variable Doc_ID set
to the FileNet document identifier.
Level
Details
Uploads image files from the Datacap batch to the specified destination folder in
the FileNet library.
When called at the Batch or Document level, attempts to upload a multipage TIF
image file named ObjID.tif, where ObjID is the DCO Object ID of the Batch or
Document. If such a file does not exist, tries to upload all page images in the Batch
or Document.
When called at the Page level, uploads the image file for that page. It is important
that any required properties are set before calling FNP8_Upload such as
FNP8_SetDocTitle otherwise an upload error could occur.
Example
FNP8_SetURL("http://server:port//wsi/FNCEWS40MTOM/")
FNP8_Login("user,password")
FNP8_SetLocale("en-us")
FNP8_SetDocClassId("MyFilenetDocClass")
FNP8_SetDocTitle("Document Title")
FNP8_SetProperty("CustomerName,@D.CustomerName")
FNP8_SetMultiValueProperty("InvoiceList,@D.InvoiceList")
FNP8_SetProperty("ScanStation,@STATION")
FNP8_SetProperty("ScanOperator,@OPERATOR")
FNP8_SetFileType("pdf")
FNP8_Upload()
FNP8_UploadDir
Uploads all of the images in the folder to the specified destination folder.
Syntax
bool FNP8_UploadDir(StrParam)
Parameters
Returns
Attention: If the action returns False, the action directs the Rulerunner task to
finish with a status of Aborted.
Details
Uploads all images in the folder you enter as the first parameter to the specified
destination folder.
This action is an alternative to FNP8_Upload if you want to upload images that are
not within a Datacap batch.
Example
FNP8_UploadDir("C:\images,False")
This example leaves the images in the source folder after they are
uploaded.
FNP8_UploadDir("C:\images,True")
This example deletes the images in the source folder after they are
uploaded.
FingerprintMaintenance actions
Use the FingerprintMaintenance actions to delete fingerprints from the fingerprint
library of the application.
CloseDatabase
Closes connection to the fingerprint database and saves the Setup DCO.
Member of namespace
FingerprintMaintenance
Syntax
CloseDatabase ()
Parameters
None.
Returns
Always True.
Level
Any level.
Closes the open database connection and saves the Setup DCO if position
information was deleted. The Setup DCO is not modified if FPXML files are used,
or if no fingerprints were deleted.
Example:
CloseDatabase()
DeleteFingerprint
Deletes specified fingerprint.
Member of namespace
FingerprintMaintenance
Syntax
DeleteFingerprint ()
Parameters
ID Type: string
ID of fingerprint to delete
Parameters
Returns
Always True.
Level
Any level.
Details
Deletes the CCO, TIFF and FPXML files for the specified fingerprint. Also deletes
the database record and position information from the DCO. A smart parameter
may be used.
Example:
DeleteFingerprint("1002")
DeleteFingerprints
Deletes all fingerprints that are returned by the SQL statement in the parameter
Member of namespace
FingerprintMaintenance
Syntax
DeleteFingerprints ()
Parameters
Returns
Always True.
Level
Any level.
Details
Deletes all fingerprints that are returned by the query that is specified in the
parameter. A smart parameter can be used.
Example:
Access - DeleteFingerprints("SELECT * FROM Template WHERE tp_LastHit < dateadd("d",-30,NOW)")
SQL - DeleteFingerprints("SELECT * FROM Template WHERE tp_LastHit < dateadd(d,-2,GETDATE())")
Oracle- DeleteFingerprints("SELECT * FROM Template WHERE tp_LastHit < TRUNC(SYSDATE) - 30")
OpenDatabase
Opens a connection to the fingerprint database.
Member of namespace
FingerprintMaintenance
Syntax
OpenDatabase ()
Parameters
ConnectionString
Type: string
Fingerprint database connection string.
Parameters
Returns
Level
Any level.
This example obtains the connection string set in the Application Manager.
OpenDatabase("@APPVAR(*/dco_*[1]/fingerprintconn:cs)")
SetFingerprintFolder
Specifies the folder containing the fingerprint files.
Member of namespace
FingerprintMaintenance
Syntax
SetFingerprintFolder ()
Parameters
Folder Type: string
Folder containing the fingerprints.
Parameters
Returns
Always True.
Level
Any level.
Details
Specifies the folder containing the fingerprint files. A smart parameter may be
used.
Example:
SetFingerprintFolder("C:\Datacap\APT\fingerprint")
FPXML actions
Use the FPXML actions to store zone coordinates in an external XML file instead of
the document hierarchy (setup DCO). These actions are useful for porting
fingerprints between systems or to avoid making frequent modifications to the
document hierarchy.
ReadZonesFPX
Loads position information for current fingerprint
Member of namespace
FPXML
Syntax
ReadZonesFPX ()
Parameters
None.
Returns
Level
Details
This action reads the field zone information from the fingerprint XML file
associated with the fingerprint for the current page object. This action is similar to
the ReadZones action in the Zones library. The primary difference is that
ReadZones reads the zone information stored in the setup DCO and
ReadZonesFPX reads the zone information from the associated fingerprint XML
file. Typically this action is called after the CreateFields action but before field
recognition. ReadZonesFPX loads position information for each node in the calling
object and it's children. Pre-adjusts these values based on offset information stored
in the Image_Offset variable at any node level.
The offset value is applied to all child objects of a node where an Image_Offset
variable is found; unless overwritten by a child node also having an Image_Offset
value to apply.
Position information is based on the Fingerprint XML position for the parent
page's fingerprint ID.
If Enable FPXML setting is checked in the application settings Main tab in the
Datacap Application Manager, Datacap Studio places field zone information into a
fingerprint XML file instead of placing the zone information into the applications
setup DCO. One FPXML file is created per fingerprint. Depending on application
needs, using fingerprint XML files might have advantages. Refer to Datacap
documentation for more information about using fingerprint XML files.
If the application is using FPXML files, then use this action to load the zones.
Example:
SetDirectoryFPX("@APPPATH(*/fingerprint)")
ReadZonesFPX()
Member of namespace
FPXML
Syntax
SetDetailsAndLineitemPairFPX (StrParam)
Parameters
Returns
Level
Any level.
Details
Use this action if your page contains Details and Lineitems fields, as is common
with an invoice page. The action sets the type of the special Details and Lineitem
fields. These fields, unlike other field types, are handled by the ReadZonesFPX and
WriteZonesFPX actions in a special way that is compatible with the Locate actions
framework.
If your page has Details and Lineitems, then this action is required to identify the
types so the position information is properly saved. Using
SetDetailsAndLineitemPairFPX prior to calling WriteZonesFPX causes
WriteZonesFPX to save line item field positions to the fingerprint file. The second
parameter is the type of the line item field which is the parent of the fields to be
captured and is often called Lineitem.
If your page contains Detail and Lineitem fields, this action also must be used
prior to calling ReadZonesFPX.
Details are the parent object of the line item fields. Details are a collection of
lineitems and each line item has a collection of fields. For example, in a typical
invoice application a single lineitem can contain the fields: quantity, item number,
description, unit price, and total.
Example:
SetDetailsAndLineitemPairFPX("Details,Lineitem")
ReadZonesFPX()
SetDirectoryFPX
Sets the directory in which fingerprint xml files should be read and written to.
Member of namespace
FPXML
Syntax
SetDirectoryFPX (StrParam)
Parameters
A string identifying the Fingerprint directory. This is the directory that contains the
FPXML files.
Returns
Level
Any level.
Details
This action sets the directory from which fingerprint XML files will be written or
read.
This action must be called to identify the FPXML directory before calling
ReadZonesFPX or WriteZonesFPX.
Example:
SetDirectoryFPX("@APPPATH(*/fingerprint)")
ReadZonesFPX()
This example uses the @APPPATH smart parameter to obtain the directory
from the application service.
SetDirectoryFPX("C:\Datacap\APT\fingerprint")
ReadZonesFPX()
This example hard codes the directory, which is fine but could make the
application less portable.
Member of namespace
FPXML
Syntax
WriteZoneFPX (StrParam)
Parameters
Field name (required only when the action is called at the page level)
Returns
False if there is there is not a fingerprint directory set, or the fingerprint ID cannot
be determined, if the field in the parameter cannot be found, if called at the page
level without a parameter, or if there is a problem opening or saving the
fingerprint XML file. Otherwise True.
Level
Details
When called at the field level, writes position information for each node in the
calling object and its children.
When called at the page level, writes position information the specified field and
its sub fields.
WriteZonesFPX
Writes position information for all fields of the page
Member of namespace
FPXML
Syntax
WriteZonesFPX (StrParam)
Parameters
Returns
False, if there is a problem saving to fingerprint XML file or if not called at the
page level, if the page does not have a fingerprint assigned, or a fingerprint
directory has not been set. Otherwise True.
Level
Details
This action writes out all of the field positions for the current page to the
fingerprint XML file. Typically this action is used for applications that are using
fingerprint XML files and new pages are dynamically zoned at runtime. After the
zoning of the page has been completed, then this action is used to write out the
zone information to the FPXML file, allowing subsequent pages of this type to be
processed using the saved zone information.
Fields with empty positions are not written to the fingerprint XML file.
Example:
SetDirectoryFPX("@APPPATH(*/fingerprint)")
WriteZonesFPX("MyFPClass,,MyPageType")
This example writes out the zones for the current page and sets the
fingerprint class to "MyFPClass" and the page type to "MyPageType".
SetDirectoryFPX("@APPPATH(*/fingerprint)")
WriteZonesFPX("MyFPClass,,@P.MyType")
This example writes out the zones for the current page and sets the
fingerprint class to "MyFPClass" and the page type to the value contained
by the page variable "MyType".
Grayscale actions
Use the Grayscale action to convert grayscale TIFF images to black-and-white.
The ConvertGraytoBW action can convert color dropout forms, including medical
claims, scanned in grayscale to black and white. The action categorizes each pixel
in the image as either foreground (black), dropout (red / light gray), or
background (white), to produce a final black and white image without the dropout
color.
ConvertGraytoBW
Converts Grayscale TIFF files to black and white TIFF files.
Syntax
()
None.
Returns
False if a rule set with this action is bound to a Field object of the Document
Hierarchy. Otherwise, True.
If the input image is not grayscale, the image will not be converted but the action
will still return True.
Level
Batch, Document or Page level. If called at the batch level, all images will be
converted.
If called at the document level all of the pages within the document will be
converted.
Details
This action converts grayscale TIFF files into Black and White TIFF files.
Attention: The action renames the original grayscale image using the same base
file name, but replaces the .tif filename extension with .tis.
Example
ConvertGraytoBW()
IBMCM actions
Use the IBMCM actions to upload documents into an IBM Content Manager
Connector repository.
The IBM Content Manager Connector actions integrate Datacap applications with
the IBM Content Manager Connector repository. You run these actions to access the
IBM Content Manager Connector server, set up document attributes and folders on
the server, and upload documents to the server for storage.
IBMCM_AddPages
Adds new pages to an existing document in the IBM Content Manager repository.
The new pages are appended to the existing pages in the IBM Content Manager
document.
Syntax
bool IBMCM_AddPages(int newPage)
Int newPage: the new page to add to the IBM Content Manager document.
Parameters
newpage is required when you call the action at the document level.
If newpage=0, all of the new pages in the runtime DCO are added to the existing
IBM Content Manager document.
Returns
True, if the new page or pages are successfully added. Otherwise, False.
Level
Details
You must retrieve the existing IBM Content Manager document from the IBM
Content Manager repository before you call this action to add new pages to it.
You can use the IBMCM_SearchItem action to retrieve the existing IBM Content
Manager document.
Example
IBMCM_SearchItem("","A1001001A14B04B12546D00215")
IBMCM_AddPages(2)
This example searches the IBM Content Manager repository for the existing
document with the unique ID of A1001001A14B04B12546D00215.
If the document is found, this action adds a second page (TM000002) in the
runtime Document DCO to this document.
IBMCM_SearchItem("EmployeeID","14B04B12")
IBMCM_AddPages(0)
This example searches the IBM Content Manager repository for the existing
document with the unique ID of EmployeeID=14B04B12.
If the document is found, this action adds all of the pages in the runtime
Document DCO object to this document.
IBMCM_CreateFolder
Creates an IBM Content Manager folder in the parent folder that is based on the
specified item type.
Syntax
bool IBMCM_CreateFolder(string itemType, string attribute, string attributeValue,
bool hasParent)
String itemtype: the item type (classification) that is used to create the IBM
Content Manager folder. This parameter is required.
Parameters
If hasParent is False, the new folder is created without a parent folder and the
action ignores the attribute and attributeValue parameters.
If hasParent is True, it is expected that this folder is the child of an existing folder
and that the attribute and attributeValue parameters specify the parent folder.
If hasParent is True and both attribute and attributeValue are not provided, the
parent folder is set to the most recently created folder.
Returns
True, if the folder is successfully created. Otherwise, False. The action fails if the a
folder with the specified attribute or ID is not found.
Level
All levels.
Details
This example creates an IBM Content Manager folder that is based on the
NOINDEX item type. The new folder has no parent and is placed in the
root directory.
IBMCM_CreateFolder("NOINDEX","",
“A1001001A14B04B12546D00215”, True)
This example creates an IBM Content Manager folder that is based on the
NOINDEX item type. The folder is placed inside the parent folder with the
ID "A1001001A14B04B12546D00215".
IBMCM_CreateFolder(@MyItemType,@MyAttribute,
@MyAttributeValue,True)
IBMCM_SetAttributeValue("name,@BATCHID")
IBMCM_CreateItem
Creates an IBM Content Manager document that is based on a specified item type.
Member of namespace
ibmcm
Syntax
bool IBMCM_CreateItem(string itemtype)
Parameters
itemtype: Creates an IBM Content Manager document that is based on the item
type.
Parameters
itemtype: a string value of a valid IBM Content Manager Item Type, for example
NOINDEX. An `IBM Content Manager Item Type is equivalent to a Document
Class (Index Class).
Returns
Level
Details
Creates an IBM Content Manager based on the item type. This action must be
called before the document and page upload actions.
Example:
IBMCM_CreateItem("NOINDEX")
IBMCM_SetMimeType("image/tiff")
IBMCM_UploadDC)_DOC()
IBMCM_DeletePages
Deletes pages from an existing document in the IBM Content Manager repository.
Syntax
bool IBMCM_DeletePages(int existingPage)
Parameters
Int existingPage: the existing page to delete from the document. This parameter is
required.
Parameters
existingPage: required when you call this action at the Document level.
Returns
Level
All levels.
Details
You must retrieve the existing IBM Content Manager document from the IBM
Content Manager repository before you call this action to delete pages from it.
The IBMCM_SearchItem action can be used to retrieve the existing IBM Content
Manager document.
Important: Be careful with this destructive action. It should be used at the Batch
level to make sure that it is run one time per batch. If you must use it at the
Document or Page level, make sure that you set filters and conditions to keep this
action from being called repeatedly.
Example
IBMCM_SearchItem("EmployeeID","14B04B12")
IBMCM_DeletePages(2)
This example searches the IBM Content Manager repository for the existing
IBM Content Manager document with the unique attribute
EmployeeID=14B0B12.
If the existing IBM Content Manager document is found, it deletes all of
the pages from the existing IBM Content Manager document.
IBMCM_Logon
Logs on to an IBM Content Manager Server.
Member of namespace
ibmcm
Syntax
bool IBMCM_Logon(string connectioninfo)
Parameters
connectioninfo
Type: string
A comma-separated string consisting of three values:
1. The ID of the IBM Content Manager Server
2. A valid Content Manager User ID
3. The user’s Password
Smart parameters are supported for each parameter.
Returns
True if the logon succeeds. False if the logon is unsuccessful. The logon is
unsuccessful if the action cannot find the specified server, or if the user ID or
password is invalid.
Level
Details
Performs the logon to the IBM Content Manager system. This action must be called
before the actions that communicate with the IBM Content Manager repository.
Connectivity, based on the requirements of the IBM Content Manager Server, must
be setup on the machine that runs the Datacap rules.
Example:
IBMCM_Logon("ibmcmserver,user1,password")
IBMCM_Logon("ibmcmserver,user1,+@APPVAR(values/adv/MyPassword)")
IBMCM_ReplacePage
Replaces a page in an existing IBM Content Manager document with a new page
in the runtime DCO hierarchy.
Syntax
bool IBMCM_ReplacePage(int existingPage, int newPage)
Parameters
Int existingPage: the existing page in the IBM Content Manager document.
Parameters
When you call this action at the Document level, both existingPage and newPage
parameters are required.
When you call this action at the Page level, the newPage parameter is ignored.
Returns
True, if the existing page in the IBM Content Manager document is replaced with
the new page in the runtime DCO. Otherwise, False.
Level
Details
You must retrieve the existing IBM Content Manager document from the IBM
Content Manager repository before you call this action.
The IBMCM_SearchItem action can be used to retrieve the existing IBM Content
Manager document.
Example
IBMCM_SearchItem("EmployeeID","14B04B12")
IBMCM_ReplacePage(2,3)
This example searches the IBM Content Manager repository for the existing
IBM Content Manager document with the unique attribute
EmployeeID=14B0B12.
If the existing IBM Content Manager document is found, it replaces the
second page in the existing IBM Content Manager document with the third
page (TM000003) in the runtime Document DCO.
IBMCM_SearchItem
Searches for the existing item in the IBM Content Manager repository.
Parameters
Parameters
Returns
Level
All levels.
Details
Searches for the existing item in the IBM Content Manager repository that matches
the specified attribute and value. If an item is found, the current item is set to it.
Otherwise the current item is set to NULL.
This example searches for an item with the attribute name Department and
the attribute value Human Resources. It then changes the attribute value to
Operations.
IBMCM_ SearchItem ("", "A1001001A14B04B12546D00215")
IBMCM_SetAttributeValue
Sets the attribute value on an IBM Content Manager document or folder.
Member of namespace
ibmcm
Syntax
IBMCM_SetAttributeValue(string attributesvalues)
Parameters
Returns
Level
All levels.
Details
Sets the attribute value on a IBM Content Manager document or folder. The
specified attribute must already be defined on the IBM Content Manager server.
The attribute can be applied to a document or a folder. This action must follow a
previous action that created the new folder or that identifies a document. This
action can be called multiple times to set multiple processes.
Example:
IBMCM_CreateFolder("MyItemType")
IBMCM_SetAttributeValue("Name,@BATCHID")
This example creates an IBM Content Manager folder and sets the Name
property of the folder to the ID of the current batch.
IBMCM_CreateItem("@B.name")
IBMCM_SetAttributeValue("Author,@D.TheAuthor")
IBMCM_SetAttributeValue("Date,@DATE")
IBMCM_SetMimeType
Sets the mime type for the upload document.
Syntax
bool IBMCM_SetMimeType(string mimeType)
Parameters
Parameters
Returns
Level
All levels.
Details
Set the mime type for the upload document. This action is needed when you are
uploading non-tiff files.
When you call this action at the batch or document level, the same mime type is
applied to all of the files in the batch or document DCO.
This action must be called before the document and page upload actions.
Table 94. Supported mime types
MIME Types File Extensions
application/msword dod, dot, rtf
application/octet-stream bin, dms, lha, lzh, exe, class
application/pdf pdf
application/rtf rtf
application/lotus-1-2-3 123, wk4, wk3, wk1, wks, wg1
application/lotus-freelance prz, pre
application/vnd.ms-excel xls, xlt, xlm, xld, xla, xlc, xlw, xll
application/vnd.ms-powerpoint ppt, pot, ppa, pps, pwz
application/vnd.visio vsd
audio/basic au, snd, ulw
audio/mpeg mpeg, mpg, m1s, m1a, mp2, mp3, mpm,
mpa, mpga
audio/x-aiff aif, aiff, aifc
Example:
IBMCM_ SetMimeType("image/tiff”)
IBMCM_SetDestinationFolder
Sets the destination folder for uploading images to the IBM Content Manager
repository.
Syntax
bool IBMCM_SetDestinationFolder(string attribute, string attributeValue)
Parameters
Parameters
If both parameters are not provided, the destination folder is set to the most
recently created folder.
If the folder ID is used in the second parameter, leave the parameter empty ("").
Returns
True, if the destination folder is successfully set. Otherwise, False. The action fails
if a folder with the specified attribute or ID is not found.
Level
All levels.
Sets the upload destination folder in the IBM Content Manager repository. To set
the destination to a newly created folder, first create the folder by using the
IBMCM_CreateFolder action. Then, call the IBMCM_SetDestinationFolder action
with empty ("") parameters.
Example:
IBMCM_ SetDestinationFolder("Department”,“Human Resource”)
IBMCM_CreateItem("NOINDEX")
IBMCM_SetMimeType("image/tif")
IBMCM_UploadDCO_DOC()
This example sets the destination folder to the folder with the attribute
name "Department" and the attribute value "Human Resource" to upload
images to it.
IBMCM_SetDestinationFolder("","A1001001A14B04B12546D00215")
IBMCM_CreateItem("NOINDEX")
IBMCM_SetMimeType("image/tif")
IBMCM_UploadDCO_DOC()
This example sets the destination folder to the most currently created
folder to upload images to it.
IBMCM_StoreItemIDinDCO
Stores the Item ID of the most recently created folder or the most recently
uploaded IBM Content Manager item into a variable of the current object of the
Document Hierarchy.
Member of namespace
ibmcm
Syntax
bool IBMCM_StoreItemIDinDCO(string itemID)
Parameters
String itemID: sets the attribute value on an IBM Content Manager document or
folder.
Returns
Level
All levels.
Stores the Item ID of the most recently created folder or the most recently
uploaded IBM Content Manager document into a variable of the current object of
the Document Hierarchy. If the variable does not exist, it is created on the current
DCO Hierarchy object.
It might be useful to store the item ID if the object is referenced in the following
action, such as setting the upload directory.
Example:
IBMCM_CreateFolder("NOINDEX","","",False)
IBMCM_StoreItemIDinDCO("ItemID")
This example stores the ID of the new IBM Content Manager folder in a
variable that is called ItemID in the current object of the DCO Hierarchy.
IBMCM_CreateItem("NOINDEX")
IBMCM_MimeType("image/tiff")
IBMCM_UploadDCO_DOC()
IBMCM_StoreItemIDinDCO("ItemID")
This example stores the ID of the new IBM Content Manager document in
a variable that is called ItemID in the current object of the DCO Hierarchy.
IBMCM_UploadDCO_DOC
Uploads the set of Images files that are associated with the current document
object of the Document Hierarchy to the IBM Content Manager Server.
Member of namespace
ibmcm
Syntax
bool IBMCM_UploadDCO_DOC ()
Parameters
None
Returns
Level
Document level
Details
Uploads the Image files that are associated with current Document object of the
Document Hierarchy to IBM Content Manager Server.
Example:
IBMCM_Logon("cmserver,adminPWD,adminUID")
IBMCM_CreateItem("NOINDEX")
IBMCM_SetAttributeValue("USERID, @OPERATOR")
IBMCN_SetMimeType("image/tiff")
IBMCM_UploadDCO_DOC()
IBMCM_UploadDCO_Page
Uploads image files that are associated with the current Page object of the
Document Hierarchy to IBM Content Manager.
Member of namespace
ibmcm
Syntax
bool IBMCM_UploadDCO_Page ()
Returns
True if the action successfully sends the image to the server. False if the action is
unable to save the image.
Level
Page level
Details
Uploads the Image file associated with current Page object of the Document
Hierarchy to the IBM Content Manager server. Additionally, all attributes set using
IBMCM_SetAttributeValue are also persisted.
Example:
IBMCM_Logon(cmserver,adminPWD,adminUID)
IBMCM_CreateItem(NOINDEX)
IBMCM_SetAttributeValue(USERID,@OPERATOR)
IBMCM_UploadDCO_Page()
This sequence uploads Image files associated with the current Page object
of the Document Hierarchy to IBM Content Manager, and assigns the name
of the object – the value of its Type property.
ICR_C actions
Use the ICR_C actions to recognize constrained (unconnected) hand or computer
printed characters. These actions use the OpenText RecoStar engine.
The ICR_C actions can recognize characters in fields, page, and zones that are
configured for IRC_C recognition and store the results in a PDF file.
EnableLoggingICR_C
Enables or disables event logging for the ICR/C engine.
Member of namespace
icr_c
Parameters
A boolean value. True enables ICRC logging and False disables ICRC logging. If
no parameter is passed in, it uses the default value of True.
Returns
Level
All levels.
Details
This action enables or disables event logging for the ICR/C engine. Logs are
written to the System event log under the entry Datacap.Recognition.Recostar.
This action is intended for debugging ICRC recognition problems. If this action is
never called, no logging will occur.
Example:
EnableLoggingICR_C("true")
RecognizeFieldICR_C
Performs character recognition for a specific field.
Member of namespace
icr_c
Syntax
RecognizeFieldICR_C ()
Parameters
None.
Returns
False, if called at the wrong level or if there is a failure in the recognition process.
Otherwise, True.
Level
Field level.
Details
Recognition is performed on the current field. The field must have the proper
settings in the ICR/C tab in Datacap Studio. This field-level action recognizes
characters based on the settings in the ICR/C tab in Datacap Studio and the value
is stored in the current field object.
RecognizeFieldVoteICR_C
Recognizes characters based on results from two recognition engines.
Member of namespace
icr_c
Syntax
RecognizeFieldVoteICR_C ()
Parameters
None.
Returns
False, if called at the wrong level or if there is a failure in the recognition process.
Otherwise, True.
Level
Field level.
Details
When this action stores the results of recognition, it first determines if the
corresponding Field object of the Document Hierarchy already contains a value. If
a value is present, indicating recognition had previously been performed on the
field, the action compares the existing value with the field's new recognition results
- character by character. If a character's values match the existing value, the
Confidence Rating for the character is raised to the maximum level.
Note that when using voting actions, the recognition results are never assigned to
the field. Instead, the action changes the Confidence Ratings on the basis of results
provided by the first Recognition engine. However, if there are no previous
recognition results in the field when this action is called, it will perform like the
RecognizeFieldICR_C action.
Example:
RecognizeFieldOCR_S()
RecognizeFieldVoteICR_C()
RecognizePageFields2CCO_ICR_C
Performs recognition for all of the zoned fields on a page.
Member of namespace
icr_c
Syntax
RecognizePageFields2CCO_ICR_C ()
Parameters
None.
Returns
False if called at the wrong level or if the CCO does not already exist. Otherwise,
True.
Level
Page level.
Details
This action recognizes all of the zoned fields on a page and puts the recognition
results for each field in both the Datacap Object Hierarchy and in an already
existing CCO. To create a CCO, call either a Full Page OCR action or the
AnalyzeImage action before this action.
Example:
AnalyzeImage()
RecognizePageFields2CCO_ICR_C()
RecognizePageFieldsICR_C
Performs recognition on all fields that have been configured for ICR/C in Datacap
Studio.
Member of namespace
icr_c
Syntax
RecognizePageFieldsICR_C ()
Parameters
None.
Returns
False, if called at the wrong level or if there is a failure in the recognition process.
Otherwise, True.
Action library summaries 581
Level
Page level.
Details
This page-level action recognizes all fields on the page that have been configured
for ICR/C recognition in Datacap Studio. Individual field-level recognition actions
will overwrite the results from this page-level action. This action will not recognize
a zoned field if the Skip Recognition checkbox is selected in the ICR/C tab in
Datacap Studio.
Important: The recognition settings must be set individually for each field being
recognized. When recognizing an area that contains hand printed characters only, a
country, not language, should be selected from the Country dropdown in the
ICR/C tab of Datacap Studio for optimal recognition results. If the zoned area
contains both hand printed and machine printed characters, then a language, and
not a country, should be selected from the Country dropdown in the ICR/C tab of
Datacap Studio for optimal recognition results.
Example:
AnalyzeImage()
RotateImage()
RecognizePageFieldsICR_C()
RecognizePageFieldsICR_CEx
Recognizes all fields on the page that have been configured for ICR/C recognition.
Member of namespace
icr_c
Syntax
RecognizePageFieldsICR_CEx ()
Parameters
None.
Returns
False, if called at the wrong level or if there is a failure in the recognition process.
Otherwise, True.
Level
Page level.
Details
This page-level action recognizes all fields on the page that have been configured
for ICR/C recognition. Individual field-level recognition actions will overwrite the
results from this page-level action. This action will not recognize a zoned field If
the Skip Recognition checkbox is selected in the ICR/C tab in Datacap Studio.
Important: The recognition settings must be set individually for each field being
recognized. When recognizing an area that contains hand printed characters only, a
RecognizePageICR_C
Performs full page recognition using the ICR/C Engine.
Member of namespace
icr_c
Syntax
RecognizePageICR_C ()
Parameters
None.
Returns
False, if called at the wrong level or if there is a failure in the recognition process.
Otherwise, True.
Level
Page level.
Details
Performs full page character recognition on the current page based on the settings
in the ICR/C tab in Datacap Studio. The action will recognize all characters on the
page, and populate the page's CCO file with the recognition results. If a CCO file
does not exist at the time this action is called, the action will create one.
Example:
AnalyzeImage()
RotateImage()
RecognizePageICR_C()
This sequence creates a CCO file and checks to see if rotation of the image
is needed. Full-page recognition then takes place based on the settings in
the ICR/C tab in Datacap Studio. The recognition results are stored in the
page's CCO file.
RecognizePageToPDFICR_C
Performs recognition on the current page and places the results in a PDF file.
Member of namespace
icr_c
Parameters
None.
Returns
False, if called at the wrong level or if there is a failure in the recognition process.
Otherwise, True.
Level
Page level.
Details
Performs full page character recognition on the current page based on the settings
in the ICR/C tab in Datacap Studio. The action will creates a PDF that contains the
original page image and the recognized text.
Example:
AnalyzeImage()
RotateImage()
RecognizePageToPDFICR_C()
ICR_P actions
Use the ICR_P actions to recognize the contents within zoned fields that are
configured for recognition. These actions use the Parascript FieldScript for IBM
Datacap recognition engine.
The ICR_P actions can create a Parascript vocabulary file, load the vocabulary, and
add and delete words from the vocabulary.
AddWord
Add a word to an existing vocabulary.
Member of namespace
ICR_P
Syntax
AddWord (StrParam)
Parameters
Two parameters to add a set of characters (word), and a weight (or priority value).
Smart parameters are supported.
1. The word to add to the vocabulary file.
2. The weight or priority value of the word. Valid values are 0 - 15.
Returns
False if the word cannot be added to the vocabulary. Can occur when the
vocabulary object does not exist. Otherwise, True.
Details
DeleteWord
Deletes a word from an existing vocabulary.
Member of namespace
ICR_P
Syntax
DeleteWord (StrParam)
Parameters
One parameter that contains the set of characters (word) to be removed from the
vocabulary file. Smart parameters are supported.
Returns
False if the word cannot be removed from the vocabulary. Can occur when the
word or vocabulary object does not exist. Otherwise, True.
Level
Details
ImportCSF
Imports data from a comma separated text file into a Parascript vocabulary file.
Member of namespace
ICR_P
Syntax
ImportCSF (StrParam)
Provides the UNC path and filename of the comma separated file to import. Smart
parameters are supported.
Returns
False if the Parascript object does not exist, if the comma separated file does not
exist, or if the comma separated file is not in the correct format. Otherwise, True.
Level
Details
Imports data from a comma separated file. The comma separated file must contain
text in word,priority_value where:
v word is the word to be added to the vocabulary and
v priority_value (or weight) is a value ranging from 0 - 15.
Do not include a space after the comma used to separate the word and priority
value.
Example:
ImportCSF(\\ServerName\ParentDir\testtable.csv)
LoadFromFile
Loads vocabulary from an existing vocabulary (.voc) file.
Member of namespace
ICR_P
Syntax
LoadFromFile (StrParam)
Parameters
Provides the UNC path and filename of the vocabulary file to load. Smart
parameters are supported.
Returns
False if cannot create the object. Returns false when the vocabulary file has an
invalid format, is missing, or cannot be read. Otherwise, True.
Level
Details
Loads a vocabulary (dictionary) from a file. If the vocabulary object does not exist,
this action creates a new one.
NewDictionary
Creates a new Parascript vocabulary file (also called a dictionary).
Member of namespace
ICR_P
Syntax
NewDictionary ()
Parameters
None.
Returns
Level
Details
RecognizeFieldsICR_P
Recognizes the contents within zoned fields configured for recognition using the
Parascript recognition engine. Performs recognition on all of the zoned fields and
saves the recognition results automatically.
Member of namespace
ICR_P
Syntax
RecognizeFieldsICR_P ()
Parameters
None.
Returns
False if the rule containing this action is not applied to a Batch, Document, Page,
or Field, or if the specified Parascript recognition engine is unavailable. Otherwise,
True.
Batch, Document, Page, or Field level. If the action is set at a level above the Field
level, Parascript recognizes all underlying Fields contained in the object.
Details
The action can be part of a rule that is bound to a Batch, Document, Page, or Field
object of the Document Hierarchy. The Parascript FieldScript intelligent character
recognition engine (ICR/P) provides recognition for English language, machine
printed, cursive, unconstrained, and lightly constrained hand printed US postal
addresses that contain a zip code. The Parascript recognition engine provides high
quality postal address recognition by using an up-to-date postal database. And, it
provides support for building and using vocabularies to enhance recognition
results.
This action uses the recognition settings you set up in Datacap Studio on zoned
fields.
Open your application in Datacap Studio, click the Zones tab, lock the Document
Hierarchy, and click the ICR/P Properties tab to display the settings.
For each zoned field, set the Field Type, then select the settings appropriate to that
Field Type and the data you expect in the field. In general, the following processes
need to happen in an application before this action is called:
v Document was scanned (using scan task, virtual scan, etc.)
v Document was identified (Page ID, fingerprint matching, etc.)
v Fields were created for each document type (CreateFields action)
v Zones were assigned (ReadZones action)
Example:
SetPostalDBPathICR_P(\\ServerName\ParentDir\icrp\PostalDB\)
RecognizeFieldsICR_P()
SaveToFile
Saves a Parascript vocabulary object to a file.
Member of namespace
ICR_P
Syntax
SaveToFile (StrParam)
Parameters
Provides the UNC path and filename of the file to which to save the vocabulary
object. Smart parameters are supported.
Returns
False if cannot open the file specified or the Parascript vocabulary (dictionary)
object does not exist. Otherwise, True.
Details
Saves a Parascript vocabulary (dictionary) object to a file. If the file already exists,
it is overwritten with new data. If the file does not exist, a new file is created.
Example:
NewDictionary
AddWord(ExampleWord,8)
SaveToFile(\\ServerName\ParentDir\testvoc.voc)
SetPostalDBPathICR_P
Provides the UNC path to the folder containing the Parascript postal database.
Member of namespace
ICR_P
Syntax
SetPostalDBPathICR_P (StrParam)
Parameters
Path to the folder containing the postal database. Smart parameters are supported.
Returns
False if the rule containing this action is not applied to a Batch, Document, Page
or a Field, or if the specified Parascript recognition engine is unavailable.
Otherwise, True.
Level
Details
Sets the path to the folder containing the postal database used during Parascript
(ICR/P) recognition. If you use this action to set the path to the postal database at
the Page or higher level, you do not have to set the Postal Database Path property
for each field.
Example:
SetPostalDBPathICR_P(\\ServerName\ParentDir\icrp\PostalDB\)
RecognizeFieldsICR_P()
ImageConvert actions
Use the ImageConvert actions to combine image files or to convert image files to
JPEG or TIFF.
The ImageConvert actions can combine multiple pages into a single document,
specify both the compression format for file conversion as well as the luminance
and color of the output.
Syntax
()
Parameters
None.
Returns
True, if all of the TIFF images within the document have been appended to the end
of the first TIFF image. Otherwise, False.
Level
Document level.
Details
This action will append (concatenate) all of the images within the document to the
first image of the document, creating one long image. The result of the action will
modify the first image in the document to become a single continuous image like
this:
v Page 1
v Page 2
v Page 3
If images are appended prior to recognition, the entire page area will be
recognized and click-n-key enabled.
It is highly recommended that this action be used only documents that have a
small number of pages, such as two or three pages per document. The size of the
final composite image can quickly become larger than can be handled by some
image viewers and possibly subsequent actions. To keep memory usage to a
minimum, it is also recommended that 1-bit Black and White images are used.
AppendAllImages_ByType
Appends all of the images of a specific type within a document.
Syntax
(StrParam)
Parameters
True, if all of the TIFF images that match the specified type within the document
have been appended to the end of the first matching TIFF image. Otherwise, False.
Level
Document level.
Details
This action will append (concatenate) all of the images, that are of the type
specified by the input parameter, that are all within the same document to the first
image of that type, creating one long image. Images are not appended across
documents. Assuming you have a document where the first three pages are all the
same matching type, the result of the action will modify the first image in the
document to become a single continuous image like this:
v Page 1
v Page 2
v Page 3
If images are appended prior to recognition, the entire page area will be
recognized and click-n-key enabled.
It is highly recommended that this action be used only documents that have a
small number of pages, such as two or three pages per document. The size of the
final composite image can quickly become larger than can be handled by some
image viewers and possibly by subsequent actions. To keep memory usage to a
minimum, it is also recommended that 1-bit Black and White images are used.
This example will append all of the images within a document that have a
page type of PO.
AppendImage
Concatenates the current image to the bottom of an existing image.
Syntax
()
Parameters
None.
Returns
True, if the current page is successfully concatenated with the previous page.
Otherwise, False.
Level
Page level.
This action concatenates the image for the current page to the bottom of the
previous image that is processed by a call to AppendImage_StartAsNew or
AppendImage. If AppendImage_StartAsNew is not called, then the first image that
is encountered is treated as the starting image.
If images are appended before recognition, the entire page area is recognized and
click-n-key enabled.
AppendImage_StartAsNew
Sets the current page as the first page for a concatenated file.
Syntax
()
Parameters
None.
Returns
True, if the image file exists for the current page and if it is a TIFF file. Otherwise,
False.
Level
Page level.
Details
Sets the current page as the start of a new concatenated document. This action is
used with AppendImage to create a single image that is created by concatenating
images to the bottom of the first image. AppendImage_StartAsNew identifies the
first page and AppendImage identifies all subsequent pages. The result of the
action modifies the first image in the document to become a single continuous
image like this:
v Page 1
v Page 2
v Page 3
If images are appended before recognition, the entire page area is recognized and
click-n-key enabled.
It is recommended to use this action only for documents that have a few pages,
such as two or three pages per document. The size of the final composite image
can quickly become larger than can be handled by some image viewers and
possibly subsequent actions. To keep memory usage to a minimum, you can use
1-bit Black and White images.
ConvertToJPEG
Converts the current image to a JPEG.
Syntax
()
Parameters
None.
Returns
True, if the image is converted to a JPEG. False, if the input image is a JPEG or if
a failure occurs during the conversion.
Level
Page level.
Details
Converts the current image to a JPEG. The output file name will have a JPG
extension.
Supported input file formats: BMP (1, 4, 8, or 24-bit), GIF (1, 4 or 8-bit), PNG (1, 4,
8 and 24-bit), and TIFF (1, 4, 8 and 24-bit) with compression (RLE, Group 3 fax,
and Group 4 fax, Pack Bits, LZW, JPEG).
Note: Not all actions that manipulate images support the same input file formats
as this action.
Example:
SetLuminanceFactor("24")
SetChrominanceFactor("10")
SetGrayScale("True")
ConvertToJPEG()
ConvertToTIFF
Converts the current image to a TIFF.
Syntax
()
Parameters
None.
Returns
True, if the image is converted to a TIFF. False, if the input image is a TIFF or if a
failure occurs during the conversion.
Page Level.
Details
Converts the current image to a TIFF. The output file name will have a TIF
extension.
Supported input file formats: BMP (1, 4, 8, or 24-bit), GIF (1, 4 or 8-bit), JPG or
JPEG (8 and 12-bit grayscale and 24-bit color), and PNG (1, 4, 8 and 24-bit).
Note: Not all actions that manipulate images support the same input file formats
as this action.
Example:
SetTiffCompression("3")
ConvertToTIFF()
SetChrominanceFactor
Set Compression for JPEG Output Files.
Syntax
(StrParam)
Parameters
Returns
Always True.
Level
All levels.
Details
JPEG images are stored in a compressed format. This action controls the amount of
compression that is used when you are converting an image to a JPEG image using
the ConvertToJPEG action.
Data loss is the result of JPEGs ability to achieve high compression ratios.
Higher-quality settings result in less compression, while lower quality settings
result in higher compression. Quality versus compression is a trade-off. Adjust
image compression ratio by setting the SetLuminanceFactor and
SetChrominanceFactor actions. The SetLuminanceFactor action adjusts the
luminance or gray scale quality, while the SetChrominanceFactor action adjusts the
chrominance or color quality. Lower settings for these properties result in
higher-quality images with less compression. Higher settings for these properties
result in lower quality images with more compression.
SetDeleteOriginal
Controls deletion of file after conversion.
Syntax
(StrParam)
Parameters
True: After the new image is created, the original will be deleted. False: After the
new image is created, the original will remain.
Returns
Always True.
Level
All levels.
Details
Use this action to control the deletion of the source image file when using the
actions ConvertToJPEG and ConvertToTIFF. If this action is not called, the default
value of False will be used, the source image will not be deleted after conversion.
Example:
SetDeleteOriginal("True")
ConvertToJPEG()
SetGrayScale
Controls the grayscale output for JPEG images.
Syntax
(StrParam)
Parameters
True: Saves the image as a grayscale image. False: Saves the image as color.
Returns
Always True.
Level
All Levels.
This action will determine if a JPEG image will be output as grayscale or color. If
SetGrayScale is True, all images will be saved as 8 bit grayscale. If SetGrayScale is
False, color images will be saved as 24 bit color and if the original image is 1 bit
black and white, the new image will be 8 bit grayscale. If this action is not called,
the value will default to False (color).
Example:
SetLuminanceFactor("24")
SetChrominanceFactor("10")
SetGrayScale("True")
ConvertToJPEG()
SetLuminanceFactor
Sets the image luminance or grayscale quality.
Syntax
(StrParam)
Parameters
Returns
Always True.
Level
All levels.
Details
JPEG images are stored in a compressed format. This action controls the amount of
compression that is used when you are converting an image to a JPEG image using
the ConvertToJPEG action.
Data loss is the result of JPEGs ability to achieve high compression ratios.
Higher-quality settings result in less compression, while lower quality settings
result in higher compression. Quality versus compression is a trade-off. Adjust
image compression ratio by setting the SetLuminanceFactor and
SetChrominanceFactor actions. The SetLuminanceFactor action adjusts the
luminance or gray scale quality, while the SetChrominanceFactor action adjusts the
chrominance or color quality. Lower settings for these properties result in
higher-quality images with less compression. Higher settings for these properties
result in lower quality images with more compression.
Syntax
(StrParam)
Parameters
Returns
Always True.
Level
All levels.
Details
This action sets the compression type of the TIFF that is output from the action
ConvertToTIFF. Typically Group 4 compression is used for performing recognition
on images.
All of these possible output formats may not be supported by other image
processing actions. If this action is not called, Group 4 compression will be used.
Example:
SetTiffCompression("3")
ConvertToTIFF()
ImageFix actions
The ImageFix actions are older versions of the DCImageFix action. Use the
DCImageFix actions instead.
Imail actions
Use the Imail actions to import image attachments from a mail server into the
current batch by using IMAP.
The Imail scan action polls the server and imports image attachments until the
batch reaches the specified size or until the wait time expires.
Member of namespace
Imail
Syntax
bool im_abort_time(int nSecs)
Parameters
nSecs Type: int
Parameters
Returns
Always True.
Level
Batch level.
Details
The action waits the specified time before it returns when an abort occurs. This
action can be useful to prevent many aborted batches due to an abort condition.
For example, if the email server can become unavailable for a time, the abort
timeout limits the number of aborted batches until the mail server becomes
available again.
If this action is not called, the default abort time value of 30 seconds is used.
Example:
im_wait_time("20")
im_abort_time("60")
im_max_docs("200")
im_types("jpg,tif")
im_AcceptMixedAttachments
Ingest emails with selected attachment types, even if non-selected attachment types
are included
Member of namespace
Imail
Syntax
bool im_AcceptMixedAttachments(bool bMixedOK)
Parameters
bMixedOK
Type: bool
Parameters
False An email message with any disallowed attachment is rejected, which is the
default process if this action is never called.
Returns
Always True.
Level
Batch level.
Details
If this action is never called, the presence of any attachment that is not specified by
im_types causes im_scan to treat that email message as a Problem.
If this action is called with parameter True, messages with disallowed attachment
types are ingested when they contain at least one allowed attachment.
If im_types is called with a blank parameter before im_scan, all emails are
ingested, so this action has no effect.
im_AcceptNoAttachments
Ingest emails without attachments, even if attachment types are specified
Member of namespace
Imail
Syntax
bool im_AcceptNoAttachments(bool bNoAttachOK)
Parameters
bNoAttachOK
Type: bool
A boolean value that enables ingestion of emails with no attachments.
Parameters
Always True.
Level
Batch level.
Details
If this action is never called, the absence of an attachment causes im_scan to treat
that email message as a Problem.
If this action is called with parameter True, a message with no attachments are
ingested.
If im_types is called with a blank parameter before im_scan, all emails are
ingested, so this action has no effect.
im_done_folder
Specifies the IMAP folder for successfully imported emails.
Member of namespace
Imail
Syntax
bool im_done_folder(string folder)
Parameters
folder Type: string
Parameters
Returns
Always True.
Level
Batch level.
Details
When an email is processed and the attachment is imported, the email is moved to
the folder name specified by this action. The folder is expected to be on the root
level, the same level as the inbox folder in the mail account that is specified by the
im_login action. If the folder exists in a subfolder, then use a forward slash to
separate the folder names.
This example changes the default names of the Done and Problem folders
and also requires the Imported and Failed folders to be on the same level
as the Inbox folder.
im_done_folder("Inbox/Imported")
im_problem_folder("Inbox/Failed")
im_login
Specifies the IMAP mail server URL and login credentials.
Member of namespace
Imail
Syntax
bool im_login(string hostname, string username, string password)
Parameters
hostname
Type: string
username
Type: string
password
Type: string
Parameters
v hostname: URL of IMAP mail server.
v username: Username for mail account.
v password: Password for mail account.
Returns
Level
Details
Connects to the mail server by using the specified account information. Specifies
the mail server URL and login credentials. Login credentials are for a mail server
that supports the IMAP protocol (such as MS Exchange, and many others). Call
one time for each batch.
im_logout
Disconnect from the mail server.
Member of namespace
Imail
Syntax
bool im_logout ()
Parameters
None.
Returns
Always True.
Level
Details
Closes the connection to the mail server. Call one time for each batch after
im_login and im_scan are completed.
Example:
im_logout()
im_max_docs
Specifies maximum number of emails to include in a single batch.
Member of namespace
Imail
Syntax
bool im_max_docs(int nDocs)
Parameters
nDocs Type: int
Parameters
Returns
Always True.
Batch level.
Details
The import of emails into the batch stops when this email limit is reached or when
the maximum wait time is reached. While it is waiting for new mail to arrive, the
configured mailbox is polled every 2 seconds to check for waiting mail.
If this action is not called, the default value of 100 is used. The actual amount
included in the batch might be less than this maximum.
Example:
im_wait_time("20")
im_abort_time("60")
im_max_docs("50")
im_types("jpg,tif")
This example causes the scan operation to limit the number of emails in a
batch to a maximum of 50.
im_problem_folder
Specifies the IMAP folder for problem emails.
Member of namespace
Imail
Syntax
bool im_problem_folder(string folder)
Parameters
folder Type: string
Parameters
Returns
Always True.
Level
Batch level.
Details
When an email is processed and the attachment is not one of the expected types,
the email is moved to the folder specified by this action.
The folder is expected to be on the root level, the same level as the inbox folder of
the mail account that is specified by the im_login action. If the folder exists in a
subfolder, then use a forward slash to separate the folder names.
This example changes the default name of the Problem folder to Failed and
requires the Imported and Failed folders to be on the same level as the
Inbox folder.
im_done_folder("Inbox/Imported")
im_problem_folder("Inbox/Failed")
This example specifies the folder, which is a subfolder of the Inbox folder.
im_scan
Poll the specified mail server for incoming emails with image attachments.
Member of namespace
Imail
Syntax
bool im_scan ()
Parameters
None.
Returns
False If the operation fails, and pauses before it returns. Otherwise, True.
If no selected emails were available, the action returns True and pauses before it
returns.
Action returns when timeout is reached, or the requested number of emails are
processed.
Level
Details
Scans emails in the Inbox for specified attachments, imports selected emails with
attachments into the batch. Call one time for each batch. A connection to the email
server must be previously established by using the im_login action.
Each input email contains the following variables set in the document hierarchy:
v TYPE: Always set to "Document".
v Subject: The email subject.
v Body: The text within the email.
v DateSent: The sent date stamp on the email.
v From: The email sender.
v User: The email user who is specified in the im_login action.
Attachments are ingested as individual pages within the email document, unless
im_StoreEML(true) is called before im_scan. With individual attachments, each
attachment page has the following variables set.
v TYPE: Always set to "Other".
v IMAGEFILE: The name of the attachment as saved on disk.
It is recommended that the subject line is no longer than 78 characters because this
length is a common subject line length limitation. Some systems might support
even shorter lengths, truncating the subject. Testing was successful with lengths up
to 255 characters. It is recommended to test your settings and use lengths
appropriate for your systems.
Example:
im_wait_time("20")
im_abort_time("40")
im_max_docs("200")
im_types("jpg,tif")
im_scan()
im_SortByDate
Sort emails by received date
Member of namespace
Imail
Syntax
bool im_SortByDate(bSort)
Parameters
bSort Type: bool
A boolean value that enables or disables sorting of emails before ingestion.
Parameters
True: Causes im_scan to sort email messages by date they are received and
ingested the oldest messages first. This sorting is the default behavior if
im_SortByDate is never called.
Returns
Always True.
Level
Batch level.
When you enable sorting, all pending emails are sorted and the oldest is ingested
first. This process can take a significant amount of time for each batch. When the
inbox might contain many emails (for example, more than 100), call
im_SortByDate(False) to speed up the process. In this case, messages are processed
in the order that the email server presents them to Datacap.
im_StoreEML
Store one .eml file per message, rather than one file per attachment
Member of namespace
Imail
Syntax
bool im_StoreEML(bool bStoreEML)
Parameters
bStoreEML
Type: bool
A boolean value that enables storing each email message as an .eml file.
Parameters
True: Store each ingested email message, formatted together with all attachments,
in a single .eml file and attach it as a page to the document.
False: Add each ingested email message as a document, with associated variables,
and add each attachment as a page within the document. This process is the
default if im_StoreEML is not called.
Returns
Always True.
Level
Batch level.
Details
If set, the im_scan action creates a one page document that contains the email and
attachments in an .eml file. No attachment pages are created and no variables are
set in the document.
im_types
Specifies valid file extensions for image attachments.
Member of namespace
Imail
Syntax
bool im_types(string extensions)
Parameters
Returns
Always True.
Level
Batch level.
Details
If this action is called and no attachment types are specified, all emails and any
attachments are added to the batch. Emails that are processed without attachments
result in documents without any pages.
im_UseSSL
Connect to IMAP Server by using an SSL encrypted channel
Member of namespace
Imail
Syntax
bool im_UseSSL(bool bUseSSL)
Parameters
bUseSSL
Type: bool
A boolean value that enables or disables SSL communication.
False: Communicate with the email server without encryption, which is the default
method if im_UseSSL is not called.
Returns
Always True.
Level
Batch level.
Details
When SSL is enabled, subsequent im_login and im_scan actions communicate with
the email server over IMAPS protocol by using SSL encryption on port 993. When
SSL is not in use, these actions communicate with the email server over IMAP
protocol on port 143.
im_wait_time
Specifies the maximum time to wait for input emails for a single batch.
Member of namespace
Imail
Syntax
bool im_wait_time(int nSecs)
Parameters
nSecs Type: int
Parameters
Returns
Always True.
Level
Batch level.
Details
The maximum time to wait for input emails for a single batch, when there is at
least one pending email. Used by the im_scan action after the first email is
processed to determine how long to wait for the batch to fill up. If no emails are
pending, the im_scan action does not wait regardless of the wait time value.
If this action is not called, the default wait time of 5 seconds is used.
Example:
im_wait_time("20")
im_abort_time("60")
im_max_docs("200")
im_types("jpg,tif")
Imprint actions
Use the Imprint actions to imprint text over an image, or for blackout or whiteout
redactions.
The Imprint actions can specify the width, font style, and font size of the
imprinted text as well as whether overlay rectangles are opaque or transparent.
AnnotateImage
Imprints the text that you specify onto the current page image.
Syntax
()
Parameters
string displayText
string xCoordinate
string yCoordinate
Parameters
Three parameters:
v displayText smart parameter supported string to be placed onto the image. The
displayText can combine plain text along with smart parameters.
v xCoordinate The X coordinate for the starting position of the text on the image.
Smart parameter supported.
v yCoordinate The Y coordinate for the starting position of the text on the image.
Smart parameter supported.
Returns
Level
Imprints the text you specify onto the current page's image file. By default, the
text's font size is 12, and font's style Times New Roman, with an adjusted width of
30.
Example:
SetFontName("Arial")
SetFontSize("10")
SetAdjustedWidth("100")
AnnotateImage("@BATCHID+ Page:+@ID","0","0")
This example places the Batch ID followed by Page: and the calling object
ID at the top of the image using the Arial font with a point size of 10 and
a width of 100.
ImPrint
Use the AnnotateImage action because this action is deprecated and is scheduled
to be removed in a future release.
Syntax
(StrParam)
Parameters
Details
*** This Action Is Deprecated *** This action has been deprecated and is
scheduled to be removed in a future release. It is recommended that you no longer
use this action. Instead, use the AnnotateImage action. See the action help for
details.
Redact
Use the RedactParameters action because this action is deprecated and is scheduled
to be removed in a future release.
Syntax
(StrParam)
Parameters
Returns
Details
Redact("black,,0,0,100,100")
Applies a black square overlay on the top left of the image
RedactByRegEx
Searches the entire page and redacts all occurrences of the phrase that matches the
RegEx expression.
Syntax
()
Parameters
string RegEx
string VariableBase
Parameters
v RegEx The expression to search for on the page. Smart parameters are supported.
v VariableBase A variable to create in the runtime DCO to track each redaction.
Returns
Always True.
Level
Page Level.
Details
This action searches the entire page and redacts all occurrences of the phrase that
matches the RegEx expression. This action must be called at a field level, however
the coordinates of the field will change during the operation and will remain on
the last found occurrence of the found text, so it may be necessary to use a zoned
but unused field for this action.
This example will redact all areas on the page where the word "History" or
"history" exists. The redactions will be tracked in the runtime DCO in a
variable called Location0, Location1, etc.
RedactParameters
Overlays a black or white rectangle on the image to redact the current field or the
specified region of a page.
Syntax
()
Parameters
string
string FillColor
string NewText
string TopLeftX
string TopLeftY
string BottomRightX
string BottomRightY
Parameters
v FillColor The fill color to use. Must be either White, or Black.
v NewText Optional - The text to include in the overlay.
v TopLeftX The upper left X coordinate in pixels.
v TopLeftY The upper left Y coordinate in pixels.
v BottomRightX The lower right X coordinate in pixels.
v BottomRightY The lower right Y coordinate in pixels.
Returns
Level
This action overlays a black, or white rectangle on the image. A default text value
might optionally be applied to the overlay.
If run on the field level, the entire field is redacted and the last four X/Y
parameters are ignored.
If run on the page level the last four parameters to specify the location must be
provided.
Example:
Redact("black","","0","0","100","100")
Called at the page level, this applies a black square overlay on the upper
left of the image.
Redact("White","Hello","","","","")
Called at the field level, this applies a white square overlay on the
coordinates for the current field, and imprint the word "Hello".
SetAdjustedWidth
Specifies the width of the imprinted text.
Syntax
(StrParam)
Parameters
Returns
Level
Details
This actions adjusts the maximum width of the imprinted text. It is possible that
the calculation of the string length may not allow for the entire string in the
specified font and point size. This is an adjustment factor which will lengthen the
area for the string to imprint on the image.
This action is optional. If the action is not used, the adjusted width will default to
30. If your text is being cut off, increase the parameter value. If you use this action
it must be called prior to the AnnotateImage action.
Example:
SetFontName("Arial")
SetFontSize("10")
SetAdjustedWidth("100")
AnnotateImage("@BATCHID+ Page:+@ID","0","0")
Syntax
(StrParam)
Parameters
Returns
Level
Details
This action is optional. If not used, the font style will default to Times New
Roman. If you use this action, it must be called prior to the AnnotateImage action.
Example:
SetFontName("Arial")
SetFontSize("10")
SetAdjustedWidth("100")
AnnotateImage("@BATCHID+ Page:+@ID","0","0")
SetFontSize
Specifies the font size to use for the imprinted text.
Syntax
(StrParam)
Parameters
Returns
Level
Details
This action is optional. If you do not use the action, the font size will default to 12.
If you use this action, it must be called prior to the AnnotateImage action.
SetOpaque
Specifies whether the transparency of the overlay rectangles are opaque (1) or
transparent (0).
Syntax
(StrParam)
Parameters
v Integer value: 1 or 0.
v SetOpaque(1) indicates full opacity / black.
v SetOpaque(0) results in subsequent rectangles that are white.
Smart parameters are supported.
Returns
Level
Details
Sets the transparency of the background of the imprint text. This is the background
that is added behind the imprinted text. If you use this action it must be called
prior to the AnnotateImage action.
If this action is not called, then the default value of 0, white, will be used for the
background of the annotation text.
Example:
SetOpaque("1")
AnnotateImage("@BATCHID+ Page:+@ID","0","0")
Intellocate actions
Use the Intellocate actions to update the existing field position information in the
document hierarchy (setup DCO) or to add position information for a new
fingerprint.
iloc_AdjustZones
Updates fingerprint-specific position coordinates for Field objects in the Document
Hierarchy based on the locations listed for the current source page's Data file
(.xml).
Member of namespace
Intellocate
Parameters
None.
Returns
False if a fingerprint match has not occurred and a Template ID value has not
been assigned to the current page, or if the Document Hierarchy file cannot be
saved. Otherwise, True.
Level
Details
This action is designed to be used on existing fingerprints only. It will only update
fields that do not have position information. Existing fields will not be updated,
even if the position information for those fields has changed.
Example:
iloc_AdjustZones()
iloc_AssignPageType
Assigns a required Page Type value to a newly created fingerprint.
Member of namespace
Intellocate
Syntax
iloc_AssignPageType (strParam)
Parameters
The value of the page type to assign to the current page. The input parameter
must be one of the following:
1. A numeric value that corresponds to the Page Type.
2. A string value of the page type name.
Returns
False if the numeric value cannot be retrieved from the fingerprint database or if
there is no connection to the fingerprint database. Otherwise, True.
Level
Assigns a required Page Type value to a newly created fingerprint. The assigned
value corresponds to the values configured in the PageType table within the
fingerprint database. These values are custom defined for each application. If a
string value is passed as a parameter, this action will look up the corresponding
numeric value within the database.
Example:
Iloc_AssignPageType("2")
iloc_SetDetailZones
Writes the position coordinates of a new fingerprint's Detail Line fields from a
page's Data file to the Pos properties of the corresponding Detail Line Field objects
of the application's Document Hierarchy.
Member of namespace
Intellocate
Syntax
iloc_SetDetailZones ()
Parameters
None.
Returns
Always True.
Level
Details
Writes the position coordinates of a new fingerprint's Detail Line fields from a
page's Data file to the Pos properties of the corresponding Detail Line Field objects
of the application's Document Hierarchy.
Example:
iloc_SetDetailZones()
iloc_SetZones
Writes the position coordinates of a new fingerprint's zoned fields from a page's
Data file to the Pos properties of the corresponding Field objects in the Document
Hierarchy file (.xml).
Intellocate
Syntax
iloc_SetZones ()
Parameters
None.
Returns
False if a fingerprint match has not occurred, or if the Document Hierarchy file
(.xml) cannot be saved. Otherwise, True.
Level
Details
Writes the position coordinates of a new fingerprint's zoned fields from a page's
Data file to the Pos properties of the corresponding Field objects in the Document
Hierarchy file (.xml).
Example:
iloc_SetZones()
IsPageDataMissing
Checks to see that the current page data exists.
Member of namespace
Intellocate
Syntax
IsPageDataMissing ()
Parameters:
None.
Returns
True if the current page does not have page data. Otherwise, False.
Level
Details
Checks to see that the current page data exists. This action does not physically
check for the existence of a data file. It confirms that a valid page data is loaded
into memory.
Invoice actions
Use the Invoice actions to process invoices by using the Datacap Accounts Payable
application.
The Invoice actions can configure date, fingerprint, format, and vendor settings on
invoice pages before export.
AddToDetailErrorMsg
Appends extra text to the existing error message.
Syntax
()
Parameters
Returns
Always False.
Level
Field level.
Details
AddToErrorMsg
Appends the supplied text to any existing error message string.
Syntax
()
Parameters
Returns
Always False.
Level
Field level.
Details
AllMixedCase
Changes the value of the current field to be Title case. The first letter of each word
is capitalized.
Syntax
()
Parameters
None.
Returns
Always True.
Level
Field level.
Details
This action will change the value of the current field to be Title case. The first letter
of each word will be capitalized.
Example
AllMixedCase()
If the field in this example is "hello, i MUST be going.", the text will be
changed to "Hello, I Must Be Going."
AllowOnlyChars
Matches the field characters with the allowed set of characters. When the field
contains characters that are not in the allowed set, the characters are deleted from
the field. The comparison is case-sensitive.
Syntax
()
Parameters
Returns
Level
Field Level.
This action will match the field characters with the allowed set of characters. If the
field contains characters that are not in the allowed set, the characters will be
deleted from the field. The comparison is case sensitive.
Example
CheckAnFixDecimal()
Is_InCharSet("01234567890.,-$ ")
AllowOnlyChars("0123456789.-")
AlterDatebyDay
Adds the specified number of days to the date contained in the current field. The
original character confidence is not changed.
Syntax
()
Parameters
Returns
False if called at the wrong level or if the input is not numeric. Otherwise, True.
Level
Field level.
Details
This action will add the specified number of days to the date contained in the
current field. The original character confidence is not changed.
Example
AlterDatebyDay("7")
This example adds one week to the date contained in the field. If the date
crosses over a month or year boundary, they will be adjusted
appropriately.
CalculateNotesZone
Creates a zone between detail lines to recognize the text between lines.
Syntax
()
Parameters
None.
Returns
Always True.
Details
This action creates a zone between detail lines, so the text between lines can be
recognized.
Example
CalculateNotesZone()
CaptureOpInfo
Captures the Operator, Station ID, and current time and place them into variables.
The variables are named based on the provided variable prefix, such as, prefix
Operator, prefix Station, and prefix Time. When, a prefix is not provided the task
name is used as the prefix by default.
Syntax
()
Parameters
Returns
Always True.
Level
Any level.
Details
This action will capture the Operator, Station ID and current time and place them
into variables. The variables are named based on the provided variable prefix, like
this: prefix Operator, prefix Station, and prefix Time. If a prefix is not provided, the
task name is used as the prefix by default.
Example
Status_Preserve_OFF()
ClearErrorMsg()
CaptureOpInfo("Production")
rrCompare("@P\Routing_Instructions","None")
CheckAndFixDecimal
Replaces the space or comma with a decimal point. This action is used to fix errors
where the decimal is not recognized and leaves a blank in that area.
Syntax
()
None.
Returns
Always True.
Level
Field level.
Details
Replaces the space or , with . to fix errors where the decimal is not recognized and
leaves a blank in that area. This action can also be used for conversion for
European numbers that use a comma to separate dollars from cents so $100,00
becomes $100.00 or $100 00 becomes $100.00.
Example
CheckAndFixDecimal()
Is_InCharSet("0123456789.,-$")
AllowOnlyChars("0123456789.-")
IsFieldCurrency()
CheckForSticky
For new fingerprints, checks whether there is another matching fingerprint within
the same batch that was already verified. It can be used to obtain zone
information.
Syntax
()
Parameters
None.
Returns
Always True.
Level
Page level.
Details
An example of this action is when a batch contains two similar invoices, which
have never been processed by the system before. Once the first invoice is zoned
during verify, the same new fingerprint can be used on the second invoice. This is
only needed on new matching fingerprints within the same batch because a
fingerprints zones are saved at export time and are available for subsequent
batches.
Example
CheckForSticky()
Syntax
()
Parameters
Returns
False if called at the wrong level, if parameters are missing or if the settings.ini
file cannot be found. Otherwise, True.
Level
Batch level.
Details
If the available disk space is less than the value specified in the .ini file, then a
notification will be created in the .ini file. The notification is created under the
[Notifications] section of the .ini file, under the LowDiskNotification setting. This
setting will be set to Yes.
If the LowDiskSpaceThreshold is missing from the .ini file, the default value of
3000 bytes will be used.
If a notification has been previously created, and the disk space has been increased
since the last time the action ran, then the notification will be removed from the
.ini file and LowDiskNotification is set to No.
Example
CheckFreeDiskSpace("C:\Datacap\APT\dco_APT\settings.ini,C:")
Scan()
ClearErrorMsg
Use this action to clear the current error message.
Syntax
()
Parameters
None.
Returns
Always True.
Any level.
Details
CreateFingerprint
Creates a fingerprint for the current page, even when there is an existing
fingerprint.
Syntax
()
Parameters
None.
Returns
Level
Page level.
Details
This action will create a fingerprint for the current page. Forces the creation of a
new fingerprint using the current image, even if there is an existing fingerprint. A
typical scenario is when there is a very similar fingerprint that incorrectly matches
the current image, such as two invoices that are very similar. When the new
invoice is received in the future, it should now match on this new fingerprint.
Example
IsChildFieldValue("Add_New_Fingerprint,YES")
SetFingerprintDir("@APPPATH(fingerprint)")
SetFingerprintRecogPriority("True")
RecognizePageOCR_S()
CreateFingerprint()
SetFingerprint("@P\Vendor")
iloc_SetDetailSimple("Details")
IncrementBatchVar("Verify requested Add Fingerprint")
DetailFix
Calculates the quantity, price, and line total when one of them is blank within a
detail field. This calculation is done for all detail lines on the page.
Syntax
()
None.
Returns
False if any of following fields do not exist or are not numeric: Qty, Price, and
LineTotal.
Otherwise, True.
Level
Field level.
Details
DoMsgbox
This action is deprecated, its functionality is no longer supported.
Syntax
()
Parameters
Returns
Always True.
Level
All levels.
Details
The message is displayed to the user and they must press OK to continue.
Attention: This action must not be used within a ruleset that is run unattended
or processing will stop.
Example
CheckDCOStatus("75")
DoMsgbox("The page was deleted.")
ExecuteSQLBind
This action was deprecated. It is scheduled to be removed in a future release.
Details
FindExportImage
Searches the batch directory for a file that corresponds to the current page that
contains the current field. The file extension must match the extension that is
specified with the input parameter.
Syntax
()
Parameters
Returns
False if called at the wrong level or if the input parameter is invalid. True if the
correctly named file with the specified extension exists in the batch directory.
Level
Field level.
Details
Example
FindExportImage("1")
FPXMLUsed
Indicates when FPXML format fingerprint files are being used. Call this action
when you are using fingerprints from FPXML with Invoice.rrx.
Syntax
()
Parameters
None.
Returns
True if a FPXML fingerprint file exist for the current page object. Otherwise, False.
Level
Page level.
Call this action if you are using fingerprints from FPXML with Invoice.rrx.
Example
FPXMLUsed()
ZoneBOTTOM_ImageBottom()
ScanDetails()
GenerateDetails
Sets up a field in APT and puts a detail subfield on every page. This extra detail
subfield appears on all pages of a multi-page invoice, allowing every page to be
viewed.
Syntax
()
Parameters
None.
Returns
Level
Field level.
Details
This action sets up a field in APT and puts a detail subfield on every page. This
extra detail subfield appears on all pages of a multi-page invoice, allowing every
page to be viewed.
Example
GenerateDetails()
iloc_SetDetailSimple
Fills the Setup DCO from Runtime Data file.
Syntax
(sDetailName)
Parameters
Returns
False if called at the wrong level, if the DCO node cannot be found, if the
fingerprint ID is not found, or if the setup DCO cannot be saved. Otherwise, True.
Level
Page level.
This action fills the Setup DCO from Runtime Data file.
Example
SetFingerprint("@P\Vendor")
iloc_SetZones()
iloc_SetDetailSimple("Details")
IncrementBatchVar("Intellocate Fingerprint")
IncrementBatchVar
Increments a batch level variable by 1. When the variable does not exist, it is
created. When the variable exists but the value is not a number, the variable is set
to 1.
Syntax
()
Parameters
Returns
Always True.
Level
Any level.
Details
This action increments a batch level variable by 1. If the variable does not already
exist, it will be created. If the variable exists but the value is not numeric, the
variable is set to 1.
Example
rrCompareNot("@P.RecogStatus","1")
SetDocStatus("128")
IncrementBatchVar("Recog - Deleted Document")
IsChildFieldBlank
This action is replaced by the rrCompare action in the rrunnner library.
Syntax
()
Parameters
Returns
True if the child field is located and if it has an empty text field. Otherwise, False.
Level
Field Level.
Searches for a child field that matches the provided parameter. If it matches and if
the text value is empty, then this action returns true, causing the next action in the
ruleset to run.
Example
IsChildFieldBlank("Qty")
IsChildFieldValue
This action was deprecated. It is scheduled to be removed in a future release.
Syntax
()
Parameters
Returns
Level
Document Level
Details
This action locates a child field and compares its value to the one passed in. This
action can be used to perform actions if a field contains a specific value.
Example
IsChildFieldValue("Add_New_Fingerprint,YES")
Syntax
()
Details
IsCurrentObjVariable
This action is replaced by rrCompare in the rrunner action library.
Syntax
()
Details
IsFingerPrintClass
Connects to the fingerprint database and verifies that the specified fingerprint class
contains the fingerprint ID of the current page.
Syntax
()
Parameters
Returns
False if called with the wrong number of parameters, on the wrong level, if the
fingerprint ID does not exist in the specified class.
Level
Page Level.
IsInINI
Reads and returns to the action the value of the specified key in the INI file.
Syntax
()
Parameters
Returns
True if the value of the current field is a substring within the string specified in the
INI file. Otherwise, False.
Level
Field Level.
Details
When possible it is recommended to use the generic actions that read and write
INI files in the FileIO action library. Reads and returns to the action the value of
the specified key in the INI file. It compares the value of the current field with the
with the string in the INI file. The field must be a substring of the string in the INI
file.
Example
IsInINI("C:\MyDir\settings.ini", "mysection", "mykey")
IsInList
Validates that the value of a field is contained within a string.
Syntax
()
Parameters
True if the value of the Text variable of the current field is contained within the
specified list.
Level
Field Level.
Details
Example
IsInList("Hello Larry")
In this example, if the field Text value is Larry, the action returns True.
IsMultipageDocument
Determines whether the current object is a document with multiple pages attached.
Syntax
()
Parameters
None.
Returns
False if called at the Batch level, the document object cannot be found, or if the
document does not have more than 1 child. Otherwise, True.
Level
Document level.
Details
This action is used to determine if the current object is a document with multiple
pages attached.
Example
IsMultipageDocument()
IsSinglePageDocument
Determines whether the current object is a document with only 1 page attached.
Syntax
()
Parameters
None.
Returns
False if not called on a document object or if the document does not contain
exactly one page. True if the document contains one page.
Document level.
Details
This action is used to determine if the current object is a document with only 1
page attached.
Example
IsSinglePageDocument()
PopulateZNField()
IsStationIDSuffix
Tests the current station ID by checking that the specified parameter matches the
rightmost portion of the station ID.
Syntax
()
Parameters
Returns
False if the suffix is longer than the current Station ID or if the specified suffix
does not match the Station ID. Otherwise, True.
Level
Any level.
Details
This action checks that the specified parameter matches the right most portion of
the station ID. This action is useful if you have stations with different suffixes and
you want to control actions based on the station name.
Example
IsStationIDSuffix("-Test")
CloseConnection()
OpenConnection("@APPVAR(*/lookupdb:cs)")
In this example, If the station name is Validate-Test, the action returns True
and continues executing the following actions.
IsTaskName
This action is deprecated and is scheduled to be removed in a future release. Use
the rrCompare action in the rrunner action library.
Syntax
()
Parameters
True if the specified name matches the currently running task. Otherwise, False.
Level
Any levels.
Details
This action checks the name of the currently running task to see if it matches the
specified task name. If it matches, it will return True.
Example
IsTaskName("Verify")
LoadCCOFromField()
PopulateZNField()
Is_InCharSet
This action is deprecated and is scheduled to be removed in a future release. Use
the actions in the Picture action library.
Syntax
()
Parameters
Returns
False if called at the wrong level, if the Text value of the current object is empty or
if a character in the Text variable of the current object does not exist in the
specified character set. Otherwise, True.
Level
Field Level.
Details
This action checks the Text value of the current field to confirm that each of the
characters are contained within the specified set of expected characters. If one or
more characters are not in the specified set, the action returns False.
Is_JobName
This action is deprecated and is scheduled to be removed in a future release. Use
the rrCompare action in the rrunner action library.
Syntax
()
Parameters
The name of the job name you expect for the current job.
Returns
True if the current job matches the provided name. Otherwise, False.
Level
Any level.
Details
This action will compare the provided job name with the name of the currently
running job. This can be useful, if you wish to perform actions based on different
job names. The comparison is case sensitive.
Example
Is_JobName("Demo-Multipage TIFF")
PageIDByVariableChange("ScanSrcPath,Main_Page,Trailing_Page")
Is_JobNamePrefix
Tests the leftmost portion of the job name to determine if it matches the provided
prefix.
Parameters
Returns
Level
Any level.
Details
Example
Is_JobNamePrefix("Test")
LoadCCOFromField
Loads the DCO from a field object. The verify panels do not load the CCO into the
scripting engine so this action accomplishes that task.
Syntax
()
Parameters
None.
Returns
False if this action is not called on a field or if the CCO file does not exist.
Otherwise, True.
Level
Field Level.
Details
This action is required for any invoice action that uses the CCO.
Example
LoadCCOFromField()
SetDynamicDetailZones("Zone Bottom,Notes")
ZoneBOTTOM_ImageBottom()
ScanDetails()
MovePDF
This action is deprecated and is scheduled to be removed in a future release. Use
the actions in the FileIO action library.
Parameters
The target directory for the PDF. Smart Parameters are supported.
Returns
False if the document cannot be found, if the source file does not exist or if the
target file does exist. Otherwise, True.
Level
Document level.
Details
This action copies the PDF associated with the current DCO document to the
specified directory. The PDF document name must match the name/ID of the
current DCO document for the copy to take place.
Example
MovePDF("@APPPATH(export)")
OpenConnection
This action is deprecated and is scheduled to be removed in a future release. Use
the OpenConnection action in the Lookup action library.
Syntax
()
Details
ParseImageName
Extracts only the file name from the variable ScanSrcPathand places it into the Text
variable of the current object.
Syntax
()
None.
Returns
Always True.
Level
Details
This action extracts only the file name from the variable ScanSrcPath and places it
into the Text variable of the current object. It is expected that the file name contains
an underscore and only the value up to the underscore is kept.
Example
ParseImageName()
PopulateZNLineItemFieldDynamic
This action is like the PopulateZNLineItemField except that it uses the CCO that
was loaded into memory by LoadCCOFromField, instead of the global CCO.
Syntax
()
Parameters
None
Returns
True if there is no field position or if the data was found in a zone. False if there is
a zone defined but it is blank.
Level
Page level.
Details
This action populates the data file of the Fingerprint with the recognized value
contained inside the zone of a child Field object of a LINEITEM parent field. This
ReadFPXMLZones
Reads the zones from the FPXML into the objects for the page and stores the
specified fields. When it creates detail lines, it knows the positions of the fields of
these detail lines.
Syntax
()
Parameters
Comma-separated parameters:
1. The fingerprint directory. Smart parameters are supported.
2. A comma-separated list of the detail lines.
Returns
False if called at the wrong level or if the FPXML does not exist. Otherwise, True.
Level
Page level.
Details
Example
ReadFPXMLZones("@APPPATH(fingerprint),details,lineid,itemdesc,qty,price,linetotal")
rrSet("FPXML","@P.ZoneRead")
IsMultipageDocument()
SetEOL("|")
SaveObjectVariable
This action is scheduled to be removed in a future release. Use the rrSet action in
the rrunner action library.
Syntax
()
Details
Syntax
()
Parameters
Returns
Always True.
Level
Field Level.
Details
This action is required for Find Details functionality. It saves the positions of the
line and of the fields at the detail level so all of the line items can be erased and
recreated.
Example
FPXMLUsed()
ScanLineItemDynamic("ZoneBottom,Notes")
SendOutlookNotification
Uses Outlook to send a notification to specified email addresses. The message
within the email is determined by previous calls to actions with a set notification,
such as CheckFreeDiskSpace.
Syntax
()
Parameters
The extension of the attachment. The attachment is expected to be named the same
as the current document ID.
Returns
False if called at the wrong level, if the connection to Outlook could not be
established, or if email addresses could not be found in Settings.ini.
Level
Document level.
Details
This action requires Outlook to be installed on the computer and logged in with an
ID that has the appropriate permissions to send emails.
SetDynamicDetailZones
Takes the position of the line items and builds the line coordinates. It sets the
details zones from the first line to the end of the CCO.
Syntax
()
Parameters
The parameter is the Zone Bottom field. If more than one field is listed, Zone
Bottom must be the first field and other fields are ignored.
Returns
Level
Page level.
Details
Example
LoadCCOFromField()
SetDynamicDetailZones("Zone Bottom,Notes")
ZoneBOTTOM_ImageBottom()
ScanDetails()
SetPicChar
This action is deprecated, it is scheduled to be removed in future versions. Use the
PIC_SetPictureCharacter action in the Picture action library.
Syntax
()
Parameters
Details
SetStickyNo
Sets the Sticky indicator to No to indicate that there are no sticky fingerprints.
Sticky fingerprints identify a page within a single verification session when
another form of the same type appears after a previous form was zoned.
Syntax
()
Parameters
None.
Always True.
Level
Any level.
Details
Example
IsCurrentObjVariable("Sticky,Yes")
SetStickyNo()
SetToDocIDMPTIFF
This action is deprecated and is scheduled to be removed in a future release. Use
the rrSet action in the rrunner action library.
Syntax
()
Parameters
Returns
Always True.
Level
Any level.
Details
This action builds a full path to the a tiff file and sets the field text to this value.
The path consists of the export path + DOCID + .TIF. The value is put into the
field so it can be access later in the application, if necessary. It only builds the path.
The action does not output the TIF file.
Example
SetToDocIDMPTIFF("@APPPATH(export)")
SwapImages
Interchanges the TIF for the current page with another TIF that has the same file
name but a different extension.
Parameters
Two extensions
1. The extension to be saved as TIF.
2. The extension that current tif is saved as.
Returns
False if called at the wrong level, if the wrong number of parameters are specified,
or if the original file cannot be found. True if the file extensions are interchanged.
Level
Page level.
Details
One possible use for this action is if you had a backup of the TIF and need to
restore it. The current TIF is named with the new extension while the other named
TIF, is renamed to have a TIF extension.
Example
SwapImages("TIO,TIB")
SwitchMMDD
Switches US Month and Day date values. It swaps the first 2 characters of the field
value with the 2 characters that follow the separator.
Syntax
()
Parameters
A list of separators.
Returns
True if two separators are found and the separators are swapped. Otherwise,
False.
Level
Field level.
Details
Example
SwitchMMDD("/")
Syntax
()
Parameters
None.
Returns
False if called at the wrong level or if the fingerprint does not exist. Otherwise,
True.
Level
Page level.
Details
Example
UpdateFPStats()
ValidateVendor
Checks whether the current vendor, vendor number, and postal code exist on the
same record in the lookup database.
Syntax
()
Parameters
The connection string to the lookup database. Smart Parameters are supported.
Returns
False if the connection cannot be opened or if the settings file cannot be found.
Otherwise, True.
Level
Page level.
Details
The fields that are validated are in the validate vendor check are Vendor,
Vendor_Number, and Remittance_Zip.
WriteErrorMessage
Writes the message to field level variable message that appears in the status bar.
The message is stored in the MESSAGE variable.
Syntax
()
Parameters
Returns
Always False.
Level
All levels.
Details
Example
GetDCOStatus("75")
WriteErrorMessage("The page is set to a deleted status.")
IOverlay actions
Use the IOverlay actions to combine the current page image with a background
image. You can use this action to reapply a form background that dropped out
during scanning.
The IOverlay actions enable dithering of a background image and haloing with
white pixels around the black pixels on an image. These actions make the image
easier to read.
Overlay
Combines the current image with the image file specified by the
SetBackgroundImage action into a new image replacing the current image. This
action is used to reinstate a form background that was dropped out during
scanning.
Syntax
()
Parameters
None.
1. The parameter of the preceding SetBackgroundImage action can be a smart
parameter that locates a file.
2. Looks for a field type called Image_Offset or IMAGEOVERLAYOFFSET
containing a comma separated value containing the amount of X and Y pixel
offset for the overlay image.
Returns
False if the action is not applied to a Page object; if it cannot locate the
Background Image file; or if the action encounters an error of a different kind.
Otherwise, True.
Level
Details
Example:
SetBackgroundImage(c:\ParentDir\mclaims\process\hcfa\hcfa.tif)
Overlay()
In this example, the Overlay action uses the file name and path in the
parameter of the SetBackgroundImage action to locate the Background
Image file.
SetBackgroundImage((@APPPATH(formdir)+\+ub04.tif)
Overlay()
SetBackgroundImage
Designates the Image file that will overlay the image of the current page.
Syntax
(StrParam)
Parameters
Returns
Level
All.
Details
Designates the Image file that will overlay the image of the current page. Smart
Parameters supported.
SetDitheringBackground
Enables or disables dithering of the background image. Dithering makes the
background image appear lighter than the information of the current image so that
visually it appears less prominent.
Syntax
(StrParam)
Parameters
Returns
Always True.
Level
All.
Details
Example:
SetBackgroundImage(c:\ParentDir\mclaims\process\hcfa\hcfat.tif)
SetDitheringBackground(True)SetHaloBackground(True)
Overlay()
SetHaloBackground
Enables or disables a halo of white pixels around any black pixels from the current
image where they would otherwise touch pixels from the background. This makes
the foreground information easier to read.
Syntax
(StrParam)
Parameters
Returns
Always True.
Level
All.
Locate actions
Use the Locate actions in combination with full text recognition to locate words or
regular expressions on the page. And to move around the page by line or word.
The Locate library also includes a few format validation actions, such as
IsCurrency and IsDateValue. Most of the validation actions are located in the
Validate library.
AddKeyList
Adds a list of keywords or phrases that can be used for matching.
Syntax
()
Parameters
1. String value used as a reference name for other actions to call this list of
keywords or phrases.
2. Up to twenty five keywords or phrases to be used for matching.
Returns
Level
Any.
Details
This action complements the List search actions that can load a Keyword text file
which contains a list of words or phrases, separated by new lines, that are used for
matching.
This action searches the current page, from first word to the last word of
the current page, for the first occurrence of all keywords in the Invoices
Number Keyword list "InvNum".
AggregateKeyList
Toggles the Key list searches to merge all words or phrases in the list into a single
query.
Syntax
()
Parameters
Toggles Key list searches to merge all words or phrases in the list into a single
query.
Returns
Always True.
Level
Any.
Details
Use of this action changes the search behavior for all 'List' type key word search
actions. Default behavior is to search each keyword in the list sequentially. This
action with the parameter set to True changes the search behavior to check for all
the keywords in a single aggregate keyword search. To change back to the default
behavior use this action with the False parameter.
Example
AggregateKeyList(True)
FindKeyList("InvNum")
This action searches the current page, from first word to the last word of
the current page, for the first occurrence of all keywords in the Invoices
Number Keyword file (InvNum.key). If successful, the search stops and
remembers the location of that word for subsequent actions; if not, the
action continues searching for the next word in InvNum.key, starting from
first word of the current page, repeating this search pattern until a match is
found, or until there are no more keywords.
DefaultValue
Sets the text value of the current field in the page data file to the value that is
specified.
Syntax
()
The String value assigned to the bound Field object of the Document Hierarchy
that represents the current field.
Returns
Always True.
Level
Details
Sets the captured value of the current field to the String value you enter as a
parameter.
Example:
DefaultValue("Bill Paid")
DefaultValue("Past Due")
FilterIt
Removes all instances of the specified characters from the word that is located.
Syntax
()
Parameters
Returns
Always True.
Level
Details
Removes all instances of each character you enter as a parameter from the located
word or phrase.
Example
FilterIt("-")
31-Dec-01 becomes 31Dec01
FilterIt("1")
31-Dec-01 becomes 3-Dec-0
FilterIt("1-")
31-Dec-01 becomes 3Dec0
FindDBList
Locates a word that matches one of a list of words that are obtained from a SQL
query.
Parameters
Returns
Level
Details
This action issues an SQL query against the lookup database, returning a list of
words or phrases that will be located on the current page. The search is performed
from the first word of the current page. Initially, the first listed word or phrase is
searched for on the page. If there is no match, it will search for the next word or
phrase returned from the database. This continues until a match is found or none
of the returned words are contained on the page. The location of the found word
or phrase will be remembered so the result can be used by subsequent actions. The
search is case sensitive.
To improve matching, this action automatically adjusts the search criteria to allow
for common character substitutions. For example, if the list includes "will" and the
recognition read "wi11", a match will still occur.
Common substitutions include characters: B8, Z2, S5, oO0 and iItl1.
Example
FindDBList("Select LastName from Providers")
This example gets a list of last names from a provider table and find the
first matching occurrence on the page.
FindDBList_InZone
Locates a word that matches a word from the current field.
Syntax
()
Parameters
Returns
Details
This action generates an SQL query against the Lookup database, returning a list of
words or phrases that are in the current field. The search is performed from the
first word of the current field. Initially, the first listed word or phrase is searched
for in the field. If there is no match, it will search for the next word or phrase that
is returned from the database. The search continues until a match is found or none
of the returned words are contained on the page. The location of the found word
or phrase is remembered so the result can be used by subsequent actions. The
search is case-sensitive.
To improve matching, this action automatically adjusts the search criteria to allow
for common character substitutions. For example, if the list includes will and the
recognition that is read is wi11, a match still occurs.
Common substitutions include characters: B8, Z2, S5, oO0, and iItl1.
Example
FindDBList("Select LastName from Providers")
This example obtains a LastName list from a provider table and finds the
first matching occurrence on the page.
FindKeyList
Locates the first or next occurrence of a word or phrase that matches one of the
entries in a keyword file.
Syntax
()
Parameters
The name of the Keyword text file. The file will contain a list of words or phrases,
separated by new lines, that will be used for matching.
Returns
True if at least one word on the page matches any word or pattern in the Keyword
file. Otherwise, False.
Level
Opens the Keyword file you specify as a parameter, then checks the words or
phrases on the current page against the keywords in the list to find a match. The
location of the found word or phrase that matches an entry in the keyword file
will be remembered so the result can be used by subsequent actions. Matching is
case sensitive.
To improve matching, this action automatically adjusts the search criteria to allow
for common character substitutions. For example, if the list includes "will" and the
recognition read "wi11", a match will still occur.
Common substitutions include characters: B8, Z2, S5, oO0 and iItl1.
Example
FindKeyList("InvNum")
This action searches the current page, from first word to the last word of
the current page, for the first keyword in the Invoices Number Keyword
file (InvNum.key). If successful, the search stops and remembers the
location of that word for subsequent actions; if not, the action continues
searching for the next word in InvNum.key, starting from first word of the
current page, repeating this search pattern until a match is found, or until
there are no more keywords.
FindKeyList_InZone
Locates the first (or next) occurrence of a word or phrase that matches one of the
entries in the current field.
Syntax
()
Parameters
The name of the Keyword text file. The file will contain a list of words or phrases,
separated by new lines, that will be used for matching.
Returns
True if at least one word in the current bound zone matches any word or pattern
in the Keyword file. Otherwise, False.
Level
Field level.
Details
Opens the Keyword file you specify as a parameter, then checks the words or
phrases in the current field of the source page's .cco file against the keywords in
the key file list to find a match. The location of the found word or phrase that
To improve matching, this action automatically adjusts the search criteria to allow
for common character substitutions. For example, if the list includes "will" and the
recognition read "wi11", a match will still occur.
Common substitutions include characters: B8, Z2, S5, oO0 and iItl1.
Example
FindKeyList_InZone("Line_Items")
This action searches the current bound zone for the first keyword in the
Keyword file (Line_Items.key). If successful, the search stops and
remembers the location of that word for subsequent actions; if not, the
action continues searching for the next word in Line_Items.key, from the
beginning of the current bound zone, repeating this search pattern until a
match is found, or until there are no more keywords.
FindLastKeyList
Locates the last occurrence of a word or phrase that matches one of the entries in a
keyword file.
Syntax
()
Parameters
The name of the Keyword text file. The file will contain a list of words or phrases,
separated by new lines, that will be used for matching.
Returns
True if at least one word on the page matches any word or pattern in the Keyword
file. Otherwise, False.
Level
Page level.
Details
Opens the Keyword file you specify as a parameter, then checks the words or
phrases on the current page against the keywords in the list to find a match. The
current page will be searched to find the last occurrence of word or phrase. The
location of the last occurrence word or phrase that matches an entry in the
keyword file will be remembered so it can be utilized by subsequent actions. Word
matching is case sensitive.
Common substitutions include characters: B8, Z2, S5, oO0 and iItl1.
Example
FindLastKeyList("InvNum")
This action searches the current page for the last instance of a match with
the first keyword in the Keyword file (InvNum.key). If successful, the
search stops and remembers the location of that word for subsequent
actions; if not, the action continues searching using the next word in
InvNum.key, matching the last occurrence of the word, repeating this
search pattern until a match is found, or until there are no more keywords.
FindLastKeyList_InZone
Locates the last occurrence of a word or phrase that matches one of the current
field.
Syntax
()
Parameters
The name of the Keyword text file. The file will contain a list of words or phrases,
separated by new lines, that will be used for matching.
Returns
True if at least one word on the page matches any word or pattern in the Keyword
file. Otherwise, False.
Level
Field level.
Details
Opens the Keyword file you specify as a parameter, then checks the words or
phrases in the current bound zone against the keywords in the list to find a match.
The location of the found word or phrase will be remembered so the result can be
used by subsequent actions. Word matching is case sensitive.
To improve matching, this action automatically adjusts the search criteria to allow
for common character substitutions. For example, if the list includes "will" and the
recognition read "wi11", a match will still occur.
Common substitutions include characters: B8, Z2, S5, oO0 and iItl1.
Example
FindLastKeyList_InZone("ClaimsData")
FindLastRegEx
Same as the FindLastWord action, except that it supports regular expressions.
Syntax
()
Parameters
Returns
Level
Page level.
Details
Locates the last occurrence of a word or phrase on the current page where the
input search term is specified as a regular expression. The search is started from
the first word of the current page. The location of the found word or phrase will
be remembered so the result can be used by subsequent actions. The search is case
sensitive.
Example
FindLastRegEx("Da?e")
GoRightWord("1")
IsDateValue()
UpdateField()
FindLastRegEx will look for the last occurrence of a word that matches the
regular expression. If it match is found, it will continue processing by
moving one word right to the result of RegExFind and act on that word. In
this example, if it is a date format, UpdateField will place the value into
the current field.
FindLastRegEx_InZone
Same as the FindLastWord_InZone action, except that it supports regular
expressions.
Syntax
()
Parameters
Level
Field level.
Details
Locates the last occurrence of a word or phrase in the current field where the input
search term is specified as a regular expression. The search is started from the first
word of the current field. The location of the found word or phrase will be
remembered so the result can be used by subsequent actions. The search is case
sensitive.
Example
FindLastRegEx_InZone("Da?e")
GoRightWord("1")
IsDateValue()
UpdateField()
FindLastRegEx will look for the last occurrence of a word that matches the
regular expression. If it match is found, it will continue processing by
moving one word right to the result of RegExFind and act on that word. In
this example, if it is a date format, UpdateField will place the value into
the current field.
FindLastRegExList
Same as the FindLastKeyList action, except that it supports regular expressions.
Syntax
()
Parameters
The name of the Keyword text file. The file will contain a list of words or phrases,
separated by new lines, that will be used for matching. The entries in the keyword
file are expected to be regular expressions.
Returns
True if at least one word on the page matches any word or pattern in the Keyword
file. Otherwise, False.
Level
Page level.
Opens the Keyword file you specify as a parameter, then checks the words or
phrases on the current page against the keywords in the list to find a match. The
entries in the keyword file are expected to be regular expressions. To perform the
action, the search first looks for the last occurrence of the first word or phrase in
the keyword file. If the word is found on the page, the search stops at the last
occurrence of the word. If no match is found, the next line from the keyword file is
read and again the entire page is searched. This process continues until a match is
found or all of the lines in the keyword file have been read. The location of the last
occurrence of a found word or phrase will be remembered so the result can be
used by subsequent actions. Word matching is case sensitive.
Example
FindLastRegExList("InvoiceNum")
This action searches the current page, from the first word of the current
page, for the last occurrence of the first keyword in the Keyword file
(InvoiceNum.key). If successful, the search stops and remembers the
location of that word for subsequent actions; if not, the action continues
searching for the last occurrence of the next word in InvoiceNum.key,
starting from starting of the current page, repeating this search pattern
until a match is found, or until there are no more keywords.
FindLastRegExList_InZone
Same as the FindLastRegExList action, except that it searches the current field only.
Syntax
()
Parameters
The name of the Keyword text file. The file will contain a list of words or phrases,
separated by new lines, that will be used for matching. The entries in the keyword
file are expected to be regular expressions.
Returns
True if at least one word in the field matches any word or pattern in the Keyword
file. Otherwise, False.
Level
Field level.
Details
Opens the Keyword file you specify as a parameter, then checks the words or
phrases in the current field against the keywords in the list to find a match. The
entries in the keyword file are expected to be regular expressions.
This action searches the current page, from the first word of the current
page, for the last occurrence of the first keyword in the Keyword file
(InvoiceNum.key). If successful, the search stops and remembers the
location of that word for subsequent actions; if not, the action continues
searching for the last occurrence of the next word in InvoiceNum.key, from
starting of the current page, repeating this search pattern until a match is
found, or until there are no more keywords.
FindLastWord
Locates the last occurrence of the specified word or phrase on the current page.
Syntax
()
Parameters
Returns
Level
Page level.
Details
The current page is searched to find the last occurrence of a word or phrase. The
location of the last word or phrase that matches the parameter is remembered and
it can be used by subsequent actions.
To improve matching, this action automatically adjusts the search criteria to allow
for common character substitutions. For example, if the list includes will and the
recognition that is read is wi11, a match still occurs.
Common substitutions include characters: B8, Z2, S5, oO0, and iItl1
Example
FindLastWord("Total")
GoRightWord("1")
IsCurrency()
In this example, the action finds the last instance of Total on the current
page. Then, it moves right one word and checks to be sure that the word
has a Currency value.
Syntax
()
Parameters
Returns
Level
Page level.
Details
The current field will be searched to find the word or phrase. The location of the
last occurrence of the word or phrase that matches the parameter will be
remembered so it can be utilized by subsequent actions. Word matching is case
sensitive.
To improve matching, this action automatically adjusts the search criteria to allow
for common character substitutions. For example, if the list includes "will" and the
recognition read "wi11", a match will still occur.
Common substitutions include characters: B8, Z2, S5, oO0 and iItl1.
Example
FindLastWord_InZone("Total")
GoRightWord("1")
IsCurrency()
This sequence attempts to find the last occurrence of "Total" in the current
zone. It then locates and validates a Currency amount for the Total field,
assuming the currency amount is to the right of the word "Total".
FindNextDBList
Same as the FindDBList action, except that it locates the next instance.
Syntax
()
Parameters
Returns
Page level.
Details
This action generates an SQL query against the Lookup database, returning a list of
words or phrases that are on the current page. Starting from the location of a
previously found word, the search is performed. Initially, the first listed word or
phrase from the SQL query is searched for on the page. If there is no match, it will
search for the next word or phrase that is returned from the database. The search
continues until a match is found or none of the returned words are contained on
the page. The location of the found word or phrase is remembered so the result
can be used by subsequent actions. The search is case-sensitive.
To improve matching, this action automatically adjusts the search criteria to allow
for common character substitutions. For example, if the list includes will and the
recognition that is read is wi11, a match still occurs.
Common substitutions include characters: B8, Z2, S5, oO0, and iItl1.
Example
WordFind("Hello")
FindNextDBList("Select LastName from Providers")
In this example, when the first word Hello is found, the LastName list is
obtained from a provider table. Then, the first matching occurrence on the
page that occurs after the word Hello is found.
FindNextDBList_InZone
Same as the FindNextDBList action, except that it searches the current field only.
Syntax
()
Parameters
Returns
Level
Field level.
Details
This action generates an SQL query against the lookup database, returning a list of
words or phrases that are in the current field. Starting from the location of a
previously found word, the search is performed. Initially, the first listed word or
phrase from the SQL query is searched for on the page. If there is no match, it will
search for the next word or phrase that is returned from the database. The search
continues until a match is found or none of the returned words are contained on
To improve matching, this action automatically adjusts the search criteria to allow
for common character substitutions. For example, if the list includes will and the
recognition that is read is wi11, a match still occurs.
To improve matching, this action automatically adjusts the search criteria to allow
for common character substitutions.
Common substitutions include characters: B8, Z2, S5, oO0, and iItl1
Example
WordFind_InZone("Hello")
FindNextDBList("Select LastName from Providers")
In this example, when the first word Hello is found in the current field, the
LastName list is obtained from a provider table. Then, the first matching
occurrence in the field that occurs after the word Hello is found.
FindNextKeyList
Same as the FindKeyList action, except that it locates the next instance.
Syntax
()
Parameters
The name of the Keyword text file. The file will contain a list of words or phrases,
separated by new lines, that will be used for matching.
Returns
True if at least one word or phrase on the page, starting from the previously
located word, matches any word or pattern in the Keyword file. Otherwise, False.
Level
Field level.
Details
Opens the Keyword file you specify as a parameter, then checks the words or
phrases on the current page against the keywords in the list to find a match. The
search starts from the last word that had been found using an action such as
FindKeyList or FindNextKeyList. The location of the found word or phrase that
matches an entry in the keyword file will be remembered so the result can be used
by subsequent actions. Matching is case sensitive.
Common substitutions include characters: B8, Z2, S5, oO0 and iItl1.
Example
FindKeyList("Tax")
FindNextKeyList("IRS")
Starting from the word or phrase that was located in the FindKeyList
action, this action searches the current page, starting from that previously
found word, for the first word or phrase in the first line of the Keyword
file (IRS.key). If successful, the search stops and remembers the location of
that new word for subsequent actions; if not, the action continues
searching using the next word or phrase in IRS.key, starting again from the
location of the word previously found by FindKeyList(Tax), repeating this
search pattern until a match is found, or until there are no more keywords
in the file.
FindNextKeyList_InZone
Same as the FindNextKeyList action, except that it searches the current field only.
Syntax
()
Parameters
The name of the Keyword text file. The file will contain a list of words or phrases,
separated by new lines, that will be used for matching.
Returns
False if the Fingerprint file (.cco) of the current source page has not been loaded,
or is empty. Otherwise, True.
Level
Field level.
Details
Opens the Keyword file you specify as a parameter, then checks the words or
phrases in the current field against the keywords in the list to find a match. The
search starts from the last word that had been found using an action such as
FindKeyList_InZone or FindNextKeyList_InZone. The location of the found word
or phrase that matches an entry in the keyword file will be remembered so the
result can be used by subsequent actions. Matching is case sensitive.
Common substitutions include characters: B8, Z2, S5, oO0 and iItl1.
Example
FindKeyList_InZone("Inventory")
FindNextKeyList_InZone("Parts")
This action searches the current field, starting from the first word of the
zone, for the first occurrence of a word or phrase in the Keyword file
"Inventory.key". If a match is found, the application will then look for a
word from within the Keyword file "Parts.key", starting from the
previously found word from the FindKeyList_InZone action and using the
first word or phrase in the "Parts.key" file. If successful, the search stops
and remembers the location of the new word for subsequent actions; if not,
the action continues searching using the next word in "Parts.key", starting
again from the location of previously found word in the zone, repeating
this search pattern until a match is found, or until there are no more
keywords in the file.
FindNextRegExList
Same as the FindRegExList action, except that it locates the next instance.
Syntax
()
Parameters
The name of the Keyword text file. The file will contain a list of words or phrases,
separated by new lines, that will be used for matching.
Returns
True if at least one word on the page, that follows the result of a previous find,
matches any word or pattern in the Keyword file. Otherwise, False.
Level
Details
Opens the Keyword file you specify as a parameter, starting from the location of a
previous find, this action checks the words or phrases on the current page against
the keywords in the list to find a match. The entries in the keyword file are
expected to be regular expressions.
To perform the action, the search first looks for the first word or phrase in the
keyword file. Starting from the location of the last find, if the word is found, the
This action searches the current page, starting from the result of the
FindRegExList action, for the first keyword in the Keyword file
(InvoiceNum.key). If successful, the search stops and remembers the
location of that word for subsequent actions; if not, the action continues
searching for the next word in InvoiceNum.key, repeating this search
pattern until a match is found, or until there are no more keywords.
Although this example shows FindNextRegExList using the same keyword
file, it is allowed to use a different keyword file.
FindNextRegExList_InZone
Same as the FindNextRegExList action, except that it searches the current field
only.
Syntax
()
Parameters
The name of the Keyword text file. The file contains a list of words or phrases,
separated by new lines, that will be used for matching. The file name can be
provided in one of two ways:
1. A full path name of the file, including the .key extension.
2. The file name only, with no extension specified. The application looks in the
process directory and the file must have a .key extension.
Returns
True if at least one word in the field, that follows the result of a previous find,
matches any word or pattern in the Keyword file. Otherwise, False.
Level
Details
Opens the Keyword file you specify as a parameter, starting from the location of a
previous find, this action checks the words or phrases in the current field against
the keywords in the list to find a match. The entries in the keyword file are
expected to be regular expressions.
To perform the action, the search first looks for the first word or phrase in the
keyword file. Starting from the location of the last find, if the word is found, the
search stops. If no match is found, the next line from the keyword file is read and
again the search starts from the result of a previous find.
This action searches the current page, starting from the result of the
FindRegExList_InZone action, for the first keyword in the Keyword file
(InvoiceNum.key). If successful, the search stops and remembers the
location of that word for subsequent actions; if not, the action continues
searching for the next word in InvoiceNum.key, repeating this search
pattern until a match is found, or until there are no more keywords.
Although this example shows FindNextRegExList_InZone using the same
keyword file, it is allowed to use a different keyword file.
FindRegExList
Same as the FindKeyList action, except that it supports regular expressions.
Syntax
()
Parameters
The name of the Keyword text file. The file will contain a list of words or phrases,
separated by new lines, that will be used for matching.
Returns
True if at least one word on the page matches any word or pattern in the Keyword
file. Otherwise, False.
Level
Details
Opens the Keyword file you specify as a parameter, then checks the words or
phrases on the current page against the keywords in the list to find a match. The
entries in the keyword file are expected to be regular expressions.
To perform the action, the search first looks for the first word or phrase in the
keyword file. If the word is found on the page, the search stops. If no match is
found, the next line from the keyword file is read and again the entire page is
searched. This process continues until a match is found or all of the lines in the
keyword file have been read. The location of the found word or phrase will be
remembered so the result can be used by subsequent actions. Word matching is
case sensitive.
This action searches the current page, from the first word of the current
page, for the first keyword in the Keyword file (InvoiceNum.key). If
successful, the search stops and remembers the location of that word for
subsequent actions; if not, the action continues searching for the next word
in InvoiceNum.key, starting from first word of the current page, repeating
this search pattern until a match is found, or until there are no more
keywords.
FindRegExList_InZone
Same as the FindRegExList action, except that it searches the current field only.
Syntax
()
Parameters
The name of the Keyword text file. The file will contain a list of words or phrases,
separated by new lines, that will be used for matching.
Returns
True if at least one word on the page matches any word or pattern in the Keyword
file. Otherwise, False.
Level
Details
Opens the Keyword file you specify as a parameter, then checks the words or
phrases on the current page against the keywords in the list to find a match. The
entries in the keyword file are expected to be regular expressions.
To perform the action, the search first looks for the first word or phrase in the
keyword file. If the word or phrase is found in the current field zone, the search
stops. If no match is found, the next line from the keyword file is read and again
the current field zone is searched. This process continues until a match is found or
all of the lines in the keyword file have been read. The location of the found word
or phrase that matches an entry in the keyword file will be remembered so the
result can be used by subsequent actions. Word matching is case sensitive.
Example
FindRegExList_InZone("InvoiceNum")
This action searches the current page, from the first word of the current
field, for the first keyword in the Keyword file (InvoiceNum.key). If
successful, the search stops and remembers the location of that word for
GoAboveWord
Moves up the specified number of lines from the previously found word or phrase.
Syntax
()
Parameters
Returns
Level
Details
Starting from a word or phrase found by a previous Locate action, the location
position is moved to a word directly above it by the number of lines indicated by
the input parameter. Subsequent Locate actions can then perform additional
operations on this located word. Regardless of being called at the page or field
level, this action operates on the recognized text for the current page.
This sequence finds the word which is the Tax field's entered value
("29.78") when a fingerprint has these fields and values:
Tax 29.78
Total 234.70
GoBelowWord
Moves down the specified number of lines from the previously found word or
phrase.
Syntax
()
Parameters
Level
Details
Starting from a word or phrase found by a previous Locate action, the location
position is moved to a word directly below it by the number of lines indicated by
the input parameter. Subsequent Locate actions can then perform additional
operations on this located word. Regardless of being called at the page or field
level, this action operates on the recognized text for the current page.
This sequence finds the word which is the Total field's entered value
("234.70") when a fingerprint has these fields:
Tax 29.78
Total 234.70
GoDownLine
Moves down the specified number of lines from the previously found word or
phrase and selects the first word.
Syntax
()
Parameters
An integer indicating the number of lines to move down below the current line.
Returns
Level
Details
Starting from the current position, the location position is moved down by the
number of lines indicated in the input parameter and is moved to the first word of
that line.
This sequence finds the word which is the Number field's entered value
("10034") when a fingerprint has these fields:
INVOICE Number: 10034
GoFirstLine
Moves to the first line of the page when you are running full page recognition.
Syntax
()
Parameters
None.
Returns
Level
Details
Starting from the current position, the location position is moved to the first line of
the current zone, or to the first line on the page if a zone is not present.
Subsequent Locate actions can then perform additional operations from this
position. Regardless of being called at the page or field level, this action operates
on the recognized text for the current page.
Example
GoFirstLine()
GoFirstWord
Moves to the first word on the current line.
Syntax
()
Parameters
None.
Returns
Details
Starting from a word or phrase found by a previous Locate action, the location
position is moved to the first word on the current line. If the page's Fingerprint file
(.cco) does not have a line position, the action defaults to the first word on the first
line of the current zone, or on the first line of the current page if a zone is not
present. Subsequent Locate actions can then perform additional operations on this
located word. Regardless of being called at the page or field level, this action
operates on the recognized text for the current page.
Example
GoFirstWord()
GoLastLine
Moves to the last line of the page when you are running full page recognition.
Syntax
()
Parameters
None.
Returns
False if the source page's Fingerprint file (.cco) is not available, or if it is empty.
Otherwise, True.
Level
Page or field.
Details
Starting from the current position, the location position is moved to the last line
and word of the current zone, or to the last line and word on the page if a zone is
not present. Subsequent Locate actions can then perform additional operations
from this position. Regardless of being called at the page or field level, this action
operates on the recognized text for the current page.
Example
GoLastLine()
GoLastWord
Moves to the last word on the current line.
Syntax
()
Parameters
None.
False if the Fingerprint file (.cco) is not available, or if it is empty. Otherwise, True.
Level
Details
Starting from a word or phrase found by a previous Locate action, the location
position is moved to the last word on the current line. If the page's Fingerprint file
(.cco) does not have a line position, the action defaults to the last word on the first
line of the current zone, or on the first line of the current page if a zone is not
present. Subsequent Locate actions can then perform additional operations on this
located word. Regardless of being called at the page or field level, this action
operates on the recognized text for the current page.
Example
GoLastWord()
GoLeftWord
Moves the specified number of words to the left of the previously found word or
phrase.
Syntax
()
Parameters
Returns
Level
Details
Starting from a word or phrase found by a previous Locate action, the location
position is moved to the left on the current line by the number of words indicated
by the input parameter. Subsequent Locate actions can then perform additional
operations on this located word. Regardless of being called at the page or field
level, this action operates on the recognized text for the current page.
GoRightWord
Moves the specified number of words to the right of the previously found word or
phrase.
Syntax
()
Parameters
Returns
Level
Details
Starting from a word or phrase found by a previous Locate action, the location
position is moved to the right on the current line by the number of words
indicated by the input parameter. Subsequent Locate actions can then perform
additional operations on this located word. Regardless of being called at the page
or field level, this action operates on the recognized text for the current page.
If the fingerprint has a table with columns such as Total and Tax, the
actions above will locate the Total amount below ("13,774.00"):
Tax Total 344.76 13,774.00
GoUpLine
Moves up the specified number of lines from the previously found word or phrase
and selects the first word.
Syntax
()
Parameters
An integer indicating the number of lines to move up above the current line.
Level
Details
Starting from the current position, the location position is moved up by the
number of lines indicated in the input parameter and is moved to the first word of
that line.
This sequence finds and extracts the entered value of the Date field
("2/13/03"), in a fingerprint with these words:
Date: 2/13/03
INVOICE
GroupWords
Groups words to the left and right of the previously found word if they are no
more than the specified number of character widths apart.
Syntax
()
Parameters
Long value of the maximum character width separating words to the right and left
of the current word.
Returns
Always True.
Level
Details
Groups any words to the left and right of a located word if the target words are
themselves separated by a character width equal to or less than the character
width you specify as a parameter. Regardless of being called at the page or field
level, this action operates on the recognized text for the current page.
the GroupWords action merges "20" with "000"; "U" with "S" and "7" with
"33" to produce:
20 000 U S Treasury 7 33
GroupWordsLEFT
Groups words to the left of the previously found word if they are no more than
the specified number of character widths apart.
Syntax
()
Parameters
Long value of the maximum character width separating words to the left of the
current word.
Returns
Always True.
Level
Details
Groups only words to the left of the located word if the target words are separated
by a character width equal to or less than the character width you specify as a
parameter. Regardless of being called at the page or field level, this action operates
on the recognized text for the current page.
Example
WordFind("000")
GroupWordsLeft("2")
GroupWordsRIGHT
Groups words to the right of the previously found word if they are no more than
the specified number of character widths apart.
Syntax
()
Long value of the maximum character width separating words to the right of the
current word.
Returns
Always True.
Level
Details
Groups words to the right of the located word if the target words are separated by
a character width equal to or less than the character width you specify as a
parameter. Regardless of being called at the page or field level, this action operates
on the recognized text for the current page.
Example
WordFind("US")
GroupWordsRight("2")
IsAlpha
Determines whether the specified percentage of characters in a located word is
letters (defaults to 100%)
Syntax
()
Parameters
Returns
Level
Details
Using the current location of a previously located word or phrase, this action
determines if the characters are alphabetic. By testing the type of characters
recognized in the current word or phrase, it is possible for an application to
IsCurrency
Determines whether the value of the located word is a currency value. The value
contains numbers and includes a two-digit decimal amount.
Syntax
()
Parameters
None.
Returns
Level
Details
Using the current location of a previously located word or phrase, this action
determines if the characters are in a valid currency format and are a valid currency
value. By testing the type of characters recognized in the current word or phrase, it
is possible for an application to determine it has located the type of data that is
required, and then take subsequent actions based on the result of the test.
Regardless of being called at the page or field level, this action operates on the
recognized text for the current page.
Attention: This action is NOT dynamic locale aware and uses a simple regex and
separator character test.
Example
If the recognized value of the word or phrase is: 12.00
IsCurrency()returns TRUE
IsDateValue
Determines whether the value of the located word is in one of the supported date
formats.
Syntax
()
Parameters
None.
Returns
Level
Details
Using the current location of a previously located word or phrase, this action
determines if the characters are in a valid date format and are a valid date. By
testing the type of characters recognized in the current word or phrase, it is
possible for an application to determine it has located the type of data that is
required, and then take subsequent actions based on the result of the test.
Regardless of being called at the page or field level, this action operates on the
recognized text for the current page.
IsNumber
Determines whether the specified percentage of characters in a located word is
numbers (defaults to 100%)
Syntax
()
Parameters
True if the located value meets the parameter's requirement for an integer.
Otherwise, False.
Level
Details
Using the current location of a previously located word or phrase, this action
determines if the characters are numeric. By testing the type of characters
recognized in the current word or phrase, it is possible for an application to
determine it has located the type of data that is required, and then take subsequent
actions based on the result of the test. This action does not consider the decimal
symbol, digit grouping symbol or a currency symbol to be numeric. Regardless of
being called at the page or field level, this action operates on the recognized text
for the current page.
Example
WordFind("Total")
GoRightWord("1")
IsNumber("100")
IsValue
Determines whether the value of the located word matches the value that is
specified.
Syntax
()
Parameters
Returns
True if the located value matches the parameter's value. Otherwise, False.
Level
Details
Using the current location of a previously located word or phrase, this action
determines if the value matches the value of the input parameter. By testing the
value recognized in the current word or phrase, it is possible for an application to
determine it has located the data that is required, and then take subsequent actions
based on the result of the test. If you want to check the value of a subset of the
word or phrase, use the ValueInWord action. Regardless of being called at the page
or field level, this action operates on the recognized text for the current page.
This sequence confirms that the current page's recognized value for
Houston's ZIP code is "77770".
The action returns a Boolean value: True if the values are the same, False
if they are not.
IsValue_RegEx
Determines whether the value of the located word matches the regular expression
specified.
Syntax
()
Parameters
A Regular Expression that will be used for comparison with the recognized value
of the word or phrase.
Returns
True if the located value matches the parameter's value. Otherwise, False.
Level
Details
Using the current location of a previously located word or phrase, this action
determines if the regular expression provided in the input parameter finds a match
in the value. By testing the value recognized in the current word or phrase, it is
possible for an application to determine it has located the data that is required,
and then take subsequent actions based on the result of the test. Regardless of
being called at the page or field level, this action operates on the recognized text
for the current page.
Example
WordFind("Houston")
GoRightWord("2")
IsValue_RegEx("Total")
MaxLength
Determines whether the number of characters in the located word is greater than
or equal to the number specified.
Syntax
()
An integer specifying the maximum number of characters the word or phrase can
contain.
Returns
Level
Details
MergeWordLF
Merges the located word with one or more words to the left, on the same line.
Syntax
()
Parameters
An integer that indicates the number of words or phrases to the left of the
previously found field that is to be placed into the current object field.
Returns
Always True.
Level
Details
Merges the located word or phrase with one or more words to the left, on the
same line. A "word" in this context is a string of characters that might include
spaces. This action is used when the value searched for might have spaces in it.
Regardless of being called at the page or field level, this action operates on the
recognized text for the current page.
Example
WordFind("2000")
MergeWordLF("1")UpdateField()
MergeWordRT
Merges the located word with one or more words to the right, on the same line.
Syntax
()
Parameters
An integer indicating the number of words to the right, starting from the
previously found word or phrase, to be placed into a field.
Returns
Always True.
Level
Details
Places the located word or phrase with one or more words to the right, on the
same line, into the current object field. Regardless of being called at the page or
field level, this action operates on the recognized text for the current page.
Example
WordFind("Jan")
MergeWordRT("1")
UpdateField()
For the cco string, Invoice Date: Jan 2000 , the result of WordFind("Jan") is
to locate the highlighted word, Jan, in Invoice Date: Jan. MergeWordRt("1")
consolidates that value with the year value to its right, which is Invoice
Date: Jan 2000. UpdateField saves the entire value, Jan 2000, which is
saved to the calling object field.
MinLength
Determines whether the number of characters in the located word is less than or
equal to the number specified.
Syntax
()
Parameters
An integer specifying the minimum number of characters the word or phrase can
contain.
False if the parameter is not Numeric, or if the actual number of characters is less
than the parameter. Otherwise, True.
Level
Details
RegExFind
Same as the WordFind action, except that it supports regular expressions.
Syntax
()
Parameters
Returns
Level
Page level.
Details
Locates the first occurrence of a word or phrase on the current page where the
input search term is specified as a regular expression. The search is started from
the first word on the current page. The location of the found word or phrase will
be remembered so the result can be used by subsequent actions. The search is case
sensitive.
Example
RegExFind("Da?e")
GoRightWord("1")
IsDateValue()
UpdateField()
RegExFind will look for the first occurrence of a word or phrase that
matches the regular expression. If a match is found, it continues processing
RegExFind_InZone
Same as the RegExFind action, except that it searches the current field only.
Syntax
()
Parameters
Returns
True if the word or phrase is located in the current field. Otherwise, False.
Level
Field level.
Details
Locates the first occurrence of a word or phrase in the current field where the
input search term is specified as a regular expression. The search is started from
the first word of the current field. The location of the found word or phrase will be
remembered so the result can be used by subsequent actions. The search is case
sensitive.
Example
RegExFind_InZone("Da?e")GoRightWord("1")
IsDateValue()
UpdateField()
RegExFindNext
Same as the WordFindNext action, except that it supports regular expressions.
Syntax
()
Parameters
Returns
Page level.
Details
Starting from the location of a previously found word or phrase, this action locates
the first occurrence of a word or phrase on the current page where the input
search term is specified as a regular expression. The search is started from the
location of a previously found word or phrase. The location of the found word or
phrase will now be remembered so the result can be used by subsequent actions.
The search is case sensitive.
Example
RegExFind("ItemID")
RegExFindNext("Desc")
In this sequence, the first action looks for ItemID. If the search succeeded,
RegExFindNext looks for the first occurrence of Desc that comes after
ItemID.
RegExFindNext_InZone
Same as the RegExFindNext action, except that it searches the current field only.
Syntax
()
Parameters
Returns
Level
Page level.
Details
Starting from the location of a previously found word or phrase, this action locates
the first occurrence of a word or phrase in the current field where the input search
term is specified as a regular expression. The search is started from the location of
a previously found word or phrase in the current field. The location of the found
word or phrase will be remembered so the result can be used by subsequent
actions. The search is case sensitive.
Example
RegExFind_InZone("ItemID")
RegExFindNext_InZone("Desc")
In this sequence, the first action looks for ItemID. If the search succeeded,
RegExFindNext looks for the first occurrence of Desc that comes after
ItemID.
Syntax
()
Parameters
Numeric value of the number of words to be evaluated to the right of the current
word or phrase.
Returns
Level
Details
ScanRT (scan right) looks for a word in positions that are slightly above or below
the line on which the current word or phrase is located.
Example
WordFind("Number")
ScanRT("1")
In this example, the action finds the Number on the current page. Then, it
moves one word to the right as it searches for a value.
To compensate for the possibility that this value might be printed slightly
above or below the line on which Number was printed, the ScanRT action
expands the area for the target value. When a page is recognized, then
skewing or data layout might cause alignment problems. Words might not
be recognized as being on the same line and might be recognized as being
slightly above or below the current line.
This action compensates for alignment problems at the current word
location. The action uses a calculation adjustment to determine which of
the words to the right of the current word can be considered to be on the
same line. It then remembers the location of the word that best fits this
criteria. This new remembered location can then be used by subsequent
actions.
SelectSnippet
Populates a snippet field with the recognized value of the located word. Used with
directional actions.
Syntax
()
Parameters
1. The character that is to appear in the Snippet field if a value is not available.
"~" is the default.
Returns
Always True.
Level
Details
Used in conjunction with directional actions, this action will populate a Snippet
field with the recognized value of the located word or phrase.
This action is usually the last rule of a Locate RuleSet, and is used when the
probable area of the sought after value has been found.
Example
FindKeyInList("InvNum")
GoRightWord("1")
SelectSnippet("~,1")
SetRect
Sets the position and size of the current field in the page data file to the values
specified.
Syntax
()
Parameters
Four comma separated coordinates designating the rectangle's size and location: X,
Y, Width and Height.
Returns
Always True.
Level
UpdateDCOField
Updates the position coordinates for the specified field in the page data file with
the position of the located word.
Syntax
()
Parameters
String value of the target field's name (Smart Parameter enabled), as a Field object
of the Document Hierarchy.
Returns
False if the source page's Fingerprint file (.cco) is not available or is empty; if the
target field cannot be found; or if there is no information about the target field's
starting and ending sizes and locations. Otherwise, True.
Level
Details
This action updates the size and position coordinates of the Field object
representing the field identified by the parameter. Typically, the action follows
earlier actions and events which modify the field's width and height, or its precise
placement on the current source page.
Do not confuse this action with the UpDateField action, which updates Text values.
This action does not update a field's Text value. Instead, it modifies the size and
location parameters of a field or zone.
Example
To find a sibling field ’Preparer_Name’:
UpdateDCOField("..\Preparer_Name")
UpdateField
Updates the current field in the page data file with the value and position of the
located word.
Parameters
None.
Returns
Always True.
Level
Details
Updates the appropriate field in the current page's Data file with the recognized
(and possibly formatted) value of the located word or phrase.
Important: An entered value that the UpdateField action places in a Data file
becomes a captured value, and can be processed by Validation and Export
RuleSets.
Example
FindKeyList("Date")
GoRightWord("1")
IsDateValue()
UpdateField()
The first action in the sequence finds a word or phrase that identifies the
Date Field object of the current page. This is the field's static value -
probably its title.
The next action moves right one word or phrase to locate the field's
entered value, a recognized date such as 12/31/2002. The third action
checks to be sure the value has an acceptable Date format.
The concluding UpdateField action takes place only if the others are
successful. It adds the field's entered value to the current page's Data file,
where it is a captured value awaiting the attention of upcoming rules with
Validate and Export actions.
ValueInField
Determines whether any part of the located word matches the value that is
specified.
Syntax
()
Parameters
The value that is to be matched with a portion of the value in the current field.
Returns
Field level.
Details
Checks if the parameter you enter is within the value of the current field
represented by the bound Field object of the Document Hierarchy. Only a portion
of the field's value needs to match the parameter. If the entire field must match,
use IsValue. Case insensitive.
Example
ValueInField("Invoice")
ValueInField_Fuzzy
Uses fuzzy matching to determine whether any part of the located word matches
the value that is specified.
Syntax
()
Parameters
String value to be matched to the current field's value, using fuzzy matching
procedures.
Returns
Level
Details
Checks if there is a "fuzzy" match of the parameter's value with the value in the
current field. Only a portion of the field's value needs to match. The match is
performed by allowing for common substitutions that can occur during
recognition. These substitutions include characters: B8, Z2, S5, oO0 and iItl1. Case
insensitive.
Example
ValueInField_Fuzzy("Invoice")
ValueInField_RegEx
Determines whether any character or series of characters in the located word
matches the specified regular expression.
Syntax
()
Parameters
The portion of the value to find in the field. The parameter is expected to be
expressed as a regular expression.
Level
Details
This action checks if the Regular Expression you specify as the parameter is
equivalent to the value of the current field. Only a part of the field must match the
parameter. To match the entire value of the field, use IsValueRegEx.
Example
ValueInField_RegEx("[\^\b\s\n\r]Inv[oO0][iItl1]ce[\b\s]*")
WordFind
Locates the first or next occurrence of the specified word or phrase on the current
page.
Syntax
()
Parameters
Returns
Level
Details
The current page is searched to find the whole word or phrase. The location of the
first word or phrase that matches the parameter is remembered and can be used
by subsequent actions. Matching is case-sensitive.
To improve matching, this action automatically adjusts the search criteria to allow
for common character substitutions. For example, if the list includes will and the
recognition that is read is wi11, a match still occurs.
This action matches whole word values and does not search for parts of words or
characters within words.
Common substitutions include characters: B8, Z2, S5, oO0, and iItl1
Example
WordFind("Sales Tax")
GoRightWord("1")
IsCurrency()
UpdateField
WordFind_InZone
Same as the WordFind action, except that it searches the current field only.
Syntax
()
Parameters
Returns
Level
Page or Field
Details
The current field will be searched to find the word or phrase. The location of the
first word or phrase that matches the parameter will be remembered so it can be
utilized by subsequent actions. Matching is case sensitive.
To improve matching, this action automatically adjusts the search criteria to allow
for common character substitutions. For example, if the list includes "will" and the
recognition read "wi11", a match will still occur.
Common substitutions include characters: B8, Z2, S5, oO0 and iItl1.
Example
WordFind_InZone("Sub Total")
GoRightWord("1")
IsCurrency()
In this example, the WordFind action looks for the first occurrence of Sub
Total within the current field, always starting at the first word of the zone.
If the phrase Sub Total is found, the subsequent actions will operate based
on the location of the found phrase.
WordFindNext
Same as the WordFind action, except that it locates the next occurrence.
Syntax
()
Parameters
Level
Details
The current page will be searched to find the word or phrase, starting from the
location remembered from the last search, such as from WordFind. The location of
the first word or phrase that matches the parameter will now be remembered so it
can be utilized by subsequent actions. Matching is case sensitive.
To improve matching, this action automatically adjusts the search criteria to allow
for common character substitutions. For example, if the list includes "will" and the
recognition read "wi11", a match will still occur.
Common substitutions include characters: B8, Z2, S5, oO0 and iItl1.
Example
WordFindNext("Total")
WordFindNext("Total")
GoRightWord("1")
IsCurrency()
UpdateField
In this sequence, the Locate rule locates the third instance of the word
Total in the current page.
WordFindNext_InZone
Same as the WordFindNext action, except that it searches the current field only.
Syntax
()
Parameters
A word or phrase to find in the current field, following a previously found word
or phrase.
Returns
Level
Field level.
Details
The current field will be searched to find the word or phrase, starting from the
remembered location of a previous find. The new location of the first word or
phrase in the field that matches the parameter will now be remembered so it can
be utilized by subsequent actions. Matching is case sensitive.
Common substitutions include characters: B8, Z2, S5, oO0 and iItl1.
Example
WordFind_InZone(ItemID)
WordFindNext_InZone(Desc)
In this example, the WordFind_InZone action looks for the first occurrence
of ItemID within the current field, always starting at the first word of the
zone. If the phrase ItemID is found, the word Desc will be looked for in
the current field, starting after the location of ItemID. If Desc is found, any
subsequent actions will operate based on the location of that found phrase.
WordFind_Offset
Sets the value of the page's Image_Offfset variable. The variable is based on the
difference in the position of the specified word on the current page and on the
matched fingerprint image.
Syntax
()
Parameters
1. String value of a keyword that the action is to find on both the fingerprint and
recognized image.
2. An optional parameter that specifies the offset threshold. If not specified, the
default value is 100 pixels.
Returns
Always True.
Level
Page level.
Details
This action locates a word or phrase on both the recognized page and on the
fingerprint. The positioning of both locations are compared to determine an offset
value. The calculated difference is stored in the DCO of the current page in the
variable Image_Offset. This value will be used by subsequent actions, such as
ReadZones, to compensate for the difference so the field data is properly located.
For best results, the word or phrase should appear only once or the first instance
of the word or phrase should always appear in the same location.
The threshold is the maximum distance between keywords found on the Live
image and the fingerprint. The Default value is 100 pixels. If the keywords are
more than 100 pixels apart no Offset is generated; preventing matches of keywords
where there is more then one instance of the word to be found on an image. A
successful matched pair will update the Image_Offset variable at the page level.
This action should not be located in the same ruleset where full page recognition is
done. It needs to exist in a ruleset that is performed afterwards.
Example
WordFind_Offset("Invoice")
Lookup actions
Use the Lookup actions to validate field values by using database lookups and
populate fields with lookup results.
The Lookup actions opens a connection to the Lookup database and populates the
current field with a value returned by the previous ExecuteSQL or
LookupReturnValue action.
ClearLookupResults
Clears the results that are returned by the previous Lookup action.
Syntax
()
Parameters
None.
Returns
Always True.
Level
All.
Details
This action clears the stored results returned from a previous Lookup action such
as PopulateWithResult.
Example:
OpenConnection("@APPVAR(*/lookupdb:cs)")
ExecuteSQL("SELECT NAME, ADDRESS FROM Vendor;")
PopulateWithResult("1")
ClearLookupResults()
CloseConnection
Closes an open connection to the Lookup database.
Syntax
()
None.
Returns
Level
All, but generally used as part of a separate RuleSet at the Batch level.
Details
Usually, this action is placed in a RuleSet that is separate from the RuleSet that
opens the connection and stores the data.
LookupDBClose RuleSet, for example, is run at the Batch level after all data has
been exported from the batch to the specified database.
Example:
CloseConnection()
ExecuteSQL
Runs a SQL statement on the Lookup database. If a SELECT statement returns one
or more values, these values are stored in an internal data record that you can
access by using the PopulateWithResult action.
Syntax
()
Parameters
1. The SQL expression that you want to run surrounded by quotation marks (" ").
'%s' or %s can be substituted in the SQL expression to represent a field value.
v If %s represents a text field, it must be surrounded by ' '.
v If %s represents a numeric field, it appears without surrounding apostrophe
characters.
2. ,3+ Field names whose captured values you want to use in the SQL expression
(see the example).
Returns
True, if the SQL statement runs successfully, select statements must also return a
value. False, if it does not.
All.
Details
Runs the SQL statement that you enter in the first parameter. Field values can be
substituted for "%s" in the statement.
Example:
This sequence opens a connection to the InvoiceLook database. Next, it
inserts values into the CompanyCode and Type columns of the Vendor
table:
OpenConnection("@APPVAR(*/lookupdb:cs)")
ExecuteSQL("INSERT INTO Vendor (CompanyCode,Type) VALUES (’MQSW’,’New’)")
OpenConnection
Uses a data source name or connection string to open a connection to a Lookup
database.
Syntax
()
Parameters
Smart parameters are supported to prevent plain text credentials in the application
rules.
Returns
Level
All.
Details
This action uses the Connection String that you provide as the parameter to open a
connection to your LookUp database.
Example:
OpenConnection("@APPVAR(*/fingerprintconn:cs)")
Oracle:
OpenConnection("Provider=OraOLEDB.Oracle.1;Password=mypassword;
Persist Security Info=True;User ID=myuserid;Data Source=TM2")
PopulateWithResult
Populates the current field with a value returned by the previous ExecuteSQL or
LookupReturnValue action. If the previous action returned multiple values, you
can specify the value that you want to use.
Syntax
()
Parameters
1. A number that indicates the value in a record that is retrieved by an earlier
ExecuteSQL or SmartSQL action is to be assigned to the current Field object
(and added to the Data file of the current page.)
v "1" refers to the first column in a recordset, "2" refers to the second column,
and so on.
2. True or False. True causes the action to fail, if the action returns a recordset
with multiple lines. False permits the action to accept a record set with
multiple lines but to use values in the first record of the record set.
Returns
True, if the second parameter is "False" and a previous ExecuteSQL (or SmartSQL)
action finds a recordset with one or more records.
Otherwise, False.
Level
Details
This action allows multiple rules to populate multiple Field objects with data from
a single database record (see the following example.)
(Field #2)
PopulateWithResult("2,FALSE")
SmartSQL
Runs a SQL statement that supports smart parameters.
Syntax
()
Parameters
1. The SQL expression that you want to run. Smart parameters are supported
within the expression.
2. True/False value to enable or suppress populating value of any record that is
returned from the SQL expression.
Returns
True, if the SQL statement runs successfully, select statements must also return a
value. False, if the SQL statement does not execute successfully.
Level
All.
Details
Runs the SQL statement that you enter in the first parameter.
Example:
This sequence opens a connection to the InvoiceLook database. Next, it
inserts values into the CompanyCode and Type columns of the Vendor
table:
OpenConnection("@APPVAR(*/lookupdb:cs)")
SmartSQL("INSERT INTO Vendor (CompanyCode,Type) VALUES (’MQSW’,’New’)")
The MC_Identify actions identify the medical claim forms that are processing in
the batch.
AutoField
Identifies red HCFA-1500 or red UB04 forms.
Member of namespace:
MC_Identify
Syntax:
bool AutoField()
Parameters
None
Returns
False, if the action is not applied at the page level. Otherwise, True.
Level
Page level.
Details
FindFields
Sets up a data file for the current page and provides field position information to
the data file.
Member of namespace:
MC_Identify
Syntax:
bool FindFields()
Parameters
None
False, if the rule with this action is not bound to a page object of the document
hierarchy or if a source page that is represented by the page object is not available.
Otherwise, True.
Level
Page level.
Details
This action sets up a data file (.xml) for the current page and supplies the data
field with field position information.
ReadDCOSetup
Designates the file name of the document hierarchy.
Member of namespace:
MC_Identify
Syntax:
bool ReadDCOSetup (StrParam)
Parameters
Returns
Level
Details
Example:
ReadDCOSetup(HFCA.xml,POS 1052)
ReadPageSetup
Designates the file name and path of the document hierarchy.
Member of namespace:
MC_Identify
Syntax:
bool ReadPageSetup(string DCOSetupPath,string FPPosition,string PageType)
Parameters
string DCOSetupPath
string FPPosition
string PageType
Parameters
1. PageType: A smart parameter enabled argument that designates the file name
and path of the document hierarchy.
2. FPPosition: The fingerprint position variable, usually Pos followed by the ID of
the desired fingerprint.
3. PageType: The page type of the page to identify, usually PClaim or IClaim.
Returns
Level
All levels.
Details
Example:
ReadPageSetup(@APPPATH(setupdco),POS 1059,PClaim)
SetFormType
Set the value of the Form Type that is used by the AutoField action.
Member of namespace:
MC_Identify
Syntax:
bool SetFormType(StrParam)
Returns
Level
All levels.
Details
This action sets the Form Type value that is used by the AutoField action.
Example:
SetMaxToleranceDistance(60)
SetFormType(0)
ReadDCOSetup(HFCA.xml,POS 1052)
SetWritePosFile(True)
AutoField()
SetMaxTolerantDistance
Set the tolerance level that the AutoField action uses to match HCFA-1500 or red
UB04 forms.
Member of namespace:
MC_Identify
Syntax:
bool SetMaxTolerantDistance(StrParam)
Parameters
The Maximum Tolerance Distance: an integer from 1 for the lowest tolerance to 100
for the highest tolerance.
Returns
Level
All levels.
Details
This action sets the tolerance level that is used by the AutoField action to match
HCFA-1500 or red UB04 forms based on the form that is specified in the
SetFormType action.
MC_Validation
Use the MC_Validation actions to validate medical claim form information.
The MC_Identify actions validates the information in the medical claim forms that
are processing in the batch.
AddCenturyTo2YearDigit
Converts two-digit Year values to four-digit Year values.
Member of namespace:
MC_Validation
Syntax:
bool AddCenturyTo2YearDigit()
Parameters
None.
Returns
False, if the value is not a valid date in the mmddyy format or if the action is not
applied at the Field level. Otherwise, True.
Level
Field level.
Details
All dates are assumed to be before today's date with a format of mmddyy. If today
is 051507 and this action is applied to a field with a value of 102295, the date is
assumed to be 10221995.
Example:
AddCenturyTo2YearDigit()
AddToDetailErrorMsg
Adds the specified value to the existing value for the page variable ErrorMessage.
Member of namespace:
MC_Validation
Syntax:
bool AddToDetailErrorMsg(StrParam)
Returns
True, if the optional second comma separated parameter is used. Otherwise, False.
Level
Field level.
Details
This action adds the specified value to the existing value for the page variable
ErrorMessage.
Example:
AddToDetailErrorMsg("Description cannot be blank")
AddToErrorMsg
Adds the specified value to the existing value for the page variable ErrorMessage.
Member of namespace:
MC_Validation
Syntax:
bool AddToErrorMsg(StrParam)
Parameters
1. A smart parameter or regular string to add to the error message variable.
2. Optional comma separated second parameter to trigger the action to return
True.
Returns
True, if the optional second comma separated parameter is used. Otherwise, False.
Level
Field level.
Details
This action adds the specified value to the existing value for the page variable
ErrorMessage.
Example:
AddToErrorMsg("Invoice Number must be 60% numeric with a
minimum length of 2.")
CalculateHCFALineCharges
Calculates charges for HCFA service lines.
MC_Validation
Syntax:
bool CalculateHCFALineCharges()
Parameters
None.
Returns
True, if the line charges equal the charges field. Otherwise, False.
Level
Field level.
Details
CalculateUBLineCharges
Calculates charges for UB service lines.
Member of namespace:
MC_Validation
Syntax:
bool CalculateUBLineCharges()
Parameters
None.
Returns
True, if the line charges equal the charges field. Otherwise, False.
Level
Field level.
Details
CheckDocID
Checks the document IDs and updates them to the proper format.
MC_Validation
Syntax:
bool CheckDocID()
Parameters
None.
Returns
Level
Document level.
Details
This action checks the document IDs and updates them to the proper format.
Example:
CheckDocID()
ClearErrorMsg
Clears the value of the page variable ErrorMessage.
Member of namespace:
MC_Validation
Syntax:
bool ClearErrorMsg()
Parameters
None.
Returns
Always True.
Level
Page level.
Details
CommonParseAddress
Parses the addresses in the HCFA and UB04 fields into appropriate subfields.
MC_Validation
Syntax:
bool CommonParseAddress(StrParam)
Parameters
Returns
False, if the parameter is invalid or if the action is not on the Page level.
Otherwise, True.
Level
Page level.
Details
This action parses the addresses in the following fields into appropriate subfields:
v Professional Claims - Facility Address (field 32) or Physician Address (field 33)
v Institutional Claims - Provider Address (field 1), Pay-To Address (field 2), or
Responsible Party Name and Address (field 38).
Example:
CommonParseAddress(HCField32Object)
CommonValAddress
Validates the address values first name, last name, street, city, state, zip code, and
phone number.
Member of namespace:
MC_Validation
Syntax:
bool CommonValAddress(StrString)
Parameters
False, if the action is not run at the Page level. Otherwise, True.
Level
Page level.
Details
ConvertHyphen
Removes spaces, commas, hyphens, and invalid characters.
Member of namespace:
MC_Validation
Syntax:
bool ConvertHyphen()
Parameters
None.
Returns
False, if the parameter is not called at the Field level. Otherwise, True.
Level
Field level.
"1,2,3,4" becomes "1234", "1-2-3®" becomes "123". Valid characters for this field are
{1,2,3,4}.
Characters other than 1,2,3,4, space, commas, or hyphens will lower the field
confidence level.
Example:
ConvertHyphen()
FilterPID
Filters the qualifier from the attending physician for UB04 claims.
Member of namespace:
MC_Validation
Syntax:
bool FilterPID(StrParam)
Parameters
Returns
Level
Field level.
Details
This action filters the qualifier from the attending physician for UB04 claims.
Example:
FilterPID(76apqual)
FormatFieldLengths
Truncates the length of the field and sets the last character of the field to low
confidence.
Member of namespace:
MC_Validation
Syntax:
bool FormatFieldLengths()
Parameters
None.
Always True.
Level
Page level.
Details
This action truncates the length of the field and sets the last character of the field
to low confidence.
Example:
FormatFieldLengths()
InheritSnippets
Assigns the snippet position information of the current Field object to the Field
objects that are specified in the parameter.
Member of namespace:
MC_Identify
Syntax:
bool InheritSnippets(StrParam)
Parameters
The names of the fields that will inherit the same snippet information as the
current Field object.
Returns
False, if the action is not called at the Field level or if a parameter is inncorrect.
Otherwise, True.
Level
Field level.
Details
This action assigns the snippet position information of the current Field object to
the Field objects that are specified in the parameter.
Example:
InheritSnippets(2paLname, 2PaFname, aPaMInit)
MC_ReadZones
Adjusts the autofield that is based on the OMR field zone positions on the calling
page.
MC_Validation
Syntax:
bool MC_ReadZones()
Parameters
None.
Returns
False, if the action is not called at the Page level. Otherwise, True.
Level
Page level.
Details
This action adjusts the autofield that is based on the OMR field zone positions on
the calling page.
Important: This action handles Autofield-based OMR zone detection for Medical
Claims application. This action is not compatible with standard rules-based OMR
zone detection procedures.
Example:
MC_ReadZones()
Parse31aPhSig
Parses the 31aPhSig field of the HFCA application.
Member of namespace:
MC_Validation
Syntax:
bool Parse31aPhSig()
Parameters
None.
Returns
Always True.
Level
Field level.
Details
Parse58ainsnm
Parses the 58ainsnm field of the UB04 application.
Member of namespace:
MC_Validation
Syntax:
bool Parse58ainsnm()
Parameters
None.
Returns
Always True.
Level
Field level.
Details
Parse58binsnm
Parses the 58binsnm field of the UB04 application.
Member of namespace:
MC_Validation
Syntax:
bool Parse58binsnm()
Parameters
None.
Returns
Always True.
Level
Field level.
Parse58cinsnm
parses the 58cinsnm field of the UB04 application.
Member of namespace:
MC_Validation
Syntax:
bool Parse58cinsnm()
Parameters
None.
Returns
Always True.
Level
Field level.
Details
ParseConditionCodes
Detects and parses Condition Code data elements from the calling field value.
Member of namespace:
MC_Validation
Syntax:
bool ParseConditionCodes()
Parameters
None.
Returns
Field level that contains Condition Code data to detect and parse to fields CCode 1
through CCode4.
Details
This action detects and parses Condition Code data elements from the calling field
value.
Valid codes are: AA, AB, AC, AD, AE, AF, AG, AH, AI, W2, W3, W4, or W5.
Example:
ParseConditionCodes()
ParseEPSDT
Detects and parses an EDSDT Reason Code from the calling field value.
Member of namespace:
MC_Validation
Syntax:
bool ParseEPSDT(string EPSDTCode)
Parameters
A Smart Parameter enabled value that represents the target field where the parsed
data is to be saved.
Returns
Level
Details
This action detects and parses an EDSDT Reason Code from the calling field value.
Parsing looks for "AV", "S2", "ST", or "NU" as a single word at the end of the field
value.
Example:
ParseEPSDT("..\EPSDTCode")
ParseLastFirstIniNames
Parses the name information in the first line of an address superfield.
Member of namespace:
MC_Validation
Syntax:
bool ParseLastFirstIniNames(StrParam)
Returns
Level
Field level.
Details
This action parses the name information in the first line of an address superfield.
The action parses the value of the full name into the Last, First, and
MiddleName/Initial fields that are specified by the parameter. In the absence of
any explicit pattern, such as a punctuation mark or a middle initial, parsing
defaults to First Middle Last. A parameter value of -1 in the argument changes this
default in the absence of any explicit pattern to Last First.
Example:
For form fields where the instructions specify First Middle Last:
ParseLastFirstIniNames(8plname,8pfname,8pminit)
For form fields where the instructions specify Last First Middle:
ParseLastFirstIniNames(17RelLNam,17RelFNam,17RelMini,
17RelCred,17RelSufx,-1)
ParseNDC
Detects and parses NDC data elements from the calling field value.
Member of namespace:
MC_Validation
Syntax:
bool ParseNDC(string NDCField,string TypeField,string QuantityField)
Parameters
Three Smart Parameters that represent the target path from the calling object to the
field's parsed data that is to be saved.
Returns
Details
This action detects and parses NDC data elements from the calling field value.
NDC value parsing looks for "N4" followed by 11 numbers. The NDC Type and
Quantity parameters look for "F2", "GR", "ML", or "UN" followed by 1 to 9
numbers.
Example:
ParseNDC("..\NDC","..\NDCType","..\NDCQty")
PopulateFromField
Copies the value from field that is specified by the parameter into the current field.
Member of namespace:
MC_Validation
Syntax:
bool PopulateFromField(StrParam)
Parameters
The name of the field whose value is to be assigned to the current field
Returns
False, if the parameter is invalid or if the action is not applied at the Field level.
Otherwise, True.
Level
Field level.
Details
This action copies the value from field that is specified by the parameter into the
current field.
Example:
PopulateFromField(24aDtFr1)
SetConf
Set a confidence string for a field.
Member of namespace:
MC_Validation
Syntax:
bool SetConf(StrParam)
The value of the new confidence for each character in the field, 0 to 9.
Returns
Always True.
Level
Field level.
Details
This example sets the confidence for each character in the field to 9, which
is the highest confidence.
SetOriginalTIF
Replaces the current TIF file with the original TIF image that was previously
renamed with a TI1 extension.
Member of namespace:
MC_Validation
Syntax:
bool SetOriginalTIF(StrParam)
Parameters
Returns
Level
Page level.
Details
This action replaces the current TIF file with the original TIF image that was
previously renamed with a TI1 extension. It is assumed that the original file name
was copied to a file name that uses a different extension for safe keeping.
Example:
SetOriginalTIF(TI1)
This example replaces the current TIF file with the original TIF image that
was previously renamed with a TI1 extension.
Member of namespace:
MC_Validation
Syntax:
bool StripTrailingAlpha()
Parameters
None.
Returns
Always True.
Level
Field level.
Details
This action removes all alpha characters from the captured value, except from the
first character position.
Example:
StripTrailingAlpha()
TransformLI
Assigns values to the fields in the lines of the Line Item Table.
Member of namespace:
MC_Validation
Syntax:
bool TransformLI()
Parameters
None.
Returns
True if the assignment of values is successful for all of the fields in all of the lines
of the Line Item Table.
False, if the transfer of values for one or more of the fields fails.
Level
Each line in the table is remapped into a repeating set of fields. These fields have a
parent field with a unique ID. All of the data in a source field is retained in the
new target field, with the exception of the new fields type and ID. The linear field
structure is replaced with a structure that is based on a parent field in the claim
page called DETAILS.
Each set of fields in the row of table data is then placed in a LINEITEM type field.
The ID of the field is patterned on the index of its insertion in the DETAILS field.
The first Line Item field is called LINEITEM1, the second is LINEITEM2, and so
on. Each Line Item field contains an identical set of Field Type and ID as outlined
in the following values list.
For example, the HCFA Line Item Table has 12 24nDtfr fields. During processing,
the TransformLI action assigns recognized values for these fields to a Field object
named DateFrom that is a child of the Line Item Table Details new parent Field
object. So, 12 recognized values can be assigned to the Field object DateFrom.
Values that are associated with rows of the HCFA-1500 table are assigned to the
Field types where n is value from 1 to 12:
v 24aDtfn = DateFrom
v 24aDtTon = DateThru
v 24bPlacn = PlaceOfService
v 24cTypen = TypeOfService
v 24cEMG_n = EMG_C
v 24dCPT_n = CPT_Code
v 24dModin = Modifiers
v 24eDiagn = DiagPointer
v 24fChgsn = Charges
v 24gDaysn = Days_Units
v 24hEPSDn = EPSD
v 24iQualn = Qualifier
v 24jReflDn = ReferenceId
v 24jEMG_n = EMG_I
v 24jCOBn = COB
v 24kLocn = LocalUse
v 24lInfon = Info
Values that are associated with the rows of a UB04 table are assigned to the child
Field objects where n is a value from a to z:
v 42nrevcd = RevCode
v 43ndscrt = Description
v 44nhcpcs = HCPCS
v 44nMod = Modifiers
v 45nsrvdt = ServiceDate
v 46nsrvun = Units
v 47nttchg = Charges
v 48nncchg = NotCovered
Note: This action converts all of the pages in a document if it called from a
Document object. The expected page types are HCFA, 1500 and UB04_Page.
UpdateCredentialList
Updates the default list of abbreviations that are used by the parsing actions to
extract credential strings from names.
Member of namespace:
MC_Validation
Syntax:
bool UpdateCredentialList(string sCredential,string AddRemove)
Parameters
string sCredential
string AddRemove
Parameters
Returns
Level
All levels.
Details
This action updates the default list of abbreviations that are used by the following
name parsing actions to extract credential strings from names:
ParseLastFirstIniNames(), Parse58ainsnm(), Parse58binsnm(), Parse58cinsnm(),
Parse82name(), Parse83aname(), Parse83bname(), Parse31aPhSig(),
Example:
UpdateCredentialList(MD,Add)
ValidateNPI
Validates the NPI value by evaluating the 10 digits in the value that use a
modified LUHN checkdigit algorithm.
MC_Validation
Syntax:
bool ValidateNPI()
Parameters
None.
Returns
Level
Field level.
Details
This action validates the NPI value by evaluating the 10 digits in the value that use
a modified LUHN checkdigit algorithm.
Example:
ValidateNPI()
ValProcedureCode
Validates the Procedure Code fields in a HCFA-1500 form.
Member of namespace:
MC_Validation
Syntax:
bool ValProcedureCode()
Parameters
None.
Returns
False, if the action is not applied at the Field level or if the Procedure Code is
invalid. Otherwise, True.
Level
Field level.
Details
Member of namespace:
MC_Validation
Syntax:
bool ValRequiredCode(StrParam)
Parameters
Returns
False, if the parameters are invalid or if any of the parameter fields do not contain
data. Otherwise, True.
Level
Field level.
Details
This action checks that all of the fields in a designated group are filled with data.
Example:
ValRequiredCode(24aDtFr1,24aDtTo1,24adCPT_1,24fChg1,24gdays1)
mvscan actions
Use mvscan actions in place of the vscan actions to create batches from files that
are stored on your local disk. The mvscan actions can handle large numbers of files
that are stored in the input folder.
scan
Polls the folder that is specified by the set_folder action and scans the images into
a batch folder.
Member of namespace
mvscan
Syntax
scan ()
Parameters
None.
False, if the operation fails, and pauses before the return. Otherwise, True.
Level
Details
Scans the source folder for files with the extensions that you want, then ingests
them into a batch. Call one time for each batch. All options must be set before this
action is called. If no files are present for ingestion, the batch is set to pending
status, and the action returns immediately. The files in each batch folder are
ingested by the order of the date the file was last modified.
Each input file generates one or more "pages" in the batch with the following page
variables set:
v TYPE : Always set to "Other".
v IMAGEFILE : The file name within the batch, for example TM000002.tif.
Example:
set_folder("@APPPATH(vscanimagedir)+@STRING(\mvscan folder)"))
set_types("jpg,pdf,tif")
set_max_docs("2")
scan()
set_abort_time
Specifies the length of time in seconds to delay processing if the scan action
encounters an unrecoverable error and sets the batch status to aborted.
Member of namespace
mvscan
Syntax
set_abort_time ()
Parameters
nSecs Type: int
Time to wait before continuing when a serious error occurs.
Parameters
Returns
Always True.
Batch level.
Details
The scan action waits the specified time before returning if a fatal error is detected
that would cause the batch to abort. This action can be useful to prevent a large
number of aborted batches due to an abort condition. For example, if the source
folder should become unavailable for some time, the abort timeout will limit the
number of aborted batches until the folder becomes available again.
This delay restricts the number of aborted batches if the problem persists.
If this action is not called, the default abort time value of 5 seconds is used.
Example:
set_abort_time("60")
scan()
set_copy_folder
Optional, sets a folder to contain a copy of each ingested file.
Member of namespace
mvscan
Syntax
bool set_copy_folder (string folderpath)
Parameters
folderpath
Type: string
Path to the folder that contains a copy of each ingested file.
Parameters
folderpath : A string value that specifies the path of the folder where a copy of
each input file is placed, in addition to the batch.
Returns
Always True.
Level
Batch level.
Details
If the path is not specified or set to an empty string, input files are moved to the
batch folder without making a copy.
set_delete_empty_folders
Determines whether to delete the empty subdirectories.
Member of namespace
mvscan
Syntax
set_delete_empty_folders ()
Parameters
bParam
Type: bool
Parameters
bParam : A Boolean value that enables or disables deleting sub-folders if they are
empty. The root folder specified for ingestion is never deleted. Subfolders are only
deleted if both this setting and tree mode are enabled.
True: Delete subfolders of the main ingestion folder if they are empty. This is the
default if the action is not called.
Details
If tree mode is not enabled, this setting has no effect. For this action to take effect,
it must be called before the Scan action.
Example:
set_types("tif")
set_min_age("10")
set_tree_mode(True)
set_delete_empty_folders(False)
scan()
set_folder
Specifies the path of the folder in which to search for the image files that you want
to scan.
Member of namespace
mvscan
Syntax
set_folder ()
Parameters
folderpath
Type: string
Parameters
folderpath : A string value specifying the path of the folder which will contain
input files to be placed into batches for processing.
Returns
Always True.
Level
Batch level.
Details
set_image_validation
Causes the Scan action to validate that the specified input files are all valid image
files. Invalid files are moved to the problem folder.
Member of namespace
mvscan
Syntax
set_image_validation ()
Parameters
bValidate
Type: bool
Parameters
bValidate : A Boolean value that enables or disables validating image files during
ingestion.
True: Check to confirm that each file ingested contains a valid TIFF or JPG image.
False: Copy input files regardless of type or contents. This is the default if the
action is not called.
Returns
Always True.
Level
Batch level.
Enables testing that each file ingested is a valid image file. If enabled, converts
black and white TIF files to G4 compression. This action should not be called
against invalid file types such as PDFs due to incompatibility.
For this action to take effect, it must be called before the Scan action.
Example:
set_types("tif")
set_image_validation("True")
scan()
set_max_docs
Specifies maximum number of pages in each batch when used with the set_types
action.
Member of namespace
mvscan
Syntax
set_max_docs ()
Parameters
nDocs Type: int
Number of documents in a batch. Default 100.
Parameters
nDocs : An integer value which specifies the maximum number of input files to
place into a batch.
Returns
Always True.
Level
Batch level.
Details
For this action to take effect, it must be called before the Scan action.
Example:
set_tree_mode(false)
set_max_docs("1")
scan()
Member of namespace
mvscan
Syntax
set_metadata_types ()
Parameters
extensions
Type: string
Metadata image file extensions. If specified, XML metadata files (trigger
files) control ingestion of files into batches, along with associated metadata.
See more documentation for syntax and usage of metadata trigger files. If
specified, these extensions override any prior call to set_types().
Parameters
String value of extensions of input files that contain pointers to files to be ingested
along with metadata to be included in the batch for each file. For multiple types,
separate each one with a comma. Any files with extensions not in this list are
ignored.
Returns
Always True.
Level
Details
The format of the metadata file is documented here. This action overrides any
previous call to set_types(), and forces the action to read properly formatted XML
from the metadata trigger file. Then, the action determines which files get ingested,
rather than ingesting individual files into the batch. Other settings such as
set_min_age() are applied to the metadata files.
You must set up the XML file in the correct format to use the set_metadata_type
action to scan metadata files into batches.
All of the items in a metadata file are ingested into the same batch. For example, if
a metadata file contains 1 node with 50 file names, 50 files are ingested for that
single metadata file. If the metadata file contains 5 nodes with 50 file names in
each of them, then 250 files are ingested. The external system that creates the
metafile must create all of the files to be ingested before it writes the metafile that
refers to them.
Example:
set_metadata_types("xml")
Scan()
This sequence scans for metadata trigger files that end in ".xml".
set_min_age
Specifies the minimum time in seconds to wait after the file was modified before
ingesting the file.
Member of namespace
mvscan
Syntax
set_min_age ()
Parameters
nSecs : An integer value, the number of seconds to wait after file modified before
ingesting.
The default value is zero, meaning ingest files as soon as they are present.
Returns
Always True.
Level
Batch level.
Details
This setting can be used to prevent premature ingestion of a file which may be
incomplete. For example, a network scanner or multifunction device might create
the image file and write contents over a period of time, rather than all at once. In
that case ingesting the file immediately could cause errors, whereas waiting for 5
or 10 seconds would provide sufficient time for the file to be completed. If
required, the appropriate value must be determined experimentally.
For this action to take effect, it must be called before the Scan action.
Example:
set_types("tif")
set_min_age("10")
scan()
set_move_wait_time
Specifies the time to wait for a source file to be deleted after it is moved from to
the batch folder.
Syntax
bool set_move_wait_timeFNP8_MultiPageDocs(int nSecs)
Parameters
int nSecs - Number of seconds to wait for the source file to be deleted before the
action fails.
Returns
Always True.
Level
Batch level
Over a slow network, and especially with large input files, moving files from the
source folder to batch folder can take a significant length of time. The scan action
checks that the source file was deleted after it was moved. If the source folder still
exists, the scan action waits for a length of time periodically checking to see if the
file was deleted.
If the folder still exists at the end of this time period, the copy in the batch folder
is renamed with the extension .failed and it is not included in the batch. It is
assumed that the original source file will be ingested by a subsequent scan task.
Example:
set_move_wait_time("120")
scan()
set_multipage_burst
Forces multipage TIFF images to be split into single pages during ingestion.
Member of namespace
mvscan
Syntax
set_multipage_burst ()
Parameters
bBurst
Type: bool
Nonzero to force bursting of TIFF image files. Default = 0, no bursting.
Parameters
bBurst : A Boolean value that enables or disables bursting multipage image files
during ingestion.
True: Any multipage TIFF file is separated into multiple pages in the batch, one
per image.
False: One page is output per input file. This is the default if the action is not
called.
Returns
Always True.
Level
Batch level.
Details
Enables splitting or bursting multipage source image files into one image per page
in the batch. For this action to take effect, it must be called before the Scan action.
If the scan action in this sequence encounters a multipage .tif file, it reads
each one into the current batch as a separate image, thereby bursting the
multipage file into individual images.
set_problem_folder
Sets the folder into which the files that cannot be ingested are placed.
Member of namespace
mvscan
Syntax
set_problem_folder ()
Parameters
folderpath
Type: string
Path to folder to contain any files that cannot be ingested
Parameters
folderpath : A string value that specifies the path of the folder where files that
cannot be ingested are placed.
Returns
Always True.
Level
Batch level.
Details
This action must be called before scan(). If this action is not called, and scan is
unable to ingest a file, the batch is aborted. Files that are already ingested into the
batch remain in the batch. The file that cannot be ingested might be in a locked
state. Manual intervention is required.
Example:
set_folder("@APPPATH(vscanimagedir)+@STRING(\input folder)")
set_problem_folder(@APPPATH(vscanimagedir)+@STRING(\problem folder))
scan()
set_sort_method
Selects method to use for sorting files for ingestion.
mvscan
Syntax
bool set_sort_method(string method)
Parameters
method
Type: string
Sort method can be either DATE (default) or NAME. The parameter is not
case sensitive.
Returns
Always True.
Level
Details
The scan action takes snapshots of the input folder, sorts the files by either date
last modified (default) or by filename, and then tries to ingest the files in that
order. This action allows you to override the default sort order.
Example:
set_sort_method("NAME")
Scan()
set_tree_mode
Determines whether subdirectories are included in the scan for files to ingest.
Member of namespace
mvscan
Syntax
set_tree_mode ()
Parameters
bTreeFlag
Type: bool
Parameters
True: Search for files in subfolders to any depth under the scan folder. This is the
default if the action is not called.
Details
If tree mode is enabled, each batch contains files from only one folder. Files from
multiple folders are never ingested into the same batch.
For this action to take effect, it must be called before the Scan action.
Example:
set_types("tif")
set_tree_mode(True)
scan()
set_types
Specifies the extensions of the file types to ingest in a comma-separated list of file
extensions.
Member of namespace
mvscan
Syntax
set_types ()
Parameters
extensions
Type: string
Comma-separated list of file image file extensions to import
Parameters
String value of extension(s) of input files that should be ingested. For multiple
types, separate each one with a comma. Any files with extensions not in this list
are ignored. A smart parameter that evaluates to a file extension or list of
extensions is accepted.
Returns
Always True.
Level
Details
Uses the value of a file extension(s) to specify the type of files the task will scan.
This is an optional action: the task will scan .tif files by default. For this action to
take effect, it must be called before the scan action.
This sequence ingests files ending with .tif, .tiff, and .pdf.
set_wait_time
Specifies the interval of time to wait for additional files to ingest, before finishing a
batch which has not reached the specified maximum size or time limits.
Member of namespace
mvscan
Syntax
set_wait_time ()
Parameters
nSecs Type: int
Time to wait for files to complete a batch.
Parameters
nSecs : The maximum number of seconds to wait for files to complete a batch.
Returns
Always True.
Level
Batch level.
Details
The maximum time to wait for input files to arrive, if at least one file was
ingested, no more files are available, and the batch has not reached capacity.
Ingestion of files into the batch stops when the wait limit is reached or when the
maximum number of files per batch has been reached. If no files are available
during the scan() action, and this time is reached, the scan action returns and the
batch status remains pending. If this action is not called, the default wait time of 2
seconds is used.
Example:
set_wait_time("60")
scan()
Embedded help is provided in Datacap Studio for all of the Maintenance Manager
actions. To access the embedded help, select an action in the Actions Library tab
and click information.
The Application setup actions identify the name of the application and the Datacap
Server to be used by Maintenance Manager. These actions also specify the login
credentials, database information, and connection information that you need to
connect a Datacap application to Maintenance Manager.
SetAdminDB:
Member of namespace
Maintenance Manager
Syntax
SetAdminDB ()
Parameters
adminDB
Type: string
Parameters
Returns
Always True.
Level
Batch level.
Details
Member of namespace
Maintenance Manager
Syntax
SetApplication (string application)
Parameters
string application
Parameters
Returns
Level
Batch level.
Details
Sets the name of the application, as defined in the application service, which are
used by Maintenance Manager. The application determines the rules and databases
that are used by subsequent actions. This will be the default value that is used for
the SetupOpenApplication action.
Example:
SetApplication("APT")
SetServer("Server 1")
SetupOpenApplication("")
SetEngineDB:
Member of namespace
Maintenance Manager
Syntax
SetEngineDB ()
Parameters
engineDB
Type: string
Returns
Always True.
Level
Batch level.
Details
Obtains the Engine database connection information from the application service.
This will be the default value used for the action SetupOpenApplication.
Example:
SetApplication("APT")
SetServer("Server 1")
SetAdminDB("*/tmadmin:cs")
SetEngineDB("*/tmengine:cs")
SetUser("Admin")
SetPassword:
Member of namespace
Maintenance Manager
Syntax
SetPassword (string password)
Parameters
String password
Parameters
Returns
Always True.
Level
Batch level.
Details
Specifies the password for the previously specified user ID. This will be the default
value used for the SetupOpenApplication action.
This example uses the Smart Parameter @APPPVAR to obtain the value of
the password from the value name MyNENUPassword in the Custom
Values tab of the Application Service Manager. The value name is
configurable.
SetServer:
Member of namespace
Maintenance Manager
Syntax
SetServer ()
Parameters
server Type: string
Parameters
Returns
Level
Batch level.
Details
The name of the Datacap server as it is defined in the application service, which
will be the server used by subsequent Maintenance Manager actions. This will be
the default value used for the action SetupOpenApplication.
Example:
SetApplication("APT")
SetServer("Server 1")
SetupOpenApplication("")
SetStation:
Maintenance Manager
Syntax
SetStation (string station)
Parameters
string station
Parameters
Returns
Always True.
Level
Batch level.
Details
Specifies the station ID for login. This will be the default value that is used for the
SetupOpenApplication action.
When using LDAP or ADSI authentication, use the SetUser, SetStation, and
SetApplication to login.
Example:
SetApplication("APT")
SetServer("Server 1")
SetAdminDB("*/tmadmin:cs")
SetEngineDB("*/tmengine:cs")
SetStation("1")
SetupOpenApplication("")
SetupDisconnectAll:
Member of namespace
Maintenance Manager
Syntax
SetupDisconnectAll ()
Parameters
None.
Returns
Always True.
Any level.
Details
Closes the connections to all Datacap databases that were opened by Maintenance
Manager actions. Some Maintenance Manager actions automatically close the
connection to the database after a query has been performed.
Example:
SetupDisconnectAll()
SetupOpenApplication:
Member of namespace
Maintenance Manager
Syntax
SetupOpenApplication ()
Parameters
None.
Returns
True if the application exists in the application service the connection was
successful. Otherwise, False.
Level
Batch level.
Details
When using LDAP and LLLDAP authentication the User, Password, and Station
values must be blank.
Example:
SetApplication("APT")
SetServer("Server 1")
SetUser("user")
SetPassword("password")
SetAdminDB("*/tmadmin:cs")
SetEngineDB("*/tmengine:cs")
SetStation("1")
SetupOpenApplication()
Member of namespace
Maintenance Manager
Syntax
SetupOpenApplicationEx ()
Parameters
application
Type: string
server Type: string
admin Type: string
engine
Type: string
debugFlag
Type: bool
user Type: string
password
Type: string
station
Type: string
Parameters
Returns
True, if the application exists in the application service the connection was
successful. Otherwise, False.
Batch level.
Details
When you are using LDAP and LLLDAP authentication the User, Password, and
Station values must be blank.
Example:
SetupOpenApplicationEX("Survey", "", "SurveyAdm.mdb", "SurveyEng.mdb",
"False", "", "", "1")
SetUser:
Member of namespace
Maintenance Manager
Syntax
SetUser (string user)
Parameters
string user
Parameters
Returns
Always True.
Level
Batch level.
Details
Specifies the name of the user for the login to the Administrator and Engine
databases. This will be the default value that is used for the SetupOpenApplication
action.
When using LDAP or ADSI authentication, use the SetUser, SetStation, and
SetApplication to login.
Before, you can run a query against the application databases, you must build an
SQL query string. When you run the actions in this category, Maintenance
Manager appends the corresponding SQL code to the current query string. For
example, running QuerySetStatus("hold") followed by QuerySetOperator("admin")
generates the following query string.
Select * FROM JobMonitor WHERE queue.qu_status IN (’hold’) AND qstats.qs_op IN (’admin’)
QueryClear:
Member of namespace
Maintenance Manager
Syntax
QueryClear ()
Parameters
None.
Returns
Level
Any level.
Details
Clears any SQL query that may be in memory. This action can be called to ensure
that any Maintenance Manager query that you build is not building on any
previous information.
Example:
QueryClear("")
QuerySetAge:
Maintenance Manager
Syntax
QuerySetAge ()
Parameters
age Type: string
queryAgeStart
Type: bool
Parameters
v age: All dates prior or within this date will be selected. Smart parameters are
supported.
v queryAgeStart: If True, age will use the start time of the batch. If False, age will
use the end time of the batch.
Returns
True if the query has been successfully set. It does not mean the query has been
performed. Otherwise, False.
Level
Any level.
Details
Builds a query that selects batches based on the age of a batch. The age can be
specified using a date or in seconds. The queryAgeStart parameter determines if
the age is based on the start of the batch, the qs_start column, or based on the end
of the batch, the qu_done column. If a date is specified, all batches will be selected
based on the date. If a number is specified, all batches will be selected based on
the number of seconds.
To control the age range use the exclamation point '!'. When the exclamation point
is not specified, the age between now and the specified value will be selected.
When the exclamation point is specified, the ages that are older than the value
specified will be selected.
Example:
QuerySetAge("300","True")
ProcessRunSqlQuery("")
This example selects all batches started within last 300 seconds.
QuerySetAge("!300","true")
ProcessRunSqlQuery("")
This example selects all batches started prior to 300 seconds ago. Use the
same pattern when using dates.
QuerySetBatchRange:
Maintenance Manager
Syntax
QuerySetBatchRange ()
Parameters
start Type: string
end Type: string
Parameters
v start: BatchID of the first batch in the range. Default value 00000000.000".
v end: BatchID of the last batch in the range. Default value zzzzzzzz.zzz".
Returns
True if the query has been successfully set. It does not mean the query has been
performed. Otherwise, False.
Level
Any level.
Details
QuerySetBranch:
Member of namespace
Maintenance Manager
Syntax
QuerySetBranch ()
Parameters
children
Type: int
Parameters
True if the query has been successfully set. It does not mean the query has been
performed. Otherwise, False.
Level
Any level.
Details
Selects all of the batches that have at least the minimum number of specified
children.
Example:
QuerySetBranch("3")
ProcessRunSqlQuery("")
QuerySetDateFormat:
Member of namespace
Maintenance Manager
Syntax
QuerySetDateFormat ()
Parameters
dateFormat
Type: string
Parameters
Returns
Always True.
Level
Any level.
Details
Configures the Date format used by the database. If this action is not called, the
value for the Date format will be "yyyy/MM/dd".Detailed description of available
values are:
v d Represents the day of the month as a number from 1 through 31. A
single-digit day is formatted without a leading zero
v dd Represents the day of the month as a number from 01 through 31. A
single-digit day is formatted with a leading zero
QuerySetDateRange:
Member of namespace
Maintenance Manager
Syntax
QuerySetDateRange ()
Parameters
start Type: string
end Type: string
Parameters
v start: Date Range Start. Smart parameters are supported.
v end: Date Range End. Smart parameters are supported.
v queryAgeStart: True will use the batch start date. False will use the batch end
date.
Returns
True if the query has been successfully set. It does not mean the query has been
performed. Otherwise, False.
Level
Any level.
Details
Selects all of the batches that match the specified priority. If queryAgeStart is set to
True, the query uses the batch start date, qs_start. If queryAgeStart is set to False,
the query uses the batch end date, qu_done.
An exclamation point can be prefixed to the value to find all values except the
ones specified.
Example:
QuerySetDateRange("03/16/2010","05/26/2010","True")
ProcessRunSqlQuery("")
This example selects all of the batches that were created between the two
specified dates.
QuerySetDateRange("03/16/2010","@DATE(mm/dd/yyyy)","True")
ProcessRunSqlQuery("")
This example uses a Smart parameter to obtain the current date. The query
selects all batches that have been created between 03/16/2010 and the
current date.
QuerySetDateTimeFormat:
Member of namespace
Maintenance Manager
Syntax
QuerySetDateTimeFormat ()
Parameters
dateTimeFormat
Type: string
Returns
Always True.
Level
Any level.
Details
Configures the Date and Time format used by the database. If this action is not
called, the value for the Date format is yyyy/MM/dd HH:mm:ss. Detailed
description of available values are:
v d Represents the day of the month as a number from 1 through 31. A
single-digit day is formatted without a leading zero
v dd Represents the day of the month as a number from 01 through 31. A
single-digit day is formatted with a leading zero
v ddd Represents the abbreviated name of the day of the week (Mon, Tues, Wed
etc.)
v dddd Represents the full name of the day of the week (Monday, Tuesday etc.)
v h 12-hour clock hour (e.g. 7)
v hh 12-hour clock, with a leading 0 (e.g. 07)
v H 24-hour clock hour (e.g. 19)
v HH 24-hour clock hour, with a leading 0 (e.g. 19)
v m Minutes
v mm Minutes with a leading zero
v M Month number
v MM Month number with leading zero
v MMM Abbreviated Month Name (e.g. Dec)
v MMMM Full month name (e.g. December)
v s Seconds
v ss Seconds with leading zero
v t Abbreviated AM / PM (e.g. A or P)
v tt AM / PM (e.g. AM or PM
v y Year, no leading zero (e.g. 2001 would be 1)
v yy Year, leading zero (e.g. 2001 would be 01)
v yyy Year (e.g. 2001 would be 001)
v yyyy Year (e.g. 2001 would be 2001)
v K Represents the time zone information of a date and time value (e.g. +05:00)
v z With DateTime values, represents the signed offset of the local operating
system's time zone from Coordinated Universal Time (UTC), measured in hours.
(e.g. +6)
v zz As z but with leading zero (e.g. +06)
v zzz With DateTime values, represents the signed offset of the local operating
system's time zone from UTC, measured in hours and minutes. (e.g. +06:00)
QuerySetGeneric:
Builds an SQL query using the provided column name and value.
Member of namespace
Maintenance Manager
Syntax
QuerySetGeneric ()
Parameters
column
Type: string
value Type: string
Parameters
v column: Column in the database table to query. Smart parameters are supported.
v value: Value to match within the specified column. Smart parameters are
supported.
Returns
True if the query has been successfully set. It does not mean the query has been
performed. Otherwise, False.
Level
Any level.
Details
Allows building of a query where the column and value of the tmbatch, queue or
qstats table are explicitly specified.
Any wild card specified in the value parameter would need to be appropriate for
your target database. The column value is not validated until the query is run
using ProcessRunSqlQuery.
Example:
QuerySetGeneric("pb_userid", "admin")
ProcessRunSqlQuery("")
QuerySetJobID:
Member of namespace
Maintenance Manager
Parameters
jobid Type: string
Parameters
Returns
True, if the query is successfully set. It does not mean that the query has been
performed. Otherwise, True.
Level
Any level.
Details
When you are building a query, this action sets the job ID that is selected in the
result set. If you want to match multiple job IDs, use commas to separate values.
An exclamation point can be used to negate the query.
Example:
QuerySetJobID("Demo Job,Web Job")
ProcessRunSqlQuery("")
This example creates a result set that contains batches with job ID of Demo
Job and Web Job.
QuerySetJobID("Demo Job")
QuerySetJobID("Web Job")
ProcessRunSqlQuery("")
This example creates a result set that contains all batches except for the job
ID of Demo Job.
QuerySetOperator:
Member of namespace
Maintenance Manager
Syntax
QuerySetOperator ()
Parameters
operator
Type: string
Returns
True if the query has been successfully set. It does not mean the query has been
performed. Otherwise, False.
Level
Any level.
Details
Selects all of the batches that match the specified operator ID.
To find multiple values, separate them with commas. An exclamation point can be
prefixed to the value to find all values except the ones specified.
Example:
QuerySetOperator("Admin")
ProcessRunSqlQuery("")
QuerySetPriority:
Member of namespace
Maintenance Manager
Syntax
QuerySetPriority ()
Parameters
priority
Type: string
Parameters
Returns
True if the query has been successfully set. It does not mean the query has been
performed. Otherwise, False.
Level
Any level.
Details
QuerySetSeparator:
Member of namespace
Maintenance Manager
Syntax
QuerySetSeparator ()
Parameters
separator
Type: string
Parameters
Returns
Always True.
Level
Any level.
Details
Configures the Date and Time separator that is used by the database. If this action
is not called, the value for the separator is selected based on the connection string.
Some database separators are MS SQL"’", Oracle "’", Access "#".
Example:
QuerySetSeparator("#")
QuerySetStation:
Member of namespace
Maintenance Manager
Syntax
QuerySetStation ()
Parameters
Returns
True if the query has been successfully set. It does not mean the query has been
performed. Otherwise, False.
Level
Any level.
Details
To find multiple values, separate them with commas. An exclamation point can be
prefixed to the value to find all values except the ones specified.
Example:
QuerySetStation("1")
ProcessRunSqlQuery("")
QuerySetStatus:
Member of namespace
Maintenance Manager
Syntax
QuerySetStatus ()
Parameters
status Type: string
Parameters
status: The batch status: aborted, cancelled, finished, hold, job done, pending,
running. Smart parameters are supported.
Returns
True if the query has been successfully set. It does not mean the query has been
performed. Otherwise, False.
Level
Any level.
To find multiple values, separate them with commas. An exclamation point can be
prefixed to the value to find all values except the ones specified.
Example:
QuerySetStatus("finished")
ProcessRunSqlQuery("")
QuerySetTaskID:
Member of namespace
Maintenance Manager
Syntax
QuerySetTaskID ()
Parameters
taskid Type: string
Parameters
Returns
True if the query has been successfully set. It does not mean the query has been
performed. Otherwise, False.
Level
Any level.
Details
When building a query, this action sets the task ID that is selected in the result set.
The current task batches selected will match the supplied value.
To find multiple values, separate them with commas. An exclamation point can be
prefixed to the value to find all values except the ones specified.
Example:
QuerySetTaskID("Verify")
ProcessRunSqlQuery("")
This example queries all batches for the survey application that are at the
verify task.
QuerySetTaskID("@B.MyQueryTask")
ProcessRunSqlQuery("")
This example uses Smart parameters to retrieve the name of the task to
query from a batch level variable called MyQueryTask.
The ProcessRunSqlQuery action runs the current query string and generates a
recordset that contains information about all matching batches. For example, if you
build a query by using QuerySetStatus("hold") and your query locates one batch
with status hold. The returned recordset contains the following information that is
aggregated from the tmbatch, qstats, and queue tables.
<rs:data xmlns:rs="urn:schemas-microsoft-com:rowset"><z:row pb_adjustdocs="0"
pb_adjustpages="0" pb_batch="20100260.001"
pb_batchdir="C:\Datacap\APT\batches\20100260.001" pb_expectdocs="0" pb_expectpgs="8"
pb_headertable=" " pb_ndocs="0" pb_needMeet="0" pb_pagefile="rrsvscan.xml"
pb_pages="8" qs_elaps="8" qs_op="admin" qs_qid="3" qs_start="2010-09-17T07:35:26"
qs_station="2" qs_stop="2010-09-17T07:35:34" qs_taskid="VScan" qs_tsorder="0"
qu_admDB="156" qu_batch="20100260.001" qu_counter="0" qu_done="2010-09-17T07:35:34"
qu_elaps="8" qu_id="3" qu_job="Demo" qu_lock="none" qu_parent="0" qu_priority="5"
qu_spawntype="0" qu_start="2010-09-17T07:35:26" qu_status="hold" qu_task="VScan"
qu_tsorder="0" xmlns:z="#RowsetSchema" /></rs:data>
The other actions in the batch processing category can manipulate the batches that
are identified in the query results record set.
ProcessChangeBatchStatus:
Member of namespace
Maintenance Manager
Syntax
ProcessChangeBatchStatus ()
Parameters
newStatus
Type: string
Parameters
newStatus: The new batch status: aborted, cancelled, finished, hold, job done,
pending, running. Smart parameters are supported.
Returns
Level
Batch level.
Details
ProcessChangeBatchStatusOrder:
Member of namespace
Maintenance Manager
Syntax
ProcessChangeBatchStatusOrder ()
Parameters
newStatus
Type: string
newOrder
Type: int
Parameters
v newStatus: The new batch status: aborted, cancelled, finished, hold, job done,
pending, running. Smart parameters are supported.
v newOrder: New task order, zero-based index of task inside its job.
Returns
Level
Batch level.
Details
ProcessChangeBatchStatusTaskOrder:
Member of namespace
Maintenance Manager
Parameters
newStatus
Type: string
newOrder
Type: int
newTask
Type: string
Parameters
v newStatus: The new batch status: aborted, cancelled, finished, hold, job done,
pending, running. Smart parameters are supported.
v newOrder: The order of the new task, zero-based index of task inside its job.
v newTask: The name of the new task.
Returns
Level
Batch level.
Details
ProcessClearAuditTable:
Member of namespace
Maintenance Manager
Syntax
ProcessClearAuditTable ()
Parameters
None.
Level
Any level.
Details
Clears the Audit table located in the admin database. This action can be called to
ensure that Audit table is cleared when information is moved from one database to
another.
Example:
ProcessClearAuditTable("")
ProcessClearDebugTable:
Member of namespace
Maintenance Manager
Syntax
ProcessClearDebugTable ()
Parameters
None.
Returns
Level
Any level.
Details
Clears the Debug table located in the engine database. This action can be called to
ensure that Debug table is cleared when information is moved from one database
to another.
Example:
ProcessClearDebugTable("")
ProcessDeleteBatches:
Member of namespace
Maintenance Manager
Parameters
None.
Returns
Level
Any level.
Details
This Action has been marked for Deprecation and will be removed in a future
release. It has been replaced with the ProcessDeleteBatchesEx action.
ProcessDeleteBatchesEx:
Member of namespace
Maintenance Manager
Syntax
ProcessDeleteBatchesEx ()
Parameters
deleteSubFolders
Type: bool
preserveEngineDBRecords
Type: bool
Parameters
v deleteSubFolders: True deletes any sub-folders within batch directories
regardless of creation source.
v preserveEngineDBRecords: True retains engine database records (only batch
directories are deleted).
Returns
Level
Any level.
A previous query must have been run to identify the batches to delete. The
database connection is closed by this action.
Example:
QuerySetStation("1")
QuerySetJobID("!Demo Job")
ProcessRunSqlQuery("")
ProcessDeleteBatchesEx("false,false")
ProcessInjectBatches:
Injects the data from master batch to all batches selected and updates DB.
Member of namespace
Maintenance Manager
Syntax
ProcessInjectBatches ()
Parameters
masterBatchID
Type: string
Parameters
Returns
True if all the all the batches were successfully set. Otherwise, False.
Level
Any level.
Details
ProcessMoveBatches:
Member of namespace
Maintenance Manager
Parameters
pathTo
Type: string
Parameters
pathTo: The destination directory for the batches. Smart parameters are supported.
Returns
Level
Any level.
Details
This Action has been marked for Deprecation and will be removed in a future
release. It has been replaced by the ProcessMoveBatchesEx action.
ProcessMoveBatchesEx:
Member of namespace
Maintenance Manager
Syntax
ProcessMoveBatchesEx ()
Parameters
pathTo
Type: string
moveSubFolders
Type: bool
preserveEngineDBPaths
Type: bool
continueOnError
Type: bool
Parameters
v pathTo: The destination directory for the batches. Smart parameters are
supported.
v moveSubFolders: True moves any subfolders within batch directories regardless
of creation source. This parameter is required if the batches contain subfolders or
else operations, including database updates, will fail.
Returns
Level
Any level.
Details
If you are moving batches from one location to another and also moving database
records from one database to another, move the batches first. The movement of the
database records must be done last.
Examples
The following example runs a query to select all batches from station "1"
where the Job ID does not equal "Demo Job", then moves the batches to a
directory called "My Old Batches".
QuerySetStation("1")
QuerySetJobID("!Demo Job")
ProcessRunSqlQuery("")
ProcessMoveBatchesEx("@STRING(C:\My Old Batches\),false,false,false")
This following example selects the same set of batches but it uses a Smart
parameter to obtain the full path to directory from the Application Service.
A key called BatchArchiveDirectory must exist in the Application Service.
If these rules are used for multiple applications, each application can have
a unique definition of this value within the Application Service, making
these rules flexible.
One benefit of this approach is that in an environment where there is a test
system and a production system, each system will have unique values
stored in the Application Service. Each of the environments can have a
different physical directory specified within the Application Service,
allowing the rules in each system to remain identical.
QuerySetStation("1")
QuerySetJobID("!Demo Job")
ProcessRunSqlQuery("")
ProcessMoveBatchesEx("@APPPATH(BatchArchiveDirectory),false,false,false")
ProcessMoveDBRecords:
Creates connection to the application based on the parameters that are provided
and moves selected database data to this application.
Maintenance Manager
Syntax
ProcessMoveDBRecords ()
Parameters
application
Type: string
server Type: string
admin Type: string
engine
Type: string
debugFlag
Type: bool
user Type: string
password
Type: string
station
Type: string
deleteOriginal
Type: bool
targetDBSQLSeparator
Type: string
Parameters
v application: Application name (Optional). Default value: the name of the
application that is running this action.
v server: Server name (Optional). Default value: first available server in the
application.
v admin: Administration database name (Optional). Default value: first available
Admin DB.
v engine: Engine database name (Optional). Default value: first available Engine
DB.
v debugFlag: Debug Flag (Optional). Default value: false.
v user: User name (Optional). Default value: current user credentials.
v password: Password (Optional). Default value: current user credentials.
v station: Station ID (Optional). Default value: Current station name
v deleteOriginal: Delete database records in source database.
v targetDBSQLSeparator: Target database date and time separator (Optional). If
blank, that action tries to detect the correct separator that is based on the
connection string.
Returns
Always True.
Any level.
Details
Creates connection to the application based on the parameters that are provided
and moves selected database data to this application. When you are performing
operations on a batch and you are moving the database records from one database
to another, do the database move operation last. When database records are
moved, the database connection is still connected to the original database.
Subsequent operations are on the original database, not the records in the new
database.
Example:
ProcessMoveDBRecords("APTBack","tms","admin","engine","false",
"admin","admin","1","true","")
In this example, the source database is Oracle and the target is Access.
ProcessResetPendingOrNotify:
Member of namespace
Maintenance Manager
Syntax
ProcessResetPendingOrNotify ()
Parameters
threshold
Type: int
asattachment
Type: bool
addressFrom
Type: string
addressTo
Type: string
subject
Type: string
user Type: string
password
Type: string
domain
Type: string
server Type: string
port Type: string
Returns
Level
Any level.
Details
Resets the status of all batches that are selected by a previous SQL query to
Pending status. The action attempts to reset the batch by the amount that is
specified in the threshold parameter. If the maximum reset attempts are reached,
the action sends an email, along with the log, to the provided list of recipients.
Example:
QuerySetStation("1")
QuerySetJobID("!Demo Job")
ProcessRunSqlQuery("")
ProcessResetPendingOrNotify("3", "rrodrig@somewhere.com",
"tom@somewhere.com,john@somewhere.com","","","","","","")
ProcessRunSqlQuery:
Member of namespace
Maintenance Manager
Syntax
ProcessRunSqlQuery ()
Parameters
None.
Level
Any level.
Details
Performs the SQL select query using a query previously built using Maintenance
Manager actions. The QuerySet actions need to have been previously called to
create the query. The resulting record set is retained in memory and can be acted
upon by using other actions.
The action LogWriteRecordSet can be used to write out the recordset, usually for
debugging, as well as LogWriteSQLQuery which will output the constructed query.
QueryClear can be used to remove any existing query settings.
Example:
QuerySetStation("1")
QuerySetJobID("!Demo Job")
ProcessRunSqlQuery("")
This example obtains results that include all batches, except for Demo Job,
that have been run on station "1".
Logging actions
Use the Logging actions to write information to the Maintenance Manager and
Windows log files and to send emails that contain the internal log file.
LogClear:
Member of namespace
Maintenance Manager
Syntax
LogClear ()
Parameters
None.
Returns
Always True.
Any level.
Details
LogConfigure:
Member of namespace
Maintenance Manager
Syntax
LogConfigure ()
Parameters
severity
Type: int
The log severity limit [0-9]. 0 = maximum logging. 4 or 5 = typically
informational or error logging.
filePath
Type: string
Log file path name or blank to disable logging. Smart parameters are
supported.
overwrite
Type: bool
True overwrites any existing file.
reflash
Type: bool
True flushes the error message buffer to disk after every write.
showTime
Type: bool
True adds the current time to each log message.
showDate
Type: bool
True adds the current date to each log message.
showSeverity
Type: bool
True adds the severity to the log.
Level
Any level.
Details
Configures aTM logging. The severity controls verbosity of the log; logging only
severe errors will provide the best performance at expense of reduced debugging
information, should a debug trace be required.
This will not change logging as configured for each of the tasks in the target
application (i.e. RRS logs). If this action is not called, no aTM log file will be
created. aTM logging can be evaluated to see which requests were transmitted to
the Maintenance Manager Server.
Example:
LogConfigure("5", "@STRING(C:\ParentDir\NENU\Logs\NENU.aTM)")
LogSendEmail:
Member of namespace
Maintenance Manager
Syntax
LogSendEmail ()
Parameters
asattachment
Type: bool
addressFrom
Type: string
addressTo
Type: string
subject
Type: string
user Type: string
password
Type: string
Parameters
Returns
Level
Any level.
Details
Sends an email by using the SMTP protocol. As Maintenance Manager actions run,
an in-memory log tracks each of the Maintenance Manager actions that are called
and their parameters. The LogSendEmail action places the action activity
information into an email and send it.
Example:
LogSendEmail("jsmith@somewhere.com", "jdoe@somewhere.com,
mmoore@somewhere.com", "", "", "", "", "", "")
LogWriteEventLog:
Member of namespace
Maintenance Manager
Syntax
LogWriteEventLog ()
Parameters
v message: Message to write to the Event Log and the local log. Smart parameters
are supported.
v level: Integer value. 0 - informational, 1 - Warning, 2 - Error.
v eventID: Integer value. Desired Event ID.
Returns
Level
Any level.
Details
Unconditionally writes out a message to the Windows Event Log and to the
application log file for the running task. Set the level and event ID to the values
that is appropriate for the message being logged.
Example:
LogWriteEventLog("This is an informational message.", "0", "10")
This example uses Smart parameters to write out the value of the batch
level variable MyMessage.
LogWriteRecordSet:
Member of namespace
Maintenance Manager
Syntax
LogWriteRecordSet ()
Parameters
None.
Level
Any level.
Details
Writes out the result of the last call to ProcessRunSqlQuery to the error file. This
action can be useful for debugging an application.
Example:
QuerySetStation("1")
QuerySetJobID("!Demo Job")
ProcessRunSqlQuery("")
LogWriteRecordSet("")
LogWriteSQLQuery:
Member of namespace
Maintenance Manager
Syntax
LogWriteSQLQuery ()
Parameters
None.
Returns
Level
Any level
Details
Writes out the result of the previous calls to the "QuerySet" actions to the error file.
This action can be useful for debugging an application, allowing you to view the
exact SQL that was constructed and used in ProcessRunSqlQuery.
Example:
QuerySetStation("1")
QuerySetJobID("!Demo Job")
LogWriteSQLQuery("")
ProcessRunSqlQuery("")
Reporting actions
Use the Reporting actions to write information to the report tables in the Engine
database for use by Datacap Report Viewer.
ReportQueryTMUsage:
Member of namespace
Maintenance Manager
Syntax
ReportQueryTMUsage ()
Parameters
None.
Returns
Level
Any level.
Details
This action will query the number of users current logged on and place the
information into the reportUser. This information is statistical information that can
later be used to generate usage reports with the Report Viewer reporting system.
Example:
ReportQueryTMUsage("")
ReportSetReportingTable:
Member of namespace
Maintenance Manager
Syntax
ReportSetReportingTable ()
Parameters
tbName
Type: string
Table name in Engine database.
batchColumn
Type: string
Optional. Name of the column that contains Batch ID.
Returns
Always True.
Level
Batch level.
Details
Sets database that contains reports on all processed batches. Table must exist in the
engine database.
Example:
ReportSetReportingTable("NENU","nn_batch","nn_attempt","nn_done","nn_action")
ReportSetUsageDBTable:
Sets database that contains reports on users that are logged in to Datacap.
Member of namespace
Maintenance Manager
Syntax
ReportSetUsageDBTable ()
Parameters
tbName
Type: string
Table name in Engine database.
ipAddressColumn
Type: string
IP address column.
jobIDColumn
Type: string
Job ID column.
portColumn
Type: string
Port column.
Returns
Always True.
Level
Batch level.
Details
Sets database that contains reports on users that are logged in to Datacap. Table
must exist in the engine database.
Example:
ReportSetUsageDBTable("reportUsers","ru_ip","ru_job","ru_port","ru_bathces",
"ru_station","ru_task","ru_user","ru_time")
OCR_A actions
Use the OCR_A actions to do text recognition by using the ABBYY FineReader
OCR engine.
If you plan to use the NovoDynamics engine for Arabic recognition, you must
separately license the engine directly from the vendor and then install the engine
on the machine that is running the recognition rules. In addition, you must
complete these steps:
1. Copy the contents of the NovoDyanmics bin folder into the
Datacap\DCShared\OCRN folder.
EnableEngineLogsOCR_A
Enables ABBYY Engine logging.
Member of namespace
ocr_a
Syntax
EnableEngineLogsOCR_A ()
Parameters
None.
Returns
Level
Any level.
Details
This action enables ABBYY Engine logging. The log file is created in the batch
folder with the name engine.log.
Example:
RecognizePageOCR_A()
EnableEngineLogsOCR_A()
This sequence creates a log file in the batch folder with the name
engine.log.
OCRA_ConvertImage2BW
This action converts a Color or Grayscale image to Black and White.
Member of namespace
ocr_a
Syntax
OCRA_ConvertImage2BW (StrParam)
Parameters
The file extension that the action is to assign to the backup of the original Image
file. For example: tio.
False if called at a level other than the Page. False if the parameter is not 3 or 4
alphanumeric characters. Otherwise, True.
Level
Page.
Details
RecognizeBarcodeOCR_A
A field/page level action that retrieves barcodes.
Member of namespace
ocr_a
Syntax
RecognizeBarcodeOCR_A ()
Parameters
None.
Returns
False if the ruleset with this action is not bound to a Field object or Page object of
the Document Hierarchy. Otherwise, True.
Level
Details
RecognizeFieldOCR_A
A field-level action that retrieves a zoned field's settings from the OCR/A tab of
the Recognition Options Setup dialog, and uses these settings to recognize the
field's value.
Member of namespace
ocr_a
Parameters
None.
Returns
False if the ruleset with this action is not bound to a Field object of the Document
Hierarchy. Otherwise, True.
Level
Field level.
Details
This field-level action retrieves a zoned field's settings from the OCR/A tab of the
Recognition Options Setup dialog, and uses these settings to recognize the field's
value.
Example:
TaxpayerSSN Rule 1
RecognizeFieldOCR_A()
In the example, the rule uses the action to retrieve and apply settings in
the OCR/A tab of the Recognition Options Setup dialog, settings that
were previously assigned to a Document Hierarchy's zoned field.
RecognizeFieldVoteOCR_A
A field-level action that initiates a voting procedure that first uses specifications in
the OCR/A tab of the Recognition Options Setup dialog to recognize the field's
characters.
Member of namespace
ocr_a
Syntax
RecognizeFieldVoteOCR_A ()
Parameters
None.
Returns
False if the ruleset with this action is not bound to a Field object of the Document
Hierarchy. Otherwise, True.
Level
Field level.
This field-level action initiates a voting procedure that first uses specifications in
the OCR/A tab of the Recognition Options Setup dialog to recognize the field's
characters.
When this action stores the results of recognition, it first determines if the
corresponding Field object of the Document Hierarchy contains a value. If a value
is present, the action compares the field's existing value with the recognition
results - character by character.
If a particular character's values match, the Confidence Rating for the character is
raised to the maximum level. If the values do not match, the Confidence Rating for
the character is lowered to the minimum.
Note: When using this voting procedure, the second Recognition engine is
secondary and its results are never assigned. Instead, the action changes the
Confidence Ratings on the basis of results provided by the first Recognition engine.
If there are no recognition results previous to this action, it will act just like the
RecognizeFieldOCR_A action.
Example:
RecognizeFieldICR_C()
RecognizeFieldVoteOCR_A()
RecognizePageFieldsOCR_A
A page-level action that recognizes all fields on the page that have been configured
for OCR/A recognition (see the OCR/A tab of the Recognition Options Setup
dialog.)
Member of namespace
ocr_a
Syntax
RecognizePageFieldsOCR_A ()
Parameters
None.
Returns
False if the ruleset with this action is not bound to a Page object of the Document
Hierarchy. Otherwise, True.
Level
Page level.
Details
OCR/AThis page-level action recognizes all fields on the page that have been
configured for OCR/A recognition (see the OCR/A tab of the Recognition Options
Setup dialog.)
RecognizePageOCR_A
Refers to settings in the OCR/A tab of the Recognition Options Setup dialog to
recognize all characters on a page, and populates the page's Fingerprint file (.cco)
with the recognition results.
Member of namespace
ocr_a
Syntax
RecognizePageOCR_A ()
Parameters
None.
Returns
False if the ruleset with this action is not bound to a Page object of the Document
Hierarchy. Otherwise, True.
Level
Page level.
Details
This action responds to settings in the OCR/A tab of the Recognition Options
Setup dialog to recognize all characters on a page, and populates the page's CCO
file with the recognition results. If a CCO file does not exist at the time this action
is called, the action will create one.
Example:
AnalyzeImage()
RotateImage()
RecognizePageOCR_A()
This sequence creates a CCO file for the current page, and checks to see if
rotation of the image is needed. Full-page recognition then takes place in
response to settings in the OCR/A tab of the Recognition Options Setup
dialog. The recognition results are stored in the CCO file.
RecognizeToALTOOCR_A
Converts a scanned Images (.tif) to an ALTO electronic Document Format (XML)
file.
Member of namespace
ocr_a
Parameters
None.
Returns
Level
Details
When placed at Page level, the action recognizes and converts the current tif page
to an ALTO file.
When placed at Document level, the action recognizes and converts all tif pages in
the existing doc into one ALTO file.
Document Format
The following variables can be used to set the properties of the ALTO xml file.
y_AltoFontFormattingMode
Specifies the character attributes that are saved to the ALTO xml file.
y_AltoWriteNondeskewedCoordinates
Specifies whether character, word, block coordinates that are written into files in
ALTO format are defined on an original image. Or are defined on an image that is
used for recognition to which different modifications, such as deskewing, were
applied. This property is True by default, which means that the coordinates are
defined on the original page.
If you set this property to False, export to ALTO is run faster because there is no
need to convert the coordinates between the modified image and the original
image, which takes a long time. If this property is set to the default True value, the
baseline position is not written during export. If it is set to False, the baseline
position is written into the resulting ALTO file because ALTO format requires the
Document Contents
To include specific page types, set the variable typesToInclude to a comma delimited
list of page types to include in the ALTO xml file.
When more than one filter is specified, the following order of precedence takes
place:
v statusToExclude overrides typesToInclude
v typesToInclude overrides typesToExclude
If you are calling the action at the Document level, the types and status filters
apply to both the documents and their child pages.
If you are calling the action at the Page level, the types and status filters apply to
the page only.
The variables in the previous three sections must be set before you call the
RecognizeToALTOOCR_A action.
Example
rrset("75","@D.statusToExclude")
rrSet("Blank","@D.typesToExclude")
RecognizeToALTOOCR_A()
This example creates an ALTO XML document with all of the pages that
are contained in the DCO Document object except those pages with type
"Blank" and status "75".
RecognizeToPDFOCR_A
Converts a scanned Images (.tif) to an Adobe Portable Document Format (PDF)
file.
Member of namespace
ocr_a
Syntax
bool RecognizeToPDFOCR_A()
Parameters
None.
Returns
Details
When placed at Page level, the action recognizes and converts the current tif page
to a pdf file.
When placed at Document level, the action recognizes and converts all tif pages in
the existing doc into one pdf file.
Document Format
To create PDF/A1A documents, set the y_pdfA variable to "1" before you call
RecognizeToPDFOCR_A.
To create PDF/A1B documents, set the y_pdfA variable to "1" and the y_pdfA1B
variable to "1" before you call RecognizeToPDFOCR_A.
To set the MRC (mixed Raster Content) Mode for conversion to PDF/A, set the
y_pdfMRCMode variable to one of the following values:
v 0 - Engine decides whether MRC is to be used. Default.
v 1 - MRC is always used.
v 2 - MRC is never used. MRC technology uses a lossy compression algorithm.
Some unimportant information from the source image (background texture,
garbage, and so on) can be lost. Disable MRC if even insignificant information
from the source image cannot be lost. Using a parameter of 2 helps to address
issues where the text in the PDF document is too dark.
Document Contents
To include specific page types, set the variable typesToInclude to a comma delimited
list of page types to include in the PDF.
When more than one filter is specified, the following order of precedence takes
place:
v statusToExclude overrides typesToInclude
v typesToInclude overrides typesToExclude
If you are calling the action at the Document level, the types and status filters
apply to both the documents and their child pages.
If you are calling the action at the Page level, the types and status filters apply to
the page only.
The following variables can be used to set the corresponding pdf document
attributes:
v y_PDFKeys
v y_PDFAuthor
v y_PDFTitle
v y_PDFSubject
v y_PDFProducer
v y_pdfCreator
v y_PDFQuality
v y_pdfDelTmp
The variables in the previous three sections must be set before you call the
RecognizeToPDFOCR_A action.
Example
rrset("IBM","@D.y_PDFProducer")
rrSet("75","@D.statusToExclude)
rrSet("Blank","@D.typesToExclude)
RecognizeToPDF_A()
This example creates a PDF document with all of the pages that are
contained in the DCO Document object except those pages with type
"Blank" and status "75".
ReleaseEngineOCR_A
This action releases the ABBYY engine.
Member of namespace
ocr_a
Syntax
ReleaseEngineOCR_A ()
Returns
Always True.
Level
All.
Details
RotateImageOCR_A
Use with Recog_Shared > RotateTIO to update the CCO file with the correct
position coordinates after image rotation.
ocr_a
Syntax
RotateImageOCR_A ()
Parameters
None.
Returns
False if the ruleset with this action is not bound to a Page object of the Document
Hierarchy, or if the action cannot locate the Image file representing the current
page. Otherwise, True.
Level
Page only.
Details
This action checks if the scanned Image file needs to be rotated by 90, 180, or 270
degrees to be in the upright position. If rotation is necessary, the action saves the
Image file in the new, correct position.
Example:
RotateImageOCR_A()
AnalyzeImage()
SetAutoRotationOCR_A
This action set to False turns off automatic image orientation detection and
rotation.
Member of namespace
ocr_a
Syntax
SetAutoRotationOCR_A (StrParam)
Parameters
True: Forces image orientation detection and rotation. This is the default value.
Returns
Always True.
Level
All.
This action set to True forces image orientation detection and rotation. If this action
is not called, the value will default to True. If used, this action must be called prior
to recognition and both actions must be called at the same level.
Example:
SetAutoRotationOCR_A("True")
RecognizePageOCR_A
SetConfCalculationParamsOCR_A
Specifies the values to use for ABBYY->Datacap confidence mapping.
Member of namespace
ocr_a
Syntax
SetConfCalculationParamsOCR_A (StrParam)
Parameters
The default values for M is 10. The default value for C is 60.
Returns
False if both parameters are not passed or are not numeric. Otherwise, True.
Level
Any level.
Details
SetFastModeOCR_A
This action set to TRUE provides 2-2.5 times faster recognition speed at the cost of
a moderately increased error rate (1.5-2 times more errors).
Member of namespace
ocr_a
Syntax
SetFastModeOCR_A (StrParam)
Parameters
True Enables Fast Mode which sacrifices recognition quality over speed.
Returns
Always True.
Level
All.
Details
This action set to TRUE provides 2-2.5 times faster recognition speed at the cost of
a moderately increased error rate (1.5-2 times more errors).
OCR_N actions
Use the OCR_N actions to do recognition by using the NovoDynamics engine.
The OCR_N actions can run recognition on a full page or on all of the field zones
that are defined for the current page.
RecognizePageFieldsOCR_N
Does full page recognition and populates the fingerprint (CCO) file of the page
with the results.
Member of namespace
Datacap.Libraries.NovoDynamics
Syntax
RecognizePageFieldsOCR_N ()
Parameters
None.
Returns
False if the ruleset with this action is not bound to a Page object of the Document
Hierarchy. Otherwise, True.
Level
Page only.
This page-level action recognizes all fields on the page that have been configured
for OCR/N recognition (see the action library help text for available settings via
runtime\setup variables).
Important: Page level recognition settings are used to recognized the fields\zones.
Per zone recognition settings are not supported.
Example:
ReadZones()
RecognizePageFieldsOCR_N()
RecognizePageOCR_N
Does recognition on all field zones that are defined for the current page and writes
the results to the runtime page data file.
Member of namespace
Datacap.Libraries.NovoDynamics
Syntax
RecognizePageOCR_N ()
Parameters
None.
Returns
False if the ruleset with this action is not bound to a Page object of the Document
Hierarchy. Otherwise, True.
Level
Page only.
Details
The NormalizeCCO action from the CCO2CCO action library should be called after
RecognizePageOCR_N if the application will be using the navigation and pattern
match actions to find recognized text on a page or perform pattern matching.
If a CCO file does not exist at the time this action is called, the action will create
one.
Example:
RotateImage()
RecognizePageOCR_N()
NormalizeCCO("")
This sequence creates a CCO file for the current page, and checks to see if
rotation of the image is needed. Full-page recognition then takes place in
response to settings (see the action library help text for available settings
via runtime\setup variables).
OCR_S actions
Use the OCR_S actions to do recognition by using the Nuance OmniPage OCR
engine.
The OCR_S actions can run recognition tasks on field zones and pages, and write
the results to several supported file formats.
RecognizeDocToPDF
Saves all of the pages in the current document as a PDF file.
Member of namespace
OCR_S
Syntax
bool RecognizeDocToPDF (StrParam)
Parameters
Returns
False If the action is not applied at the Document level of the Document
Hierarchy, or if conversion is not successful. Otherwise, True.
Level
Details
Converts all pages in a document to Adobe PDF format and places them in a
searchable PDF file (.pdf)
RecognizeFieldOCR_S
Does recognition on the zone of the current field and writes the result to the
runtime page file.
Member of namespace
OCR_S
Syntax
bool RecognizeFieldOCR_S ()
Parameters
None.
Returns
False If the ruleset with this action is not bound to a Field object of the Document
Hierarchy. Otherwise, True.
Level
Field only.
Details
This field-level action retrieves a zoned field's settings from the OCR/S tab of the
Recognition Options Setup dialog, and uses these settings to recognize the value
of the field.
Example:
TaxpayerSSN Rule 1
RecognizeFieldOCR_S()
In the example, the rule uses the action to retrieve and apply settings in
the OCR/S tab of the Recognition Options Setup dialog. These settings
were previously assigned to a zoned field in the Document Hierarchy.
RecognizeFieldVoteOCR_S
Does recognition on the zone of the current field and compares the result to the
existing field value, character by character. Raises the confidence level when the
characters match and lowers it when they do not match.
Member of namespace
OCR_S
Parameters
None.
Returns
False If the ruleset with this action is not bound to a Field object of the Document
Hierarchy. Otherwise, True.
Level
Field only.
Details
This field-level action initiates a voting procedure that first uses specifications in
the OCR/S tab of the Recognition Options Setup dialog to recognize the field's
characters.
When this action stores the results of recognition, it first determines whether the
corresponding Field object of the Document Hierarchy contains a value. If a value
is present, the action compares the field's existing value with the recognition
results - character by character.
If a particular character's values match, the Confidence Rating for the character is
raised to the maximum level. If the values do not match, the Confidence Rating for
the character is lowered to the minimum.
Note: When you are using this voting procedure, the second Recognition engine is
secondary and its results are never assigned. Instead, the action changes the
Confidence Ratings based on results that are provided by the first Recognition
engine. If there are no recognition results previous to this action, it acts just like the
RecognizeFieldOCR_S action.
Example
RecognizeFieldICR_C()
RecognizeFieldVoteOCR_S()
RecognizePageFields2CCO_OCR_S
Does recognition on all field zones that are defined for the current page and writes
the results to the CCO file of the page.
Member of namespace
OCR_S
Parameters
None.
Returns
Always True.
Level
Page level.
Details
Runs recognition on fields that were designated for OCR/S recognition then
transfers the Zonal OCR_S recognition values to the page's CCO file.
Example
RecognizePageFields2CCO
RecognizePageFields2CCO_OCR_S()
CreateTextFile
RecognizePageFieldsOCR_S
Does recognition on all field zones that are defined for the current page and writes
the results to the runtime page data file.
Member of namespace
OCR_S
Syntax
bool RecognizePageFieldsOCR_S ()
Parameters
None.
Returns
False If the ruleset with this action is not bound to a Page object of the Document
Hierarchy. Otherwise, True.
Level
Page only.
This page-level action recognizes all fields on the page that were configured for
OCR/S recognition (see the OCR/S tab of the Recognition Options Setup dialog.)
Note: Individual field-level recognition actions overwrite the results from this
page-level action.
The action does not recognize a zoned field if the Skip Recognition check box in
the OCR/S tab of the Recognition Options Setup dialog was selected.
Example
ReadZones()
RecognizePageFieldsOCR_S()
RecognizePageOCR_S
Does full page recognition and populates the page's fingerprint (CCO) file with the
results.
Member of namespace
OCR_S
Syntax
bool RecognizePageOCR_S ()
Parameters
None.
Returns
False If the ruleset with this action is not bound to a Page object of the Document
Hierarchy. Otherwise, True.
Level
Page only.
Details
Important: If a CCO file does not exist at the time this action is called, the action
creates one.
Example
AnalyzeImage()
RotateImage()
RecognizePageOCR_S()
This sequence creates a CCO file for the current page, and checks to see
whether rotation of the image is needed. Full-page recognition then takes
place in response to settings in the OCR/S tab of the Recognition Options
Setup dialog. The recognition results are stored in the CCO file.
RecognizePageOCR_S_2TextFile
Does full page recognition and writes the recognition results to a text file in the
batch folder.
Member of namespace
OCR_S
Syntax
bool RecognizePageOCR_S_2TextFile ()
Parameters
None.
Returns
False If the ruleset with this action is not bound to a Page object of the Document
Hierarchy. Otherwise, True.
Level
Page only.
Details
This action generates a Text file (.txt) that contains the raw recognition results for
each page in the batch, and adds the file to the current batch.
Note: The action does not create or populate a page's Fingerprint file (.cco) file
with the recognition results.
RecognizeToFile_OCR_S
Does full page recognition and writes the recognition results to one of several
available output file types, such as .doc, .rtf, .html.
Member of namespace
OCR_S
Syntax
bool RecognizeToFile_OCR_S (StrParam)
Parameters
Attention: Image refers to the image of the bound Page object of the Document
Hierarchy. File name is the string portion of a file's name that precedes its
extension.
The output for all of these parameters produce a file name that is identical to the
original file name and has the extension that is specified for that parameter.
1. A PDF document with the original image in the foreground with the
recognized text hidden in the background (but in the correct position). Perfect
for archiving and indexing documents.
2. A general PDF document where the text in the original image is replaced by
the corresponding text that is recognized by the engine.
3. A special type of PDF document, where the suspect words are covered by
their images cut out from the original image.
4. A non-searchable PDF document.
5. Recognize an HTML image of the bound Page object of the Document
Hierarchy. Output .html (HTML 140).
6. Recognize an image of the bound Page object of the Document Hierarchy in
an Excel file. Output .xls (Excel 2000.)
7. Recognize any image of the bound Page object of the Document Hierarchy in
a Word2000 file with a ".doc" extension. Output .doc (Word 2000).
8. Recognize any image of the bound Page object of the Document Hierarchy in
a WordML file. Output .doc (Word ML).
9. Recognize any image of the bound Page object of the Document Hierarchy in
a Word97 file. Output .doc (Word 97)
10. Recognize any image of the bound Page object of the Document Hierarchy in
a RTF2000SWord file. Output .rtf (RTF 2000SWord)
11. Recognize any image of the bound Page object of the Document Hierarchy in
an RTF2000 file. Output .rtf (RTF 2000).
12. Recognize the image of the bound Page object of the Document Hierarchy in
a Text file with an ".RTF6" extension. Output.rtf (Rich Text).
13. Recognize the image of the Page object of the Document Hierarchy in a Text
file with an "RTF6" extension. Output .rtf (Rich Text).
Returns
False If a ruleset with this action is bound to a Field object of the Document
Hierarchy, or if the parameter is not a number. Otherwise, True.
Level
Page or Document.
Details
Runs OCR recognition on the image of a source page, and stores the output of the
OCR/S recognition engine in a file. The output file is in one of 22 alternative
formats. Because the files are not processed in the format you specify, this action is
useful primarily for debugging the engine, of if you need raw (unverified) OCR
output in that format.
Runs OCR recognition on the image of a source page, and stores the output of the
OCR/S recognition engine in a file. The output file is in one of 22 alternative
formats. Because the files are not processed in the format you specify, this action is
useful primarily for debugging the engine, of if you need raw (unverified) OCR
output in that format.
Example
RecognizeToFile_OCR_S("21")
RecognizeToPDF
Does full page recognition and saves the current page as a PDF file.
OCR_S
Syntax
bool RecognizeToPDF (StrParam)
Parameters
Returns
False If the rule with this action is not applied to a page. Otherwise, True.
Level
Page only.
Details
This action converts a scanned Image file (.tif) to an Adobe Portable Document
Format (PDF) file that is specified by the parameter.
Example
RecognizeToPDF("3")
RotateImage
Use with RotateTIO from the Recog_Shared library to update the CCO file with the
correct position coordinates after image rotation.
Member of namespace
OCR_S
Syntax
bool RotateImage ()
None
Returns
False If the ruleset with this action is not bound to a Page object of the Document
Hierarchy. Or if the action cannot locate the image file that represents the current
page. Otherwise, True.
Level
Page only.
Details
This action runs automatic rotation of black and white .TIF (or .TIFF) files. The
automatic image rotation algorithm relies on, and works best with, images with
good quality machine printed text.
If an image contains text with various orientations, for example vertical and
horizontal, the image might be rotated undesirably.
The automatic rotation algorithm does not fully work with images that contain
nine-pin dot-matrix text or other non-machine printed text.
It is recommended that you call this action in a separate ruleset after recognition
due to instances where the recognition engine does not release the image until the
ruleset is completed. This problem can manifest as a “cco does not exist” error in
the log file.
Example
RotateImage()
RecognizePageICR_C()
SetEngineTimeout
Specifies the number of seconds to wait before it is assumed that an OCR/S
recognition action is no longer running correctly.
Member of namespace
OCR_S
Syntax
bool SetEngineTimeout (StrParam)
Numeric value that indicates the number of seconds to wait to determine that an
OCR/S recognition action is stalled or exited.
Returns
Always True.
Level
All.
Details
This action sets the number of seconds to wait before it assumes that an OCR/S
recognition action is no longer running correctly. When the timeout is reached, the
recognition process is removed from memory. SetEngineTimeout is effective only
when out-of-process recognition is enabled by the use of UseOutOfProcessRecog,
and if OCR/S recognition is being used.
If a recognition action does not complete within the specified number of seconds
indicated by a SetOutOfProcessRecogTimeout action or a SetEngineTimeout action,
it is assumed that the recognition engine encountered a severe error. It is removed
from memory and recognition automatically restarts one more time. If the
recognition action completes successfully within the specified time on either the
first or second attempt, the recognition action is successful. If the recognition action
does not complete by the specified time on the second attempt, the recognition
action is set to abort, if RecogContinueOnFailure(False) was used.
When a SetEngineTimeout action is called, the setting is in effect for the entire
batch. You can set the value one time. Then, you can call as many recognition
actions as you want.
Example
SetEngineTimeout("180")
RecogContinueOnFailure("True")
Member of namespace
OCR_S
Syntax
bool SetFastTradeOffOCR_S ()
Parameters
None.
Returns
Always True.
Level
All.
Details
SetLegacyDecompositionOCR_S
Enhances an image in preparation for recognition.
Member of namespace
OCR_S
Syntax
bool SetLegacyDecompositionOCR_S ()
Parameters
None.
Always True.
Level
All.
Details
This combination creates a CCO file for the current page, intensifies
gradients between and within words on the page. It then uses settings in
the OCR/S tab of the Recognition Options Setup dialog to complete word
recognition of the page.
OCR_SR actions
Use the OCR_SR actions to do recognition by using the updated Nuance
OmniPage OCR engine.
The OCR_S actions can run recognition tasks on field zones and pages, and write
the results to several supported file formats.
RecognizeFieldOCR_S
Does recognition on the zone of the current field and writes the result to the
runtime page file.
Member of namespace
OCR_SR
Syntax
RecognizeFieldOCR_S ()
Parameters
None
Returns
False if the ruleset with this action is not bound to a Field object of the Document
Hierarchy. Otherwise, True.
Field level.
Details
This field-level action is a shortcut to zonal recognition procedures that are carried
out in response to settings in the OCR/S tab of Datacap Studio.
Example
RecognizeFieldOCR_S()
RecognizeFieldVoteOCR_S
Does recognition on the zone of the current field and compares the result to the
existing field value, character by character. Raises the confidence level when the
characters match and lowers it when they do not match.
Member of namespace
OCR_SR
Syntax
RecognizeFieldVoteOCR_S ()
Parameters
None.
Returns
False if the ruleset with this action is not bound to a Field object of the Document
Hierarchy. Otherwise, True.
Level
Field only.
Details
This field-level action initiates a voting procedure that first uses specifications in
the OCR/S tab of the Recognition Options Setup dialog to recognize the
characters of the field.
When this action stores the results of recognition, it first determines if the
corresponding Field object of the Document Hierarchy contains a value. If a value
is present, the action compares the field's existing value with the recognition
results, character by character.
If a particular character's values match, the Confidence Rating for the character is
raised to 9 if the original confidence is smaller than 9. Otherwise the confidence of
matching characters is raised to the maximum level (10).
When using this voting procedure, the second Recognition engine is secondary and
its results are never assigned. Instead, the action changes the Confidence Ratings
RecognizePageFieldsOCR_S
Does recognition on all field zones that are defined for the current page and writes
the results to the runtime page data file.
Member of namespace
OCR_SR
Syntax
RecognizePageFieldsOCR_S ()
Parameters
None.
Returns
False if the ruleset with this action is not bound to a Page object of the Document
Hierarchy. Otherwise, True.
Level
Page only.
Details
This page-level action recognizes all fields on the page that have been configured
for OCR/S recognition, see the OCR/S tab of the Recognition Options Setup
dialog.
Note: Individual field-level recognition actions will overwrite the results from this
page-level action.
The action does not recognize a zoned field if the Skip Recognition checkbox in
the OCR/S tab of the Recognition Options Setup dialog is selected.
Example
ReadZones()
RecognizePageFieldsOCR_S()
RecognizePageOCR_S
Does full page recognition and populates the fingerprint (CCO) file of the page
with the results.
Member of namespace
OCR_SR
Parameters
None.
Returns
False if the ruleset with this action is not bound to a Page object of the Document
Hierarchy. Otherwise, True.
Level
Page only.
Details
This action responds to settings in the OCR/S tab of the Recognition Options
Setup dialog to recognize all characters on a page, and populates the page's CCO
file with the recognition results.
Attention: The NormalizeCCO action from the CCO2CCO action library should
be called after RecognizePageOCR_S if the application is using the navigation and
pattern match actions to find recognized text on a page or perform pattern
matching. If a CCO file does not exist when this action is called, the action creates
one.
Example
AnalyzeImage()
RotateImage()
RecognizePageOCR_S()
NormalizeCCO("")
This sequence creates a CCO file for the current page, and checks to see if
rotation of the image is needed. Full-page recognition then takes place in
response to settings in the OCR/S tab of the Recognition Options Setup
dialog The recognition results are stored in the CCO file. The words and
lines in the CCO are then sorted for use by navigation and pattern match
actions.
RecognizeToFileOCR_S
Does full page recognition and writes the recognition results to one of several
available output file types, such as .doc, .rtf, .html.
Member of namespace
OCR_SR
Syntax
RecognizeToFileOCR_S ()
Parameters
FileType
Type int
Important: Image refers to the image of the bound Page object of the Document
Hierarchy. Filename is the string portion of a file's name that precedes its
extension.
The output for all of these parameters will produce a file name that is identical to
the original file name and will have the extension specified for that parameter.
1. A PDF document with the original image in the foreground with the
recognized text hidden in the background (but in the correct position). Perfect
for archiving and indexing documents.
2. A general PDF document where the text in the original image is replaced by
the corresponding text recognized by the engine.
3. A special type of PDF document, where the suspect words are covered by
their images cut out from the original image.
4. A non-searchable PDF document.
5. Recognize an HTML image of the bound Page object of the Document
Hierarchy. Output .html (HTML 140).
6. Recognize an image of the bound Page object of the Document Hierarchy in
an Excel file. Output .xls (Excel 2000.)
7. Recognize any image of the bound Page object of the Document Hierarchy in
a Word2000 file with a .doc extension. Output .doc (Word 2000).
8. Recognize any image of the bound Page object of the Document Hierarchy in
a WordML file. Output .doc (Word ML).
9. Recognize any image of the bound Page object of the Document Hierarchy in
a Word97 file. Output .doc (Word 97)
10. Recognize any image of the bound Page object of the Document Hierarchy in
a RTF2000SWord file. Output .rtf (RTF 2000SWord)
11. Recognize any image of the bound Page object of the Document Hierarchy in
an RTF2000 file. Output .rtf (RTF 2000).
12. Recognize the image of the bound Page object of the Document Hierarchy in a
Text file with an .RTF6 extension. Output .rtf (Rich Text).
13. Recognize the image of the Page object of the Document Hierarchy in a Text
file with an .RTF6 extension. Output .rtf (Rich Text).
14. Recognize the image of the Page object of the Document Hierarchy in a Text
file with an .Text extension. Output .txt (Text).
15. Recognize the image of the Page object of the Document Hierarchy in a Text
file with an Csv extension. Output .txt (CSV - Comma Separated Variable).
16. Recognize the image of the Page object of the Document Hierarchy in a Text
file with a .FortmattedTxt extension. Output .txt (Formatted Text).
17. Recognize the image of the Page object of the Document Hierarchy in a Text
file with a .UText extension. Output .txt (Text).
18. Recognize the image of the Page object of the Document Hierarchy in a Text
file with a .UCSV extension. Output .CSV (Comma Separated Variable).
19. Recognize the image of the Page object of the Document Hierarchy in a Text
file with a .UFormattedText extension. Output .txt (Text).
20. Recognize the image of the Page object of the Document Hierarchy in a Text
file with an .Audio extension. Output aud (Text).
Returns
False if a ruleset with this action is bound to a Field object of the Document
Hierarchy, or if the parameter is not numeric. Otherwise, True.
Level
Page or Document.
Details
Performs OCR recognition on the image of a source page, and stores the output of
the OCR/S recognition engine in a file. The output file is in one of 22 alternative
formats. Because the files are not actually processed in the format you specify, this
action is useful primarily for debugging the engine, of if you need raw (unverified)
OCR output in that format.
Example
RecognizePageOCR_S_2TextFile(21)
RecognizeToPDFOCR_S
Does full page recognition and saves the current page as a PDF file.
Member of namespace
OCR_SR
Syntax
bool RecognizeToPDFOCR_S(int OutputPDFType)
Parameters
OutputPDFType
Type int
Parameters
Returns
False if the rule with this action is not applied to a document or page object or if
the parameters are not in the valid range. Otherwise, True.
Details
This action converts a scanned Image file (.tif) to an Adobe Portable Document
Format (PDF) file.
To include specific page types, set the variable typesToInclude to a comma delimited
list of page types to include in the PDF.
When more than one filter is specified, the following order of precedence takes
place:
v statusToExclude overrides typesToInclude
v typesToInclude overrides typesToExclude
If you are calling the action at the Document level, the types and status filters
apply to both the documents and their child pages.
If you are calling the action at the Page level, the types and status filters apply to
the page only.
These variables must be set before you call the RecognizeToPDFOCR_A action.
Example
rrSet("75","@D.statusToExclude)
rrSet("Blank","@D.typesToExclude)
RecognizeToPDF(3)
This example creates a PDF document with all of the pages that are
contained in the DCO Document object except those pages with type
"Blank" and status "75".
RotateImageOCR_S
Use with the RotateTIO action from the Recog_Shared library to update the CCO
file with the correct position coordinates after image rotation.
Member of namespace
OCR_SR
Syntax
RotateImageOCR_S ()
Parameters
None
False if the ruleset with this action is not bound to a Page object of the Document
Hierarchy, or if the action cannot locate the image file representing the current
page. Otherwise, True.
Level
Page only.
Details
This action performs automatic rotation of black and white .TIF (or .TIFF) files. The
automatic image rotation algorithm relies on, and works best with, images with
good quality machine printed text. If an image contains text with various
orientations, for example vertical and horizontal, the image might be rotated
undesirably. The automatic rotation algorithm does not fully work with images
containing 9-pin dot-matrix text or other non-machine printed text.
SetEngineTimeoutOCR_S
Specifies the number of seconds to wait before it is determined that an OCR/S
recognition action is not running properly.
Member of namespace
OCR_SR
Syntax
SetEngineTimeoutOCR_S ()
Parameters
Seconds
Type int
Parameters
Seconds: The value that indicates the number of seconds to wait before it is
determined that an OCR/S recognition action is stalled or exited.
Returns
Page or Field.
Details
This action sets the number of seconds to wait before it is assumed that an OCR/S
recognition action is no longer running correctly. When the timeout is reached, the
recognition process is removed from memory.
If a recognition action does not complete within the specified number of seconds
indicated by a SetOutOfProcessRecogTimeout action or a SetEngineTimeout action,
it is assumed that the recognition engine encountered a severe error. It is removed
from memory, and recognition is automatically restarted one more time. If the
recognition action completes successfully within the specified time on either the
first or second attempt, that recognition action is successful. If the recognition
action does not complete by the specified time on the second attempt, the
recognition action is set to abort, if the RecogContinueOnFailure(False) action was
used.
OpenTextFaxServer actions
Use the OpenTextFaxServer actions to import faxes from an OpenTextFaxServer.
You can use the OpenTextFaxServer actions to create Datacap document batches
from incoming faxes. You can also use these actions send the contents of a
document to a specified fax number.
Connect
Creates the connection to the Fax server.
Member of namespace
OpenTextFaxServer
Syntax
Connect ()
Returns
False if the action is not called at the batch level or if the connection to fax server
cannot be established. Otherwise, True.
Batch Level.
Details
Connects to the fax server. This action should be called after setting the server
connection parameters via the following actions:
v SetServerName("myserver")
v SetUserID("myuser")
v SetUserPassword("mypassword")
v SetProtocol(4)
v SetWindowsAuthentication(True)
Example
SetServerName("myserver")
SetUserID("myuser")
SetUserPassword("mypassword")
SetProtocol(4)
Connect()
ContinueOnConnectionError
Specifies whether the batch should continue if there is an error connecting to the
server.
Member of namespace
OpenTextFaxServer
Syntax
ContinueOnConnectionError ()
Parameters
Continue
Type: bool
Parameters
A boolean value specifying whether or not the batch should abort if there is an
error connecting to the server.
Returns
Always True.
Level
Any level.
Details
When the parameter is set to True, the batch finishes with Pending status, avoiding
the creation of more batches that will result in an aborted status.
ContinueOnFaxImportError
Specifies whether the batch should abort if there is an error importing a fax.
Member of namespace
OpenTextFaxServer
Syntax
ContinueOnFaxImportError ()
Parameters
Continue
Type: bool
Parameters
A boolean value specifying whether or not the batch should abort if there is an
error importing a fax.
Returns
Always True.
Level
Any level.
Details
Sets a boolean value specifying whether or not the batch should abort if there is an
error importing a fax. When the parameter is set to True the batch finishes with
Pending status, and contains all faxes that where imported successfully, up to the
last one that failed to be imported.
Disconnect
Disconnects the connection from the Fax server.
Member of namespace
OpenTextFaxServer
Syntax
Disconnect ()
Returns
False if the action is not called at the batch level or if the connection to fax server
cannot be closed. Otherwise, True.
Level
Batch Level.
Details
Disconnects to the fax server. This action should be called after the Import() or
Connect() actions. Typically this action would be called at the Batch's close node,
after the connection to the fax server is made and faxes are imported.
Example
SetServerName("myserver")
SetUserID("myuser")
SetUserPassword("mypassword")
SetProtocol(4)
Connect()
ImportPages()
Disconnect()
ImportFaxes
Imports the faxes from the Fax server into the document batch.
Member of namespace
OpenTextFaxServer
Syntax
ImportFaxes ()
Returns
False if the action is not called at the batch level or if an exception is encountered
while importing faxes. Otherwise, True.
Level
Batch Level.
This action imports faxes from the fax server. Each fax that is imported is stored in
a document inside the Datacap batch. The following fax information will be stored
in the document's variables (some of these variables can be empty):
v FaxUniqueID
v FaxStatus
v TotalPages
v LastHistoryChangeDateTime
v FromFaxNumber
v FromName
v FromVoiceNumber
v FromGeneralFaxNumber
v FromGeneralVoiceNumber
v Attachments
v ToFaxNumber
v ToVoiceNumber
Attention: Setting the batch variable WriteFaxXMLData to "1" causes the action to
write all possible fax properties to an XML file. The XML is named based on the
created document ID for a fax, for example, 20120109.000008.01.xml.
SendAsFax
Faxes the contents of the document or page to the specified Fax number.
Member of namespace
OpenTextFaxServer
Syntax
SendAsFax ()
Parameters
ToFaxNumber
Type: string
ToName
Type: string
Returns
False, if the action is not called at the document or page levels, or the fax number
is not specified, or the document does not contain pages (attachments), or if a
connection cannot be made to the fax server, or if the fax server returns an
exception while attempting to send the fax. Otherwise, True.
Level
Details
A connection to the Fax server must be established via actions before you
can use the SendAsFax action.
SetAbortTimeout
Sets the amount of time to wait before you stop running a batch.
Member of namespace
OpenTextFaxServer
Syntax
SetAbortTimeout ()
Parameters
Milliseconds
Type: int
Parameters
Returns
False if the action is not called at the batch level. Otherwise, True.
Level
Batch Level.
The action waits the specified time before returning when an abort occurs. This
action can be useful to prevent a large number of aborted batches due to an abort
condition. For example, if the fax server should become unavailable for a time, the
abort timeout will limit the amount of aborted batches until the fax server becomes
available again.
SetFaxRemovalAfterImport
Sets whether to remove processed faxes from the Fax server. This action must be
set to True to enable the import of new faxes.
Member of namespace
OpenTextFaxServer
Syntax
SetFaxRemovalAfterImport ()
Parameters
RemoveFaxes
Type: bool
Parameters
A boolean that sets whether or not to remove processed faxes from the server. The
default value is False.
v True : Faxes will be removed from the fax server once they are imported into a
Datacap batch.
v False : Faxes will remain in the fax server once they are imported into a
Datacap batch.
Returns
False if the action is not called at the batch level. Otherwise, True.
Level
Batch Level.
Sets whether or not to remove processed faxes from the server after they have been
imported into the Datacap batch.
SetInputFolder
Sets the name of the input folder where faxes are to be imported from.
Member of namespace
OpenTextFaxServer
Syntax
SetInputFolder ()
Parameters
FolderName
Type: string
Parameters
An string value representing the name of the user folder where faxes are to be
imported from.
Returns
Always True.
Level
Any level.
Details
If this action is not called, the faxes are imported from the default user folder.
SetMaxNumberOfFaxes
Sets the maximum number of faxes that are allowed per batch.
Member of namespace
OpenTextFaxServer
Syntax
SetMaxNumberOfFaxes ()
Parameters
MaxFaxes
Type: int
Parameters
MaxFaxes : The maximum number of faxes allowed per batch. The default value is
100.
Returns
False if the action is not called at the batch level. Otherwise, True.
Level
Batch Level.
Details
If this action is not called, the default value of 100 faxes per batch is used.
SetNumberOfRetries
Sets the number of times to attempt a connection to the Fax server after a
connection error occurs.
Member of namespace
OpenTextFaxServer
Parameters
NumberOfRetries
Type: int
Parameters
Returns
Always True.
Level
Any level.
Details
Sets the number of times to attempt a connection to the fax server after a
connection error occurs.
SetPollingInterval
Sets the number of milliseconds to wait before the OpenTextFaxServer resumes fax
polling from the Fax server.
Member of namespace
OpenTextFaxServer
Syntax
SetPollingInterval ()
Parameters
Milliseconds
Type: int
Parameters
Milliseconds : The amount of time, in milliseconds, to wait before polling the fax
server again. The default value is 2000 ms (2 seconds).
False if the action is not called at the batch level. Otherwise, True.
Level
Batch Level.
Details
Sets the amount of time to wait before resuming fax polling from the server.
SetProcessedFaxesFolder
Sets the name of the folder where faxes are to be moved to after they are imported.
Member of namespace
OpenTextFaxServer
Syntax
SetProcessedFaxesFolder ()
Parameters
FolderName
Type: string
Parameters
A string value that represents the name of the user folder where faxes are to be
moved to after they are imported.
Returns
Always True.
Level
Any level.
Details
If this action is not called, the faxes remain in the input folder.
SetProtocol
Sets the protocol to use to connect to the Fax server.
Member of namespace
OpenTextFaxServer
Syntax
SetProtocol ()
Parameters
Protocol
Type: int
Parameters
The protocol to be used to connect to the fax server. The default value is 4 (TCPIP).
Returns
False if the action is not called at the batch level or if the parameter is invalid.
Otherwise, True.
Level
Batch Level.
Details
If this action is not called, the default value of 4 (TCPIP protocol) is used.
SetRetryTimeout
Sets the number milliseconds to wait before attempting a connection to the fax
server after a connection error occurs.
Member of namespace
OpenTextFaxServer
Syntax
SetRetryTimeout ()
Parameters
Milliseconds
Type: int
Parameters
Returns
Always True.
Level
Any level.
Details
If this action is not called, the default value of 3000 milliseconds is used.
SetServerName
Sets the name of the Fax server to which you can upload faxes.
Member of namespace
OpenTextFaxServer
Parameters
ServerName
Type: string
Parameters
ServerName : The name of the fax server. Smart parameters are supported.
Returns
False if the action is not called at the batch level. Otherwise, True.
Level
Batch Level.
Details
SetUserID
Sets the user ID used to log in to the Fax server.
Member of namespace
OpenTextFaxServer
Syntax
SetUserID ()
Parameters
UserID
Type: string
Parameters
UserID : The user ID to be used to connect to the fax server. Smart parameters are
supported.
Returns
False if the action is not called at the batch level. Otherwise, True.
Batch Level.
Details
SetUserPassword
Sets the password used to log in to the Fax server.
Member of namespace
OpenTextFaxServer
Syntax
SetUserPassword ()
Parameters
UserPassword
Type: string
Parameters
Returns
False if the action is not called at the batch level. Otherwise, True.
Level
Batch Level.
Details
It is recommended that you create an advanced value in the custom values tab in
the Application Manager to encrypt your password instead of hard coding it in the
action parameter. The password can be retrieved using smart parameters.
SetWindowsAuthentication
Sets whether to use Windows Authentication to connect to the Fax server.
Member of namespace
OpenTextFaxServer
Syntax
SetWindowsAuthentication ()
Parameters
UseWindowsAuthentication
Type: bool
Parameters
Sets whether or not to use Windows Authentication to connect to the fax server.
The default value is False.
v True : Windows Authentication will be used. The actions SetUserID() and
SetUserPassword() are not required when UseWindowsAuthentication is set to
True.
v False : Fax Server user authentication will be used. The actions SetUserID() and
SetUserPassword() are required when UseWindowsAuthentication is set to
False.
Returns
False if the action is not called at the batch level. Otherwise, True.
Level
Batch Level.
Details
PatternMatch actions look for a match to specified anchor patterns, identifies the
page, sets the page type, and sets the confidence level for pattern matching.
MatchPattern
Align the image of this field on the current page with the fingerprint
Member of namespace
PatternMatch
Syntax
MatchPattern ()
Parameters
None.
Returns
Otherwise, True.
Level
Field level.
Details
Searches on the current image in a zone that is associated with the current field for
a match to the pattern specified for this field in a fingerprint. The zoned area from
the original fingerprint is matched against a larger zone in the current image. The
search area is controlled by the METRIC variable. METRIC=200,100 means search
from 200 pixels to the left and right, and 100 pixels above and below the expected
location. If METRIC is not specified, the default is 500 pixels horizontal and
vertical.
The fingerprint is determined by the current image's Fingerprint ID, or the Global
Fingerprint ID if the current image is not identified.
MatchPattern can be called on any field and if matched, an offset variable is saved
for that field. If called before ReadZones, then ReadZones uses the offset for that
field when its position is set. Other fields are unaffected.
This action operates on black and white images, grayscale or color images cause
the action to fail. The fingerprint image must have the same resolution (DPI) as the
current page image. The geometric shape that is contained in the Anchor field
must be bold and well-defined with clear edges, with crisp, black and white
markings that product a distinct shape. The shape must be thick and compact, not
composed of long thin lines. To avoid false positive matches, the shape must not
match other shapes or black areas that might exist nearby within the same image.
Example
MatchPattern()
pat_RecogMatch_Id
Identifies the current page type by matching OCR results in any fingerprint
Anchor zone with OCR results for the corresponding zone on the current page.
Member of namespace
PatternMatch
Syntax
pat_RecogMatch_Id ()
Parameters
None.
Returns
True if the ruleset is bound to a Page, and a fingerprint matching the text of at
least one Anchor field is found. Otherwise, and in case of any errors, False. In
addition, the page variable TemplateID is set to the matching Fingerprint ID.
Level
Page only.
Details
If any Anchor field text in the current page matches the zonal text of any
fingerprint, the page is identified by that fingerprint (first match). The Type of the
current page is set to the fingerprint page type if a match is found. Full page OCR
or ICR must be performed on both the fingerprints and the current image prior to
calling this action. Text to be matched is extracted from each fingerprint's Anchor
field, which should be defined tightly around the text in the fingerprint. The search
area in the current image is the fingerprint-specific field zone in the Document
Hierarchy, extended by any associated METRIC variable.
pat_RegisterZones
Registers and adjusts the positions of all fields on the current source page, based
on the positions of the page's designated Anchor field(s).
Member of namespace
PatternMatch
Syntax
pat_RegisterZones ()
Parameters
None.
Returns
True if the ruleset with this action is bound to a Page object of the Document
Hierarchy, and if the action can find all designated Anchor fields. Otherwise,
False.
Level
Page only.
Details
pat_RegisterZones registers and adjusts the positions of all fields on the current
page, based on the previously matched positions of the page's designated Anchor
field(s). Anchor fields are determined by the Anchor Field setting in Datacap
Studio, for each field. Prior to calling pat_RegisterZones, usually in a different task
or ruleset, one of the PatternMatch actions that performs Anchor matching must be
called. Then, when the pat_RegisterZones action is called, the expected positions of
the Anchor fields on the image (taking into account the Fingerprint classification)
are compared with the recognized positions of the fields identified as an Anchor
field. The action ReadZones must be called prior to pat_RegisterZones. If any
required Anchors are not matched, an operator may be required to update the
Anchor position in a verify or fixup task.
All matched or manually adjusted Anchor positions are used for adjustment,
Anchors that are not matched are ignored.
v If one Anchor is found, the field positions are all shifted by the same amount.
v If two or more Anchors are found, the field positions are shifted by different
amounts, depending on their distance from each Anchor. This process is called
Interpolation.
pat_ReleasePageAnchors
An action that can be called at the end of a batch to release information about the
identity and location of a page's Anchor field(s).
Member of namespace
PatternMatch
Syntax
pat_ReleasePageAnchors ()
Parameters
None.
Returns
Always True.
Level
Page only.
Details
This action can be optionally called to release the small amount of Anchor memory
that was allocated by the action pat_RegisterZones. If pat_ReleasePageAnchors is
not called, the memory will be released at the end of the batch or the next time
pat_RegisterZones is called.
Example
pat_ReleasePageAnchors()
PatternMatch_Fingerprint
Identifies a page from a specified list of fingerprints.
Member of namespace
PatternMatch
Syntax
PatternMatch_Fingerprint (StrParam)
Parameters
False, if the rule that contains this action was not applied to a Page object of the
Document Hierarchy; if a parameter is invalid; if a match does not occur; or if one
or more of the specified fingerprints do not exist. Otherwise, True.
Level
Details
This action requires the current page image to be bi-tonal (black and white).
Grayscale or color images cause the action to fail. The fingerprint image must have
the same resolution (DPI) as the current page image. The geometric shape that is
contained in each Anchor field must be bold and well-defined with clear edges,
with crisp, black and white markings that produce a distinct shape. The shape
must be thick and compact, not composed of long thin lines. To avoid false
positive matches, the shape must not match other shapes or black areas that might
exist nearby within the same image.
Example
PatternMatch_Fingerprint(1024,1034,1035,1036)
This example compares the current page to the four fingerprints that are
specified by their IDs.
PatternMatch_Identify
Identifies a page by using image pattern matching.
Member of namespace
PatternMatch
Syntax
PatternMatch_Identify ()
None.
Returns
False, if the rule that contains this action was not applied to a Page object of the
Document Hierarchy; if a pattern match is not found; or if fingerprints do not
exist. Otherwise, True.
Level
Details
This action requires the current page image to be bi-tonal (black and white).
Grayscale or color images cause the action to fail. The fingerprint image must have
the same resolution (DPI) as the current page image. The geometric shape that is
contained in each Anchor field must be bold and well-defined with clear edges,
with crisp, black and white markings that produce a distinct shape. The shape
must be thick and compact, not composed of long thin lines. To avoid false
positive matches, the shape must not match other shapes or black areas that might
exist nearby within the same image.
Example
PatternMatch_Identify()
PatternMatch_PageType
Identifies a page according to its Page Type.
Member of namespace
PatternMatch
Syntax
PatternMatch_PageType (StrParam)
Returns
False if the rule containing this action was not applied to a Page object of the
Document Hierarchy; if the parameter is invalid; if a match does not occur; or if
fingerprints do not yet exist. Otherwise, True.
Level
Details
This action requires the current page image to be bitonal (black and white),
grayscale or color images will cause the action to fail. The fingerprint image must
have the same resolution (DPI) as the current page image. The geometric shape
contained in each Anchor field should be bold and well defined with clear edges,
with crisp black and white markings, producing a distinct shape. The shape should
be thick and compact, not composed of long thin lines. To avoid false positive
matches, the shape should not match other shapes or black areas that may exist
nearby within the same image.
Example
PatternMatch_PageType(HCFA 1500)
This action looks for a match among the inventory of fingerprints that
have a page type of "HCFA 1500".
SetMatchConfidence
Sets the confidence threshold for pattern matching.
Member of namespace
PatternMatch
Parameters
Higher values require fewer differences between the compared areas to return a
positive match value.
Returns
Level
All.
Details
Picture actions
Use the Picture actions to do field validations by picture strings. Picture strings
define the supported format of a field such as a social security number, phone
number, date.
A social security number, for example, is always <three digits >-<two digits >-<four
digits>. You can define a picture string to represent this format and then use it to
make sure that social security number fields contain conforming values.
PIC_ApplyPictureString
Validates the current field by using the specified picture string.
Syntax
()
Parameters
Returns
False, if called at the wrong level, if the picture string is longer than the field
value or if the field fails the picture string validation. Otherwise, True.
Level
Field level.
Validates the current field using a runtime PictureString as an argument. See the
PIC_FormatFields action for picture string details.
Using the provided picture string, this action will test that each of the characters in
the current field are allowed. The provided picture string must be the same length
or shorter than the data on the field. If the picture string is shorter, then the last
character of the picture string will be used to validate all remaining characters in
the field.
See the help for action PIC_FormatFields for an overview of picture strings. Unlike
PIC_FormatFields which uses the PictureString variable, PIC_ApplyPictureString
accepts the picture string as a variable only.
Example
PIC_SetPictureCharacter("0,01")
PIC_SetPictureCharacter("1,0123")
PIC_SetPictureCharacter("2,-./")
PIC_ApplyPictureString("0N21N2NN")
This example creates custom picture strings for 0, 1 and 2. They are then
used here to provide tighter control on the allowed input. "0N21N2NN"
format matches a typical 6 digit date specification like "01/07/67".
PIC_FilterFields
Validates the format of the current field, when called from a field, or all fields on
the current page, when called from a page. Uses the picture string that is stored in
the PictureString variable of the field.
Syntax
()
Parameters
None.
Returns
Always True.
Level
All levels.
Details
Replaces a character and adjusts the confidence based on the PictureString defined
for the field.
Lowers the Confidence Rating of any character in a field that does not satisfy the
Picture String's criteria and replaces the problem character with a low confidence
space. It is very similar to the FormatFields action but does not use alternative
recognition characters.
This action has two roles. If a character in the field does not match the picture
string format defined for that field
Note: This Action is recursive and will affect all child fields of the calling node.
While not direct input to this action, this action works with picture strings that are
defined for a field. See the PIC_FormatFields action for a list of all available picture
string codes and information about the PictureString variable.
Example
rrSet("XxN,@F.PictureString")
PIC_FilterFields()
This example expects the current field to have the first character be either a
alphabetic character or a digit, the second character can be an alphabetic
character, digit or punctuation character and the remaining characters must
only be digits.
PIC_FormatFields
Validates the format of the current field or all fields on the current page and uses
another to replace problem characters.
Syntax
()
Parameters
None.
Returns
Always True.
Level
All levels.
Details
Lowers the Confidence Rating of any character in a field that does not satisfy the
PictureString criteria.
This action adjusts the character confidence of a field, and optionally replaces
characters that are based on the picture string set for the field. It is similar to the
FilterFields action.
This action has two roles, if a character in the field does not match the picture
string format that is defined for that field.
1. It replaces any problem characters with an alternative character from a
secondary recognition engine, if one exists. If an alternative recognition
character does not exist, then the original character is unchanged.
Important: This Action is recursive and affects all child fields of the calling node.
Picture Strings:
This action works with picture strings that are defined for a field. The picture
string must be stored in a field variable called PictureString. Picture strings
improve and filter recognition results, and are used to limit characters that are
typed into that field during verify. The PIC_FormatFields and PIC_FilterFields
actions can be called to enforce PictureString after recognition rules are started. The
PIC_ApplyPictureString action is an exception that does not use the PictureString
variable.
While not direct input to this action as a standard parameter, here are the valid
picture string characters that can be set in the PictureString field variable and are
then used by this action.
v A: Alphabetic characters only or a space. Numeric and punctuation characters
are not valid.
v a: Alphabetic, space and punctuation characters.
v D: Dates. The dates must be expressed with numeric characters. You can delimit
months, dates, and years with hyphens, periods, and forward slashes.
v F: Float numbers, which are fractional numbers. To accommodate fractional
values, you can include both numbers and a period (for the decimal separator)
in this picture string. The F character allows minus signs to represent negative
numbers.
v f: Numeric and punctuation characters.
v L: Lowercase alphabetic and space characters.
v l: Lowercase alphabetic, space, and punctuation characters.
v N: Numeric characters only.
v n: Uppercase alphabetic, numeric, or space characters.
PIC_ReplaceBlankField
If the current field is blank, sets the field value to the character that is specified.
Syntax
()
Parameters
Returns
Level
Field level.
Details
v If a field is blank, it replaces it with a single character.
v If a field is empty or only contains spaces, it is replaced with the character or
string that is passed in as a parameter.
v If the field is replaced with the input parameter, the confidence is changed to a
low confidence of 1.
Example
PIC_ReplaceBlankField("~")
Syntax
()
Parameters
Returns
Level
Any level.
Details
It is possible to configure your verify panel edit control to restrict keyboard entry
that is based on picture strings when you use the PictureString field variable. Only
predefined picture strings work with the edit control. Any custom picture strings
that are created by PIC_SetPictureCharacater action do not cause the edit control to
restrict user input.
Examples
This example creates custom picture strings for 0, 1 and 2. They are then
used to provide tighter control on the allowed input. "0N21N2NN" format
matches a typical 6-digit date specification like "01/07/67".
PIC_SetPictureCharacter("0,01")
PIC_SetPictureCharacter("1,0123")
PIC_SetPictureCharacter("2,-./")
PIC_ApplyPictureString("0N21N2NN")
This example is the same except that the picture string is set up in the
PictureString variable in Datacap Studio, so it is not seen here.
PIC_SetPictureCharacter("0,01")
PIC_SetPictureCharacter("1,0123")
PIC_SetPictureCharacter("2,-./")
PIC_ValidateField()
PIC_ValidateField
Validates the format of the current field by using the picture string that is stored in
the PictureString variable of the field.
Parameters
None.
Returns
False if the field value does not satisfy the Picture String criteria of the field.
Otherwise True.
Level
Details
Checks the value of all characters in a field against that field's PictureString criteria.
If a character in the field does not match the picture string format defined for that
field, it lowers the Confidence Rating of any character in a field that does not
satisfy the Picture String's criteria. The criteria is stored in the PictureString variable
that is bound to the field.
Note: Fields with a status of '-1' (Hidden) are checked but this action will not
return false if the value does not match the picture string criteria.
While not direct input parameters to this action, this action works with picture
strings that are defined for a field. See the PIC_FormatFields action for a list of all
available picture string codes and information about the PictureString variable.
Example
PIC_ValidateField()
POLR actions
Use the POLR action matches line items from your invoice image to the
corresponding purchase order.
The POLR action pre-matches invoice line items with the purchase order before it
runs the verification task.
CallPOLR
Pre-matches invoice line items with the purchase order before it runs the
verification task.
Syntax
()
Parameters
The ADOBDB constant number for the PO number field. When using bind
variables, the data type of the PO Number is specified with this action.
Always True.
Level
Page level.
Details
This action is used to pre-match invoice line items with the PO prior to verify
operator verification. The record set for the PO is retrieved using the information
in the settings.ini. This calls the record set according to the DSN in the
settings.ini. PODSN and POLookup indicate how to obtain the record set. The
record set is expected to be the line items for the PO for the current document and
is keyed off of the PO number. It then uses the POLR logic to perform the
automatic matching.
Note: The TestPODSN and PODSN ini entries support smart parameters to allow
for secure connection strings.
The settings ini file must contain values for these keys:
v [POLR]
v Qty=
v ItemID=
v Price=
v WriteUnusedPOLInes=
v PriceTolerance=
v SeparatorCharacter=
If the station name has a suffix of "-Test" then this key must exist:
v [Database]
v TestPODSN=
v TestPOLookup=
If the station name does not have a suffix of "-Test" then this key must exist:
v [Database]
v PODSN=
v POLookup=
Example:
CallPOLR("200")
Recog_Shared actions
Use the Recog_Shared actions to do various fingerprint and recognition-related
functions.
The Recog_Shared actions can recognize things like check box options and write
the recognition results to the page data files.
AnalyzeImage
Converts the Image file (.tif) that represents the current page to a Fingerprint file
(.cco) file for the page.
Recog_Shared
Syntax
AnalyzeImage ()
Parameters
None.
Returns
False if the ruleset with this action is not bound to a Page object of the Document
Hierarchy. Otherwise, True.
Level
Page level.
Details
This action converts the Image file (.tif) that represents the current page to a CCO
file for the page.
A ruleset with this action should be bound to a Page object that represents an
application's source page.
The action is not required if full-page recognition takes place using actions such as
RecognizePageOCR_S or RecognizePageICR_C.
Attention: Fingerprint matching accuracy can decline for images with a very
large number of small dots. This condition might be due to large dotted or shaded
areas on the original document, speckled noise in the scanned image, or images
with text characters that are very broken up.
Example
AnalyzeImage()
RotateImage()
SetProblemValue(0.5)
SetSearchArea(0.5)
FindFingerprint(True)
This sequence generates a CCO file for the current page, then checks to see
if rotation of the image is needed. Finally, the sequence attempts to match
the current page with a fingerprint. For more about the matching process,
see the descriptions of the AutoDoc actions.
CCONormalization_OFF
Prevents the automatic running of NormalizeCCO procedures after a full-page
recognition action was run.
Member of namespace
Recog_Shared
Parameters
None.
Returns
False if the action does not run at the Page level. Otherwise, True.
Level
Page level.
Details
CreateTextFile
Creates a Text file (.txt) for the current page; adds the page's recognized values to
the file; and places the file in the current batch, in your application's Batches
directory.
Member of namespace
Recog_Shared
Syntax
CreateTextFile ()
Parameters
None.
Returns
False if the ruleset with this action is not bound to a Page object of the Document
Hierarchy, or if an Image file for the current page is not available. Otherwise, True.
Level
Page only.
This action creates a UTF-8 encoded Text file (.txt) for the current page; adds the
page's recognized values to the file; and places the file in the current batch, in your
application's Batches directory.
Attention: The Text file generated by this action is handy for debugging
purposes, to see what recognition is placing into the page's Fingerprint file (.cco)
file. The action should follow a full-page recognition action such as
RecognizePageOCR_S, in a rule that is applied to a Page object of the Document
Hierarchy.
Example
RecognizePageOCR_S()
CreateTextFile()
SetProblemValue(0.7)
SetSearchArea(0.5)
FindFingerprint(True)
IsBlankPage
Counts the number of words in the Fingerprint file (.cco) file of the current page
and returns True if the count is less than or equal to the number you enter as the
parameter.
Member of namespace
Recog_Shared
Syntax
IsBlankPage (StrParam)
Parameters
Long value indicating the maximum number of words in the Fingerprint file (.cco)
of a blank source page. "50", for example, tells the action that if a CCO file has 50
words or less, its page is blank. Valid values are 0 to 2,147,483,647.
Returns
False if the action parameter is invalid or if the action is unable to locate the
Image file for the current page or its CCO file. Otherwise, True.
Level
Page level.
This action counts the number of words in the CCO file of the current page and
returns True if the count is less than or equal to the number you enter as the
parameter.
A rule containing this action should apply to a Page object; within the rule, this
action should come after one of the actions that creates a fingerprint, such as
AnalyzeImage, RecognizePageOCR_S, or RecognizePageICR_C.
Example
AnalyzeImage()
IsBlankPage(5)
SetPageType(Separator)
This sequence uses AnalyzeImage to create a CCO file, then checks to see
if the file contains less than six words. If so, the IsBlankPage(5) action
returns True. The final action, a DCO action, establishes the page as a
Separator page.
RecogContinueOnFailure
Determines if a batch will abort if page or field recognition fails.
Member of namespace
Recog_Shared
Syntax
RecogContinueOnFailure (StrParam)
Parameters
Returns
Always True.
Level
All.
Details
This action determines if a batch will abort if page or field recognition failed.
RecogOMRThresh
This action should not be used, as it is scheduled to be removed in future versions.
It has been replaced by RecogOMRThreshold.
Member of namespace
Recog_Shared
Syntax
RecogOMRThresh (StrParam)
Parameters
Two comma-separated Floating Point or Integer values that specify the count of
black pixels in OMR boxes:
1. Threshold: the percentage of pixels in the zone - the field zone not the printed
box that should be considered "checked", i.e. the lightest box that is not just
noise, but should be considered a check mark.
2. Background: the percentage of pixels in the zone that might be due to scanner
noise and/or the border of the printed box. This value also controls the range
on either side of the Threshold value that is low confidence.
Details
See also
RecogOMRThreshold
RecogOMRThreshold
Performs OMR check box recognition by counting black pixels within each OMR
box area in a Field with one or more OMR boxes.
Recog_Shared
Syntax
RecogOMRThreshold ()
Parameters
String: threshold
String: background
Parameters
Floating or integer values that specify the count of black pixels in OMR boxes:
1. Threshold: the percentage of pixels in the zone. The field zone that is not the
printed box that must be considered checked. For example, the lightest box that
is not just noise, but must be considered a check mark.
2. Background: the percentage of pixels in the zone that might be due to scanner
noise or the border of the printed box. This value also controls the range on
either side of the Threshold value that is low confidence.
The action also accepts parameters that are fractional percentages, which are
needed to detect marks in large zones.
Returns
Always True.
Level
Field level.
Details
This action performs OMR check box recognition by counting black pixels within
each OMR box area in a Field with one or more OMR boxes.
v Text Boxes: The action sets the text value of the field to a string of 0's and 1's
(one digit per OMR box). It assigns a Confidence String to the string of digits: 4
for Low Confidence up to 9 for High Confidence.
v Density String and Confidence Value: The action also establishes a DensityString
variable for the Character String, indicating percentage-filled, from ASCII 48 ('0')
through 148. For each possible OMR box, is a character. The ASCII value of the
character minus 48 is the percentage-filled. If the Density String=0X, the first
OMR field was blank, and the second was 40% filled. The ASCII value for X is
88. 88 minus 48 = 40.
v MultiPunch and Confidence Values: If the MultiPunch setting is set to 1 and
multiple OMRs are filled beyond the threshold, the one that was filled the most
is marked and set to Low Confidence.
850 IBM Datacap: Application Development Guide
– If the percentage-filled is below the second parameter, the OMR box is not
selected and the confidence is high.
– If the percentage-filled is between the two parameters, the OMR box is not
selected and the confidence is low.
– If the percentage-filled is above the first parameter and below double the first
parameter minus the second parameter, the OMR box is selected and the
confidence is low.
– If the percentage-filled is above double the first parameter minus the second
parameter, the OMR box is selected and the confidence is high.
Note: The RecogOMRThreshold action works best on dropout boxes, but with an
appropriate background value can work effectively with boxes that are visible in
the scanned image.
If you are using small visible boxes on your image, it is best to zone the area by
surrounding the entire visible box with room for alignment movement. Then,
factor out the black from the box by using the parameters. If you attempt to zone
inside the borders of a visible box, you can get a false positive if the page does not
align exactly.
The following example is for a signature line, or a large zone where the
percentage-filled is much lower than for a small zone. This example
assumes there is low background or noise.
RecogOMRThreshold("2","0")
RegisterPageFields
Returns the field positions for all zoned fields of the current page.
Member of namespace
Recog_Shared
Syntax
RegisterPageFields ()
Parameters
None.
Returns
False if a ruleset with this action is not bound to a Page object of the Document
Hierarchy; or if the action cannot find the page's Fingerprint file (.cco). Otherwise,
True.
Page level.
Details
This action returns the field positions of all zoned fields of the current page. The
action is similar to the ReadZones action of the Zones.rrx file.
ReleaseImage
This action has been deprecated.
Member of namespace
Recog_Shared
Syntax
ReleaseImage ()
Parameters
None.
Returns
Always True.
Level
Page level.
Details
RotateTio
Checks if an Image file processed by the ImageFix action that assigns a .tio
extension to the file needs to be rotated by 90, 180, or 270 degrees. If so, the action
rotates and then saves the Image file with the same .tio extension.
Member of namespace
Recog_Shared
Syntax
RotateTio (StrParam)
A String value:
v True to initiate rotation
v False to prevent rotation
Returns
Always True.
Level
Page level.
Details
This action checks if an Image file processed by the ImageFix action that assigns
the .tio extension needs to be rotated by 90, 180, or 270 degrees. If rotation is
necessary, the action saves the Image file with the same .tio extension.
Example
AnalyzeImage()
RotateTio(True)
RotateImage()
RecognizePageICR_C()
SetAdjustFieldToChars
Optional setting for SnapCCOToDCO to adjust the field position to its character
positions.
Member of namespace
Recog_Shared
Syntax
SetAdjustFieldToChars (StrParam)
Parameters
A String value:
v True to snap character positions
v False to disable snapping
Returns
True.
Level
Details
This action has SnapCCOtoDCO adjust the field position (parameter True) to the
character positions results after snapping the character values to the field. Off by
Default
SetFingerprintRecogPriority
Sets the option that controls whether a full-page recognition action is to create a
Fingerprint file(.cco) - aka a CCO file - for the current page.
Member of namespace
Recog_Shared
Syntax
SetFingerprintRecogPriority (StrParam)
Parameters
Returns
Always True.
Level
All.
Details
This action sets the option that controls whether a full-page recognition action is to
create a CCO file for the current page. When the option is On, processing is faster
because the call to the AnalyzeImage action is eliminated.
The difference between creating a CCO from scratch with recognition results and
adding the recognition results to the existing CCO created by AnalyzeImage is that
in the adding case, the recognized characters are put into the CCO in a manner
that uses a different fingerprinting technique.
SetFullPageRecogArea
An optional action that sets the area of the current page that is to be the target of
recognition procedures, when full-page recognition action is invoked.
Member of namespace
Recog_Shared
Parameters
For example: "0.1" designates the first 10% of the page, while "1.0" calls for
recognition of the entire page.
This action is helpful if you know that a page's values will always be in a
particular location on the page, but recognition of the entire page is not necessary.
Returns
False if the ruleset with this action is not bound to a Page object of the Document
Hierarchy, or if the action's parameter is not a decimal value. Otherwise, True.
Level
Page level.
Details
This optional action sets the area of the current page that will be the target of
recognition procedures when full-page recognition action is called. For example:
"0.1" indicates that the first 10% of the page is to be recognized; "1.00" indicates
that the entire page is to be recognized.
Example
SetFullPageRecogArea(0.5)
SetOutOfProcessRecogTimeout
Sets the number of seconds to wait before it is determined that a recognition action
is no longer running properly.
Member of namespace
Recog_Shared
Syntax
SetOutOfProcessRecogTimeout (StrParam)
Parameters
Numeric value that indicates the number of seconds to wait to determine that a
recognition action is stalled or exited.
Returns
Always True.
Level
All.
This action sets the number of seconds to wait before it is assumed that a
recognition action is no longer running correctly. When the timeout is reached, the
recognition process is removed from memory. The SetOutOfProcessRecogTimeout
action is effective only when out-of-process recognition is enabled by the use of a
UseOutOfProcessRecog action.
If a recognition action does not complete within the specified number of seconds
indicated by a SetOutOfProcessRecogTimeout action or a SetEngineTimeout action,
it is assumed that the recognition engine encountered a severe error. It is removed
from memory and recognition automatically restarts one more time. If the
recognition action completes successfully within the specified time on either the
first or second attempt, that recognition action is successful. If the recognition
action does not complete by the specified time on the second attempt, the
recognition action is set to abort, if RecogContinueOnFailure(False) was used.
SetRecogFailureRetryDelay
Sets the number of seconds to wait before restarting a failed recognition action.
Member of namespace
Recog_Shared
Syntax
SetRecogFailureRetryDelay (StrParam)
Parameters
Numeric value indicating the number of seconds to wait before restarting a failed
recognition action, and automatically reactivating recognition one more time.
Returns
Always True.
Level
All.
This action sets the number of seconds to wait after the time specified in either a
SetOutOfProcessRecogTimeOut action or a SetEngineTimeout action has expired.
Once either timeout has occurred, the recognition engine is removed from memory:
the action will then wait the additional time specified by the
SetRecogFailureRetryDelay action to be sure that the engine has exited before
restarting recognition. SetRecogFailureRetryDelay only has an effect if
out-of-process recognition has been enabled by a UseOutOfProcessRecog action.
If a recognition action does not complete within the number of seconds specified
by a SetOutOfProcessRecog action or a SetEngineTimeout action, it is assumed that
the recognition engine has encountered a severe error and that recognition will
automatically be restarted one more time. If the recognition action completes
successfully within the specified time on either the first or second attempt, that
recognition action will be successful. If the recognition action does not complete by
the specified time on the second attempt, the recognition action will be set to abort
if RecogContinueOnFailure(False) has been used.
SnapCCOtoDCO
Transfers the recognition results in the current page's CCO file - its Fingerprint file
- to the appropriate Field objects of the Document Hierarchy...its setup DCO.
Member of namespace
Recog_Shared
Syntax
SnapCCOtoDCO ()
Parameters
None.
Returns
False if a ruleset with this action is not bound to a Page object or Field object of
the Document Hierarchy. Otherwise, True.
Level
This action transfers the recognition results of the current page's CCO file to the
appropriate Field objects of the Document Hierarchy (DCO). Note that the action
only transfers values to Field objects.
SnapCCOToDCO will only clear / update field text when all of the following
conditions are met:
v Field is not an OMR field, for example var RecogType=4).
v Field has positions assigned.
v Field does not have the variable v_skipsnap set to 1.
v Field has data mapping to the CCO, at least one character.
v Fixes issue that would affect processing of reserved fields. For example, fields
that are used for anchor finding are followed by snapping of data.
Example
SnapCCOtoDCO()
SnapDCOtoCCO
Transfers the recognition results assigned to Field objects of the Document
Hierarchy (aka the setup DCO) to the current page's CCO file, also known as its
Fingerprint file.
Member of namespace
Recog_Shared
Syntax
SnapDCOtoCCO ()
Parameters
None.
Returns
False if a rule with this action is not applied to a page. Otherwise, True.
Level
Page level.
Details
This action transfers the recognition results assigned to Field objects of the
Document Hierarchy (DCO) to the current page's CCO file.
SnapFieldtoChars
Adjusts the zone position of the passed dco field to the field's character positions.
Recog_Shared
Syntax
SnapFieldtoChars ()
Parameters
String: Smartparam
Parameters
Returns
False if a valid DCO field is not returned from the Smart parameter value.
Otherwise, True.
Level
Any level.
Details
This action adjusts the field position of the passed DCO to the DCO's character
positions. If the field does not have a text value, no adjustment to the field zone is
performed.
Example
SnapFieldtoChars(@F)
UseOutOfProcessRecog
Causes recognition to be performed in a process that is separate from the process
that is running the recognition actions.
Member of namespace
Recog_Shared
Syntax
UseOutOfProcessRecog (strParam)
Parameters
False: Recognition should run in the same process as the recognition actions.
Returns
Always True.
All.
Details
rrunner actions
Use the rrunner actions to do miscellaneous utility functions.
The rrunner actions can check batch integrity, manipulate the values of fields and
variables, raise condition flags, and control rule execution.
AbortOnError
Determines whether a task that encounters an error stops or continues.
Syntax
()
Parameters
Returns
Level
All.
Details
CheckAllIntegrity
Checks all documents in the batch to determine whether they meet the document
integrity requirements that are specified in the document hierarchy (setup DCO).
Syntax
()
Parameters
None.
Returns
True if the Document Integrity of the current batch meets the requirements as
defined in the setup of the Document Hierarchy. Otherwise, False.
Level
Batch level.
Details
Checks that the documents in the batch contain the correct type and number of
pages, in line with the Document Integrity requirements of the Document
Hierarchy.
Example
CreateDocuments()
CheckAllIntegrity()
These actions are part of a rule applied to the Batch object of the
Document Hierarchy. The first assembles documents from the pages in the
batch; the second ensures that the makeup of each document is valid.
CheckDocCount
Determines whether the number of documents in the runtime hierarchy matches
the expected document count as specified by the scan operator.
Syntax
()
Parameters
None.
Returns
True if the actual count is the same as the expected count. Otherwise, False.
Level
Batch level.
CheckPageCount
Determines whether the number of pages in the runtime hierarchy matches the
expected page count as specified by the scan operator.
Syntax
()
Parameters
None.
Returns
Level
Batch level.
Details
This action confirms that the number of actual images (pages) in the current task's
Page file (.xml) matches the count of expected pages.
Example
CheckPageCount()
DebugMode_OFF
Disables enhanced logging.
Syntax
()
Parameters
None.
Returns
Always True.
Level
All.
This actions turns off the enhanced logging procedures turned on by an earlier
DebugMode_On action.
Enhanced logging expands the scope and depth of a processing log's information,
and of the logs that a Rulerunner task generates when you are testing a rule and
its actions.
This feature also increases a Log file's size significantly, and should only be used
when you are testing the impact of an action and rule on the application's
workflow.
Example
DebugMode_Off()
DebugMode_ON
Enables enhanced logging (disabled by default).
Syntax
()
Parameters
None.
Returns
Always True.
Level
All.
Details
GoToNextFunction
Returns False, which causes the next function in the ruleset to run.
Syntax
()
Parameters
None.
Always False.
Level
All.
Details
Returns a False condition so that the next function in the RuleSet can run.
Example
IsFieldMatching("Skip")
GoToNextFunction()
If the condition in the first action is met, the sequence assigns a False
status to the second action and to the rule of which it is a part. As a result,
execution continues with the next function in the Rule.
PilotMessage_Clear
Removes the MESSAGE variable from the current object.
Syntax
()
Parameters
None.
Returns
Always True.
Level
All.
Details
Removes the runtime MESSAGE variable from the bound object of the Document
Hierarchy.
Example
PilotMessage_Clear()
PilotMessage_Set
Assigns a message to the MESSAGE variable of the current object.
Syntax
()
Parameters
Always True.
Level
All.
Details
ProcessChildren
Initiates the processing of elements that are represented by the bound object and
its children.
Syntax
()
Parameters
Returns
False if the number or sequence of the arguments are invalid. Otherwise, True.
Level
All.
Details
rr_AbortBatch
Stops processing the current batch and sets its status to Abort.
Syntax
()
Parameters
None.
Always True.
Level
All.
Details
Stops processing the current batch and sets the status of the batch to Abort.
Example
rr_AbortBatch()
rr_Get
Assigns the value of the specified variable to the Text property of the current
object.
Syntax
()
Parameters
Returns
Level
All.
Details
Uses the parameter's elements to locate the value of a source object's variable, and
assign it to the calling object. If the calling object is a field, only the value of the
field will be changed.
Example
rr_Get("@B.OPERATOR")
This example retrieves the value of the Batch object's Operator property
and assigns it to the calling object's Text property, if the calling object is a
field.
rr_Get("@DICT_WORD(..\MONTH)")
This example shows how Smart Parameters translates the OMR recognized
value of the MONTH field to the text from a predefined dictionary. The
text is then assigned to the calling object's Text property, if it is a field, or
Text variable if it is not a field.
rr_WriteNode
Creates a separate XML data file for the current object.
Parameters
None.
Returns
Always True.
Level
All.
Details
Sets up a separate XML data file element for the calling object during Rulerunner
processing.
Example
rr_WriteNode()
rrAppend
Appends the value of the source object to the specified field.
Syntax
()
Parameters
Both parameters are optional. If a parameter is not specified, it will default to the
calling object. If the calling object is a field, it will use the field value.
Returns
False if the action cannot locate the target object or if the source value is empty.
Otherwise, True.
Level
All
Details
The action retrieves the value of the source object, and appends it to the target
value.
Example
rrAppend("@D.DocID","@F")
Note: Target can not be a variable. If the source and target are the same,
the action has no effect.
rrCompare
Compares the values of two variables and returns True if they are the same.
Syntax
()
Parameters
Note: Either reference can specify a variable of the calling object (the bound object
of the Document Hierarchy.) Alternatively, both references can identify a variable
of an object that is a parent or child of the calling object.
Returns
Level
All.
Details
Uses the Smart Parameters that you enter as the parameter to locate and compare
the values of two object's variables.
Example
rrCompare("Expected_Pages","@B.Tot_Pages")
This example shows how a value is solicited from the field Expected_Pages
off of the calling object and the Batch object. The two values are then
compared: the action returns False if the values are not the same.
rrCompareCase
Runs a comparison of two strings or smart parameters to see whether they are
identical.
Syntax
bool rrCompareCase(string object1, string object2, string caseSensitive)
string object1
string object2
string caseSensitive
Parameters
Three Parameters.
1. A value or a smart parameter, which is a reference to a value.
2. A value or a smart parameter, which is a reference to a value for comparison.
Note: Either reference can specify a variable of the calling object (the bound
object of the Document Hierarchy.) Alternatively, both references can identify a
variable of an object that is a parent or child of the calling object.
Returns
Level
All.
Details
Runs a comparison of two strings or smart parameters to see whether they are
identical. The comparison can be run as case sensitive or case insensitive.
Example
rrCompareCase("Main_Job","JOBID","False")
This example compares the string "Main_Job" to the current Job ID. The
comparison is case insensitive. If the current Job ID is "MAIN_JOB", the
action returns True.
rrCompareCase("Main_Job","JOBID","True")
This example compares the string "Main_Job" to the current Job ID. The
comparison is case-sensitive. If the current Job ID is "MAIN_JOB", the
action returns False.
rrCompareCaseLength
Uses the smart parameters that you enter as the parameter to locate and compare
the values of two object's variables.
Parameters
string object1
string object2
string caseSensitive
string length
string fromStart
Parameters
Five Parameters.
1. A value or a smart parameter, which is a reference to a value.
2. A value or a smart parameter, which is a reference to a value for comparison.
3. True runs a case-sensitive compare. False runs a case insensitive compare.
4. An integer for the number of characters to compare. If the length is 0, the entire
string is compared.
5. True compares from the start of the string. False compares from the end of the
string.
Returns
Level
All.
Details
Uses the Smart Parameters that you enter as the parameter to locate and compare
the values of two object's variables. The comparison can be limited to a specified
number of characters from the start or the end of the string. The comparison can
be run case-sensitive or case insensitive.
Example
rrCompareCaseLength("Main","@JOBID","False",4,"True")
This example compares the string "Main" to the current Job ID. Only the
first four letters are compared and the compare is case-sensitive. If the
current Job ID is "MAIN_JOB", the action returns True.
rrCompareCaseLength("Main","@JOBID","True",4,"True")
This example compares the string "Main" to the current Job ID. Only the
first four letters are compared and the compare is case-sensitive. If the
current Job ID is "MAIN_JOB", the action returns False.
rrCompareCaseLength("Main Line","Main Job","True",4,"True")
This example runs a case insensitive compare of the last 8 characters of the
ScanSrcPath variable to find the last 8 characters of the string
"GOOD.BMP". If the value of ScanSrcPath is "c:\test\testvalidate\images\
good.bmp", the action returns True.
rrCompareNot
Compares the values of two variables and returns False if they are the same.
Syntax
()
Parameters
Note: Either reference can specify a variable of the calling object. Alternatively,
both references can identify a variable of an object that is a parent or child of the
calling object.
For batch, document and page objects, it will use a variable called Text, creating the
variable if it does not exist.
Returns
Level
All.
Details
This action is the negation of rrCompare. It can be handy for when an action
should be performed only when two values are different.
Example
rrCompareNot("Expected_Pages","@B.Tot_Pages")
rr_AbortBatch()
This example shows how a value is solicited from the field Expected_Pages
off of the calling object and the Batch object. The two values are then
compared: the action returns True if the values are not the same. Here, the
batch will abort if the expected pages do not match the total pages.
Syntax
rrCompareNotCase(string object1, string object2, string caseSensitive)
Parameters
string object1
string object2
string caseSensitive
Parameters
Three Parameters.
1. A value or a smart parameter, which is a reference to a value.
2. A value or a smart parameter, which is a reference to a value for comparison.
Note: Either reference can specify a variable of the calling object (the bound
object of the Document Hierarchy.) Alternatively, both references can identify a
variable of an object that is a parent or child of the calling object.
Returns
Level
All.
Details
This action negates the running of the rrCompareCase action. You can run this
action in instances when two of the string or smart parameter values are different.
Example
rrCompareNotCase("Main_Job","JOBID","False")
This example compares the string "Main_Job" to the current Job ID. The
comparison is case insensitive. If the current Job ID is "MAIN_JOB", the
strings match so the action returns False.
rrCompareNotCase("Main_Job","JOBID","True")
rrCompareNotCaseLength
Negates the running of the rrCompareCaseLength action. You can run this action
in instances when two of the values are different.
Syntax
bool rrCompareNotCaseLength(string object1, string object2,
string caseSensitive, string length, string fromStart)
Parameters
string object1
string object2
string caseSensitive
string length
string fromStart
Parameters
Five Parameters.
1. A value or a smart parameter, which is a reference to a value.
2. A value or a smart parameter, which is a reference to a value for comparison.
3. True runs a case-sensitive compare. False runs a case insensitive compare.
4. An integer for the number of characters to compare. If the length is 0, the entire
string is compared.
5. True compares from the start of the string. False compares from the end of the
string.
Returns
Level
All.
Details
Uses the Smart Parameters that you enter as the parameter to locate and compare
the values of two object's variables. The comparison can be limited to a specified
number of characters from the start or the end of the string. The comparison can
be run case-sensitive or case insensitive.
Example
rrCompareNotCaseLength("Main","@JOBID","False",4,"True")
This example compares the string "Main" to the current Job ID. Only the
first four letters are compared and the compare is case-sensitive. If the
current Job ID is "MAIN_JOB", the comparison does not match due to case
differences so the action returns True.
rrCompareNotCaseLength("Main Line","Main Job","True",4,"True")
This example compares the string "Main Line" to the string "Main Job". The
compare is case-sensitive and only the first four letters are compared. The
comparison matches so the action returns False.
rrCompareNotCaseLength("@P.ScanSrcPath","GOOD.BMP","False",8,"False")
This example runs a case insensitive compare of the last 8 characters of the
ScanSrcPath variable to find the last 8 characters of the string
"GOOD.BMP". If the value of ScanSrcPath is "c:\test\testvalidate\images\
good.bmp", the comparison matches so the action returns False.
rrCopy
Copies the value, confidence levels, and positions from one field to another.
Syntax
()
Parameters
Either parameter is optional. If a parameter is not specified, the calling object must
be a field.
Returns
False, if the action cannot retrieve the target or source object. Otherwise, True.
Level
Field level.
Details
The action retrieves the value, confidence, and image references (field positions) of
the source field object, and copies them to the target field object. It uses the Smart
Parameters that you enter as a parameter to copy the value of a source field object
to a target field object. This action is unusual in that it is intended to work only on
field objects.
Note: rrCopy copies more than just the value of the field. Use rrSet if only the
field value is to be copied. This action is unusual because it is intended to work
only on field objects.
This example copies the Operator value of the Batch field to the Operator field of
the bound object of the Document Hierarchy.
rrPrepend
Inserts a value at the beginning of the specified field.
Syntax
()
Parameters
Returns
False if the calling object and target object are the same, if the action cannot locate
the target object's variable, or if the source value argument or object returns an
empty string. Otherwise, True.
Level
Details
The action retrieves the value of the source object, and pre-appends it to the target
field value.
Example
rrPrepend("@D.DocID","@F")
This action inserts the current calling object's parent DocID variable value
and pre-appends it to the calling field's value.
rrSet
Assigns a value to a variable or field.
Syntax
()
Parameters
Returns
False if the action cannot locate the target object. Otherwise, True.
Level
All.
Details
Uses the parameter's elements to locate the value of a source object's variable, and
assign it to a specific variable of a second, receiving object. The action rrSet will set
the target with the value from the source. If using a field, only the value of the
field will be changed. You can use rrCopy if you wish to copy a field's value,
confidence and image references (field positions) of the source field object.
Example
rrSet("@F.MySourceVar","@P.MyTargetVar")
Obtains the value from the calling field MySourceVar variable and assigns it
to parent page of the calling object MySourceVar variable.
rrSet("@D.Tot_Pages","@B.Tot_Pages")
This example shows how Smart Parameters translates the OMR recognized
value of the MONTH field to the text from a predefined dictionary. The text is
then assigned to the calling object's Text property, if it is a field, or Text
variable if it is not a field.
SetBatchPriority
Sets the priority of the batch at the completion of the task.
Syntax
()
Parameters
A single value to update the batch priority at the end of the Task.
Returns
All.
Details
Values are typically 1-9 with 5 being the median. Batches with priority 1 are
processed first, batches with priority 9 are processed last.
Example
SetBatchPriority("1")
SetOperatorID
Sets the ID of the person who is operating Rulerunner.
Syntax
()
Parameters
Returns
Level
All.
Details
SetReturnValue
Returns True or False depending on the parameter that is specified.
Syntax
()
Parameters
Returns
Level
All.
This action will return true or false based on the input parameter.
By passing in true, the action will return true and continue with the actions in the
current function. If this is the last action in a function, any following functions
within the rule are skipped.
One use for this action is a quick way to disable a rule by adding a new function,
that precedes all other functions in the rule, where the new function contains only
this action with a parameter of true. This will cause all other functions in the rule
to be skipped and the next rule will run.
Using a parameter of false, this action will return false, causing all following
actions in the function to be skipped and control carries forward to the next
function in the same rule. In this way, the operation is identical to the action
GoToNextFunction.
Example
SetReturnValue("true")
SetStationID
Sets the ID of the station where the person is operating Rulerunner.
Syntax
()
Parameters
Returns
Level
All.
Details
SetTaskStatus
Specifies the task status that is returned to an application as Abort, Canceled,
Finished, Hold, or Pending when the current task completes.
Syntax
()
Parameters
Numeric value representing the status that the task is to return to User
Application. The statuses include:
Returns
Level
All.
Details
Sets the Task Status value that is to be returned to User Application when the
current task finishes processing.
Example
SetTaskStatus(4)
SkipChildren
Prevents the running of rules on child objects of the current object.
Syntax
()
Parameters
None.
Returns
Always True.
Level
All.
Details
Prevents rules applied to child objects of the current parent object from being run.
The action can optimize the execution of rules by eliminating the need to visit
every field on every page.
Example
SkipChildren()
Status_Preserve_OFF
Allows rules to change the STATUS value of fields, for example, to assign a
problem status.
Syntax
()
None.
Returns
Always True.
Level
All.
Details
This action turns the Status Preserve condition of a page and its fields from On to
Off.
Status_Preserve_ON
Prevents rules from changing the STATUS value of fields.
Syntax
()
Parameters
None.
Returns
Always True.
Level
All.
Details
This action changes the Status Preserve condition of a Page object and its Field
objects from Off to On.
The On condition prevents a rule and its actions from assigning a "problem" status
to a field, even if the field's value fails validation.
Example
Status_Preserve_On()
Task_NumberOfSplits
Specifies the number of jobs the batch is sent to when a condition is raised before
it returns to the main workflow.
Parameters
Integer value of the number of splits. In most cases, you will want to use "1" as the
parameter.
Returns
Level
All.
Details
Specifies how many times sub-batches have been created from the current batch.
Important: The action communicates but does not use the Number_of_Splits value
you enter as a parameter.
Example
Task_NumberOfSplits(1)
Task_RaiseCondition(0,0)
Task_RaiseCondition
Specifies the group index and the index of the condition to raise from the list on
the Datacap Web Client Workflow tab. 0 is the first condition.
Syntax
()
Parameters
Returns
Level
All.
Assigns the correct Child Job Condition to the correct sub-batch entry created by
the Task_NumberOfSplits action.
Example
Task_NumberOfSplits(1)
Task_RaiseCondition(0,0)
SPExport actions
Use the SPExport actions to upload documents to a Microsoft SharePoint library.
The SPExport actions integrate Datacap applications with the SharePoint library.
You run these actions to access the SharePoint server, set up document attributes
and folders on the server, and upload documents to the server for storage.
SP_CreateFolder
Creates the folder in the SharePoint where you import your documents.
Syntax
bool SP_CreateFolder(StrParam)
Parameters
The URL that specifies the folder to create in SharePoint. Smart parameters are
supported. Refer to the Smart Parameter documentation for more information.
Returns
True if the folder was created successfully or if it already exists. Otherwise, False.
Level
All.
Details
Note: The SP_SetUrl action optionally can define directories and subdirectories to
be created during the upload.
Example
SP_CreateFolder("http://blue/Docs/Documents/Test")
SP_Login
Creates the connection to SharePoint library by using the user ID, password,
optional SharePoint domain.
Syntax
bool SP_Login(StrParam)
Smart Parameters are supported. Use smart parameters to prevent clear text
passwords in your application by obtaining the password from the application
service.
Returns
Note: If the login parameters are invalid, a failure may not occur until you call
SP_Upload.
Level
All.
Details
Login to SharePoint with credentials other than the logged-in Windows User.
Example
SP_SetUrl("http://blue/Docs/Documents/+@BatchID+/+@ID")
SP_Login("userID,password,domain")
SP_SetContentType("Invoice")
SP_SetFileType("jpg")
SP_SetProperty("Date,@Value")
SP_Upload()
Alternatively, you can use smart parameters to obtain information from the
application service to prevent clear text passwords. Here is an example
where the password is stored in a custom value called SPPassword in the
application service:
SP_Login("userID,@APPVAR(values/adv/SPPassword),domain")
SP_SetContentType
Sets the type of content in the SharePoint library for the uploaded documents, such
as an Invoice.
Syntax
bool SP_SetContentType(StrParam)
Parameters
True if the content type was successfully set or if the content type is not a valid
content type. False if there is failure returned from SharePoint.
Level
All.
Details
This action sets the SharePoint Content Type for each document that is
subsequently uploaded. Content Type is a SharePoint concept that defines a subset
of columns (fields) within a library of documents, to be displayed and edited for a
specific purpose.
Example
SP_SetContentType("Invoice")
SP_SetFileType
Sets the format in which to upload the document to the SharePoint library, for
example TIF or PDF.
Syntax
bool SP_SetFileType(StrParam)
Parameters
A string indicating the type or filename extension of the images to be uploaded for
each document or batch. When uploading the Batch or Document this extension is
appended to the BatchID or DocumentID to select the image. The IMAGEFILE
property takes precedence for Page uploads. See the description of SP_Upload for
details. Valid parameters include: tif, tiff, jpg, jpeg, jpe, gif or pdf. The parameter
may optionally include a period (for example .tif and .jpeg are also valid).
Returns
Level:
All.
Details
Syntax
bool SP_SetProperty(StrParam)
Parameters
Returns
True if the parameters are not blank. The index information is uploaded to
SharePoint when a document is subsequently uploaded. Otherwise, False.
Level
All.
Details
Sets an index value (column in SharePoint) for the documents to follow. Can be
called multiple times to set multiple index values.
Notes:
v Any spaces in column names must be replaced with “_0x02c_”.
v The real column name may be different from what is displayed in SharePoint. To
determine the real Column name select the column settings and check the
browser address.
v For example for the property called Description you may see "....3F2%7D
Field=Comments" at the end. This means that the real name of the Column to be
used in the SP_SetProperty action is "Comments".
Example
SP_SetProperty("Date,@Value")
SP_Upload()
Moves the value of the current field to the SharePoint column named Date.
SP_SetUploadMode
Identifies the files to upload into the SharePoint library.
Syntax
bool SP_SetUploadMode(StrParam)
Parameters
A string or Smart Parameter identifying the page level variable where file name
stored. If this action is not called the value defaults to blank and regular upload
logic applied. For example SP_SetUploadMode("ParentImage") will cause
Returns
Always True.
Level
Details
Use this action to identify the files that will be uploaded to SharePoint.
Example
SP_SetUploadMode(ParentImage)
SP_Upload()
SP_SetUrl
Sets the URL address of the SharePoint library.
Syntax
bool SP_SetUrl(StrParam)
Parameters
The full URL to the SharePoint repository. Smart parameters are supported. Refer
to the Smart Parameter documentation for more information.
Returns
Level
All.
Details
SP_Upload
Uploads the image file and any indexes that are specified for the batch, document,
or page into SharePoint.
Syntax
bool SP_Upload()
None.
Returns
True if all documents and indexes were successfully uploaded. Otherwise, False.
Level
All.
Details
Uploads the image file and any indexes specified for the current page, document,
or batch to SharePoint. Uses TiffMerge file naming scheme to find document level
or batch level image file: DocID.TIF or BatchID.TIF by default. Pages associated
with other image file types (e.g. TM000001.pdf, TM000001.jpg, etc) can be
uploaded.
Note: If some documents in a batch are successfully uploaded and some fail, and
the batch is rerun through the SharePoint Upload task, only documents that failed
to upload will be re-uploaded.
SP_UploadDir
Uploads the file into the specified folder.
Syntax
bool SP_UploadDir(StrParam)
Parameters
Returns
True if the upload succeeds for all files in the directory. Otherwise, False.
Level
Split actions
Use the Split action to split a batch into smaller batches so each can be processed
separately.
The Split action splits batches based on the value of the specified document-level
variable.
SplitBatch
Splits a batch into smaller batches that are based on the value of the specified
document-level variable.
Syntax
(StrParam)
Parameters
Important: The action evaluates all documents and pages (including unbound*
pages) in the batch.
The values of the smart parameter variable found during the document and page
evaluation are grouped into buckets:
1. Pages/documents that contain the variable and the variable values are identical
go into the same bucket.
2. If there are multiple buckets, all pages/documents that share the same value
will split to the same child batch.
3. There can be only one child batch for each unique bucket value.
Child batches have the same name as the parent batch, but include an additional
two character alpha-decimal suffix such as .01, .02, .0A, ..., up to .ZZ. This
hexadecimal numbering for child batches is required by Datacap Server. Datacap
Server creates the batch and queue entries for the child batches after the task is
finished, when the split condition is processed. There is a maximum of 1295 child
batches.
Example: @D.Inbox. If there is an Inbox variable in each document, this will split
documents by the value of the Inbox variable.
Important: Any document or unbound* page that does not have this Inbox
variable value, will remain in the parent batch.
False if an error occurs like a file could not be created, etc., and the batch will be
set to abort. Otherwise True.
Each child batch split off will generate a condition, which should be configured for
Split in the workflow.
Any page or document with a blank value for the splitting value will remain in the
original "parent" batch.
Level
Details
This action will process all of the documents and unbound pages that are in the
batch and attempt to split the identified documents and pages into child batches.
The action will look in the documents or unbound pages for the variable specified
in the a parameter, group the objects that have a matching value, and split each
group into a unique child batch. Only documents and unbound pages will be
processed. Pages that are already placed within in a document structure will not be
processed individually, the pages will be as part of their document, not as a
separate page.
Additional considerations:
There is only one job routing condition raised by this action: it is the first one in
the task's list of conditions.
The task's Task Setup/Task Settings screen must be configured as Job Router, and a
single condition defined (by convention, call it Split).
1. Any and all child batches will be routed via this single condition.
2. If the application wants to treat the individual buckets differently, then the first
step in the workflow after splitting can check the same smart parameter value
and branch or re-route the child batch using that value.
3. All the structure and variables, etc. that were in the parent batch docs/pages
are retained in the child batches.
4. In addition, new variables ParentBatch and ParentBatchDir are added.
5. The action can only be used once per Parent Batch.
6. The maximum number of child batches is 1295.
7. The page count and document count in child batches is not accurate after
splitting. It is updated and will be accurate once the next task completes.
Example
SplitBatch(@D.Inbox)
The TifMerge actions determine the path to the Batch directory, creates the
multi-page file, and lets you specify the compression to use in the final image.
TifMerge_CheckStatus
Filters merged pages and documents that are based on their DCO status.
Syntax
(bool TifMerge_CheckStatus(string AcceptablePageStatuses,
string DisregardPageStatuses, string AcceptableDocStatuses,
string AcceptableDocStatuses)
Parameters
AcceptablePageStatuses
Type: string
DisregardPageStatuses
Type: string
AcceptableDocStatuses
Type: string
DisregardDocStatuses
Type: string
Parameters
1. AcceptablePageStatuses: a comma-separated list of the Page status values that
are merged.
2. DisregardPageStatuses: a comma-separated list of the Page status values that
are not merged.
3. AcceptableDocStatuses: a comma-separated list of the Document status values
that are merged.
4. DisrgardDocStatuses: a comma-separated list of the Document status values
that are not merged.
Returns
Always True
Level
Any
Details
This action configures the acceptable statuses for documents and pages when you
call the TifMerge_MergeImages action. If this action is not called, the status values
of documents and pages is not checked.
In the following example, only the pages with an acceptable status of '0' or '49' are
merged. The disregard page status of '75' is redundant because of its exclusion
TifMerge_ExportToBatchDir
Indicates that the path for the multi-Image file is to the current Batch directory.
Syntax
()
Parameters
None.
Returns
False if the path does not exist or is not accessible. Otherwise, True.
Level
Details
When saving a multi-image file, this action is used to configure the current batch
directory as the destination for the output file. This action must be called before
the action to merge the images.
Example
TifMerge_ExportToBatchDir()
TifMerge_MergeImages("All")
TifMerge_MergeImages
Merges the images associated with the object of the Document Hierarchy to which
the action’s ruleset applies into a single, multi-Image file.
Syntax
(sPageType)
Parameters
Returns
False if the action cannot create the multi-Image file. Otherwise, True.
Batch or Document.
Details
This action merges the images associated with the object to which the action’s rule
applies into a single, multi-Image file.
At the Batch level, the action merges all Image files in the batch into one
multi-Image file – or those Image files representing pages of the Page Type you
specify as a parameter. At the Document level, the action assembles a new
multi-Image file for each document in the batch. If you specify a Page Type, the
multi-Image file for each document will include only images of pages of that type.
TifMerge_SetFileName("Doc_+@ID+@DATE(dd.mm.yyyy)")
TifMerge_SetFilePath("C:\ParentDir\Invoice\MultiImage")
TifMerge_MergeImages("Invoice,Attachment")
The first example merges all images into a multi-Image file that uses the
Batch ID and the processing Date for its name.
The second example applies to a Document object of the Document
Hierarchy. It assembles a multi-Image file for each document in the batch;
the images in a file are limited to Invoice and Attachment pages.
TifMerge_MyImage
Adds each single image to the multi-Image file.
Syntax
()
Parameters
None.
Returns
False if the action’s ruleset is not applied to a Page object or if the corresponding
image file for the current page cannot be found. Otherwise, True.
Level
Page level.
Details
Adds the current page image to the multi-Image TIF file. Actions that proceed the
TifMerge_MyImage action allow you to specify under which conditions an image
is to be added to the multi-Image file.
In this example, the ChkDCOStatus action checks that the status of the
current page is “0”. If so, the image for the current page will be added to
the multi-Image file.
If the current status of this page is not “0”, the rule will fail and the
TifMerge_MyImage action will not be run; therefore, the current image will
not be added to the multi-Image file.
This ChkDCOStatus action is used as an example. You can use many other
actions to be sure the current image meets your merging criteria.
TifMerge_PreserveCompression
Determines the output compression type for merged images.
Syntax
()
Parameters
string PreserveCompression
Parameters
False: Uses G4 compression for black and white images. JEPG is used for color
images.
Returns
Always True.
Level
Any.
Details
This action will configure the output format for TifMerge_MergeImages. If this
action is not called, then the default value of False is used, so the original image
compression is not preserved.
Example
TifMerge_PreserveCompression("TRUE")
TifMerge_MergeImages("All")
TifMerge_SetFileName
Sets the name of the multi-Image file (.tif) to be created by TifMerge.
Parameters
String value of the file name to be assigned to the multi-page file. Smart
parameters are supported.
Returns
Always True.
Level
All.
Details
This action sets the name of the multi-Image file (.tif) to be created by the TifMerge
actions. The file name can be text, or a combination of text and the value of a
variable you enter as a parameter. The action automatically adds the “.tif”
extension to the file.
Example
The following example assumes that the rules with these actions are
applied to a Document object. The names combine text values such as
“Doc_” with values assigned to variables by using smart parameters.
TifMerge_SetFileName("Doc_+@ID+@DATE(dd.mm.yyyy)")
TifMerge_SetFilePath("c:\ParentDir\Invoice\MultiImage")
TifMerge_MergeImages("All")
TifMerge_SetFilePath
Sets the path for the multi-Image file.
Syntax
(strParam)
Parameters
String value for the output path of the multi-Image TIF file. Smart parameters are
supported.
Returns
False if the specified drive does not exist or the path cannot be created. Otherwise,
True.
Level
All.
Sets the path for where the multi-Image file will be created. If the folder
designated in the parameter does not exist, the action will create the folder in
which the TIF file will be placed.
Usually, a rule containing this action applies to a Batch object or Document object
of the Document Hierarchy, but can apply to a Page or Field object.
Example
TifMerge_SetFileName("Doc_+@ID+@DATE(dd.mm.yyyy)")
TifMerge_SetFilePath("c:\ParentDir\Invoice\MultiImage")
TifMerge_MergeImages("All")
TM524 actions
The TM524 actions are for compatibility with older versions of Datacap and are no
longer used
Validations actions
Use the Validations actions to check and modify the content and format of the
current field value.
AddLeadingZeros
Inserts zeros at the beginning of a value so the character count equals the number
that is specified.
Syntax
()
Parameters
A number n which is the maximum length of the value. Smart parameters are
supported.
Returns
Level
Field level.
Details
Adds zeros ("0") to the beginning of the captured value of the current Field object
until the total length of the value reaches the maximum n you specify as the
parameter.
Example
AddLeadingZeros("10")
2240.00 becomes 0002240.00
Syntax
()
Parameters
A number n indicating the maximum permissible length of the value. If the action
finds that a value's length is less than this number, it will insert spaces until the
maximum length is reached. Smart parameters are supported.
Returns
Always True.
Level
Field level.
Details
Example
AddPaddingToEnd("10") uses spaces to expand a value with less than 10
characters. For example: 456.11 becomes 456.11_ _ _ _
AddPaddingToLeft
This action is deprecated and is scheduled to be removed in a future release. Use
the AddPaddingToStart action.
Syntax
()
Parameters
A number n indicating the maximum permissible length of the value. If the action
finds that a value's length is less than this number, it inserts spaces until the
maximum length is reached.
Returns
Always True.
Level
Field level
Details
Syntax
()
Parameters
A number n indicating the maximum permissible length of the value. If the action
finds that a value's length is less than this number, it inserts spaces until the
maximum length is reached.
Returns
Always True.
Level
Field level
Details
Pads the captured value of the current Field object with spaces from the right.
Example
AddPaddingToRight("10") uses spaces to expand a value with
less than 10 characters.
AddPaddingToStart
Pads the captured value of the current Field object with spaces from the start of
the string up to the first character until the specified length is reached.
Syntax
()
Parameters
A number n indicating the maximum permissible length of the value. If the action
finds that a value's length is less than this number, it inserts spaces until the
maximum length is reached. Smart parameters are supported.
Returns
Always True.
Level
Field level.
AddTrailingZeros
Adds zeros to the end of captured value of the current Field until the length of the
value reaches the maximum n you enter as the parameter.
Syntax
()
Parameters
A numbern which is the maximum length of the value. Smart parameters are
supported.
Returns
Level
Field level.
Details
Example
AddTrailingZeros("10")
2240.00 becomes 2240.00000
AllowOnlyChars
Removes all of the characters that are not specified as supported.
Syntax
()
Parameters
Returns
Always True.
Level
Field level.
Details
This action employs a Regular Expression as its parameter to identify and remove
all of the characters that are not in the parameter from the value of the Field.
AppendFromField
Appends the captured value of the specified Field object to the captured value of
the current Field object.
Syntax
()
Parameters
The name of the Field object whose text value is to be appended to the value of
the current field.
Returns
False if the parameter is not the name of a Field object. Otherwise, True.
Level
Details
You can also apply the action at the Page level. A Text page-level variable with the
appended value is added to the Data file of the page.
Example
AppendFromField("Number")
AppendToField
Appends the captured value of the current Field object to the captured value of the
Field object that is specified by the parameter.
Syntax
()
Parameters
Returns
False if the parameter is not the name of a Field object. Otherwise, True.
Level
Field level.
Details
Example
AppendToField("FirstName")
AssignFieldDefault
Assigns a default value to the current field.
Syntax
()
Parameters
Returns
Level
Field level.
Details
Example
AssignFieldDefault("Bill Paid")
or
AssignFieldDefault("PastDue!")
Calculate
This action is deprecated and is scheduled to be removed in a future release. Use
the CalculateFields action.
Syntax
()
Details
CalculateDateDifference
Calculate the differences between two dates and stores the calculation in a user
defined variable.
Syntax
()
Parameters
v startDate : The starting date
v endDate : The ending date
v targetVariable : The variable to hold the calculated result value
v dateProperty : The value to calculate, 0 = days, 1 = months, 2 = quarters, 3 =
years.
Level
Any level.
Details
Calculates the number of days, months, quarters or years between two dates. Only
whole numbers are returned. Any fractional parts of the value are dropped.
Quarters are calculated simply by dividing the number of months by 3. The order
of the dates does not matter.
This action only supports Gregorian short dates as input and the date format must
match the default format of the current locale.
Example
CalculateDateDifference("4/20/2012", "5/19/2012", "@P.Months", 1)
This example creates the page variable Days with the number of days
between the dates specified by the values in field MyDate1 and field
MyDate2.
CalculateDateDifference(@P.MyDate1, @P.MyDate2, "@P.Days", 0)
This example creates the page variable Days with the number of days
between the dates specified by page variables MyDate1 and MyDate2.
CalculateFields
Calculates the equation that is entered as a parameter and compares the result to
the captured value of the current field object.
Syntax
()
Parameters
1. The equation that is the basis for the calculation. You can use the name of a
Field object or numeric values with any arithmetic operator (+,-,*,/,^). To use
the name of a Field object, surround the field name with single quotation
marks ('). A null is treated as a "0".
2. The number of decimal places to limit the logical comparison. (Optional)
Returns
True if the expression is valid. False if the value of a field is not numeric or if the
expression is not valid.
Level
Field level.
Details
If the result does not match the result of the equation, all fields involved in the
equation receive a Failed status and appear pink in the applicable field of the Data
Entry panel.
Example
CalculateFields("’SubTotal’ + ’Shipping’ + ’Tax’ = ’Total’")
or
CalculateFields("(’SubTotal’ + ’Shipping’ + ’Tax’) - ’0.05’ = ’Total’")
CheckSubFields
Determines whether the values of the specified child fields meet the specified
criteria and deletes the parent field if they do not.
Syntax
()
Parameters
An expression that specifies which LINEITEM child fields are to be checked for the
presence or absence of captured values. Within the expression, the name of each
child Field object must be surrounded with single quotation marks ('). You can also
use parentheses () in your expression. Action is placed on the parent of the
LINEITEM field.
Returns
Always True.
Level
Field level.
Details
This action usually runs in its own RuleSet (for example, in a Filter RuleSet) and
would be applied to the DETAILS Field object (parent object to the LINEITEM
field) in the Invoices example.
Example 1
Example 1: The captured values for a LINEITEM field are:
ItemID = 12345
ItemDesc =
Price = 12.00
LineTotal =
In this example the action returns True and the current LINEITEM object is
Valid.
Example 2
The captured values for the LINEITEM field are:
ItemID = 12345
ItemDesc = Thank you for your order
Price =
LineTotal =
In this example the action's equation returns is False and the current
LINEITEM object is Invalid. The field and the values of its child fields are
deleted from the Data file.
Example 3
The captured values for the LINEITEM field are:
ItemID = 12345
LineTotal = gonetolunch
In this example, the action returns True and validates the LINEITEM field,
despite the presence of a nonsense entry in the LineTotal child field.
CompareFields
Compares the values of two fields by using the specified matching criteria that
supports fuzzy matching.
Syntax
()
Parameters
Returns
False if the designations of Field objects in the first two parameters are not valid,
or if the Data Types of the values in the first two fields do not match. Otherwise,
True.
Level
All.
Details
Locates values in two fields specified by the first two parameters. If values are
present in both fields, the action compares the values according to the matching
criteria of the last three parameters.
Example
CompareFields("Invoice_Date,Due_Date,Yes,100,Yes")
ConvertFieldToCurrency
Converts the value of the current field to a currency value.
Syntax
()
Parameters
None.
Returns
True if the text value is numeric and greater than one character. Otherwise, False.
Level
Details
Formats the text value of a field as a currency value. The following steps are
performed on the field:
1. Removes existing currency symbols.
2. Replaces negative value characters such as parenthesis, 'NEG', 'CR' and trailing
hyphen with a leading hyphen.
3. If a decimal exists, its position is not changed.
ConvertToLowerCase
Converts any upper case characters in the captured value of a Field object to lower
case characters.
Syntax
()
Parameters
None.
Returns
Always True.
Level
Field level.
Details
Example
ConvertToLowerCase()
To ensure that the characters in all Product ID's are lower case, a Validate
rule that applies to a Document Hierarchy's Item Field object would
include this action.
ConvertToUpperCase
Converts the lower case characters in the captured value of a Field object to upper
case characters.
Syntax
()
Parameters
None.
Returns
Always True.
Field level.
Details
Example
ConvertToUpperCase()
A Validate rule with this action, if applied to a State Field object which
accepts only abbreviations, would be sure the captured values contain
Upper Case letters (AZ, AL, etc.)
CopyField
Copies the value of the current field to a specified field.
Syntax
()
Parameters
Returns
False if the parameter does not match the name of a Field object. Otherwise, True.
Level
Field level.
Details
Assigns the captured value of the current Field object to a sibling Field object you
specify as the parameter.
Example
CopyField("Date")
This action places the captured value of the current field into the Date
field.
CopyFieldToField
Copies the value of the current field to a specified field.
Syntax
()
Parameters
Returns
False, if the parameter does not match the name of a Field object. Otherwise, True.
Field level.
Details
Copies the captured value of the current Field object to the Field object designated
as the parameter of the action.
Example
If the current field’s value is "1/1/05"
CopyFieldToField("Date")
DateStampField
Updates the current Field object with today's date.
Syntax
()
Parameters
Returns
Always True.
Level
Field level.
Details
Example
DateStampField("*") produces
01/20/2005
DateStampField("dd/mm/yy")produces
20/01/05
DeleteAllAlpha
Deletes all of the alphabetic characters from the captured value of the current Field
object.
Syntax
()
Parameters
None.
Always True.
Level
Field level.
Details
Example
DeleteAllAlpha()
JAN2003 becomes 2003
DeleteAllMiscChars
Deletes all of the UNICODE Symbol Category characters from the captured value
of the current Field object.
Syntax
()
Parameters
None.
Returns
Always True.
Level
Field level.
Details
Example
DeleteAllMiscChars()
DeleteAllNumeric
Deletes all of the numeric characters from the captured value of the current Field
object.
Syntax
()
Parameters
None.
Returns
Always True.
Field level.
Details
Example
DeleteAllNumeric()
DeleteAllPunct
Deletes all of the punctuation from the value of the current field.
Syntax
()
Parameters
None.
Returns
Always True.
Level
Field level.
Details
Removes all characters with ASCII values 33-47,58-64,91-96, and 123-191 from the
captured value of the current Field object.
Example
DatePUNCT()
DeleteAllSysChars
Deletes all of the characters with ASCII values 0 through 31 from the captured
value of the current Field object.
Syntax
()
Parameters
None.
Returns
Always True.
Level
Field only.
DeleteChildType
Deletes all of the child objects of the type that you designate as a parameter from
the Document Hierarchy.
Syntax
()
Parameters
Field, for example, eliminates all Field objects. In the Invoices application,
LineItem removes the child fields of the Details parent Field object.
Returns
Level
Details
Example
DeleteChildType("Field")
DeleteLCSpaces
Deletes all of the low confidence spaces from the value of the current field.
Syntax
()
Parameters
None.
Returns
False if the action is unable to isolate the spaces in a field's value. Otherwise, True.
Level
Details
Uses the ReqConf Setup dco variable as threshold for low confidence values; defaults
to 9.
Example
DeleteLCSpaces()
Syntax
()
Parameters
None.
Returns
Level
Details
Example
DeleteParentObj()
DeleteSelectedChars
Deletes specified characters from the value of the current field. This action is a
more flexible version of the FilterFieldSelectedChars action.
Syntax
()
Parameters
1. The character or string of characters to be deleted.
2. A number indicating the starting index within the string to start deletion. If this
parameter is blank or is not a number, the starting index value defaults to the
first position in the string.
3. The number of times the character or character string is to be deleted from the
value. The default is 1 and * deletes all instances.
Returns
Always True.
Level
Field level.
Details
Example
DeleteSelectedChars("-, ,*")
223-56-7669 becomes 223567669
DeleteSelectedChars("-,5,*")
223-86-7669 becomes 223-867669
Syntax
()
Parameters
Returns
False if the field specified by the parameter does not exist. Otherwise, True.
Level
Details
FailRuleSet
Causes the entire rule set to fail.
Syntax
()
Parameters
None.
Returns
Always False.
Level
All.
Details
Example
IsFieldMatching("False")
FailRuleSet()
FieldContainsValue
Determines whether the current field value contains some or all of the specified
text but no additional text.
Syntax
()
Parameters
Text that the action is looking for in the current field. Smart parameters are
supported.
False if the CurrentObj.Text variable of the object does not contain the parameter
value. Otherwise, True.
Level
Details
This action determines if a field represented by the bound object of the Document
Hierarchy contains some or all of the parameter's text value, without additional
unspecified text.
Example
FieldContainsValue("NEW")
Parameter: "NEW" = TRUE
Parameter: "NEW Action" = TRUE
Parameter: "Project" = FALSE
Parameter: "NEW Project" = TRUE
Parameter: "Development" = FALSE
FilterFieldSelectedChars
Deletes the specified characters from the value of the current field.
Syntax
()
Parameters
Every instance of the characters are removed from the captured value.
Returns
Always True.
Level
Field level.
Details
Removes all instances of the characters that you enter as parameters from the
captured value of the current Field object.
Example
FilterFieldSelectedChars(0)
11002900 becomes 1129
FormatNumberToLocale
Evaluates the current field value for known number patterns and if a known
pattern is detected, updates the decimal and digit separators characters to match
that of the current locale.
Returns
Level
Field level.
Details
This action evaluates the current field value for known number patterns, If a
known pattern is detected, the action updates the decimal and digit separators
characters (if present) to match the current locale. For use when processing fields
with number types formatted incorrectly for the current locale, such as US versus
European locales. Known patterns are industry standard digits with or without
3-digit group separators, and 1-2 digits following a decimal separator.
Note: Numerals with lakhs layout and decimal mark (pattern of n,nn,nn,nnn.dd)
are not supported.
Example
a) Given a US number 1,234.56 to be formatted to UK.
FormatNumberToLocale()
New format will be 1.234,56
GetJobID
Assigns the current job ID to the Text property of the current object.
Syntax
()
Parameters
None.
Returns
Level
All.
Details
Assigns the Job ID of the current User Application job (the Pilot.JobID property of
the job) to the CurrentObj.Text variable of the bound object of the Document
Hierarchy.
Example
GetJobID()
HasChildOfType
Determines whether the current object has a child of the specified type.
Syntax
()
Parameters
The name of a level of the Document Hierarchy (Batch, Document, Page, Field) or
of a runtime variable.
Returns
False if the bound object does not include a child or children specified by the
parameter, or a variable identified by the parameter. Otherwise, True.
Level
All.
Details
Determines if the bound object of the Document Hierarchy has a child or children
of the type specified by the parameter. The action can also determine if a runtime
variable specified as a parameter has been assigned to the bound object.
This example determines if the bound object is the parent of one or more
pages.
HasChildOfType("IGNORE")
InsertChars
Inserts one or more characters into the value of the current field.
Syntax
()
Parameters
1. The characters or character string to be inserted; defaults to a space.
2. A number n indicating the target position within the captured value; defaults to
the end of the value.
3. The number of insertions; defaults to 1.
Returns
Always True.
Level
Field level.
Details
Inserts a character or string of characters into the captured value, one or more
times.
Example
InsertChars("=$,1,1")
345.67 becomes =$345.67
InsertChars("=$,1,2")
345.67 becomes =$=$345.67
InsertDecimalPoint
Inserts a decimal point into the value of the current field at the specified position.
Syntax
()
Parameters
A number n indicating the character position at which to place the decimal. Smart
parameters are supported.
Returns
Always True.
Field level.
Details
Places a decimal character in the captured value, at the character position specified
as a parameter. The parameter indicates the position of the decimal point, moving
from right to left.
Example
InsertDecimalPoint("2")
324556 becomes 3245.56
InsertDecimalPoint("2")
355 becomes 3.55
IsFieldCurrency
Determines if the captured value of the Field meets the currency format of the
current locale.
Syntax
()
Parameters
None.
Returns
True if the current locale's format criteria are met. Otherwise, False.
Level
Field level.
Details
This determination includes the number of decimal places, decimal and digit
separator characters and any present currency indicators.
Example
IsFieldCurrency()
$1,200 returns False
$1,200.00 returns True
IsFieldDate
Checks that the value of the field has an acceptable Date format. This action uses
the current locale setting to determine valid patterns.
Syntax
()
Parameters
None.
Level
Field level.
Details
This action accepts any valid date from January 1st year 1 through December 31st
9999.
Example
IsFieldDate()
IsFieldDateEqualOrAfter
Checks that the Date value in the current field represented by the bound Field
object of the Document Hierarchy is greater than or equal to the Date value in the
field that is specified as the parameter.
Syntax
()
Parameters
The name of the Field object of the Document Hierarchy to be compared with the
Date value of the current field.
Returns
False if the date condition is not met, if the action is not applied at the Field level,
or either field does not contain a valid date. Otherwise, True.
Level
Field level.
Details
Example
IsFieldDateEqualOrAfter("24aDtFr1")
IsFieldDateEqualOrBefore
Checks that the date in the current field represented by the bound Field object of
the Document Hierarchy is less than or equal to the Date value in the field that is
specified as the parameter.
Syntax
()
The name of the Field object of the Document Hierarchy to be compared with Date
value of the current field.
Returns
False if the date condition is not met, if the action is not applied at the Field level,
or if either field does not contain a valid date value. Otherwise, True.
Level
Field Level.
Details
Example
IsFieldDateEqualOrBefore("24aDtFr1")
IsFieldDateUpToToday
Checks that the Date value of the current Field object is today's date or earlier.
Syntax
()
Parameters
None.
Returns
False if the value of the field is not a valid date or if the date is after Today.
Otherwise, True.
Level
Field level.
Details
Example
IsFieldDate()
IsFieldDateUpToToday()
This sequence confirms that a value is a date and that it is the same as, or
earlier than, today's date.
IsFieldDateWithinRange
Checks that the value assigned to the Text property of the bound object is a valid
Date. If yes, this action then confirms that the Date is within the range specified by
the parameters.
Syntax
()
TODAY can represent the current Date. Smart parameters are supported.
Returns
False if the value assigned to the Text property of the current object is not a valid
date; if either parameters is invalid; or the Date value of the Text property is not
within the range that is specified by the parameters. Otherwise, True.
Level
Details
Example
IsFieldDateWithinRange("1/1/2006, 1/31/2006")
IsFieldDateWithinRange("1/1/2006,TODAY")
IsFieldDateWithinXDays
Checks that the captured Date value of the current Field object is within n days of
the number entered as a parameter.
Syntax
()
Parameters
A number n that specifies how many days make up the review period. Smart
parameters are supported.
Returns
False if the value of the field is not a valid date or if the date is older than the
number of days in the parameter. Otherwise, True.
Level
Field level.
Details
Example
IsFieldDate()
IsFieldDateWithinXDays("30")
This sequence checks that a value is a date within 30 days of today's date.
IsFieldDateWithReformat
Confirms that the data of a field is a valid date and then formats the Date value
according to the format entered as the parameter.
Parameters
Returns
False if the parameter is invalid, or the current field value is not a valid date given
the specified format. Otherwise True.
Level
Field level.
Details
Example
IsFieldDateWithReformat("*")
June 3, 2002 becomes 06/03/2002
IsFieldDateWithReformat("mm.dd.yy")
June 3, 2002 becomes 06.03.02
IsFieldEmpty
Checks that the Field object designated as a parameter does not have a captured
value.
Syntax
()
Parameters
Returns
False if the name of the Field object does not exist or if the field contains a
captured value. Otherwise, True.
Level
All.
Details
Example
IsFieldEmpty("Shipping")
AssignFieldDefault("NoShipping")
IsFieldFilled
Determines whether the Field object designated as a parameter contains a captured
value or is empty.
Syntax
()
Parameters
Returns
False if the name of the Field object does not exist or if the field does not contain
a captured value. Otherwise, True.
Level
All.
Details
Example
IsFieldFilled("PaymentDue")
If the action returns True because the field does contain a value, the rule
invokes its next action.
If the action returns False, the rule closes and the task applies the next
rule, which might include a CopyFieldToField action.
IsFieldGreaterOrEqual
Determines if the captured value of the current Field object is greater than or equal
to the value entered as a parameter.
Syntax
()
Parameters
The Numeric or Currency value which is the basis for comparison. Smart
parameters are supported.
Returns
False if the parameter or the captured value of the Field object is not Numeric. Or
if the result does not meet the action's requirements. Otherwise, True.
Field level.
Details
If the value of the field is not Numeric or currency, the action returns a False
condition.
Example
IsFieldGreaterOrEqual("624")
Returns True if the Field object’s value is 625.00
Returns False if the value is 623.99.
Returns True if the value is 624.00.
IsFieldHidden
Checks that the calling field is Hidden, which means the field has a variable
STATUS that is equal to -1.
Syntax
()
Parameters
None.
Returns
True if the STATUS variable of the Field object = -1. Otherwise False.
Level
Field level.
Details
This action returns True if the calling field is Hidden, the corresponding Field
object of the Document Hierarchy has a variable STATUS that is equal to -1.
Example
IsFieldHidden()
IsFieldLengthMax
Checks that the character length of the current Field object's captured value is
equal to or less than the value set as a parameter.
Syntax
()
Parameters
A number n designating the maximum length of the value. Smart parameters are
supported.
False if the parameter that you enter is not numeric, or if the number of characters
exceeds the value of the parameter. Otherwise, True.
Level
Field level.
Details
Example
IsFieldLengthMax("6")
EU2240 returns True
EU002240 returns False
IsFieldLengthMin
Checks the character length of the current Field object's captured value to see if its
length is equal to or longer than a number n.
Syntax
()
Parameters
A number n designating the minimum length of the value. Smart parameters are
supported.
Returns
False if the parameter that you enter is not numeric, or if the number of characters
is less than the parameter's value. Otherwise, True.
Level
Field level.
Details
Example
IsFieldLengthMin("6")
EU2240 returns True
EU22 returns False
IsFieldLessOrEqual
Determines if the captured value of the current Field object is less than or equal to
the value entered as a parameter.
Syntax
()
Parameters
The Numeric or Currency value you want to compare against. Smart parameters
are supported.
False if the parameter or captured value of the Field object is not Numeric. Or if
the result does not meet the action's requirements. Otherwise, True.
Level
Field level.
Details
If the value of the field is not Numeric or Currency, the action returns a False
condition.
Example
IsFieldLessOrEqual("625")
Returns True if the Field object’s value is 624.99
Returns False if the value is 625.01
Returns True if the value is 625.00
IsFieldMatching
Determines if the value entered as the parameter is identical to the captured value
of the current Field object.
Syntax
()
Parameters
Returns
Level
Field level.
Details
Example
If the Field object’s value is 525.00:
IsFieldPercentAlpha
Determines if the characters in the captured value of current Field object are n%
alphabetic.
Syntax
()
Returns
True if the requirements of the parameter are met. Otherwise False, including if
the Field is empty.
Level
Field level.
Details
Example
IsFieldPercentAlpha("50") #RPR-1421 returns False
IsFieldPercentAlpha("30") #RPR1421 returns True
IsFieldPercentNonNumeric
Determines if any of the characters in the captured value of the current Field object
are n% not numeric characters.
Syntax
()
Parameters
A number (0-100) indicating the percentage that results in a True condition. The
default percentage is 100. The value must be numeric, without the percent sign.
Smart parameters are supported.
Returns
False if the parameter is non-numeric, if the field is empty, or if the value of the
field exceeds the parameter's percentage of numeric characters. Otherwise, True.
Level
Field level.
Details
This determination includes and is not limited to valid decimal and numeric
separator characters.
Example
Given the current value is "1,234.56US"
(Percentage of non-numeric characters is 40%)
IsFieldPercentNonNumeric("0") returns True
IsFieldPercentNonNumeric("30") returns True
IsFieldPercentNonNumeric("40") returns True
IsFieldPercentNonNumeric("70") returns False
IsFieldPercentNonNumeric("100") returns False
Syntax
()
Parameters
A number (0-100) indicating the percentage that results in a True condition. The
default percentage is 100. The value must be numeric, without the percent sign.
Smart parameters are supported.
Returns
False if the parameter is non-numeric, if the field is empty, or if the value of the
field exceeds the parameter's percentage of numeric characters. Otherwise, True.
Level
Field level.
Details
This determination does not include, and is not limited to, valid decimal and
numeric separator characters.
Example
Given the current value is "1,234.56US"
(Percentage of numeric characters is 60%)
IsFieldPercentNumeric("0") returns True
IsFieldPercentNumeric("50") returns True
IsFieldPercentNumeric("60") returns True
IsFieldPercentNumeric("70") returns False
IsFieldPercentNumeric("100") returns False
IsMatchingJobID
Checks that the Job ID of the current User Application job matches the Job ID
value of the parameter.
Syntax
()
Parameters
Returns
True if the current Job ID matches the value of the parameter. Otherwise, False.
Level
All.
IsMaxOMRChecked
Indicates the maximum number of check boxes that can contain a value, such as a
check.
Syntax
()
Parameters
Returns
False if the parameter you enter is not numeric, or the field is not an OMR field.
True if the number of OMR boxes checked is less than or equal to the parameter
value that you entered.
Level
Field level.
Details
Example
IsMaxOMRChecked("1")
IsMinOMRChecked
Indicates the minimum number of check boxes that can contain a value, such as a
check.
Syntax
()
Parameters
Returns
False if the parameter you enter is not numeric, or the field is not an OMR field.
True if the number of OMR boxes checked is greater than or equal to the
parameter value that you entered.
Level
Field level.
Details
Example
IsMinOMRChecked("1")
Syntax
bool IsPatternInField (StrParam)
Parameters
String value of the Regular Expression. The expression can include any Regular
Expression characters. Smart parameters are supported.
Returns
Level
Details
This example searches for the word “Invoice” in the current field. To allow
for recognition errors, the search allows for common recognition
substitutions in “o” and “i” by matching “Invoice”, “InvOice”, “Inv0ice”,
“Inv01ce”, “Involce”, and so on. The search also ignores any text that is
placed before or after the word. Encapsulating the parameter with
@STRING is recommended when the value is not a Smart Parameter.
IsSupportedImageFile
Checks that the image file attached to the current page is in a supported image
format.
Syntax
()
Parameters
True: Tests the validity of the image by checking the file extension and attempting
to load the image.
True if parameter is valid, the action is called at the page level and the page's
IMAGEFILE variable (set at scan time by the scan tasks) points to a file whose
format is supported (can be displayed) by the Image view control. Otherwise
False.
Level
Page level.
Details
This action tests a file to determine if the file format is supported. The extension is
checked to determine if it denotes a supported image type. If True is passed as a
parameter, it also attempts to load the file into the Image view control.
Using False as a parameter improves the speed of this action. A parameter of True
slows down the processing, especially if the images are very large, but it adds an
extra confirmation that the file is not corrupted and confirm that any subformat of
the file type, such as compression type, is also supported.
Example
IsSupportedImageFile()
IsThisFieldEmpty
Checks that the value of the current field is empty.
Syntax
()
Parameters
None.
Returns
False if not applied to the Field level, or if the current field has a text value.
Otherwise, True.
Level
Field level.
Details
IsThisFieldFilled
Checks that the current field has a captured value.
Syntax
()
None.
Returns
False if not applied to the Field level, or if the current field has no text value.
Otherwise, True.
Level
Field level.
Details
IsVariableEmpty
Checks that the variable specified by the parameter does not contain a value.
Syntax
()
Parameters
Returns
Level
All.
Details
IsVariableFilled
Checks that the variable specified by the parameter contains a value.
Syntax
()
Parameters
False if the parameter is invalid, or if the variable does not contain a value.
Otherwise, True.
Level
All.
Details
LeftTruncate
This action is deprecated and is scheduled to be removed in a future release. Use
the TruncateFromEnd action.
Syntax
()
Parameters
Returns
Level
Details
MessageBox
This action is deprecated and is no longer supported.
Syntax
()
Parameters
The message you want to display to the Data Entry operator. Smart parameters are
supported.
Returns
False if the current task is not interactive or if the operator clicks No on the
Message Box. Otherwise, True.
Level
All.
Details
* This Action has been Deprecated and this functionality is no longer supported. *
If a background station runs this rule, it stops processing until a user responds to
the message box. If the Data Entry operator clicks on Yes in the Message Box, the
action returns True and the rule continues. If the operator chooses the No button,
the action returns False and the rule fails.
Example
IsFieldEmpty("Date")
MessageBox("Date missing! Do you want to Continue?")
After checking to be sure the Date field does not have a value, the
MessageBox action issues a warning, and asks the operator to respond by
clicking Yes or No.
ParseMultilineAddress
Splits the value of the current field at each comma and saves the substrings to the
specified fields. Typically used for address fields.
Syntax
()
Parameters
Comma-separated Smart Parameter String values of the names of fields that hold
the parsed data, in the following order:
Name, AddressLine1, AddressLine2, City, State, Zip code or postal code, Phone
Returns
False, if the parameters are invalid or parsing cannot take place. Otherwise, True.
Level
Field level.
Details
Comma-separated String values of the names of fields that hold the parsed data, in
the following order: Name, AddressLine1, AddressLine2, City, State, Zip code or
postal code, and Phone. The example assumes that fields are sibling fields of the
calling object. For other relationships, review smart parameter syntax.
Expected Pattern:
v Phone Number (optional)
v Name
v Address Line One
v Address Line Two (optional)
Note: Parsing logic assumes that State and Zip or postal code are on the same
address line. Only one Phone number per address field is supported. The expected
pattern shows the two optional positions for this value.
Example
ParseMultilineAddress("VendorName,VenAddress1,VenAddress2,VenCity,
VenState,VenZip,VenPhone")
ParseName
Splits the three word value of the current field and saves the substrings to the
specified fields. Typically used for name fields, such as first name, middle
name/initial, last name.
Syntax
()
Parameters
Returns
False if not placed at the Field level; if the current field contains no data; or if the
parameters are invalid. Otherwise, True.
Level
Field level.
Details
Parses the captured values of a name Field object. Applied to a Name field, the
action parses the Last, First, and Middle names into the fields specified by the
parameter.
Example
ParseName("LastName,FirstName,MidName")
Bound to a Name Field object which includes values for all three names,
the action place the Last name into the LastName field, the First name into
the FirstName field, and the Middle name (or middle initial) into the
MiddleName field.
ReadCurrentObjVariable
Reads the Text value of the bound object of the Document Hierarchy.
Syntax
()
Returns
Level
All.
Details
For a Field object, this is the value of the object's Text property. For objects at other
levels, the value is in a runtime variable of the bound object, see the following
examples.
Example
ReadCurrentObjVariable("Text")
ReadCurrentObjVariable("TemplateID")
ReadFieldValue
Retrieves the captured value from a sibling Field object specified as the parameter
and assigns that value to the current Field object.
Syntax
()
Parameters
Returns
False if the parameter does not match the name of a Field object. Otherwise, True.
Level
All.
Details
If the action is not bound at the Field level, then a variable called Text is created in
the current object, and the found value is written to this variable.
Example
ReadFieldValue("Date")
This action assigns the captured value in the Date field to the current field
of the working fingerprint.
ReadPageVariableValue
Assigns the value of a variable of the Page object to the selected Field object.
Parameters
Returns
Level
All.
Details
If the action is not placed at the field level, then a variable called Text is created in
the current object, and the found value is written to this variable.
Example
ReadPageVariableValue("FieldCount")
A Validate rule with this action could transfer the number of fields in the
Page object that is the parent of a selected Field object such as TotalFields.
ReplaceChars
Replaces a character or string of characters in the captured value of the current
Field object with a String that you enter as one of the parameters.
Syntax
()
Parameters
1. The character or string of characters to be replaced; defaults to a space. Smart
Parameter Enabled.
2. The characters of the replacement String. Smart Parameter Enabled.
3. The number of times replacement is to occur. The default is 1 and * replaces all
instances.
Returns
Always True.
Level
Field level.
ReplaceValueAtPosition
Replaces the value at the specified position within the current field with a
replacement string, or deletes the value.
Syntax
()
Parameters
Returns
Level
Field level.
Details
Example
ReplaceValueAtPosition("3,/")
ResetField
Deletes the value of the current field and sets the Position attribute of the field to
0,0,0,0.
Syntax
()
Parameters
None.
Returns
Level
Field level.
Details
The action does not clear any Alt-Text values that are associated with the bound
Field object. That is the responsibility of a ClearAltText action.
This action typically belongs to a follow-up Validate rule that deals with a
False response to an action such as IsDate() in the previous rule. If the
value of the field is not a date (in this example), the ResetField action
removes the value that is there.
This action example also sets the Position attribute of the field to 0,0,0,0.
RightTruncate
This action is deprecated and is scheduled to be removed in a future release. Use
the TruncateFromStart action.
Syntax
()
Parameters
Returns
Level
Details
SaveAsCurrentObjVariable
This action is deprecated and is scheduled to be removed in a future release. Use
the rrSet action in the rrunner library.
Syntax
()
Parameters
1. The name of the variable
2. The String value to be assigned.
These are comma-separated parameters, and the second is optional. If you do not
include this parameter, the action automatically assigns the captured value of the
selected Field object to the variable.
Returns
Always True.
Level
All.
Details
SaveAsPageVariable
Assigns a value to a variable of the current Page object.
Parameters
1. The name of the variable
2. The String value to be assigned.
These are comma-separated parameters, and the second is optional. If you do not
include this parameter, the action automatically assigns the Text property of the
calling object to the variable.
Returns
Level
Details
Example
SaveAsPageVariable("Amount")
SaveAsPageVariable("Amount,15000")
The first example assigns the captured value of the current Field object to
the Amount variable of the current Page. The second example assigns
15000 to the variable.
SetIsOverrideable
Specifies if the user can or cannot override a validation that fails for the current
object.
Syntax
()
Parameters
None.
Returns
Always True.
Level
All.
Details
SplitFieldValueLeft
This action is deprecated and is scheduled to be removed in a future release. Use
the SplitFieldValuePreserveStart action.
Syntax
()
Parameters
Returns
Level
Details
SplitFieldValuePreserveEnd
Splits the captured value of a Field object at the first instance of the character
specified as a parameter.
Syntax
()
Parameters
Returns
Level
Field level.
Details
The action deletes all characters prior to the separating character, as well as the
separation character. All text after the separating character remains.
Example
SplitFieldValuePreserveEnd("=")
SplitFieldValuePreserveStart
Splits the captured value of a Field object at the first instance of the character
specified as a parameter.
Parameters
Returns
Level
SplitFieldValuePreserveEndField level.
Details
The action deletes all characters to the end of the string starting from the
separating character, as well as the separation character. All text prior to the
separating character remains.
Example
SplitFieldValuePreserveStart("c")
SplitFieldValueRight
This action is deprecated and is scheduled to be removed in a future release. Use
the SplitFieldValuePreserveEnd action.
Syntax
()
Parameters
Returns
Level
Details
SumFields
Adds the values of all child fields of the specified type and assigns the result to
the current field. You can also use this action to sum the values of the specified
variable for all child objects.
Syntax
()
Parameters
Always True.
Level
All.
Details
Sums captured values of any child Field if a child object's Type property is
identical to the Type you specify as a parameter. Alternatively, the actions sums
values assigned to a variable of the child Field objects. In this case, the variable is
the same as the variable entered as a parameter.
SumFields("LineTotal")
The first action in the example sums the captured values of Detail Field
objects that are children of the current Field object.
The second action in the example sums values assigned to the LineTotal
variable of child Field objects.
In both cases, the result is a Long number.
TimeStampField
Updates the current Field object with the current time.
Syntax
()
Parameters
Returns
Always True.
Level
Field level.
Details
Example
TimeStampField("*") produces
09:20:02
TimeStampField("HH:MM") produces
09:20
Syntax
()
Parameters
None.
Returns
Always RightTruncate.
Level
Field level.
Details
Example
TrimSpaces()
456.11_ _ _ _ becomes 456.11
TruncateFromEnd
Deletes characters from the end of the captured value of the current Field object
until the length of the value equals the length indicated by the parameter.
Syntax
()
Parameters
A Number n that is the maximum length of the value. Smart parameters are
supported.
Returns
Level
Field level.
Details
This action deletes characters from the end of the captured value of the current
Field object until the length of the value equals the length indicated by the
parameter.
Example
TruncateFromEnd("6")
EU0002240 becomes EU0002
Syntax
()
Parameters
A number n that is the maximum length of the value. Smart parameters are
supported.
Returns
Always True.
Level
Field level.
Details
This action deletes characters from the start of the captured value of the current
Field object until the length of the value equals the length specified by the
parameter.
Example
TruncateFromStart("6") reduces the following value:
3,344.01 becomes 344.01
Vote actions
Use the Vote action when you do multi-pass data entry to check whether the first
and second passes match.
The Vote action returns True if the data entered for by the first operator matches
the data that is entered by the second operator.
VoteFld
Checks to see whether the data entered by the first Data Entry operator matches
the data that is entered by the second Data Entry operator.
Syntax
()
Parameters
None.
Returns
Level
Field level.
Checks to see whether the data entered by the first Data Entry operator matches
the data entered by the second Data Entry operator.
Failed (mismatched) values set the confidence for the entire string to '1', which
flags the field as Low Confidence. Positive matches set the entire strings
confidence to '9' (High Confidence).
This action needs to run after the second Data Entry task is complete.
This action is used for workflows by using third pass data entry.
Example
VoteFld()
Vscan actions
Use the Vscan actions to create a batch by using existing image files.
The Vscan actions determine which documents are included in the batch and how
to handle these documents as part of the scan task.
AddDocument
Adds a document node to the runtime hierarchy. All scanned pages become
children of the document node.
Syntax
()
Parameters
None.
Returns
False if this action is invoked or called at the wrong level or if the setup DCO
does not contain any document structure. In this case, the action will not add a
document. Otherwise, True.
Level
Batch level.
Details
Places all scanned pages into a single, batch-wide document. This action must be
called before the Scan action.
This action allows a VScan task to create a batch that has all the same
characteristics of a batch that is created using a standard scan task. It is not
required to call this action. Use this action if your application relies on a document
structure on import.
CopyFile
When used before the Scan action, this action tells the Scan action to also copy the
files to the specified location.
Syntax
()
Parameters
1. The String value of the name of the target file system folder.
2. Optional. The file extension you wish to use for each file. If you provide an
extension, it must not be preceded by a period. The action defaults to .tif if
this parameter is blank.
Returns
Always True. If the target directory does not exist or if the files cannot be created,
the files are not copied but the action still returns True.
Level
Details
A housekeeping action that copies the current source image file to a location that
you specify and specifies the copied file's extension.
The source image file will remain in the input directory while a copy is placed into
the specified directory. This action is typically used when it is desired to place
images into a specific location for archiving. A copy of the image will still be
placed into the batch directory as well.
If the target directory already contains a file of the same name, it will give a
unique name to the new file.
This action must precede the Scan action. The CopyFile sets an indicator for the
Scan action to copy the file. If CopyFile is used and the Scan action is never
subsequently called, the copy will not be performed. The destination directory
must already exist or a message will be logged and no files will be copied.
Example
CopyFile("C:\ParentDirectory\Application\Images\copies,tif")
Scan()
This example copies the source image file to the copies folder and then
adds it to the batch. It does not delete the image from the source folder.
This variant example copies the source image file to the copies folder that
was specified in the application service.
DeleteImageFile
When used before the Scan action, this action tells the Scan action to delete the
source files from the images folder.
Syntax
()
Parameters
None.
Returns
Always True.
Level
Details
A housekeeping action that deletes the current source image file. A Scan action
must follow this action, which will perform the delete during the vscan process. If
Scan is never called, the files are not deleted.
Example
DeleteImageFile()
Scan()
This sequence deletes the image files from their current location after they
were added to the current batch folder.
MoveImageFileToDirectory
When used before the Scan action, this action tells the Scan action to move the files
from the images folder to the specified location.
Syntax
()
Parameters
The full path to the target location of the Image file. Smart parameters are
supported.
Returns
If the file cannot be written to the destination directory, the batch status will be set
to abort.
Details
A housekeeping action that moves the current Image file to a location you specify.
The source image file will be removed from the input directory and moved to the
specified directory. This action is typically used when it is desired to place images
into a specific location for archiving. A copy of the image will still be placed into
the batch directory.
If the target directory already contains a file of the same name, it will give a
unique name to the new file.
This action must precede the Scan action. If MoveImageFileToDirectory is used and
the Scan action is never subsequently called, the file move will not be performed.
If the move to the new directory fails, the batch will be set to abort.
Example
MoveImageFiletoDirectory("C:\ParentDirectory\Application\backup")
SetMaxImageFiles("100")
Scan()
This sequence copies the source image files to the current batch, then
moves the Image files to the specified directory.
MoveImageFiletoDirectory("@APPPATH(vscanmovedir)")
Scan()
This variant example uses a smart parameter to obtain the directory path
from the application service.
Scan
Copies image files from the location that is specified by the SetSourceDirectory
action to the batch folder and creates the runtime hierarchy.
Syntax
()
Parameters
None.
Returns
False if a SetSourceDirectory action does not precede this action. False is also be
returned if fast mode is enabled and SetMultiPageTiff was called. Otherwise, True.
Level
Batch level.
Details
Scans a set of waiting Image files, according to the parameters set by earlier
actions.
These are the elements of a sample vScan Rule. The Scan action will load
the specified number of images (if available) from the specified folder into
the current batch folder.
SearchInSubdirectory
When used before the Scan action, this action tells the Scan action to look in
subdirectories of the images folder.
Syntax
()
Parameters
None.
Returns
Always True.
Level
Details
Looks for source files in sub-directories of the directory you designated with a
SetSourceDirectory action. For this action to take effect, it must be called before the
Scan action.
Example
SetSourceDirectory("@APPPATH(vscanimagedir)")
SearchInSubdirectory()
In this example, if the scan directory obtained from the application service
includes sub-directories, this action directs the Scan action to process the
contents of the sub-directories.
SetAlternateImageNames
Sets the file naming scheme of the Scan action.
Syntax
()
Parameters
0: Sets the naming scheme of the input files to the format used by eDocument
Conversion actions.
Any other input value uses the traditional naming schmeme of TM000001,
TM000002, etc.
Always True.
Level
Details
If you are using the Convert action library, it is recommended that you enable this
batch file naming scheme.
If this action is not called prior to the Scan action, then the Scan uses the
traditional naming scheme of TM000001, TM000002, etc.
Example
SetAlternateImageNames("0")
Scan()
SetFastMode
Increases speed by preventing the Scan action from opening the files it is scanning.
This action is provided only for compatibility with older applications, it is no
longer used.
Syntax
()
Parameters
None.
Returns
Always True.
Level
Details
This action prevents the testing that the TIF files are valid and avoid conversion of
TIF files to G4 compression for processing. Calling this action will allow TIF files
that are not compatible with Datacap to be placed into a batch.
Syntax
()
Parameters
String value of the file's identifying extension. If you are listing multiple types,
separate each one with a comma.
It is not necessary to include a period before each extension. The parameters are
not case-sensitive.
Returns
True, if the parameter is one of the values that is specified above. Otherwise,
False.
Level
Details
Uses the value of a file extension to specify the type of files the task scans.
This is an optional vScan action. The task scans .tif files by default. For this
action to take effect, it must be called before the Scan action.
This action automatically enables Fast Mode scanning, if the input parameter is not
a single extension of type .tiff, .tif, .jpeg, or.jpg.
Example
SetImageType(".tif)
Scan()
This sequence scans only TIF files and does not enable Fast Mode.
SetImageType("tiff")
Scan()
This sequence scans only TIFF files and does not enable Fast Mode.
SetImageType("bmp,jpg,jpeg,msg,tif,tiff,pdf,zip,doc,docx,xls,xlsx,eml,gif")
Scan()
This sequence scans all file types listed and enables Fast Mode.
SetMailSourceFolder
When used before the Scan action, this action tells the Scan action to search the
images folder for emails with image file attachments. Then, to copy these emails
into the batch folder.
Syntax
()
Returns
Always True.
Level
Details
Searches the location you specify for e-mails that contain Image file attachments.
For this action to take effect, it must be called before the Scan action.
Example
SetMailSourceFolder("Inbox/Images")
Scan()
This example searches the Images subfolder for any e-mails with
attachments, and copy these Image files into the newly created batch.
SetMailSourceFolder("Inbox+/+@VAR(FOLDERNAME)")
Scan()
This example gets the name of the subfolder from the runtime variable
FOLDERNAME.
SetMaxImageFiles
Limits the number of files the Scan action copies.
Syntax
()
Parameters
If you do not enter a value, the task will scan all images in the target folder (up to
32767 files) and this action returns True.
Returns
Level
Details
Limits the number of Image files the vScan task will add to a single batch. This
action must be placed before the Scan action for the setting to take effect during
Scan.
SetMultiPageTiff
When used before the Scan action, this action tells the Scan action to split
multipage TIFF files into single page TIFF files.
Syntax
()
Parameters
None.
Returns
Always True.
Level
Details
Permits the use of multipage source image files. For this action to take effect, it
must be called before the Scan action.
This action cannot be used if fast mode is enabled. It also requires that
SetImageType be called with only one extension of TIF, TIFF, JPG or JPEG. If this
action is used when fast mode is enabled, the Scan action returns False.
Example
SetImageType(".tif")
SetMultiPageTiff()
Scan()
If the Scan action in this sequence encounters a multipage .tif file, then it
reads each one into the current batch as a separate image, thereby bursting
the multipage file into individual images.
SetSortOrder
Specifies the order in which image files are imported.
Syntax
()
Parameters
Returns
Level
Details
Sets the order in which Image files will be imported to the batch. The input files
can be sorted by their file name, file type, date created, date accessed, date
modified or file size. Using the optional second parameter, you can control if the
values are sorted in ascending or descending order.
For this action to take effect, it must be called before the Scan action.
Example
SetSortOrder("Name,ASC")
Scan()
SetSourceDirectory
Specifies the path to the images folder. This action must precede the Scan action.
Syntax
()
Parameters
String value of the directory's name and path. Instead, you can use a Smart
Parameter, such as @APPPATH, to establish the name and path of the Source
Directory.
Returns
False, if the parameter is blank or the directory does not exist. Otherwise, True.
If the source directory does not exist, the batch status is set to abort.
Level
This action indicates the name and path of the directory that contains the Image
files to be scanned.
This is a required action. A task that employs a vScan rule cannot process images
unless it has this key locator. This action must be called before the scan action.
Example
In the folowing example, the full path to the images directory is coded
directly into the application rules.
SetSourceDirectory("c:\ParentDirectory\Application\Images")
In the following example, @APPPATH obtains the vscan directory from the
application service. This makes the application more flexible because the
same application that is installed in two different environments, such as
test and production, can use two different input directories. The
subdirectory Input is appended to the path.
SetSourceDirectory("@APPPATH(vscanimagedir)+\+Input")
Datacap Web Client provides interfaces for batch creation, file transfer, queueing,
monitoring, and retrieving output from Datacap processing in a service oriented
architecture (SOA). The Web Services library includes actions to set the url, execute
connection requests, download files, set header values, and upload files.
WsCompare
Compares the DCO value at the specified smart parameter path with the value in
the response at the specified xpath location.
Member of namespace
WebServices
Syntax
WsCompare ()
Parameters
smartParameterPath
Type: string
Smart parameter path to DCO object to compare. If blank the text field of
the current DCO object is used.
xPath Type: string
The xpath location in the response XML to compare. If the path is not
found or the response is not XML the entire response is used.
Returns
True if the values are identical. False if the values are not identical.
Any
Details
Example
WsCompare("@F,//xPath")
WsDownloadFile
Downloads a file from a stream to the specified file path.
Member of namespace
WebServices
Syntax
WsDownloadFile ()
Parameters
targetPath
Type: string
File path or smart parameter path to file path to use.
Returns
Always True.
Level
Any
Details
WsExecute
Executes the request. The HTTP response code is saved to the calling DCO object
node in a variable called HttpResponse.
Member of namespace
WebServices
Syntax
WsExecute ()
Parameters
smartParameterPath
Type: string
Returns
True if the connection was successful. False if the connection could not be
established.
Level
Any
Details
Example
WsExecute("D.WebResponse")
WsGetLineItems
Creates DCO line item fields using the web service response.
Member of namespace
WebServices
Syntax
WsGetLineItems ()
Parameters
smartParameterPath
Type: string
Smart parameter path to details DCO object that is the parent to the line
item field. If blank the text field of the current DCO object is used.
xPath Type: string
The xpath node location in response of the parent to each line item.
xmlTemplate
Type: string
Template of the response XML that maps attributes or values to DCO
fields.
Returns
Always True.
Level
Any
WsGetValue
Populates the DCO value at the specified smart parameter path with the value in
the response at the specified xpath location.
Member of namespace
WebServices
Syntax
WsGetValue ()
Parameters
smartParameterPath
Type: string
Smart parameter path to DCO object to populate. If blank the text field of
the current DCO object is used.
xPath Type: string
The xpath location in the response XML to use to populate the DCO.
Returns
Always True
Level
Any
Details
Example
WsGetValue("@F,//xPath")
WsMessageLineItemPropertyAdd
Adds a new copy of the node specified by the xpath parameter.
Member of namespace
WebServices
Syntax
WsMessageLineItemPropertyAdd ()
Parameters
xPath Type: string
The xpath node location in template XML file to duplicate.
Returns
Always True.
Any
Details
Example
WsMessageLineItemPropertyAdd("//xPath")
WsMessageLineItemPropertySet
Adds a new copy of the node specified by the xPath parameter.
Member of namespace
WebServices
Syntax
WsMessageLineItemPropertySet ()
Parameters
smartParameterPath
Type: string
Smart parameter path to DCO object to use to populate. If blank the text
field of the current DCO object is used.
xPath Type: string
The xpath node location in the just added node. The added node is loaded
as an XML document and is the root of the xpath.
Returns
Always True.
Level
Any
Details
WsSetHeaderValue
Use to specify header properties such as content type.
Member of namespace
WebServices
Syntax
WsSetHeaderValue ()
Returns
Always True.
Level
Any
Details
Example
WsSetHeaderValue(Content-type, application/xml)
WsSetMessageLineItemProperty
Use to set value in message body.
Member of namespace
WebServices
Syntax
WsSetMessageLineItemProperty ()
Parameters
value Type: string
Value to use as the replacement. Supports smart parameters.
xPath Type: string
xPath to locate nodes. Inner text is changed. Uses SelectNodes.
Returns
Always True.
Level
Any
Details
Example
WsSetMessageLineItemProperty(@F, //nodeName)
WsSetMessageProperty
Use to set value in message body.
WebServices
Syntax
WsSetMessageProperty ()
Parameters
value Type: string
Value to use as the replacement. Supports smart parameters.
xPath Type: string
xPath to locate nodes. Inner text is changed. Uses SelectNodes.
Returns
Always True.
Level
Any
Details
Example
WsSetMessageProperty(@F, //nodeName)
WsSetMessageTemplate
Specify file to load as message body.
Member of namespace
WebServices
Syntax
WsSetMessageTemplate ()
Parameters
fileName
Type: string
File path and name to use.
Returns
Always True.
Level
Any
Details
Example
WsSetMessageTemplate(c:\file.xml)
Member of namespace
WebServices
Syntax
WsSetResponseNameSpace ()
Parameters
key Type: string
Name of the namespace attribute.
value Type: string
Value of the namespace attribute.
Returns
Always True.
Level
Any
Details
Example
WsSetResponseNameSpace("@F,//xPath")
WsUploadFile
Uploads the specified file as a stream.
Member of namespace
WebServices
Syntax
WsUploadFile ()
Parameters
fileSource
Type: string
File path or smart parameter path to file path to use.
Returns
Always True.
Level
Any
WsUrlReplaceValue
Use to specify variables in your url.
Member of namespace
WebServices
Syntax
WsUrlReplaceValue ()
Parameters
source Type: string
Value to use as the replacement.
target Type: string
String to be replaced in the url. All instances will be replaced
Returns
Always True.
Level
Any
Details
Example
WsUrlReplaceValue(@B.ID, batchID)
WsUrlSet
Set the URL to be used for following requests.
Member of namespace
WebServices
Syntax
WsUrlSet ()
Parameters
verb Type: string
HTTP verb to use. Default is GET. (POST, GET, PUT, DELETE)
url Type: string
Always True.
Level
Any
Details
Example
WsUrlSet(GET, "http://server/endpoint")
Zones actions
Use the Zones actions to work with the zones that define the position of each field
on the page.
You can read zone information from a fingerprint (CCO) file, update the zone
position information in the runtime hierarchy, and locate the recognition text for a
specific zone. You can also assign values to fields in the runtime hierarchy, locate
repeating data blocks, and more.
AdjustZonesToImageOffset
Offsets fields on the current image in response to zone criteria in the CCO file of
the source page - after the image has been offset.
Syntax
()
Parameters
None.
Returns
False if the action cannot locate the CCO file of the current page. Otherwise, True.
Level
Page level.
Details
Offsets fields on the current image in response to zone criteria in the CCO file of
the source page - after the image has been offset.
Example
AdjustZonesToImageOffset()
AnchorPage
Finds the Anchor field on a source page, and uses the Anchor field's coordinates to
locate and offset the page's other zoned fields.
Syntax
()
None.
Returns
False if the action cannot find the Anchor field on the page. Otherwise, True.
Level
Page level.
Details
Finds the Anchor field on a source page, and uses the coordinates of the Anchor
field to locate and offset the other zoned fields on the page.
Example
AnchorPage()
CalculateLocalOffset
Calculates the X and/or Y offset amount for the calling field.
Syntax
()
Parameters
X and/or Y
The action uses these parameters to calculate a new parent page Image_Offset
value by comparing the fingerprint zone for the calling field against the current
field zone.
Returns
Always True.
Level
Field only.
Details
CreateBlockCCO
Creates a temporary in memory CCO object, containing only the words and lines
in the calling fields zone position - using the source page's CCO file.
Syntax
()
None.
Returns
Always True.
Level
Field level.
Details
Useful when searching for images where the data is located asymmetrically across
the page. Using this action focuses the CCO to only look at the words and lines
within the defining zone in all future searches for this page.
This does not affect the run time CCO. Reloading the page reloads the CCO bound
to the page, releasing this temporary CCO.
Example
CreateBlockCCO()
FindBlocks_WhiteSpace
Uses a vertical white space (pixels) to find blocks of data within the current source
page. Returns each block's position assigned to a series of repeating fields based on
the first child field of the calling object.
Syntax
(Strparam)
Parameters
Returns
False if the action cannot divide or create any child field/zones. Otherwise, True.
Level
Details
Creates a child field with the position of each zone divided out of the CCO of the
calling page.
Example
FindBlocks_WhiteSpace("27")
FindDataBlocks
Uses Start and End key words to find blocks of data within the current source
page.
Parameters
Returns
True if the action can locate the Data block indicated by the parameter. Otherwise,
False.
Level
Page level.
Details
Uses Start and End key words to find blocks of data within the current source
page. Returns each block's position assigned to a series of repeating fields based on
the first child field of the calling object. If the Fingerprint file (.cco) of the page has
a Line position be sure to use action GoFirstLine() to set the Line position to the
first word on the first line in the current zone.
Example
GoFirstLine()
FindDataBlocks("FROM,THRU")
FindLineItems
This action is replaced by the FindZoneLineItems action.
Syntax
()
Parameters
5 comma separated parameters. See the help for FindZoneLineItems for details.
Details
FindRegExBlocks
Uses a Regular Expression to find blocks of data within the current source page.
Returns the position of each block that is assigned to a series of repeating fields
based on the first child field of the calling object.
Syntax
()
Parameters
Regular Expression that contains the data block's Start Value, and its End Value.
Parameter is a two part comma separated value of the Values to look for in the
current CCO.
Start and End values can be adjusted up or down by xLines using the 3rd (adj top)
and 4th (adj bottom) CSV positions.
Returns
True if the action can locate the Data block indicated by the parameter. Otherwise,
False.
Level
Page level.
Details
Uses a Regular Expression to find blocks of data within the current source page.
FindZoneLineItems
Uses settings for zones to assemble a portion of the current page, limited to Line
Item Detail.
Syntax
()
Parameters
1. True or False
v True if the action is to create Line-item fields and their sub-fields.
v False if the action is to create Line-item fields only.
2. True or False (OPTIONAL: defaults to True)
v True if the action is to analyze both the calling zone and the word and line
relationships based only on the zone contents that are found in the search.
v False if the action is to use the existing word and line relationships (CCO for
image).
3. 1 or 2 (OPTIONAL: Fill Sub fields option - defaults to 1)
v 1 - fill by CCO word; if the CCO words overlap by a certain intersection
value then fill sub field with its value. Also has sub setting of a colon
followed by a group words value. For example, 1:1.5 treats words 1.5
character spaces apart or closer as one word.
v 2 - fill by CCO character; if the CCO characters overlap by a certain
intersection value then fill sub field with the character value.
4. 0 to 100 (OPTIONAL: Percent offset adjustment - defaults to 0) - moderates the
flexibility for the left offset based on the overall length of the line. Use larger
values for shorter line items.
5. .01 to .99 (OPTIONAL: Intersection Ratio - defaults to .25) - changes the
intersection ratio of Words and Lines used to determine creation and value of
Lineitems and their subfields.
False if there is no zone or position information for the Line Item block and its
subfields, or if the parent block does not contain Line Item children. Otherwise,
True.
Level
Details
This action retrieves zonal information from the fingerprint about a block
of Line Item Detail, individual rows, and their fields and subfields. The
action applies this data to the full-length current page. It creates a file with
an extension of cco (fingerprint format file) containing just Line Item Detail
for use during batch processing. This file can be discarded after batch
processing has finished.
GetZoneText
Retrieves the text in a zoned object of the current page.
Syntax
()
Parameters
None.
Returns
Always True.
Level
Field level.
Details
This action assumes that you have established zone parameters for this
Field object of the Document Hierarchy.
InheritParentPosition
Provides the bound child object of the Document Hierarchy with the zone
parameters of a parent object identified by the parameter.
Parameters
Case sensitive string value of the name of the parent object. Details, for example, is
the name of a parent Field object in the Invoice application. If the bound object is
LINEITEM, the action provides the zone parameters of the parent to this child
object.
Returns
False if the action cannot locate the parent field. Otherwise, True.
Level
Field level.
Details
Provides the bound child object (a subfield of another field) of the Document
Hierarchy with the zone parameters of a parent object identified by the parameter.
Example
InheritParentPosition("Details")
LoadBlockCCO
Loads the CCOBlock set up by a previous CreateBlockCCO action. That action
assigns the block's location to the CCOBlock variable of the current Page object.
Syntax
()
Parameters
None.
Returns
Level
Page level.
Details
LoadZones
Same as the ReadZones action, except that it loads position information for the
specified fingerprint ID.
Parameters
Fingerprint ID.
Returns
Always True.
Level
Details
Loads position information for each node in the calling object and children.
Pre-adjusts these values based on offset information stored in an Image_Offset
variable at any node level.
Position information is based on the setup DCO position for the fingerprint ID
passed as a parameter. The offset value is applied to all child objects of a node
where an Image_Offset variable is found; unless overwritten by a child node also
having an Image_Offset value to apply.
MCCOPositionAdjust
Combines extra pages of a multi-page document into the CCO file for the first
page.
Syntax
()
Parameters
None.
Returns
False if the current document does not consist of more than one source page, or if
a page to be merged did not have an associated CCO file created. Otherwise, True.
Level
Page level.
Details
MergeZones
Merges the zone from calling field with zone of DCO fields passed as smart
parameters.
Syntax
()
Parameters
A CSV of smart parameter strings indicating the DCO fields to merge zones with.
Returns
False if the calling field does not have a valid position value. Otherwise, True.
Level
Field level.
Details
PadZone
Pads the zone by the value passed. Number of CSV passed values varies padding
value by vector.
Syntax
()
Parameters
A CSV of smart parameter strings that indicate the pixels value by which to pad
the calling field.
Returns
False, if the calling field does not have a valid position that is not a zero.
Otherwise, True.
Level
Field level.
Pads calling field's position with each value passed. Number of passed values
varies padding vector as follows:
1. Pads Left, Top, Right, and Bottom by this value (that is, expand if positive)
2. Pads as X,Y (X: pad to Left and Right, Y: pad to Top and Bottom)
3. Pads as Left, Top, Right, and Bottom. (missing values are treated as zero).
4. Pads as Left, Top, Right, and Bottom.
Example
PadZone("15") Pads 15 pixels to the Left, Right, Top and Bottom position.
PopulateZNField
Puts the recognition data from the CCO file that lies in the zone boundaries of the
field into the current field in the page data file.
Syntax
()
Parameters
None.
Returns
Always True.
Level
Field level.
Details
This action populates the field value with the full-page recognition results (in the
CCO) that fall within the boundaries of the field zone.
This action should be used with fields such as the Total or Number field in the
Invoice application.
Example
PopulateZNField()
PopulateZNLineItemField
Populates the page data file with the recognized value in the zone for the current
line item child field. Assign this action to each line item child field in the
document hierarchy.
Syntax
()
None.
Returns
True if the bound Field object is the child of a parent Field object, and if a
fingerprint’s .cco file containing block information can be found. Otherwise, False.
Level
Field level.
Details
Populates the fingerprint’s Data file with the recognized value contained inside the
zone of a child Field object of a LINEITEM parent field. This action should only be
used with subfields of the LINEITEM field (ItemID, ItemDesc, Quantity, Price) in
the Invoices application.
Example
PopulateZNLineItemField()
ReadZones
Loads the position information for the current object and its children from the
document hierarchy (setup DCO). Adjusts the position of each object by using any
Image_Offset value.
Syntax
()
Parameters
None.
Returns
Always True.
Level
Details
Loads position information for each node in the calling object and it's children.
Pre-adjusts these values based on offset information stored in an Image_Offset
variable at any node level.
Position information is based on the setup DCO position for the fingerprint ID of
the parent page. The offset value is applied to all child objects of a node where an
Image_Offset variable is found; unless overwritten by a child node also having an
Image_Offset value to apply.
RegisterPage
Locates specially marked fields and adjusts their vertical zone positions to
compensate for any drift.
974 IBM Datacap: Application Development Guide
Syntax
()
Parameters
None.
Returns
Always True.
Level
Page level.
Details
ScanDetails
Searches a line item grid object for line items. You assign this action to the grid
region in the document hierarchy.
Syntax
()
Parameters
None.
Returns
True if the bound Field object contains lines of data. Otherwise, False.
Level
Field level.
Details
Searches the DETAILS Field object’s zone for instances of a LINEITEM Field object.
Captures the data in the rows of a Line Item table, row by row.
This action captures all potential LINEITEM rows within the parent DETAILS field,
even rows that may not fit your criteria for content.
ScanDetailsByLines
Searches a line item grid object for line items, where each line item consists of the
specified number of rows.
Syntax
()
Parameters
Returns
True if the bound Field object contains lines of data. Otherwise, False.
Level
Field level.
Details
Searches the DETAILS Field object’s zone for instances of a LINEITEM Field object.
Captures the data based on the number of lines (parameter) in a Line Item table,
row by row.
This action captures all potential LINEITEM rows (consisting of 2 lines each) in the
parent DETAILS field, even rows that may not fit your criteria for content.
Attention: You must run additional rulesets to delete ineligible Line Items. In the
Invoices application, these are the Clean and Filter rulesets.
Example
ScanDetailsByLines("2")
ScanDetailsByVSpace
Searches a line item grid object for line items, where each line item is defined as
the specified height in pixels.
Syntax
()
Parameters
Returns
True if the bound Field object contains lines of data. Otherwise, False.
Field level.
Details
Searches the DETAILS Field object’s zone for instances of a LINEITEM Field object.
Captures the data based on the number of vertical pixels (parameter) in a Line
Item table, row by row.
Example
ScanDetailsByLines("45")
ScanLineItem
Searches a line item object for fields. You assign this action to each line item in the
document hierarchy.
Syntax
()
Parameters
None.
Returns
Level
Field level.
Details
This action captures each subfield within the parent LINEITEM row.
Example
ScanLineItem()
SetEOL
Sets the End of Line character that will be used to separate data from a zone that
contains multiple lines of text.
Syntax
()
Parameters
Always True.
Level
All.
Details
This example sets the End of Line character to the ‘|’ (pipe) character. A
capture zone with two lines of text contains the captured value separated
by this new character.
SetEOL_CRLF
Sets the End Of Line character that are used to separate data from a zone with
multiple lines of text.
Syntax
()
Parameters
None.
Returns
Always True.
Level
All.
Details
Sets the End Of Line character that is used to separate data from a zone with
multiple lines of text to the carriage return and Line Feed characters: ASCII values
13 and 10.
Example
SetEOL_Crlf()
This example sets the End of Line character to the Carriage Return and
Line Feed characters. A capture zone with two lines of text contains the
captured value separated by these characters.
ZoneBOTTOM_ImageBottom
Uses the lower boundary of the current image to specify the bottom boundary of
the zone position of the current field in the page data file.
Syntax
()
None.
Returns
Always True.
Level
Field level.
Details
Uses the bottom boundary of the current field’s IMAGE to define the bottom edge
of the field’s ZONE.
Attention: An image of a field is often larger than a zone of a field , and almost
always larger than the field's word.
Example
ZoneBOTTOM_ImageBottom()
ZoneBOTTOM_LowerBound
Uses the lower boundary of the current word that is located by using the actions in
the Locate library to specify the bottom boundary of the zone position of the
current field in the page data file.
Syntax
()
Parameters
None.
Returns
Always True.
Level
Field level.
Details
Uses the lower boundary of the current field's ZONE to specify the bottom of the
field's WORD. This can result in a taller or shorter word, depending on the
location of the zone's boundary.
Example
ZoneBOTTOM_LowerBound()
Syntax
()
Parameters
None.
Returns
Always True.
Level
Field level.
Details
Uses the lower boundary of the current field's ZONE to specify the top of the
field's WORD. This can result in a taller or shorter word, depending on the
location of the zone's lower boundary.
Example
ZoneBOTTOM_UpperBound()
ZoneImage_SaveAs
Saves the current Objects Zone area of an image as a separate Image file.
Syntax
()
Parameters
Attention: +#name appends the value of child name to the image name.
Returns
Level
Details
Saves the current Objects Zone area of an image as a separate Image file. The Zone
Image file is always placed in the Batches directory; saving to the current page
creates a multi-page TIFF file with the additional image as its zone.
Example
ZoneImage_SaveAs("SAMMY+@TYPE+@DATE+JJJ")
ZoneLEFT_ImageLeft
Uses the left boundary of the current image to specify the left boundary of the
zone position of the current field in the page data file.
Syntax
()
Parameters
None.
Returns
Always True.
Level
Field level.
Details
Uses the left boundary of the current field’s image to define the left edge of the
field’s zone. This can extend or contract the width of the zone, depending on the
placement of the left side of the image.
Attention: A field's image is often larger than a field's zone, and almost always
larger than the field's word.
Example
ZoneLEFT_ImageLeft()
Syntax
()
Parameters
None.
Returns
Always True.
Level
Field level.
Details
Uses the left boundary of the current field’s word to define the left edge of the
field’s zone. This extends the width of the zone to accommodate the current word.
Example
ZoneLEFT_LeftBound()
If the field's recognized values reach beyond the zone's limits, you can use
this action to expand the zone appropriately.
ZoneLEFT_RightBound
Uses the right boundary of the current image to specify the left boundary of the
zone position of the current field in the page data file.
Syntax
()
Parameters
None.
Returns
Always True.
Level
Field level.
Details
Uses the right boundary of the current field’s word to designate the left edge of
the field’s zone. This extends the width of the zone to accommodate the current
word.
Example
ZoneLEFT_RightBound()
ZoneRIGHT_ImageRight
Uses the right boundary of the current image to specify the right boundary of the
zone position of the current field in the page data file.
Syntax
()
Parameters
None.
Returns
Always True.
Level
Field level.
Details
Uses the right boundary of the current field’s image to define the right edge of the
field’s zone. This can extend or contract the width of the zone, depending on the
placement of the right side of image.
Attention: A field's image is often larger than a field's zone, and almost always
larger than the field's word.
Example
ZoneRight_ImageRight()
ZoneRIGHT_LeftBound
Uses the left boundary of the current word* to specify the right boundary of the
zone position of the current field in the page data file.
Syntax
()
Parameters
None.
Returns
Always True.
Level
Field level.
Uses the left boundary of the current field’s word to designate the right edge of
the field’s zone. This action also excludes the word from the zone.
Example
ZoneRight_LeftBound()
This action can clean the zone by eliminating the word it contains.
ZoneRIGHT_RightBound
Uses the right boundary of the current word* to specify the right boundary of the
zone position of the current field in the page data file.
Syntax
()
Parameters
None.
Returns
Always True.
Level
Field level.
Details
Uses the right boundary of the current field’s word to designate the right edge of
the field’s zone.
ZoneTOP_ImageTop
Uses the top boundary of the current image to specify the top boundary of the
zone position of the current field in the page data file.
Syntax
()
Parameters
None.
Returns
Always True.
Field level.
Details
Uses the upper boundary of the current field’s image to designate the top edge of
the field’s zone. This can extend or contract the width of the zone, depending on
the placement of the left side of the image.
Example
ZoneTOP_ImageTop()
ZoneTOP_LowerBound
Uses the lower boundary of the current word that is located by using the actions in
the Locate library to specify the top boundary of zone position of the current field
in the page data file.
Syntax
()
Parameters
None.
Returns
Always True.
Level
Field level.
Details
This action uses the upper boundary of the current field's zone to indicate the
bottom of the field's word. This action can expand or contract the height of the
zone, depending on the placement of the word's lower boundary within the
current page.
Example
ZoneTOP_LowerBound()
If you find that a high percentage of values for a particular field are
entered a line too high, you can use this action in a follow-up Locate rule
to search for the misplaced value.
ZoneTOP_UpperBound
Uses the upper boundary of the current word that is located by using the actions
in the Locate library to specify the top boundary of the zone position of the current
field in the page data file.
Syntax
()
None.
Returns
Always True.
Level
Field level.
Details
This action is helpful when you know that a certain number of values in this field
will be shorter than the zone's height. A follow-up Locate rule with this action will
find those values.
Example
ZoneTOP_UpperBound()
4010Common
The set of 4010Common actions are common to both Institutional and Professional
medical claim forms.
Action Description
Load4010Settings Load settings from the .ini file that is
passed as a parameter. You can change
default values and customize how the 4010
form is built. Smart parameter enabled.
Merge4010 Zips the 4010 file path, file name, and file
extension settings into one file. Smart
parameter enabled.
4010Institutional
This action is specific to the Institutional 4010 form.
Action Description
Institutional_4010 Used to build a single 4010 file for each
Institutional claim. Use the action on a page
or a document. The action allows you to
create a single export page file for each
document.
Action Description
Professional_4010 Used to build a single 4010 file for each
Professional claim. Use the action on a page
or a document. The action allows you to
create a single export page file for each
document.
5010Common
The set of 5010Common actions are common to both Institutional and Professional
medical claim forms.
Action Description
Load5010Settings Load settings from the .ini file that is
passed as a parameter. You can change
default values and customize how the 5010
form is built. Smart parameter enabled.
Merge5010 Zips the 5010 file path, file name, and file
extension settings into one file. Smart
parameter enabled.
5010Institutional
This action is specific to the Institutional 5010 form.
Action Description
Institutional_5010 Used to build a single 5010 file for each
Institutional claim. Use the action on a page
or a document. The action allows you to
create a single export page file for each
document.
5010Professional
This action is specific to the Professional 5010 form.
Action Description
Professional_5010 Used to build a single 5010 file for each
Professional claim. Use the action on a page
or a document. The action allows you to
create a single export page file for each
document.
MC_Identify
Use the MC_Identify actions to identify claim forms in a batch.
The MC_Identify actions identify the medical claim forms that are processing in
the batch.
MC_Validation
The actions in the MC_Validation library are used specifically with Professional and
Institutional claim forms. The actions allow for the manipulation of batches, batch
hierarchies, and data.
Datacap Accounts Payable actions are divided into the following categories:
Category Description
Localization Detects the localization and decimal
separator settings of a workstation and
changes the rules execution and data for the
documents that you are processing if
needed.
Custom Customizes the fields in the invoice image to
accommodate locale requirements and other
things.
Concatenate line values Merges line item values into page variable
and page field values into document
variables.
Documents Creates and manages the documents in the
batch.
FlexID Starts the FlexID panel to manually identify
the pages in the document batch.
Intellocate learning Determines the new zones in the invoice
image and adds these zones to the DCO.
Embedded help is provided in Datacap Studio for all of the Datacap Accounts
Payable actions. To access the embedded help, select an action in the Actions
Library tab and click information. For detailed information, including information
about parameters, refer to the embedded help.
APT_Localization
Use the APT_Localization actions to work with currency values when you process
documents generated from a locale that is different from the locale of your
workstation.
Action Description
CheckAndFixLocalDecimal Checks and fixes issues when the decimal in
a currency value is not recognized and is
replaced with a comma or a space. Also
converts the decimal separator to use the
local setting.
ConvertToLocalDecimal Reads the computer settings and sets the
decimal place.
IsFieldLocalCurrency Queries the local decimal separator and
checks to see whether the field contains a
local currency value.
IsLocalDecimalSeparator Checks to see whether the decimal separator
on the workstation matches the locale of the
document that you are processing.
IsOriginalEuroFormat Checks the document level Euro Format and
USCanUK Format variables for the currency
values in the recognized data. Votes on the
decimal format that is used in the document.
IsWorkstationLocale Checks to see which decimal separator is
used on the workstation.
APTCustom
Use the APTCustom actions to customize your APT applications.
Action Description
AddAllTaxesToTaxField Takes every tax detail line value and adds it
to a field called Tax.
AddToDate Specifies a time to add to the date value
stored in a field.
ConcatLineValues
Use the ConcatLineValues actions to merge line items and page fields in your APT
applications.
Action Description
MergeLineItemFieldToPageField Merges the line item values on the invoice
image into a page variable
MergePageFieldToDocVar Merges the page field values on the invoice
images into a document variable
Documents
Use the Documents actions to create and manage documents on your APT
applications.
Action Description
CombinePreviousDoc Copies the pages of the previous named
document into the front of this document.
CountPagesToDocVar Counts the number of page objects in a
document and writes the result in a
document variable.
IsFirstDocInBatch Checks to see whether this object is the first
document in the batch.
FlexID
Use the FlexID action to run the panel for the FlexID task.
Action Description
RunFlexIDPanel Runs the panel for the FlexID task in APT.
Intellocate_Learning
Use the Intellocate_Learning actions to allow APT to determine the new zones in
your invoice image and add these zones to the DCO.
Action Description
Learn_Zones Learns about a new zone and adds the zone
to the DCO.
Learn_ZonesFPX Learns about a new zone and adds the zone
to the DCO.
PageID
Use the PageID actions to work with pages in your APT documents.
Action Description
PageIDByBCSep Separates the pages in the batch by using bar
code separator sheets.
PageIDBySeqTypes Applies a sequence of comma-separated page
types, in order, to the pages of type Other in
a batch, and repeats the sequence
indefinitely.
PageIDByVariableChange Processes all of the pages with a page type
that is set according to the input parameters.
For example, when pages are PageID, a
variable for the page can be watched so
when that variable changes, a new page type
is created.
Action Description
SetLabels Reads the .ini file and sets up label variable
that is used by Datacap Web Client and
Datacap Desktop to display the label on each
field.
Redaction
Use the Redaction actions to redact selected information in your APT invoice
images for security purposes.
Action Description
EraseRect Redacts the area of the invoice image that
you specify in pixels. For example, you can
configure this action as EraseRect(x1, y1, y2,
bBlack) to redact the area in the image that
corresponds to the specified coordinates.
GetAllBarcodes Gets as many as 10 bar codes from the
invoice image.
RedactByRegEx Checks for a specified regular expression and
redacts all occurrences of that regular
expression.
RedactField Redacts an area of the invoice image by
using the current coordinates of the field.
IBM may not offer the products, services, or features discussed in this document in
other countries. Consult your local IBM representative for information on the
products and services currently available in your area. Any reference to an IBM
product, program, or service is not intended to state or imply that only that IBM
product, program, or service may be used. Any functionally equivalent product,
program, or service that does not infringe any IBM intellectual property right may
be used instead. However, it is the user's responsibility to evaluate and verify the
operation of any non-IBM product, program, or service.
IBM may have patents or pending patent applications covering subject matter
described in this document. The furnishing of this document does not grant you
any license to these patents. You can send license inquiries, in writing, to:
For license inquiries regarding double-byte (DBCS) information, contact the IBM
Intellectual Property Department in your country or send inquiries, in writing, to:
The following paragraph does not apply to the United Kingdom or any other
country where such provisions are inconsistent with local law:
INTERNATIONAL BUSINESS MACHINES CORPORATION PROVIDES THIS
PUBLICATION “AS IS” WITHOUT WARRANTY OF ANY KIND, EITHER
EXPRESS OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS
FOR A PARTICULAR PURPOSE. Some states do not allow disclaimer of express or
implied warranties in certain transactions, therefore, this statement may not apply
to you.
Any references in this information to non-IBM Web sites are provided for
convenience only and do not in any manner serve as an endorsement of those Web
sites. The materials at those Web sites are not part of the materials for this IBM
product and use of those Web sites is at your own risk.
Licensees of this program who wish to have information about it for the purpose
of enabling: (i) the exchange of information between independently created
programs and other programs (including this one) and (ii) the mutual use of the
information which has been exchanged, should contact:
IBM Corporation
J46A/G4
555 Bailey Avenue
San Jose, CA 95141-1003
U.S.A.
The licensed program described in this document and all licensed material
available for it are provided by IBM under terms of the IBM Customer Agreement,
IBM International Program License Agreement or any equivalent agreement
between us.
This information contains examples of data and reports used in daily business
operations. To illustrate them as completely as possible, the examples include the
names of individuals, companies, brands, and products. All of these names are
fictitious and any similarity to the names and addresses used by an actual business
enterprise is entirely coincidental.
All statements regarding IBM's future direction or intent are subject to change or
withdrawal without notice, and represent goals and objectives only.
This information contains examples of data and reports used in daily business
operations. To illustrate them as completely as possible, the examples include the
names of individuals, companies, brands, and products. All of these names are
fictitious and any similarity to the names and addresses used by an actual business
enterprise is entirely coincidental.
COPYRIGHT LICENSE:
Trademarks
The following terms are trademarks of the International Business Machines
Corporation in the United States, other countries, or both: http://www.ibm.com/
legal/copytrade.shtml
Microsoft, Windows, Windows NT, and the Windows logo are trademarks of
Microsoft Corporation in the United States, other countries, or both.
Java and all Java-based trademarks and logos are trademarks or registered
trademarks of Oracle and/or its affiliates.
Adobe, the Adobe logo, PostScript, and the PostScript logo are either registered
trademarks or trademarks of Adobe Systems Incorporated in the United States,
and/or other countries.
UNIX is a registered trademark of The Open Group in the United States and other
countries.
Other product and service names might be trademarks of IBM or other companies.
The Software Offering uses session and persistent cookies that collect each user's
user name, for purposes of session management, enhanced user usability, single
sign-on configuration. Session cookies cannot be disabled. Persistent cookies can be
disabled, but disabling them will also eliminate the functionality they enable.
If the configurations deployed for this Software Offering provide you as customer
the ability to collect personally identifiable information from end users via cookies
and other technologies, you should seek your own legal advice about any laws
applicable to such data collection, including any requirements for notice and
consent.
For more information about the use of various technologies, including cookies, for
these purposes, See IBM’s Privacy Policy at http://www.ibm.com/privacy and
IBM’s Online Privacy Statement at http://www.ibm.com/privacy/details the
Notices 997
section entitled “Cookies, Web Beacons and Other Technologies” and the “IBM
Software Products and Software-as-a-Service Privacy Statement” at
http://www.ibm.com/software/info/product-privacy.
Index 1001
actions (continued) actions (continued) actions (continued)
Locate Lookup MC_Validation
AddKeyList 649 ClearLookupResults 696 AddCenturyTo2YearDigit 705
AggregateKeyList 650 CloseConnection 696 AddToDetailErrorMsg 705
DefaultValue 650 ExecuteSQL 697 AddToErrorMsg 706
FilterIt 651 OpenConnection 698 CalculateHCFALineCharges 707
FindDBList 652 PopulateWithResult 699 CalculateUBLineCharges 707
FindDBList_InZone 652 SmartSQL 700 CheckDocID 708
FindKeyList 653 Maintenance Manager ClearErrorMsg 708
FindKeyList_InZone 654 LogClear 772 CommonParseAddress 709
FindLastKeyList 655 LogConfigure 773 CommonValAddress 709
FindLastKeyList_InZone 656 LogSendEmail 774 ConvertHyphen 710
FindLastRegEx 657 LogWriteEventLog 775 FilterPID 711
FindLastRegEx_InZone 657 LogWriteRecordSet 776 FormatFieldLengths 711
FindLastRegExList 658 LogWriteSQLQuery 777 InheritSnippets 712
FindLastRegExList_InZone 659 ProcessChange BatchStatus 761 MC_ReadZones 713
FindLastWord 660 ProcessChangeBatch Parse31aPhSig 713
FindLastWord_InZone 661 StatusOrder 762 Parse58ainsnm 714
FindNextDBList 661 ProcessChangeBatchStatus Parse58binsnm 714
FindNextDBList_InZone 662 TaskOrder 762 Parse58cinsnm 715
FindNextKeyList 663 ProcessClearAuditTable 763 ParseConditionCodes 715
FindNextKeyList_InZone 664 ProcessClearDebugTable 764 ParseEPSDT 716
FindNextRegExList 665 ProcessDeleteBatches 764 ParseLastFirstIniNames 716
FindNextRegExList_ InZone 666 ProcessDeleteBatchesEx 765 ParseNDC 717
FindRegExList 667 ProcessInjectBatches 766 PopulateFromField 718
FindRegExList_InZone 668 ProcessMoveBatches 766 SetConf 718
GoAboveWord 669 ProcessMoveBatchesEx 767 SetOriginalTIF 719
GoBelowWord 669 ProcessMoveDBRecords 769 StripTrailingAlpha 720
GoDownLine 670 ProcessReset TransformLI 720
GoFirstLine 671 PendingOrNotify 770 UpdateCredentialList 722
GoFirstWord 671 ProcessRunSqlQuery 771 ValidateNPI 723
GoLastLine 672 QueryClear 746 ValProcedureCode 723
GoLastWord 672 QuerySetAge 747 ValRequiredCode 724
GoLeftWord 673 QuerySetBatchRange 748 Medical Claims 986
GoRightWord 674 QuerySetBranch 748 multi-pass verification 232
GoUpLine 674 QuerySetDateFormat 749 mvscan
GroupWords 675 QuerySetDateRange 751 scan 724
GroupWordsLEFT 676 QuerySetDateTimeFormat 752 set_abort_time 725
GroupWordsRIGHT 676 QuerySetGeneric 755 set_copy_folder 726
IsAlpha 677 QuerySetJobID 755 set_delete_empty_folders 727
IsCurrency 678 QuerySetOperator 756 set_folder 727
IsDateValue 679 QuerySetPriority 757 set_image_validation 728
IsNumber 679 QuerySetSeparator 758 set_max_docs 729
IsValue 680 QuerySetStation 758 set_metadata_types 730
IsValue_RegEx 681 QuerySetStatus 759 set_min_age 731
MaxLength 681 QuerySetTaskID 760 set_move_wait_time 732
MergeWordLF 682 ReportQueryTMUsage 778 set_multipage_burst 733
MergeWordRT 683 ReportSetReportingTable 778 set_problem_folder 734
MinLength 683 ReportSetUsageDBTable 779 set_sort_method 735
RegExFind 684 SetAdminDB 738 set_tree_mode 735
RegExFind_InZone 685 SetApplication 739 set_types 736
RegExFindNext 685 SetEngineDB 739 set_wait_time 737
RegExFindNext_ InZone 686 SetPassword 740 OCR_A
ScanRT 687 SetServer 741 EnableEngineLogsOCR_A 781
SelectSnippet 687 SetStation 742 OCRA_ConvertImage2BW 781
SetRect 688 SetupDisconnectAll 742 RecognizeBarcodeOCR_A 782
UpdateDCOField 689 SetupOpenApplication 743 RecognizeFieldOCR_A 782
UpdateField 690 SetupOpenApplicationEx 744 RecognizeFieldVoteOCR_A 783
ValueInField 690 SetUser 745 RecognizePageFieldsOCR_A 784
ValueInField_Fuzzy 691 MC_Identify RecognizePageOCR_A 785
ValueInField_RegEx 691 AutoField 701 RecognizeToALTOOCR_A 785
WordFind 692 FindFields 701 RecognizeToPDFOCR_A 787
WordFind_InZone 693 ReadDCOSetup 702 ReleaseEngineOCR_A 789
WordFind_Offset 695 ReadPageSetup 703 RotateImageOCR_A 790
WordFindNext 693 SetFormType 703 SetAutoRotationOCR_A 790
WordFindNext_InZone 694 SetMaxTolerantDistance 704 SetConfCalculation
ParamsOCR_A 791
Index 1003
actions (continued) actions (continued) actions (continued)
Validations (continued) Vscan (continued) Zones (continued)
FilterFieldSelectedChars 913 SearchInSubdirectory 949 ZoneRIGHT_RightBound 984
FormatNumberToLocale 914 SetAlternateImageNames 949 ZoneTOP_ImageTop 984
GetJobID 915 SetFastMode 950 ZoneTOP_LowerBound 985
HasChildOfType 915 SetImageType 951 ZoneTOP_UpperBound 985
InsertChars 916 SetMailSourceFolder 951 add fingerprints
InsertDecimalPoint 916 SetMaxImageFiles 952 fingerprint library 257
IsFieldCurrency 917 SetMultiPageTiff 953 AddAllImagesToDocument action 525,
IsFieldDate 917 SetSortOrder 953 526
IsFieldDateEqualOrAfter 918 SetSourceDirectory 954 AddAllTaxesToTaxField action
IsFieldDateEqualOrBefore 918 Web Services description 990
IsFieldDateUpToToday 919 WsCompare 955 AddCenturyTo2YearDigit action 705
IsFieldDateWithinRange 919 WsDownloadFile 956 AddDocument action 945
IsFieldDateWithinXDays 920 WsExecute 956 AddFileToDocument action 525, 526
IsFieldDateWithReformat 921 WsGetLineItems 957 adding fingerprints 260
IsFieldEmpty 921 WsGetValue 958 adding individual 37
IsFieldFilled 922 WsMessageLineItem AddKeyList action 649
IsFieldGreaterOrEqual 922 PropertyAdd 958 AddLeadingZeros action 895
IsFieldHidden 923 WsMessageLineItem AddPaddingToEnd action 895, 896
IsFieldLengthMax 923 PropertySet 959 AddPaddingToLeft action 895, 896
IsFieldLengthMin 924 WsSetHeaderValue 959 AddPaddingToRight action 895, 897
IsFieldLessOrEqual 924 WsSetMessageLineItem AddPaddingToStart action 895, 897
IsFieldMatching 925 Property 960 AddPDFImageToDocument action 525,
IsFieldPercent NonNumeric 926 WsSetMessageProperty 961 527
IsFieldPercentAlpha 925 WsSetMessageTemplate 961 AddRecord action 497
IsFieldPercentNumeric 927 WsSetResponseNameSpace 962 AddTIFImageToDocument action 525,
IsMatchingJobID 927 WsUploadFile 962 528
IsMaxOMRChecked 928 WsUrlReplaceValue 963 AddToDate action
IsMinOMRChecked 928 WsUrlSet 963 description 990
IsPatternInField 929 WriteErrorMessage 646 AddToDetailErrorMsg action 619, 705
IsSupportedImageFile 929 Zones AddToErrorMsg action 619, 706
IsThisFieldEmpty 930 AdjustZonesToImageOffset 964 AddTrailingZeros action 895, 898
IsThisFieldFilled 930 AnchorPage 964 AddWord action 584
IsVariableEmpty 931 CalculateLocalOffset 965 AdjustZonesToImageOffset action 964
IsVariableFilled 931 CreateBlockCCO 965 administering
LeftTruncate 932 FindBlocks_WhiteSpace 966 job monitoring 244
MessageBox 932 FindDataBlocks 967 administering the application 243
ParseMultilineAddress 933 FindLineItems 967 AggregateKeyList action 649, 650
ParseName 934 FindRegExBlocks 967 AIndex web client 230
ReadCurrentObjVariable 934 FindZoneLineItems 968 configuring 231
ReadFieldValue 935 GetZoneText 969 Done Field Statuses 251
ReadPageVariableValue 936 InheritParentPosition 970 Done Page Statuses 251
ReplaceChars 936 LoadBlockCCO 970 Ignored Field Statuses 251
ReplaceValueAtPosition 937 LoadZones 971 ManualIDValidate rule 252, 254
ResetField 937 MCCOPositionAdjust 971 ManualPageID settings 252
RightTruncate 938 MergeZones 972 page identification 248
SaveAsCurrentObjVariable 938 PadZone 972 restructuring the batch 230
SaveAsPageVariable 939 PopulateZNField 973 updating the application 249
SetIsOverrideable 939 PopulateZNLineItemField 973 Validation Statuses 251
SplitFieldValueLeft 940 ReadZones 974 AllMixedCase action 619, 620
SplitFieldValuePreserveEnd 940, RegisterPage 975 AllowOnlyChars action 619, 620, 895,
941 ScanDetails 975 898
SplitFieldValueRight 941 ScanDetailsByLines 976 AlterDatebyDay action 619, 621
SumFields 941 ScanDetailsByVSpace 976 AnalyzeImage action 844, 845
TimeStampField 942 ScanLineItem 977 anchor objects
TrimSpaces 943 SetEOL 977 pattern matching 188, 190
TruncateFromEnd 943 SetEOL_CRLF 978 setting up 188
viewing details 135 ZoneBOTTOM_ ImageBottom 978 using multiple anchors 190
Vote ZoneBOTTOM_ LowerBound 979 anchor patterns identification
VoteFld 944 ZoneBOTTOM_ UpperBound 980 pattern matching 186
Vscan ZoneImage_SaveAs 980 AnchorPage action 964
AddDocument 945 ZoneLEFT_ImageLeft 981 AnnotateImage action 609
CopyFile 946 ZoneLEFT_LeftBound 982 AppendAllImages action 589, 590
DeleteImageFile 947 ZoneLEFT_RightBound 982 AppendAllImages_ByType action 589,
MoveImageFileToDirectory 947 ZoneRIGHT_ImageRight 983 590
Scan 948 ZoneRIGHT_LeftBound 983 AppendFromField action 895, 899
Index 1005
branching check box recognition (continued) code
configuring 54, 212 setting parent field variables 64 single-stepping through 146
defining conditions 200 check mark type ColorToBW actions
description 199 specifying 71 C2BW_Convert 369, 370
raising condition flags 199 CheckAllIntegrity C2BW_SetAttributes 369, 370
breakpoints 144 using 51 CombinePreviousDoc action
clearing 145 CheckAllIntegrity action 54, 860, 861 description 991
disabling 145 CheckAndFixDecimal action 619, 622 Common actions
full 144 CheckAndFixLocalDecimal action ExceptionSetFileTypes 371
generic 146 description 990 ExceptionSetHandler 371
setting 145 CheckDocCount action 860, 861 ExceptionSetTaskCondition 371
types 144 CheckDocID action 708 ExceptionSetVariableName 371
business requirements 1 CheckForSticky action 619, 623 SetNamePattern 371
developing 1 CheckFreeDiskSpace action 511, 619, 624 CommonParseAddress action 709
specifying field values 9 CheckFreeSpace action 511 CommonValAddress action 709
business validation rules 9 checking format validity 76 CompareFields action 895, 903
CheckPageCount action 860, 862 condition flags
CheckSubFields action 895, 902 raining for branching 199
C Chinese
language codes 60
raising for splitting 199
conditions
C2BW_Convert action 369, 370
ChkConfidence action 421 defining for branching 200
C2BW_SetAttributes action 369, 370
ChkDCOStatus action 421, 422 defining for splitting 200
Calculate action 895, 900
ChkDCOType action 421, 422 Confidence 289
calculated fields
ChkIntegrity action 421, 423 confidence level
validating 77
ChkLastDCOType action 421, 423 setting for pattern matching 188
CalculateDateDifference action 895, 900
ClearAltText action 421, 424 confidence levels
CalculateFields action 895, 901
ClearCurrentField action description 91
CalculateHCFALineCharges action 707
description 990 overriding default values 92
CalculateInvoiceTotalLocalized action
ClearDCO action 421, 425 runtime pages 41
description 990
ClearErrorMsg action 619, 624, 708 configuration
CalculateLineItemLocalized action
clearing breakpoints 145 Email Connector actions 130
description 990
ClearLookupResults action 696 Fax Connector actions 133
CalculateLocalOffset action 964, 965
CloseConnection action 696 FileNet Image Services Connector
CalculateNotesZone action 619, 621
CloseDatabase action 556 actions 124
CalculateOffset action 325, 326
CloseExportFile action 472, 474 FileNet P8 Connector 110
CalculateUBLineCharges action 707
CMISClient actions IBM Content Manager Connector
calculating cost fields
CMISCreateFolder 356 actions 106
creating validation rules 82
CMISDeleteFile 356, 357 Rulerunner 198
CallPOLR action 843
CMISDeleteFolder 356, 358 SharePoint Connector 119
CaptureOpInfo action 619, 622
CMISDoesFileExist 356, 359 configure remote scanning client 223
Car Type field
CMISDoesFolderExist 356, 360 configure the remote scanning client 245
preventing overrides 94
CMISDownloadFile 356, 361 configuring 228
car type rule
CMISLogDocumentTypes 356, 361 AIndex web client 231
creating validation rules 83
CMISLogin 356, 362 ProtoId web client 242
Car_Type field
CMISRefreshClientCache 356, 363 Verifine web client 226
attaching a dictionary 85
CMISSetDocUploadProperty 356, 364 configuring the export database 136
CC actions
CMISSetDocUploadType 356, 366 Configuring the Upload task 246
FindFingerprintCC 349
CMISSetVersion 366 Connect action 814
SetKnowledgeBaseCC 349
CMISUploadFile 356, 367 connect to the application 15
SetLanguageCC 349, 350
CMISUploadPage 356, 368 connection strings
SetListenerURLCC 349, 351
description 356 referencing from your actions 169
SetProblemValueCC 349, 352
CMISCreateFolder action 356 storing in the .app file 167
UpdateKnowledgeBaseCC 349, 352
CMISDeleteFile action 356, 357 ConnectOnConnectionError 814
Cco2cco actions
CMISDeleteFolder action 356, 358 ConnectOnFaxImportError 814
Cco2cco 353, 354, 355
CMISDoesFileExist action 356, 359 Connector actions
NormalizeCCO 353, 354
CMISDoesFolderExist action 356, 360 installation
SetMaxCharacter HeightAVG 355
CMISDownloadFile action 356, 361 verifying 101
SetMaxCharacter HeightTMM 355
CMISLogDocumentTypes action 356, log files 135
SetMaxCharacterHeightAVG 353
361 overview 101
SetMaxCharacterHeightTMM 353
CMISLogin action 356, 362 Connector Actions
CCONormalization_OFF action 844, 845
CMISRefreshClientCache action 356, 363 overview 103
check box options
CMISSetDocUploadProperty action 356, connectors
creating dictionaries 95
364 incorporating into applications 102
check box recognition
CMISSetDocUploadType action 356, 366 Content Engine
establishing parent fields 63
CMISSetVersion action 366 Authentication 102
methods 62
CMISUploadFile action 356, 367 ContinueOn FaxImportError action 816
OCR/A 64
CMISUploadPage action 356, 368 ContinueOnConnectionError action 815
pixel threshold evaluation method 65
Index 1007
Datacap Accounts Payable actions DataType dcpdf_CreateTiffFromPDF_CreateDocs
(continued) Setup DCO 291 action 437
Intellocate_Learning (continued) Verification panel dcpdf_MakePDFDoc action 437, 439
Learn_ZonesFPX 992 Datacap Web Client 291 dcpdf_MaxSizeToReconvert action 437,
IsFieldLocalCurrency 990 DateStampField action 895, 907 441
IsLocalDecimalSeparator 990 Dcclip actions dcpdf_SetApplication action 437, 442
IsOriginalEuroFormat 990 dci_clipfield 417 dcpdf_SetAuthor action 437, 442
IsWorkstationLocale 990 dci_clipfield action 417 dcpdf_SetImage Compression action 444
PageID 989 DCImageFix actions dcpdf_SetImageBitcount action 437, 443
PageIDByBCSep 992 ImageEnhance 418 dcpdf_SetImageCompression action 437
PageIDBySeqTypes 992 LoadSettings 418, 419 dcpdf_SetImageGrayscale action 437,
PageIDByVariableChange 992 LoadSettings_FingerprintID 418, 420 445
PreVerifySetup 989 DCO actions dcpdf_SetImageQuality action 437, 445
SetLabels 993 ChkConfidence 421 dcpdf_SetImageResolution action 437,
Redaction 989 ChkDCOStatus 421, 422 446
EraseRect 993 ChkDCOType 421, 422 dcpdf_SetKeywords action 437, 447
GetAllBarcodes 993 ChkIntegrity 421, 423 dcpdf_SetProducer action 437, 447
RedactByRegEx 993 ChkLastDCOType 421, 423 dcpdf_SetSubject action 437, 448
RedactField 993 ClearAltText 421, 424 dcpdf_SetTitle action 437, 449
Datacap applications ClearDCO 421, 425 dcpdf_UseAltConversion Method
architecture 2 CopyPD2DD 421, 425 action 449
Creating an application CountPagesToDocumentVar 426 dcpdf_UseAltConversionMethod
Datacap Studio 15 CreateDocuments 421, 426 action 437
specifying data format 10 CreateFields 421, 427 DD 288
Datacap Desktop DeleteFields 421, 428 debugging an application 141
Hardcopy local scans 27 IsDocumentCountMoreThan 428 DebugMode_OFF action 860, 862
Opening the batch 96 IsFirstDocumentInBatch 429 DebugMode_ON action 860, 863
Running the scan task 31 JoinPreviousDocument 429 default panel layout
scanning 27 PropagateToAltText 421, 430 exporting 239
Verifying pages 160 RemoveDocumentStructure 431 default rules
Datacap Desktop panels SetDCOStatus 421, 431 assigning to new fields 69
converting from Batch Pilot 269, 270 SetDCOType 432 assigning to new pages 69
converting from DotEdit 269 SetDocStatus 421, 432 DefaultValue action 649, 650
creating Datacap Desktop panels 270 SetDocumentType 421, 433 Defining group names for filtering
generating layout XML files 269 SetFldConfidence 421, 433 batches 255
reviewing layout XML files 269 SetPageFingerprintID 421, 434 Defining group names for filtering
Datacap Server SetPageStatus 421, 435 batchesApplication Manager
starting 11 SetPageTemplateID 421, 436 Application Manager 255
Datacap software SetPageType 421, 437 defining recognition zones 154
upgrading 265 DCOProperty action 472, 475 DeleteAllAlpha action 895, 907
Datacap Studio 11 dcpdf actions DeleteAllMiscChars action 895, 908
Application wizard dcpdf_CreateTiff DeleteAllNumeric action 895, 908
Convert application from previous FromPDF_CreateDocs 437 DeleteAllPunct action 895, 909
version 15 dcpdf_CreateTiffFrom DeleteAllSysChars action 895, 909
Copy an application 15 PDF_CreateDocs 438 DeleteChildType action 895, 910
Create an application 15 dcpdf_CreateTiffFromPDF 437 DeleteDirectory action 511, 514
Assigning a group to a batch dcpdf_MakePDFDoc 437, 439 DeleteFields action 421, 428
Add a rule 256 dcpdf_MaxSizeToReconvert 437, 441 DeleteFile action 511, 515
debugging an application 144 dcpdf_SetApplication 437, 442 DeleteFingerprint action 325, 327, 556,
description 12 dcpdf_SetAuthor 437, 442 557
document hierarchy 17 dcpdf_SetImage Compression 444 DeleteFingerprints action 556, 557
examining log files 147 dcpdf_SetImageBitcount 437, 443 DeleteImageFile action 945, 947
processing a batch 40 dcpdf_SetImageCompression 437 DeleteLCSpaces action 895, 910
Rulemanager tab 12 dcpdf_SetImageGrayscale 437, 445 DeleteParentObj action 895, 911
tabs 12 dcpdf_SetImageQuality 437, 445 DeleteSelectedChars action 895, 911
Test tab 14 dcpdf_SetImageResolution 437, 446 DeleteWord action 584, 585
user interface 11 dcpdf_SetKeywords 437, 447 density string values
Zones tab 13 dcpdf_SetProducer 437, 447 interpreting 74
Datacap Web Client dcpdf_SetSubject 437, 448 DensityString 291
Creating the scan task 30 dcpdf_SetTitle 437, 449 DetailFix action 619, 625
enabling logging 141 dcpdf_UseAltConversion DICT
Hardcopy local scans 27 Method 449 Setup DCO 292
remote scanning 222 dcpdf_UseAltConversionMethod 437 Verification panel
Running the scan task 31 dcpdf_CreateTiffFrom PDF_CreateDocs Datacap Desktop 292
scanning 27 action 438 Datacap Web Client 292
Verifying batches 97 dcpdf_CreateTiffFromPDF action 437 dictionaries
DATAFILE 289 attaching to a field 85
Index 1009
ExcelScalingFactor action 375, 380 Export task profile (continued) Fax Connector Actions
ExcelTiffCompression action 375, 381 adding the ruleset import examples 134
ExcelWorkbookToImage action 375, 382 Export XML ruleset 140 field data
ExceptionSetFileTypes action 371, 372 Export XML rules locating with text matching 179
ExceptionSetHandler action 371, 372 attaching to the document field definitions
ExceptionSetTaskCondition action 371, hierarchy 140 sharing across the document
374 ExportAllFields action 472, 476 hierarchy 22
ExceptionSetVariableName action 371, ExportBatchIDToColumn action 497, 498 field values
373 ExportCloseConnection action 497, 499 specifying 9
ExecuteSQL action 696, 697 ExportDB actions FieldContainsValue action 895, 912
ExecuteSQLBind action 619, 627 AddRecord 497 fields
Export actions ExportBatchIDToColumn 497, 498 data verification 90
BatchVariable_ExportValue 472 ExportCloseConnection 497, 499 on pages
BlankFields 472 ExportFieldToColumn 497, 500 specifying structure 22
BlankLines 472, 473 ExportNodeXMLToColumn 497, 501 preventing validation failure
BPilot 472, 473 ExportOpenConnection 497, 502 overrides 94
CloseExportFile 472, 474 ExportPropertyToColumn 497, 503 FileIO actions
DCOProperty 472, 475 ExportSmartParam ToColumn 504 AppendAllImages 590
DocumentVariable_Export Value 476 ExportSmartParamToColumn 497 AppendAllImages_ByType 590
DocumentVariable_ExportValue 472 ExportToColumn 497, 505 AppendImage 591
ExportAllFields 472, 476 SetTableName 497, 506 AppendImage_StartAsNew 592
ExportFieldValue 472, 477 ExportDB ruleset CheckFreeDiskSpace 511
ExportMYValue 472, 477 adding rules 161 CheckFreeSpace 511
ExportSmartParameter 472, 478 creating 136 ConvertToJPEG 593
ExportToBatchDir 472, 478 ExportFieldToColumn action 497, 500 ConvertToTIFF 593
Filler 472, 479 ExportFieldValue action 472, 477 CopyDirectory 511, 512
FixedLenLJ 472, 479 Exporting information from the CopyFile 511, 513
FixedLenRJ 472, 480 DCO 261 DeleteDirectory 511, 514
GetDATE 472, 481 exporting position information 262 DeleteFile 511, 515
GetProfileString 472, 481 exporting text GetFileSize 511, 516
GetTime 472, 482 IBM Content Manager GetProfileString 511, 517
LineItem_AddElement 472, 483 OnDemand 100 IsDirectoryPresent 511, 518
LineItem_BlankFields 472, 484 exporting to XML IsFilePresent 511, 519
LineItem_ClearElements 472, 484 creating ruleset 138 IsFileReadOnly 511, 520
LineItem_ExportElements 472, 485 ExportMYValue action 472, 477 IsProfilePresent 511, 521
LineItem_SmartParameter 472, 485 ExportNodeXMLToColumn action 497, RenameFile 511, 522
NewLine 472, 486 501 SetChrominanceFactor 594
PageVariable_ExportValue 472, 487 ExportOpenConnection action 497, 502 SetDeleteOriginal 595
ResetFieldVariables 472, 487 ExportPropertyToColumn action 497, SetFileReadOnly 511, 523
SaveFilePathAsVariable 472, 488 503 SetGrayScale 595
SetCSV 472, 488 ExportSmartParameter action 472, 478 SetLuminanceFactor 596
SetElementSeparator 472, 489 ExportSmartParamToColumn action 497 SetProfileString 511, 523
SetExportPath 472, 490 ExportToBatchDir action 472, 478 SetTIFFCompression 597
SetExtensionName 472, 490 ExportToColumn action 497, 505 SplitFileName 511, 524
SetFileName 472, 491 ExportXML actions FileNet Doc ID Set Value action 525
SetFill 472, 492 xml_CommitNode 507 FileNet Image Services Connector
SetFixedLength 472, 492 xml_NewNode 507 file upload examples 124
SetIgnoreFieldStatus 472, 493 xml_SaveFile 507, 508 FileNet Image Services Connector actions
SetJustified 472, 493 xml_SetAttributeValue 507, 509 configuring 124
SetOMR_Separator 472, 494 xml_SetExportPath 507, 510 overview 122
SetSpaceFill 472, 494 xml_SetFileName 507, 510 parameter settings 123
SetZeroFill 472, 495 xml_SetNodeValue 507, 511 prerequisites 122
Text 472, 496 ExportXML ruleset FileNet P8 actions
Variable_ExportValue 472, 496 accessing the runtime hierarchy 169, FNP8_ SetDestinationFolder 542
Variable_IsValue 472, 497 170 FNP8_ SetDocClassId 542
export database creating 138 FNP8_ SetDocTitle 542
configuring 136 FNP8_ SetFileType 542
export database table FNP8_ SetKeyProperty 542
creating 161
Export Rental Agreement Data rule
F FNP8_ SetLocale 542
FNP8_ SetMimeType 542
FailRuleSet action 895, 912
attaching to the rental agreement FNP8_ SetMultiValueProperty 542
Fax Actions
page 137 FNP8_ SetProperty 542
authentication 102
export task FNP8_ SetRetry 542
Fax Connector actions 132
testing 137, 140 FNP8_ SetTargetClassID 542
configuring 133
Export task profile FNP8_ SetTargetObjectID 542
parameter settings 132
adding a ruleset FNP8_ SetTimeout 542
prerequisites 132
ExportDB ruleset 137 FNP8_ SetUploadMode 542
Index 1011
FNP8_SetKeyProperty action 547 GetProfileString action 472, 481, 511, 517 global actions (continued)
FNP8_SetLocale action 547 GetTime action 472, 482 MC_Validation 705
FNP8_SetMultiValue Property GetTopFolders action 525, 531 mvscan 724
action 548 GetZoneText action 964, 969 OCR_A 780
FNP8_SetProperty action 549 global actions 325 OCR_N 792
FNP8_SetPropertyEx action 550 Application setup 738 OCR_S 794
FNP8_SetTargetClassID action 551 Autodoc 325 OCR_SR 806
FNP8_SetTargetObjectID action 551 Barcode_P 338 OpenTextFaxServer 814
FNP8_SetTimeout action 552 Barcode_X 346 Outlook 389
FNP8_SetUploadMode action 552 Batch processing 761 overview 325
FNP8_SetURL action 553 CC 349 PatternMatch 830
FNP8_UpdateProperties action 554 Cco2cco 353 Pdf 393
FNP8_Upload action 542, 554 ColorToBW 369 PdfFRE 399
FNP8_UploadDir action 542, 555 Common 371 Picture 837
FormatFieldLengths action 711 Convert 371 POLR 843
FormatNumberToLocale action 895, 914 Common 371 Query setup 746
FPXML Excel 375 Recog_Shared 844
auto fingerprinting 262 Html 383 Reporting 778
enabling 260 Images 385 rrunner 860
Fingerprint XML file Outlook 389 Rtf 404
Zone position 259 Pdf 393 SPExport 882
FPXML actions PdfFRE 399 Split 888
ReadZonesFPX 560 Rtf 404 Tiff 407
SetDetailsAndLineitemPairFPX 560, Tiff 407 TifMerge 890
561 Txt 409 TM524 895
SetDirectoryFPX 560, 562 Word 412 Txt 409
WriteZoneFPX 560, 563 Zip 415 Validations 895
WriteZonesFPX 560, 563 Dcclip 417 Vote 944
FPXMLUsed action 619, 627 DCImageFix 418 Vscan 945
French DCO 421 Web Services 955
language codes 60 dcpdf 437 Word 412
full breakpoints 144 Documentum 450 Zip 415
Email 454 Zones 964
Equalize 459 GoAboveWord action 649, 669
G Ewsmail 460
Excel 375
GoBelowWord action 649, 669
GoDownLine action 649, 670
generate
Export 472 GoFirstLine action 649, 671
layout XML files 269
ExportDB 497 GoFirstWord action 649, 671
GenerateDetails action 619, 628
ExportXML 507 GoLastLine action 649, 672
generation
FileIO 511 GoLastWord action 649, 672
automatic fingerprint generation 202
FileNet P8 542 GoLeftWord action 649, 673
fingerprints 202
FileNetIDM 525 GoRightWord action 649, 674
generic breakpoints
FingerprintMaintenance 556 GoToNextFunction action 860, 863
setting 146
FPXML 560 GoUpLine action 649, 674
geometric pattern matching
Grayscale 564 Grayscale actions
pattern matching 189
Html 383 ConvertGraytoBW 564
updating the TravelDocs
IBMCM 565 grid totals
application 194
ICR_C 578 validating 158, 159
reviewing runtime batch files 196
ICR_P 584 Group authentication
running a batch through the
ImageConvert 589 ADSI group authentication 254
workflow 195
ImageFix 597 Filter batches by group
setting up anchor zones 194
Images 385 Job Monitor 254
updating the PageID rule 194
Imail 597 LDAP group authentication 254
using 189
Imprint 609 LLLDAP group authentication 254
German
Intellocate 615 GroupWords action 649, 675
language codes 60
Invoice 619 GroupWordsLEFT action 649, 676
Get2DCodesBP action 338
IOverlay 646 GroupWordsRIGHT action 649, 676
GetAllBarcodes action
Locate 649
description 993
Logging 772
GetAllBarcodesBP action 338, 339
GetBarCode action 346
Lookup 696
Maintenance Manager 737
H
GetBarcodeBP action 340 handle document failures
Application setup 738
GetBarcodesBP action 338 updating the TravelDocs application
Batch processing 761
GetDataMatrixCodeBP action 338, 342 configuring Rulerunner to run
Logging 772
GetDATE action 472, 481 CreateDocs 208
Query setup 746
GetDocuments action 525, 530 creating the CreateDocs task 207
Reporting 778
GetFileSize action 511, 516 moving document creation and
MC_Identify 701, 987
GetJobID action 895, 915 integrity checking 207
Index 1013
Imprint action 609 Invoice actions (continued) IsFieldLocalCurrency action
ImPrint action 610 IsChildFieldValue 619, 630 description 990
Imprint actions IsCurrentObjValue 619, 631 IsFieldMatching action 895, 925
AnnotateImage 609 IsCurrentObjVariable 619, 631 IsFieldPercentAlpha action 895, 925
Imprint 609 IsFingerPrintClass 619, 631 IsFieldPercentNonNumeric action 895,
ImPrint 610 IsInINI 619, 632 926
Redact 609, 610 IsInList 619, 632 IsFieldPercentNumeric action 895, 927
RedactByRegEx 609, 611 IsMultipageDocument 619, 633 IsFilePresent action 511, 519
RedactParameters 609, 612 IsSinglePageDocument 619, 633 IsFileReadOnly action 511, 520
SetAdjustedWidth 609, 613 IsStationIDSuffix 619, 634 IsFingerPrintClass action 619, 631
SetFontName 609, 614 IsTaskName 619, 634 IsFirstDocInBatch action
SetFontSize 609, 614 JobNamePrefix 619 description 991
SetOpaque 609, 615 LoadCCOFromField 619, 637 IsFirstDocumentInBatch action 429
IncrementBatchVar action 619, 629 MovePDF 619, 638 IsInINI action 619, 632
Index 292 OpenConnection 619, 638 IsInList action 619, 632
IndexProperty_ ID_Component ParseImageName 619, 638 IsInvoiceFromUS action
action 525, 531 PopulateZNLineItem description 990
IndexProperty_ ID_DateComponent FieldDynamic 619, 639 IsLocalDecimalSeparator action
action 525 ReadFPXMLZones 619, 640 description 990
IndexProperty_ ID_Value action 525 SaveObjectVariable 619, 640 IsMatchingJobID action 895, 927
IndexProperty_ LeftJUSTIFY action 525, ScanLineItemDynamic 619, 641 IsMaxOMRChecked action 895, 928
534 SendOutlookNotification 619, 641 IsMinOMRChecked action 895, 928
IndexProperty_ RightJUSTIFY SetDynamicDetailZones 619, 642 IsMultipageDocument action 619, 633
action 525, 534 SetPicChar 619, 642 IsNumber action 649, 679
IndexProperty_ SmartParameter SetStickyNo 619, 642 IsOriginalEuroFormat action
action 525, 535 SetToDocIDMPTIFF 619, 643 description 990
IndexProperty_ID_Value action 533 SwapImages 619, 644 IsPageDataMissing action 615, 618
individual field positions SwitchMMDD 619, 644 IsPatternInField action 895, 929
adjusting for pattern matching 194 UpdateFPStats 619, 645 IsProfilePresent action 511, 521
InheritParentPosition action 964, 970 ValidateVendor 619, 645 IsSinglePageDocument action 619, 633
InheritSnippets action 712 WriteErrorMessage 619, 646 IsStationIDSuffix action 619, 634
InsertChars action 895, 916 IOverlay actions IsSupportedImageFile action 895, 929
InsertDecimalPoint action 895, 916 Overlay 646 IsTaskName action 619, 634
installation SetBackgroundImage 646, 647 IsThisFieldEmpty action 895, 930
verifying SetDitheringBackground 646, 648 IsThisFieldFilled action 895, 930
Connector actions 101 SetHaloBackground 646, 648 IsValue action 649, 680
Intellocate actions Is_InCharSet action 619, 635 IsValue_RegEx action 649, 681
iloc_AdjustZones 615 Is_JobName action 619, 636 IsVariableEmpty action 895, 931
iloc_AssignPageType 615, 616 Is_JobNamePrefix action 637 IsVariableFilled action 895, 931
iloc_SetDetailZones 615, 617 IsAlpha action 649, 677 IsWorkstationLocale action
iloc_SetZones 615, 618 IsBlankPage action 844, 847 description 990
IsPageDataMissing 615, 618 IsChildFieldBlank action 619, 629 Italian
Invoice actions IsChildFieldValue action 619, 630 language codes 60
AddToDetailErrorMsg 619 IsCurrency action 649, 678
AddToErrorMsg 619 IsCurrentObjValue action 619, 631
AllMixedCase 619, 620
AllowOnlyChars 619, 620
IsCurrentObjVariable action 619, 631
IsDate_FormatEuro action
J
job information
AlterDatebyDay 619, 621 description 990
accessing 172
CalculateNotesZone 619, 621 IsDateValue action 649, 679
Job Monitor
CaptureOpInfo 619, 622 IsDirectoryPresent action 511, 518
setting up 204
CheckAndFixDecimal 619, 622 IsDocumentCountMoreThan action 428
job monitoring 244
CheckForSticky 619, 623 IsFieldCurrency action 895, 917
JobNamePrefix action 619
CheckFreeDiskSpace 619, 624 IsFieldDate action 895, 917
jobs
ClearErrorMsg 619, 624 IsFieldDateEqualOrAfter action 895, 918
creating 202
CreateFingerprint 619, 625 IsFieldDateEqualOrBefore action 895,
creating to handle special
DetailFix 619, 625 918
conditions 201
DoMsgbox 619, 626 IsFieldDateUpToToday action 895, 919
description 23
ExecuteSQLBind 619, 627 IsFieldDateWithinRange action 895, 919
JoinPreviousDocument action 429
FindExportImage 619, 627 IsFieldDateWithinXDays action 895, 920
FPXMLUsed 619, 627 IsFieldDateWithReformat action 895, 921
GenerateDetails 619, 628 IsFieldEmpty action 895, 921
iloc_SetDetailSimple 619, 628 IsFieldFilled action 895, 922 K
IncrementBatchVar 619, 629 IsFieldGreaterOrEqual action 895, 922 key name
Is_InCharSet 619, 635 IsFieldHidden action 895, 923 determining for smart
Is_JobName 619, 636 IsFieldLengthMax action 895, 923 parameters 167
Is_JobNamePrefix 637 IsFieldLengthMin action 895, 924 keyword lists
IsChildFieldBlank 619, 629 IsFieldLessOrEqual action 895, 924 using with text matching 178
Index 1015
Lookup actions Maintenance Manager actions (continued) MC_Validation actions (continued)
ClearLookupResults 696 Query setup (continued) AddToDetailErrorMsg 705
CloseConnection 696 QuerySetDateTimeFormat 746, AddToDetailMsg 705
ExecuteSQL 696, 697 752 AddToErrorMsg 705, 706
OpenConnection 696, 698 QuerySetGeneric 746, 755 CalculateHCFALineCharges 705, 707
PopulateWithResult 696, 699 QuerySetJobID 746, 755 CalculateUBLineCharges 705, 707
SmartSQL 696, 700 QuerySetOperator 746, 756 CheckDocID 705, 708
lookup database QuerySetPriority 746, 757 ClearErrorMsg 705, 708
validating car type 83 QuerySetSeparator 746, 758 CommonParseAddress 709
lookup database table QuerySetStation 746, 758 CommonParseAddresser 705
creating 83 QuerySetStatus 746, 759 CommonValAddress 705, 709
LookupEx QuerySetTaskID 746, 760 ConvertHyphen 705, 710
Setup DCO 293 Reporting 737 FilterPID 705, 711
Verification panel ReportQueryTMUsage 778 FormatFieldLengths 705, 711
Datacap Desktop 293 ReportSetReportingTable 778 InheritSnippets 705, 712
Datacap Web Client 293 ReportSetUsageDBTable 778, 779 MC_ReadZones 705, 713
MakeFieldHighConfidence action Parse31aPhSig 705, 713
description 990 Parse58ainsnm 705, 714
M manual page identification 35
adding a function 209
Parse58binsnm 714
Parse58cinsnm 705, 715
Maintenance Manager actions
adding routing to enable 209 ParseConditionCodes 705, 715
Application setup 737
adding the conditional branch to the ParseEPSDT 705, 716
SetAdminDB 738
PageID task 211 ParseLastFirstIniNames 705, 716
SetApplication 738, 739
configuring branching 212 ParseNDC 705, 717
SetEngineDB 738, 739
configuring the Routing ruleset 213 PopulateFromField 705, 718
SetPassword 738, 740
creating the ManualPageID job and SetConf 705, 718
SetServer 738, 741
task 211 SetOriginalTIF 705, 719
SetStation 738, 742
recognizing the data on an StripTrailingAlpha 705, 720
SetupDisconnectAll 738, 742
unidentified page 214 TransformLI 705, 720
SetupOpenApplication 738, 743
running a batch through the UpdateCredentialList 705, 722
SetupOpenApplicationEx 738, 744
workflow 213 ValidateNPI 705, 723
SetUser 738, 745
updating the Recognize Page ValProcedureCode 705, 723
Batch processing 737
ruleset 210 ValRequiredCode 705, 724
ProcessChange BatchStatus 761
Manual page identification and MCCOPositionAdjust action 964, 971
ProcessChangeBatch
registration 236 medical claim forms
StatusOrder 761, 762
ManualIDValidate rule recognizing 66
ProcessChangeBatch
creating 252 Medical Claims
StatusTaskOrder 761
testing 254 5010 form configuration 301
ProcessChangeBatchStatus 761
ManualPageID actions 986
ProcessChangeBatchStatus
updating 250 Medical Claims Capture
TaskOrder 762
ManualPageID job 5010 Institutional form
ProcessClearAuditTable 761, 763
creating 211 configuration 301
ProcessClearDebugTable 761, 764
ManualPageID settings 5010 Professional form
ProcessDeleteBatches 761, 764
editing 252 configuration 312
ProcessDeleteBatchesEx 761, 765
ManualPageID task MergeCCOs_ByType action 325, 330
ProcessInjectBatches 761, 766
creating 211 MergeLineItem FieldToPageField action
ProcessMoveBatches 761, 766
MatchBarCode action 346, 347 description 991
ProcessMoveBatchesEx 767
MatchBarcodeBP action 338, 343 MergePageFieldToDocVar action
ProcessMoveBatchesEX 761
MatchBarcodePrefixBP action 338, 344 description 991
ProcessMoveDBRecords 761, 769
MatchPattern action 830 MergeWordLF action 649, 682
ProcessReset Pending
MAX_TYPES 285 MergeWordRT action 649, 683
OrNotify 770
MaxLength MergeZones action 964, 972
ProcessResetPendingOrNotify 761
Setup DCO 294 MESSAGE 285
ProcessRunSqlQuery 761, 771
Verification panel MessageBox action 895, 932
Logging 737
Datacap Web Client 294 METRIC 294
LogClear 772
MaxLength action 649, 681 migrate
LogConfigure 772, 773
MC_Identify actions Application Wizard 267
LogSendEmail 772, 774
AutoField 701, 987 applications 267
LogWriteEventLog 772, 775
FindFields 701, 987 converting panels 269, 270
LogWriteRecordSet 772, 776
ReadDCOSetup 701, 702, 987 creating Datacap Desktop panels 270
LogWriteSQLQuery 772, 777
ReadPageSetup 701, 703, 987 generating layout XML files 269
Query setup 737
SetFormType 701, 703, 987 reviewing layout XML files 269
QueryClear 746
SetMaxTolerantDistance 701, 704, 987 migration
QuerySetAge 746, 747
MC_ReadZones action 713 overview 265
QuerySetBatchRange 746, 748
MC_Validation 987 MIN_TYPES 285
QuerySetBranch 746, 748
MC_Validation actions MinLength action 649, 683
QuerySetDateFormat 746, 749
AddCenturyTo2YearDigit 705
QuerySetDateRange 746, 751
Index 1017
panels pattern matching (continued) PIC_FormatFields action 837, 839
converting 269, 270 using the PatternMatch_Identify PIC_ReplaceBlankField action 841
creating Datacap Desktop panels 270 action 189 PIC_ReplaceBlankField ation 837
generating layout XML files 269 when to use 186 PIC_SetPictureCharacter action 837, 842
reviewing layout XML files 269 PatternConfidence 290 PIC_ValidateField action 837, 843
parameter settings PatternMatch 295 Picture actions
Documentum Connector actions 113 PatternMatch actions PIC_ApplyPictureString 837
Email Connector actions 128 MatchPattern 830 PIC_FilterFields 837, 838
Fax Connector actions 132 pat_RecogMatch_Id 830, 831 PIC_FormatFields 837, 839
FileNet Image Services Connector pat_RegisterZones 830, 832 PIC_ReplaceBlankField 837, 841
actions 123 pat_ReleasePageAnchors 830, 833 PIC_SetPictureCharacter 837, 842
FileNet P8 Connector actions 109 PatternMatch_Fingerprint 830, 833 PIC_ValidateField 837, 843
IBM Content Manager Connector PatternMatch_Identify 830, 834 PictureString
actions 105 PatternMatch_PageType 830, 835 Setup DCO 296
SharePoint Connector actions 117 SetMatchConfidence 830, 836 Verification panel
parameters PatternMatch_Fingerprint action 830, Datacap Web Client 296
storing in the .app file 167 833 PilotMessage_Clear action 860, 864
parent field PatternMatch_Identify action 830, 834 PilotMessage_Set action 860, 864
setting the required variables 64 description 189 pixel threshold evaluation method
Parse31aPhSig action 713 pattern matching 189 check box recognition 65
Parse58ainsnm action 714 PatternMatch_PageType action 830, 835 pixel threshold recognition
Parse58binsnm action 714 PD 290 checking values 73
Parse58cinsnm action 715 Pdf actions density string values 73
ParseConditionCodes action 715 PDFBitDepth 393 POLR actions
ParseEPSDT action 716 PDFCompression 393 CallPOLR 843
ParseImageName action 619, 638 PDFConversionMethod 393, 394 PopulateFromField action 718
ParseLastFirstIniNames action 716 PDFDocumentToImage 393, 395 PopulateTaxType action
ParseMultilineAddress action 895, 933 PDFGrayscale 393, 396 description 990
ParseName action 895, 934 PDFHorizontalResolution 393, 396 PopulateWithResult action 696, 699
ParseNDC action 717 PDFQuality 393, 397 PopulateZNField action 964, 973
passwords PDFVerticalResolution 393, 398 PopulateZNLineItemField action 964,
referencing from your actions 169 PDFBitDepth action 393 973
storing 103 PDFCompression action 393 PopulateZNLineItemFieldDynamic
storing in the .app file 167 PDFConversion Mode action 399 action 619
pat_RecogMatch_Id action 830, 831 PDFConversionMethod action 393, 394 Portuguese
description 192 PDFConversionMode action 399 language codes 60
pattern matching 192 PDFDocumentTo Image action 399 Pos<templateID> 297
pat_RegisterZones action 830, 832 PDFDocumentToImage action 393, 395, Position 297
adjusting the positions of individual 400 prerequisites
fields 191 PdfFRE actions Documentum Connector actions 113
pattern matching 191 PDFConversion Mode 399 Email Connector actions 127
pat_ReleasePageAnchors action 830, 833 PDFConversionMode 399 Fax Connector actions 132
pattern matching PDFDocumentTo Image 399 FileNet Image Services Connector
adjusting images 185 PDFDocumentToImage 400 actions 122
adjusting individual field PDFImage Compression 399 FileNet P8 Connector actions 108
positions 194 PDFImageCompression 400 IBM Content Manager Connector
adjusting the positions of individual PDFImageFile Extension 399 actions 104
fields 191 PDFImageFile Resolution 399 SharePoint Connector actions 117
anchor patterns 186 PDFImageFileExtension 402 ProcessChangeBatchStatus action 761
auto registration PDFImageFileResolution 403 ProcessChangeBatchStatusOrder
using the FindFingerprint PDFImageUse FastBinarization 404 action 761
action 187 PDFImageUseFastBinarization 399 ProcessChangeBatchStatusTaskOrder
considerations 186 PDFGrayscale action 393, 396 action 761
description 185 PDFHorizontalResolution action 393, ProcessChildren action 860, 865
determining runtime field 396 ProcessClearAuditTable action 761, 763
positions 193 PDFImage Compression action 399 ProcessClearDebugTable action 761, 764
identifying pages 185 PDFImageCompression action 400 ProcessDeleteBatches action 761, 764
image registration 186 PDFImageFile Extension action 399 ProcessDeleteBatchesEx action 765
overview 185 PDFImageFileExtension action 402 ProcessDeleteBatchesEX action 761
setting the confidence level 188 PDFImageFileR esolution action 399 ProcessInjectBatches action 761, 766
setting up anchor objects 188 PDFImageFileResolution action 403 ProcessMoveBatches action 761, 766
text-based 192 PDFImageUse FastBinarization ProcessMoveBatchesEx action 767
using geometric pattern action 399, 404 ProcessMoveBatchesEX action 761
matching 189 PDFQuality action 393, 397 ProcessMoveDBRecords action 761, 769
using multiple anchor objects 190 PDFVerticalResolution action 393, 398 ProcessResetPendingOrNotify action 761
using the pat_RecogMatch_Id PIC_ApplyPictureString action 837 ProcessRunSqlQuery action 761, 771
action 192 PIC_FilterFields action 837, 838 PropagateToAltText action 421, 430
Index 1019
Reporting actions rrunner actions (continued) runtime batch folder
ReportQueryTMUsage 778 rrPrepend 860, 875 batch indentifier 29
ReportSetReportingTable 778 rrSet 860, 875 contents 40
ReportSetUsageDBTable 778, 779 SetBatchPriority 860, 876 location 29
ReportQueryTMUsage action 778 SetOperatorID 860, 877 runtime batch hierarchy
ReportSetReportingTable action 778 SetReturnValue 860, 877 defined 16
ReportSetUsageDBTable action 778, 779 SetStationID 860, 878 relation to document hierarchy 17
ReqConf 298 SetTaskStatus 860, 878 runtime data file
ResetField action 895, 937 SkipChildren 860, 879 updating with the recognized
ResetFieldVariables action 472, 487 Status_Preserve_OFF 860, 879 text 180
restructuring the batch Status_Preserve_ON 860, 880 runtime field positions
using AIndex 230 Task_NumberOfSplits 860, 881 determining for pattern
using VeriFine 226 Task_RaiseCondition 860, 881 matching 193
review Rtf actions runtime hierarchy
layout XML files 269 RtfPrintQuality 404, 405 accessing 169, 170, 171
RightTruncate action 895, 938 RtfTiffCompression 404, 405 Runtime page data file 232
RotateImage action 794, 802 RtfToImage 404, 406 runtime pages
RotateImageOCR_A action 780, 790 RtfPrintQuality action 404, 405 checking confidence levels 41
RotateImageOCR_S action 806, 812 RtfTiffCompression action 404, 405 Russian
RotateTio action 844, 852 RtfToImage action 404, 406 language codes 60
route documents rule execution
branching 199 batch-level example 42
splitting 199
using branching and splitting 198
page identification order 45
page-level example 43
S
sample applications
Routing ruleset summary 46
opening 11
configuring 213 validation order 45
sample fingerprints
updating to split the branch 218 Rulemanager tab
enhancing 38
rr_AbortBatch action 860, 865 panels 12
sample images 28
rr_Get action 860, 866 Rulerunner
SaveAsCurrentObjVariable action 895,
rr_WriteNode action 860, 867 configuring 198
938
rrAppend action 860, 867 description 197
SaveAsPageVariable action 895, 939
rrCompare action 860, 868 log files 142
SaveDocToFolder action 525, 539
rrCompareCase action 868 logging 198
SaveFilePathAsVariable action 472, 488
rrCompareCaseLength action 870 operating 198
SaveObjectVariable action 619, 640
rrCompareNot action 860, 871 overview 197
SaveToFile action 584, 588
rrCompareNotCase action 872 Rulerunner log file
scan
rrCompareNotCaseLength action 873 analyzing 206
remotely 223
rrCopy action 860, 874 disabling 206
Scan
rrPrepend action 860, 875 Rulerunner logging
local 29
RRS enabling 204
remotely
log files 142 Rulerunner logs
start panel 223, 224
RRS log file Set logging by application 143
virtual 225
reviewing 217 Set logging by task 143
scan action 724
rrSet action 860, 875 rules 25, 286
Scan action 945, 948
rrunner actions add existing to new pages 153
scan task
AbortOnError 860 assigning default to new fields 69
creating a shortcut 30
CheckAllIntegrity 860, 861 assigning default to new pages 69
ScanDetails action 964, 975
CheckDocCount 860, 861 association with document
ScanDetailsByLines action 964, 976
CheckPageCount 860, 862 hierarchy 41
ScanDetailsByVSpace action 964, 976
DebugMode_OFF 860, 862 attaching to the document
ScanLineItem action 964, 977
DebugMode_ON 860, 863 hierarchy 155
ScanLineItemDynamic action 619, 641
GoToNextFunction 860, 863 business validation 9
scanning 26
PilotMessage_Clear 860, 864 creating to remove the non-line
electronic documents 26
PilotMessage_Set 860, 864 items 157
local scanner 27
ProcessChildren 860, 865 order of execution 43
virtual 26
rr_AbortBatch 860, 865 rulesets 24, 25
Scanning remotely 244
rr_Ger 866 modifying 28
scanningDatacap Web Client
rr_Get 860 RunFlexIDPanel action
remote 27
rr_WriteNode 860, 867 description 992
ScanRT action 649, 687
rrAppend 860, 867 running a batch through the
ScanSrcPath 290
rrCompare 860, 868 workflow 156, 253, 263
SearchInSubdirectory action 945, 949
rrCompareCase 868 running the batch through the workflow
SELECT
rrCompareCaseLength 870 preparing 263
Setup DCO 298
rrCompareNot 860, 871 Running the scan task
Verification panel
rrCompareNotCase 872 Datacap Desktop 31
Datacap Desktop 298
rrCompareNotCaseLength 873 Datacap Web Client 31
Datacap Web Client 298
rrCopy 860, 874
SelectSnippet action 649, 687
Index 1021
Smart parameter special variables splitting (continued) text matching (continued)
accessing job and task raising condition flags 199 locate fields 149
information 277 standard variables 285 locating data 176, 177
accessing runtime hierarchy 273 all object types 285 locating field data 179
accessing the application configuration batch variables 288 locating simple strings 177
file 271 document variables 288 updating the runtime data file 180
miscellaneous 279 field variables 291 updating the TravelDocs
smart parameters page variables 289 application 181
accessing the runtime hierarchy 169 Start panel for remote scan 223, 224 attaching rules to the document
application settings running validation rules 225 hierarchy 184
accessing with special STATUS 286 identifying unrecognized
variables 166 status codes pages 181
determining the correct key interpreting 89 recognizing data 182
name 167 status values running a batch through the
elements 164 field 86 workflow 184
overview 164 page 86 using keyword lists 178
structure 164 Status_Preserve_OFF action 860, 879 using regular expressions 178
using 164 Status_Preserve_ON action 860, 880 Text matching
SmartSQL action 696, 700 Sticky page identification example 34
SnapCCOtoDCO action 844, 857 Setup DCO 299 text matching to locate fields 149
SnapDCOtoCCO action 844, 858 Verification panel text-based pattern matching 192
SnapFieldtoChars action 844, 859 Datacap Web Client 299 Tiff actions
SP_CreateFolder action 882 strings SplitMultipageTiff 407
SP_Login action 882 locating with text matching 177 SplitTIFFCompression 407, 408
SP_SetContentType action 882, 883 StripTrailingAlpha action 720 TifMerge actions
SP_SetFileType action 882, 884 structured documents 47 TifMerge_CheckStatus 890
SP_SetProperty action 882, 885 SumFields action 895, 941 TifMerge_ExportToBatchDir 890, 891
SP_SetUploadMode action 882, 885 supported language codes TifMerge_MergeImages 890, 891
SP_SetUrl action 882, 886 Chinese 60 TifMerge_MyImage 890, 892
SP_Upload action 882, 886 Dutch 60 TifMerge_Preserve Compression 893
SP_Upload Dir 882 Eastern European 60 TifMerge_PreserveCompression 890
SP_UploadDir action 887 English 60 TifMerge_SetFileName 890, 894
Spanish French 60 TifMerge_SetFilePath 890, 894
language codes 60 German 60 TifMerge_CheckStatus action 890
special conditions Italian 60 TifMerge_ExportToBatchDir action 890,
creating jobs for 201 Portuguese 60 891
special variables Russian 60 TifMerge_MergeImages action 890, 891
accessing job information 172 Spanish 60 TifMerge_MyImage action 890, 892
accessing other information 172 Swedish 60 TifMerge_PreserveCompression
accessing task information 172 SwapImages action 619, 644 action 890, 893
accessing the runtime hierarchy 169, Swedish TifMerge_SetFileName action 890, 894
170 language codes 60 TifMerge_SetFilePath action 890, 894
SPExport actions SwitchMMDD action 619, 644 TimeStampField action 895, 942
SP_CreateFolder 882 TM524 actions 895
SP_Login 882 TransformLI action 720
SP_SetContentType 882, 883
SP_SetFileType 882, 884
T travel documents
optional pages 6
task information
SP_SetProperty 882, 885 required pages 6
accessing 172
SP_SetUploadMode 882, 885 TravelDocs 71
task profiles 24
SP_SetUrl 882, 886 adding new pages with line item
Task_NumberOfSplits action 860, 881
SP_Upload 882, 886 grids 151
Task_RaiseCondition action 860, 881
SP_Upload Dir 882 automated background processing
tasks
SP_UploadDir 887 analyzing the Rulerunner log 206
creating 202
Split actions defining background tasks 203
description 23
SplitBatch 888 disabling the Rulerunner log 206
log files 144
SplitBatch action 888 enabling Rulerunner logging 204
TEMPLATE IMAGE 290
SplitFieldValueLeft action 895, 940 running a batch through the
TemplateID 291
SplitFieldValuePreserveEnd action 895, workflow 205
Test tab 14
940, 941 setting up background tasks 204
Text
SplitFieldValuePreserveStart action 895 setting up Job Monitor 204
Runtime DCO 300
SplitFieldValueRight action 895, 941 creating text zones 67
Setup DCO 300
SplitFileName action 511, 524 creating the document hierarchy 17
Verification panel
SplitMultipageTiff action 407 creating the initial fingerprint
Datacap Web Client 300
SplitTIFFCompression action 407, 408 library 36
Text action 472, 496
splitting developing business requirements 3
text matching
defining conditions 200 enabling manual page
identifying pages 176
description 199 identification 209
limitations 181
Index 1023
Validations actions (continued) Verification panel (continued) Web Services actions (continued)
IsFieldDateWithinXDays 895, 920 Setup DCO (continued) WsGetLineItems 955, 957
IsFieldDateWithReformat 895, 921 Lookup 293 WsGetValue 955, 958
IsFieldEmpty 895, 921 LookupEx 293 WsMessageLineItem
IsFieldFilled 895, 922 MaxLength 294 PropertyAdd 955, 958
IsFieldGreaterOrEqual 895, 922 MultiLine 295 WsMessageLineItem PropertySet 959
IsFieldHidden 895, 923 MultiPunch 295 WsMessageLineItemPropertySet 955
IsFieldLengthMax 895, 923 PictureString 296 WsSetHeaderValue 955, 959
IsFieldLengthMin 895, 924 ReadOnly 297 WsSetMessageLineItem Property 960
IsFieldLessOrEqual 895, 924 SELECT 298 WsSetMessageLineItemProperty 955
IsFieldMatching 895, 925 ShowChar 299 WsSetMessageProperty 955, 961
IsFieldPercent NonNumeric 926 Sticky 299 WsSetMessageTemplate 955, 961
IsFieldPercentAlpha 895, 925 Text 300 WsSetResponseNameSpace 955, 962
IsFieldPercentNonNumeric 895 VeriFine web client 225 WsUploadFile 955, 962
IsFieldPercentNumeric 895, 927 configuring 226, 228 WsUrlReplaceValue 955, 963
IsMatchingJobID 895, 927 custom pages 229 WsUrlSet 955, 963
IsMaxOMRChecked 895, 928 restructuring the batch 226 Word actions
IsMinOMRChecked 895, 928 Verify shortcut WordDocumentToImage 412
IsPatternInField 895, 929 modifying 248 WordPrintQuality 412, 413
IsSupportedImageFile 895, 929 verifying WordTiffCompression 412, 414
IsThisFieldEmpty 895, 930 AVerify web client 237 WordDocumentToImage action 412
IsThisFieldFilled 895, 930 double blind 231 WordFind action 649, 692
IsVariableEmpty 895, 931 multi-pass 231 WordFind_InZone action 649, 693
IsVariableFilled 895, 931 two pass 231 WordFind_Offset action 649, 695
LeftTruncate 895, 932 using AIndex 230 WordFindNext action 649, 693
MessageBox 895, 932 using the ImgEnter web client 241 WordFindNext_InZone action 649, 694
ParseMultilineAddress 895, 933 using VeriFine 225 WordPrintQuality action 412, 413
ParseName 895, 934 Verifying batches WordTiffCompression action 412, 414
ReadCurrentObjVariable 895, 934 Datacap Web Client 97 workflows 23
ReadFieldValue 895, 935 Verifying pages automatic processing 196
ReadPageVariableValue 895, 936 Datacap Desktop 160 creating jobs 202
ReplaceChars 895, 936 versions creating tasks 202
ReplaceValueAtPosition 895, 937 page types 17 Datacap Web Client Operations
ResetField 895, 937 Vote actions tab 253
RightTruncate 895, 938 VoteFld 944 description 23
SaveAsCurrentObjVariable 895, 938 VoteFld action 944 processing on Rulerunner 196
SaveAsPageVariable 895, 939 Vscan routing automatically 196
SetIsOverrideable 895, 939 sample images 28 shortcuts 253
SplitFieldValueLeft 895, 940 VScan WriteErrorMessage action 619, 646
SplitFieldValuePreserveEnd 895, 940, modifying ruleset 28 WriteZoneFPX action 560, 563
941 Vscan actions WriteZonesFPX action 560, 563
SplitFieldValuePreserveStart 895 AddDocument 945 WsCompare action 955
SplitFieldValueRight 895, 941 CopyFile 945, 946 WsDownloadFile action 956
SumFields 895, 941 DeleteImageFile 945, 947 WsDownloadFolder action 955
TimeStampField 895, 942 MoveImageFileToDirectory 945, 947 WsExecute action 955, 956
TrimSpaces 895, 943 Scan 945, 948 WsGetLineItems action 955, 957
TruncateFromEnd 895, 943 SearchInSubdirectory 945, 949 WsGetValue action 958
TruncateFromStart 895, 944 SetAlternateImageNames 945, 949 WsGetValueaction 955
ValProcedureCode action 723 SetFastMode 945, 950 WsMessageLineItemPropertyAdd
ValRequiredCode action 724 SetImageType 945, 951 action 955
ValueInField action 649, 690 SetMailSourceFolder 945, 951 WsMessageLineItemPropertySet
ValueInField_Fuzzy action 649, 691 SetMaxImageFiles 945, 952 action 955
ValueInField_RegEx action 649, 691 SetMultiPageTiff 945, 953 WsSetHeaderValue action 955, 959
Variable_ExportValue action 472, 496 SetSortOrder 945, 953 WsSetMessageLineItemProperty
Variable_IsValue action 472, 497 SetSourceDirectory 945, 954 action 955
variables VScanDatacap Studio WsSetMessageProperty action 955, 961
accessing application settings 166 generating a batch 28 WsSetMessageTemplate action 955, 961
hr_locale 288 WsSetResponseNameSpace action 955,
smart parameters 164 962
verification
line item grid pages 160
W WsUploadFile action 955, 962
WsUrlReplaceValue action 955, 963
Web Job CreateDocs task
skipping tasks 93 WsUrlSet action 955, 963
creating 247
Verification panel
Web Services actions
Setup DCO
WsCompare 955
DataType 291
DICT 292
WsDownloadFile 956 X
WsDownloadFolder 955 xml_CommitNode action 507
Label 292
WsExecute 955, 956 xml_NewNode action 507
Index 1025
1026 IBM Datacap: Application Development Guide
SC27-6375-00